Daniel Maldonado

viernes, 28 de diciembre de 2007

Dcumentación de C# implementada con Mono

Bueno en estos dias estabamos hablando de varias cosas respecto del Proyecto Mono, las clases que implementa y creo que la gran compatibilidad con el compilador de C# que es otro Lenguaje de programación que estamos viendo a la par.

En el sitio oficial del Proyecto Mono encontramos documentación y algunas especificaciones del C#, características y el modo de utilizar C# con Mono, como realizar aplicaciones muy básicas y pequeñas, como implementar la sintaxis y por sobretodas las cosas nos aporta ejemplos muy prácticos.

Esta documentación de C# esta completa, funcional y práctica, no así se esta terminando de completar los demas documentos y librerias para utilizarlas.

El enlace es el siguiente:

jueves, 27 de diciembre de 2007

Los mejores programas hechos en C++ según su Inventor

Bjarne Stroustrup es el inventor de C++, podeis consultar numerosas entrevistas que se le han hecho desde las cuales podremos sacar nuestras propias conclusiones del panorama actual en relación a la programación y entorno en el que nos movemos. Particularmente me quedo con esta pregunta y respuesta de una de las entrevistas:

¿Cuál ha sido el mejor y peor programa realizado en C++?

B.S: El mejor Google!, ¿puedes recordar el mundo antes de Google? (después de todo solo hace 6 años). Lo que me gusta de Google es su rendimiento bajo severas restricciones de recursos. Posee unos de los más sencillos e ingeniosos algoritmos de paralelización y computación distribuida.
Tambien hay sistemas-embebidos que me gustan como por ejemplo los análisis de escena y autonomía de movimiento de la Mars Rovers. Procesamiento de imágenes en Photoshop...

Articulo RetroNet

miércoles, 26 de diciembre de 2007

martes, 25 de diciembre de 2007

Nuestro primer proyecto en MonoDevelop


Desde hace un par de días que estamos mostrando las presataciones del proyecto MONO y su IDE de programación por excelencia MonoDevelop.

Lo instale en las máquinas que utilizo y realmente este fin de semana me dedique a tratar de aprender algunas cosas con respecto a MonoDevelop y C#, como para ver de que se trataba, si la herramienta integrada es sencilla de usa y esas cuestiones.

Bueno ahora les voy a dejar con un documento que encontré del sitio oficial de MonoDevelop en donde nos explica de manera detallada y con la ayuda de GTK#, como armar un GUI de manera muy rápida y sencilla.

lunes, 24 de diciembre de 2007

Otro ejemplo en C#

Estaba navegando y me encontré este video que muestra de manera muy simple nuevamente el clásico ejemplo de Hola mundo! en C#, pero con la particularidad que en primer lugar utiliza en plataformas Windows y segundo que utiliza formularios para realizarlo.


domingo, 23 de diciembre de 2007

Hola mundo en C#

Ahora les voy a mostrar un pequeño ejemplo de una aplicación en C#, en primer lugar lo que debemos hacer es crear un archivo para este codigo, por ejemplo holamundo.cs con cualquier editor de texto que utilicemos. Luego colocar el siguiente codigo:

using System;

namespace HolaMundo
{
   class Program
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Hola mundo");
      }
   }
}


Por último una ves guardado esto, debemos compilarlo para ello utilizaremos el compilador de C# llamado mcs (Mono Compiler Suit), lo que nos dará como resultado un archivo holamundo.exe la cual solo nos quedará ejecutar dicho archivo con ./holamundo.exe

sábado, 22 de diciembre de 2007

C#, La evolución de C++

C# (pronunciado "si sharp") es un Lenguaje de Pprogramación Orientado a Objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control de lenguajes de bajo nivel como C y la velocidad de programación de lenguajes de alto nivel como Visual Basic.

C# significa, "do sostenido" (C corresponde a do en la terminología musical anglo-sajona). El símbolo # viene de sobreponer "++" sobre "++" y eliminar las separaciones, indicando así su descendencia de C++.

Aunque C# forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones; mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma. Aunque aún no existen, es posible implementar compiladores que no generen programas para dicha plataforma, sino para una plataforma diferente como Win32 o UNIX.

lunes, 17 de diciembre de 2007

Algunas Frases de Miguel de Icaza

Navegando por internet, encontre este video de Miguel de Icaza hablando de varios temas como ser el Proyecto MONO, cuestiones de Licencia y otros temas mas, con el humor característico de el...


sábado, 15 de diciembre de 2007

Programación Básica en Gambas

Bueno gracias a Jonyx, administrador de El blog de Furikao, posteo algo interesante que los queria compartir he invitar a acompañarnos.

Invitando, siempre de buena manera, a las personas a que experimenten las herramientas de programación les dejo un enlace a una página del tipo interesante.

En ella van a ver ejemplos de códigos sencillos, empezando con los diagramas de flujo y con ejemplos prácticos.
Y aunque paresca una tontera, ejemplos como los algoritmos de busqueda son muy utilizados, incluso en sistemas grandes con manejo de datos muy complejos. La correcta implementación y en el momento adecuado de alguno de estos algoritmos puede ahorrar muchos dolores de cabeza (lo digo por experiencia).
La página está en español, y toma como referencia el IDE/Lenguaje Gambas, que anteriormente se estuvo comentando en este blog. He aqui el enlace:

Gambas Dev

Espero les resulte interesante. Hasta pronto, que estén bien.

Video de Mono

Si por ahí no entendiste el concepto completo del Proyecto Mono, por que no dejamos que el propio creador y director de este proyecto nos los explique... Con nosotros Miguel de Icaza


Proyecto MONO - Enlaces interesantes

Quizás en este camino de aprender un poco el concepto de este proyecto que arranco ya hace algunos años y la cual ha logrado una gran aceptación en el mercado, seguramente necesitas la ayuda de internet para conocer he interiorizarte mas en el tema.

Así que ahora les voy a pasar estos enlaces que particularmente a mi me fueron muy útiles:

Para comenzar como siempre la Wikipedia presente.

Otro sitio también interesante es el Sitio Oficial del Proyecto.

para finalizar y como ya mostramos, tenemos MonoDevelop el IDE para desarrollas las aplicaciones asi que les presente también su Sitio Oficial.

Comenzando a probar estas herramientas les comento que tuve la suerte y el tiempo de hacer algunas cositas en C#, para la gente que no conoce ya vamos a estar posteando algo al respecto, realmente un lenguaje comprometedor.

miércoles, 12 de diciembre de 2007

MonoDevelop


MonoDevelop es un Entorno Integrado de Desarrollo (IDE) libre y gratuito, diseñado primordialmente para C# y otros lenguajes .NET como Nemerle, Boo, y Java (via IKVM.NET). MonoDevelop originalmente fue una adaptación de SharpDevelop para Gtk#, pero desde entonces se ha desarrollado para las necesidades de los desarrolladores de Mono. El IDE incluye manejo de clases, ayuda incorporada, completación de código, Stetic (diseñador de GUI), soporte para proyectos, y un depurador integrado.

Aunque MonoDevelop solo puede ejecutarse en Mac y distintas distribuciones de Linux, no es posible hasta el momento ejecutarlo sobre Windows. Sin embargo, un IDE llamado SharpDevelop facilita la compilación y depuracion (desde su version 2.0) de aplicaciones Mono sobre ambiente Windows.

MonoDevelop es el complemento ideal y le herramienta que estaba necesitando GNU/Linux en programación tanto visual como asi tambien en modo texto. Si estas interesado en insertarte en el mundo del .NET y manejas sistemas GNU/Linux, te recomiendo que nos sigas acompañando ya que vamos a mostrar muchas herramientas mas.

viernes, 7 de diciembre de 2007

Componentes de Proyecto MONO

Rápidamente y de manera resumida, veamos algunos componentes que incorpora el Proyecto MONO dentro de sus entornos de programación.

Librerías de clase

Proveen un conjunto de facilidades que ayudan al desarrollo de aplicaciones. Son escritas primeramente en C#, pero gracias al lenguaje común de especificación (CLS), las mismas pueden ser invocadas en cualquier otro lenguaje de .NET. Cuando hablamos del framework de .NET, nos estamos refiriendo primer lugar a las librerías de clase.

Espacios de nombres (Namespaces) y ensamblados (Assemblies)

Los espacios de nombre son un mecanismo que permite agrupar lógicamente clases similares en una estructura jerárquica, evitando así conflictos de nombres. La estructura se implementa utilizando palabras separadas por puntos. Por ejemplo, System.IO o System.Net.
Los ensamblados son el paquete físico de las librerías de clase. Son archivos con extensión .dll, como las librerías de Windows. Ejemplos de librerías son mscorlib.dll, System.dll, System.Data.dll.

Lenguaje Común de Infraestructura (CLR)

El lenguaje común de infraestructura o más comúnmente llamado Common Language Runtime (CLR) es implementado por el ejecutable de Mono.
Este lenguaje común de infraestructura está definido en los estándares ECMA y ECMA-335. Para ejecutar una aplicación se deberá invocar el runtime con los parámetros adecuados.

Lenguaje Común de Especificación (CLS)

Se encuentra especificado en el estándar ECMA-335 y define la interfase con el CLR. Por ejemplo, convenciones sobre el tipo de datos que se utilizará para implementar los enumerados. El compilador Mono genera una imagen que cumple con el CLS, esta imagen está codificada en el denominado Common Intermediate Language (CIL) o Lenguaje Intermedio Común. El runtime de Mono toma dicha imagen y la ejecuta.

Muchas veces comprender estas características es un poco complicada por el hecho que son conceptos muy abstractos. Pero en la prácticas vamos a poder ver la aplicación con más detalle y terminar de entender todas estas cuestiones.

Proyecto MONO

Mono es el nombre de un proyecto de código abierto iniciado por Ximian y actualmente impulsado por Novell (tras su adquisición de Ximian para crear un grupo de herramientas libres, basadas en GNU/Linux y compatibles con .NET según lo especificado por el ECMA. Este proyecto es liderado nuevamente por el famoso y conocido Miguel de Icazas, demostrando nuevamente el compromiso con el desarrollo de herramientas libres en el universon GNU/Linux.

Mono posee importantes componentes útiles para desarrollar software:

  • Una Máquina Virtual de lenguaje común de infraestructura (CLI) que contiene un cargador de clases, un compilador en tiempo de ejecución (JIT), y unas rutinas de recolección de memoria.
  • Una Biblioteca de Clases que puede funcionar en cualquier lenguaje que funcione en el CLR (Common Language Runtime).
  • Un Compilador para el lenguaje C#, MonoBasic (la versión para mono de Visual Basic), Java y Python.
  • El CLR y el Sistema de tipos común (CTS) permite que la aplicación y las bibliotecas sean escritas en una amplia variedad de lenguajes diferentes que compilen para byte code. Esto significa por ejemplo, que si defines una clase que haga una manipulación algebraica en C#, esa clase puede ser reutilizada en cualquier lenguaje que soporte el "CLI". Puede crear una clase en C#, una subclase en C++ e instanciar esa clase en un programa en Eiffel.
  • Un sistema de objetos único, sistema de hilos, bibliotecas de clases y sistema recolector de memoria pueden ser compartidos por todos estos lenguajes.
  • Es un proyecto independiente de la plataforma. Actualmente Mono corre sobre Linux, FreeBSD, UNIX, Mac OS X, Solaris y plataformas Windows.

jueves, 6 de diciembre de 2007

Android - Un video de muestra.



Google presenta un vídeo (ingles) donde muestra un poco de las aplicaciones de su plataforma para celulares, Android. Según Sergey Bin, fundador de Google, el celular y aplicaciones que se muestran en el vídeo no van a ser así como se las ve, en otras palabras, aun no están terminadas y faltan mejorarlas. Google esta dando como premio 10 millones de dolares a quien desarrolle la mejor aplicación para Android, ese concurso va a ayudar para que programadores creen miles de aplicaciones unas más buenas que otras pero aplicaciones en fin.

miércoles, 5 de diciembre de 2007

Android - Enlaces Interesantes

Después de la rápida aparición de Android, liberado por la mega compañía Google, la repercusión en todos los sites, blogs y portales realmente fue muy importante.

Como era de esperar la comunidad de Wikipedia nunca se va a quedar atrás y creo su espacio para Android.

Google se tomó el trabajo de presentar el Sitio Oficial de Android para desarrolladores, con Ejemplos y tutoriales.

Como no podía ser de otra manera los Grupos de Usuarios o de Programadores están siempre presentes, en este caso ANDROID-SPA.

Y por último quería presentarles este enlace de Picando Código en donde hay un completo informe acerca del SDK de Android.

domingo, 2 de diciembre de 2007

Android - La nueva plataforma de desarrollo para Móviles

Android es un stack de software para dispositivos móviles que incluye un Sistema Operativo, middleware y aplicaciones clave. Google está otorgando un vistazo al SDK de Android, que provee de herramientas y APIs necesarios para comenzar a desarrollar aplicaciones en la plataforma Android, utilizando el lenguaje de programación Java.

Esta nueva plataforma de desarrollo fue lanzada y liberada a fines de Octubre de este año por la empresa de Google, tratando de imponer un nuevo framework para los desarrolladores. Dicho lanzamiento realmente fue tomado con gran motivación y de gran repercución.

Python - SQLite

Recientemente publiqué en SQLite-Latino, un sencillo ejemplo para integrar SQLite en Python y en esta oportunidad quería también presentárselos a ustedes y ojala les guste, les aclaro que en esta oportunidad es solo para ver la conexión de las Bases de Datos, algo muy simple que poco a poco integraremos más complejidad.

Bueno para poder llevar a cabo la integración necesitamos que en Python tengamos instalado unas librerías que nos va a servir como interface para conectar las Bases de Datos SQLite. Para ello hacemos lo siguiente:

$ sudo apt-get install python-pysqlite2

Con esto ya contamos con estas librerías y podemos realizar la conexión fácilmente.
Para continuar y realizar nuestro primer ejemplo sencillo de esta integración, les recomendamos que vean las Review I y Review II de SQLite y creen una Base de Datos con aunquesea una tabla, a modo de ejemplo.

Vamos a suponer dos cosas: Que la Base de datos o el archivo lo llamamos "prueba.db" y que como les decia a modo de prueba creamos una tabla llamada "personal".

Ahora bien creamos un archivo en python con nuestro editor preferido y lo llamamos "prueba01.py"

# Importa librerias de SQLite
from pysqlite2 import dbapi2 as sqlite

# Realiza la coneccion con la db colocando el Path
# donde se encuentra el archivo de la Base de datos
coneccion = sqlite.connect('prueba.db')

# Crea un objeto cursor para trabajar
cursor = coneccion.cursor()

# Ejecuta la consulta SELECT, tal y como lo haríamos en SQL
cursor.execute('SELECT apellido, nombre FROM personal order by id')

# Muestra todos los datos de la consulta
for (apellido, nombre) in cursor:
print 'Apeliido y Nombre: %s, %s.' % (apellido, nombre)

viernes, 30 de noviembre de 2007

Que son los SDK

Un Software Development Kit (SDK) o kit de desarrollo de software es generalmente un conjunto de herramientas de desarrollo que le permite a un programador crear aplicaciones para un sistema bastante concreto, por ejemplo ciertos paquetes de software, frameworks, plataformas de hardware, computadoras, consolas de videos juegos, sistemas operativos, etc.

Es algo tan sencillo como una interfaz de programación de aplicaciones o API (del inglés Application Programing Interface) creada para permitir el uso de cierto Lenguaje de Programación, o puede, también, incluir hardware sofisticado para comunicarse con un determinado sistema embebido. Las herramientas más comunes incluyen soporte para la detección de errores de programación como un entorno integrado de desarrollo o IDE (del inglés Integrated Development Environment) y otras utilidades.

Los SDKs frecuentemente incluyen, también, códigos de ejemplo y notas técnicas de soporte u otra documentación de soporte para ayudar a clarificar ciertos puntos del material de referencia primario.

En los últimos años vimos la gran evolución y la implementación de los SDK en muchos Lenguajes de Programación, los conocidos de Java y los de .NET

Linus Torvalds - Parte I

Linus Benedict Torvalds (nacido el 28 de diciembre de 1969 en Helsinki), es un ingeniero de software finlandés; es más conocido por desarrollar la primera versión del núcleo (kernel) del sistema operativo Linux, basándose en la implementación de las herramientas, los compiladores y las utilidades desarrollados por el proyecto GNU. Actualmente Torvalds es responsable de la coordinación del proyecto.

Linus es también considerado uno de los grandes referentes del Software Libre, por su gran aporte a la comunidad y hasta ahora lo continúa haciendo. Muchas personas confunden al Sistema Operativo como Linux, en realidad Linux solo conforma el Kernel o corazón del Sistema pero que esta íntimamente ligado con el Sistema GNU es por ello que el nombre correcto es GNU/Linux.

Este personaje, excelente programador y muchas veces por sus declaraciones muy polémico lo vamos a editar al igual que RMS en varias partes, ya que es muy interesante conocerlo desde sus inicios...

martes, 27 de noviembre de 2007

12 señales de que eres un mal programador

12 señales que pueden ayudarte a descubrir que eres un mal programador (y no lo sabes): el uso abusivo de patrones, usar UML por usarlo, pensar que cantidad de código equivale a productividad... Puede que no esté de acuerdo con todas, pero es una lectura interesante. El original en inglés.

Artículo completo Barrapunto

domingo, 25 de noviembre de 2007

Review de SQLite - Parte II

Aprendamos algunos comandos especiales para movernos sobre SQLite

La mayoría de las veces SQLite lee las lineas de entrada y los transforma al de la libreria SQLite para luego ejecutarlas. Si una línea de entrada empieza con un Punto (".") es interpretado inmediatamente por el intérprete de SQLite, estos puntos se utiliza normalmente para cambiar el formato de salidas de las consulta, la cual veremos más adelante

Para obtener una lista de los comandos disponibles, podemos tipear en cualquier momento ".help" y nos arrojaría la siguiente lista:

sqlite> .help

.bail ONOFF Stop after hitting an error. Default OFF
.databases List names and files of attached databases
.dump ?TABLE? ... Dump the database in an SQL text format
.echo ONOFF Turn command echo on or off
.exit Exit this program
.explain ONOFF Turn output mode suitable for EXPLAIN on or off.
.header(s) ONOFF Turn display of headers on or off
.help Show this message
.import FILE TABLE Import data from FILE into TABLE
.indices TABLE Show names of all indices on TABLE
.load FILE ?ENTRY? Load an extension library
.mode MODE ?TABLE? Set output mode where MODE is one of:
csv Comma-separated values
column Left-aligned columns. (See .width)
html HTML code
insert SQL insert statements for TABLE
line One value per line
list Values delimited by .separator string
tabs Tab-separated values
tcl TCL list elements
.nullvalue STRING Print STRING in place of NULL values
.output FILENAME Send output to FILENAME
.output stdout Send output to the screen
.prompt MAIN CONTINUE Replace the standard prompts
.quit Exit this program
.read FILENAME Execute SQL in FILENAME
.schema ?TABLE? Show the CREATE statements
.separator STRING Change separator used by output mode and .import
.show Show the current values for various settings
.tables ?PATTERN? List names of tables matching a LIKE pattern
.timeout MS Try opening locked tables for MS milliseconds
.width NUM NUM ... Set column widths for "column" mode
sqlite>


Realicemos una introducción para poder manipulas las salidas o configurarla, además cabe destacar que SQLite3 es capaz de mostrar los resultados de una consulta en ocho diferentes formatos: "csv", "column", "html", "insert", "line", "tabs", and "tcl". Podes usar en .mode para lograr estas diferentes salidas.

Bueno, comencemos con la modalidad por defecto en la cual SQLite nos muestra los datos tras una consulta realizada previamente, esta consulta estandart es separada por este símbolo (""), este ejemplo que vamos a realizar tomamos como base la Review I.

Para acceder a la base de datos creada anteriormente

$ sqlite3 prueba.db

Una ves dentro de la misma podemos realizar:

sqlite> .mode list
sqlite>
select * from personal;
1DanyxMaldoandoYYYXXXZZZ
2LaRepaWebZZZXXXYYY
sqlite>


Ahora bien si utilizas ".separator" va a cambiar el modo de separación de la consulta, por ejemplo lo vamos a hacer cambiar por una coma y un espacio ", "

sqlite> .separator ", "
sqlite>
select * from personal;
1, Danyx, Maldoando, YYYXXXZZZ
2, LaRepa, Web, ZZZXXXYYY
sqlite>


Bueno por el momento lo vamos a dejar ahy, de este modo vamos captando la estructura de SQLite3, como decimos un PseudoMotor muy potente y liviano. Será hasta la próxima y muchas gracias por acompañarnos.
Autor: Maldonado Daniel Martin (LaRepaWeb)

sábado, 24 de noviembre de 2007

Gambas - "Hola Mundo!"

Un amigo Johnyx, cumplió con el desafío Gambas de hacer una pequeña aplicación a modo demostrativo utilizando el Lenguaje de Programación Gambas, haciendo el clásico "Hola Mundo!" y bueno me dijo que lo quería compartir con todos ustedes e invitarlos también a su Blog.


Por mi parte Johnyx muchas gracias por compartir este programa, por más chico o grande que sea la aplicación siempre es bueno contar con la iniciativa de aportar a la comunidad. Desde ya como siempre los invito a todos también a compartir sus códigos, enlaces, experiencias enviándome un email a danyx@larepaweb.com.ar

martes, 20 de noviembre de 2007

Gambas [Enlaces - Codigos K - Foro]

Bueno como ya dijimos y estuimos repasando este lenguaje de programación bastante interesante, si te gustó y tenes ganas de profundizar estos temas te invito a estos sitios:


Cuando ya comenzaste a interiorizarte y tenes algunas dudas hacerca de Gambas, lo mejor que podes hacer es recurrir a los foros


Y por ultimo si queres ver la estructuras de algunos programas o algunos codigos de ejemplo

lunes, 19 de noviembre de 2007

10 Lenguajes de programacion que debemos saber

Navegando por algunos site como de costumbre e investigando algunas cosas, me encontré con este post escrito por la gente de RibosoMatic, que me pareció bastante interesante, ojo que alguno de ustedes pueden estar de acuerdo y algunos no con respecto a estos Lenguajes de Programación.

A continuación los menciono y defino, sin embargo el artículo menciona por qué nos conviene aprenderlos.

PHP
Un lenguaje de programación utilizado mayormente para desarrollar servicios web. PHP es un lenguaje de fácil aprendizaje, distribuido en forma gratuita, que permite interactuar con muchos sistemas de gestión de bases de datos.

C#
Lenguaje de programación orientado a objetos, evolución del lenguaje C++, desarrollado por Microsoft.

AJAX (Asynchronous JavaScript and XML)
Técnica de desarrollo web para crear aplicaciones interactivas mediante la combinación de tres lenguajes ya existentes:HTML (o XHTML), DOM y JavaScript, y XML.

JavaScript
Programa escrito en el lenguaje script de Java que es interpretado por la aplicacion cliente, normalmente un navegador (Browser).

Perl
Lenguaje más utilizado para la creación de programas CGI en los servidores web

C
Lenguaje de programación de propósito general de los más usados.

Ruby and Ruby on Rails
Ruby es un lenguaje de scripts para una programación orientada a objetos rápida y sencilla. Ruby on Rails es un framework de aplicaciones web de código abierto escrito en Ruby.

Java
Lenguaje de programación orientado a objetos creado por Sun Microsystem que permite crear pequeñas aplicaciones de todo tipo de envergadura en diferentes tipos de ordenadores y sistemas operativos.

Python
Python es un lenguaje de programación interpretado e interactivo, capaz de ejecutarse en una gran cantidad de plataformas.

VB.Net (Visual Basic .Net)
Lenguaje visual desarrollado por Microsoft, que desciende del lenguaje de programación BASIC.

Gambas y las diferencias con Visual Basic (6.0)

Como ya dijimos desde que comenzamos a hablar de Gambas, que difería mucho con respecto a Visual Basic, ahora aclaremos algunas cosas y terminemos de entender este concepto.

La principal diferencia con respecto a Visual Basic 6.0 es el soporte para orientación a objetos. En Gambas, no existen los arrays de controles -muy populares en Visual Basic- pero dispone de un elemento similar llamado group, que utilizado conjuntamente con arrays de objetos ofrecen resultados análogos.

Gambas añade algunas propiedades nuevas en algunos de sus controles, como la alineación vertical/horizontal en etiquetas, o algunas propiedades gráficas en el elemento Button (Equivalente a CommandButton de Visual Basic).

El acceso a bases de datos es sumamente sencillo y potente. Gambas incluye, al igual que Visual Basic, su propio empaquetador para la distribución de aplicaciones, que permite crear incluso paquetes deb. Los componentes suministrados en Gambas 2.0 son realmente potentes, desde una librería para el manejo de documentos pdf, hasta componentes para imágenes, sockets e informes (equivalentes a Crystal reports u otras herramientas gratuitas alternativas).

Gambas es una excelente y potente alternativa a la programación visual ofrecida en Visual Basic para entornos Linux. Su talón de aquiles actualmente es su escasa documentación.

Review de SQLite - Parte I

En LaRepaWeb, hace unas semana presente estas review de SQLite realmente muy sencillas y bastantes interesantes, nuevamente quería compartirlas con ustedes como para que vallan viendo más solo este Pseudo Motor de Base de Datos.

Vamos a comenzar a hacer un HOWTO hacerca de SQLite, gracias a un amigo Gerardo Antonio Cabero, administrador junto con migo de SQLite-Latino, en donde al termino de este informe les hago la invitación más formal.

Entendido ya el concepto de SQLite vamos a comenzar comenzar con la instalación de la versión 3 de sqlite:
$ sudo apt-get install sqlite3

una ves instalado hagamos algunas pruebas, nos dirijamos hacia algún directorio y ahora a crear una Base de Datos:

$ sqlite3 prueba.db
SQLite version 3.3.10
Enter ".help" for instructions
sqlite> CREATE TABLE personal (
...> id smallint primary key,
...> nombre varchar(25),
...> apellido varchar(25),
...> direccion varchar(25)
...> );
sqlite>


Ahora insertemos algunos datos de la siguiente manera:

sqlite> insert into personal values(1, 'Danyx', 'Maldonado', 'YYYXXXZZZ');
sqlite> insert into personal values(2, 'LaRepa', 'Web', 'ZZZXXXYYY');


Hagamos nuestra primera consulta sobre la tabla "personal"

sqlite> select * from personal;
1|Danyx|Maldoando|YYYXXXZZZ
2|LaRepa|Web|ZZZXXXYYY
sqlite>


para poder salir de la edición por consola

sqlite> .quit


Más adelante voy a estar mostrando algunas opciones que nos brinda SQLite y el manejo de este PseudoMotor formatear salidas, exportar, etc.

Bueno y ahora si para finalizar quería invitarlos a todos aquellos interesados o que simplemente les haya gustado este Pseudo Motor de Base de Datos a visitarnos en
La primera comunidad de habla hispana referente a SQLite.

El código fuente de Windows

Buen este post lo extraje de PuntoGeek, un blog que visito a diario y me pareció muy gracioso proponer el código fuente de Windows, es solo una broma y no es para que se ofendan:

#include “Win30.h”
#include “Win31.h”
#include “Win95.h”
#include “Win98.h”
#include “Win2000.h”
#include “AlgoMas.h”
#include “CodigoAntiguo.h”
#include “NormasDeBillGates.h”
#include “CosasDeRelleno.h”
#include “Monopoly.h”
#define INSTALAR TODO_SIN_EXCEPCION_Y_A_LO_BESTIA
#define CASCAR -5483021548692487811456214478251
static char Escritorio[16000000]; /* 16 Mb */
static char Accesorios[8000000]; /* 8 Mb */
static char Explorer4[4000000]; /* 4 Mb */
static char ProgramasDeUsuario[2000000]; /* 2 Mb */
static char MemoriaLibre[2000000]; /* 2 Mb */


int main() {
while (NoCasque()) {
MostrarMensajeCopyright();
MostrarMensajeNormasBillGates();
DesactivarBotonReset();
BucleParaNoHacerNada();
if (PRIMERA_INSTALACION) {
while (TamanyoDiscoSwap() Ocupar50MbParaDiscoDeSwap();
BucleParaNoHacerNada();
}
EliminarSistemaDeArchivosHPFS();
EliminarCualquierRastroDeOS2();
DeshabilitarInstalacionDeNetscape();
DeshabilitarInstalacionDeRealPlayer();
if (QuedaAlgunRastroSospechoso()) ColgarSistema();
}
MostrarAlgunaCosaBonitaPeroInutil();
MostrarMensajeCopyrightOtraVez();
BucleParaNoHacerNada();
HacerVerQueHaceAlgo();
if (SigueSinCascar()) {
MostrarMensajeCopyrightOtraVez();
BucleParaNoHacerNada();
EjecutarWin31();
if (AunSigueSinCascar()) EjecutarWin30();
BucleParaNoHacerNada_1();
BucleParaNoHacerNada_2();
BucleParaNoHacerNada_3();
BucleParaNoHacerNada_Etcetera();
}
if (UsuarioNoAceptaWindowsComoAlgoUtil()) goto
VETE_A_SABER_DONDE;
if (SeHaDetectadoCache()) DeshabilitarCache();
if (CPU_Rapida()) {
EstablecerEstadosDeEspera(MUCHISIMOS);
EstablecerRaton(VELOCIDAD, MUY_LENTO);
EstablecerRaton(ACCION, DESPLAZARSE_A_SALTOS);
EstablecerRaton(REACCION, A_VECES);
EstablecerTeclado(VELOCIDAD_PARPADEO, MUY_LENTO);
EstablecerTeclado(VELOCIDAD_REPETICION, LENTO);
}
/* printf(”Bienvenido a Windows 3.0?); */
/* printf(”Bienvenido a Windows 3.1?); */
/* printf(”Bienvenido a Windows 95?); */
/* printf(”Bienvenido a Windows 98?); */
/* printf(”Bienvenido a Windows 2000?); */
printf(”Bienvenido a Windows 2001?);
if (CPU != INTEL) {
DeshabilitarRaton();
DesconfigurarTeclado();
ColgarSistema(INDICADOR_MSDOS);
}
else {
MemoriaDeSistema = open(”a:swp0001.swp”, O_CREATE);
while (NoHayaSuficienteEspacioEnDisco()) printf(”Inserte nuevo
disco en la unidad A:”);
}
while (NOS_SALGA_DE_LOS_HUEVOS) {
sleep(5000);
ObtenerEntradaUsuario();
sleep(5000);
ReaccionarAPeticionUsuario();
}
if (ObtenerNumeroAlAzar() != BINGOOOO)
GenerarErrorDeProteccionGeneral();
/* Fin de bucle principal */
}
/* Finalizar sesion */
if (AunNoHaCascadoDelTodo()) {
if (ObtenerOtroNumeroAlAzar() != BINGOOOO) {
MandarExplorerALaMierda();
if (HayAlgoAbierto()) {
Accion = MostrarMensaje(”?Desea guardar los datos?”);
if (Accion == SI) GuardarDatos_JAJAJA();
MandarloTodoAlCarajo();
}
}
printf(”Windows se esta cerrando”);
while (HAYA_PRISA) sleep(5000);
if (UsuarioYaLlegaTardeDondeTeniaQueIr()) printf(”Ahora puede
apagar el equipo.”);
}
return ((int)((long)((float)((double)((re double)CASCAR)))));
}

sábado, 17 de noviembre de 2007

Gambas - Historia e Instalación

Rápidamente comencemos ver cosas interesantes acerca de Gambas con respecto a su Historia. Gambas nació como la primer respuesta a la necesidad de tener un Entorno de Desarrollo Rápido de Aplicaciones lo que común mente conocemos como RAD, además cumple la necesidad de muchos programadores del lenguaje de Microsoft de tener un Lenguaje de Programación sencillo pero para plataformas libres como es el caso de GNU/Linux y *BSD.

A pesar de tener una gran similitud con el lenguaje Visual Basic como ya venimos diciendo, Gambas no es un CLON de éste y en los próximos post vamos a entender y asumir esta afirmación.

Actualmente el desarrollo de Gambas se encuentra en la 2º versión lanzada pero los proyectos generados con otras versiones de la misma son totalmente compatibles con Gambas2, lamentablemente para los programadores que vienen de Visual Basic, todavía no esta la opción de importar los proyectos generados por ese lenguaje de programación y difícilmente funcionaría.

Ahora entendido esto vamos a instalar Gambas en nuestra máquina, les cuento mi experiencia, recién acabo de instalarlo en mi maquina y les comento que tengo instalado Kubuntu 7.04 para los que no lo conoces es un sistema basado en Debian así que la instalación fue muy sencilla:

sudo apt-get install gambas

Ahora bien si posees otro sistema operativo GNU/Linux en el sitio oficial de Gambas les dejo este breve tutorial de descarga e instalación de Gambas para cualquier sistema

Gambas! no es Arte Culinario, es Programación

Bueno a pedido de un amigo Johnyx a partir de ahora vamos a ver este nuevo Lenguaje de Programación llamado Gambas.

Como dijimos Gambas es un Lenguaje de Programación Libre, derivado de BASIC. Tiene como particularidad muy relevante que es muy similar al producto de Microsoft conocido como Visual Basic, Gambas posee una licencia GNU/GPL, aunque desde otro punto de vista.

Al ser muy similar a Visual Basic, nos permite crear rápidamente formularios, botones de comando, cuadros de textos y obviamente enlazarlo con Motores de Base de Datos como MySQL, PosgreSQL o SQLite, y esto lo hace muy particular ya que aporta a la plataforma GNU/Linux un desarrollo de programaicón visual o gráfica muy ágil y rápida.

Esto es solo la introducción de las próximas Review que aremos de Gambas.
Les dejo el enlace al sitio oficial del proyecto Gambas (ingles)

miércoles, 14 de noviembre de 2007

Marcelo Tosatti

Continuando con nuestra sección de Programadores y conociendo un poco mas a personalidades que revolucionaron el mundo de la tecnología y de la Programación, nos encontramos con Marcelo Tosatti.

Marcelo Tosatti es un desarrollador del núcleo Linux. Se convirtió en mantenedor de las series estables del núcleo 2.4 en noviembre del año 2001 cuando tenía tan sólo 18 años, lanzando el núcleo 2.4.16 el 26 de noviembre.

Nació en Curitiba, Brasil y trabajó para Conectiva durante seis años, en ese tiempo se empezó a involucrar en la programación del núcleo. En Julio de 2003 se marchó a vivir a Porto Alegre donde trabajó para la empresa Cyclades Corporation. Desde Mayo del 2006, Marcelo está trabajando para Red Hat.

Sin duda alguna un gran representante de Latino América que supo ganarse un espacio entre las personalidades mas reconocidas tanto del mundo GNU como así tambien en otros ámbitos, hace poco se corría el rumor de estar involucrado en el proyecto OLPC o en proyectos de Laptos baratas.

Referencias Wikipedia

Unas palabras alentadoras para Python

Desde que me inicié en el mundo de GNU/Linux desde siempre me interesaron los lenguajes de programador y de apoco fui entrando y acomodándome con este nuevo sistema y de apoco conociendo estos lenguajes, de PHP hablaremos muy pronto, este es el momento de "Python", cuando lo vi quizás en ese momento no entendía la avanzada estructura que tenia, el paradigma que utilizaba y algunas cosas características del mismo.

Cuando me decidí a programar en Python siempre tuve la duda de pensar "¿Quien programa con este lenguaje?" ya que desde el otro sistema que venía nunca lo había oído y me parecía bastante raro. Como siempre comenzando a entrar en los Foros de consultas e interiorizandome mas con la gente del palo, rápidamente comprendí que era un lenguaje ya establecido en los sistemas GNU, multiplataforma y con gran aceptación en sistemas numéricos y de control y de apoco reducimos la incertidumbre.

Luego llegaron las interfaces y comprender otro nuevo modo de pensar conociendo las librerias QT, GTK, TKinter, NEWt y podemos seguir nombrando las que falta. Pero creo que esto uno le hagarra la mano mas rápido cuando se entiende el Paradigma Orientado a Objetos.

Bueno finalmente, hoy despues de casi 3 años de utilizar GNU y cerca de 2 años de programación les puedo decir que aquellos que les gusta programar y ver cosas muy interesantes no pueden dejar de probar Python, por los siguientes motivos, totalmente multiplataforma, muy facil de aprender su sintaxis, posee una identación propia que la caracteriza y la hace tan linda, tenemos la posibilidad de variar en cuanto a librerias gráficas, existe muchísima documentación en internet, muchos grupos de Usuarios dispuestos a colaborar y algo que es sumamente importante tiene una compatibilidad con muchos de los Motores de Bases de datos libres o comerciales.

Por este y quizas muchisimos motivos mas les recomiendo que utilicen y programen en Python, seguro que aveces les vas a encontrar una que otra limitación, pero siempre fija que tan grande es tu sistema, las prestaciones y las características que vas a tener en cuenta...
Por último si tenes algunas dudas o preguntas sobre Python te dejo este enlace que es un FAQ con preguntas que quizás son de mucha importancia.

martes, 13 de noviembre de 2007

Tarjetas de Referencia - Programación

Gracias a la colaboración de J (Jota) un gran amigo de LaRepaWeb y El CoDiGo K, nos facilitó una herramienta para los programadores y los que estan siempre configurando sistemas, seguro que si te gusta programar y conoces varios lenguajes de programación por lo general se te mesclan las sintaxis de esos lenguajes o por ahy necesitas una ayuda rápida que te saque de apuro, entonces descargate las Tarjetas de Referencia tanto de lenguajes de programación más conocidos como asi tambien de sistemas.


Artículo completo LaRepaWeb

jueves, 8 de noviembre de 2007

PyAr - Python Argentina

Bienvenidos a PyAr - Python Argentina, es el primer mensaje que encontramos en esta comunidad, que tiene como objetivo tal y como lo recalcan: nuclear a los usuarios de Python, de manera de centralizar la comunicación a nivel nacional. Pretendemos llegar a usuarios y empresas, promover el uso de Python, intercambiar información, compartir experiencias y en general, ser el marco de referencia local en el uso y difusión de esta tecnología.

En PyAr además podes encontrar Noticias, Eventos, Listas de Correo, Proyectos, Recursos, Charlas, Tutoriales, Preguntas en Línea y toda una comunidad tratando de promover este excelente lenguaje de Programación [[ Python ]]

Si queres participar de esta comunidad Ingresa a este enlace ...

lunes, 5 de noviembre de 2007

Enlaces y Codigos K de Python

Continuando un poco con la temática de las presentaciones de este lenguaje (Python), les quería dejar algunos enlaces de códigos fuentes que subí a MyGNET, como meto de aprendizaje y profundización.

También les dejo un foro de consulta (LaWebDelProgramador) muy efectivo por la cantidad de preguntas y respuestas que se fueron agregando, en este proceso seguro que les va a ser realmente muy útil.



Como siempre, les recomiendo que bajen estos pequeños códigos fuentes e intenten ejecutarlos en sus máquinas, son muy simples y seguro van a poder aprender su sintaxis rápidamente.

domingo, 4 de noviembre de 2007

Documentación y Guía de Aprendizaje de Python

Desde hace unos años, conocí este maravilloso lenguaje de programación y desde hace unos meses que entre de lleno a programar en algunos proyectos, recuedo que en esos momento de incertidumbre me hicieron llegar estos enlaces que realmente son muy útiles a la hora de entender su sintaxis y la forma tan particular de programar.

Por eso les dejo en esta oportunidad dos maravillosos enlaces para aprender de manera muy rápida y ágil.

Documentación de Python

Guía de Aprendizaje de Python

(escrito por el mismiso Guido Van Rossum)

viernes, 2 de noviembre de 2007

Características de Python

En primer lugar les comento que Python es un Lenguaje de Programación multiparadigma, lo cual significa que no trata de forzar a los programadores a adoptar un determinado modelo de paradigma o estilo sino que permite varios. Entre ella tenemos Programación Orientada a Objetos, Programación Estructurada, Programación Funcional y la Programación orientada a Aspectos.

Python utiliza tipado dinámico de datos (puede tomar una variable diferentes tipos de datos durante la ejecución del programa) y referencia counting para el manejo de memoria. Otra característica importante de Python es la resolución dinámica de nombres, lo que enlaza un método y un nombre de variable durante la ejecución del programa.

Otro objetivo del diseño del lenguaje era la facilidad de extensión. Nuevos módulos se pueden escribir fácilmente en C o C++. Python puede utilizarse como un lenguaje de extensión para módulos y aplicaciones que necesitan de una interfaz programable. Aunque el diseño de Python es de alguna manera hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia del Lisp como puede ser Scheme.

Articulo base Wikipedia

lunes, 29 de octubre de 2007

Richard Stallman - Parte IV - La GPL

Retomando las obras escritas por este personaje tan reconocido del mundo de la Informática nos encontramos con una licencia que el la llamo GPL.

La GPL (Licencia Pública General) es una licencia creada por la Free Software Fundation entre los cuales integrantes y fundador quien más si no es el gran RMS a mediado de los '80, dicha licencia esta orientado a proteger la libre distribución, modificación y uso del software.

Esta obra fue una de las primeras escritas por él y la cual tubo mucha repercusión e incluso mucho del software que hoy en día conocemos y utilizamos está protegida por esta licencia. Tanto fue la repercusión que hace unos meses este documento se reescribió para formar la GPLv3 en donde toma otros puntos de vista en relación al Software Libre pero tomando como punto clave la libertad del usuario y evitar la apropiación de una aplicación que este amparada por la licencia.


Nuevamente vemos otro éxito y obra intelectual de esta persona, según el dice "Yo no inventé nada, las grandes sociedades trabajan en libre colaboración ..." esta filosofía la lleva a todos los contextos de la vida, ayudando y promoviendo la ayuda en muchos aspectos.

viernes, 26 de octubre de 2007

¿Que es SQLite?

Segun D. Richard Hipp, SQLite son librerias escritas en C que implementa un motor de base de datos para SQL92 empotrable.
Segun Wikipedia lo define de la misma forma, Pero Segun un gran amigo de Salta e integrande de SaltaLUG (Gerardo Cabero) lo define de la siguiente manera, SQLite permite dar otro tipo de enfoque a las base de datos , y dejar de ser Libreria para convertirse en PseudoMotor - Aparenta ser un motor pero no lo es -

Esta información la encontre en: SQLite-Latino y el grupo de SQLite

Este Pseudo motor de Base de Datos, actualmente estoy armando una Review para mostrar algunas operaciones básicas y aprender a manejarlo mejor y ser más practico.

domingo, 21 de octubre de 2007

Hablando de Linux

A Linux, seguramente pensaste que era la denominación de un Sistema Operativo del estilo UNIX, pero es solo la denominación del Núcleo de este Sistema Operativo, el verdadero nombre es GNU/Linux, nombre GNU y Corazón Linux.

Los primeros sistemas Linux se originaron en 1992, al combinar utilidades de sistema y librerías del proyecto GNU con el núcleo Linux, completando un sistema también conocido como GNU/Linux. Desde finales de 2000 Linux ha obtenido un aumento en el apoyo de diversas empresas multinacionales del mundo de la informática, tales como IBM, Sun Microsystems, Hewlett-Packard y Novell. Actualmente Linux es comercializado en computadores de escritorio y portátiles por Dell y Lenovo, además hay un grupo numeroso de compañías establecidas en Taiwan que planean hacer lo propio.

Respecto a algunos datos propio de Linux: Su creador fue el magnifico y tan conocido Linus Torvalds tomando como base a los sistemas UNIX.

Entonces, el núcleo creado por Linus Torvalds, quien se encontraba por entonces estudiando en la Universidad de Helsinki, llenó el hueco final que el sistema operativo GNU exigía.

Subsecuentemente, miles de programadores voluntarios alrededor del mundo han participado en el proyecto, mejorándolo continuamente. Torvalds y otros desarrolladores de los primeros días de Linux adaptaron los componentes de GNU y de BSD, así como de otros muchos proyectos como Perl, Apache, Python, etc. para trabajar con el núcleo Linux, creando un sistema operativo completamente funcional procedente de muchísimas fuentes diferentes, la mayoría libres.

Creo que de eso se trata la filosofía del Software Libre, una filosofía de colaboración, contribución y ayuda. Todo un modo de vida!!!

sábado, 20 de octubre de 2007

Señores de pie, Richard Matthew Stallman!!!!

Continuando con esta sección de Programadores y conociendo aquellas personas que marcaron un antes y un después a través de sus obras tengo el agrado de presentarles al señor Richard Matthew Stallman.

Entre los mayores logros de esta personalidad nos encontramos con el famoso editor de Texto Emacs, el compilador GCC, el depurador GDB y para no quedarse corto, el creador y fundador del Movimiento del Software Libre y el proyecto GNU.

Pero su influencia es mayor por el establecimiento de un marco de referencia moral, político y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución de software privativo. Es también inventor del concepto de Copyleft (aunque no del término), un método para licenciar software de tal forma que éste permanezca siempre libre y su uso y modificación siempre reviertan en la comunidad.

En esta oportunidad la entrega de este maravilloso programador va a ser por partes, para que no se nos pase un solo detalle de sus creaciones, su filosofía, sus obras y todo el conocimiento compartido.

Hablar de Stallman es hablar de GNU, de libertad para los usuarios, de comunidad y de igualdad...

jueves, 18 de octubre de 2007

VFox Pro y algunos Enlaces

Bueno ahora me toca darle algunos enlaces referenciales que le sean útiles a la hora de poder programar bajo este lenguaje, como siempre tratando de poner enlaces de documentación, codigos fuentes y algunos programitas interesantes.

Bueno los enlaces escogidos para esta oportunidad son:

MyGnet.com - Click aqui
LaWebDelProgramador - Click aqui
PortalFox - Click aqui

bueno que le sea de su agrado y le saquen el mejor de los provechos.

martes, 16 de octubre de 2007

Visual Fox Pro (El comienzo)

Visual FoxPro proviene de FoxPro, que a su vez deriva de FoxBASE, creado por Fox Technologies en 1984; inicialmente un compilador de dBase, acabó superándolo y con Clipper, convirtiéndose en una de las estrellas de los lenguajes xBase. Fox Technologies fue adquirido por Microsoft en 1992.

Las primeras versiones que antes no eran visuales eran compatible y multiplataforma pero cuando se le antepuso la palabra Visual solo se lo redujo para Windows y Mac.

Visual FoxPro 6.0, publicado en 1999, no supone un cambio radical respecto de la anterior versión sino únicamente una mejora en sus diversas funcionalidades y una adaptación al mundo internet y al mundo de los objetos. Esta versión hace más atractivo a los desarrolladores el tratamiento de los datos en los entornos COM. Es un paso más en la evolución de este producto desde un entorno de aplicaciones monousuario o de redes pequeñas centradas en los datos hacia una herramienta orientada a objeto diseñada para la construcción de la lógica del negocio en los entornos multi-tier con una fuerte orientación hacia los tratamientos intensivos de datos en Internet. Pese a su relativa antigüedad, es hoy todavía ampliamente utilizado en grandes empresas (por ej., la compañía de seguros Mapfre) por su estabilidad.

Visual FoxPro 7.0, publicado en 2001, supuso su salida de Visual Studio, pues aunque en un principio se pensaba incluir a Fox en .NET, no era posible sin romper con la herencia de anteriores versiones. Esta versión incorporó por primera vez el IntelliSense, y se mejoró el manejo de arrays, acercándolo al de cursores.

Hasta este punto la gente que usa GNU/Linux ya ha podido emular Visual FoxPro 6.0 y 7 atraves de Wine.

Como les comentaba anteriormente en otros post, Este lenguaje de programación es hasta ahora muy utilizado en las empresas, gobiernos, reparticiones, etc. En donde tiene sus pequeñas aplicaciones Desktop. Actualmente Microsoft con el lanzamiento de .NET se olvido completamente de su desarrollo practicamente, si bien VFP se encuentra en la Versión 9 no se habla mucho de sus sucesores ni nada por el estilo

martes, 9 de octubre de 2007

Visual Fox, Nada corre como un Zorro!

Entrando un poco en detalles con este lenguaje de programación les voy a mostrar una Review del mismo y tratar de entender una programación que en su momento causo una revolución.

Visual FoxPro es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.

Como características tenemos que Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web.

  • Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
  • Flexibilidad para crear todo tipo de soluciones de bases de datos.
  • Lenguaje de programación Orientado a objetos.
  • Utilización de sentencias SQL en forma nativa.
  • Poderoso manejo de vistas y cursores y control completo de estructuras relacionales.
  • Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
  • Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.
  • Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reports en formato XLM.
  • Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft

Bueno esto fue tan solo un adelanto, ya que en posteriores Post voy a publicar más cosas interesantes, como surgió, enlaces que te pueden ayudar, codigos para descargar y muchas otras cositas...

domingo, 7 de octubre de 2007

Microsoft SQL Server

Microsoft SQL Server es un sistema de gestión de Bases de Datos relacionales (SGBD) basada en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas que a continuación se pueden describir.

Entre sus características figuran:

* de transacciones.
* Escalabilidad, estabilidad y seguridad.
* Soporta procedimientos almacenados.
* Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
* Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
* Además permite administrar información de otros servidores de datos

Microsoft SQL Server, al contrario de su más cercana competencia, no es multiplataforma, ya que sólo está disponible en Sistemas Operativos de Microsoft.

Hoy en día mucha de las aplicaciones que se están utilizando se encuentran bajo este motor de Base de Datos. Microsoft SQL Server no es multiplataforma por lo cual solo es posible instalarlo en máquinas con el sistema operativo Microsoft Windows y adquiriendo una licencia de uso paga.

martes, 2 de octubre de 2007

Qué es la Programación Segura?

La programación segura es una rama de la programación que estudia la seguridad del código fuente de un software cuyo objetivo es encontrar y solucionar los errores de software, esto incluye: Utilización de funciones seguras para proteger de desbordamientos de pila, declaración segura de estructuras de datos, control del trabajo con el flujo de datos, análisis profundo de otros errores de software mediante testeos del software en ejecución y creación de parches para los mismos, diseño de parches heurísticos y metaheurísticos para proveer un cierto grado de seguridad proactiva, utilización de criptografía y otros métodos para evitar que el software sea crackeado.

Esto concepto además de seguir directrices de programación, acopla o adjunta la seguridad para esta actividad.

Programación Extrema

La programación extrema o eXtreme Programming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es la más destacada de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.Se puede considerar la programación extrema como la adopción de las mejores metodologías de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto, y aplicarlo de manera dinámica durante el ciclo de vida del software.

Las características fundamentales del método son:

* Desarrollo iterativo e incremental: pequeñas mejoras, unas tras otras.

* Pruebas unitarias continuas, frecuentemente repetidas y automatizadas, incluyendo pruebas de regresión. Se aconseja escribir el código de la prueba antes de la codificación. Véase, por ejemplo, las herramientas de prueba JUnit orientada a Java y DUnit orientada a Delphi e inspirada en JUnit.

* Programación en parejas: se recomienda que las tareas de desarrollo se lleven a cabo por dos personas en un mismo puesto. Se supone que la mayor calidad del código escrito de esta manera -el código es revisado y discutido mientras se escribe- es más importante que la posible pérdida de productividad inmediata.

* Frecuente interacción del equipo de programación con el cliente o usuario. Se recomienda que un representante del cliente trabaje junto al equipo de desarrollo.

* Corrección de todos los errores antes de añadir nueva funcionalidad. Hacer entregas frecuentes.

* Refactorización del código, es decir, reescribir ciertas partes del código para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento. Las pruebas han de garantizar que en la refactorización no se ha introducido ningún fallo.

* Propiedad del código compartida: en vez de dividir la responsabilidad en el desarrollo de cada módulo en grupos de trabajo distintos, este método promueve el que todo el personal pueda corregir y extender cualquier parte del proyecto. Las frecuentes pruebas de regresión garantizan que los posibles errores serán detectados.

* Simplicidad en el código: es la mejor manera de que las cosas funcionen. Cuando todo funcione se podrá añadir funcionalidad si es necesario. La programación extrema apuesta que es más sencillo hacer algo simple y tener un poco de trabajo extra para cambiarlo si se requiere, que realizar algo complicado y quizás nunca utilizarlo.

Articulo Completo Wikipedia

domingo, 30 de septiembre de 2007

Retomando AWK y algunos enlaces interesantes

Nuevamente retomando este lenguaje de programación AWK les quería dejar algunos enlaces que utilicé para introducirme más en este tema, son muy básicos y para la gente que le gusta programar y es utiliza la plataforma GNU/Linux les va a venir muy bien conocerlos y tenerlos en la mira.

Redoval.com
Club.Telepolis.com
Linux.org.uy

Ojala que lo disfruten a estos link y que aprovechen esta utilidad, tutoriales, documentos, etc, totalmente libres para cualquier persona.

viernes, 28 de septiembre de 2007

Arquitectura de Programación en 3 Capas

Este tipo de arquitectura en los software es la que esta siendo día a día mas conocida. La programación por capas es un estilo de programación en la que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño, un ejemplo básico de esto es separar la capa de datos de la capa de presentación al usuario.

La ventaja principal de este estilo, es que el desarrollo se puede llevar a cabo en varios niveles y en caso de algún cambio sólo se ataca al nivel requerido sin tener que revisar entre código mezclado. Un buen ejemplo de este método de programación seria: Modelo de interconexión de sistemas abiertos

Permite distribuir el trabajo de creación de una aplicación por niveles, de este modo, cada grupo de trabajo está totalmente abstraído del resto de niveles, simplemente es necesario conocer la API que existe entre niveles.

En el diseño de sistemas informáticos actual se suele usar las arquitecturas multinivel o Programación por capas. En dichas arquitecturas a cada nivel se le confía una misión simple, lo que permite el diseño de arquitecturas escalables (que pueden ampliarse con facilidad en caso de que las necesidades aumenten).

El diseño más en boga actualmente es el diseño en tres niveles (o en tres capas).

Describiendo los niveles que aparecen en la figura tenemos:

1.- Capa de presentación: es la que ve el usuario (hay quien la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la información y captura la información del usuario dando un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica únicamente con la capa de negocio.

2.- Capa de negocio: es donde residen los programas que se ejecutan, recibiendo las peticiones del usuario y enviando las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) pues es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de él.

3.- Capa de datos: es donde residen los datos. Está formada por uno o más gestor de bases de datos que realiza todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.

lunes, 24 de septiembre de 2007

Netbeans 6.0 – El IDE para nosotros

Acabo de ser calificado para el NetBeans IDE 6.0 Community Acceptance Testing program (NetCAT) y antes de dar algún feedback, pensé... en compartir algo de información sobre NetBeans 6.0. Que es lo que se viene y como éste ha mejorado y como puede llegar a convertirse en el IDE para todos los lenguajes de programación

Cualquier programador o programadora podrá decirte que tanto ama a su IDE, ¿cuanto tiempo de sus vidas han pasado mirando la pantalla de su IDE?, y cuanto el IDE es parte de su exploración creativa (programación)?. En estos días con tanto lenguajes de programación, un desarrollador en mi organización utiliza por lo menos tres IDEs o editores WYSIWYG. Usamos Zend, NetBeans, Visual Studio 6, VS2005, Dreamweaver, Eclipse, MS Expression Web, Anjuta, Kdevelop... y aun así estoy seguro que estoy olvidando alguno por allí. Ustedes ven a lo que me refiero cuando digo que hay trillones de IDEs.

Desde entonces, he estado programando muchísimo en Java, NetBeans ha estado conmigo desde la versión 4 y siempre he creído que este IDE promete. Inicialmente pensaba que Eclipse era mejor. Pero creo que NetBeans 5.5 fue impresionante y la 6.0 va a aplastar a muchos otros IDEs que andan por allí. (...), NetBeans 6.0 no es solo un IDE para Java es muchísimo mas.... es una plataforma también, pero yo lo veo como un IDE para muchos lenguajes. Las plantillas para construir blogs de Ruby on Rails es solo un ejemplo de que tanto el equipo de NetBeans 6.0 esta intentando convertirlo en un all-language IDE.

Algunas de las nuevas características de Netbeans 6.0 son las siguientes:

1.) Mejoras en el Code Editor:
a.) Completación de Código, mas rápido e inteligente – Mostrado de opciones & métodos mas rápido y mejorado.
b.) Highlighting – variables comunes ahora son resaltadas

2.) Soporte de Lenguaje
a.) Soporte de JRuby/Ruby/Ruby on Rails – Excelente plantilla, auto-estructuración de carpetas. Muy buen depurador de Ruby. Una linda edición de archivos y highlighting RHTML.
b.) Mejorada la edición de Javascript y CSS -A pesar de que Dreamweaver es mejor, éste ha mejorado mucho a comparación de versiones anteriores.
c.) Soporte de lenguaje Schielmann – Es una tecnología que permite a cualquiera agregar soporte a nuevos lenguajes. Plugins para Php y Jython se encuentran disponibles.
d.) Soporte de C/C++: Increíblemente mejorado el soporte para programar en C/C++. Las librerías son fácilmente accedidas y también tiene una muy buena edición de código

3.) Interfaz Gráfica de Usuario (GUI) Swing:
a.) Aplicaciones de Base de Datos Swing – Probablemente la característica mas impresionante de NetBeans 6.0. Genial para hacer RAD para gente que quiere realizar rápidamente una aplicación de base de datos.
b.) Beans binding: Ahora puedes enmarcar beans y controlar su comportamiento desde la GUI. No necesitas el BDK (Beans Developement Kit) como un GUI para ver la edición del comportamiento de las beans y sus propiedades.
c.) Swing Application Framework (JSR 296): Espectacular soporte de aplicación de estado guardado. El estado de la aplicación es guardado por defecto. No necesitas preocuparte por el tamaño de la ventana de tu aplicación. Esta volverá con el mismo tamaño que tenia la ultima ves que la usaste, y para todo eso no se necesita escribir ni una sola linea de código, NetBeans lo hace por vos.

4.) Profiling:
a.) Profiler Integrado- La herramienta de profiling con la que Netbeans es elegante y perfecto. Tal ves puedas compararla con LaodRunner, pero este hace mas cosas en forma perfecta.

5.) Web & Java EE:
a.) Mejorado Visual Web (JSF): Después de que Sun decidiese que Studio Creator será netBeans, verás que no hay mejor herramienta para hacer aplicaciones web JSF que netBeans 6.0. Simplemente arrastra y tira los componentes, escribe algo de código de lógica de negocios como EJBs y tendrás una aplicación web bien hecha.
b.) Soporte para AJAX-habilitado componentes JSF.
c.) Muy buen editor de Javascript, con depurador de error, no visto en ningún otro editor WYSISWYG. Soporte CSS ha sido mejorado.
d.) Brillante administrador de flujo de aplicación Web. Ahora puedes realizar buenos diseños para páginas de flujo en netBeans 6.0.

6.) Soporte Java Mobility:
a.) Ningún otro IDE J2ME/Java ME tiene la facilidad de uso y el rápido drag-drop MIDlet developement como el de netBeans. Rápido y con características enriquecidas. Ahora puedes hace diagramas de flujo. Diseñar aplicaciones móviles nunca fue mas fácil.
b.) Soporte para APIs: JSR-172 stub compiler, muy buen soporte JSR-226 SVG
c.) Constructor de Juegos: fácil empaquetado permite buenos diseños de pantallas de juego, y sprites.

7.) SOA:
a.) Editor Gráfico WSDL: ¿No amamos todos la interoperabilidad de documentos WSDL? Pero odiamos el binding. NetBeans tiene un excelente herramienta visual para hacer todo el binding por vos.
b.) Edición fácil de transformación en editor XSLT.
c.) Mejorada interoperabilidad con .Net a través de WSIT.

8.) UML:
a.) Generación de código mejorado: Menor diferencia en tus diseños y códigos.
b.) ¿No aman los arquitectos el diseño de diagramas? Hacerlo desde el IDE es solo un favor. Brillantes mejoras en la edición de UML, a pesar de que algunas herramientas hace un mejor trabajo, es aun una gran característica para tener en tu editor.

9.) Miscelanea:
a.) Mejorado dibujo en la plataforma del API.
b.) Un nuevo lexer parece hacer de NetBeans un aún mas rápido editor de código.

Escrito originalmente por Saptarshi Purkayastha.
Gracias por la traducción Alejandro Castro y por compartir esta información con todos.
Articulo Completo: http://sunnytalkstech.blogspot.com/2007/09/netbeans-60-ide-to-own.html

Entradas populares