3ENGINE

Programación y otros cachivaches

Archivo

Página 36/104

Tecnologia

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

Tipo Notación + Contenido Ejemplo
NameSpaces Pascal Case, Sin Guión Bajo IrritatedVowel.Controllers
Clases (Classes) Pascal, Sin Guion Bajo MainForm
Colecciones (Collections) Pascal + “Collection” WidgetCollection
Interfases (Interfaces) Pascal con “I” inicial IWidget
Enumeradores Pascal (Generalmente Plural) OpcionesBusqueda
Funciones y Subs Pascal, Sin Guión Bajo ConvertirContenido (…)
Propiedades Publicas Pascal, Sin Guión Bajo RecordID
Propiedades Privadas Camel [prefijo _ opcional] recordId, _recordId
Parámetros Camel, sin abreviaciones ref int recordID
Controles en ASPX Camel, con prefijo [ejem: ux] uxUserId

Bases de datos

Tipo Notación + Contenido Ejemplo
Nomenclatura de Tablas Pascal Case (excepto mysql) Colonias, Modulos
Campos Camel Case, Sin Guión Bajo idRegistro, diaRegistro
Funciones Pascal Case, Sin Guión Bajo Letra, DiasVencidos
Stored Procedures Camel, Sin Guión Bajo
[proc]+[tabla]+[funcion]
Ej 1: procClienteInsert
Ej 2: saldoVencidoSelect
* prefijo proc es opcional*
Parámetros en SP Camel, Sin Guión Bajo @idCliente
Vistas (Views) Camel, prefijo “vw” vwClientes



Tecnologia

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.




Tecnologia

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.




Tecnologia

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