Archivos de la categoría ‘Programación’

h1

Windows Vista

Mayo 18, 2008

windows-vista

Hola amigos!!

Ya bastante tiempo sin escribir algo jejeje pero aqui seguimos dando lata.

Les traigo un tema que muchos (pero de verdad muchos) han tocado alguna vez: WINDOWS VISTA. Si el nuevo SO de Windows (ni tan nuevo por que ya salio desde hace un buen de tiempo) ha estado en boca de todos, con sus pros y sus contras.

Muchos amigos mios (informáticos en su mayoria) dicen, concuerdan y sentencian que Vista es DEMASIADO pesado, y no hablo del “pesado” que ocupe mucho recurso de nuesta PC o LAP, que esa es otra historia. ¿Por qué? Simplemente por que pide autorización para todo… para ejecutar un servidor web (como Apache o WampServer) que instalar un programa (de aqui pregunta 2 veces), que hay que bajar como pinche mil chingocientos y mokos de parches para que jalen los programas de XP en Vista, que el tema “Aero” es una vil copia de “Glass” de Leopard de Mac, que hay que tener memoria dedicada de video para que funcione como debe ser, que las versiones de Vista “Home” y “Starter” tan de la chin… y así podriamos seguirle un buen rato, pero lo que coincidieron TODOS fue en que: NOS DETECTA Y BLOQUEA SOFTWARE PIRATA.

Así es, en realidad no me ha pasado a mi, sino una amiga me comento esto, ella tiene el Vista Enterprise (pudiente la chamaca jejeje) y pues gusta de instalar software “comunitario” (empleo el termino pa’ que no se escuche TAN feo), el caso es que me comentó que al instalar de este software, el SO lo detecta como pirata y al momento de ejecutarlo lo bloquea, verdadero problema para los que no podemos adquirir una licencia, por ejemplo de Visual Studio .NET o Delphi, peor aun si queremos una herramienta de imagen como Fireworks o “fotochop” y tenemos Vista pues… a usar Paint.

Con esto no quiero decir que hay que usar software pirata ni estoy a favor de piratear todo, pero pues algunas veces hace falta… en fin. Yo le comente que en mi caso no he tenido ningun problema con el Vista, cierto hay que confirmar siempre al instalar, desinstalar y ejecutar programas pero… es por seguridad. Otra cosa, no chin… Vista es XP pero más bonito, no salgan con que ya cambiaron todo y ya no encuentro el panel de control y que “me desconcierta eso de ‘Centro de Redes y Recursos Compartidos’”, es IDENTICO solo que con una mejor presentación.

También es cierto que hay problemas de compatibilidad, no todos los programas son compatibles con Vista, ok pero eso es por el “Tema Visual” de Vista, el famoso AERO, basta con cambiar el tema, aunque la verdad el SO lo hace solo, y no es choro, cada vez que quiero ejecutar ECLIPSE o FIREWORKS, Vista cambia automaticamente el Tema Aero a combinacion básica de colores.

Lo que si son unas latas son los parches… pero pues a mi no me ha tocado, es más, un día conecte una WebCam a una LAP con Vista y este buscó y bajo AUTOMATICAMENTE los drivers para dicho dispositivo y funcionó de la mejor manera. Así que yo por lo menos no puedo decir que Vista es malo si no me ha dado problemas, una excelente putada son los “post-it” que traen los gadgets, otra cosa de verdad util.

Pláticando con cierta amiga, me dice que a ella no le pasa igual, que ella BATALLA con Windows Vista, le bloquea programas, no le permite instalar algunos, baja una lista interminable de parches para que funcionen correctamente, el Visual Studio mejor lo dejó por la paz debido a que era software “comunitario” y le dije: “chale a mi no me da problemas y tengo exactamente los mismos programas… ha sabes que hice… al querer instalar Linux en la LAP le di matacran a la partición RECOVERY, pero como el GRUB no reconocia el sector de arranque de Vista, pues terminé dejandole Vista… a lo mejor sea eso”.

La verdad no se que haya en la particion RECOVERY de Vista, hablo de compus y LAPS nuevas de fábrica, que traen preinstalado Windows Vista con una partición extra, es decir C: y D:. Pero al eliminar esa partición D no he tenido problemas de nada, ni con el rendimiento ni con el uso de software pirata ni software de licencia, de verdad, al menos a mi me funciona el Vista DE MARAVILLA.

Si conoces trucos de Vista, mas o menos andas en las mismas o te quieres regresar a XP por que Vista te da hueva… comentalo aqui, a lo mejor encontramos nuevas ideas para que otras gentes aprendan usar Vista.

h1

Tercer capitulo del tutorial de PHP

Enero 12, 2008

Bucles y Condiciones

-Condición IF
Es la condicion básica de PHP, se ejecuta de la misma manera que en Java o C++. IF evalua una expresion (expr) y verifica si se cumple o no (dependiendo de esta), en caso que se cumpla, se ejecuta el código que esta dentro de esta condicion.

Se puede utilizar de las siguientes maneras:

//Una sola sentencia
 -if(expr)
  sentencia;

//Bloque de código

 -if(expr){
  sentencia1;
  sentencia2;
  .
  .
  .
  sentenciaN;
 }
-Condicion IF-ELSE
Esta condición es igual que la anterior, solo que en caso que no se cumpla la primera expresión del IF, se ejecuta el bloque de codigo de ELSE. Funciona igual que la expresion IF-ELSE que en Java.

Se emplea de la siguiente manera
 -if(expr){
  sentencia1;
  sentencia2;
  .
  .
  .
  sentenciaN;
 }
 else{
  sentencia1;
  .
  .
  .
  sentenciaN;
 }

-IF-ELSE anidados
De la misma manera se puede anidar IF-ELSE, ya sea dentro de un IF o el ELSE, es mas recomendable hacerlo dentro del ELSE.

 -if(expr){
  sentencia1;
  sentencia2;
  .
  .
  .
  sentenciaN;
 }
 else{
  if(expr2){
   sentencia1;
   .
   .
   .
   sentenciaN;
  }
  else{
   sentencia1;
   . 
   .
   .
   sentenciaN;
 }

No es muy recomendable anidar demasiados IF-ELSE, ya que nuestro código pierde legibilidad, pero si no se puede evitar siempre es aconsejable insertar un comentario para saber lo que se esta evaluando.

-ELSEIF
Funciona de la misma manera que la anterior, solo varia en el ELSE

 -if(expr){
  sentencia1;
  .
  .
  .
  sentenciaN;
 }
 elseif(expr2){
  sentencia1;
  .
  .
  .
  sentenciaN;
 }
 else{
  sentencia1;
  .
  .
  . 
  sentenciaN;
 }

Notar que el segundo ELSE pertenece al ELSEIF
-Condicion SWITCH
Esta condicion nos permite evaluar una sentencia contra los posibles valores que pueda tomar, es mucho mas practico que anidar una cantidad considerable de IF-ELSE. Su forma es la siguiente:

 -switch(variable){
  case 0:
   sentencia;
   break;
  case 1:
   sentencia;
   break;
  case 2:
   sentencia;
   break;
 }

Esto es para el caso de variables numéricas, aunque tambien puede validar variables de caracteres.
Los cases pueden estar vacios, lo cual no producirá errores, simplemente los saltará. La palabra ‘break’ sirve para que se interrumpa la ejecucion del código y el apuntador salte al final de la condicion switch.

Otro caso de SWITCH es el caso DEFAULT,  que se activa cuando ninguna condicion es cierta.   

 -switch(variable){
  case 0:
   sentencia;
   break;
  case 1:
   sentencia;
   break;
  case 2:
   sentencia;
   break;
 
  default:
   sentencia;
   break;
 }
-BREAK
Esta palabra reservada nos sirve para abandonar un bloque de código, tal como el caso del switch. Tambien es utilizado para salir o ‘quebrar’ los bucles iterativos. También acepta un parametro numérico opcional, el cual le indica cuantos niveles tiene que abandonar. Ejemplo:

 -while($i < 10){
  -switch(variable){
   case 0:
    sentencia;
    break;
   case 1:
    sentencia;
    break;  //SAle del switch
   case 2:
    sentencia;
    break 1; //Sale del switch
 
   default:
    sentencia;
    break 2; //Sale del switch y del while
  }
 $i++;  //incremento de la variable $i
 }

Esto significa que cuando la variable $i llega a 3, automaticamente ejecuta el default y rompe ambos ciclos switch y while, y su valor queda en 3.

BUCLES
Los bucles son estructuras que nos permiten repetir un cierto bloque de código durante ciertas veces. Un bucle, sea cual sea siempre debe tener una expresion, la cual nos indicara si entra al bucle o no, y una condicion de salida, un contador que llegue a un límite o que decremente a 0 u otro limite, tambien puede ser que una variable cambie de valor. Sea cual sea esta condicion de salida se debe llegar a ejecutar alguna vez para evitar los bucles infinitos.
-WHILE
El bucle WHILE es el mas sencillo dentro de PHP, evalua al principio una expresion y si se cumple entra al ciclo, el cual se ejecutara mientras la expresion siga siendo verdadera. Consta de lo siguiente:

 -while(expr){
  sentencia1;
  .
  .
  .
  sentenciaN;
 }

Tambien se puede usar de la siguiente manera:

 -while(expr):
  sentencia1;
  .
  .
  .
  sentenciaN;
 endwhile;
-DO…WHILE
Es una variante del WHILE, solo que aqui se ejecuta primero el bloque de codigo y despues se evalua la expresion, dando como resultado que entrara a dicho código al menos una vez.

 -do{
  sentencia1;
  sentencia2;
  sentencia3;
  sentencia4;
  …
  sentenciaN;
 }
 while(expr);

-FOR
Estos bucles son algo complejos, tienen en vez de una expresion, tres expresiones que evaluar. Funcionan tal como el ciclo FOR de Java o C++.

 -for(expr1; expr2; expr3){
  sentencia1;
  .
  .
  .
  sentenciaN;
 }

Para que quede mas en claro,lo emplearemos de la forma clasica…
 
 -for($i = 0; $i < 10; $i++){
  echo(“<h1>Holaaaaaa “.$i.”</h1>”);
 }

Esto nos da por resultado una salida en HTML (con el comando echo que se verá mas adelante en este capitulo) con la palabra Holaaaaaa 0… hasta el Holaaaaaa 9.
-FOREACH
Este ciclo funciona para recorrer arreglos (array) de una manera mas facil, sin emplear otro bucle, aunque su funcionamiento es igual. Se emplea de la siguente manera:

 -foreach(arreglo as $valor){
  sentencia1;
  .
  .
  .
  sentenciaN;
 }

Funciona recorriendo el arreglo y copiando cada elemento a la variable $valor, para que despues se use en vez del elemento original del valor, POR LO QUE EL ARREGLO QUEDA INTACTO y solo se emplea una copia de este. Para que quede mas claro se da este ejemplo:

<?php

 //Llenado del arreglo
 $arreglo_nombres[0] = “daniel”;
 $arreglo_nombres[1] = “dulce”;
 $arreglo_nombres[2] = “asereje”;
 
 /*Creación de la página dinámica con PHP
 La función echo nos permite mandar el flujo de caracteres hacia la página*/
 echo(“<html><head><title>Pagina de Nombres</title></head><body>”);
 echo(“<h1>Letras de Nombres</h1>”);
 foreach($arreglo_nombres as $nombre){
  echo(“<h3>”.$nombre.”</h3>”);
 }
 echo(“</body></html>”);

?>

Como se puede dar cuenta, es una página entera en PHP, El resultado será una pagina en HTML con un Header 1 que dice: Letras de Nombres y tres headers 3 con los nombres del arreglo.

Instruccion ECHO
Esta instruccion nos permite enviar hacia una pagina Web dinamica creada con PHP (o que se esta creando) un flujo de caracteres para crearla. Funciona de la misma manera que la funcion System.out.println() en Java o printf() en C++, solo que en vez de imprimir en la consola, lo hace en un documento HTML. El parametro que recibe es la cadena de caracteres, la cual puede contener obviamente las variables u otros objetos que deseemos pasar.

Tal como el ejemplo anterior, si queremos incluir HTML este debe ir dentro de la funcion ECHO, como si se tratase de una cadena.

Esto es hasta lo básico de los bucles en PHP, se incluye una carpeta en ZIP la cual incluye ejemplos detallados del funcionamiento de los ciclos. Esta carpeta se debe descomprimir en el directorio “www” de la carpeta donde esta instalado el servidor WAMP.

h1

Capitulo 2 tutorial de PHP

Octubre 27, 2007

Hola que tal?

Perdon por la tardanza, vamos a comenzar con el capitulo 2 del pequeño tutorial en PHP. Vamos a hablar de las variables y todo lo que respecta a ellas.

Para comenzar vamos a comentar ciertas caracteristicas de las variables:

  • Se declaran de esta forma:

    <?php
    $mi_variable;
    ?>

  • Las variables son polimorficas, es decir, depende de que tipo esta guardando. Por ejemplo:

    <?php
    $mi_variable = 23; //Contendrá el numero 23

    $mi_otravariable = ‘23′; //Contendra la cadena de caracteres ‘23′

    $otra_variable = $mi_variable + $mi_otravariable;// Aqui //sumará el numero 23 con la cadena ‘23′ y el resultado será //un entero
    ?>

  • Hay que tener cuidado, ya que PHP convierte los tipos de las variables para realizar las operaciones, el tipo de la primera variable va a definir que tipo tendrá la variable destino. Aqui es donde se encuentran una buena parte de los errores al confundir los tipos de las variables

Ya que se ha mencionado estas caracteristicas de las variables, ahora pasaremos a las operaciones y sus simbolos:

  • Asignacion: con el signo “=“. Ejemplo:

    <?php
    $mi_variable = 123;
    $mi_otravariable = “daniel ortega”;
    $mi_tercer_variable = $mi_variable;
    ?>

  • Suma simple: con el signo “+“. Ejemplo:

    <?php
    $mi_variable = 1 + 2;

    $mi_variable = “daniel”;
    $mi_otra = ” ortega”;
    $mis_dos = $mi_variable + $mi_otra;//Esta no es muy aconsejable por que no siempre se pueden concatenar cadenas!!

    ?>

  • Suma con asignacion: con los signos “+=“. Ejemplo:

    <?php
    $mi_variable = 1;
    $mi_otra_variable = 2;
    $mi_otra_variable += $mi_variable //Aqui va a sumar ambas variables;
    ?>

  • Autoincremento en 1: con el signo “++“. Ejemplo:

    <?php

    $mi_variable = 1;
    $mi_variable++;

    ?>

  • Resta: con el signo “-“. Ejemplo:

    <?php

    $mi_variable = 1 – 2;
    $mi_variable = 100;
    $otra = 50;
    $resta_ambas = $mi_variable – $otra;

    ?>

  • Resta con asignacion: con los signos “-=“. Ejemplo:

    <?php

    $mi_variable = 100,
    $mi_variable -= 30;
    $otra_variable = 10;
    $mi_variable -= $otra_variable;

    ?>

  • Multiplicacion (o producto): con el signo “*“. Ejemplo:

    <?php

    $mi_variable = 10 * 9;
    $mi_variable = 100;
    $mi_otra_variable = 30;
    $otra_variable = $mi_variable * $mi_otra_variable;

    ?>

  • Division (parte entera): con el signo “/“. Ejemplo:

    <?php

    $mi_variable = 10 / 2;
    $mi_variable = 40;
    $mi_otra_variable = 5;
    $otra_variable = $mi_variable / $mi_otra_variable;

    //Con esta operacion solo se guarda la parte entera de la //division

    ?>

  • Division (residuo): con el signo “%”. Ejemplo:

    <?php

    $mi_variable = 5 % 2;
    $mi_variable = 40;
    $mi_otra_variable = 21;
    $otra_variable = $mi_variable % $mi_otra_variable;

    //En este caso solo se guarda el residuo de la division

    ?>

  • Concatenar cadenas o strings: con el signo “.“. Ejemplo:

    <?php

    $mi_variable = “daniel”.” “.”ortega”;
    $mi_variable = $mi_variable.” es un frikkie\nY no sabe PHP”;
    $mi_otra_variable = “\nYa mejor que se dedique a otra cosa”;
    $otra_variable = $mi_variable.$mi_otra_variable;

    //En este caso unirá las cadenas en el orden en el que esten
    //Los caracteres “\n” equivalen al salto de linea, igual que //Java y C++

    ?>

Esto es de manera general para las variables, claro que hay forzado de tipos, con lo cual se evita que se mezclen los tipos de las variables.

Támbien estan los operadores booleanos, que nos permiten comparar si la expresion es verdadera o falsa. Estos son:

  •  And (Conjuncion, Y lógico):   &&.
  • Or:  (Disyuncion, O lógico) ||.
  • Not:  (Negacion) -(   ).

Los operadores de comparacion, para verificar si son iguales o no 2 expresiones o variables. Estos son:

  • Igualdad:  ==.
  • Desigualdad: !=.

Es todo por este capitulo, en la siguiente entrega iniciaremos con los ciclos y una funcion de salida para obtener los resultados. Así mismo habra un archivo que contendra ejemplos con los temas vistos.

h1

Inicio de Pequeño Tutorial de PHP

Octubre 4, 2007

Con este post iniciamos un pequeño tuto de PHP, espero que les sirva a muchos ya que aunque se va a tratar de conceptos y funciones básicas de este lenguaje, abordaremos la muy solicitada parte de PHP + MySQL, funcionando sobre un servidor apache, recuerden que pueden consultar PHP en la pagina de la W3Schools la cual es una buena página para tener una rápida referencia.

Comencemos por conceptos:
PHP es el acronimo de PHP Hipertext Preprocesor, algo asi como “Preprocesador de Hypertexto PHP. El caso es que es un lenguaje interpretado, tal como Java, el cual nos permite crear documentos HTML, de manera dinámica, ahorrandonos un montooooon de tiempo. Entre otros beneficios, es el de proveer conectividad con muchisimos dispositivos y servicios; entre los mas comunes son:

  • Pago por Internet
  • Compras en Linea
  • Conexion con bases de datos
  • Manejo de Imágenes
  • Creacion de documentos PDF

La neta le puedo seguir pero los voy a aburrir con todo lo que puede hacer PHP.
Encaminemonos ahora hacia lo básico, la programación en PHP es bastante sencilla, solo hay que familiarizarnos con algunas caracteristicas. Comenzemos por aqui:

  • Tal como en Java, C++, Pascal y muchos otros lenguajes, las instrucciones en PHP terminan en ; (punto y coma)

    echo(“Esta es una instruccion en PHP”);

  • Los comentarios son identicos a los de C++ y Java // /* */

    //Este es el comentario de una linea

    /* Este es comentario de varias
    lineas, tal como C++ y Java */

  • Todo código en PHP se deben estar entre las etiquetas <?php la de apertura y ?> para cerrar

    <?php
    echo(“Este es un bloque de código de PHP”);
    echo(“Aqui termina el bloque de código”);
    ?>

  • Obviamente los scripts o archivos que contengan PHP deben llevar la terminacion .PHP, aunque también el script puede estar dentro de código HTML

    <html>
    <head>
    <title>
    Mi pagina con PHP
    </title>
    </head>
    <body>
    <?php
    echo(“aqui esta el detalle con PHP encluido en un codigo HTML”);
    ?>
    <h1>asereje a deje dejebe tu dejebere</h1>
    </body>
    </html>

Hasta aqui cabe aclarar un punto importante, si no tienen un servidor web JAMAS VAN A HACER QUE FUNCIONE PHP, la razon es simple, PHP es interpretado por el servidor, por lo que el usuario no recibe una página en PHP, sino un HTML producido por un script de PHP, esta es una caracteristica de seguridad que provee PHP. Si no tienen un servidor web que soporte PHP pueden bajar WampServer, un servidor gratuito que incorpora a Apache y MySQL, ya viene configurado para trabajar con ambos y con PHP, se los recomiendo por que despues trabajaremos con ambos al mismo tiempo.

En la siguiente entrega comenzamos a ver como son los tipos de datos que soporta PHP, variables (declaracion y manejo), arrays lineales y multidimensionales (arreglos y matrices pues…) instrucciones de condiciones (if, else, switch, case) y bucles (for, while, do-while, foreach).

h1

System.out.println(“Bienvenido!!!\nEsta es la sección de Programación”);

Septiembre 8, 2007

Esta es la sección de programación, aqui encontraras algunos trucos de java, html, css, javaScript, un poquillo de Delphi y SQL. No es que sea una eminencia programando o dominando estos temas, no, pero no estoy tan perdido.

Si alguna vez llegase a equivocarme con alguna información que les proporcione, por favor haganlo saber ya que así aprendemos todos.

También espero las solicitudes de su parte para los temas que quieren saber o si nos quieren compartir algun truco o técnica, siempre nombrando la fuente de consulta o el autor.

Espero sus comentarios