Archivo de la categoría: dev-notas mentales

el segundo viaje inevitable

Dicen que las segundas partes son malas y tienen razón. Tener que vivir en un mundo en donde aprender nos cuesta tiempo supongo que es de lo peor de esta vida que nos toca vivir junto a los coleguitas humanos.

Ya sea por necesidad, curiosidad, inquietud o solamente un esnobismo tecnológico se me ha puesto en la cabeza que <tengo que> usar Linux, y ese será mi segundo viaje inevitable. Y peor aún. Porque tampoco tengo tiempo para su filosofía, lo digo por aquello de “el hábito no hace al monje”.

Decididamente tengo que hacerlo.

Ya he tenido mis amoríos, pero con mucha carga de frustración. Principalemente por ser ansioso.
Y esta vez no promete ser mejor.
Aunque, por otro lado, la consciencia del problema inicial es un paso adelante en camino al precipicio de las configuraciones, drivers y la mar en coche. Todo esto es grave teniendo en cuenta la posibilidad de esnobismo que comenté antes.

Material:

Digamos que si los tiempos apremian, y todo sale bien espero publicar el proximo post más animado.

Mientras tanto creo que me preguntaré como puedo sostener esta necesidad sin hábitos ni monjes de por medio.

Livin’la vida nerd!

Los descubrientos siempre hay que festejarlos!

Tengo una tabla t con c1 (entero) y c2 (entero).
Y quiero saber que registros tienen su par c2 dentro de un rango de valores N+n y que cada de estos valores al menos 1 vez.
Por ejemplo que «c2 sea igual a ‘1’ » o «c2 sea igual a ‘2’ «, pero que ambas condiciones sean para «un mismo c1»

Ejemplos:

c1 , f2
1 , 3
2 , 3
1 , 2
2 , 2
2 , 3
1 , 1
1 , 5

Para obtener: «c1», «cant_c2» , «lista_de_c2»

SELECT
t.c1,
COUNT(t.c2) AS cant_c2,
GROUP_CONCAT(t.c2) as lista_de_c2
FROM t
where c2=1 OR c2=2
GROUP BY t.c1
HAVING(count(t.c2)=2)

Es mi nota mental de hoy.

Validar checkbox como arrays

En esta categoría voy a comenzar a publicar post’s con soluciones a problemas que me han quitado el sueño. Las reuniré bajo «dev-notas mentales» y trataré de separarlas por tecnología.
Así que ahi vamos.

Problema:

Tenemos un formulario html hecho de la siguiente manera:

<form method="post" action="algo.php" onsubmit="return Valida()">
<input type="checkbox" name="miCheckbox[]" value="1" />
<input type="checkbox" name="miCheckbox[]" value="2" />
<input type="checkbox" name="miCheckbox[]" value="3" />
<input type="submit" name="bSubmit" /> </form>

Necesitamos que un script php (algo.php) reciba los valores de «miCheckbox» como si fuese un array pero necesitamos validar que al menos 1 esté chequeado.
Para validar recurría siempre a «document.getElementById» para acceder a cada uno de los checkboxes, pero con listas bastante grandes se torna quizás un poco pesado el proceso.

Existe otra manera que podría ser algo mejor:

La función validar podría ser:

function Valida ()
{
if (IsChk('miCheckbox'))
{
//ok, hay al menos 1 elemento checkeado envía el form!
return true;
} else {
//ni siquiera uno chequeado no envía el form
alert ('Chequeame un elemento!');
return false;
}
}
function IsChk(chkName)
{
var found = false;
var chk = document.getElementsByName(chkName+'[]');
for (var i=0 ; i < chk.length ; i++)
{
found = chk[i].checked ? true : found;
}
return found;
}

Como diré siempre: si alguno se encuentra con el problema ahi tiene otro punto de vista.

Acelerar descarga de recursos usando .htaccess

Estaba enloquecido viendo como el Internet Explorer 6 trata las imágenes (y otros recursos) en su cache, especialmente cuando se trata de realizar efectos con estilos a través de CSS o de JavaScript.

Un caso práctico: tenemos un enlace con un comportamiento «hover» que coloca una imagen de fondo sobre el mismo. Bien, el code sería algo así:

a:hover
{
background-image: url(archivo.gif);
}

Pero, nuestro amigo Internet Explorer (saludos Bill), parece que trata cada petición como un nuevo recurso, es decir: pasamos el mouse sobre el enlace y se realiza una petición al servidor (generando tráfico de ida y vuelta) y cuando lo volvemos a hacer (no importa si sobre el mismo enlace u otro) hay muchas posibilidades de que se genere la petición (más tráfico,… sabelo).

¿Cómo forzar que se utilice una imagen de caché? (teniendo en cuenta de que necesitemos hacerlo). Sigue leyendo