3ENGINE  programmer :-)

lunes 29 de marzo de 2010

Arduino

Arduino es una placa electrónica programable de hardware libre. Se dispone de un IDE para programarla, el lenguaje es una especie de C muy sencillo.

Desde la web oficial hay enlaces a varias tiendas que venden componentes, como por ejemplo esta tienda. En este enlace un poco mas de explicación.

Etiquetas: ,




jueves 25 de marzo de 2010

Acoplamiento y Cohesión

Definición

  1. Cohesión: grado de cercania entre 2 o mas elementos, tienen características que les unen.
  2. Acoplamiento: grado de dependencia entre 2 o mas elementos.
Objetivo

Mantener el acoplamiento lo más bajo posible y la cohesión lo más alta posible suele ser el objetivo de todo arquitecto, diseñador o programador. Tener unos buenos criterios para agrupar unidades de software (alta cohesión), y mantener esas unidades lo más independientes posible (bajo acoplamiento) garantiza la modularidad, facilitando la reutilización del software y gran parte de las tareas del desarrollo del sofware.

El artículo completo en La tecla de escape
Otro aquí

Creo que son dos conceptos esenciales que los diseñadores de software acostumbramos a olvidar...

Etiquetas:




miércoles 24 de marzo de 2010

Amelie

Amelie otra gran pelicula.

Banda sonora La Valse d'Amelie (Orchestre)


Banda sonora: Le Fabuleux Destin d'Amélie Poulain


Trailer


Gracias a esta película le puse nombre a mi gata :-)

Etiquetas:




jueves 18 de marzo de 2010

SqlDbx

SqlDbx es un IDE para bases de datos Oracle, SQL Server, DB2, Sybase y ODBC. Incluye Intellisense, un comparador visual de datos, remarcado de sintaxis, scripts de SQL, exportación de datos a varios formatos, visualizador de esquemas, etc. La versión personal ya de por si tiene un monton de características y eso que es gratuita.

Etiquetas: , ,




martes 16 de marzo de 2010

Nomenclatura en c#

Una buena práctica a la hora de programar es que todo el equipo siga la misma nomenclatura en la definición de interfaces, clases, métodos, etc. En este enlace hablan detalladamente del tema.

Dejo aquí la nomenclatura a seguir.

Programación

TipoNotación + ContenidoEjemplo
NameSpacesPascal Case, Sin Guión BajoIrritatedVowel.Controllers
Clases (Classes)Pascal, Sin Guion BajoMainForm
Colecciones (Collections)Pascal + “Collection”WidgetCollection
Interfases (Interfaces)Pascal con “I” inicialIWidget
EnumeradoresPascal (Generalmente Plural)OpcionesBusqueda
Funciones y SubsPascal, Sin Guión BajoConvertirContenido (…)
Propiedades PublicasPascal, Sin Guión BajoRecordID
Propiedades PrivadasCamel [prefijo _ opcional]recordId, _recordId
ParámetrosCamel, sin abreviacionesref int recordID
Controles en ASPXCamel, con prefijo [ejem: ux]uxUserId



Bases de datos

TipoNotación + ContenidoEjemplo
Nomenclatura de TablasPascal Case (excepto mysql)Colonias, Modulos
CamposCamel Case, Sin Guión BajoidRegistro, diaRegistro
FuncionesPascal Case, Sin Guión BajoLetra, DiasVencidos
Stored ProceduresCamel, Sin Guión Bajo
[proc]+[tabla]+[funcion]
Ej 1: procClienteInsert
Ej 2: saldoVencidoSelect
* prefijo proc es opcional*
Parámetros en SPCamel, Sin Guión Bajo@idCliente
Vistas (Views)Camel, prefijo “vw”vwClientes

Etiquetas:




Eurekalog: 'cazando' memory leaks.

Delphi no dispone de recolector de basura como otros lenguajes como .NET o Java. Esto comporta la obligación de destruir los objetos explicitamente.

EurekaLog es una herramienta para identificar donde no se libera la memoria (Memory Leak) dentro de una aplicación escrita en Delphi. Genera un Log donde informa del fichero, clase, métodos y número de linea donde se está produciendo el error.

En el artículo Cazando errores con EurekaLog se explica mas detalladamente esta herramienta.

Etiquetas:




Herramientas .Net Framework

Gracias a este artículo, dejo aquí una serie de herramientas de .Net Framework que pueden sacar de un apuro:

Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe)
Herramienta Registro de SQL Server para ASP.NET (Aspnet_regsql.exe)
Herramienta de compilación de ASP.NET (Aspnet_compiler.exe)
Herramienta de comprobación de certificados (Chktrust.exe)
Desensamblador de MSIL (Ildasm.exe)
Ensamblador de MSIL (Ilasm.exe)
Herramienta Installer (Installutil.exe)

Una mención a Ildasm.exe: útil si quieres ver los metadatos de una dll o exe con código administrado, ver sus dependencias o chafardear el msil del mismo. El ejecutable se encuentra dentro del SDK de Visual Studio y no en el SDK del propio .NET Framework:

Archivos de programa\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\ildasm.exe
Archivos de programa\Microsoft Visual Studio 8\SDK\v2.0\Bin\ ildasm.exe


Un artículo explicativo en la Web del Guille.

Etiquetas:




viernes 12 de marzo de 2010

La cuenta de Windows 'IUSR_MYMACHINE' y 'ASPNET'

En Windows existen las cuentas locales 'IUSR_MYMACHINE' y 'ASPNET' (que a veces, dependiendo de la versión de IIS, aparece como NT AUTHORITY NETWORK SERVICE) y que están relacionadas con ASP.NET:

  • La cuenta 'IUSR_MYMACHINE' se configura para permitir acceso anónimo. Cuando una petición de una página ASP.NET es autorizada, se realiza una comprobación sobre dicho archivo para ver si la cuenta IUSR_MYMACHINE tiene permiso para leer ese archivo. Si es correcta, el acceso es autorizado.
  • La cuenta 'ASPNET' tiene mas privilegios que la anterior. Si por ejemplo necesitamos acceder a un SQLSERVER, necesitaremos una conexión de confianza y a una cuenta ASPNET se le puede dar esos privilegios.
  • Otra opción es especificar que usuario quieres que utilice asp.net configurando la sección identity en web.config.

Para comprobar que existen estas dos cuentas. Ir al administrador de equipos...

De este modo, si por ejemplo necesitamos dar privilegios a una carpeta, necesitamos añadir el usuario. Atención al detalle que es necesario especificar en nombre de la máquina antes que el nombre de la cuenta:



Enlaces:

IUSR vs. ASPNET user accounts
autenticacion-y-autorizacion
cuentas de usuario

Etiquetas:




viernes 5 de marzo de 2010

Debug desde VS.NET de un servicio Windows

A veces nos interesa hacer debug de un servicio de windows. Pero normalmente esto se hace complicado porque un servicio de windows no corre dentro de Visual Studio .NET porque es necesario instalarlo y registrarlo (installutil.exe y NET START).

Una manera cómoda y sencilla es añadir al metodo estático Main una directiva de compilación para diferenciar el modo debug del modo release, de manera que si estamos en debug iniciar el servicio Windows como una aplicación normal:

#if (!DEBUG)
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MiWService() };
ServiceBase.Run(ServicesToRun);
#else
MiWService service = new MiWService();
service.Init();
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
#endif


Por último, en la clase de tipo MiWService (que hereda de ServiceBase) escribir un método Init() que llame al método proteced OnStart():

public void Init()
{
this.OnStart(null);
}


Para información mas detallada consultar aquí

Etiquetas:




   

Categorias

Archivos

 
Feed Blog suscrbete!      Contacto     Terminos & Condiciones © 3ENGINE 2007