martes 24 de junio de 2008

De Regreso

Si, continuare escribendo en mi blog, no habia podido escribir debido a una enfermedad muy fuerte que me pego recientemente pero afortunadamente ya todo paso, despues hablare al respecto, pero despues de casi 3 meses de inactividad y hospitalización ya estoy dado de alta y listo para volver, una de mis noticias mas notables es la creación de mi nueva compañia de desarrollo web. tresfiles de la cual pronto tendre publicados mis servicios asi como el sitio, por el momento me despido, agradezco su comentario a Gustavo Betancur, y pronto tendre en linea un post sobre el uso de modelos en rails, que claro es el corazon de una buena aplicación en rails, y claro en el modelo MVC, saludos.

Atte:

Ismael G. Marín C.

martes 15 de abril de 2008

Rails 2.0

Saludos a todos y bueno primero que nada una disculpa por la falta de posts, pero bueno regresamos y con mas fuerza, ejeje, ahora bien vamos entrar a materia.

En diciembre del 2007 el framework de desarrollo Ruby on Rails sufrió una actualización de gran importancia a su framework el ahora Rails 2.0 , ahora bien, me he dado a la tarea de buscar información principalmente para los "Novatos" interesados en aprender este framework así como tutoriales en español, como se podrán imaginar sin mucha suerte, esta es la razón de la creación de este Blog, en el cual tratare de enseñar a poder sacar provecho de este framework así como la conjugación con el increíblemente potente y versátil lenguaje de programación Ruby.

Ahora bien primero que nada algo que me apasiona sobre este framework es el hecho de adoptar una serie de tecnologías así como metodologias de programación las cuales nos permiten tener una mejor programación y control sobre el que será nuestro control sobre el resultado final y lo mejor de todo, es bastante divertido, continuación doy una pequeña explicación:

MVC (Modelo - Vista - Controlador), esta es una metodología de programación la cual nos da como premisa el hecho de estructurar nuestro código en base a tres partes funcionales, las cuales se estructuran de la siguiente forma:

El modelo es donde nos permite tener un control de nuestros datos así como la manipulación de estos, la Vista es la interfaz de usuario esta se basa principalmente en la interacción directa aquí es donde aplicamos principalmente tecnologías como CSS, HTML y Javascript (AJAX), y por ultimo tenemos a el Controlador que es la lógica de control de nuestro programa es nuestro pegamento dentro de la interacción de la Vista y el Modelo, a continuación presento un pequeño esquema de como trabaja una aplicación mediante le uso de Ruby on Rails.



Modelo

Muy bien continuando con el esquema de trabajo de Rails y haciendo referencia al esquema anterior tenemos el primer elemento de nuestra metodología de programación la cual esta basada en CRUD lo cual hace a Create, Read, Update y Delete y ciertamente esta esta aplicada a las acciones básicas de una base de datos pero entonces que hay con esto, pues bueno una gran ventaja que nosotros obtenemos es el hecho de poder la base de datos con código de Ruby y no por el clásico SQL y para lograr esto Rails utiliza el ORM el cual es Object-Relational Mapping, y eso quiere decir que la base de datos va a ser manipulada como un objeto y que a su vez esto lo vamos a poder realizar gracias a código de Ruby que en su momento será traducido por el propio framework a código SQL, con lo cual ganamos una manipulación de la base de datos se hace de una forma mas intuitiva, no se preocupen lo veremos mas claramente en el siguiente Post cuando empecemos a desarrollar nuestro ejercicio.

Ahora bien la manipulación de Vista será en base a la combinación de codigo html + Ruby de hecho actualmente hay una gran diferencia entre las extensiones de los archivos utilizados para las vistas entre Rails 1.2 y Rails 2.0 en el primero la extensión es .rhtml y en el segundo html.erb el cual hace referencia tanto a html como a Ruby, recordemos que una gran ventaja de nuestra aplicación es el hecho de que con Rails podemos integrar de forma directa las librerías mas importantes de Javascript que son Scriptaculos y Prototype, pero recuerden es de suma importancia tener en cuenta que la lógica de esta aplicación la cual estará siendo afectada por el Controlador y en base a a esta suma obtenemos nuestro sistema de trabajo de MVC.

DRY Dont-Repeat-Yourself, esta metodología de programación hace referencia al hecho de no repetir código y bueno mas haya de no repetir código es el hecho de reutilizar el codigo existente, en si esta tecnica hace referencia a la Programación Orientada a Objetos, y es uno de los pilares de Ruby on Rails.

REST Este punto merece un blog por si mismo, en la actualidad las paginas estaticas donde no existe la posiblidad de compartir información ya sea entre los mismo sitios o bien con aplicaciones de escritorio, estan perdiendo un gran punto de crecimiento y REST es una técnica de arquitectura software para sistemas web que te permite comunicar por medio de HTTP y la combinación con XML, ahora bien se define un conjunto pequeño de operaciones, las más importantes son POST, GET, PUT y DELETE. Con frecuencia estas operaciones se equiparan a las operaciones CRUD que se requieren para la persistencia de datos, aunque POST no encaja exactamente en este esquema, en Rails 2.0 veremos que ha tomado una importancía mayor asi como nos ha facilitado el hacer esta forma de arquitectura.

TDD Desarrollo guiado por pruebas, o Test-driven development (TDD) es una práctica de programación que involucra otras dos prácticas: Escribir las pruebas primero (Test First Development) y Refactorización. Para escribir las pruebas generalmente se utilizan las pruebas unitarias. Primeramente se escribe una prueba y se verifica que las pruebas fallen, luego se implementa el código que haga que la prueba pase satisfactoriamente y seguidamente se refactoriza el código escrito, ahora bien esto ya viene integrado con Ruby on Rails, asi que esto nos permite tener un control sobre la calidad de nuestro software ma sin embargo en este Blog utilizaremos otra metodología no solo de pruebas de software sino de programación la cual es BDD y entrare en esta en detalle en un post siguiente.

NOTA: en Post siguientes realizaremos una aplicación de inicio a fin utilizando el codigo correcto.

lunes 14 de abril de 2008

Entender la Web 2.0

A continuación agrego unos vídeos que ayudan a comprender que hay mas dentro de este fenómeno de la Web 2.0, espero les gusten tanto como a mi.

Entendamos Twitter:


Wiki:






Y que es el RSS:



Social Bookmarking:






Y ahora si las redes sociales, creo que esto, la gran mayoría creemos saber que es, ho no:






Espero esto sirva para entender mejor nuestra nueva red.

domingo 13 de abril de 2008

El Diseño Web 2.0

A continuación agrego una pequeña presentación que nos dará la primer pauta para entender lo que es diseño dentro del web 2.0, que es el primer punto de trabajo en el cual estará basado este blog


sábado 12 de abril de 2008

La Web 2.0

Desde mi punto de vista, hay que comprender las necesidades del hoy en día en la web, ya que conociendo lo que actualmente nos rige así como los pasos bajo los cuales nos dirigimos como sociedad web, tendremos la capacidad de poder realmente ser parte activa de estos movimientos y poder aportar al futuro, en la actualidad hay un gran surgimiento de la llamada Web 2.0, llamada así por Tim O´reilly de O´reilly Media, la cual nos marca en que forma el contenido web ha cambiado de forma significativa a los largo del tiempo y como es que en la actualidad estamos llenos de las llamadas redes o sitio sociales, lugares como Myspace, Facebook, Wikipedia están teniendo un gran éxito debido a la orientación que se le esta dando al contenido dentro del sitio el cual a su ves esta siendo suministrado por los propios usuario, bueno no nos vayamos mas lejos este blog es parte de un trabajo independiente enfocado a gente interesada en Programación Web, mediante el uso del lenguaje de programación Ruby y el framework de trabajo Rails, con lo cual se busca la interacción y claro el enriquecimiento del conocimiento sobre este.

Pero bueno no quiero darles una clase del Web 2.0, teniendo una gran referencia como Wikipedia en la cual podremos encontrar su significado, lo que si quiero darles a continuación un link el cual nos lleva a un articulo de Tim O´reilly, que nos habla a detalle de este gran resurgimiento de la Web.

Da le Click Aquí.

Para finalizar quiero que tomen en consideración que lo mas importante siempre debe ser el responder el Que?, y no el Como?, a que me refiero con esto.

Al hecho de que si tenemos claro que queremos desarrollar tendremos la capacidad de entender cada componente de nuestro fin y solo así comprendiendo nuestro objetivo (Que?) podremos tener la capacidad de poder no solo crear lo que queremos hacer sino también poder innovar nuestra idea original y el hecho en este caso de la construcción de nuestro sitio (Como?), se vuelve en un simple problema técnico al cual no tendremos mayor problema de encontrar la solución.

jueves 28 de junio de 2007

Bienvenida

Quizás sea raro dar siempre leer los clásicos mensajes de bienvenida a algún sitio, lugar, pero al final de cuentas estos marcan una pauta del inicio de un evento, y bueno para no variar, entonces dejenme contarles de que va a tratar este blog y quien soy yo.

  • En primer punto este blog hablara sobre lo nuevo de la llamada Web 2.0 (la cual en un futuro hablare al respecto).
  • Sobre cuales tecnologías están inmersas en esta como lo es Ruby, Rails, Ajax, XML, SOAP, Javascript y CSS, tratare de explicar de manera muy sencilla pero sustancial cada uno de estos temas y bueno que efecto tienen sobre nuestra vida actual.
  • Hablaremos de google, jejej por raro que suene pero al parecer cada día esta empresa se esta haciendo mas importante en nuestra vida y bueno cuales son las situaciones que esto con lleva.
  • Mac, Mac y Mac, y bueno esto vendrá seguido sobre un poco de mi curriculum y como estas computadoras con su sistema operativo están marcando un rumbo interesante en nuestra vida y futuro, ojo incluso si no utilizamos estas platicare de que forma Apple Inc. (la empresa que fabrica las llamadas Mac) esta teniendo una increíble presencia  en los cambios de la tecnología.
  • Y claro quisiera comentar principalmente sobre México, que es el país donde nací y donde vivo y tratare de plasmar que mi país esta viviendo frente a este cambio tan grande de la forma de vida.
Bueno creo que ya me estoy aburriendo de escribir esta tan larga introducción y que esta siendo demasiado burocrática, quizás mas de lo que planeaba, jejeje en fin, les agradezco su atención y espero la visiten con frecuencia, le digan a sus amigos y claro opinen al respecto.

Sin mas por el momento me despido.

Atte:

 iMarin