Welcome !

Bienvenido a mi blog ! Espero encuentres lo que buscas....

martes, 9 de septiembre de 2014

Conversiones en c#

Buenas.... las conversiones son algo siempre útil, y como estoy cansada de buscar info en una página y otra, voy a poner aquí las que vaya utilizando, con la idea de tener una referencia rápida.  Espero que al final quede lo más completa posible, y no tener q googlear cada 5 min porque necesito otra conversión q no sé o no me acuerdo....

Sin más preámbulos, aquí va:

Algunas pueden hacerse con la clase Convert (http://msdn.microsoft.com/es-es/library/t2htb6f1(v=vs.90).aspx)
  • De decimal a binario

            Convert.ToString(d, 2);    //devuelve un String

  • De decimal a hexadecimal: 

            Convert.ToString(d, 16);      //devuelve un String

  • De binario a decimal:

            int n = Int32.Parse(b);
            n = Convert.ToInt32(n.ToString(), 2);
            Convert.ToString(n, 10); //devuelve un String

  • De binario a hexadecimal:

            int n = Int32.Parse(b);
            n = Convert.ToInt32(n.ToString(), 2);
            Convert.ToString(n, 16); //devuelve un String

  • De hexadecimal a decimal:

            int n = Int32.Parse(h);
            n = Convert.ToInt32(n.ToString(), 16);
            Convert.ToString(n, 10); //devuelve un String

  • De hexadecimal a binario:

            int n = Int32.Parse(h);
            n = Convert.ToInt32(n.ToString(), 16);
            Convert.ToString(n, 2); //devuelve un String


Con arrays:


  • De string a byte[]:

            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
            byte[] mensaje = encoding.GetBytes(respuesta);  //respuesta es un String

  • De byte[] a short[]:

       public static short[] ByteArrayToShortArray(byte[] bytes)
        {
            var shorts = Array.ConvertAll(bytes, b => (short)b);
            return shorts;
        }

  • De short[] a string:

        public static string deShortAString(short[] s) {
            string rta = "";

            for (int i = 0; i < s.Length; i++)
            {
                // Muestra el short en formato hexadecimal
                rta += string.Format("[{0:X2}]", s[i]);
            }
            return rta;
        }

Es todo por hoy, en el futuro, iré actualizando ésto para q quede completito :) Acepto sugerencias ...

lunes, 28 de abril de 2014

Java - Substance

Me he quemado la cabeza buscando una forma de poner mi aplicación java más bonita, y como soy una simple programadora, y no le hago al diseño, no he logrado hacerlo muy bien :( por lo que he recurrido al uso de Substance (es una librería) para hacer el look and feel de mi aplicación, y la verdad que he quedado bastante satisfecha con el resultado...

Paso a mostrarles la forma más sencilla de utilizar ésta librería.  De aquí en más ustedes pueden innovar cambiando botones, fondo, watermarks, etc.

En mi caso estoy usando Substance 5.3 y netbeans 7.0.1
Con googlear un poquito encontrarán Substance5.3.jar y seguramente otras versiones más nuevas, creo q van por el 7 y algo.






































Los resultados como pueden ver, son mejores que la simple IU q nos proporciona güindows.

Bueno, manos a la obra... lo primero que hay q hacer es descargar la librería.  Yo TODOS los jars que necesito los descargo de http://www.java2s.com/

Aquí, el enlace para descargar Substance 5.3.jar

Luego lo agregamos a las librerías de nuestro proyecto de la manera tradicional (clic derecho sobre libraries, add jar/folder y seleccionamos nuestro jar descargado).  Nos debe quedar así:



Para aplicarlo, es muy fácil, en el constructor de nuestro Frame, y ANTES de initComponents(), deben ir las siguientes líneas de código:

      JFrame.setDefaultLookAndFeelDecorated(true);
      SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.CremeCoffeeSkin");  //Acá yo usé el skin CremeCoffee, pero hay muchos, muchos más...

Pueden cambiar otras cositas de la IU como el aspecto de los botones por ejemplo, yo para hacerlo redondeado, usé lo siguiente... (ésto va después de initComponents() ya que sino no nos reconocerá el boton, nos dirá que no existe)

      this.boton.putClientProperty(SubstanceLookAndFeel.BUTTON_SHAPER_PROPERTY, new StandardButtonShaper());

Y mi IU de prueba, con el CremeCoffee skin y el botoncito redondeado, me quedó de la siguiente manera:

CremeCoffeeSkin y boton redondeado

le puse varios controles distintos, y un cuadro rojo para ver como se veían y la diferencia de colores...jejeje

Finalmente, para ver todos los skins disponibles, e ir probando, los listé de la siguiente manera (simplemente recorriendo el Map de skins):

Map<String, SkinInfo> allSkins = SubstanceLookAndFeel.getAllSkins();
        Iterator it = allSkins.entrySet().iterator();

        while (it.hasNext()) {
            Map.Entry e = (Map.Entry)it.next();
            System.out.println(""+e.getKey());
        }                        

Así, podremos ver los skins disponibles, y sólo cambiando la línea

SubstanceLookAndFeel.setSkin("org.jvnet.substance.skin.SaharaSkin")

aplicamos el que más nos guste.
Algunos ejemplos....
DustSkin

EmeraldDuskSkin

NebulaSkin

Eso es todo, espero les haya gustado, y despierten el bichito de las IU bonitas.
Saludos

Seguridad en Redes - Malware

Hay varios tipos de malware con los que podemos encontrarnos, los clasificamos teniendo en cuenta si necesitan o no un programa anfitrión:


®     Trampa: Es una entrada secreta a un programa que permite que alguien que es consciente de la trampa acceda sin pasar por los procedimientos de acceso de seguridad habituales.  Consiste en un código que reconoce secuencias especiales de entrada o que se activa cuando se ejecuta desde un identificador de usuario en particular o a partir de una secuencia improbable de acontecimientos.  Se vuelven amenazas cuando programadores sin escrúpulos las utilizan para obtener acceso no autorizado.
®     Bomba lógica: Es uno de los tipos más antiguos de amenaza, antecesor de virus y gusanos.  Es un código introducido en algún programa legítimo que está preparado para “explotar” cuando convergen ciertas condiciones, éstas pueden ser la presencia o ausencia de ciertos archivos, un día concreto a la semana o fecha, o un usuario concreto ejecutando la aplicación.  Una vez activada, la bomba puede alterar o borrar datos o archivos completos, causar la interrupción de la máquina, o provocar otros daños.
®   Caballo de Troya: Es un programa o procedimiento de comandos útil, o aparentemente útil, que contiene código oculto que al invocarse lleva a cabo funciones no deseadas o perjudiciales.  Se puede usar para llevar a cabo indirectamente funciones que un usuario no autorizado no podría realizar directamente.  Otra función común es la destrucción de datos; el programa parece estar realizando una función útil, pero también puede estar borrando los archivos del usuario sin ser percibido.
®     Zombi: Es un programa que, sin ser percibido, toma el control de otro computador conectado a internet y, luego lo utiliza para lanzar ataques que hacen difícil seguir la pista del creador del zombi.  Se usan en ataques de denegación de servicio, normalmente contra sitios web muy concretos.  Se instalan en cientos de computadores pertenecientes a terceras partes que no sospechan de nada, y luego se usan para inundar el sitio web elegido produciendo un elevado tráfico de internet.
®     Virus: Es un programa que puede infectar a otros modificándolos; esta modificación incluye una copia del programa del virus, que puede luego continuar infectando otros programas.  Contiene en su código de instrucciones la receta para hacer copias perfectas de sí mismo.  Alojado en un computador, toma temporalmente el control del sistema operativo del computador, luego, cuando éste entra en contacto con una parte de software no infectada, una nueva copia del virus pasa al nuevo programa.  Así la infección puede propagarse de computador en computador por medio de usuarios desprevenidos que intercambian información mediante pen drive o envían programas entre sí a través de la red.

Un virus puede hacer cualquier cosa que realicen otros programas.  La única diferencia es que se adjunta a otro programa y se ejecuta secretamente a la vez que lo hace dicho programa.  Una vez que el virus se ha ejecutado, puede llevar a cabo cualquier función, como borrar archivos y programas.
®  Gusano: Es un programa que no necesita de otro, ni de la intervención de la acción de un humano  para reproducirse y ejecutarse.  Busca activamente más máquinas que infectar y cada máquina que sea infectada sirve de lanzadera para automática para atacar a otras máquinas.  Una vez activo dentro del sistema, puede comportarse como un virus de computador o una bacteria, o podría implantar caballos de Troya o llevar a cabo cualquier número de acciones perjudiciales o destructivas.  Para replicarse a sí mismo, usa algún tipo de vehículo de la red como correo electrónico, capacidad de ejecución remota o capacidad de acceso remoto.
Fuente: Fundamentos de seguridad en redes.  Aplicaciones y estándares.  William Stallings

domingo, 14 de octubre de 2012

Tutorial de instalación de Testlink



Este tutorial explica como instalar rápidamente testlink. 


Testlink es una aplicación web, por lo que requiere tener un servidor web y una base de datos para funcionar. Precisamente requiere PHP y MySQL. Para no complicarnos y tener que instalar todo de cero una buena solución es la que brinda xampp, que permite fácilmente levantar el server web y mysql sin tener que complicarse. http://www.apachefriends.org/es/xampp.html

Tener en cuenta que esta guía permite instalar testlink rápidamente en una máquina común. O sea que la computadora donde se sigan estos pasos sería el “server” de testlink donde se conectarían los usuarios. Si algo pasa con esa computadora y no se hizo un backup de la base de datos se podría perder la info que se llenó en la herramienta.



La instalación de xampp no es complicada, es cuestión de bajarse el ejecutable y correrlo, seguir el wizard y listo. Luego esto nos instala una consola que permite ir levantando los servicios. Sólo necesitamos levantar Apache y MySQL.

















Una vez levantados esos servicios, para cambiar el password de la base de datos de MySQL abrimos un browser y vamos a http://localhost/security/xamppsecurity.php 


Luego necesitamos bajar testlink, vamos a la página: http://sourceforge.net/projects/testlink/files/ y nos bajamos la versión en .zip. Luego descomprimimos todo en el directorio (dir de XAMPP)\htdocs\testlink (o testlink-version)



También podemos acceder rápidamente a la carpeta htdocs desde el inicio de windows:



Para iniciar la instalación de testlink en un navegador ponemos: http://127.0.0.1/testlink/install/index.php. (Verifiquen bien la ruta donde les quedó la página index.php cuando descomprimieron el testlink descargado, porque sino nos saldrá el error horrible 404 )


Vamos a ver una pantalla como esta:














Donde debemos seleccionar "New installation"





Aceptamos los términos de licencia, y continuamos.

En la siguiente pantalla, verificará que tenga los requerimientos necesarios para correr sin problemas, si todo estuvo bien, al pie de ésta nos saldrá el mensaje siguiente, con la opción de continuar:











-













Si les da error de que no encuentra /var/testlink/logs/ y /var/testlink/upload_area/ lo mejor es buscar 
estas dos carpetas dentro de la carpeta donde está testlink (C:\xampp\htdocs\testlink), crear una carpeta llamada var, y dentro de ésta otra llamada testlink, en el disco (C:\var\testlink) y ahí copiar las dos carpetas antes mencionadas. Nos quedará así:




Con ésto se debería solucionar el problema, y el instalador encontrará logs y upload_area sin problemas.


Cuando lleguemos a una pantalla donde nos preguntará el password de la base de datos, ingresamos el que usamos para configurar cuando instalamos XAMPP.

(recordemos que para cambiar el password de la base de datos de MySQL podemos abrir un browser e ir a http://localhost/security/xamppsecurity.php )




En mi caso puse el mismo usuario y contraseña en los dos pares de campos. Luego hacemos clic en Process TestLink Setup! y nos aparecerá la siguiente pantalla:




Para acceder a testlink tenemos que entrar en http://127.0.0.1/testlink/login.php (o bien haciendo clic en el link que sale en la pantalla de arriba). También podremos entrar desde cualquier máquina de la red con http://[ip de la máquina donde lo instalamos]/testlink.




Con Usuario: admin Contraseña: admin ingresamos.

Y con eso hemos terminado.

Saludos.











martes, 2 de octubre de 2012

Cómo instalar las bases de datos de ejemplo Northwind y Bup de Microsoft


Hoy empecé a experimentar con SQL Server 2008, para lo cual necesitaba una base de datos de ejemplo, y qué mejor que las que nos proporciona Microsoft y las cuales son usadas en casi todos los ejemplos que encontré por ahí en la nube: Northwind y Pubs.

Pero estaba medio perdida para instalarlas, y encontré una entrada muy buena, en el siempre útil Code Project. 

Les dejo el enlace para los que estén tan perdidos como yo.


Saludos

Fuente: code project