Capacitaciones en Grupo LAN  
Entrar   |   Registro ]
Inicio   |   Eventos   |   Foros   |   Galerías   |   Recursos   |   Directorio   |   Planeta  



Gente de la Comunidad TJ.NET


dev3cast: Startup Weekend Tijuana
May, 14 2012 05:11 (PST)





En esta ocasión no grabe un screencast, ya que solo voy a reacomodar código en base a lo explicado en los pasados posts. Creo que será más fácil apreciar esos cambios si lo muestro como estaba el código y como fue cambiando. Así pueden ver los detalles sin tener que esperar a que lo escriba.

En la parte 11 de la serie el archivo tasks.js iba de la siguiente forma:

$( function () {
$( 'input[type="checkbox"]' ).click( function ( event ) {
$( this ).parent().toggleClass( "done", this.checked );
event.stopPropagation();
} );

// $( "li" ).click( function () {
// $( this ).toggleClass( "highlight" );
// } );

$( "ol" ).on( "click", "li", function () {
$( this ).toggleClass( "highlight" );
} );

$( "a.delete" ).click( function ( event ) {
if ( confirm( '¿Borrar la tarea?' ) ) {
$li = $( this ).parent();
$li.slideUp( function () { $li.remove(); } );
}
event.stopPropagation();
} );

$( "button#add" ).click( function () {
var $input = $( "input#task" );
var value = $input.val();

var $ol = $( "ol" );

var templateHtml = $( "div.template" ).html();

$ol.append( templateHtml.replace( "{{task}}", value ) );
} );

} );


Expliqué el uso de “on” en lugar de usar “click” directamente en los eventos, así que lo primero que haré es cambiar los “clicks” por “on” y borrar los comentarios del código.



$( function () {
$( "ol" ).on( "click", 'input[type="checkbox"]' , function ( event ) {
$( this ).parent().toggleClass( "done", this.checked );
event.stopPropagation();
} );

$( "ol" ).on( "click", "li", function () {
$( this ).toggleClass( "highlight" );
} );

$( "ol" ).on( "click", "a.delete", function ( event ) {
if ( confirm( '¿Borrar la tarea?' ) ) {
$li = $( this ).parent();
$li.slideUp( function () { $li.remove(); } );
}
event.stopPropagation();
} );

$( "button#add" ).click( function () {
var $input = $( "input#task" );
var value = $input.val();
var $ol = $( "ol" );
var templateHtml = $( "div.template" ).html();
$ol.append( templateHtml.replace( "{{task}}", value ) );
} );

} );


Aquí se puede ver que se esta usando varias veces el selector $( “ol” ) lo cual puede guardarse en una variable y no tener que hacer la consulta al DOM cada vez que lo necesitamos.



$( function () {
var $ol = $( "ol" );

$ol.on( "click", 'input[type="checkbox"]' , function ( event ) {
$( this ).parent().toggleClass( "done", this.checked );
event.stopPropagation();
} );

$ol.on( "click", "li", function () {
$( this ).toggleClass( "highlight" );
} );

$ol.on( "click", "a.delete", function ( event ) {
if ( confirm( '¿Borrar la tarea?' ) ) {
$li = $( this ).parent();
$li.slideUp( function () { $li.remove(); } );
}
event.stopPropagation();
} );

$( "button#add" ).click( function () {
var $input = $( "input#task" );
var value = $input.val();
var templateHtml = $( "div.template" ).html();
$ol.append( templateHtml.replace( "{{task}}", value ) );
} );
} );


Por último voy a dejar de usar funciones anónimas y especificar el ligado de los eventos en un solo lugar. Además guardo en una variable la caja de texto para agregar tareas y así no tener que buscarla cada que se necesite agregar una tarea:



$( function () {
var $ol = $( "ol" ),
$newTask = $( "input#task" );

function checkbox_click ( event ) {
$( this ).parent().toggleClass( "done", this.checked );
event.stopPropagation();
}

function hightlight() {
$( this ).toggleClass( "highlight" );
}

function deleteItem( event ) {
if ( confirm( '¿Borrar la tarea?' ) ) {
$li = $( this ).parent();
$li.slideUp( function () { $li.remove(); } );
}
event.stopPropagation();
}

function addItem () {
var templateHtml = $( "div.template" ).html();
$ol.append( templateHtml.replace( "{{task}}", $newTask.val() ) );
}

$ol.on( "click", 'input[type="checkbox"]', checkbox_click );
$ol.on( "click", "li", hightlight);
$ol.on( "click", "a.delete", deleteItem);
$( "button#add" ).click( addItem );
} );


Con esto, en mi opinión, el código se ve más claro.



Links Relacionados:

Introducción a jQuery (Parte 11)



Mario H. Cornejo



Esta vez hago uso de una plantilla para agregar nuevas tareas a la lista y empiezo a utilizar el método “on” para ligar eventos.

Links Relacionados:
Introducción a jQuery (parte 10)
Introducción a jQuery (parte 12)



Mario H. Cornejo: Iniciando tijuana.js
Apr, 23 2012 08:29 (PST)

Recientemente el uso de JavaScript ha cobrado importancia al momento de realizar casi cualquier aplicación web. Ahora hay muchas librerías y/o Frameworks desarrollados en JavaScript y empieza a no ser extraño usarlo fuera del browser.

En el pasado Super Happy Dev House Tijuana se reunieron varios desarrolladores a trabajar en diversos proyectos. Cada uno de estos proyectos estaban desarrollados en diferentes lenguajes/Frameworks (tales como RubyOnRails, PHP, ASP.NET, etcétera). Se contó con la asistencia de varias de las comunidades de la región, como la comunidad de Ruby Tijuana, Tijuana .Net, Grupo de usuarios GNU/Linux, Comunidad de PHPeros en Tijuana y Google Developer Group.

WP_000405WP_000407WP_000408

A pesar de ser desarrolladores de diversas tecnologías algo que tienen estas comunidades en común es JavaScript. De ahí la idea de iniciar un grupo donde podemos reunirnos para hablar de lo que todos los desarrolladores web tenemos en común y que cada vez tiene mayor impacto en el desarrollo de las aplicaciones.

He publicado el sitio tijuanajs.org donde espero sea un punto de encuentro para todas aquellas personas, de la región, que les guste hablar de JavaScript.

Ingresen al grupo y espero verlos en las reuniones.

Mario H. Cornejo



dev3cast: MVC para los no iniciados
Apr, 16 2012 05:21 (PST)



En esta ocasión muestro el uso de callback en el método slideUp y el evento ready del documento

Links Relacionados:
Introducción a jQuery (Parte 9)
Introducción a jQuery (Parte 11)



Decimo video de la serie, esta vez aproveché los 5 min para realizar una pequeña refactorización del código.

Links Relacionados:
Introducción a jQuery (Parte 8)
Introducción a jQuery (Parte 10)



dev3cast: SHDH Tijuana
Apr, 03 2012 02:33 (PST)



Startup Weekend Tijuana en MindHub 4 a 6 mayo



dev3cast: OData
Mar, 12 2012 04:02 (PST)



SHDH Tijuana 24 marzo 2012 9AM - 5PM Mind Hub Zona Río



¡Ahora es cuando hay que aprovechar y suscribirte a TechNet Professional! Por tiempo limitado, obtén 15% de descuento en una suscripción Technet Professional nueva. Como suscriptor TechNet Professional, recibes estos beneficios: • Software de Microsoft sin limites de tiempo o de funcionalidad • Beta software • 2 llamadas de soporte técnico profesional gratis • Soporte prioritario en foros administrados • 2 colecciones Microsoft E-Learning • Asistente en línea por Chat ¡más inf



Nuget y jQuery Arkus Solutions Martes 28 de febrero de 2012 6:30 a 8:00 PM



]]>



VIGENCIA DE LA CONVOCATORIALa fecha apertura de la Convocatoria es el 13 de enero de 2012 y la fecha de cierre el 20 de abril del presente año. Dentro de la misma Convocatoria se tendrán tres cortes: el primero el 13 de febrero, el segundo el 20 de marzo y el tercero el 20 de abril del presente. Cada corte considerará las Solicitudes de Apoyo que ingresen a más tardar a las 18:00 hrs. (zona centro) de la fecha establecida que cumplan con las características previstas en los Criterios de Operació



ponte: dev3cast
Dec, 13 2011 07:06 (PST)

Con la Comunidad .NET Tijuana y junto con Mario Cornejo he venido participando en podcast tecnológicos para desarrolladores con temática general para cualquiera que trabaje desarrollando software. Son entrevistas y discusiones con especialistas en los temas donde se aclaran y se someten a consideración puntos de vista en episodios de aproximadamente 30 minutos para hacer más conciso lo discutido y haya menor tiempo de distracciones.  Algunos de los temas más populares en el 2011 han sido:

Cualquiera de ellos los puedes descargar o suscribirte para oirlos a tu tiempo en tu lector de RSS favorito.

 

 



]]>



]]>



Estás trabajando en tu aplicación web con Entity Framework y C# en tu máquina de desarrollo usando la versión más reciente de SQL Server 2008 feliz de la vida. Pero al momento de hacer la implementación en el servidor de producción, te encuentras con este error:

The version of SQL Server in use does not support datatype 'datetime2

Y entonces te acuerdas, en el servidor de producción tienen instalado SQL Server 2005. No hay problema, solo ubica el archivo EDMX de tu modelo y con el click derecho del mouse selecciona la opción del menú emergente "Abrir con..."

Hay que ubicar la etiqueta Schema y en el atributo ProviderManifestToken colocar 2005 en lugar de 2008. De esta manera le indicas a Entity Framework que trabaje en modo de compatibilidad de 2005 y así trata apropiadamente los tipos de dato de fecha.

<Schema Namespace="SAOModel.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" >

 

* Este código fuente ha sido resaltado con Source Code Highlighter.

 


  
Sea nuestro patrocinador
Nuevas fotos


Windows 7 Launch Mexicali - SIA


Windows 7 Launch Mexicali - Audiencia


Windows 7 Launch Mexicali - Registro


Derechos reservados TJ.NET