Entradas

Mostrando las entradas de 2014

Mi 2014

Imagen
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

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

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.

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

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.

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: 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. 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. 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

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: Visión Física: Este es el archivo que se encuentra físicamente en el disco. 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 ar

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 archiv

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 usu

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, su

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

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 dat

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 preg

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 d

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 d

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.