Follow By Email

lunes, 26 de diciembre de 2011

5 Cosas que Usted necesita tener en cuenta acerca de HTML5


   HTML5 representa la quinta revisión a fondo del lenguaje principal de la Web. A diferencia de versiones anteriores, HTML5 promete una mejor integración de los multimedios y otras aplicaciones dentro del núcleo de la mayoría de las páginas Web. Si bien la adopción de HTML5 empezó lentamente, una creciente evangelización por parte de una serie de fabricantes líderes en los últimos seis meses ha estimulado la aprobación por parte de los desarrolladores en todas lados. Sin embargo, hay algunos puntos básicos que toda persona debe mantener en mente acerca de HTML5.

   Simplemente por que es nuevo no significa que sea seguro. Dado que los desarrolladores Web están construyendo por montones nuevas aplicaciones en HTML5, es necesario que tengan en cuenta la seguridad. Las páginas Web y aplicaciones creadas con HTML5 son tan vulnerables como las que se construyeron en otros lenguajes. Al construir nuevas aplicaciones, tenga en mente la forma en que está transportando información confidencial o las vulnerabilidad que crea su estructura de aplicación. La European Network and Information Security Agency (ENISA), la agencia de seguridad europea, ya ha avisado que el HTML5 podría no ser lo suficientemente seguro.



miércoles, 21 de diciembre de 2011

¿Será una Bendición tantos lenguajes de programación?

   Muchas veces hay programadores que reclaman por tantos lenguajes y tantas sintaxis que existe a la hora de programar un software. Pero personalmente creo que es una forma de quitarle la monotonía a cualquier programador tener que aprender otro lenguaje para una aplicación.Pues digamos que siempre llega un punto en la programación que cansa y aburre. Si bien es cierto cada lenguaje tiene sus ventajas y desventajas,  muchas veces no nos fijamos en eso y realizamos solo por que sabemos usar su sentencia.

   Aunque muchos de basan en C, cada lenguaje tiene su chispa y aun es más entretenido cuando podemos mezclar entre sí. Es recomendable que si tienes que hacer un proyecto y tienes tiempo de realizar y quieres dominar otro lenguaje, pues hazlo con el nuevo lenguaje y así no se te olvidará fácilmente. Pues es obvio que nunca aprenderemos todas las sintaxis de los lenguajes, pero cuando ya se sabe la base de programar es fácil aprender e incursionar por los distintos lenguajes.

 Por lo mismo les recomiendo que si tienen que realizar un sistema complejo, agreguen python, ruby, html5, css, php, etc...


 

viernes, 16 de diciembre de 2011

¿Qué aprendí hoy? Nº6 SQLserver - Servidores

   Durante el periodo de universidad y de mis estudios de informática nunca había tocado el tema de los servidores, y pues durante una ardua instalación del famoso motor SQLserver tuve que interiorizarme un poco y hacer una critica a los establecimientos por la poca base educativa de los servidores y redes. Pues todo comenzó con un proyecto de trabajo en la cual debía realizar una base de datos para la otan, pues dirante ardua pensamiento de analisis logramos diagramar el sistema pero luego debiamos trasladarlo a SQLserver!!. esas exclamaciones me costaron sangre y sudor... pero que instalación de software más engorrosa y lo peor de todo es que aun no sabia lo que era un servidor... pues luego entendi que era solo un computador mas complejo, con grandes cantidades de memoria de las cuales pueden trabajar simultaneamente con una cantidad de procesos mucho mayo a un computador personal, estos cuestan gran dinero y son utulizados en empresas para el guardado de información y traves de base de datos empresariales. Pues instalando SQLserver nos dimos cuenta la gran cantidad de opciones que no ofrece para enlazar la instalación a las redes de un servidor y bueno quisimos hacer el proceso lo más real posible e instalamos Windows server 2000 en un pc para simular un servidor empresarial, y guardar la base de datos y poder cagarla desde hay la información que necesitase.






    Aunque aun no logro entender todas las opciones .. puertos, redes, computadores, clientes, etc... gran cantidad de cosas de las cuales nunca vi en mis días de estudio. y hay mi critica... pues si una universidad está creando perfiles informáticos para que sean competentes en una empresa es indispensable saber lo que es un servidor, configurar y crear sistemas complejos, pero no... se centran en programación y en el ramo sistema operativo que enseña teorías arcaicas de los procesos.



lunes, 28 de noviembre de 2011

Python - Hello World!


   Nunca está de más aprender idiomas nuevos, aunque sean de programación. Así que he decidido aprender a programar en Python. Y algunos os preguntaréis ¿Que es Python? Pues bien, Python es un lenguaje de programación de alto nivel creado por Guido van Rossum. Es un lenguaje limpio y que favorece a la interpretación rápida del código. También hay que decir que es multiplataforma y que se necesita un intérprete para poder ejecutarlo (lenguaje interpreado).

Y que es lo que debe hacer cualquier programador cuando empieza a adentrarse en un lenguaje de programación... Un Hello World!, aunque he de decir que Python tiene una estructura similar a Java y C.


1 //Programa: HelloWorld.py
2
3
4
5  print "Hello, Python!"




Es muy sencillo, para los que acabáis de entrar en el mundo de la programación, la función print se encarga de mostrar por pantalla aquello que quieras mostrar.

Fuente : http://blog.fangosto.com/

viernes, 25 de noviembre de 2011

¿Qué aprendi hoy? Nº5 - Seguridad informática

  Hace mucho que no escribía mis pensamientos diarios de aprendizaje... pues con esa intención fue creado este blog y creo que lo anduve desvirtuando un poco (solo un poco, aunque twitter me tenia loco con el tema de los seguidores). Pues hoy aprendí muchas cosas como por ejemplo amasar masas de telepizza pero creo que no va al caso especificar con tanto detalle mi aprendizaje si no que explayaré algo más informático.

  Pues hace un tiempo empecé  con la idea de ser un webmaster y crear páginas web con sus respectivos códigos html, php, javascript, etc... y pues lo encontré muy fácil el hecho de realizarlas. pues bendito Dreanweaber, pero me surgió la duda de... y ¿Porque entonces tanto énfasis a la seguridad informática? y es que en esta ciencia todo se puede hacer y si todo se puede todo se puede ver, robar, filtrar, vender, etc.. Escuchando unas charlas del famoso  Chema Alonso, me di cuenta de la realidad de este asunto. Lo que mas me llamo la atención y es que resolvió mis dudas ... ¿Porque tantas actualizaciones en los softwares? y es que cada software tiene vulnabirilidades y es que si no actualizas el Adobe Reader puedes ser hackiado por cualquier personaje Chino que quiera revisar y revender contraseñas. ¿Como consiguen vulnerar un sistema? pues la máquina no sabe que será victima de algo (son máquinas no piensan) y ellas mismas dan las respuestas a quienes insisten en preguntar(bendito True y False y las probabilidades) y es que los programas de desencriptación son diseñados con algoritmos en las cuales mandan consultas generales de las cuales obtienen un 1 o un 0 y luego esa consulta pasa a ser un poco más específica, devolviéndose un 1 o un 0 y luego se transforma en lago más detallado hasta que obtienen la contraseña de una cuenta de algún banco. Todo es posible y es por eso tanta inseguridad en la red. Cosas inimaginables pueden ocurrir en nuestro ordenador sin darnos cuenta. y quizás para alguien normal ni siquiera le afecte, pero en realidad si le afecta indirectamente con correos ofreciéndonos un crédito en la entrada de nuestra casa.


miércoles, 23 de noviembre de 2011

Startup ! : Twisterdev Gamers Developers


 ¿ Qué es Twisterdev?

 Es una es empresa  moderna, innovadora y creativa  especializados en el diseño de soluciones web, programación,  publicidad en Internet y últimamente han dedicado gran parte de sus proyectos a la creación de videojuegos orientados a plataformas vía web y/o móviles.
 ¿Por qué hago referencia a esta empresa? pues bueno esta comenzó gracias a tres pioneros en la área de la informática: Cindy Catalán, Felipe Campos y Frank Kismann; 3 estudiantes de la carrera de Informática con un sueño en común ... escribir líneas de códigos para luego ejecutar un Software entretenido y al alcance de todos. Además nos da el ejemplo de que no porque estamos en latino-américa no podamos realizar este tipo de trabajos. Twister Dev nació en Chile con un presupuesto que alcanzaba solo para un pc y un par de taza de café y sin embargo han logrado salir adelante y emprender en un área desconocida.
  http://www.twisterdev.cl/



domingo, 20 de noviembre de 2011

¿ Microsoft o Licencias Libres ?

  Es claro la división de pensamientos entre programadores o desarrolladores de las distintas plataformas sobre todo cuando son licencias libres (GPL) o licencias copyright. El ambiente hippie brilla en charlas de software libre y los hombres de terno en conferencias techs de microsoft... y la pregunta que siempre aparece : ¿Cuál camino seguir? ¿y es que no hay más opciones? porque esa división? como si habláramos de política de elegir el bando comunista o capitalista. Aveces no tiene sentido esta división en el ámbito de la tecnología ya que lo único que hace es disminuir la velocidad de crecimiento y evolución como seres humanos, pues la tecnología ya es fundamental en todos nosotros. Es un tema extenso, pero siempre está el equilibrio en las cosas y por algo existen las cosas... los softwares open source han tenido una gran  cabida en el mundo pero nunca será el reemplazo de códigos cerrados, muchas veces es necesario esconder ciertos secretos para una mejor competencia.

  Como experiencia creo que lo mejor es ver de los dos mundo lo mejor de ello y no abanderarse en una de ellas. siempre es conocer y desarrollar en distintos ámbitos. Muchas veces se ven hombres linuxieros que critican windows, sin embargo, en algún lado remoto de sus hogares tienen escondido este último sistema operativo para jugar Battlefield  3.

  Entonces siempre vean lo bueno de las cosas y no lo malo, sobretodo en ámbitos de desarrollo. Muchas veces visual estudio te permite desarrollar aplicaciones más rápidas pero no tan a la medida como si fuese netbeans. Muchas veces es mejor navegar en Linux que en Windows ya que la seguridad microsofera le falta bastante aún. mucha veces es mejor montar un servidor con Sistema operativo GPL que un Win server. En ámbitos laborales muchas veces te piden .net que java...



¿Qué es Silverlight?

  Me ha llamado mucho la atención este sistema de programación. Encontre una información bastante interesante y quiero compartirla con ustedes. La fuente proviene de http://rdiazconcha.com/ un blog bastante instructivo en tecnologías de Microsoft.

   Silverlight es una tecnología que nos permite crear Aplicaciones Enriquecidas para Internet o RIA por sus siglas en inglés (Rich Internet Applications). Con Silverlight podemos construir aplicaciones que van desde pequeños componentes dentro de una página Web hasta sofisticadas Aplicaciones de Negocio que estén consumiendo y presentando datos de alguna base de datos, pasando por juegos casuales, reproductores de multimedios, Gadgets para Windows Vista o 7, y un largo etcétera.

   Incluso después de más de 3 años de haber sido liberada al público en general su primera versión, aún existen muchas confusiones y malinterpretaciones acerca de esta tecnología. Primeramente, tenemos que decir que Silverlight es una tecnología multi-navegador, esto es, es capaz de ejecutar adentro de los navegadores más comunes disponibles hoy en día: Internet Explorer, FireFox, Chrome y Safari.

   Por otro lado, Silverlight es una tecnología Multi-Plataforma, esto es, es capaz de ejecutar en los principales Sistemas Operativos disponibles hoy en día: Windows, Mac OSX y Linux (a través de Moonlight, proyecto que es llevado a cabo por la empresa Novell y que es la implementación de Silverlight para ese Sistema Operativo).

   Silverlight, a diferencia de otras tecnologías Web del lado del Servidor (por ejemplo: ASP.NET, PHP, etc.), es una tecnología del lado del Cliente, es decir, todo el cómputo y ejecución de las aplicaciones sucede en el equipo del usuario, tal y como si se tratase de cualquier tipo de aplicación instalada. Esto es una gran ventaja ya que Silverlight puede sacar provecho de las características de procesamiento del hardware en donde está instalado.


jueves, 17 de noviembre de 2011

Funciones, Librerias, Apis, SDKs, motores gráficos ...

Para realizar un video-juego es importante saber el uso de librerias y funciones. partir siempre desde una base como dice el dicho para que inventar denuevo la rueda si ya lo está y nos sirve para soportar algo nuevo. Existen variadas formas de programar un videojuego, existen librerias dedicadas a ello. un ejemplo de esta es la librería Allegro para C++, esta es un poco compleja pero bastante interesante al momento de programar desde lo mas básico.otras libreria bastante interesante es 2dBox , esta simula la naturaleza y la fisica de los cuerpos. pues las librerías son un conjunto de c´digos bastante amigables aunque si quieres algo mas en concreto pues estan las SDK estas son un kit de desarrollo de una cierta aplicación, es generalmente un conjunto de herramientas de desarrollo que le permite a un programador crear aplicaciones para un sistema concreto, por ejemplo ciertos paquetes de software, frameworks, plataformas de hardware, computadoras, videojuegos, 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 de desarrollo integrado o IDE (del inglés Integrated Development Environment) y otras utilidades. Los SDK 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.
Otra herramienta aun mas prediseñada es el motor gráfico estan nos provee de una inmensidad de opciones al momento de querer "diseñar" un juego . La funcionalidad básica de un motor es proveer al videojuego de un motor de renderizado para los gráficos 2D y 3D, motor físico o detector de colisiones, sonidos, scripting, animación, inteligencia artificial, redes, streaming, administración de memoria y un escenario gráfico. El proceso de desarrollo de un videojuego puede variar notablemente por reusar o adaptar un mismo motor de videojuego para crear diferentes juego. Unity es un motor gráfico gratuito y bastante amigable para crear un juego 3d .

martes, 15 de noviembre de 2011

Un Ejemplo a seguir ! Angry birds

¿Como un juego tan básico ha llegado a ser el juego mas jugado de los últimos tiempos? 
Será que la simplicidad es lo que esta de moda, pues claramente Angry Birds es un modelo a seguir. La empresa desarolladora Rovio nunca pensó en el éxito que esta traería . Gerentes, Ejecutivos, Estudiantes, niños, Padres, etc. Un juego dedicado para todas las personas (importante hoy en día)









Su jugabilidad se basa en la gravedad y la física, de hecho ni tan novedoso puede ser, Worms tiene una plataforma bastante parecida. Al momento de idear un juego no pienses en crear algo novedoso o nuevo, es bueno basarse en otro ejemplo para tener una idea mas clara. Piensa bien que gráficos usar, que tipo de juego será y su simplicidad ante todo. si piensas en crear un juego tipo Battefield 3 terminarás frustrandote, ya que para la creación de estas se necesita un equipo de trabajo gigantesco, con miles de programadores agregando miles de If y condiciones .




lunes, 14 de noviembre de 2011

No aburrirse al programar !

   Variadas veces pasa que al momento de querer crear una aplicación para que resuelva un determinado problema, resulte tedioso hasta el punto de seleccionar todo el código y suprimirlo. Pues este artículo hablará de 8 tips o concejos que te ayudarán a conseguir tus objetivos como programador y no morir en el intento.

1.- Piensa tu problema : es importante tener ya la solución del problema antes de empezar a codificar. Muchas veces esas soluciones queda guardadas en la mente pero ojo ... la mente del programador es volátil. Así que siempre ten en cuenta tener un cuaderno con los garabatos de tu solución, aunque sean garabatos feos e inentendibles pues lo importante es que tu te entiendas.

2.- Realizar un diagrama de UML o un diagrama de clases: muchas veces resulta un trabajo bastante extra el realizar estos diagramas, pero sirven bastante aunque en las asignaturas se vea lo contrario... un buen gráfico con todas tus clases a usar sirve bastante, para que al momento de programar tus códigos fluyan de una forma inimaginable  .

3.- Proponerse otros lenguajes: pues esto quizás suene un poco extraño, pues el artículo consta de no aburrirse al programar y bueno buscar otros lenguajes es bastante aconsejable. Es como cuando iba al colegio y cambiaba la ruta del camino para evitar monotonía. Con los lenguajes suele pasar eso y pues también te ayuda muchísimo para conocer otras alternativas. Pero obviamente debes interiorizarte un poco con el lenguaje ya que también es bastante frustrante que las sentencias no te funcionen.

4.- Compartir el código con tu mejor amigo: es bueno que alguien te escuche lo que quieras expresar en una linea de código exceptuando la máquina claro... 

5.- Tener un café bien cargado y un asiento acogedor : es bastante obvio pero muchas veces no somos capaces de tener comodidad al momento de trabajar, siempre es culpa del asiento y pues un programador lleva 12 horas sentado en el día y claramente el trasero queda agotado.


Páginas dinámicas y PHP !


  Una página dinámica implica la interacción entre el usuario y un script desarrollado en un lenguaje que permita el dinamismo, es decir, que permita la interacción entre el usuario y un Servidor Web y un Servidor de Base de Datos (en caso de existir uno). Es decir, que el usuario haga una petición al servidor Web, éste se comunica con el servidor de base de datos, extrae la información de la base de datos y presenta la información en la pantalla del usuario.

  Un ejemplo bastante claro, es la forma en la que nos inscribimos en algún servicio de correo electrónico, en el que proporcionamos nuestro nombre, apellido, un nombre para el correo de la forma minombre@miproveedor.com y una palabra clave. Cuando, por ejemplo, al día siguiente, vamos a ver nuestros correos electrónicos, basta con escribir nuestro nombre de usuario y palabra de acceso para que accesemos a nuestra cuenta. Todo lo anterior, es gracias a una página dinámica, que solicita los datos al servidor Web que a su vez, extra los datos de nuestra cuenta del Servidor de Base de Datos.




                                                  LO QUE PODEMOS HACER CON PHP

  Lo que se puede hacer con PHP es básicamente cualquier cosa que se pueda hacer con un script CGI, es decir, trabajo con formularios, como su procesamiento y manejo dinámico; generar páginas con contenido dinámico (de nuevo, el contenido dinámico es el que le permite a la página la interacción con el usuario); mandar o recibir cookies, etc.

  Una característica de PHP, es la capacidad de trabajar con una gran cantidad de bases de datos, lo cual lo hace un programa verdaderamente potente, siendo que, por ejemplo, si lo "juntamos" con MySQL (un Gestor de Bases de Datos con licencia GNU), nuestros recursos salen literalmente "GRATIS"

Fuente www.aulafacil.com/php

jueves, 10 de noviembre de 2011

Diferentes opciones a la hora de programar juegos

Cuando se inicia en este rubro de la programación de juegos, es complicado saber cuál es el camino correcto para desarrollar, que lenguaje usar, que framework que Api manejar ... etc. Sin duda existen muchas opciones pero cada una tiene un fin específico.
   Primero que todo debes ya tener definido tu juego y luego pensar cuantos recursos va a usar y ha que plataformas irá dirigido. Este artículo dará a conocer ciertas pistas para ver cuál es la mejor opción al momento de crear un Game.



   -Iniciadores del mundo de los videojuegos

Existe un programa llamado Game-Marker que permite crear juegos de manera bastante entretenida y didáctica, comienzas a entender ciertos conceptos básicos que tienes que tener en cuenta al momento de crear un juego. Sin embargo este programa esta ya muy estructurado y te delimita a hacer ciertas cosas. Si no tienes conocimientos en programación recomiendo inicializarte en GM pero no que te dediques a él .

   - Juegos 3d o 2d con recursos elevados.

Claramente hacer juegos 3d es el sueño para muchos, sin embargo el esfuerzo que este conyeva nos termina frustrando. Pero hoy en día existen herramientas bastante interactivas para un desarrollador. Unity un motor gráfico que te permite hacer lo que se te antoje sin tener que profuncizar mucho en la programación u Ogre otro motor freeware. Sin embargo si quiere empesar más de 0 recomiendo XNA game developer, es un framework basado en la Api Directx . el unico problema de este metodo de desarrollo es que es poco portable ,ya que solamente puede ser ejecutado en plataformas Windows.

Engines, Librerías para crear Juegos en Android

Android claramente es un medio para poder desarrollar juegos y poder distribuirlos fácilmente a tráves de Web Stores de Google. Ademas existe gran material para fácilitar la programación como tambien información y tutoriales de esta. Este artículo dará a conocer ciertas herramientas para poder comenzar un proyecto para Android. Si yá haz hecho aplicaciones en este Sistema operativo no te costará entender el proceso de creación . pero si no sabes nada pues lo primero que tienes que hacer es bajar el SDK de Android (el Kit de desarollo), luego configurar tu IDE  (entorno de programación) para crear tu aplicaciones. Es recomendable usar como IDE "Eclipse" ya que muchos tutoriales de basan en él pero también tienes otras alternativas como NetBeans.

Como dije anteriormente existe demasiadas herramientas para el desarrollo de juegos en Android. A continuación mostraré algunos links de Engines. Todos estos tienen un enfoque 2D la mayoria trabaja con Java nativamente, pero otros tienen soporte hasta para Phyton.

miércoles, 9 de noviembre de 2011

El Bendito y bien ponderado FOR !

  Pues nunca he leído algo referido con los bucles o sentencias de los lenguajes, solo son explicados como si fueran tan simples. Y es por eso que quiero darle un homenaje al granb bucle FOR, pero que sentencia más utilizada, más salvadora !!. pues si ella no podriamos verificar datos, recorrer arreglos, organizar una estructura, etc. ¿Y es que nunca investigamos quién lo creó? lamentablemente no hay un registro de ello, siendo un blucle creado por algún laboratios de desarrollo de los años 60.
  Es tanto el provecho que se le hace a este bucle de control, que hoy en día se ha logrado animar en Jquery, Administrar una página en PHP, o simplemente consultar condicionalmente un registro de una base de datos. 
  Bendito seas FOR y espero que tu vida sea larga y productiva ! y es que no te comparas ni con while, ni do ... podría ser con If pero ese es otro tema ! .

int main()
{
  int vector[10], i;
  for(i = 0; i < 10; i++)
  {
   vector[i] = i;
  }
}

martes, 8 de noviembre de 2011

Game: No volver a inventar la rueda sino que seguir innovando

  
Cuando se inicia el sueño de crear un juego, surge siempre las ganas de crear uno desde 0. Por lo menos ese fue mi caso... claramente no fue un error tener ese ideal desde un principio ya que me sirvió bastante para enteder la complejidad de tiene el desarrollo de este. Partí con Allegro una librería de c++ pero los dolores de cabeza que me dió lo tuve que dejar. De hecho nunca pude entender la filosofía de Allegro, luego me cambie a SDL esta ya es un poco más interactiva con el programador, se pueden cargar imagenes externas, reacciones por teclado, Sprites etc... Sin embargo requiere un gran esfuerzo realizar un juego en dicha librería como por ejemplo mover un personaje. Desde entonces empezó mi frustación al no poder realizar un juego y ver la complejidad que tiene poder realizar uno desde 0.


1011010101010101
0101010101010101           = 
1010101010101010





 Entonces mi pensamiento empezó a tener un vuelco en mi vida de programador y entender que existen muchas herramientas que te permiten ahorrar tiempo en el desarrollo de videojuegos. Como dice el título de este artículo "No volver a inventar la rueda sino seguir innovando", existen muchos métodos para crear juegos y muchos recursos que te permiten facilitar la vida al momento de programar pero si bien es cierto es importante saber la filosofia del desarrollo de un video-juego.

 Si queremos estar a la par del mercado debemos saber utilizar las herramientas que fueron hechas con la intención de ayudar este arte. Desde ese entonces conocí JAVA y su plataforma J2ME y me interesó bastante el desarrollo de juegos en este lenguaje. ya que me permitía portabilidad y el uso de pocos recursos me obligaba a realizar algo simple pero entretenido. este lenguaje ha crecido bastante y muchos sistemas operativos móviles requieren ese tipo de portabilidad que nos ofrece JAVA, ademas hay un sin fin de material y herramientas para el desarrollo de juegos en esta plataforma como también Engines que te facilitan la vida en gráficos, físicas, etc.. (AndEngine, Corona, Coco2d)

ArraysBlog presente en las redes sociales !

    Pues siempre me ha gustado escribir mis pensamientos y poder ver si alguien se interesa con mis escritos, pero no es cosa de escribir en un papel para depues colgarlo en un mural de la universidad. Hoy en día la tecnología, internet nos brinda una gran oportunidad para quienes quieran exponer sus pensamientos y ser visto se forma rápida y masiva. Por los blogs han sido de gran ayuda, pero tampoco para la competencia de escritos es bueno conformarse con eso, también están las redes sociales que nos permiten difundir este material ! y es por eso que el grupo ArrasysBlog está presente en las redes sociales más usadas por los usuarios latinos. Gracias a esto la cantidad de visitas ha aumentado significativamente siendo de gran satifacción para el que escribir saber que alguien está leyendo sus ideas y poder compartir experiencias. 


  Un cordiar saludo a todos los receptores de este Blog, que promete ser una ayuda para los futuros Geekers!.


jueves, 3 de noviembre de 2011

MySql - Introduccion a las Bases de Datos

  
Sean bienvenidos y bienvenidas al mundo de los motores de las bases de datos, uno de los pilares de las ciencias informáticas, ¿por qué?, pues porque en la gran mayoría de las ocasiones, los datos que utilizamos o insertamos o modificamos o borramos, necesitan estar "guardados" en algún lugar. ¿Un ejemplo?, claro, los juegos de vídeo,... ¿no lo creen?, cómo creen entonces que guardan las puntuaciones más altas, los nombres de los jugadores, etc., etc.
Las bases de datos están por todos lados a nivel informático, están cuando pasan un código de barra por la lectora de códigos en el supermercado; están en nuestros carnés de empleado que retienen nuestra información gracias a un número de empleado o un código de barra; están en internet cuando entramos a comprar algo en línea; están en el departamento de tránsito cuando debemos pagar una multa (dolor, dolor, muchísimo dolor).
 Uno de los motores de bases de datos más famosos, MySQL. Una de las razones de dicha fama, es el hecho de que es de código abierto bajo licencia GNU. Dicho en palabras mortales: es GRATIS (de fondo deben escucharse aplausos y gritos de aleluya, por favor)
MySQL es un software creado por MySQL AB y es un software multiusuario, multihilos y un servidor SQL (Structured Query Language). SQL es el lenguaje estándar utilizado para manejar las bases de datos.
  
En un principio no existían las bases de datos relacionales existín dos modelos arcaicos de bases de datos: el jerárquico y el de redes, de los cuales el de redes era el que más se adaptaba a las necesidades reales de almacenamiento y clasificación.




Base de Datos - Modelo entidad-relación y sus conceptos básicos

   Existen 3 nociones básicas para modelar una BD
- Conjunto de entidades
- Conjunto de relaciones
- Atributos

   Una entidad puede ser un objeto concreto como abstracto. Un objeto en programación hace referencia a alguna cosa distinguible a los demás. Por ejemplo una persona se distingue de otra por su rut o id. También pueden ser objetos abstractos como cuentas de algún banco.
   Un conjunto de entidades es un conjunto de entidades del mismo tipo, comparten las mismas propiedades o atributos. Un ejemplo puede ser un BD de un banco con una entidad persona y esta deriva otras entidades que se relacionan entre sí como un cliente y empleado.
   Los atributos de una entidad son las características de esta. Un ejemplo en cliente puede ser nombre, apellido, calle, rut, etc... Generalmente las entidades deben tener un atributo único para que esta sea identificada rápidamente como un Id, rut, codigo de barra...
   Un dominio es la información que contiene un atributo y puede tener ciertas restricciones como por ejemplo: debe ser un valor entero, debe ser un texto con una cierta cantidad de caracteres. Existen atributos simples y compuestos, de los ejemplos dados solo fueron simples, los cuales no están divididos en sub-partes. En cambio los compuestos pueden contener 2 o mas partes, ejemplo, nombre-cliente puede estar dividido en primer-nombre, segundo-nombre, apellido-paterno. apellido-materno. Además existen atributos mono-valorados y multi-valorados, los multi-valorados puede ser un numero-teléfono, la cual la entidad cliente puede tener muchos números de teléfono. Un atributo por defecto toma un valor nulo, osea un valor desconocido, eso significa que no es obligación llenar ese atributo, aunque existen formas de que ciertos atributos sean no nulos como pueden ser las llaves primarias.



viernes, 28 de octubre de 2011

Unix, GNU/Linux sistemas operativos !

 Claramente Unix es el cominezo de todo lo que es GNU/Linux...Ken Thompson y Dennis Ritchie los creadores de dicho sistema fueron reales pioneros en la computación e informática. Este proyecto se encontraba estancado y desactualizado. Unix tenía muchas ventajas que no podian quedarse en el olvido, como su portabilidad, su algoritomo de procesamiento, el hecho de que sea multiusuario, multiprocesamiento y multitarea. esas virtudes tenía que dar flote de hecho muchos programadores sabían de su potencial. El unico problema era su licencia de software propietario. Es hay cuando Richard Stallman decide reacer Unix y crear un sistema basado en él pero de código totalmente abierto. Gracias a eso támbien se produce la portabilidad de GNU y la facíl mezcla con Linux, ya que este núcleo también era basado en Unix. 
  Hoy en día la gran mayoria de los sistemas operativos se basan en Unix, la complejidad de crear un S.O desde 0 es casi imposible, es impresionante saber que un proyecto creado en 1969 es aun un pilar fundamental para los nuevos sistemas informáticos.  GNU/Linux fue el éxito de este proyecto y el porque ?







Es sistema operativo a la medida. Claramente GNU/Linux en el mundo empresarial es su fuerte, sobre todo en servidores. ¿Por qué ocurre? pues básicamente es por la capacidad de modificar y arreglar el S.O para una determinada acción y generalmente es por la seguridad que nos brinda el poder crear uno mismo un sistema seguro. Muchos piensan que es usado mucho en servidores porque es gratis y claramente no es así. Existe una gran gamma de versiones GNU/Linux y cada una tiene algo que lo específica. Por ejemplo Fedora es un S.O más enfocado al usuario de nivel básico de un computador personal, teniendo una interfaz gráfica basada en Gnome 3, ademas brindan bastante ayuda por una gran comunidad. , otro bastante interesante es IP-cop que es una distribución que se basa en ser un Firewalls (corta-fuegos) con una interfaz gráfica bastante simple. Otra es Ubuntu Servers una distribución con propósitos dedicados a servidores, también otras distribuciones que se han ido por el lado de dispositivos móviles como Android . Exite una variedad de distribuciones que ademas nos brindan de su código como también de Soporte para el uso adecuado. Esta más que claro que si quieres montar una empresa técnologica debes ahorrar, asegurar la estabilidad de tus archivos y tener el soporte de las aplicaciones que usarás.

miércoles, 26 de octubre de 2011

Programación orientada a objeto

   Existen muchos artículos que hablan de este tema, un tema no menor para cualquier programador. Sin embargo siempre estos artículos hablan de lo mismo. Como estudiante veo mi alrededor y visualizo como muchos de mis pares no logran entender este concepto. Pues muchas veces es culpa de la poca práctica de programar y de no saber ciertas reglas básicas, como el uso de una función o el simple uso del for!.

   La programación orientada a objetos dio un gran salto a la creación de softwares más complejos. Este consta de 3 conceptos básicos. Herencia, polimorfismo, encapsulamiento. Pero para entender de que estamos hablando es necesario saber que son las clases. Una clase es algo que define un objeto, en ellas están las características (atributos) y las acciones(métodos) de estos. generalmente una clase debe tener un construtor la cual es una función que inicializa un objeto con determinados datos. Herencia quiere decir que una clase puede heredar todos los atributos a otras clases llamadas subclases, un ejemplo, pues la clase mamífero hereda todo hacia la clase león. Polimorfismo es muy parecido a la sobrecarga, una sobrecarga es un conjunto de funciones del mismo nombre pero tienen un proceso distinto y según los parámetros que se envíen actuará la función correspondiente. Polimorfismo es básicamente lo mismo pero a nivel de clases y métodos. Encapsulamiento quiere decir que todo lo que definimos en una clase solo podrá modificarse llamando a esa clase, brindando seguridad a la hora de modificar ciertos códigos. Pues la POO nos permite hacer muchas cosas y es entretenido cuando ya entiendes las capacidades de esta. Para comenzar con este tipo de programación es recomendable el lenguaje Java ya que existe mucho material sobre este. Pues esta es una definición demasiada generalizada sobre POO y hay que entender que POO no es un lenguaje o una estructura de lenguaje, si no mas bien una filosofía de pensamiento de programación.



Edad de la escritura a la era digital...

   De esas lluvias de ideas que me vienen a la cabeza, hoy leyendo un libro de historia y mezclando mis ideas informáticas me decidí por crear este artículo basado un poco en el documental de "La era oscura de la humanidad". Bueno si bien es cierto nuestras historia comienza cuando se empezaron a crear los primeros registros de "hechos", como dibujos en las rocas. Luego se crearon símbolos que eran figuras con un determinado significado... y luego las letras, una de las invenciones mas importantes del ser humano, viéndose simples pero claramente son nuestra columna vertebral de nuestros conocimientos. Hoy en día esta ocurriendo algo que nunca pasó antes y es guardar toda nuestra información en máquinas. pues las máquinas nos permiten guardar demasiada información de tal manera que ahorramos una gran cantidad de espacio. un ejemplo claro es la biblioteca nacional de Chile, un espacio de 60x60 metros de superficie, toda la información contenida necesita de una gran cantidad de espacio. Pero hoy en día toda esa información puede ser guardada en un disco duro de 6x6 centímetros. Pues es claro la ventaja de esta, y claramente nos permite ahorrar material, espacio y muchas otras cosas. Pero ¿ es realmente seguro este método? hubo un caso de cierto país que decidió guardar todos los datos de las personas en sistemas digitales y luego de 10 años se quiso buscar los registros de una entidad determinada pero ocurrió que los sistemas que se estaban utilizando actualmente no eran compatibles con los de hace 10 años, quedando como basura lo que un día fueron los registros de las personas.
 A lo que voy es que nuestra tecnología avanza de manera ex potencial obsolentando sistemas que un día fueron importantes. ¿Un disket puede provarlo en un notebook? claramente no y es que los disket quedaron obsoletos y ¿que pasó con la información que contenían dichos disketes? ... pues se dice que esta era será una era oscura para el futuro ya que nosotros registramos todo en sistemas digitales que cambian día tras día. Por algo se ha visto este tema y se han tomado ciertas medidas. Unas de las opciones más interesantes fue registrar todo en una piedra, escribiendo todo microscópicamente y lo único que se necesita para leer lo que contiene la piedra es un microscopio. Otros métodos mas digitalizados son el de crear discos duros eternos y eso es algo que ya se está logrando hacer.



sábado, 22 de octubre de 2011

Algoritmos de procesamiento

   Existen variados tipos de algoritmos de procesamiento que han sido optados por diferentes sistemas operativos y quizás eso es lo que marca la diferencia entre una de otras...

 - Panificación de servicio por orden de llegada (FCFS) : 
   Es el algoritmo más sencillo. Consiste en que el primer proceso que llega a la CPU será el primero en recibirla y ejecutarse completamente, procesando los procesos por orden de llegada . Es básicamente lo mismo que un sistema FIFO, el problema de este algoritmo es que el tiempo de espera promedio es muy largo.
- SJF no expulsivo
   Este algoritmo consiste en procesar el proceso más pequeño y considerando el orden de llagada. pero el proceso no puede ser expulsado de la CPU hasta que este terminado.
Pues estos dos algoritmos de procesamiento han quedado obsoletos ya que el tiempo de espera que tenían era bastante largo en comparación a los otros algoritmos.
- SJF expulsivo(SRTF)
   El proceso que necesite menos cantidad de procesamiento es el que se ejecuta. Pero si mientras está en ejecución llega un proceso que necesite menos ráfagas de CPU es expulsado y queda en espera y el roceso que necesite menos cantidad de proceso de ejecuta.
Este algoritmo es usado en los sistemas operativo Windows de Microsoft.





viernes, 21 de octubre de 2011

Ideas que cambiaron el mundo ...

Encontré unos links bastante interesantes de como explican ciertoss aparatos en tan poco tiempo en tan poco tiempo quedando grabado en mi mente todo lo que vi.


Memorias Portátiles.



¿Qué aprendí hoy? Nº 4


 Hackers, personajes informáticos con grandes capacidades de vulnerar algún sistema computacional... siempre me he preguntado como uno puede ser un hacker y pues aun no tengo esa respuesta... digamos que estudiar ing. en informática solo te dicen como combatirlos. ¿Porque existen estos personajes? pues por la intención de vulnerar todo lo que nos propone algún sistema. Una historia bastante interesante que la oí en una charla de seguridad Linux decía que una empresa norteamericana habia gastando millones y millones para crear un sistema totalmente seguro y contrató a un hacker bastante conocido y le propuso vulnerar este sistema "seguro" y el les dijo que se esperaran una semana y ese sistema iva a tener borrado su base de datos de toda la empresa. pues la empresa estaba segura que eso no podría pasar ya que contrato a los mejores informáticos para dicha seguridad, y bueno pasaron los días y el hacker entro una de las oficinas de la empresa y dejo caer un CD con un nombre en la caratula que decía" contabilidades de producción" y luego se fue... luego un trabajador recogió ese CD y lo colocó en uno de los computadores de la empresa y vio que había un archivo excel y lo ejecuto, bueno ese archivo no era un excel sino que un ejecutable que permitió abrir una ventana en la red de seguridad, luego este hacker pudo entrar y pudo extraer toda la información de la empresa. Pues a lo que voy es que hay muchos aspectos en la seguridad informática que se deben considerar. No solo hay un hacker sino que hay miles atacando un sistema. Muchas veces son niños y a ellos hay que tenerles el mayor de los cuidados.



miércoles, 19 de octubre de 2011

Base de datos ... !

   Pues hoy le tomé el peso a las bases de datos, un tema que no me llamaba la atención hasta que me pregunte que pasaría si de un día para otro dejaran de existir las bases de datos... pues es como si se apagase la luz y dejara una estancada una nación entera. Nosotros vivimos con las bases de datos sin darnos cuentas, en una cuenta de banco, en una ficha médica, en el saldo de un celular, en la compra de una caja de leche, etc. En el mundo de la informática es esencial saber como funciona una base de datos y el tipo de relaciones que tendrán.  Es maravilloso saber las tecnologías que nos permiten crear, administrar una base de datos, los distintos motores que se utilizan y los lenguajes que se aplican. Yo aun no he tenido contacto con bases de datos y espero tenerlas pronto, solo creé una para una página Joomla  pero este cms crea automáticamente la base de datos con sus respectiva estructura. Otro tema no menor es donde usar una base de datos, mejor dicho donde almacenar la información de la BD, pues puede guardarse en cualquier computador, pero claramente una BD necesita guardar una cantidad estratoférica de información y para eso se usan mucho los servidores, que son mega-computadoras con capacidades enormes de proceso y memoria. Pues para hacer un sistema seguro es necesario tener que respaldar la información en caso de fallos y por eso se toma la analogía de usar 3 servidores que cumplan la misma función y que guarden la misma información y que funcionen un 33% para que las tres complementen el 100% y en el caso que una falle el S.O proporcione a las restantes un 50% de funcionalidad, pues a eso se le llama Backup (copia de seguridad)en las empresas grandes se usan las granjas de servidores para guardar información, muchas empresas informáticas ofrecen servicios de almacenaje de información en servidores pero hay que saber que  obviamente el hosting que ofrecen no se debe guardar una base de datos de una empresa en particular por temas de seguridad.




¿Qué aprendí hoy? Nº 3

   Pues hoy fue otro día de presentaciones y charlas por parte de mi curso. La primera fue sobre particiones de discos, pues una partición es básicamente una división del disco duro en varias partes cosa que no se mezclen los archivos, existen las físicas y lógicas. en las una partición física solo de puede dividir en 4 partes y en ellas pueden estar un sistema operativo y todo tipo de archivos. las lógicas pueden ser muchas y en ellas solo pueden estar ciertos archivos ya que no se puede colocar un S.O. La otra charla que fue la más interesante y fue la de los tipos de procesadores y su arquitectura de procesos. Existen 2 grandes arquitecturas RISC y CISC. la CISC es la más usada en el presente y en ella contiene una serie de instrucciones complejas para que pueda procesar de forma fácil. la RISC contiene un pequeño grupo de instrucciones y la memoria Caché se encarga de proporcionarle más instrucciones. Se piensa de RISC es la mejor. pero aun no ha sido utilizada masiva mente. El procesador creado por Intel "i7" contiene ambas arquitecturas denominándolo Híbrido.  Pues hubieron más presentaciones pero fueron bastante aburridas porque se notó que no hubo dedicación. Otra cosa que aprendí en otra clase, en java, fue porque no usar constructores al momento de cambiar valores al objeto y porque usar los get y los set. Ademas estoy aprendiendo a programar con ventanas, ya que programar a través de una consola es un poco desmotivante.



Profesionales a medias ... ¿Un problema nacional?

   Me ha tocado estar en la situación  de ser estudiante para luego ser un profesional. Siempre pensé que un profesional es un experto en un área determinada, alguien que utilice su intelecto para resolver problemas. Me explico, no quiere decir que un profesional sea más inteligente que alguien común, el profesional solo tuvo la oportunidad de estudiar y sacarle provecho a lo que estudió. Sin embargo ya nisiquiera sé que pensar con los "profesionales" de hoy en día... muchos estudian para sustentarse sin un arduo trabajo y eso conlleva a que no exista una dedicación. Veo a mis compañeros de Universidad (claramente no es una universidad muy bien catalogada) y cada día me decepciono más de ellos (pues a la mayoría no a todos). Un día fui a un evento de Informática para estudiantes y nadie de toda la universidad fue... y llegando allá solo habían 30 personas a nivel nacional que participaron de un evento tan importante en el área de la informática. Da mucho que pensar de la calidad de Profesionales que se forma en Chile, sin dedicación a lo que hacen, sin preparación a una visión hacia el futuro... Pues muchas veces pienso que el desarrollo de la nación ha sido estancada por la educación que existe y por el sistema que se ha implantado. Por lo mismo difícil ver un Steve Jobs en Chile o latinoamérica. Los profesionales ya ni siquiera son expertos en lo que saben y eso es lamentable. Pues esto es un problema de cada individuo pero que repercute a nivel nacional. Pero esto es solo en el área de carreras tipo científicas porque la verdad he visto la comparación con carreras humanistas y es totalmente diferente ya que estos últimos son dedicados a lo que hacen y claramente es por la filosofía que tienen. De hecho siempre he pensado que un humanista es mucho mas amplio he incluso mas capaz en muchos ámbitos.
 ¿Qué solución?
Pues siempre he pensado que los padres son los principales exponentes a la hora de motivar a sus hijos a elegir una carrera. Deben tomarle atención a sus capacidades y a sus talentos y de pequeño inculcarle lo que les gusta. También las Universidades deben dedicarle mas a sus estudiantes, no solamente brindando enseñanza a los ramos especificados si no que crear una comunidad a nivel universitario donde cada uno pueda complementar algo para ser mejores.


jueves, 13 de octubre de 2011

¿Qué aprendí hoy? Nº 2

   Bueno hoy me levante estudiando la presentación de GNU/Linux, pues suena bastante estudioso decir que me levante para eso, pues la verdad si fue así pero me levante tipo 2 pm y tenía la obligación de hacerlo... Llegando a la Universidad me dedique a escuchar las demás presentaciones. La primera trataba sobre tarjetas de vídeos, la verdad un tema un poco tedioso a mi parecer ya que el soporte no es lo mio. Sin embargo aprendí de cosas bastante interesantes sobre esta. como por ejemplo para medir las capacidades de una tarjeta gráfica es necesario saber la cantidad de procesos que puede realizar mas que su ram. a que voy con esto, pues el mercado muchas veces miente diciendo que una tarjeta de video de 2 gb es mejor que una de 512 mb siendo que puede ser al revés ya que lo que importa es la frecuencia que utiliza para realizar los procesos gráficos. La otra presentación me gusto mucho porque va muy de la mano con mi presentación. Esta constaba de la filosofía de software libre, dieron ejemplos bastante interesantes como el cultivo de frutillas. pues un cultivo puede ser comprado por un hombre con capital y le paga a los obreros para trabajar la tierra, y la mayos parte de las ganancias se las lleva el hombre, pero que pasaría si hombre compra solo un pedazo y luego otro hombre compra otro pedazo y cultivan los dos y luego se unen mas personas y crean un cultivo con la ayuda de todos, pues todo aportarían con algo y todos se llevaría un porcentaje de las ganancias más equitativa. las filosofías open source u también software libre han dado gran cabida al mundo actual, superando muchas veces a softwares de código cerrado con licencias pagadas. bueno luego tuve presentar mi exposición y me fue bastante bien. Fue un día bastante provechoso pero aun no terminaba.




Exposición de GNU/Linux - Tema a hablar...


   Me centraré en hablar en los aspectos más generales de este proyecto, hablando de su historia, los creadores y de la repercución que provocado en el mundo actual esta "base de sistema operativo".  ¿Qué es GNU? su etimología quiere decir GNU No es Unix, sin embargo, esta basado completamente en él, ya que es una copia pero trastalada a código abierto. Este proyecto de sistema operativo fue creado en 1983 por Richard Stallman (programador estadounidense, fundador y líder precursor del software libre). en 1990 el proyecto ya tenía un editor de texto llamado Emacs, un compilador de C llamado GCC y un estandar enorme de librerías basadas en Unix, el único problema era su núcleo o Kernel. Se llamaba Hurd el cual era demasiado complejo para ser soportados en hardwares de ese tiempo. El proyecto quedó estancado pero una parte del equipo decide utilizar otro núcleo también basado en software libre llamado Linux.

  Distribuciones GNU/Linux

   Es una recopilación de ficheros y softwares con el fin de hacer un sistema operativo totalmente funcional y hecho con la intención de cumplir ciertas tareas específicas, claramente basadas en GNU/Linux y con licencias Open Source.   Existen muchas y variadas distribuciones creadas por diferentes empresas y comunidades con precios bastante accesibles y hasta gratuitos. Cada una está dedicada con un fin específico como pueden ser enfocadas a empresas, usuarios normales o servidores. De hecho el 80% de los servidores del mundo funcionan con un sistema GNU/Linux eso quiere decir que nosotros día a día interactuamos con GNU/Linux. Google, Facebook están en estos servidores... Hoy en dia también este sistema se ha enfocado en el usuario común y corriente y el ejemplo mas claro es Ubuntu.



miércoles, 12 de octubre de 2011

Que aprendí hoy ? Nº 1

Solo haré un artículo del cual me recordará todas las cosas que aprendi hoy. Pues me levante a las 7 y trate de estudiar el sistema Joomla y su instalación, aunque fue todo un fracaso :/ , pues mi laptop tiene sistema operativo Ubuntu y me trajo bastantes problemas para crear un servidor local con soporte a php , Mysql y apache con Xampp... asique termine bastante resignado el no poder utilizar el gestor de administración Joomla, luego me dieron esos dotes de Programador y quise hacer un programa que me resolviera ecuaciones compuestas o EQN, pero me senti frustrado el nisiquiera resolver una ecuación simple en una aplicación... Pues básicamente este dia fue bastante frustrante como estudiante, ademas el profesor de Base de Datos pidió que lleváramos la laptop con 80 gb de espacio libre para intalar SQLserver ¬¬ ! una verguenza ! pues una tengo Ubuntu y otra pss ese afan de querer enseñar a utilizar productor Microsoft ¬¬ !!! . pero en fin Instale Win 7 y me acorde de Xampp y lo instale y pude crear un servidor local para ser visualizado en Joomla y eso me trajo bastante alegria ya que pude crear la base de datos , agregar una plantilla gratuita y administrar mi página web fácilmente . Pues si pude sacar un conclusión hoy día y es que aun falta para reemplazar a Microsoft y su sistema operativo , aun se dependen muchas cosas de él y es lamentable porque eso produce una devolucion a la informática.

Una gran gamma de especialidad ... ¿Cuál elegir?

   En el momento que decidí estudiar Ing. en informática tenía claro que iba a tener que estar con un computador encima toda mi vida ... ¿pero que realmente es lo que iba hacer en él? creo que un problema que todos tienen el primer año, ya que nadie te guía a decidir lo que realmente harás , es una gamma muy grande es como un doctor con todas sus distintas especialidades. De hecho muchos ingresan a estudiar con las ganas de desarmar un computador, ver circuitos, o arreglarlo en caso de algún problema. Pero ese es el peor error de todos... ya que la informática es una ciencia que estudia la automatización de las cosas y tiene bastante poca relación con el área de soporte de computadores. ya teniendo eso claro surge la pregunta ¿a qué te dedicarás? pues existen programadores , analistas, administradores de base de datos, webmaster, etc... existen muchas especialidades en las que "tienes" que ser un maestro para alguna de ellas.
Pero ¿Cuales son las mejores opciones?...
pues siempre hay que estar viendo cuales tienen mas empleabilidad y ademas cual es la que mas te guste.

  Hoy en día la programación web es la que tiene mayor importancia, ya que está de sierta forma reemplazando lo que algún día fueron los softwares o aplicaciones de escritorio. Ya no solo basta con dominar HTML , pues PHP es un área fundamental para hacer páginas dinámicas...
pero si lo vez más por el lado del dinero, Base de datos  es una buena opción sin embargo tiene muchas responsabilidades y ademas es bastante tedioso.
  Seguridad informática también es un área importante y sustentable, para eso tienes que tener un buen manejo de servidores , sistemas operativos , la escencia Hacker !.

                       

martes, 11 de octubre de 2011

20 tips para ser un mejor programador


1. Estudia, estudia y estudia
El estudiar nos permite perfeccionarnos, cuanto mas estudiemos mas oportunidades de programar mejor tendremos, no solamente estoy hablando de universidades, ni tampoco de cursos, hoy por hoy gracias a internet existen infinidad de tutoriales y manuales, sin ir mas lejos el sitio oficial de PHP es realmente muy bueno.

2. Busca antes de preguntar
Esto es un mal común del que quiere aprender a programar, es mas fácil preguntarle a alguien que sepa, pero realmente no tiene que ser así por varias razones, primero por que es algo de muy de vago, luego que cuando alguien nos da la respuesta fácil no aprendemos nada, lo interesante cuando se nos presenta un problema es buscar la solución nosotros mismos, sino damos con la respuesta recién ahí preguntar, este ejercicio realmente es muy beneficio, nos permite preparar nuestra cabeza para solucionar futuros problemas.

3. Busca scripts ya desarrollados
Por lo general podemos encontrar muchas funciones, scripts listos para utilizar, pero lo interesante es estudiarlos, ver como funcionan, de ahí aprendemos si copiamos y pegamos vamos mal.





domingo, 28 de agosto de 2011

Tener una cantidad infinita de información y no aprovecharla !

Pss me siento un estúpido cuando no hago nada siendo que puedo hacer muchas cosas. pss y pensar que tengo personas en mi misma edad que están estudiando detenidamente lo que les apasiona ¿será que a mi no me apasiona nada? seria terrible pensar pensar eso ,pero así es ... cuando veo artículos de niños que inventan cosas me da un sierto grado de envidia , digo porque ? ! yo a esa edad estaba viendo dragon ball Z ! D: ! pero aún tengo tiempo para remediar esta situación. Internet puede ser mi salvación , pero ojo también puede llegar a ser mi camino a la perdición...
Tengo algo a favor algo que quisas muchos no tienen, El Tiempo, es cosas de saber aprovecharlo, tengo bastante tiempo para pensar y para estudiar lo que creo que para mí es interesante. pss hay que ser alguien en la vida , no basta con ser un padre o una madre de una familia , no basta con ser un buen trabajador o una buena persona, hay que dejar una marca , una huella que diga wow aquel hombre revolucionó tal cosa .


sábado, 27 de agosto de 2011

Mi Primera nueva entrada ... ¬¬

  Hola a todos ! .... creo que empese mal , pss la verdad no me interesa saludar a nadie, de hecho dudo que alguien quiera leer mis memoriales. Sin embargo es como un reflejo condionado el saludar en un Blog ... la verdad hago esto porque nesecito expresar mis ideas y empesar a publicar cada pensamiento .. algo bueno podria salir de todo esto (creo) , habeces uno se cuarta de tantas ideas que pueden ser buenas pero no existe tal motivación para lograr a hacerla .
 Pero la verdad de todo esto es que me volvi adicto a los Blogs y ver lo que lo demás quieren decir, es bastante interesante saber que hay gente que piensa como yo.


lunes, 28 de febrero de 2011

Trabajas con archivo de datos - C++

//el siguiente archivo contiene datos acerca de  los empleados de una empresa, estos datos son los siguentes
//nombre
//apellido 
//sueldo
//cantidad de cargas familiares
//seguro medico
//fonasa o isapre
//afp

// se pide diseñar un programa que realice los siguentes procesos

//a) un procedimiento que cree los archivos con los datos iniciales( el usuario debe definir cuando no quiera seguir ingresando los datos)
// b) un procedimiento que liste todos los datos del archivo 
// c) un procedimiento que permita añadir un empleado
// d) una funcion que retorne la cantidad de empleados  que tienen mas de 3 cargas familiares, imprimir es este dato en el programa principal
// e) una funcion que reciba por parametro el apellido de un empleado y retorne su sueldo
// f)una funcion que retorne la suma total de todos los sueldos de los empleados

// el programa principal debe incluir el menu con las siguentes opciones:
      
      // 1 crear archivo
      // 2 listar empleados
      // 3 agregar empleados
      // 4cantidad de cargas
      // 5 sueldo de empleado
      // 6total sueldo
      // ingrese su opcion