Notice: Only variables should be passed by reference in C:\inetpub\wwwroot\www.orizola.cl\wp-content\themes\mandigo\header.php on line 131

Archivo de la Categoría “Profesionales de las Tecnologías”

Siempre estoy recomendando respaldar a mis clientes, llegando a ser majadero muchas veces, pero lamentablemente en la mayoría de los casos me escuchan cuando ha ocurrido un desastre, donde prácticamente es imposible recuperar la información. Los típicos medios de respaldo son CD o DVD, a nivel empresarial, se utilizan Unidades de Cinta, también es válido utilizar Pendrives, últimamente se están popularizando los discos duros externos, que prestan mayor capacidad de respaldo junto con un buen desempeño. Sin embargo todos estos medios presentan una gran debilidad si se mantienen en el mismo lugar donde se encuentra la información respalda, y tiene que ver que con un robo o incendio (o cualquier otro riesgo físico), donde es muy probable que se pierda tanto la información original como los respaldos. Una forma de evitar esto es tomar los medios de respaldo a otra localidad después de realizado el respaldo, pero esto es impracticable porque se pierde la lógica de automatización y se agrega el factor de riesgo humano en el proceso (olvido, ¡la memoria es frágil¡).

Para evitar estos riesgos la solución son los respaldos en línea, hoy en día las conexiones de banda ancha se han masificado y prestan un desempeño bastante bueno, lo que permite pensar en esta metodología como viable, la que consiste en respaldar la información en servidores remotos a través de internet con lo que se elimina el riesgo de tener los respaldos en la misma ubicación física de los datos originales. Una de las soluciones más populares y bastante buena (de hecho yo la utilizo) es Mozy (www.mozy.com) que ofrece 2 gigabytes gratis con su producto MozyHome Free, también existen planes pagados de mayor capacidad y MozyPro enfocado a negocios que ofrece más servicios. Su interfaz es bastante poderosa sugiriendo conjuntos de respaldos típicos como por ejemplo para sus documentos y correos electrónicos entre otros, permitiendo crear conjuntos de respaldo propios. Además se puede programar para que se hagan automáticamente los respaldos en segundo plano. Hay que advertir que si la información a respaldar es demasiada, el primer respaldo puede tomar bastante tiempo, pero los respaldos posteriores no deberían demorar mucho tiempo porque Mozy sólo respalda los archivos nuevos o modificados.

Si encontraste interesante esta herramienta y te inscribirás, agradecería utilizar el siguiente código de referencia: DXPT75

Comments No Hay Comentarios »

Las validaciones son una parte importante de cualquier software y Visual Studio nos permite realizar validaciones medianamente complejas sin código mediante el control RegularExpressionValidator. Este control valida el contenido de otro control comparándolo con una expresión regular, además posee algunas expresiones regulares preestablecidas para validar ciertos tipos de datos comunes, entro los cuales está la dirección de correo electrónico, que se valida con la siguiente expresión \w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*. El único inconveniente de esta expresión es que sólo permite validar una dirección de correo electrónico, para validar más de una dirección de correo electrónico separada por ; o , la expresión es \w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([;]\w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* ó \w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,]\w+([-+.’]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* respectivamente. Procesar las direcciones validadas no es complejo en C#, si es necesario lo veré en un próximo artículo.

Comments 2 Comentarios »

Este algoritmo ya es muy conocido pero no está demás recordarlo para quienes aún no lo han implementado. A continuación presento en C# la clase Rut con los siguientes métodos públicos y estáticos (no se necesita crear una instancia de la clase para usarla):

  • Valido: recibe un Rut como cadena incluyendo el guión y digito verificador (“99999999-9”) devolviendo verdadero si el Rut es correcto.
  • Digito: recibe un Rut como entero sin incluir el dígito verificador (99999999) devolviendo este último como cadena.

public class Rut
{
	public static bool Valido(string rut)
	{
		rut = rut.Replace(".", "").ToUpper();
		Regex r = new Regex("^([0-9]+-[0-9K])$");
		if (r.IsMatch(rut))
			return rut.Substring(rut.Length - 1, 1) == Digito(int.Parse(rut.Substring(0, rut.Length - 2)));
		else
			return false;
	}
 
	public static string Digito(int rut)
	{
		int suma = 0;
		int multiplicador = 1;
		while (rut != 0)
		{
			multiplicador++;
			if (multiplicador == 8)
				multiplicador = 2;
			suma += (rut % 10) * multiplicador;
			rut = rut / 10;
		}
		suma = 11 - (suma % 11);
		if (suma == 11)
			return "0";
		else if (suma == 10)
			return "K";
		else
			return suma.ToString();
	}
}

Comments 2 Comentarios »

Mi nombre es Mauricio Orizola, soy un profesional con grado universitario de ingeniero de 6 años de estudio en el área de informática, me especializo en ingeniería de software principalmente en el desarrollo de software cliente/servidor de alto desempeño, además del diseño y administración de base de datos relacionales eficientes manejando grandes volúmenes de información.

Tengo larga experiencia en desarrollo de software. Comencé programando a la edad de 10 años en un computador Sinclair ZX Spectrum utilizando los lenguajes Basic y Ensamblador, a esta misma edad programé, para dicha máquina, mi primer juego que era una versión multi-jugador del típico juego de la culebra. Años más tarde mientras estudiaba en la universidad desarrollé e implementé todos los sistemas para la firma de contabilidades, auditorías y asesorías tributarias de mi padre. Este fue el inicio construyendo software profesionalmente donde no he parado hasta la fecha.

En este blog compartiré mis conocimientos y experiencia como profesional del área de la informática, publicando artículos para usuarios finales como consejos y trucos para aplicaciones, así como también artículos para profesionales informáticos como algoritmos o rutinas interesantes, buenas prácticas, configuraciones y optimizaciones de software y servidores. Espero que sigamos el espíritu de los blogs donde no sólo sea un sitio de publicaciones unilaterales por parte del autor, sino que exista una conversación con los lectores dejando sus comentarios y preguntas, las cuáles, en la medida de lo posible, siempre serán contestadas.

Comments 3 Comentarios »