HI I´M AN IDEA
WANNA PLAY
WITH ME?
 

Retomando insdout

Después de muchos meses de parón he decidido retomar mi blog, dándole otra vuelta de tuerca e intentando compartir todo lo que he aprendido estos últimos meses con todo el que quiera leerme un rato.

También he decidido buscar gente que colabore para que todos aprendamos juntos y cada uno aporte su granito de arena.

Estos últimos meses he pasado por un cambio enorme en mi manera de desarrollar y abordar problemas, he empezado a trabajar con el framework codeigniter, aunque intentando suplir todas las carencias que tiene y saltándome un poco su estructura.

También gracias a buenos amigos he conseguido meterme de lleno en el mundo del posicionamiento que me parece asombroso y del que cada día aprendo algo nuevo.

En fín espero hacer de este blog algo grande, un gran repositorio de consulta y que entre todos nos volvamos cada vez mas profesionales.

Saludos y a trabajar!

VN:F [1.9.20_1166]
Rating: 6.5/10 (4 votes cast)
Difunde la palabra
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Meneame

Como maximizar chrome en Mac OS X

La verdad es que nunca me lo había planteado en todo este tiempo pero resulta realmente incómodo el hecho de que chrome no maximice a todo lo que da la pantalla pantalla cuando pulsamos el botón de maximizar. Si queremos que el navegador se extienda:

Pulsaremos shift a la vez que hacemos click en el botón verde de maximizar

VN:F [1.9.20_1166]
Rating: 10.0/10 (6 votes cast)
Difunde la palabra
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Meneame

15 Consejos o buenas prácticas para empezar a programar en PHP

15 Consejos para programar en php

En estos últimos meses cada semana que pasa me doy cuenta de todos los fallos que he tenido a lo largo de estos año en mi forma de enfocar el desarrollo de aplicaciones en PHP.

Muchos de estos fallos, o vicios, en verdad han sido necesarios. Muchas veces aprendemos a base de reutilizar código y conforme pasan los días ver pequeños errores incluso líneas de código innecesarias que hemos reutilizado prácticamente sin saber para que sirven y que realmente, si no sabíamos porque estaba ahí era porque no valían para nada.

Por ello hoy he decidido compartir ciertos consejos, con los que espero ayudar a mas de uno a no caer en los mismos errores que yo, o simplemente seguro que alguno se siente identificado con ellos.

1. El manual oficial de Php será tu mejor amigo, sobretodo sus comentarios.

Oh bendito manual de php, posiblemente la web que mas he visitado en mi vida, allí encontraremos la mayoría de las respuestas a nuestras preguntas del día a día. A veces recurriremos a ella incluso para las cosas mas básicas una y otra vez hasta que se nos graben con fuego en nuestra memoria. En los comentarios de las funciones hay mas sabiduría que en cualquier tutorial que encontremos por la web.

2. Tener activado Error Reporting siempre que trabajemos con nuestro código.

Una de las maravillas de los lenguajes como php es que al ser un lenguaje de programación interpretado puede funcionar incluso dando errores por ello muchos proveedores de hosting tienen deshabilitada la depuración de errores, siempre que trabajemos depurando nuestro código deberemos tenerlo activado de la manera mas restrictiva posible (E_ALL).

3. Utiliza entornos de desarrollo.

El bloc de notas está genial, pero a mi parecer se queda bastante corto. Los IDE (Integrated Development Environments) nos ayudarán con sugerencias de código, resaltando la sintaxis, depuración de errores… Los hay de todos los tipos solo tienes que encontrar el tuyo.

4. No utilices código redundante.

El concepto DRY (Don’t repeat yourself) es aplicable para todos los lenguajes de programación, intenta parametrizar todo lo que puedas, las constantes son tus amigas. Además combinado con un buen IDE nos ayudará a evitar errores absurdos.

5. Sangra tu código, lo agradecerás.

Hay que acostumbrase a sangrar el código y utilizar espacios en blanco haciendo nuestro código lo mas legible posible. Nos ayudara a movernos a la hora de hacer cambios.

6. Dale una estructura coherente a tu código.

Debemos acostumbrarnos a estructurar nuestro código en distintos componentes, nos ayudará a realizar cambios en un futuro próximo.En php hay una ley no escrita en la que se dice que debemos estructurar nuestro código en 3 grandes grupos.

Por regla general en cualquier aplicación desarrollada sobre php conectaremos con una base de datos, implementaremos una lógica de negocio y por último implementaremos el html que mostraremos en el navegador. Esta debe ser nuestra forma de trabajar, no debemos mezclar el código.

Por poner un ejemplo práctico, si queremos mostrar una tabla con los resultados de una query deberemos estructurarlo de la siguiente manera:

  • Primero nos encontraremos con la parametrización de la base de datos y la conexión con el servidor.
  • En la lógica de negocio inicializaremos un array con los resultados y los valores que queremos mostrar.
  • En la capa visual recorreremos el array creando la tabla.

7. Debemos utilizar estándares para encapsular nuestro código.

Algunas veces podemos utilizar pequeños atajos para ahorrarnos unos segundos a la hora de escribir nuestro código, estos atajos no son oficiales y pueden darnos problemas, por ejemplo en IIS dan errores.

<?
    echo "Hola Mundo";
?>

<?="Hola Mundo"; ?>

<% echo "Hola Mundo"; %>

8. Utiliza una nomenclatura comprensible.

No hay nada peor como verselas con un código en el que no encontremos lo que buscamos. Tu nombre puede ser muy bonito pero no es aconsejable para una variable (verídico).

9. Comenta todo lo que puedas.

Comentar entre líneas a veces puede resultar una tarea tediosa, pero siempre tenemos que intentar dedicarle unos minutos. Cuando nos acostumbremos saldrá solo, creeme lo agradecerás en un futuro.

10. Utiliza límites para tus scripts.

La función set_time_limit especificará un tiempo máximo para la ejecución de nuestros scripts en nuestra aplicación, puede sernos útil en muchas ocasiones. Nos servirá para establecer un máximo en la ejecución de bucles infinitos.

Consejo personal, si nos vemos obligados a incrementar el límite para la ejecución de algún script, suele ser un mal síntoma.

11. Usa Objetos.

La programación orientada a objetos no solo nos ayudará a separar nuestra aplicación en secciones coherentes sino que simplificará nuestro código evitando redundancias y nos hará mas eficientes.

12. Recuerda borrar los ficheros phpinfo().

La función phpinfo nos resulta francamente útil cuando queremos obtener información sobre el servidor en el que estamos trabajando, no solo te muestra la versión de php con la que estamos trabajando sino las extensiones activadas y demás.

Cuando trabajas con webs de clientes resulta básico a la hora de conocer las características de un hosting compartido donde vas a alojar la web, sin embargo, toda esta información en los ojos equivocados puede llevarnos a la ruina, por ello, una buena práctica es borrar los ficheros phpinfo que utilicemos después de trabajar con ellos.

13. Prevé ataques en tus formularios de login.

Los usuarios de nuestra web son nuestra razón de ser, pero no por ello debemos fiarnos de ellos (con cariño jeje), hemos de tener en cuenta que si tenemos formularios de acceso, mas tarde o mas temprano alguien va a intentar reventarlos.

Una buena para práctica para ello es inicializar nuestras variables, así vamos a evitar ataques del tipo Cross Site Scripting (XSS), en PHP.net tenemos un sencillo ejemplo de como desarrollar un formulario seguro.

	<?php
	if (correct_user($_POST['user'], $_POST['password']) {
	    $login = true;
	}

	if ($login) {
	    forward_to_secure_environment();
	}
	?>

14. Encripta tus contraseñas.

Cuando no tenemos mucha idea o simplemente estamos empezando tendemos a almacenar las claves de nuestros usuarios tal y como ellos la han escrito. Esto es una muy mala práctica y muy insegura. Debemos encriptar las contraseñas antes de almacenarlas aplicándoles un algoritmo de “un solo sentido”.

Normalmente se ha utilizado el md5 pero recientemente se descubrió como romperlo por lo que si la información que queremos almacenar es importante deberemos desecharlo también. Actualmente el método mas correcto es aplicando bcrypt.

Para ello primero deberemos comprobar que nuestro servidor es compatible con el algoritmo.

<?php
if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) {
    echo "CRYPT_BLOWFISH está activo!";
}
else {
    echo "CRYPT_BLOWFISH no está activo";
}

El sistema es similar al de aplicar una hash key con la condición de que debe empezar por $2a$ seguido de dos dígitos numéricos, un símbolo de dolar y 22 dígitos alfanuméricos.

<?php
$salt = '$2a$07$R.gJb2U2N.FmZ4hPp1y2CN$';
crypt("clavesupersecreta", $salt);
?>

15. Prueba sistemas de mapeo del tipo ORM.

Si utilizamos programación orientada a objetos en nuestra aplicación PHP entonces podremos utilizar librerías ORM (object relational mapping) que nos permiten convertir datos entre bases de datos relacionales y lenguajes de programación orientados a objetos, así trabajaremos con nuestra base de datos de una manera similar a la que trabajamos con objetos y clases en php.

Hay muchas librerías y frameworks de este tipo para php, solo tenemos que buscar y dar con la que mejor se adapte a nuestras necesidades.

 

VN:F [1.9.20_1166]
Rating: 9.8/10 (6 votes cast)
Difunde la palabra
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Meneame

Descargar rom Ice Cream Sandwich oficial con root para Eee Pad Transformer

rom eee pad transformer ics

Muy buenas gente, los poseedores de una Asus Eee Pad Transformer (TF101) estamos de suerte desde el pasado viernes. ya disponemos de manera oficial de la última versión de Android, Ice Cream Sandwich.

He subido a mi hosting el fichero de la  rom para los que no la tengáis vía OTA con el root incluido y lista para flashear desde clockworkmod. El procedimiento es el mismo que para isntalar cualquier rom.

  1. Guardaremos el fichero en la SD de nuestra tablet.
  2. Arrancamos en modo recovery.
  3. Instalamos el zip desde la SD.
  4. Hacemos wipe de data y cache y listo.

La versión de la rom es la americana pero incluye el idioma castellano y funciona a la perfección. Un saludo.

enlace de descarga aquí

VN:F [1.9.20_1166]
Rating: 4.7/10 (3 votes cast)
Difunde la palabra
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Meneame

Abrir una web desde una activity.

A veces podemos encontrarnos con que desde nuestra aplicación queremos agregar un link a alguna web, ya sea desde un listview o simplemente queremos enlazar a nuestra web a modo de info.

Para ello si queremos lanzar una activity con una url podemos hacerlo con este sencillo snippet.

Intent viewIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://www.insdout.com"));
startActivity(viewIntent);
VN:F [1.9.20_1166]
Rating: 6.0/10 (5 votes cast)
Difunde la palabra
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Meneame