Acabo de instalar Ubuntu a mi PC y ahora que…Programadores Java

Este post va dedicado a mis compañeros y colegas de la Facultad Politécnica de la Universidad Nacional del Este, en especial a los que  igual que yo; cursan la carrera de Análisis de Sistemas donde poco a poco avanzamos al open source. (Después de la inclusión de Java en lugar del MS Visual FoxPro, esta más de que en la hora que la Politécnica apueste decididamente al open source y al open  know)

Una de las limitaciones a los que particularmente me depare era que al realizar la instalación del entorno de desarrollo, el mismo estaba disponible más facilmente para MS Windows (Incluso exclusivamente con el MSVisual FoxPro).

Para nuestra felicidad Java está disponible para Sistemas Unix Like en incluso la distribución oficial disponible por Oracle no es la única teniendo como opción fuerte el Open-JDK, el cual es la alta apuesta de la comunidad java libre en el mundo linux. En este tutorial veremos los pasos para instalar nuestro entorno de trabajo java en Ubuntu Linux.

Aunque académicamente nos sentimos más a gusto con la distribución oficial de Oracle, problemas con los términos de la licencia de distribución impiden que la misma esté disponible a través de los repositorios parnets con lo cual perdemos la facilidad de instalación a través del repositorio con un simples apt-get install… y lo debemos hacer en forma manual.

El resumen rapido de este tutorial es el siguiente:

Descargar el binario extraible de Oracle JDK

Ejecutar

chmod a+x jdk-6u37-linux-i586.bin

./jdk-6u37-linux-i586.bin

sudo mkdir -p /usr/lib/jvm/jdk1.6.0

sudo mv jdk1.6.0_37/* /usr/lib/jvm/jdk1.6.0/

sudo update-alternatives –install «/usr/bin/java» «java» «/usr/lib/jvm/jdk1.6.0/bin/java» 1

sudo update-alternatives –install «/usr/bin/javac» «javac» «/usr/lib/jvm/jdk1.6.0/bin/javac» 1

sudo update-alternatives –install «/usr/bin/javaws» «javaws» «/usr/lib/jvm/jdk1.6.0/bin/javaws» 1

sudo update-alternatives –config java

El primer paso es descargar el Oracle Java JDK paquete binario extraíble de la página oficial, aceptando los términos de licencia del mismo. Por conveniencia podemos mover el archivo descargado del directorio Descargas, subiéndolo un nivel más al Directorio Personal de nuestra cuenta de usuario de manera que al acceder a nuestro terminar y ejecutar el comando ls tener el siguiente resultado donde se liste nuestro archivo .bin

Observamos que tenemos el archivo jdk-6u37-linux-i586.bin, recordar que debemos descargar la versión correcta para la arquitectura de nuestro computador.

Ahora debemos modificar los permisos de ejecución de nuestro archivo .bin para lo cual realizamos el siguiente comando:

~$ chmod a+x jdk-6u37-linux-i586.bin

Luego podemos ya ejecutar nuestro archivo autoextraíble escribiendo el nombre del mismo, como estamos en el mismo nivel de directorio debemos anteponer los símbolos ./

~$ ./jdk-6u37-linux-i586.bin

Una vez finalizada la ejecucion observamos un nuevo directorio con el nombre jdk1.6.0_37 el cual es el directorio de instalación del jdk.

Luego necesitamos ubicar el directorio de instalación en un lugar mas estratégico para lo cual creamos el directorio /usr/lib/jvm/jdk1.6.0 para lo cual ejecutamos la siguiente instrucción:

~$ sudo mkdir -p /usr/lib/jvm/jdk1.6.0

Luego movemos todo el contenido del directorio jdk1.6.0_37 en nuestro directorio personal al directorio creado en el paso anterior para lo cual ejecutamos:

~$ sudo mv jdk1.6.0_37/* /usr/lib/jvm/jdk1.6.0/

Luego necesitamos actualizar las referencias de manera a que el sistema operativo pueda encontrar los programas java, javac y javaws para lo cual ejecutamos una a una las siguientes instrucciones:

~$ sudo update-alternatives –install «/usr/bin/java» «java» «/usr/lib/jvm/jdk1.6.0/bin/java» 1

~$ sudo update-alternatives –install «/usr/bin/javac» «javac» «/usr/lib/jvm/jdk1.6.0/bin/javac» 1

~$ sudo update-alternatives –install «/usr/bin/javaws» «javaws» «/usr/lib/jvm/jdk1.6.0/bin/javaws» 1

Por ultimo y en caso de tener instalada diferentes versiones o distribuciones de java o el openjdk necesitamos configurar la cual sera utilizada como predeterminada, caso estemos realizando una instalacion unica de java la misma no es necesaria.

~$ sudo update-alternatives –config java

Con lo cual nos despliega una ventana de dialogo en la cual seleccionamos la versión de java predeterminada.

Ahora podemos probar el funcionamiento de nuestra instalación escribiendo el comando java en el terminal con lo cual recibimos como respuesta las opciones del mismo lo cual nos indica que el mismo está funcionando.

Con esto finalizamos este tutorial y en la próxima continuamos con la instalación de mysql y la instalación del entorno de desarrollo (IDE) Eclipse.

Javascript anti-patterns – Nomenclatura

Javiani

Olá meus queridos!

Acho que eu não cheguei a falar sobre nenhum anti-pattern no blog, pelo menos não que me lembre… Postei bastante sobre padrões e com o passar do tempo você começa a se perguntar se aquilo que acredita faz sentido ou não.

Gostaria de discutir um assunto que é meio polêmico, que é o modo como você padroniza a nomenclatura das suas variáveis no Javascript.

É claro que estas são as minhas opiniões e em algum momento eu posso entrar em contradição em algumas delas, porque no final tudo está relacionado com o que gostamos ou não, é puramente uma questão de gosto.

Anti-pattern – pParameter

Este foi um dos primeiros anti-patterns que eu não entendia. A idéia aqui era colocar um antes do nome da variável para indicar que esta era um parâmetro de função.

Eu não estava muito certo do porque saber que uma variável vinha de parâmetro…

Ver la entrada original 1.089 palabras más

Instalar mongoDB en Windows 7

El objetivo de este post es mostrar como instalar MongoDB en windows 7.

Para los que no conocen MongoDB es una base de datos NoSQL opensource, MongoDB (from «humongous») is an open-source document database, and the leading NoSQL database.

Para instarla, el primer paso es descargar el paquete .zip correspondiente a la versión de nuestro sistema operativo windows, o sea 32 o 64 bits.

Luego lo descomprimimos en un lugar conveniente, particularmente lo descomprimo en la ubicación C:\mongoDB de manera a tener el contenido organizado como la siguiente imagen

mongo1Es, mas una vez descomprimido el archivo .zip solo tenemos el directorio \bin entonces debemos crear manualmente los directorios \data y el directorio \log (si bien estos puden crearse en cualquier otro lugar, siempre y cuando lo configuremos correctamente)

El siguiente paso es crear el archivo de configuración mongo.config dentro del directorio mongoDB el cual tiene los parametros de configuración.

 ##store data here
 dbpath=C:\mongoDB\data

##all output go here
logpath=C:\mongoDB\log\mongo.log

##log read and write operations
diaglog=3

Es recomendable añadir el directorio \bin de mondoDB a las variables de entorno de Windows para tenerlo disponible desde cualquier lugar.

Ahora podemos iniciar el servidor ejecutando el siguiente comando desde consola

mongod.exe --config c:\mongodb\mongo.config

Tambien disponemos de un cliente shell para conectarnos a nuestro servidor MongoDB utilizando mongo.exe

c:\mongodb\bin>mongo
MongoDB shell version: 2.2.3
connecting to: test
> //mongodb shell

Podemos añadir MongoDB como un servicio Windows para que se inicie automaticamente con el sistema operativo

c:\mongodb\bin> mongod --config c:\mongodb\mongo.config --install

Con esto un servicio con el nombre MondoDB es creado.

Para iniciar el servicio tenemos:

net start MongoDB

Para detener el servicio tenemos:

net stop MongoDB

Para remover el servicio tenemos

c:\mongodb\bin>mongod --remove

Para los que conocer más acerca de MongoDB tienen esta excelente presentación hecha en el #Latioware 2013 por Christiano Anderson http://christiano.me/2013/10/17/mongodb-voce-precisa/ , demás está decir que estuve asistiendo esa presentación XD

Para mayores referencias acerca de MongoDB tiene la documentación oficial en http://docs.mongodb.org/manual/ y además 4 cursos gratuitos en https://education.mongodb.com/, estoy comenzando con el primero, así nos vemos en la próxima.

Añadir comentarios en una página con el plugin de facebook

Bueno, hoy en día es común ver las paginas de noticias con la posibilidad de realizar comentarios utilizando nuestra cuenta de facebook , así tambien con nuestra cuenta de hotmail, yahoo y AOL…

Esto añadido a la característica de tener nuestra sección de facebook simpre inicializada evita a los visitantes de una pagina el tedioso trabajo de registrarse a un cuenta de usuario para poder realizar un comentario…

Pero como es posible?, gracias a la API de facebook, la cual está ampliamente documentada en developer.facebook.com, podemos integrar esta funcionalidad a nuestro sitios web, así como muchas otras…

Basicamente los comentarios en una pagina a través funciona integrado el plugin social comment, la cual recibe como parametro la URL de la pagina como identificador único.

El procedimiento es el siguiente en la direccion https://developers.facebook.com/docs/reference/plugins/comments/ y lugo de leer las instrucciones completamos los datos que nos solicitan referente  a la URL de la pagina y otras caracteristica de visualizacion…

Con esto obtenemos dos fragmentos de codigo para integrarlo a nuestra pagina, una parte en javascript, la cual nos recomienda insertarla luego despues de la etiqueta <body> y la otra parte una <div> ubicada en el sector destinado a los comentarios…generalmente antes de footer

Con este planteamiento tenemos una situacion muy rigida ya que estariamos generando en forma manual para cada pagina… pero si analizamos el codigo generado que nos entrega facebook vemos lo siguinte:

<div id="fb-root"></div>
<pre><script type="text/javascript">// <![CDATA[
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/es_ES/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));
// ]]></script>

El javascript accedemos de manera transparente a la api de comentarios, no tenemos nada mas que modificar.

En la segunda parte tenemos la div de comentarios y observamos:

</pre>
<div class="fb-comments" data-href="http://example.com" data-num-posts="2" data-width="470"></div>
<pre>

Básicamente tenemos tres paramentos ademas del identificador de class que es «fb-comments», los demas son data-href =»example.com», data-num-posts=»2″, data-width=»470″.

Sobre la función de cada uno de estos paramentros es muy auto explicativa siendo el más destacable el parametro data-href, el cual debe recibir la URL de nuestra pagina que esta siendo comentada, los demas parametros son el numero de post a deplegar por defecto y el tamaño de la div.

Entonces el parámetro a vincular dinámicamente los comentarios en un sistema de como un blog de noticias o articulos es el data-href .

Para ejemplificarlo mejor tenemos este proyecto http://cdsaltoparana.comoj.com/FacebookComment/ donde simulamos un sistema de noticias, donde las paginas de detalle son generadas dinámicamente con PHP a través del envio del paramento GET.

Iniciamos el ejemplo para lo cual utilizaremos la una base de datos mysql con la siguiente tabla:

--
-- Table structure for table `entradas`
--

CREATE TABLE `entradas` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `entradas`
--

INSERT INTO `entradas` VALUES(1, 'Primera Noticia', 'Texto de la primera noticia del blog');
INSERT INTO `entradas` VALUES(2, 'Segunda Noticia', 'Texto de la segunda noticia');
INSERT INTO `entradas` VALUES(3, 'Tercera Noticia', 'Texto de la tercera noticia');
INSERT INTO `entradas` VALUES(4, 'Cuarta Noticia', 'texto de la cuarta noticia');

Ahora generamos la pagina index.php para generar el listado de entrada de nuestro sitio, recuerda que por seguridad y buenas practicas debe gestionar los parametros de conexión a la base de datos y manipulacion de registro en forma separada a la parte visual de la página, así como el manejo de la hoja de estilos. La forma presentada es solamente para ejemplificar el uso del plugin social Facebook

index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">

body {
background-color: #fff;
margin: 40px;
font-family: Verdana, Sans-serif;
font-size: 14px;
color: #4F5155;
}

a {
color: #003399;
background-color: transparent;
font-weight: normal;
}

h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 16px;
font-weight: bold;
margin: 24px 0 2px 0;
padding: 5px 0 6px 0;
}

code {
font-family: Monaco, Verdana, Sans-serif;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}
</style>
<?PHP
$db_user = "user";
$db_pass = "pass";
$db_host = "host";
$db_shema = "db_name";
$db_table = "entradas";
$db_query = "select * from ".$db_table;

$link = mysql_connect($db_host, $db_user, $db_pass) or die('Cannot conect to DB '.$db_shema.' in '.$db_host);
mysql_select_db($db_shema, $link);
$result = mysql_query($db_query, $link) or die('Error in query : '.$db_query);
?>
<title>BLOG PAGINA INICIAL</title>
</head>
<body>
<h1>Bienvenidos al Blog del Tutorial de Comentarios de Facebook!</h1>

<p>Esta página es generada dinamicamente con PHP y tiene entradas de noticias publicadas.

Cada entrada en la lista direcciona a una pagina de detalle generada a partir del ID de la noticia enviada a través de HTTP GET</p>

<?php
// $entradas = array();
if(mysql_num_rows($result)){
while($entrada = mysql_fetch_assoc($result)){?>
<code>
<h1><?php echo $entrada['title']?></h1>
<p><?php echo $entrada['text']?></p>
<p><a href='entrada.php?<?php echo "id=$entrada[id]"?>'>Leer más</a>.</p>
</code>
<?php }
} ?>
</body>
</html>

Con eso se estructura que cada entrada poseea el vinculo «Leer más» el cual vincula a la pagina entrada.php y envia el parametro id a través Http Get con el identificador de cada entrada

En la pagina entradas tenemos


        <!--?PHP <br ?-->        $title ="No se puede mostrar la página solicitada";
        $text = 'Lo sentimos pero la entrada que estas buscando ha sido borrada o cambiada...
Prueba revisar los enlaces en la <a href="index.php">Pagina Principal</a>';
        $db_user = "user";
        $db_pass = "pass";
        $db_host = "host";
        $db_shema = "db_name";
        $db_table = "entradas";

        $link = mysql_connect($db_host, $db_user, $db_pass) or die('Cannot conect to DB '.$db_shema.' in '.$db_host);
        mysql_select_db($db_shema, $link);
        if (isset ($_GET['id'])){
            $id = $_GET['id'];
            $db_query = "select * from ".$db_table." where id = $id";
            $result = mysql_query($db_query, $link) or die('Error in query : '.$db_query);
            if(mysql_num_rows($result)){
                $entrada = mysql_fetch_assoc($result);
                $title = $entrada['title'];
                $text = $entrada['text'];
            }
        }
        ?>
        Pagina de detalle - <!--?php echo $title ?-->

</pre>
<div id="fb-root"></div>
<pre>
<script type="text/javascript">// <![CDATA[
(function(d, s, id) {
                var js, fjs = d.getElementsByTagName(s)[0];
                    if (d.getElementById(id)) return;
                        js = d.createElement(s); js.id = id;
                        js.src = "//connect.facebook.net/es_ES/all.js#xfbml=1";
                        fjs.parentNode.insertBefore(js, fjs);
                    }(document, 'script', 'facebook-jssdk'));
// ]]></script></pre>
<h1></h1>
<pre>
<code>

<!--?php echo $text?-->

 </code></pre>
<div class="fb-comments" data-href="http://cdsaltoparana.comoj.com<?php echo $_SERVER[">' data-num-posts="2" data-width="470"></div>
<pre>

Con esto observamos que con el la variable $_SERVER[‘REQUEST_URI’]’accedemos a la uri de la pagina actual y la vinculamos con la url base del host para asi poder pasar el parámetro data-href para que Facebook se encargue del resto…
Recuerda siempre usar responsablemente la API o de lo contrario tu url será bloqueada por spam y no podras incorporar esta funcionalidad.

Puedes descargar el código fuente del proyecto en este enlace

Usar LocationListener no Android?

Você Sabia...?

Para complementar o post sobre GPS ->http://renatopuccinipt.com/2011/07/15/pegar-latitude-e-longitude-no-android/ escrevo esse post com o intuito de melhorar uma aplicação que acessa dados de localização geográfica.

Quando fiz minha primeira app que acessava informações do GPS, achei o maximo. Porém ficava encucado de como fazer para aparecer na barra topo do Android que o GPS estava trabalhando. Foi ae que descobri o LocationListener.

Ele é uma interface que prove updates do GPS para você. E automaticamente faz com que o iconezinho que indica a sua posição fique piscando na barra no topo da tela.

Como o LocationListener é uma interface, basta simplesmente criarmos uma classe (essa pode ser até uma inner class) que implemente essa interface.

Essa classe implementa automaticamente todos os métodos da Interface.

Como você já tem um LocationManager para acessar as informações do GPS, fica simples somente criar um objeto da classe MeuLocationListener e adicionar em um método…

Ver la entrada original 26 palabras más

Diario de programación. Introducción

El pase de diapositivas requiere JavaScript.

En estas publicaciones propongo ir detallando el proceso para la creación de un pequeño aplicativo escrito en java y utilizando el motor de base de datos postgres, utilizando también los procedimientos almacenados en PL/PGSQL.

Para esto utilizaremos las siguientes herramientas:

POSTGRESSQL:

PostgreSQL es un sistema de gestión de base de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una sola empresa sino que es dirigido por una comunidad de desarrolladores y organizaciones comerciales las cuales trabajan en su desarrollo. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Para más información recurrir a www.postgresql.org

IDE ECLIPSE:

Eclipse es principalmente una plataforma de programación, usada para crear entornos integrados de desarrollo (del Inglés IDE).

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto. http://www.eclipse.org/

SIGA

Sistema Integrado de Gestión de Abonados

Este es un pequeño sistema escrito en java con abms en mysql para administración de usuarios de servicio de tv cable.

Es apena un ejemplo básico de algunos abm en java con mysql usando swing para aquello que como yo están empezando a programar en java. Ojala le sirva a alguno.

Dejo el proyecto desarrollado en eclipse..,

Para utilizarlo se debe configurar el acceso de mysql en el archivo ControladorBD.propierties

Pero antes que nada se debe importar el script de la base de datos que se encuentra en el archivo siga.sql

Usuario del Sistema SIGA : leo

Contraseña: 123

http://www.megaupload.com/?d=34RH08VS

Para descargar el script de la base de datos:

http://www.megaupload.com/?d=TOVP8IWB