Recursos

[Python:Recursos] Por donde empezar con Python

Si tu al igual que yo andar perdido en Python y estas buscando por donde empezar.

Te recomiendo ampliamente que visites este enlace:

Python

Beginner Guide Python

En donde encontraras un lista muy extensa de recursos para iniciarte con Python, de hecho yo ando picandole en esta parte porque no se me da muy bien el ingles y ando tambien revisando este sitio.

Aquí dejo la lista que nos presenta en donde reúnen varios recursos

  1. BeginnersGuide
  2. BeginnersGuide/Download
  3. BeginnersGuide/Examples
  4. BeginnersGuide/Help
  5. BeginnersGuide/NonProgrammers
  6. BeginnersGuide/Overview
  7. BeginnersGuide/Programmers (Tutorial.txt)
  8. BeginnersGuide/Programmers (Cpp2Python.pdf)
  9. BeginnersGuide/Programmers/SimpleExamples

Les dejo el enlace nuevamente aquí abajo:
BeginnersGuide

Leer más

[Javascript:Jquery] Plugin GoogleMaps

Me entero en Twitter, sobre un plugin de Jquery el cual nos permite trabajar comoda y apliamente con GoogleMaps de una manera muy facil.

Para usarlo primero nos bajamos el Jquery y despues el plugin

En nuestro HTMl agregamos ambos JS’s (El Jquery primero y despues el plugin Jquery.Googlemaps)

Y ahora a agregamos el siguiente script (Javascript)

$('selector').googleMaps();

Y listo con eso ya podemos ver como funciona

Aunque como hemos de suponer es mucho mas funcional usando algo mas de codigo, aqui algunos ejemplos.

Por ejemplo podemos indicar la latitud y la longitud

$(document).ready(function() {
    $('selector').googleMaps({
        latitude: 49.26063518364422,
        longitude: -123.15673828125
    });
});

O algo tan avanzado como una marca, personalizada en cierto punto del mapa.


$(document).ready(function() {
    $('selector').googleMaps({
        markers: {
            latitude:     37.4416,
            longitude: -122.1516,
            icon: {
                image: 'http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png',
                shadow: 'http://chart.apis.google.com/chart?chst=d_map_pin_shadow',
                iconSize: '12, 20',
                shadowSize: '22, 20'
            }
        }
    });
});

Y con el ultimo ejemplo podriamos obtener algo como esto

Google Maps jQuery Plugin

Google Maps jQuery Plugin

Toda la documentacion y mas ejemplos en la pagina web del autor
Google Maps jQuery Plugin – Shawn Mayzes

Leer más

[Programación] El top de los lenguajes mas utilizados

Como fiel defensor de Php, me da mucho gusto que en el top de los lenguajes mas utilizados realizado por TIOBE Programming Community, nuestro querido lenguaje esté en el lugar numero 4(comparado con el 5 que tenia el año pasado).

Algo que podemos destacar (lo comentan en barrapunto)es que Java ha tenido un fuerte descenso, y C sigue creciendo, también otro que esta cayendo muy fuerte es Perl, claro que hay muchos cambios mas, miren la tabla.

Position
Jul 2009
Position
Jul 2008
Delta in Position Programming Language Ratings
Jul 2009
Delta
Jul 2008
Status
1 1 Java 20.452% -0.89% A
2 2 C 17.319% +1.37% A
3 3 C++ 10.419% -0.27% A
4 5 PHP 9.269% -0.26% A
5 4 (Visual) Basic 7.789% -2.66% A
6 8 C# 4.540% +0.54% A
7 7 Python 4.435% -0.54% A
8 6 Perl 4.200% -0.93% A
9 9 JavaScript 3.513% +0.76% A
10 10 Ruby 2.567% -0.17% A
11 11 Delphi 1.998% -0.01% A
12 13 PL/SQL 0.891% +0.16% A
13 14 SAS 0.794% +0.17% A
14 24 RPG (OS/400) 0.740% +0.41% A
15 16 Pascal 0.707% +0.27% A
16 26 ABAP 0.703% +0.44% A-
17 20 Lisp/Scheme 0.607% +0.22% B
18 12 D 0.593% -0.63% B
19 18 Lua 0.531% +0.12% B
20 27 MATLAB 0.512% +0.26% B

Si bien este esto es algo basado en cálculos, y no es 100% exacto podemos ir viendo la tendencia en cuanto a el uso de lenguajes programación se refiere.

Y para terminar la pregunta del millón ¿Por que Php sigue siendo tan mal pagado (sobre todo en México)?
La respuesta podría ser, por que es fácil, pero la duda surge por lo siguiente:

Si necesitas una web que para un portal , que tenga usuarios, panel de control, si contratas a alguien que lo haga en Java le pagarías lo triple que si lo hace con Php, ¿por qué? si se obtiene lo mismo!.

¿Ustedes que opinan? por que sucede esto.

Me entere por Barrapunto: Top 20 de lenguajes de programación actualizado a Julio de 2009
El original esta aquí con mas datos (en ingles): TIOBE Programming Community Index for July 2009

Leer más

[Manual - Codeigniter] Programando php en MVC con CodeIgniter [Parte 1]

Antes de empezar con este post, quiero ofrecer disculpas ya que no he sido constante en el blog, sin embargo cuando estén casados y esperando un bebe sabrán que hay cosas que son mas importantes jaja.
También déjenme comentarles que estoy planeando un cambio de diseño en el blog, algo que no modifique mucho la estructura pero que se vea elegante, esos son los planes a futuro, bueno ahora si pasemos al post.

A mi siempre me ha gusto programar directamente sin usar algún tipo de Framework
o algo similar (a excepción del Blog que uso WordPress), sin embargo ahora que estoy viendo como programar el proyecto empecé a buscar opciones que aligerarán mi carga de trabajo, pero a la vez que fuera muy flexible para meter código donde fuera necesario (claro de una manera ordenada).

Entonces empecé a buscar algún Framework que me satisficiera, pensé en Zend, en Smarty, Phpbb, Xtemplate, etc, sin embargo esta dudoso, como que una parte me decía que si y otra que no, entonces conocí a CodeIgniter, un Framework que si bien no es tan conocido como Zend o Symphony, si es muy potente y muy simple de usar y puede llegar a ser tan potente como los dos anteriores.

Ahora bien, me puse a investigar como instalar y como hacer mi !Hello Word!, así que aquí les pongo como le hice y como quedo.

[PASO:1]

Requisitos:

  • Tener php 4 o superior instalado
  • Base de datos MySQL(soporta otras)

[PASO:2]

  • Obtenemos CodeIgniter de la siguiente URL  http://codeigniter.com/download.php
  • Lo copiamos dentro de nuestra carpeta raíz de htdocs (en Apache)
  • Hay dos carpetas una se llama system y otra user_guide, además de otros archivos

[PASO:3]

  • Ahora procederemos a configurar nuestro CodeIgniter
  • Primero abrimos el siguiente archivo system/application/config/config.php y buscamos la línea $config['base_url'] = “http://localhost/CodeIgniter/”; en donde pondremos la ruta de nuestra carpeta que acabamos de descomprimir
  • Para conectar la base de datos hay que editar el archivo system/application/config/database.php en donde dice
  • $db['default']['hostname'] = “localhost”;

    $db['default']['username'] = “”;

    $db['default']['password'] = “”;

    $db['default']['database'] = “”;

    y Ahi colocamos los valores que usamos para conectarnos a nuestra base de datos.

[PASO:4] Ahora debes de entrar a la url que pusiste y te debe de aparecer el siguiente mensaje.

[PASO:5]
Ahora si entras a system/application veras muchas carpetas, las que nos interesan son las siguientes config, controlles, views y models.
Abrimos el archivo system/application/config/routes.php en donde buscaremos lo siguiente $route['default_controller'] = “welcome”; (esta en la línea 43 aproximadamente) esta la vamos a cambiar por el nombre de nuestro controlador que vamos a usar, su sintaxis es muy simple, debe de ser el nombre del archivo donde haremos el controlador, por ejemplo si nuestro archivo controlador se llamara test.php quedara así $route['default_controller'] = “test”; si el controlador se llamara delfines.php quedaría $route['default_controller'] = “delfines”;
Nota: Es muy importante lo anterior ya que toda la sintaxis que usa CodeIgniter sigue esta estructura
Ya que lo editamos cerramos ya abrimos el controlador, por default esta el controlador welcome, el cual recordemos que estaba por default dentro de routes.php, ahora creamos nuestro controlador con el nombre que deseemos, por ejemplo biblioteca.php, (recuerden cambiar en routes.php $route['default_controller'] = “welcome”; a $route['default_controller'] = “biblioteca”; )
Abrimos nuestro controlador y escribimos lo siguiente.


class Welcome extends Controller {

function Welcome()
{

parent::Controller();

}
function index()
{
echo "Hola Mundo";
}
}

Lo que tenemos en muy simple, creamos una clase la cual extiende de Controller con lo cual obtiene todos los métodos y propiedades de un controlador genérico de CodeIgniter, vemos el método Welcome, el cual es necesario ya que tu constructor local anularia al constructor de la clase padre Controller, por lo tanto necesitamos llamarlo manualmente. en el caso de php5 podemos optar por usar.


function __construct()
{
parent::Controller();
}

Es lo mismo.

Luego tenemos el método index, el cual se ejecuta cuando entremos al index.php(después del método constructor) y le decimos que escriba “Hola mundo”, si bien esto no tiene nada de MVC, es para ver que esta funcionando deberemos entrar a

http://localhost/codeigniter/biblioteca/

Y nos deberá arrojar “Hola Mundo”

Queda pendiente el ejemplo MVC completo, cualquier duda pueden preguntar, recuerden pueden empezar a probar para que vean como funciona.

Leer más

[Tutorial] Creando Virtual Host de Apache usando Linux

Hasta hoy creo que voy a escribir algo util, pero pues y saben que mi tiempo es poco y hay que aprovecharlo al máximo.

Bueno la idea de este post es platicarles sobre como se pueden crear los famosos virtualhosts.Pero antes de empezar enterémonos bien que es un virtualhost.

Con los virtualhosts podremos tener varios dominios apuntando a una misma pc. Dentro de cada virtualhost podremos definir las condiciones para cada dominio que esté representando.

Es como si tuviéramos varios dominios dentro de nuestro servidor osea 127.0.0.1.

Es decir que aparte de usar http://localhost, podríamos usar http://localweb, http://proyecto, http://www.beta.com o el nombre que mas nos guste, para ello lo primero que necesitamos es tener instalado apache2 (la ultima versión) y funcionando.

Ahora veamos como crear y usar los virtualhost(Es necesario tener permisos de root para algunos cambios)

Entraremos  a nuestra consola y nos moveremos a   cd /etc/apache2/sites-available/

ajaxman@debianJS:~$ su
Contraseña:
debianJS:/home/ajaxman# cd /etc/apache2/sites-available/
debianJS:/etc/apache2/sites-available#

Una vez ahí veremos que hay un archivo llamado default (en mi caso hay dos el otro se llama default-ssl es digamos que la “plantilla” de los sitio con ssl)

debianJS:/etc/apache2/sites-available# ls -la
total 24
drwxr-xr-x 2 root root 4096 abr 14 16:37 .
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..
-rw-r–r– 1 root root 1428 nov  6 17:44 default
-rw-r–r– 1 root root 7366 oct  1  2008 default-ssl

El archivo default es el que contiene la información que usaremos en los virtualHost por lo cual simplemente copiaremos todo el archivo en uno nuevo eso lo hacemos mediante el comando cat.

debianJS:/etc/apache2/sites-available# cat default> website

Ahora nuestro ls se vera asi

debianJS:/etc/apache2/sites-available# ls -la
total 24
drwxr-xr-x 2 root root 4096 abr 14 16:37 .
drwxr-xr-x 7 root root 4096 nov  6 16:46 ..
-rw-r–r– 1 root root 1428 nov  6 17:44 default
-rw-r–r– 1 root root 7366 oct  1  2008 default-ssl
-rw-r–r– 1 root root 1480 abr 14 16:35 website

Ahora lo abrimos y lo editamos con el Vi y lo unico que modificaremos sera lo siguiente.

debianJS:/etc/apache2/sites-available# vim website

< VirtualHost *:80 >
ServerAdmin webmaster@localhost

DocumentRoot /home/www/
< Directory / >
Options FollowSymLinks
AllowOverride None
< /Directory >
< Directory /home/www/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
< / Directory >
………
……………
…………….
< VirtualHost >

Por esto

< VirtualHost *:80 >
ServerAdmin webmaster@ajaxman.net
ServerName prog
ServerAlias www.website.net

DocumentRoot /home/www/prog
< Directory / >
Options FollowSymLinks
AllowOverride None
< /Directory >
< Directory /home/www/prog >
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
< / Directory >
………
……………
…………….
< VirtualHost >

Nota: Tiene espacios intencionales para evitar que wordpress lo tome como si fueran tags HTML

Lo que cambiamos fue

  • Agregamos Server Name, que es donde estará el nombre de nuestro servidor en este caso se llama prog
  • Le agregamos un ServerAlias, que es como otro nombre para acceder a este VirtualHost, en este caso es www.website.net.
  • Y le modificamos el DocumentRoot, el cual sera la carpeta del sitio que queremos Virtualizar

Los guardamos con [Esc]:wq

Ahora lo agregamos a apache

debianJS:/etc/apache2/sites-available# a2ensite website

Y apache nos dira que lo agrego con éxito, Ojo: para evitar que Apache nos de errores, es necesario que la carpeta que el indicamos en DocumentRoot exista, si no no nos va a funcionar.

a2ensite, lo único que hace es un enlace simbólico dentro de la carpeta /etc/apache2/sites-enabled a algunos de los sitios que están en la otra carpeta /etc/apache2/sites-available , es decir  en sites-available están los sitios disponibles, y en sites-enabled están  los que podemos usar.

Leer más

[Gmail] Gmail Labs disponible en español

Esta si que es una buena noticia en un dia que se ve bastante complicado(chiste local), resulta que ahora si nos hicieron felices a los que siempre andamos probando nuevas cosas.

Gmail

Gmail

Gmail Labs(el campo de pruebas de Gmail),  ahora esta disponible en varios idiomas(los mismos idiomas que dispone Gmail) incluyendo el español, lo cual como se los dije, es una excelente noticia, ahora si ya podremos probar lo ultimo y lo mas nuevo que hay en el laboratorio de Google.

Dentro de estas herramientas  podemos encontrarnos lo siguiente(copiado de Blogandweb):

  • Sin conexión.
  • Tareas.
  • Vistas previas de YouTube en el correo.
  • Vistas previas de Picasa en el correo.
  • Vistas previas de Flickr en el correo.
  • Vistas previas de Yelp en el correo.
  • Enlaces rápidos.
  • Superestrella.
  • Imágenes en el chat.
  • Fuente de ancho fijo.
  • Combinaciones de teclas personalizadas.
  • Movimientos del ratón.
  • Retoques de la firma.
  • Firma aleatoria.
  • Formatos de fecha personalizados.
  • Sin mensajes de estado.
  • OldSnake.
  • Adicto al correo electrónico.
  • Chat en el lado derecho.
  • Etiquetas en el lado derecho.
  • Ocultar recuento de no leídos.
  • Controles avanzados de IMAP.
  • Respuestas prediseñadas.
  • “Responder a todos” de forma predeterminada.
  • Citar el texto seleccionado.
  • Arrastrar y colocar en la barra de navegación.
  • Test de facultades mentales intactas.
  • Detector de archivos adjuntos olvidados.
  • ¡Vacaciones!.
  • Colores de etiqueta personalizados.
  • Botón “Marcar como leída”.
  • Ir a etiqueta.
  • Varios “Recibidos”.
  • Crear un documento.
  • Filtro importación/exportación.
  • Enviar y archivar.
  • Deshacer el envío.
  • Ubicación en la firma.
  • Retoques del título.
  • Gadget de Google Calendar.
  • Gadget de Google Docs.
  • Añadir cualquier gadget mediante URL

Google cada día sigue ofreciéndonos mas opciones (aunque no uso Chrome) eso no cabe duda.

Via | Gmail Labs en español

Leer más

[LPCI] Comandos en Linux: Manipulación de archivos y directorios

Como pudieron haber (u obviamente no haber) escuchado, este año no se realizo la expolinux en México, lo bueno es que como no estoy al cien en Linux sirve que me pongo a estudiar para el otro año y así si obtener el certificado en Linux, aunque me conformo con la carrera de Piloto Comercial (jaja).

Bueno pues resulta que buscando información de este tema me tope con un buen listado de comandos muy útiles, ademas de que con estos podremos si deseamos hacer una chuleta(cheatsheet) para aprender mas sobre linux, bueno ahora si los comandos que les dije.

Comando Descripcion
cd /home

cd ..

cd ../..

cd

cd ~user1

cd -

cp file1 file2

cp dir/* .

cp -a /tmp/dir1 .

cp -a dir1 dir2

cp file file1

iconv -l

iconv -f fromEncoding -t toEncoding inputFile > outputFile

find . -maxdepth 1 -name *.jpg -print -exec convert

ln -s file1 lnk1

ln file1 lnk1

ls

ls -F

ls -l

ls -a

ls *[0-9]*

lstree

mkdir dir1

mkdir dir1 dir2

mkdir -p /tmp/dir1/dir2

mv dir1 new_dir

pwd

rm -f file1

rm -rf dir1

rm -rf dir1 dir2

rmdir dir1

touch -t 0712250000 file1

tree

Espero que les sea util esta lista.

Fuente | Archivos y Directorios

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter