Menos tres al cuadrado

Esta es una referencia de los resultados que dan diferentes lenguajes y herramientas ante las expresiones -3^2 y 2^2^3, sin paréntesis. En el primer renglón está la referencia de lo que dictan las matemáticas. No significa que los lenguajes estén mal. Simplemente su algoritmo de parseo es diferente. Lo que importa es que el comportamiento … Leer más

¿Por qué procrastino?

Esta es una respuesta que le di a un participante de Programadores y Estudiantes en Discord. No puedo afirmar que lo que le dije sea efectivo, pero a mí me ha sido útil.

Su pregunta:

Cuando quiero aprender a programar siempre me distraigo o digo «ahorita le sigo». ¿Alguien sabe cómo solucionar eso?

Leer más

Q&A: PostgreSQL: LEFT JOIN por tipo de registro

Esta publicación corresponde a una respuesta que he dado via chat en el grupo de ayuda PosgreSQL en Español en Telegram.

Un usuario tiene una tabla con dos columnas: tipo_objeto e id_objeto. Los objetos se almacenan en otras tablas, pero la tabla en la cual se almacena el objeto depende del tipo de objeto. En algunos contextos esto se denomina relaciones polimórficas.

Por ejemplo, se puede tener una tabla de recursos en la cual se almacena una lista de recursos por departamento. Los recursos pueden ser humanos o materiales. Tendríamos la tabla humanosmaterialesrecursos. Lo interesante es que en la de recursos tendríamos los campos siguientes: fk_depto_id, tipo_recurso, recurso_id. Este último campo es un identificador que se encuentra en la tabla humanos o materiales según lo que indique tipo_recurso.

¿Cómo hacer un LEFT JOIN entre la tabla que almacena la relación y las tablas con los objetos?

Leer más

JOINs en SQL

Explicando a un amigo cómo funcionan los JOIN en SQL [1] me confundí por un momento con otra cosa y le dije puras falsedades hasta que reaccioné y me di cuenta de que estaba confundido, o —como diría Les Luthiers— reflexionando por caminos sinuosos, digamos, razonando fuera del recipiente.

Además, para una persona que no ha manejado JOINs antes, o que los ha manejado pero tiene dudas, es mejor mostrar un ejemplo. He optado por preparar uno y dejarlo aquí fines de apoyo didáctico.

Tenemos dos tablas: viviendas y colores. Para la vivienda almacenamos el nombre del dueño y el color. Para la tabla de colores almacenamos el color y su fórmula en formato hexadecimal. Después tenemos los cuatro tipos principales de JOIN. ¿Qué diferencia hay entre los cuatro?

Leer más

Esperar hasta terminar la entrada estándar

Si uno teclea líneas a la entrada estándar desde el teclado, ésta se va procesando línea por línea: $ cat -n hola 1 hola mundo 2 mundo maravilloso 3 maravilloso ^D $ Así, resulta impráctico marcar la salida usando el ratón para copiarlo al portapapeles o simplemente para ver la salida junta. Como alternativas tenemos: Marcar … Leer más