Oferta de trabajo en Central Media (México)

Me pidieron que les pasara este dato para los que andan buscando chamba.

Central Media, agencia de comunicación y desarrollo busca desarrolladores de .NET para web principalmente, el perfil que se busca es de desarrollador con conocimientos en ASP.NET, C#, SQL y muchas ganas de trabajar.

Para ver el perfil completo que buscan descargar el .doc que nos enviaron.

Como punto importante cabe aclarar que el trabajo es presencial, las oficinas se encuentran en el DF y buscan gente de Sistemas o carreras afines (requisito haber terminado la carrera).

Mandar Currículum Vitae o dudas a : vacantes@centralmedia.com.mx

Como leer todos los archivos de un directorio en .NET

En esta ocasión estoy trabajando en un proyecto web desarrollado con ASP.NET y VB como codebehind, en el cual necesito obtener algunos archivos del Servidor de Base de Datos (son PDF) almacenarlos en un ZIP y borrar los antiguos.

La mayoría del código ya estaba hecho al momento de que yo tome el proyecto, así que solo me toco agregar algunas cosas y corregir otras, una de esas fue precisamente el borrar los archivos antiguos, para esto necesitaba leer todos los que se encontraran dentro del directorio especificado.

Para hacer esto use el siguiente codigo:

Si ejecutas este código tal y como esta, te va a borrar todos los archivos posibles dentro de la carpeta que le indiques.

Dim dir As New DirectoryInfo(FolderPath)
For Each file As FileInfo In dir.GetFiles()
	file.Delete()
	'Alguna otra opción aquí
Next

Lo que hace es crear una variable del tipo DirectoryInfo, pasándole como parámetro la ruta de la carpeta donde tengo mis archivos (FolderPath).

Enseguida se hace un For Each revisando archivo por archivo que se encuentra en el directorio, ya dentro del ciclo hacemos alguna operación, en este caso borrar los archivos.

Los posibles usos para esto son múltiples, como obtener fechas de creación, de modificación, borrar solo algunos a partir de cierto tiempo, crear copias, etc…. En fin lo que quería demostrar era la sencilles para realizar esta tarea, ojala les sirva.

Documentas tu codigo?

Siempre documenten su código, les servira a ustedes y a mas personas de lo que te imaginas.

- Profesor del Tec de Leon

No te ocurre que cuando lees códigos que hiciste hace algun tiempo, no lo logras entender?.

Bueno, esto pasa por no documentar el código y por no hacer una programación entendible (mas humana), como es esto?, vamos a verlo un poco.

int myFunction(int n)
{
  if (n < 2)
    return n;
  else
    return myFunction(n - 1) + myFunction(n - 2);
}

A simple vista entiendes ese código?, y si te dijera que lo que hace es la serie de Fibonacci?.

No es tan sencillo a simple vista, por que nadamas son letras sin sentido para el ojo humano, ademas la palabra myFunction tampoco ayuda de mucho solo para indicarnos que es una Función Personalizada.

Casos como este se dan seguido cuando uno comienza a programar, no se diga del caso de las variables que usamos para los ciclos “i, j, k, … etc.“. O las variables que uno comienza a usar para operaciones básicas (suma, resta, multiplicación, etc..) como son “x, y, z, … etc.“.

Todo esto son cosas comunes en la programación ya que tenemos que pasarlas para comprender la importancia que tiene el no hacerlo de esa manera, – Para los nuevos, esto lo verán después de su primer programa de mas de 1,000 lineas de código – .

Ahora veamos un ejemplo mas entendible:

int Fibonacci(int n)
{
  if (n < 2)
    return n;
  else
    return Fibonacci(n - 1) + Fibonacci(n - 2);
}

Curiosamente solo se modifico el nombre de la función y con eso le da sentido a la misma, es decir, el nombre de la función nos dice algo sobre lo que vamos a encontrar dentro de ella, en este caso el calculo de la serie de Fibonacci a la cual le tenemos que pasar un dato entero como parámetro.

Pero vamos que se puede mejorar aplicando algunos comentarios en lugares claves y haciéndolos de una manera entendible.

// Calcula la serie de Fibonacci, recibe un entero como parametro.
int Fibonacci(int n)
{
  // Revisa si es la primera o segunda iteración de la recursividad
  if (n < 2)
    return n;
  else
    // Aquí se maneja la recursividad de (n -1) + (n - 2) que implica la formula
    return Fibonacci(n - 1) + Fibonacci(n - 2);
}

Ahora es mucho mas sencillo entenderlo, claro no explique la serie de Fibonacci en este ejemplo por que no era mi intención hacerlo, mi intención es dar a entender que si creas código con palabras concisas y que tengan un significado que sea relativo a lo que realiza ese bloque de código que quieres programar, vas a tener un código mas entendible y mantenible.

La cuestión de escribir poco, mucho o mejor código con mejores instrucciones, etc… es material de otro Post.

Espero les ayude esto. ;-)

Otro tip de .NET

En Visual Studio .NET puedes crear tanto aplicaciones de escritorio como web, pues bueno para Web un pequeño tip que ayuda mucho.

Cuando estas haciendo Debug a un proyecto desde Visual Studio, si modificas ciertos archivos tienes que parar la aplicación y volver a compilar para que estos cambios se vean reflejados, pero no es en todos los archivos.

Se pueden realizar cambios a los archivos:

  • ASPX
  • CSS
  • JS
  • WebConfig

Pero no asi en los archivos que contengan codigo especifico de un lenguaje (ya sea C# o VB), esto por obvias razones que tienen que pasar de nuevo al interprete para que el Net Framework entienda esos cambios, pero a estos otros archivos no es necesario parar la aplicación para realizar cambios.

Esto es especialmente útil cuando estamos trabajando ya en la capa de vista de la aplicación o se requieren cambios que no afecten la logica de la aplicación.

Tambien existen formas de que compile directamente y no se tenga que estar haciendo Debug a cada rato, pero se pierden algunas características que ofrece el Debug.

Ojala les sea útil.