Backend Handbook para Aplicaciones Ruby on Rails

A lo largo de mis años de trabajo he recopilado conocimientos e información que me ha ayudado a ser un mejor profesional.

Cuando pienso en que qué podría haber sido de mi si esas personas que decidieron escribir un artículo, publicar un libro, responder una pregunta en Stack Overflow, dar una charla o publicar un vídeo no lo hubieran hecho.

Leer más “Backend Handbook para Aplicaciones Ruby on Rails”
Anuncios

Cosas de JavaScript: Seleccionando ID numérico con querySelector

En el artículo anterior a este describo algunos aprendizajes mientras completaba una prueba técnica. Había que implementar una especie de resaltado en textos en una página, mandarlos a una base de datos y poder traerlos de nuevo y mostrarlos donde van.

Pasa que una de las formas de tener precisión sobre dónde volver a mostrar lo que se resaltó era guardando algunos elementos adicionales como el párrafo, un ID que identifique al párrafo y en el caso puntual de la prueba, podía guardar el ID de la página del texto(los textos eran páginas de un “libro” web).
Leer más “Cosas de JavaScript: Seleccionando ID numérico con querySelector”

Cosas de JavaScript: Diferencia entre parentElement y parentNode

Creo que esta es la primera vez que escribo algo sobre JavaScript a nivel del lenguaje. Ya antes había mencionado cosas que había logrado pero no explicaciones al respecto de algo, como sí lo he hecho en Ruby.

JavaScript fue el primer lenguaje de programación web que aprendí(HTML y CSS no son lenguajes de programación). Lo hice a través de un libro gratuito muy popular publicado por Javier Eguiluz: Introducción a JavaScript.

Sin embargo, hay muchas cosas de fondo en JS que desconozco. Tal vez sea la naturaleza multiparadigma del lenguaje o que mi experiencia con el mismo nunca ahondó ya que cuando iba a programar asuntos complejos, pues, generalmente había una librería para ello, ejemplo jQuery para manipulación del DOM. Leer más “Cosas de JavaScript: Diferencia entre parentElement y parentNode”

Servidores: ¿Mascotas o Ganado?

Recuerdo, hace ya varios años, en una empresa pequeña en la cual trabajé un día mi jefe me encargó una tarea que me hizo coger gusto e interés en el mundo de operaciones o lo que suelen llamar DevOps.

Se me acerca un día miércoles o jueves y me dice:

Frank, el servidor dedicado nos cuesta X cantidad de dólares. Si el sábado logras migrar todos los sitios web que están ahí hospedados a servidores en Linode, te doy esa X cantidad a ti. Sino, toca pagar y en todo caso debes hacer la migración.

saitama-unimpressed

Ya venía trabajando algún tiempo con configuraciones en Linode por lo cual no había tanto desconocido pero la tarea pedía completarse en tiempo casi récord. Bueno, al final de la historia lo logré pero el resultado fue 20, aprox, servidores(más direcciones IP, más DNS, etc) que debía gestionar a diario.

Leer más “Servidores: ¿Mascotas o Ganado?”

Sobre las Interfaces en Ruby

Lo primero es que no existe tal cosa como una interfaz en Ruby como sí ocurre en otro lenguaje orientado a objetos, Java.

En todo caso, hay formas de intentar emular ese mecanismo pero antes vamos a definir que es una interfaz para tener un concepto claro.

¿Qué es una Interfaz?

Es una especie de contrato o descripción que una clase se “compromete” a tener al implementar(usar) dicha interfaz. Este contrato está dado por una colección de métodos abstractos(sin definir su funcionalidad) los cuáles deben ser implementados en la clase que se adhiere a la interfaz.

Leer más “Sobre las Interfaces en Ruby”

Sobrecarga de métodos en Ruby

Una de las cosas buenas de presentarse a procesos de selección en el mundo del desarrollo de software es poder medir como está el nivel de conocimientos de uno mismo y además aprender conceptos nuevos.

En un proceso en el cual participé en Baires Dev, una de las preguntas que no pude responder fue acerca de method overloading en Ruby. Ese mismo día investigué e interioricé. Ahora trataré de explicarlo en este espacio.

Según la Wikipedia, la sobrecarga de funciones o métodos es la habilidad de crear varios métodos nombrados igual pero con diferentes implementaciones(entiéndase implementación como cuerpo de la función).

Leer más “Sobrecarga de métodos en Ruby”

Configuración Correcta para Permisos de Archivos en WordPress en Linux

Vengo a traer la solución definitiva a este lío de permisos. Unos sitios dicen que hay que aplicar X permisos, otros dicen que Y. Pues yo digo que Z y esta es la forma que mejor me ha funcionado en tres migraciones seguidas que hice de sitios WordPress desde hospedajes compartidos a servidores en AWS. Veamos. Leer más “Configuración Correcta para Permisos de Archivos en WordPress en Linux”

Cómo Encontrar Archivos por Tamaño Usando la Consola

A veces hay tantas cosas que hacer que algunas tareas básicas o sencillas se nos olvidan. Solemos darle más importancia a unas cosas por encima de otras por su peso o prioridad, sin embargo, hay tareas menores que permiten que esas grandes puedan ser resultas sin complicaciones.

Con lo anterior me refiero al mantenimiento que generalmente hay que hacerle a nuestros equipos electrónicos, electrodomésticos y más aparatos que usamos en el día a día. Así como a un vehículo hay que llevarlo a revisión cada tantos kilómetros, también debemos revisar nuestros equipos(computadores, celulares, tabletas, etc) cada tanto. Leer más “Cómo Encontrar Archivos por Tamaño Usando la Consola”

¿Puede ActiveRecord::Relation recibir mensajes de métodos de clase? Sí

Ruby on Rails es una criatura enorme. Ofrece muchas funcionalidades y elementos que hacen fácil la vida de quien usa el framework bajo el nombre de magia. Magia que muchas veces no tenemos ni idea de cómo funciona.

Algunos podrán decir que esa magia es muy mala al ocultar cosas a quien desarrolla. Otros dirán que es buena justamente por lo mismo. En todo caso, siempre está la posibilidad de examinar el código fuente y ver cómo toda esa magia trabaja bajo cuerda.

Leer más “¿Puede ActiveRecord::Relation recibir mensajes de métodos de clase? Sí”

Clouding.io una nueva alternativa en Infraestructura web

La Nube. Un término complejo y a la vez simple. Recuerdo ya hace muchos años cuando Dropbox se dio a conocer con un concepto revolucionario, nunca antes visto y que luego fue replicado por diferentes empresas, dando entender que era un modelo de negocio atractivo y rentable.

Podrías decirme que ya estaban los servicios de almacenamiento como Megaupload, MediaFire y similares pero, a mi parecer, Dropbox tenía un encanto diferente el cual era la sincronización de carpetas de un computador a la cuenta en este servicio… a la nube.

Dropbox es lo que se conoce como un SaaS(por sus siglas en inglés para Software as a Service), una modalidad de negocio donde una empresa ofrece un software y los usuarios acceden a este pagando una mensualidad. La principal ventaja para quienes lo usan radica en que no tienen que pensar en infraestructura, diseño, desarrollo ni soporte del producto. De todo eso se encarga el dueño. El usuario solo lo utiliza. Leer más “Clouding.io una nueva alternativa en Infraestructura web”