viernes, 26 de diciembre de 2014

Mi 2014

Hola a todos, hoy les quiero contar un poco lo que fue mi 2014.

Este año comenzo con muchos obstáculos por saltar y muchas metas por cumplir, se que no eh podido cumplir todas las metas, pero las principales gracias a dios si las pude cumplir :).

En lo personal crecí muchisimo :), y lo unico que les puedo contar es que el amor que nos tenemos con mi señora se duplico :).

En lo profesional, arranque el año Trabajando en Accenture, una empresa donde aprendí muchisimo, fue mi primer trabajo en el ambito laboral, arranque dentro de Accenture trabajando en c++ haciendo servicios web en Tuxedo para Movistar España, una gran experiencia, luego pase a un proyecto web, la www de personal (www.personal.com.ar) ahí seguí aprendiendo muchisimas cosas del mundo web y de Vignette (aunque no me guste mucho), tecnologías del back-end y del front-end :), y mis últimos meses estuve en un proyecto interno de Accenture, en ese proyecto aprendí mucho de como trabajar en equipo y que cosas no tengo que hacer cuando tengo a gente a cargo XD, aprendí como un equipo tiene que tirar y laburar a la par y la organización de la misma.

Luego gracias a dios pude cambiar de trabajo y entre a trabajar en el HSBC Banck (Mediante a Tecnosoftware), ahí conocí a una gran persona, ahí conocí a Gastón alvarez, para mi esa persona es lo que yo llamo Hacker, personas con una gran inteligencia y que cualquiera, si mantiene una charla de 10 minutos aprende cosas maravillosas, él re vivió en mi la pasión por el desarrollo y las ganas de incursionar en nuevos mundos de la informática, hoy en mi trabajo actual lo extraño mucho... ;), espero poder volver a compartir una charla con él. Otra persona interesante fue Nacho XD ese es un loco que me dejo muchas lecciones de la vida, Alan otra persona que me tuvo mucha paciencia jaja en fin, muchas personas de las cuales aprendí mucho en HSBC :).

Actualmente llevo 3 meses trabajando en despegar.com, estoy mas que chocho, lugar donde hay mucha gente que sabe y no es solo eso, actualmente estoy trabajando con tecnologías de punta, con desafíos constantes y aprendiendo mucho. :), actualmente puedo hablar de Agustin y de Lucas, dos personas que saben Bocha, Otra persona que puedo mensionar es Pablo, aunque no hablo mucho con el se nota que sabe... y la charla que dio para la comunidad de JavaScript me dejo anonadado XD, El equipo entero con el cual trabajo me deja con boca abierta, y eso, hace que sea un gusto estar trabajando con ellos, hoy deje de ser aquella persona que notaba cosas malas hechas en los proyectos que participaba, a una persona que aprende como se tienen que hacer bien las cosas :).

En cuanto a mi participación en el GDG (Google Developers Groups), fue un excelente año, hoy soy Manager del GDG La Plata, tratando de levantar la comunidad en La Plata, volví a participar en el DevFest en Buenos Aires, Conocí a Diego (Manager del GDG La Plata), una excelente persona, me hice de nuevos amigos y conocidos :), Participar en esta comunidad es lo mejor que me paso en cuanto a lo profesional, constantemente estoy conociendo a personas con un dominio de las tecnologías que da envidia jaja ojo de la buena, aquella que te contagia esas ganas de seguir aprendiendo, personas que alientan a uno a crecer constantemente y que ayudan a uno a dejar de tener los miedos al cambio, a esos cambios que nos ayudan en diferentes aspectos.

Este año fue un excelente año para mi, y la verdad que estoy super agradecido a dios y a mi querida virgen de Urkupiña por el gran año que me dieron.

Debajo les dejo los resúmenes del DevFest 2013 y 2014.

Felices fiestas a todos y les deseo un excelente 2015 :) Happy Hacking };)

DevFest 2013


DevFest 2014


lunes, 1 de diciembre de 2014

Repaso y cosas a tener en cuenta con archivos en pascal

Hola a todos, hoy vamos a repasar algunos conceptos y mencionar algunas cosas que hay que tener en cuenta a la hora de trabajar con archivos.

Marca de fin de Archivo: Todos los archivos tienen una marca de fin de archivo EOF y para consultar si estamos en el fin de archivo tenemos la sentencia eof(nombre_logico). Este nos retorna true si es que estamos en el fin del archivo.

Control de Tamaño de Archivo: Para controlar la cantidad de elementos del archivo tenemos la sentencia filesize(nombre_logico), que nos retorna un entero con la cantidad de elementos que guardamos en el archivo.

Control de posición dentro del Archivo: Tenemos una sentencia que nos retorna la posición actual del puntero (descriptor) , este es la variable que contiene la referencia lógica de nuestro archivo. La sentencia es la siguiente: Filepos(nombre_logico),  y esta nos retorna un valor de 0 al tamaño del archivo.

Ubicación física en alguna posición del archivo: Con esta operación nos podemos posicionar en cualquier lugar del archivo para leer, modificar cualquier elemento o agregar nuevos elementos, la sentencia es: seek(nombre_logico, posición), por ejemplo podemos usar esta función para pararnos al final del archivo de la siguiente forma: seek(nombre_logico, filesize(nombre_logico)).

Algunas cosas que debemos recordar es que cuando leemos un dato del archivo este puntero al archivo (nombre_logico) avanza un lugar en el archivo y cuando escribimos pasa lo mismo, por lo cual no pensemos que se queda en el mismo lugar, si no mas bien avanza una posición en ambos casos.

Por otro lado comentarles que todas estas instrucciones tienen sus equivalentes en otros lenguajes, por lo cual son facilmente trasladables a otros lenguajes.

Por ahora es todo, en los proximos post comenzaremos con la algoritmia básica sobre archivos.


Saludos y Happy Haking } ; ) .

domingo, 30 de noviembre de 2014

Crear, Cargar, Leer y Modificar Archivos

Hola a todos, hoy les voy a dejar un código donde se muestra como crear, cargar, leer y modificar los datos de un archivo en pascal.

Recuerden que este código lo pueden compilar y funciona perfectamente. También recuerden que las explicaciones de los mismos están como comentarios en el código.

domingo, 16 de noviembre de 2014

Buffers de Lectura y Escritura en Archivos

Antes de comenzar a explicar como movernos dentro de los datos de un archivo, tenemos que entender como funcionan los buffers de lectura/escritura del Sistema Operativo.

Debido a los tiempos de acceso de la RAM y del Disco Rigido, se busco una forma optima de obtener los datos, lo que se hace es leer de a bloques grandes del disco y estos datos se guardan temporalmente en memoria RAM.

Esta lectura se dispara con la petición de obtención de un dato en disco, y como se dijo, junto a ella se trae mas datos (Un Bloque), ya que es muy probable que la siguiente lectura el dato a obtener esté continua a la anterior, y por ello la siguiente vez que se requiera un dato, este no lo buscara en el disco, si no que ya estará en RAM por lo cual se ahorra mucho tiempo de espera al obtener el dato.

Pasa lo mismo con la escritura, es mas rápido escribir un bloque entero de memoria que pequeñas partes del mismo, por ello también se cuenta con un bloque para las escrituras, donde se van almacenando los datos hasta que el programa se cierre o el bloque se llene (también podemos indicar al Sistema Operativo desde el programa que escriba el buffer en disco cuando mas lo creamos conveniente).

Resumiendo un poco, recordemos que entre el disco rígido y nuestro programa vamos a tener un buffer (Estos son registros en RAM) y que gracias a ello tenemos una mejora en la performance de nuestras lecturas y escrituras.

Saludos a todos :) Happy Hacking } ; )

Archivos, Operaciones Básicas, Crear, Abrir y Cerrar

Hola a todos, hoy les vengo con las operaciones básicas para poder comenzar a trabajar con archivos, lamentablemente (para mi que me gustan otros lenguajes) voy a tener que usar pascal ya que la cátedra lo dicta con ese lenguaje.

Abajo dejo el código con los comentarios necesarios para comprender todo lo necesario para comenzar a trabajar con los archivos.

sábado, 15 de noviembre de 2014

Formas de Acceso a la Información de un Archivo

Hola a todos, hoy les vengo con las formas que tenemos de acceder a un archivo.

Existen 3 formas de acceder a un archivo, y estas son:


  1. Secuencial: El acceso a los datos es secuencial, dicho de otra forma, se accede a los datos desde el principio hasta el final, uno tras el otro.
  2. Secuencial Indizado: El acceso a los datos se realiza según algún criterio de ordenación, sin tener en cuenta el orden físico de los datos. (Esto se realiza mediante el uso de indices en los archivos), cuando utilizamos esta forma de acceso vamos a notar que después de ingresar un nuevo dato, al recuperarlo, este estará ordenado.
  3. Directo: Conociendo las características de un dato se puede obtener el mismo con un solo acceso, mas allá de su orden físico o lógico predeterminado.
A partir de ahora viene lo mas lindo, que es hacer código XD.

En los próximos post, va ir acompañado de la teoría un código ejemplo del mismo en pascal, ( si lo se pascal :(, no queda de otra, la cátedra lo usa para dictar esta materia ), pero para los que les guste otro lenguaje, voy a crear un repo en githup donde iré poniendo estos mismos ejemplos en otros lenguajes de programación, de esta forma yo practico esos otros lenguajes ( También los aprendo ) y a mas de uno le servirá para aprender un lenguaje nuevo :)


Saludos a todos, Happy Haking } ; )

Administración de Archivos

Cuando trabajemos con archivos, nos vamos a encontrar con dos tipos de administración de archivos.

Estos dos tipos de administración se basan en su visión y estos son:


  1. Visión Física: Este es el archivo que se encuentra físicamente en el disco.
  2. Visión Lógica: Este es el archivo utilizado desde el algoritmo.
Como ocurre toda la magia?

Como primer capa de administración los archivos físicos tienen a los controladores de los discos rígidos, y son estos controladores quienes crean, modifican y eliminan a los archivos físicos directamente.
Como segunda capa de administración a los archivos físicos se tiene a los Sistemas Operativos, estos son los que dan una capa de abstracción al uso de los archivos. Estos nos simplifican la manipulación de archivos. Como parte de su abstracción dan al desarrollador un serie de instrucciones para su fácil interacción con los mismos.

En la capa de administración Lógica tenemos a los distintos lenguajes de programación, estos definen un archivos lógico ( Variable ) que es inicializado por el Sistema operativos, esto se realiza mediante una instrucción que enlaza el archivo lógico con el archivo físico. Esta es la forma que tenemos de indicarle al sistema operativo que cambios queremos que realice en el archivo físico.

Cada lenguaje tiene su propia forma de enlazar el archivo lógico con el físico, en algunos de ellos nos vamos a dar cuenta cuando hace el enlace y en otros no, ya que nos abstraen un poco mas el proceso de manipulación del archivo.


Bueno por el momento esto es todo :)

Saludos y Happy Haking } ; )

lunes, 10 de noviembre de 2014

Archivos

Hola a todos, lo que vamos a ver ahora es el uso de archivos, la idea es ir entendiendo como se fue generando de a poco la necesidad de construir lo que hoy conocemos como sistemas de base de datos. Comencemos :)

Todo esto se inicio con la necesidad de persistir los datos que manipulamos en nuestra computadora, viendo que si bien , durante una sesión en la computadora estos datos persistían en la RAM, estos dejaban de existir cuando reiniciábamos la computadora, y eh! ahi el primer problema, ¿Cómo persistir nuestros datos mas allá de una sesión?, la solución fue almacenarlo en archivos en medios de almacenamiento permanente ( o secundario), como son los Discos Rígidos.

Bien pero que es un archivo?

Según Wikipedia : Un Archivo es un conjunto de bits que es almacenado en un dispositivo. Leer completo Aquí.

Según el libro que leo: Un Archivo es una colección de registros que abarcan entidades con un aspecto común y originadas para algún propósito particular.

Para mi un archivo es un conjunto de datos relacionados entre si bajo un objetivo común, ordenados homogéneamente.

Otra cosa que debemos entender es la diferencia que existe entre la RAM y los dispositivos secundarios; esta diferencia radica básicamente en dos aspectos:


  1. Capacidad: La Memoria RAM tiene un espacio limitado y por lo general los datos se procesan en ella mientras el programa este en funcionamiento, y cuando este se cierra se persisten los datos en una memoria secundaria ( como los discos rígidos).
  2. Tiempos de Acceso: Los dispositivos de almacenamiento secundario por lo general son mas lentos que la memoria RAM, y es por ello que no se trabaja directamente sobre estos medios de almacenamiento. Ya se que mas de uno estará diciendo que actualmente las memorias de estado solido, como los pen drive tiene un acceso casi igual a las RAM y con ellas se pueden alcanzar una velocidad semejante a las RAM, pero lo que no se toma en cuenta ahí es que estos medios son muy caros y que a nivel usuario tal vez son precios razonables pero cuando hablamos de grandes volúmenes de datos estos gastos por ahi no se justifican, ya que tendríamos que tener dispositivos de almacenamientos de estado solido del orden del tera byte.( de esto seguiremos hablando en post posteriores).
Bueno ya dimos el punta pie para iniciar con la parte mas linda de esto que es entender el porque y el como fue evolucionando el concepto de base de datos, ademas de que ya se acerca mas la parte que comenzar a tirar código que lo que mas me gusta XD.

Saludos a todos y Happy Haking } ; )

martes, 4 de noviembre de 2014

Categorías de usuarios de base de datos

Hoy les voy a hablar de un tema muy corto, definir los tipos de usuarios que pueden interactuar de forma directa o indirecta con una base de datos. Esto es esencial ya que el uso de una base de datos no solo se restringe al ámbito Informático.

Estos usuarios se clasifican en:


  • Administrador de BD: Este usuario es el que define el esquema, los permisos de quienes van a acceder a la base de datos, definir las restricciones de integridad para mantener la consistencia de datos, es el que interactúa directamente con el SGBD (Sisema de Gestión de Base de Datos).
  • Programadores de Aplicaciones: Son los informáticos que desarrollan los sistemas de Software.
  • Usuarios sofisticados: Usuarios que realizan consultas a la base de datos, mediante un lenguaje de consultas (LMD), Por lo general estos usuarios son del ámbito informático.
  • Usuarios especializados: Estos usuarios por lo general desarrollan aplicaciones no tradicionales ( Sistemas Expertos).
  • Usuarios Normales: Estos son los usuarios finales de toda aplicación de software, estos interactuan de forma indirecta con la base de datos.

Estas son las distintas categorías de usuarios que podemos ver en entornos de base de datos.

Bueno estos post que fui haciendo eran mas para ponernos en contexto en el mundo de las bases de datos, espero que de aquí en mas los siguientes post sean mas prácticos y nos vayan ayudando a entender que hay desde los cimientos de una base de datos hasta conocer que es lo vemos cuando interactuamos con los mismos.

Saludos a todos, Happy Haking } ; )

Modelo de Datos

Hola a todos, hoy les quiero hablar de los modelos de datos.

Lo primero que hay que entender es ¿Qué es un modelo?.

Según mi comprensión un modelo es:"Un objecto o un algo de donde se va a usar sus definiciones de como esta compuesto y las definiciones de sus estructuras para reproducir otro objeto u ente abstracto similar a este.".
Según Internet un modelo es: "Cosa que sirve como pauta para ser imitada, reproducida o copiada.".
Según la Real Academia Española:"Esquema teórico, generalmente en forma matemática, de un sistema o de una realidad compleja, como la evolución económica de un país, que se elabora para facilitar su comprensión y el estudio de su comportamiento".

Una base de datos es una estructura compuesta por varios elementos y uno de ellos es el modelo de datos, siendo este fundamental y mas importante. Recordemos que según su definición este modelo va a describir como están formados los datos en si, su semántica, sus relaciones, sus restricciones de integridad y la consistencia de la misma.

Existen tres tipos de modelos de datos:
  • Modelo lógico basado en objetos.
  • Modelo lógico basado en registros.
  • Modelo Físico.
Los modelos basados en objectos son usados para describir datos en los niveles de Vista y Lógico; mientras que los basados en registros son utilizados para describir datos en los niveles Lógicos y Físicos.

Modelos lógicos basados en objetos:

Estos modelos son utilizados para representar la información de un problema del mundo real con un esquema de alto nivel de abstracción. Dentro de estos modelos se destacan, el modelo de entidades y relaciones, y el modelo orientado a objetos.

El modelo de datos Entidad Relación (ER) está integrado por entidades y sus relaciones.Una entidad es un objeto de la realidad que se describe por un conjunto de características denominadas atributos. Actualmente, este modelo es el mas utilizado debido a su simplicidad y, al mismo tiempo, a su potencia expresiva.

El modelo orientado a objetos representa la realidad con objetos de similares características a los objetos del mundo real. En lo particular considero que este nivel es el mas adecuado para llevar adelante la mayoría de los desarrollos informáticos, debido a su gran escalabilidad.

Modelos lógicos basados en registros:

Estos modelos utilizan la estructura de datos de registros para almacenar la información en una Base de Datos, Existen tres modelos basados en registros: modelo jerárquico, modelo red y modelo relacional.

La esencia del modelo jerárquico consiste en utilizar registros vinculados entre si formando una estructura de árbol.

El modelo de red también utiliza registros vinculados que generan una estructura de grafo.

El modelo relacional utiliza un conjunto de tablas para representar la información. Una tabla se compone por filas, denominadas tuplas, y por columnas. Cada fila representa un registro, y cada columna, un campo o atributo. Estas tablas se vinculan entre si y establecen relaciones de integridad entre los datos que la componen. Este modelo es el más utilizado desde hace mas de tres decadas.

Esto es todo en cuanto a modelo de datos, para los que aún no les resulta del todo familiar los niveles de abstracción de Vista, lógicos y físicos, les recomiendo que se den una vuelta por mi anterior post que esta aquí.

Saludos a todos y Happy Haking } ; )

Niveles de visión de los datos

Hoy les vengo a hablar de los distintos niveles de visión que tienen los datos, en una base de datos.

Debido a que la interacción con las bases de datos se convirtió en una interacción muy compleja, por las estructuras de datos que cada vez se volvían mas y mas complejas, se comenzó a definir distintos niveles de abstracción para poder interactuar con la base de datos.

Estos niveles con:


  • Nivel de Vista: Esta corresponde al nivel mas alto de las capas de abstracción, en esta capa solo se muestra lo que se desea ver de la base de datos. Es posible generar varias vistas, cada una de ellas de diferentes partes de la base de datos.
  • Nivel Lógico: En esta vista se describe la base de datos completa, indicando los datos y las relaciones entre las mismas, el resultado de la misma es una estructura simple que puede conducir a estructuras mas complejas en el nivel físico.
  • Nivel Físico: Este es el nivel mas bajo de la abstracción, en el cual se describe como realmente se almacenan los datos, detallando las estructuras mas complejas de bajo nivel.
Estos son los distintos niveles de abstracción en las bases de datos.

esto es todo por este articulo.


Saludos y Happy Haking } ; )

jueves, 30 de octubre de 2014

Sistema de Gestión de Bases de Datos

Hoy toca hablar de que es un Sistema de Gestión de Base de Datos, también conocido como SGBD. Este es un conjunto de programas que nos sirve para acceder y administrar una Base de Datos (BD).

Actualmente cualquier Sistema de Software requiere tener acceso a una Base de Datos (BD) y para ello se apoya en los Sistemas de Gestión de Base de Datos (SGBD).

Un Sistema de Gestión de Base de Datos (SGBD) posee dos lenguajes diferentes, uno para especificar el esquema de la Base de Datos (BD), y otro para la manipulación de datos.

Un esquema de Base de Datos (BD) es el diseño de la estructura de la BD, es decir especifica los tipos de datos, las relaciones entre ellos, la semántica asociada y las restricciones de consistencia. Para esto se usa un lenguaje que se llama Lenguaje de Definición de Datos (LDD). Cuando se compila un archivo escrito con el LDD, se genera un archivo llamado Diccionario de Datos. Un Diccionario de Datos es un archivo con datos sobre los datos.

Para manipular los datos de la Base de Datos (BD), tenemos un lenguaje que se llama Lenguaje de Manipulación de Datos (LMD), el cual nos servirá para consultar, modificar e insertar datos en la BD.

Existen dos tipos de Lenguaje de Manipulación de Datos:

  • LMD Procedimentales: El usuario especifica todo, que datos quiere y como los obtendrá
  • LMD No Procedimentales: El usuario especifica que datos quiere pero no como los va a obtener ( Esto esta muy bueno ya que el usuario tiene menos cosas de que preocuparse :) )
Como es de suponer el LMD No Procedimentales son mas fáciles de aprender por dejar menos cosas al control del usuario y por ello es mas fácil de utilizarlo.

Finalmente los objetivos de un SGBD son:

  • Controlar la concurrencia: Controlar el acceso simultaneo de varios usuarios y asegurar que no mas de un usuario modifique un dato.
  • Tener control centralizado: Desde un mismo software tener acceso a los datos como al SGBD.
  • Facilitar el acceso a los datos: Permitir un fácil acceso a los datos, para esto provee un lenguaje, el LMD.
  • Proveer seguridad para imponer restricciones de acceso: Definir explícitamente que usuarios pueden acceder a la base de datos.
  • Mantener la integridad de la Base de Datos (BD): Posibilidad de verificar que todos los datos respeten las estructuras definidas previamente(Ej: que en un dato de tipo Integer no se coloque un String), y ademas ante un fallo verificar y reparar el dato si fuese necesario (restauración del dato).

Bueno por el momento esto es todo :), espero que hoy hayan aprendido algo mas como yo :)

Saludos y Happy Hacking :)

martes, 28 de octubre de 2014

Introducción a las Bases De Datos

Hola a todos } ; )

Después de tanto tiempo, eh vuelto a escribir un post, XD

Como tengo que rendir un final en la facultad ( UNLP Informática ) seguramente voy a ir subiendo lo que vaya aprendiendo sobre las bases de datos...

En fin comencemos.

Lo primero que tenemos que hacer es saber ¿qué es una base de datos?.

Según el libro que estoy leyendo una base de datos es: "Colección o conjunto de datos interrelacionados con un propósito especifico vinculado a la resolución de un problema del mundo real".

Bueno, vamos entendiendo por partes esta frase:

"Colección o conjunto de datos..." : Esto creo que es bastante claro, XD, esto se refiere a cualquier tipo de datos, ya sean datos en papel o  datos guardados en la pc, y que estén agrupados.

"... interrelacionados...":  Esté se refiere a que los datos agrupados tienen que tener una relación lógica, por ejemplo, los datos de una persona, cuando queremos saber los mismos por lo general siempre preguntamos por su nombre y apellido, y estos dos datos ( dato 1 : nombre, dato 2: apellido) estén relacionados entre si por el objetivo de identificar a una persona de forma precisa ( Ya sabemos que para este ejemplo se puede dar que dos personas tengan los mismos datos, pero recuerden es solo un ejemplo XD).

"...con un propósito especifico...": Esto hace referencia a que los datos que se agrupan tiene que tener un propósito por el cual se agrupan, en el ejemplo anterior el propósito fue la identificación de una persona de forma precisa.

"... vinculado a la resolución de un problema del mundo real.": Esta parte hace referencia a que esta agrupación de datos existen con el objetivo de resolver un problema del mundo real. En el ejemplo anterior el problema es identificar a todas las personas de forma precisa.

Entonces una base de datos es un conjunto de datos que se relacionan con un propósito especifico, propósito que esta vinculado a la resolución de un problema del mundo real.

Bueno eso es todo por este primer post, voy a tratar de no hacer post enormes para que no sea denso la explicación.

Saludos y Happy Hacking } ; )

lunes, 3 de marzo de 2014

C# - Outllook Access - Bug de Seguridad

Les vengo con algo que considero muy interesante, hace un tiempo que se me encomendó la ardua tarea de enviar mails con .net teniendo estos mails el permiso "Do not forward" activado y durante esta investigación me encontré con la gran sorpresa de que si usamos el PIA de Outlook para enviar mails este programa puede acceder a los datos del Outlook sin que le salte al usuario un solo cartel avisándole que un programa externo esta accediendo a sus datos. Consultado a algunos compañero (Ninguno experto en seguridad) me dijeron que este no es un error. A lo que a mi me respecta para mi si es un gravisimo error ya que tranquilamente yo podría construir un programa que se conectara a mi servidor para recibir ordenes desde el mismo, haciendo que este actúe como un zombie enviando mails a nombre del propietario a mi antojo y si no queremos parar ahí, podemos acceder a todos los mails que el atacado fue enviando, a toda su lista de contactos, a los mails recibidos en fin a todos sus datos. Prácticamente podríamos suplantar la identidad de esta persona. Y si llevamos esta situación a un ambiente corporativo esto es muy peligroso dependiendo de la jerarquía del atacado.

Debajo les dejo un código de concepto que hice en donde se abre una consola pidiendo el mail a donde se enviara el mail generado. Por el momento la única pre condición, es que se tenga Outlook instalado y configurado por lo menos con una cuenta (Recuerden que el Outlook puede tener varios cuentas instaladas -Cuentas empresariales - hotmail- gmail- yahoo- etc...)

miércoles, 22 de enero de 2014

El camino de Tahuri Killer

Lo que espero de www.tahurikiller.com.ar es que este me sirva como base para mis proyectos en los diferentes lenguajes que domino.

Sub-dominios:


www: La url base sera redirigida a este sub-dominio y en este estará alojado mi blogger, acá lo que espero es que me sirva como cumulo de mis lecciones aprendidas y que tenga un lugar a donde ir cuando busque algo que en algún momento aprendí y que luego quiero recordar algún detalle olvidado.

Java: Acá iré dejando registros de los avances de los proyectos java que vaya construyendo, este tipo de secciones serán mas técnicas (Cualquier detalle técnico y como lo aplique a este lenguaje). En esta sección tendré proyectos web como Desktop. Este sera la primer sección que voy a desarrollar ya que tengo en mente un proyecto OpenSource para Maven.

Python: Lo mismo que para la sección Java pero en esté lenguaje que desde que me inicie en el maravilloso mundo de la programación quise aprender.

Go: Lo mismo que para la sección de Java pero en esté lenguaje, de este no conozco nada por lo cual lo mas seguro que vaya haciendo un paso a paso de como se construye una aplicación en este lenguaje.

Php: Lo mismo que para la Sección de Java pero con esté lenguaje. En este aprendí todo lo que se hoy de desarrollo web :), por lo cual espero compartir muchas cosas sobre el mismo.

Estos 4 lenguajes, como algunos sabrán, son los soportados por Google AppEngine y es en ese servicio donde estarán alojados mis aplicaciones web. Cada una de esas secciones estará construida con ese lenguaje (Eso me dará una mejor visión de los pro y contra de cada uno de ellos en AppEngine).

Fuera de estos lenguajes es muy posible que suba algunas cosas mas de c-plus-plus y c-sharp. Estas secciones seguramente estarán construidas en Python o Go.

Por otro lado como también estoy tratando de practicar y aprender Ingles lo mas seguro que arme un sub-dominio "en" para publicar lo mismo que publico en el blog en Español. No prometo hacer lo miso con las secciones de Java, Python, Go Php, C-Plus-Plus y C#, pero voy a hacer todo lo posible.

Bueno eso es todo por el momento :)

Happy Hacking } ; )

Mi Primer Post :)

Hola a todos, este es mi primer articulo y la verdad que soy demasiado nuevo en esto, espero poder compartir buenos artículos e ir mejorando con el pasar del tiempo.

Porque decidí dejar el desarrollo de mi web?

porque creo que necesito dar mas tiempo a otros proyectos en los cuales puedo aprender mas que en hacer una infraestructura que ya me brinda blogger, no estoy del todo contento por esta decisión pero creo que es lo mejor por el momento para poder compartir cosas con el mundo XD ademas mi idea es usar este blog como un lugar donde ir dejando mis lecciones aprendidas para luego cuando me olvide de algún proceso tenga donde ir a buscarlo, con una explicación realizada por mi.

ZonedDateTime & OffsetDateTime

Hoy quiero compartirles algunas pruebas que realice con ZonedDateTime y OffsetDateTime. En primer lugar podemos decir que tenemos un ...