Conceptos

Conceptos generales de programación o cómputo, no necesariamente atados a una tecnología específica.

Siempre es importante el modelo de objetos

Si el modelo de objetos de Javascript es bien entendido, entonces lo siguiente se entiende:
 
Si no, se aprenderá el lenguaje, pero no se llegará con él al Nirvana.

Asimetría de la información Parte II: Se puede aprovechar la economía de escala en el desarrollo software? Que alternativas hay?

Primeramente, pensé que el truco tenía que encontrarse en el concepto de economía de escala, los tostadores, refrigeradores, etc, son menos costosos por que se producen en grandes cantidades. Claro, eso explica por qué es más barato comprar un tostador que construir uno por mí mismo, pero ¿Qué pasa con el software que construyen las consultoras? ¿Aplica ahí el mismo principio? ¿Y con el software de procesador de textos que podría estar usando para escribir esto?

Asimetría de la información: Parte I: Por que existen las empresas? ¿Por qué no se vende todo sin intermediarios?

Hace ya unos meses, me encontré por casualidad con que @Domix había twiteado la dirección hacia un “rant” (¿una perorata?) de Zed Shaw (el creador de Mongrel) en la que despotrica sobre todo lo que le molesta de la comunidad alrededor de Ruby on Rails. En lo personal, yo no soy desarrollador de Ruby, ni de Rails, y aunque la perorata de Shaw me pareció, como a muchos de los que la leímos ese día, interesante, no fue por sus quejas sobre esa comunidad si no por algo que comenta más adelante:

Where I work the company is willing to blow huge amounts of money on a consulting firm or hardware, but ends up firing people when times get tight. It’s a universal mass hysteria that paying $100 – $200 per hour for a group of consultants is preferable to simply hiring good employees. At the rates companies pay these consultants they could hire 4 full time employees.

Código “flecha” y cláusulas de guardia

Hace poco me encargaron cambiar un código bastante viejo para que pudiéramos usarlo en una capa de Batch donde se requiere dividir bastante lo que se quiere hacer i.e. hacerlo en lo que Spring Batch llama Tasklets.

Obviamente llego el momento en que tuve que seguir el código para entender que es lo que hacía (además de preguntar qué es lo que se supone que debe hacer, cosa diferente) y mi sorpresa fue que me topé con un código que se veía similar a esto...

Reseña del Taller de Ceylon: Conceptos Basicos (y experimentos no tan basicos). Primera Parte

El sábado pasado asisti al taller de Ceylon, en el taller vimos diferentes temas: Conceptos básicos, Clases, Manejo de Nulos, Uniones e Intersecciones, Funciones, Iterables

En la sección de Conceptos Básicos vimos al típico hola mundo:

 

En Ceylon un programa es simplemente una función de primer nivel sin parámetros.

Vimos que cuando una funcion sólo devuelve una expresión, se puede abreviar usando la "flecha gorda"

 

Y tambien nos introdujeron a los parametros variadicos (los que pueden aceptar multiples valores):

 

Una de las caracteristicas mas interesantes de Ceylon es que puede inferir el tipo de una
declaración local.

 

Rituales de Arquitectura y patrones: De la importancia del camino medio Once and Only Once Balances Yagni – Parte 2

…escuchó a un maestro que estaba enseñándole a una niña a tocar un instrumento de cuerda. Dicho maestro le dijo que si la cuerda estaba muy floja no sonaría, pero si la cuerda del se encontraba muy tensa se rompería: la cuerda debía estar en su justa tensión para que pudiera dar música y armonía. En ese momento comprendió el camino medio

En la parte anterior de esta serie, les relate sobre YAGNI y OAOO y les dije que OAOO y YAGNI son como el Ying y el Yang. Se balancean. Sin OAOO, YAGNI lentamente nos estrangularía. Con OAOO, siempre tienes un sistema que puedes mejorar (frase de Ron Jeffries).

Yo también amarraba al gato, construía los sistemas como veía que los construían los demás, estaba en el nivel Shu de ShuHaRi a la hora de programar sistemas empresariales, ponía mis DAOs, ponía mi Servicio y ponía mi Controller.

Todos los sistemas “bien arquitectados” que conocía lo hacían, asi que lo hacia yo también. Si un sistema bien arquitectado se ve así al final, debe ser por que se veía así desde el principio… ¿no?

Rituales de Arquitectura y patrones: De la importancia de amarrar al gato - Once and Only Once Balances Yagni – Parte 1 SGCE2013

El maestro de zen y sus discípulos comenzaron su meditación de la tarde.El gato que vivía en el monasterio hacía tanto ruido que distrajo los monjes de su práctica, así que el maestro dio ordenes atar al gato durante toda la práctica de la tarde.
Cuando el maestro murió años más tarde, el gato continuó siendo atado durante la sesión de meditación. Y cuando, a la larga, el gato murió, otro gato fue traído al monasterio y fue atado durante las sesiones de práctica.
Siglos más tarde, eruditos descendientes del maestro de zen escribieron tratados sobre el profundo significado espiritual de atar un gato para la práctica de la meditación

Hace algunos años asistí a un evento que Sun organizo para promocionar Java aqui en Mexico (Java Dev Days creo que se llamaba). En aquel entonces entre a una presentacion, creo que era de Sang Shin (el creador de JavaPassion) en la que explicaba lo simple que era utilizar JRuby con Ruby on Rails para crear una pagina de “hola mundo”. Era algo mas o menos como este video: http://www.youtube.com/watch?v=sas3KCKwyHI. Era la primera vez que veia a RoR asi que por ese lado me parecio educativo… sin embargo, la mayor parte de audiencia… se estaba durmiendo!

mySql hora y fecha

Alguien que me ayude como poner solo la hora automaticamente en mySql, y la fecha, pero en campos distintos,. se los agradeceria mucho..

Estimacion: Supuestos de Desempeño (Parte 5)

Una petición (que a menudo se convierte en exigencia) muy común que hacen los clientes, es una garantía de desempeño, cosas como:

  1. Quiero que todas las pantallas/paginas tengan un tiempo de respuesta máximo de 3 segundos.
  2. Quiero que todas las consultas tengan un tiempo de respuesta máximo de 3 segundos
  3. Quiero que el sistema corra en mi servidor (cuando bien nos va, nos dicen las características del servidor)

Que hacer en un caso así? Cuando yo acababa de salir de la carrera (hace ya más de una década) mi respuesta solía ser: "Necesito más datos", "Con la información que tengo no puedo garantizar ese desempeño", "No sé ni en que consiste el algoritmo para el proceso de cálculo de comisiones por ventas indirectas ¿cómo voy a garantizar que la pantalla donde veo el resultado de eso responda en 3 segundos???"

Casi sobra decir mi actitud era la actitud equivocada...

Java Server Page

lo que pasa estoi haciendo un proyecto escolar, una aplicacion web.. JSP.. lo que pasa que tengo usuario y contrasenia para poder acceder.. la duda que tengo es que si pongo en la direccion cualquier pagina se dirije a ella sin iniciar sesion lo cual no sirve de nada que tenga usuario y contrasenia.. alguien me puede ayudar.. ? como puedo hacer

Distribuir contenido