Recursos

[WordPress] Temas para WordPress

El otro dia encontre unos temas que casi nunca habia visto.

Estos temas son para wordpress, y sin duda habra mas de uno que quizas les llegue a interesar, yo baje algunos para checarlos aunque, estoy desarrollando uno propio, para el blog, en el cual cambiar la estructura pero no cambiara mucho los colores.

Bueno les unas capturas con sus enlaces y ahi los checan.

Mas temas en | http://biboz.net/themes/

Fuentes descargables

Anieto2k comenta sobre la implementacion de @font-face un nuevo atributo CSS.

Pero que al parecer en webkit ya se esta implementando.

@font-face se trata de que la fuente pueda ser descargada desde la web aunque el usuario no la tenga instalada la propiedad puede ser usada de la siguiente forma

[source:css]
@font-face {
font-family: “Kimberley”;
src: url(http://www.princexml.com/fonts/larabie/ »
kimberle.ttf) format(“truetype”);
}
h1 { font-family: “Kimberley”, sans-serif }

[/source]

De esta forma descargamos la funente kimberley para que posteriormente la podamos usar en nuestros estilos.

Sin embargo esta especificacion solo la soporta Webkit.

Ojala y con la llegada del HTML 5 y el CSS 3 ya los navegadores soporten esta especificación, mmmm otra vez sufriremos con Iexplorer(me imagino), ya que…

Usen Firefox.. ;-)

Visto en | Fuentes descargables en Webkit y @font-face

Libro Gratis en PDF: RUBY ON RAILS

En baluart.net me entero que SitePoint puso de manera gratuita el libro Build You Own Ruby on Rails Web Applications.

El libro al parecer esta en un período de 60 dias de descarga gratuita, una vez transcurrido este tiempo, el libro costara $29.95 (? no dice que pero creo que será dolares).

Bueno pues que esperan yo la lo descarge y le estoy hechando una hojeada, esta en inlges pero se ve que esta chido.

Para desacargarlo solo basta con dar click en el link siguiente y poner su direccion de mail, pero apurense porque son 60 dias y ya pasaron varios dias.

Link de descarga | http://www.sitepoint.com/books/rails1/freebook.php
Visto en | Ebook Gratis: Ruby on Rails para principiantes

70 Ideas para el uso correcto de CSS

A veces al escribir CSS, comentemos muchos errores, al organizar el código, al definir las clases o manejar Id’s, repetir código innecesario, Etc…

Pero hoy localice algo que sin duda nos ayudara a corregir todo esto.

Son 70 Ideas para poder codificar mejor nuestros CSS, les dejo el link estan en ingles pero con varios ejemplos, que sin duda nos hara ser mejores programadores.

70 Expert Ideas For Better CSS Coding

: Ajax : Tecnica de uso de ajax elegante y eficaz

Para el uso de Ajax nativamente, casi siempre uso las mismas técnicas que Jhon resig, sin embargo en ajaxian, acaban de mostrar una tecnica que segun lei es la mas rapida, ademas de ser elegante.

Con esta implementacion de Ajax, no hay que preocuparse por crear varias veces el objeto ajax,esto lo digo por que cuando empiezan con Ajax, es común caer en ese error.

Ademas se acelera el motor de ajax por la forma en que son llamadas las funciones.

Aqui les muestro el codigo

[source:javascript]
var asyncRequest = function() {
function handleReadyState(o, callback) {
if (o && o.readyState == 4 && o.status == 200) {
if (callback) {
callback(o);
}
}
}
var getXHR = function() {
var http;
try {
http = new XMLHttpRequest;
getXHR = function() {
return new XMLHttpRequest;
};
}
catch(e) {
var msxml = [
‘MSXML2.XMLHTTP.3.0′,
‘MSXML2.XMLHTTP’,
‘Microsoft.XMLHTTP’
];
for (var i=0, len = msxml.length; i < len; ++i) {
try {
http = new ActiveXObject(msxml[i]);
getXHR = function() {
return new ActiveXObject(msxml[i]);
};
break;
}
catch(e) {}
}
}
return http;
};
return function(method, uri, callback, postData) {
var http = getXHR();
http.open(method, uri, true);
handleReadyState(http, callback);
http.send(postData || null);
return http;
};
}();

[/source]

Para hacer el uso de esta funcion seria de esta forma

[source:javascript]

asyncRequest(‘GET’, ‘foo.php’, function(o) {
alert(o.responseText);
});

[/source]

Hare unas pruebas y luego les platico como me fue con este manejo de ajax.

Visto en | Optimized Speedy Ajax Code
y en Making Ajax Elegantly Fast

Codigos de respuestas de servidores

Cuando estaba checando ajax por primera vez haa aquellos tiempos, vi que para checar que la pagina se había recibido con éxito, se esperaba un código 200, me imagine que había mas entonces decidí buscar todos los códigos posibles. Al mismo tiempo supe que estos son códigos que nos devuelven los servidores, lo tome de la wikipedia, espero que les sirvan, Ojo, pueden usarlas con ajax, para hacer funciones mas vistosas.

  • 1xx Mensajes
- 100 111 Conexión rechazada
  • 2xx Operación exitosa
Descripción
200 OK
201-203 Información no oficial
204 Sin Contenido
205 Contenido para recargar
206 Contenido parcial
  • 3xx Redirección hacia otro URL
Descripción
300 Múltiples posibilidades
301 Mudado permanentemente
303 Vea otros
304 No modificado
305 Utilice un proxy
307 Redirección temporal

Revisando la carga del DOM con: IEContentLoaded

Leo en ajaxian, una nueva forma de revisar si se a cargado el Dom completamente.

Existen varias, opciones, yo uso una funcion llamda _DL, que forma parte de la libreria de validacion Jxs ,

Ahora Hedger Wang nos da una nueva opcion para poder optimizar y usarla funcion que mas nos convenga.

Esta se basa en el scroll, y si nos devulve algun error se sigue intentando, hasta que el dom este cargado.

El codigo es el siguiente
[source:javascript]

(function (){
//check IE’s proprietary DOM members
if (!document.uniqueID && document.expando) return;
//you can create any tagName, even customTag like
var tempNode = document.createElement(‘document:ready’);
try {
//see if it throws errors until after ondocumentready
tempNode.doScroll(‘left’);
//call your function which catch window.onDocumentReady

alert(‘window.onDocumentReady()’);

//relaese some memory, if possible
tempNode = null;

} catch (err) {

setTimeout(arguments.callee, 0);
}

})();

[/source]

Asi que ya tenemos una opcion mas para saber cuando el DOM este cargado o no.
Via | IEContentLoaded: Yet another DOMContentLoaded

Evitar envio de datos con wordpress

De seguro que ya muchos tendrán actualizado su wordpress a la version 2.3 si embargo leí en varios blog entre ello el de Andres Nieto, que resulta que son enviados algunos datos a wordpress.

información que al parecer servirá para estadísticas, sin embargo puede servir quizas para realizar algun ataque aunque no es seguro.

Por ello es recomendable desactivarlo, para poder desactivarlo, tenemos varias opciones entre ellas.

1 Eliminarlo
El sistema de para añadir acciones a WordPress permite que eliminar este sistema sea tan simple como hacer los siguientes 2 pasos.

Buscamos la línea siguiente dentro del fichero wp-admin/includes/update.php (sobre la línea 106)

[source:java]
.
..
add_action( ‘load-plugins.php’, ‘wp_update_plugins’ );
.
..
[/source]

Le añadimos un (#) delante de la línea,

[source:java]
.
..
#add_action( ‘load-plugins.php’, ‘wp_update_plugins’ );
.
..
[/source]

2 No enviando tu verdadera URL
(más…)

Uso de Operadores Ternarios en javascript

Para el desarrollo de la libreria en javascript, use varias funciones, sin embargo el usar muchas instrucciones nos puede traer conflictos, ya que tener muchas funciones repetidas nos pueden confundir.

Por que digo esto, bueno pues resulta que como tenia que usar varias veces, unas comparaciones vi que resultaba tedioso usar un if y otro if y otro if, asi pues me decidi usar operadores ternarios.

Un operador ternario nos proporciona basicamente la misma funcion que una instruccion if, salvo que la ventaja que ofrece es la posibilidad de reducir nuestro codigo drasticamente.

Esto lo podemos ejemplificar de la siguiente forma.

(expresion a evaluar)?verdadero:falso;

Veamos un ejemplo

Usando un if normal
[source:javascript]

var valor=1;
var resultado;
if(valor==1)
{
resultado=”Verdadero”;
}
else
{
resultado=”Falso”;
}

[/source]

Ahora usando operadores ternarios
[source:javascript]

var valor=1;
var resultado;
resultado=(valor==1)?”Verdadero”:”Falso”;

[/source]

Tambien podemos usarlo para poder ejecutar funciones
(más…)