Trabe ya no escribe aquí. Puedes encontrarnos en nuestra publicación en Medium: medium.com/trabe.

4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

Date a conocer

| | Comentarios

En Riding Rails han publicado un par de post (1 y 2) breves pero interesantes. Comentan la exsitencia de dos webs para darse a conocer dentro de la comunidad Rails.

En workingwithrails.com podeis publicar vuestro perfil como programadores Rails. Si probais a buscar por “trabe” veréis como aparecen las 4Trabes. También están apuntados otros ilustres como el señor Heinemeier.

Cuando tengáis una apliación Rails digna de ser mostrada al mundo podéis visitar happycodr.com y darla de alta. Esta página es un directorio de aplicaciones Rails y en ella aparecen sitios tan conocidos como basecamp o 43 Places.

Nota mental: no olvidar el var

| | Comentarios

A veces el domingo no es el típico día en que te tiras en el sofa a ver la vida pasar y recuperar fuerzas para ir el lunes a trabajar con un mínimo de alegría. A veces, el domingo, te dedicas a hacer labores de consultoría para los conocidos, amigos, familiares y demás. Hoy ha sido un domingo de esos. Y no uno llevadero, ha sido uno en el que te preguntas cada 20 segundos por qué leches te levantaste de la cama con lo bien que estabas roncando. En fin. Me estoy desviando del tema.

Nota mental: no olvidar el var

Para ser breve, diré que mi labor de consultoría incluía la creación de un tag JSP que generaba un complicado formulario, que para más inri tenía que hacer filigranas JavaScript. La cosa iba como la seda, hasta que necesitamos recursión. Sí, recursión. No recuerdo haber necesitado hacer nada recursivo en JavaScript en mi vida, pero las circunstancias mandaban y no era el momento de buscar otras alternativas…

1
2
3
4
5
6
7
8
9
10
11
function hazAlgoConElNodo(nodo) {

   var nombreNodo = nodo.nodeName;
   var claseNodo = nodo.className;

    // etc, etc.   

    for (i = 0; i < nodo.childNodes.length; i++)  {
        hazAlgoConElNodo(nodo.childNodes[i]);
    }
}

… código inocente donde los haya, con una recursión trivial. Pues nada, vamos a probarlo y ¡Upss! el navegador explota. ¡No me puedo creer que entremos en un bucle infinito!, ¡es imposible!, ¡mi%xc%$!, ¡c$%j%$s! y demás improperios. Nos calmamos, depuramos un poco, y … ¬_¬U … por qué leches me levanté de la cama con lo bien que estaba roncando.

1
 for (var i = 0; i < nodo.childNodes.length; i++) {

Mucho mejor. Es lo que pasa cuando uno trabaja cuando debería estar descansando y no es capaz de leer lo que tiene delante. Hay que ver lo fácil que es olvidarse de un keyword importante en un lenguaje como JavaScript y no darse cuenta. Hay que tener mucho cuidado con el susodicho var que marca el ámbito de las variables (o scope, según el gusto lingüístico de cada cual).

A mi no me vuelve a pasar… espero xDDDD. Lo dicho, nota mental: no olvidar el var.