Posts

Few days ago, a very dear friend of mine came up to my place with a present. It was a nodejs book. This is a new or maybe it would be more accurate to say an emergent technology which brings back an old idea that I used to hear of long time ago: a server side javascript. That was something that was supposed to exist somewhere, as it was mentioned in the prefaces of many javascript related papers: “javascript runs on the browser but there is also a server side…” for me it was just a sort of legend, without any proof of real existence or running implementation. Around 2009 Ryan Dahl, based on google chrome’s V8 javascript engine, started developing a server side platform to run javascript code. NodeJS environment, basically, lead us to event-driven programming, nonblocking I/O and function callbacks.

The core of NodeJS (or simply Node) is a very simplified base where you can build your applications. But you don’t need to develop everything from scratch, Node coders are a pretty active community that already has thousands of modules of all kinds covering every aspect you can think of.

If you want to start coding and running Node programs right now you can download it from their website. In the event that you feel the need for further explanation to install Node on your computer, do yourself a favor and don’t keep on trying. I’m serious here. Stay away from any computer, run away to the countryside, pick up berries, talk to birds and you’ll live happily ever after.

¿What kind of tools can be used for node? from console based to modern IDEs. Vim, Sublime or other simple editors for example. For debugging purposes your chrome browser can be attached to a node program. Also you can use Eclipse based Nodeclipse or a nonfree IDEs like WebStorm

Last summer I played around with Node, testing callbacks, event emitters, express, MongoDB drivers, among other things... From now on I’ll try to follow this book and write stuff about Node on a regular basis. Hope that you enjoy the ride.


El ejemplo minimalista de una pagina asp.net con su extension aspx
Simplemente tiene un control label y muestra el mensaje standar de iniciacion
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>


    

Los organismos internaciones se han vuelto a poner de acuerdo para poner unificar los números de cuenta y gracias a ello todos los programadores y DBAs del mundo ya estamos enfrascados en la tarea de adaptar programas, validaciones, campos de las BBDD y un largo etcétera.


Accceso a Web desde Android

Las aplicaciones para móviles se podrían dividir en tres grandes grupos: las que se ejecutan totalmente de forma local, las que tienen toda la información en la web y las que combinan las dos cosas. Si tenemos que acceder a la web desde Android y teniendo en cuenta que lo hacemos con java tenemos dos opciones por defecto:

  1. Usar las librerías básicas de java.net
  2. Usar HttpClient

HttpClient la librería de Apache
Logo pre-web ochentero

En este artículo ya mostraba un ejemplo de uso de HttpClient con Android. HttpClient es una librería que forma parte del proyecto Apache, ya va por la versión 4.3 y que aparte de tener cierto recorrido pues qué vamos a decir, tiene detrás a Apache y ya se sabe, esta gente puede decir aquella frase de los jubilados de vaya semanita: "yo traje la web a Internet chaval".

...
    /*
     * consultar
     * Hace una petición a la web
     * Todo a mano con httpclient
     * @param View v
     */
    public void consultar (View v) {
    	String url = etUrl.getText().toString();
    	HttpGet peticion = new HttpGet(url);
		HttpClient cliente = new DefaultHttpClient();


    

Struts2 sigue siendo uno de los frameworks web para java más populares. Lo del número 2 no está de más ya que ciertamente Struts2 y Struts a secas no tienen mucho que ver en cuanto a código. Aunque sí, formalmente los dos son frameworks MVC. Pero con Struts2 no es suficiente, ¿qué pasa con el acceso a los datos? Para facilitar la gestión de datos y ante todo poder centrarnos en el negocio y no andar por ejemplo cargando listas de objetos a mano de un resultset de jdbc disponemos de Hibernate, una pareja de baile ideal para Struts.

Hibernate logo
La sesión de Hibernate

Hibernate permite a nuestra aplicación abstraerse de la base de datos, hasta el punto siempre deseable en el que podemos cambiar la Base de datos tocando un fichero de configuración ajeno al código. Para que nuestra aplicación pueda acceder a los datos lo debe hacer a través de Hibernate y TODOS los accesos de Hibernate deben hacerse a través de una instancia de la clase Session. En una aplicación de consola por ejemplo, la clase java que pretenda acceder a los datos primero deberá conseguir una instancia de Session. Eso se suele hacer a través de una clase como esta

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;


    

Pantallazo de OEM

Hablar de Oracle trae gratos recuerdos como la saga de IronMan y en especial la tercera entrega donde me transportaron a la nube de Oracle. El Enterprise Manager es un interfaz web con el que podemos gestionar la BD de Oracle: inicio/parada/blackout, ficheros, memoria, tareas, backups, usuarios, roles, y en definitiva todos los objetos que forman parte de los esquemas.

Pero no todo son parabienes. Tras una instalación aparentemente correcta de Oracle 11gr2 puede que el EM no arranque correctamente o de algún error. Puede ocurrir también que según el nombre de host, si por lo que sea no le gusta a Oracle no se pueda iniciar correctamente EM; por ejemplo por tener caracteres no admitidos en el nombre como _ : mi_nombre_de_host

¡Ojo! si quieres que al enterprise manager se pueda acceder desde equipos remotos tienes que meter un host reconocible desde fuera. Lo que se explica aquí es para trabajar con una instalación local.


Introducción

¿Tu aplicación struts2 falla?

¿Falla eclipse?

¿Ni si quiera arranca el tomcat o te está vomitando toda la stacktrace, toda la pila de llamadas erróneas por la consola?

Antes de echarse a llorar, desesperarse, increpar al proyecto apache, al profesor debes asegurarte de unos mínimos:

  • Tu proyecto no tiene errores de compilación
  • Tus clases y jsps no tienen ni un solo error.
  • Los ficheros XML no tienen ni un solo error.
  • No has confundido mayúsculas/minúsculas

Métodos abreviados

Algunas cabezas pensantes le han dado una vuelta al interfaz gráfico de las últimas versiones de Windows. Dida lo que diga el Vaticano el purgatorio y el infierno existen y debe ser el destino para los creadores de Metro, que es como se llama el interfaz que aparece ahora en al pulsar la tecla windows. Aquí dejaré unas pautas para poder sobrevivir. Pese a que existen herramientas para quitarlo, para tener un inicio normal, etc… creo que no queda más remedio que acostumbrarse porque no es la primera vez que introducen un cambio en el la forma de trabajar y no es posible empeñarse en tener siempre lo mismo.

Aparte de eso, Windows sigue manteniendo los shortcuts o métodos abreviados para agilizar el uso del sistema. Conviene saberlas ya que además de ser útiles siempre dan una imagen de que controlas. Andar arrastrando el ratón por la pantalla es muy luser, y cualquier informático que se precie debiera poder arreglarse en un Windows sin ratón (en modo ninja). Muchas de las combinaciones son bien conocidas. Estas las he probado en un Windows 2012, en un Windows 8 seguramente habrá más opciones en metro, para compartir y esas cosas sociales.




Supongamos que queremos montar un laboratorio de máquinas virtuales para jugar con servidores y clientes.


Otra cosa no sé pero si queremos monitorizar un servidor windows por herramientas no será. En comparación revisar un linux puede parecer una tarea sencilla porque el sistema es tan simple (todo son procesos y ficheros), que con unos comandos y una revisión del log nos hacemos una idea rápido. En el caso de windows, el sistema dispone de una monitorización gráfica de serie con todo lujo de detalles, cosa que para linux te obligaría a meter cosas tipo RRDtool, mrtg, etc... aunque obviamente, de nada sirve tanto gráfico si no sabes interpretarlo o no sabes sacar conclusiones de tanta información.

subscribe via RSS