Programación

Servidor SVN privado, gracias a Dropbox.

Versionado local y compartido, sin necesidad de un servidor svn privadoDesde hace tiempo, para los proyectos universitarios, necesitaba programar en equipo, sin embargo, no podíamos levantar un servidor SVN privado, en una de nuestras PC’s y tenerlo encendido todo el día, y la idea de usar SourceForge para un proyecto universitario, no nos encajaba, así que con mis compañeros comenzamos a usar Dropbox para sincronizar la carpeta del proyecto y así poder programar desde diferentes PC’s y en paralelo, sin embargo surgían problemas, como que los archivos de configuración no son los mismos en todas las máquinas, estoy hablando de la carpeta nbproject o la carpeta eclipse, que guarda referencias hacia librerías locales u otros archivos locales así que iteníamos que hacer pequeños “fixes” para que estos no nos den problemas al intentar correr el proyecto, sin embargo al final siempre terminaba el proyecto dañado de tantos conflictos en esos archivos.

Recientemente, se me encendió el foco y se me ocurrió juntar las dos ideas… Seguir leyendo …

Feliz Día, #programadores

programadorComo todos bien sabemos (bueno y el que no lo sabe, pues como que se va enterando XD), el día 13 de setiembre celebramos el día del programador, gracias a una iniciativa de Valentin Balt … y como no podía ser de otra manera, esta celebración tiene su explicación informática:

El día 13 de septiembre es el día 256 de un año normal, y para los programadores, esto va más allá de un simple número porque se trata de una potencia de dos (2^8) y el número de valores que se pueden representar en un byte.

Pues bien, con este post queremos desearle un ¡¡FELIZ DIA!! a todos aquellos quienes día a día sentimos esa pasión por resolver problemas y encontrar soluciones que requieren de un pensamiento abstracto y lógico. Seguir leyendo …

Google App Engine: “Failed to compile JSP Files” y como solucionarlo

Google App Engine es la plataforma de Google para los desarrolladores que tienen ansias de explotar sus capacidades para sus aplicaciones en Python y Java en la nube. Al ser una plataforma abierta se han desarrollado plugins para los entornos de desarrollo como Netbeans o Eclipse que facilite la interacción y sea aprovechado al máximo, tanto que se puede emular localmente o directamente deployarlo a la plataforma.

Tenía desarrollando una pequeña aplicación de ejemplo (que no era la gran cosa) para un poco configurar el plugin de Netbeans (en Eclipse funcionaba perfectamente) y eventualmente darle un fin informático. Hice todas las conexiones tomadas de la página de Kenai (quien proporciona el plugin de GAE para Netbeans) y configuré el plugin adecuadamente y entonces sólo me quedaba empezar a programar.

Todo iba bien hasta que a la hora de deployar o dicho de otra forma, “subir mi aplicación a la nube”, ocurría un error de la plataforma (no de mi aplicación en específico) el cual tenía este aspecto:

Sin ser la demás información relevante, la plataforma compilaba mis archivos hasta un 8% y luego me mostraba el error de que no podía “compilar” el proyecto por no encontrar el compilador de Java(se mostraba frecuentemente entre los parrafos el error “Unable to update app: Failed to compile jsp files.”) y me rompía la cabeza queriendo encontrar el problema entre los archivos de mi aplicación, las configuraciones del servidor e incluso reinstalando todo, hasta que en los foros de Google encontré que este error es tan común como tan simple.

Existe la posibilidad de que el plugin no reconozca de primeras la instalación que tengas de Java por un simple error en los archivos de configuración el cual redirigen a un parámetro equivocado. En buen cristiano, el plugin de GAE no sabe dónde está tu instalación de Java.

Seguir leyendo …

No aparecen tus carpetas por culpa de los virus? aqui la solución!

Joder! me siento power! al fin una app que puedo compartir con todos ustedes, quién no se ha topado uno de esos virus que te “convierten” tus carpetas en accesos directos? La gran mayoría de personas entran en desesperación total al ver que sus carpetas de  trabajos para presentar están como accesos directos y no se ven… y por más que coloques Mostrar archivos/carpetas no logras visualizar tu información, aqui tienes la solución!
Seguir leyendo …

Solución WAMP al conflicto de IIS 7.5 con Apache

Genralmente al programar con software libre o software privado por separado no tenemos problemas, sin embargo al estar aprendiendo un poco de ambos, vienen los problemas… de esos que impiden que avances, como dicen a mal tiempo, buena cara, veamos lo que pasó: Está el Visual Studio 2010 instalado y también el Internet Information Services 7.5, más conocido como IIS, al mismo tiempo tengo el WAMP Server, y bueno, al iniciar este último aparece un conflicto generado porque ambos emplean el puerto 80… y nos aparece el mensaje: “Your port 80 is actually used by: Server Microsoft-IIS/7.5

Seguir leyendo …

Manejo de Base de datos [SQL] con C-Sharp [C#]


Hola, buenas tardes! como van? Espero que con ánimos de aprender, pues hoy vamos a manejar transacciones a una base de datos usando SQL Server 2008 y C# bajo el poder del IDE de Visual Studio 2010, principalmente se detallará como comenzar con el proyecto, al final de este post podrán descargar las fuentes!
En este ejemplo emplearemos una base de datos [MusicaBD] con una sola tabla[Cancion], trabajaremos a 3 capas: Acceso a datos, Reglas de Negocio, conocido también como la capa lógica y finalmente nuestra Presentación donde van las interfaces, veremos sentencias básicas de sql: select, insert, update, delete, desde la funcionalidad de este ejemplo son: buscar, registrar, actualizar y eliminar;
Seguir leyendo …

GeneXus X Evo 1

GeneXus

Hola muchachos de IFX, despues de tiempo, les traigo informacion sobre una herramienta muy interesante que he estado utilizando ultimamente en mis practicas pre-profesionales, y a mi parecer es una buena alternativa para la realidad que vivimos en estos días. Al estar en una realidad cambiante lleno de muchas alternativas en cuanto a lenguajes de programación, motores de bases de datos, servidores, computadoras, equipos moviles, etc. Que uno ya casi no puede abarcar todas las cosas ser un experto en todo!!!….

Seguir leyendo …

Conexion CSharp [C#] a MySQL

En nuestra estimada carrera que llevamos en la UPAO tenemos el curso de Programación de Aplicaciones de Gestión, más conocido como P.A.G en el cual se realizan proyectos muy interesante con Visual Studio.net [algunos VB, otros C#] donde al final dichos proyectos, deben estar implementados con conexión a base de datos y manipulación de éstos, en aquella ocasión nos enseñaron a utilizar SQL Server 2008. En la carrera, comenzamos a programar con Java, lenguaje que nos acompaña durante los 3 primeros ciclos, en 4to ciclo aprendemos Base de datos con Oracle. Me gustaría hacer un paréntesis, y mostrar que también es posible utilizar MySQL vinculado con el poder de C# en Visual Studio.net, así que sin dar más vueltas veamos como hay que hacer!

Seguir leyendo …

Crear hash SHA1, MD5 en Java


Bueno, dado que Fredy durante la madrugada publicó como encriptar con SHA1 y MD5 con c#, y dado que ni en java ni en c# tenemos un metodo md5() o sha1() como en php, aquí les traigo el código para los “Javeros”, es de una clase Encrypt que uso en mis proyectos, que sirve para poder encriptar en md5 y sha1.

package com.ifxperu.utils;

import java.security.MessageDigest;

public abstract class Encrypt {

public static String sha1(String message) {
return encrypt(message, "SHA1");
}

public static String md5(String message) {
return encrypt(message, "MD5");
}

private static String encrypt(String message, String type) {
MessageDigest md;
byte[] buffer, digest;
StringBuilder hash = new StringBuilder();
try {
buffer = message.getBytes("UTF-8");
md = MessageDigest.getInstance(type);
} catch (Exception e) {
throw new RuntimeException(e);
}
md.update(buffer);
digest = md.digest();
for (byte b : digest) {
hash.append(String.format("%02x", b & 0xff));
}
return hash.toString();
}
}

El uso sería simple:

Seguir leyendo …

Crear Hash MD5, SHA en C Sharp


Los Hash son utilizados para aumentar el nivel de seguridad en los proyectos informáticos que se tenga, si antes no habías programado empleando algoritmos de encriptación hoy aprenderás! MD5, SHA1, SHA256, SHA384, SHA512.
Cabe mencionar que éstos algoritmos de encriptación “sólo son de ida” pues al obtener un Hash, no puedes conocer de dónde salió, motivo por el cual se aplican a los campos de contraseñas en las bases de datos. En el siguiente código, podemos ver cómo poco a poco se puede optimizar la forma de obtener el HASH deseado.
Seguir leyendo …