Métodos Javascript que te pueden ser útiles

Hola a todos, Ufff hace mucho que no publico una entrada contundente. La verdad he estado demasiado ocupado realizando mi tesis de la cual les hablaré en un tiempo más... cuando la termine.

Este post algo tiene que ver con mi tesis y son algunos de los métodos javascript que he tenido que construir para facilitar la obtención de datos y validaciones (a pesar de que ya existen frameworks como JQuery que ya lo hacen, siempre es mejor saber como se hacen las cosas antes que la total abstracción).



El siguiente método obtiene todos los elementos HTML de un tipo específico y cuyo ID cumpla con patrón recibido como parámetro.

function getElementsLikeID( tagName, likeID ){
var elementsLike = [];
var elementos = document.getElementsByTagName( tagName );
if( elementos!=null ){
var j=0;
for( i=0 ; i<elementos.length ; i++ ){
if( elementos[i].id!=null && elementos[i].id.indexOf(likeID)>-1 ){
elementsLike[j++] = elementos[i];
}
}
}
return elementsLike;
}


Si ejecutas getElementsLikeID('INPUT','porcentajes_'); devolverá un arreglo con todos los elementos HTML input cuyo ID contenga la palabra 'porcentajes_'.


Utilizando el método "getElementsLikeID" se pueden hacer una infinidad de funciones, por ejemplo una que permita cambiar la clase de diversos elementos de la página.

function cambiaClassPorTag( tagName, likeID, nombreClase ){
var elementos = getElementsLikeID( tagName, likeID );
if( elementos!=null ){
for( i=0 ; i<elementos.length ; i++ ){
elementos[i].className = nombreClase;
}
}


Por ultimo les dejo unos métodos que sirven para marcar varios checkbox que posean un nombre en común y otro para marcar todos los checkbox que estén dentro de una columna de una tabla (al hacer click en la columna se marcan todos los checkbox).

1) Marcar o descmarcar todos los checkbox con nombre en común.

function checkBoxLikeNameMarcar( name ){
checkBoxLikeName( name, true );
}

function checkBoxLikeNameDesmarcar( name, marcar ){
checkBoxLikeName( name, false );
}

function checkBoxLikeName( name, marcar ){
var checkBoxes = document.getElementsByTagName('INPUT');
for ( i=0 ; i<checkBoxes.length ; i++){
if(checkBoxes.type='CHECKBOX' && checkBoxes[i].name.indexOf(name)>-1){
if( marcar && !checkBox[i].checked )
checkBoxes[i].click();
else if ( !marcar && checkBoxes[i].checked )
checkBoxes[i].click();
}
}
}


2)Marcar todos los checkbox de una columna de una tabla.
*El parámetro "aLink" es un link que va en un o al principio de la columna.

function checkColumna( aLink ){
var tdPresionado = aLink .parentNode;
var trTabla = td.parentNode;
var pos = 0;
for( var i=0 ; i<trTabla.cells.length ; i++ )
if( tr.cells[i]==tdPresionado )
pos = i+1;
for( var i=2 ; i<trTabla.parentNode.rows.length ; i++ ){
trTabla.parentNode.rows[i].cells[pos].getElementsByTagName('INPUT')[0].click();
}


Bueno eso es todo por ahora, espero les sirva ;)
Saludos

PD: Feliz navidad y año nuevo ultra atrasado xD.

ver post completo...

Frases: Software y catedrales

El software y las catedrales se parecen mucho. Primero lo construimos, después rezamos.

–-Anónimo

ver post completo...

Frases: Programación

"Los programas deben ser escritos para que la gente los lea y sólo incidentalmente, para que las máquinas los ejecuten."

---Abelson / Sussman


visto en: hackification

ver post completo...

Gestiona tu proyecto facilemente con Scrumy

Navegando por ahí me encontré con Scrumy una herramienta que permite organizar y gestionar las tareas que se deben realizar en un proyecto con todo el estilo de Scrum.

No hay mucho más que decir les dejo el link del sitio, el cual permite crear proyectos de manera gratuita en su modo FREE o puedes pagar un poco para acceder a todas las funcionalidades en su modo PRO: SCRUMY!!



Aquí les dejo un video que explica de qué trata SCRUMY:


ver post completo...

¿Necesitas iconos para tu web?

Hola a todos.

Siempre cuando desarrollamos un sistema llega el momento de escoger qué
iconos utilizarás. Si eres nuevo y no tienes ideas de las licencias
que pueden tener las imágenes que circulan en la web, pues debo decirte
que no puedes llegar y tomar los iconos que quieras...

Excepto en Wikimedia Commons donde encontrarás una cantidad impresionante de imágenes (en formato PNG y SVG) e iconos bajo licencia "GNU General Public License" más conocida como "GNU GPL" o "GPL".

Para más información visita los siguientes enlaces:
GNU GPL (Wiki)
GNU GPL (Sitio oficial)

Saludos.-

ver post completo...

Frases: Proyectos

"Si deseas empezar y desarrollar algo grandioso, no necesitas millones de dólares de capitalización. Necesitas suficiente pizza y Diet Coke en la nevera, una PC barata y trabajo y dedicación para realizar tu idea."

---John Carmack


visto en: hackification

ver post completo...

¿Cómo aplicarías SCRUM?

Mencionábamos sobre la metodología ágil de desarrollo SCRUM permite, entre otras cosas, involucrar al cliente durante todo el proceso de desarrollo, además de motivar constantemente al equipo de trabajo a través de breves reuniones diarias. Todo el equipo conoce perfectamente en qué punto del desarrollo se encuentra el proyecto y qué falta por hacer.



¿Cómo aplicarías SCRUM? Aquí les dejo un ejemplo o plantilla de cómo se podría llevar aplicar:

Etapa 1: Toma de requerimientos.
Definición del "Product Backlog", el cual corresponde a todas las tareas, requerimientos o funcionalidades a realizar. Esta información será recopilada a través de reuniones entre el "Scrum Team" y el "Product Owner".

Etapa 2: Análisis de requerimientos y Diseño Arquitectónico.
Se analizará el "Product Backlog" y a través de éste se generará el diseño base del sistema, el cual involucra por ejemplo: modelo de base de datos, principales módulos del sistema.

Etapa 3: Desarrollo del Sistema.
Durante todo el proceso de desarrollo, el equipo de trabajo realizará reuniones diarias de 15 a 30 minutos, denominadas "Daily Scrum Meeting". El objetivo de éstas es que todo el equipo de trabajo se entere del estado de las diversas tareas y se resuelvan dudas que puedan surgir en éste proceso.

Mediante las "Sprint Planning Meeting" se definirán los diversos "Sprint Backlog" (conjunto de requerimientos que equivalen a un incremento del sistema), los cuales contemplarán parte de las funcionalidades descritas en el "Product Backlog". Los "Sprint Backlogs" tendrán una duración ideal de 2 semanas.

En esta fase se genera un documento que indica los objetivos del "Sprint" denominado "Sprint Goal".

Una vez finalizado un "Sprint Backlog", se realizará una reunión denominada "Sprint Review" donde se mostrará al "Product Owner" los avances realizados. Éste podrá revisar la entrega y hará las observaciones correspondientes.

Por último, se inicia el "Sprint Retrospective". Donde se marcan los aspectos positivos (para repetirlos) y los aspectos negativos (para no repetirlos) experimentados en el "Spring Backlog".

El ciclo se repite hasta abarcar todas las funcionalidades descritas en el "Product Backlog".

Etapa 4: Aceptación y entrega del Producto.
Contempla las siguientes tareas:


  • Revisión final del producto.


  • Entrega del Sistema.

    • Código Fuente

    • Documento de diseño arquitectónico del Sistema

    • Manuales de administración y uso del Sistema



  • Instalación del Sistema en ambiente de producción



ver post completo...

top