Tecnoaxis

11/01/2010

La arquitectura de software detrás de KDE Software Compilation #1

Filed under: kde, kde4, kubuntu, tutoriales — Tags: , , , , , , , — Alejandro Rean @ 3:24 pm

¿Qué es KDE Software Compilation?

KDE SC, antes llamado K Desktop Environment, es una plataforma completa de aplicaciones, que consta de un gestor de ventanas (kwin), un completo administrador de escritorios (plasma), y una gama muy variada de utilitarios.

También se lo denomina genéricamente GUI, o interfaz gráfica.

¿Qué es una interfaz gráfica?

Es el entorno visual que nos permite interactuar utilizando el tecaldo y el mouse con el sistema operativo y los distintos programas, con representaciones gráficas intuitivas, es decir, de una forma amigable. Al GUI se lo puede diferenciar de la terminal/consola de comandos, en la que uno se desenvuelve escribiendo lineas de comandos con el teclado.

Además de KDE SC, existen otras, como pueden ser Gnome, XFCE, FluxBox, BlackBox, Aero (Windows Vista/7), Aqua (MacOS X), etc. Algunos incluyen simplemente manejo de ventanas sin administrador de escritorio.

¿Bajo qué Sistema Operativo corre?

KDE SC es multiplataforma. Se puede utilizar como GUI tanto en distribuciones Linux, en varios sistemas UNIX (FreeBSD, OpenSolaris, entre otros),  así como también en Mac OS X y Windows. Esto último es muy interesante, ya que nos permite modificar la apariencia de este sistema desde sus versiones XP en adelante, además de la ventaja de contar con miles de aplicaciones libres desarrolladas para KDE SC. También se comenzó un proyecto de portarlo a Google Native Client.

¿Cómo es KDE SC por dentro?

Está construido con el framework Qt3 para el antiguo KDE 3 y Qt4 como base para KDE4.

El framework Qt es desarrollado por Nokia, tanto por programadores pagos como por voluntarios de todo el mundo. Esto es posible gracias a que existen 3 versiones con distintas licencias: Licencia Comercial Qt, Licencia Qt GNU LGPL y Licencia Qt GNU GPL.

Qt se encarga de facilitar la interacción de las aplicaciones que utilizan las API de este framework con cada uno de los sistemas operativos. Gracias a los bindings se puede desarrollar con la API de Qt utilizando los lenguajes C++, Python y Ruby. Maneja acceso a bases de datos SQLXML parsing, manejo de hilos/threads, soporte de red y una API multiplataforma para el manejo de archivos.

Las aplicaciones que funcionan en KDE SC se desarrollan también a través del framework Qt.

¿Qué se necesita para programar aplicaciones Qt/KDE?

A la configuración básica que nos permitirá desarrollar estos programas no le debe faltar:

  1. Librerías del lenguaje que vamos a usar para programar(C++, Python, Ruby).
  2. El framework Qt para C++, PyQT (para Python) o RubyQt (para Ruby).
  3. Un editor de texto para escribir nuestro código.

En Windows quizás necesitemos además descargar un complemento especial de MS Visual C++ (ver los links útiles abajo de todo).

Adicionalmente, podemos diseñar la parte visual de nuestros programas usando Qt Designer (muy parecido a las herramientas de MS Visual Studio) en el cual arrastramos controles en la pantalla de nuestra aplicación.

Si bien podemos programar utilizando un editor de texto simple, existen alternativas más completas que nos ofrecen otras funcionalidades (marcas de syntaxis, diccionario, etc.) como emacs, geditor ó notepad++. Y hay para todos los gustos, los que quieran usar algo más complejo como un entorno de desarrollo en el que tambien se pueda hacer debugging, unit testing y demás. podemos usar un IDE como Eclipse (con los plugins necesarios), Qdevelop ó Eric.

Links útiles

Python: http://www.python.org/download/

Complemento MS Visual C++: http://www.microsoft.com/downloads/en/confirmation.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

PyQT4: http://www.riverbankcomputing.co.uk/software/pyqt/download

19/02/2008

Microsoft pone a disposición de estudiantes de todo el mundo software de desarrollo

Filed under: Uncategorized — Tags: , , , , , , — Alejandro Rean @ 1:11 pm

La iniciativa ya fue aplicada en los Estados Unidos, Europa Occidental, China, y se extenderá al resto de los países.

Bill Gates anunció esta mañana que pondrá a disposición de los estudiantes secundarios y universitarios alrededor del mundo las suites de desarrollo de Microsoft: Visual Studio, Expression Studio, y en un futuro XNA Game Studio (para desarrollo de juegos en XBOX360).

Mediante esta iniciativa llamada “Dreamspark” (algo así como la idea que uno tiene cuando se le “prende la lamparita”), que ya está a disposición de escuelas y universidades de Estados Unidos, Europa Occidental y China, permitirá a los desarrolladores novatos o principiantes sumergirse en lo que es el universo de programación para Microsoft.

IMHO

Segun mi opinión, esta iniciativa puede reconocerse como una de las estrategias básicas de la filosofía de Microsoft. No es la primera vez que hacen uso de este tipo de tácticas comerciales con objetivos a mediano/largo plazo. Muchos giveaway se han realizado por parte de esta empresa oriunda de Redmond, como las ediciones Express de Visual Studio desde su versión .NET (2003), las licencias gratuitas de Windows XP y otros paquetes de software para estudiantes universitarios, etc…

Lejos de la filosofía de software libre, lo que planean es moldear una nueva generación de programadores BASIC (sin animo de desmerecer a ninguno, además yo soy uno de ellos), facilitandole las herramientas para el aprendizaje y desarrollo de aplicaciones y juegos en Visual Basic, Visual C++, Visual C#, etc…  y ahora sumando los nuevos paquetes Expression y XNA para XBOX 360. De esta manera, se aseguran programadores que en un futuro desarrollará aplicaciones para Windows, lo cual por un lado le permitirá ofrecer mediante esta plataforma aplicaciones que cubran las necesidades de los consumidores (en otras palabras, vender más Windows), y por otro una amplia plaza de recursos ampliamente capacitados (con suerte fanáticos de Visual) para trabajar en la mismisima empresa de las ventanas.

El lado positivo de esto es promover la programación entre los estudiantes que nacieron con Windows preinstalado, motivandolos subyectivamente a lo que es el mundo del desarrollo de software en general. Los lenguajes Visual son bastante sencillos y permiten desarrollar aplicaciones interesantes al poco tiempo. Decir que uno hace programas en Visual Basic 6 desde los 12 años es más creible que decir lo mismo de Assembler (N.d.E.: sería considerado un prodigio! Si es tu caso dejá un comentario y te pido un autógrafo!). Pero alguien que ha programado en Visual y lo encontró satisfactorio, puede que se interese por ampliar sus conocimientos y estudiar otros lenguajes.

Pero como suele suceder con Windows: cuando se abre una ventana, se cierra otra. Al estar estos estudiantes capacitados en programación “para Microsoft” desde sus inicios como programadores, indudablemente serán los lenguajes que mejor manejarán, y en un estudiante muy entusiasta y poco curioso esto puede provocar una estrechez mental que le impida aprender otros lenguajes (Java, C++) y/o seguir otros caminos, como el de Linux o Mac, por dar algunos ejemplos.

En conclusión, una iniciativa con intereses de marketing concretos, aleccionadora de una futura generación BASIC, pero de la que se podrá sacar provecho con un poco de motivación a la apertura mental de los estudiantes.

09/02/2008

Como mudar un sitio web del servidor local a internet (Gratis!)

Filed under: hosting, programacion, tutoriales, tutoriales web, web 2.0 — Tags: , , , , — Alejandro Rean @ 8:46 am

Seguramente, sobre todo los practicantes de desarrollo web y/o bloggers, en algun momento nos preguntamos si no existía alguna forma, gratuita, de poder tener nuestra página subida a Internet.

En mi caso, comencé entusiasmado desarrollando sitios dinámicos, monté un servidor local (en mi pc) sobre linux, instalé Apache, PHP, MySql… etc, etc, etc… Las páginas funcionaban, gracias al servicio que ofrece CDMON.com para redirección de ip estática a ip dinámica y un cron script que le pingueaba
mi ip, todo era perfecto.

Claro, no duró más que un par de horas ya que cuando uno de mis hermanos quizo usar la computadora, la reinició para usar Windows y al demonio el servidor =). A más de uno le debe pasar! Pueden dejar sus comentarios con historias y peleas familiares si quieren.

Todos sabemos que un sitio web no puede funcionar dos horas de cada cuatro o cinco, por lo que me decidí a buscar una solución URGENTE! Y ahi estaba, esperando por mi… vaya a saber uno con qué intereses, o en realidad sí los sé, pero no podía ser real tanta generosidad. Igual tiene sus pequeños defectos…

A continuación les dejo un sencillo tutorial paso a paso, de esos que a todos nos gustan por su practicidad, para que lo tengan de guía. No se preocupen que una vez que suban un par de sitios ya se acostumbrarán.

Herramientas Necesarias

1. Para realizar la mudanza (también llamado deploying) de nuestro sitio dinámico en internet estas son las herramientas básicas que necesitaremos:

2. Un sitio web ya creado: si vamos a mudar un sitio de nuestro servidor a internet, primero tenemos que tenerlo hecho =D. Llamaré dinámico a todo sitio creado en PHP, con base de datos en MySQL, PostgreSQL o similar. Será de mucha ayuda tener instalado en nuestro servidor local phpMyAdmin.

3. Gestor de FTP: algún programa capaz de conectarse mediante el protocolo FTP para poder copiar los archivos al servidor destino. En mi caso utilizo el gFTP en Linux. Para Windows hay varios, CuteFTP, FTP Explorer, etc. Usen el que más les guste.

4. Ganas y tiempo.

Tutorial
Primera Parte: Ubicación de nuestro sitio en Internet

1. Crear una cuenta gratuita en www.zymic.com. Es tan trivial como crear una cuenta en cualquier otro servicio web.

*Nota: el servicio gratuito de Zymic ofrece 2GB de espacio y ancho de banda de 35GB, PHP/MySQL, administrador online de FTP (totalmente básico, no es muy útil, pero está), HOSTING SIN PUBLICIDAD, un nombre de dominio gratuito (no es .com pero nos sirve igual). Como restricción, admite hasta 5 _bases de datos_ por sitio (no confundir el concepto de base de datos con tabla!). Se puede crear más de un sitio por cuenta. La única conexión entre Tecnoaxis/Yo y Zymic.com es de usuario/proveedor, no me pagan comisión ni me regalan nada por hacer este tutorial, jaja. Fin del disclaimer.

2. Crear un sitio web, yo por practicidad uso la dirección misitio.zxq.net, pero eso queda a criterio de cada uno.

3.a. Copiar mediante el gestor de FTP los archivos a la raíz o a un subdirectorio si así lo desean. Los datos de conexión serían, por ejemplo:

.host: misitio.zxq.net
.puerto: 21
.usuario: misitio@zxq.net

Por supuesto la contraseña es la que indicaron ustedes al momento de crear el sitio en Zymic.

Este paso puede demorar bastante, dependiendo de la cantidad de archivos y carpetas.

3.b. Exportar la base de SQL. Esto lo pueden hacer mientras se copian por FTP los archivos,y
se logra de manera muy sencilla mediante el uso de phpMyAdmin. Luego de loguearse al phpMyAdmin (en su servidor local), en el menú principal hay una opción llamada Exportar (Export), dejan todo como está y le dan continuar. Copian el script arrojado por phpMyAdmin a un documento mediante su editor de textos preferido y lo graban en un archivo .txt (ej.: mibase.txt). No cierren el editor.

3.c. A continuación, desde el panel de control de Zymic, ingresamos al sitio creado y hacemos clic en la opción de editar la configuración de MySQL. Le damos un nombre a nuestra base, que quedará finalmente como misitio_zxq_net_nombrebase. Luego creamos un usuario de la misma forma, qedará como misitio_zxq_net_nombreusuario. Para no mezclar ni confundirnos con tantos nombres podemos usar el mismo tanto para la base como para el usuario. A este usuario le daremos todos los permisos sobre misitio_zxq_net_nombrebase, con la opción que se encuentra debajo, en esa misma página de configuración de SQL.

3.d. Volvemos al editor de texto con nuestro script SQL en .txt, y eliminamos completamente la linea CREATE DATABASE … Además, modificamos en la siguiente linea lo que pone luego de USE reemplazandolo por nuestra base misitio_zxq_net_nombreusuario, cuidando no eliminar las comillas.

3.e. Ingresamos desde el panel de control de Zymic a la administración de phpMyAdmin. Vamos a Importar (Import), damos clic en Explorar (Browse) y elegimos nuestro script .txt. Si el archivo es muy pesado y es rechazado, podemos comprimirlo en formato zip y volver a intentar subirlo, ya que también lo reconoce.

4. Una vez finalizada la copia de archivos con el gestor de FTP, sólo nos queda adaptar los archivos de configuración del sitio dinámico (seguramente llamados config.php, wp-config.php en el caso de wordpress, etc.) y alguna cosilla más que depende del sitio que tengamos, a esta altura supongo que ya saben como arreglarse ;) , además sería muy dificil considerar acá todas las reconfiguraciones posibles. Prestar atención al archivo .htaccess, sobre todo si en nuestro servidor local teniamos al sitio en un subdirectorio, y en el servidor Zymic lo copiamos a la raíz. El resto es prueba y error.

Observaciones adicionales: ya he subido varios sitios a este servidor y me funciona bastante bien, al principio tuve problemas con el FTP pero aparentemente hace un par de días lo solucionaron. Los gestores de contenido que probé satisfactoriamente son Joomla!, Wordpress y Drupal. Con Elgg aún no pude lograr que funcione debido a una de las limitaciones actuales del servidor, aunque quizás exista algún workaround.

Limitaciones del servidor: nada es perfecto. El servidor tiene la opción de safe_mode = on, con lo cual algunos gestores de contenidos pueden no funcionar. Además, no estoy muy seguro del funcionamiento del módulo rewrite_base, aunque como les dije Joomla!, Wordpress y Drupal funcionaron sin problemas.

Segunda Parte): Registro en Nic.ar y delegación de DNS mediante CDMON.com (también gratis!)

1. Ingresar a http://www.nic.ar y registrar su dominio (válido para Argentina) .com.ar, .net.ar ó .org.ar, siguiendo las instrucciones ofrecidas en la página.

2. Si ingresaron correctamente los datos del registro, nic.ar enviará un e-mail a la casilla indicada, el mismo deberá ser re-enviado SIN MODIFICACIONES. No dejen que su administrador de correos le agregue simbolitos ni nada raro porque el bot de .nic.ar que luego toma la solicitud puede no reconocer los datos, y es muy probable que no lo haga si se agregaron caracteres!

3. Unas horas después van a recibir un e-mail de notificación, informando que ya se encuentra en trámite el regitro.

4. Si tienen suerte en mas o menos una semana ya está disponible el sitio. Pero todavía hay más! Así que al menos tienen unos minutos más para entretenerse.

5. Ingresar a www.cdmon.com y crear una cuenta. Luego desde el panel de control, seleccionan la opción Gestión de DNS Estático y añaden la dirección de su dominio recién registrado (ej.: misitio.com.ar). Seleccionamos el dominio añadido y presionamos el botón Gestionar. Hacemos clic en el ícono de herramientas/configuración de Redirección por URL e ingresamos la dirección de Zymic de nuestro sitio (ej.: misitio.zxq.net).

6. Volviendo a la Gestión de DNS Estático, verán tres direcciones de servidor DNS de CDMON, de las cuales deberán ingresar al menos las dos primeras en la configuración de su dominio en nic.ar. Esto se hace una vez que se haya efectuado el registro del dominio, lo cual pueden verificar ingresando en http://www.nic.ar, Trámites vía web, en el cuadro de Trámites por nombre de dominio. Una vez que se encuentre en estado FINALIZADO, regresan a Trámites vía web y en Modifcaciones/Delegaciones, ingresan los dos servidores DNS de CDMON, que nombré al principio de este punto.

Hasta aquí el tutorial, espero que les haya sido útil!

Como ejemplo pueden ver estos sitios que tengo alojados ahí:
www.alejandrorean.com.arastrosignos.zxq.net (proximamente www.astrosignos.com.ar)

Por cualquier duda o aclaración/colaboración que quieran hacer para con este tutorial, pueden dejar su comentario aquí debajo.

>> Ver más novedades en Tecnoaxis… | Ver Tecnoaxis desde la PDA


Copyright 2007 Tecnoaxis – Este feed es para uso privado, cualquier duda o consulta comunicate por mail conmigo a alejandro.rean@gmail.com.

Powered by WordPress