User avatar by pello in December 7, 2011, 1:34 pm   tags: java,javajutsu,poo,herencia,

JavaJutsu, herencia entre clases

Este es un ejemplo de herencia, la clase ClienteVip que hereda de Cliente:

/**
* ClienteVip
* Clase que muestra la declaración de una clase que extiende a otra:
* es decir muestra la HERENCIA
*
* Para compilar:
*   javac ClienteVip.java
*
* Para ejecutarlo:
*   java ClienteVip
*/
 
// Librería necesaria para trabajar...

Read more...  | 0 comments |  PELMAlink |  127 reads
User avatar by pello in December 5, 2011, 12:19 pm   tags: java,,javajutsu,funciones,

JavaJutsu: métodos o funciones

En las funciones podemos tener un retorno y pueden lanzar excepciones.

/**
* Metodos
* Clase que muestra la declaración de todo tipo de métodos
*
* Para compilar:
*   javac Metodos.java
*
* Para ejecutarlo:
*   java Metodos
*/
 
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;

Read more...  | 0 comments |  PELMAlink |  125 reads
User avatar by pello in November 24, 2011, 12:36 pm   tags: java,javajutsu,clases,

JavaJutsu: clases

Java es una especie de C++ simplificado al que le han quitado la herencia múltiple y los punteros. Como todo lenguaje orientado a objetos utiliza clases, con sus propiedades y métodos. Veamos un par de ejemplos:

Clase Genérica:

/**
* Clases
* Clase que muestra la declaración de una clase
*
* Para compilar:
*   javac Clases.java
*
* Para ejecutarlo:

Read more...  | 0 comments |  PELMAlink |  144 reads
User avatar by pello in November 23, 2011, 1:08 pm   tags: java,,javajutsu,arrays,matrices,

JavaJutsu: matrices o arrays de varias dimensiones

¿Cómo creamos y accedemos a los elementos de un array de varias dimensiones? Muy fácil. Como en c.

/**
* Matrices
* Clase que muestra la declaración y uso de Arrays de varias dimensiones
* le he llamado Matriz por distinguir, aunque formalmente puede ser los mismo.
*
* Para compilar:
*   javac Matrices.java
*
* Para ejecutarlo:

Read more...  | 0 comments |  PELMAlink |  120 reads
User avatar by pello in November 22, 2011, 5:03 pm   tags: java,web,struts,mvc,

Mecano es una pequeña aplicación web hecha en java usando el framework Struts. Struts no es más que una librería que nos permite hacer la aplicación con el patrón MVC.

Tiene unos diez años y dudo que pueda funcionar con el struts actual pero por si alguien quiere echarle un ojo, dejo el enlace:

Bajarse aplicación Struts Mecano

Read more...  | 0 comments |  PELMAlink |  129 reads
User avatar by pello in November 21, 2011, 12:27 pm   tags: java,javajutsu,arrays,

JavaJutsu: arrays

En java los arrays se declaran más o menos como en c. Tenemos estructuras mejores dentro de las utilidades de java.util.*, pero si queremos algo básico y no nos importa que sea rígido podemos declarar arrays así:

/**
* Arrays
* Clase que muestra la declaración y uso de arrays
*
* Para compilar:
*   javac Arrays.java
*
* Para ejecutarlo:
*   java...

Read more...  | 0 comments |  PELMAlink |  75 reads
User avatar by pello in November 14, 2011, 12:27 pm   tags: java,javajutsu,bucle,break,continue,

JavaJutsu: break y continue

Estas dos sentencias funcionan como en c. Break sirve para salir de una estructura de control como un switch case o de un bucle.

El continue sirve para que el bucle salte a la siguiente vuelta, sin salir del bucle.

Atención al ejemplo y a cómo hacer breaks cuando hay más de un bucle.

 

/**
* BreakContinue
* Clase que muestra el uso de sentencias Break Continue para
* alterar...

Read more...  | 0 comments |  PELMAlink |  137 reads
User avatar by pello in November 11, 2011, 1:46 pm   tags: java,javajutsu,bucle,for,

JavaJutsu: el bucle for

Se declara igualito que el bucle for de c. Los bucle for se utilizan cuando necesitamos que un número concreto de iteraciones (ej: recorrer un array), ni más ni menos, aunque siempre se puede romper el bucle. A bajo nivel se supone que los bucle for son más rápidos que los while.

/**
* For
* Clase que muestra el uso de un bucle for
*
* Para compilar:
*   javac For.java
*

Read more...  | 0 comments |  PELMAlink |  109 reads
User avatar by pello in November 10, 2011, 12:14 pm   tags: java,javajutsu,bucle,dowhile,

JavaJutsu: el bucle do while

Esto es lo mismo que en c. El bucle do while es una iteración que al menos se ejecuta una vez.

/**
* DoWhile
* Clase que muestra los bucles while
*
* Para compilar:
*   javac DoWhile.java
*
* Para ejecutarlo:
*   java DoWhile
*/
 
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;
 

Read more...  | 0 comments |  PELMAlink |  125 reads
User avatar by pello in November 9, 2011, 2:11 pm   tags: java,javajutsu,bucle,while,

JavaJutsu: el bucle while

Los bucles se hacen igual que en c. Vamos a ver un ejemplo con el bucle while:

/**
* While
* Clase que muestra los bucles while
*
* Para compilar:
*   javac While.java
*
* Para ejecutarlo:
*   java While
*/
 
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;
 
/**
* clase While

Read more...  | 0 comments |  PELMAlink |  155 reads
User avatar by pello in November 7, 2011, 10:47 am   tags: svg,game,dice,

D6 dices in svg

Scalar vector graphics dice set, quick and dirty.

d6 dice set

Dados en formato vectorial.

Download (svg file, dices one by one)

Read more...  | 1 comments |  PELMAlink |  89 reads
User avatar by pello in November 4, 2011, 10:54 am   tags: java,javajutsu,estructura,control,condicional,siwtchcase,

JavaJutsu: el switch case

Cuando necesitamos comprobar una condición sobre el valor de una variable en lugar de usar un montón de if-else debemos usar un switch case. En el caso de Java es como c pero a partir de la versión 7 podemos usar Strings!!

/**
* SwitchCase
* Clase que muestra el uso de un switch case
*
* Para compilar:
*   javac SwitchCase.java
*
* Para ejecutarlo:
*  ...

Read more...  | 0 comments |  PELMAlink |  163 reads
User avatar by pello in November 3, 2011, 12:38 pm   tags: java,javajutsu,estructura,control,condicional,if,else,

Javajutsu: condicional if-else

En java no existe una operación elseif o elsif, así que hay que hacer un else y luego un if como en c.

 

Ejemplo de if-else

/**
* IfElse
* Clase que muestra un bloque condicional if-else
*
* Para compilar:
*   javac IfElse.java
*
* Para ejecutarlo:
*   java IfElse
*/
 
// Librería necesaria...

Read more...  | 0 comments |  PELMAlink |  139 reads
User avatar by pello in November 2, 2011, 2:24 pm   tags: java,javajutsu,estructura,control,condicional,if,

Javajutsu: estructura condicinal if

El if se hace como en c, aunque no todo es igual. Ver código comentado.

/**
* If
* Clase que muestra el uso de un bloque condicional if
*
* Para compilar:
*   javac If.java
*
* Para ejecutarlo:
*   java If
*/
 
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;
 
/**

Read more...  | 0 comments |  PELMAlink |  164 reads
User avatar by pello in October 27, 2011, 11:46 am   tags: java,javajutsu,operadores,bits,

JavaJutsu: operadores de bits

¿Te interesan los operadores a nivel de bits en Java? Algo malo debes estar haciendo ;)

Los operadores haberlos haylos, otra cosa es que se usen con frecuencia.

/**
* OperadoresBits
* Clase que muestra el uso de operadores de bits
*
* Para compilar:
*   javac OperadoresBits.java
*
* Para ejecutarlo:
*   java OperadoresBits
*/
 

Read more...  | 0 comments |  PELMAlink |  155 reads
User avatar by pello in October 26, 2011, 1:30 pm   tags: java,javajutsu,operadores,booleanos,

JavaJutsu: operadores booleanos

Los operadores booleanos son los esenciales de siempore: and, or y not, en su forma habitual: && , || , !

 

/**
* OperadoresBooleanos
* Clase que muestra el uso de operadores booleanos
*
* Para compilar:
*   javac OperadoresBooleanos.java
*
* Para ejecutarlo:
*   java OperadoresBooleanos
*/
 
// Librería necesaria...

Read more...  | 0 comments |  PELMAlink |  146 reads
User avatar by pello in October 25, 2011, 1:31 pm   tags: java,javajutsu,operadores,comparacion,

Javajutsu, operadores de comparación

¿Operadores de comparación? Los mismos que en c.

 

/**
* OperadoresComparacion
* Clase que muestra el uso de operadores de comparación
*
* Para compilar:
*   javac OperadoresComparacion.java
*
* Para ejecutarlo:
*   java OperadoresComparacion
*/
 
// Librería necesaria para trabajar...

Read more...  | 0 comments |  PELMAlink |  127 reads
User avatar by pello in October 14, 2011, 2:28 pm   tags: java,javajutsu,operadores,aritmeticos,

JavaJutsu: operadores aritméticos

Los operadores aritméticos de java son iguales que en cualquier otro lenguaje tipo c.

/**
* OperadoresAritmeticos
* Clase que muestra el uso de operadores aritméticos: suma, resta...
*
* Para compilar:
*   javac OperadoresAritmeticos.java
*
* Para ejecutarlo:
*   java OperadoresAritmeticos
*/
 
// Librería...

Read more...  | 0 comments |  PELMAlink |  176 reads
User avatar by pello in October 13, 2011, 12:23 pm   tags: java,,consola,javajutsu,readline,

La entrada por consola se ha simplificado bastante con el objeto Console.

Ya no hace falta un StreamReader ni nada de eso.

/**
* EntradaPorConsola
* Clase que como solicitar datos al usuario y guardarlos
* en variables.
*
* Para compilar:
*   javac EntradaPorConsola.java
*
* Para ejecutarlo:
*   java EntradaPorConsola
*/
 
// Librería necesaria para trabajar...

Read more...  | 0 comments |  PELMAlink |  187 reads
User avatar by pello in October 4, 2011, 2:08 pm   tags: java,consola,javajutsu,argumentos,main,

Argumentos de programa principal o main

A los programas de java también se les pueden pasar argumento a la hora de ejecutarlos. Para eso se utiliza el array de Strings args[].

Argumentos tipo Cadena

/**
* ValoresCadenasArgumentos
* Clase que muestra la declaración de variables de cadenas o Strings
* y cómo pasarles lo que viene como argumento
*
* Para compilar:
*   javac ValoresCadenasArgumentos.java

Read more...  | 0 comments |  PELMAlink |  253 reads
User avatar by pello in October 3, 2011, 12:18 pm   tags: java,javajutsu,variables,cadenas,

Variables de cadenas o Strings

/**
* ValoresCadenas
* Clase que muestra la declaración de variables de cadenas o Strings
*
* Para compilar:
*   javac ValoresCadenas.java
*
* Para ejecutarlo:
*   java ValoresCadenas
*/
 
// Librería necesaria para trabajar con la entrada/salida
import java.io.*;
 
/**
* clase ValoresCadenas
*...

Read more...  | 0 comments |  PELMAlink |  211 reads
User avatar by pello in September 30, 2011, 2:24 pm   tags: java,javatsu,variables,boolean,

Java: Variables Booleanas

Las variables booleanas solo pueden tener dos valores: true o false (verdadero o falso). Los valores booleanos son imprescindibles en la programación para la toma de decisiones en estructuras de control, bucles, etc...

/**
* ValoresBooleanos
* Clase que muestra la declaración de variables booleanas
*
* Para compilar:
*   javac ValoresBooleanos.java
*
* Para ejecutarlo:
*  ...

Read more...  | 0 comments |  PELMAlink |  203 reads
User avatar by pello in September 29, 2011, 12:23 pm   tags: java,javajutsu,caracteres,char,variable,

Variables de Caracteres, char

En java también existen las variables tipo char, como en el c de toda la vida. Son variables que contienen un único caracter alfabético o especial.

/**
* ValoresCaracteres
* Clase que muestra la declaración de variables de caracteres
*
* Para compilar:
*   javac ValoresCaracteres.java
*
* Para ejecutarlo:
*   java ValoresCaracteres
*/

Read more...  | 0 comments |  PELMAlink |  208 reads
User avatar by pello in September 28, 2011, 1:31 pm   tags: java,javajutsu,reales,float,double,

Variables Reales

Así se manejan las variables numéricas de números reales. Atención a las constantes float.

/**
* ValoresReales
* Clase que muestra la declaración de variables numéricas <b>de coma flotante</b>
*
* Para compilar:
*   javac ValoresReales.java
*
* Para ejecutarlo:
*   java ValoresReales
*/
 
 

Read more...  | 0 comments |  PELMAlink |  207 reads
User avatar by pello in September 27, 2011, 10:16 am   tags: java,,consola,argumentos,javatsu,

Variables Numéricas enteras

Este es un ejemplo de declaración de variables numéricas

/**
* ValoresEnteros
* Clase que muestra la declaración de variables numéricas enteras
*
* Para compilar:
*   javac ValoresEnteros.java
*
* Para ejecutarlo:
*   java ValoresEnteros
*/
 
// Librería necesaria para trabajar con la entrada/salida

Read more...  | 0 comments |  PELMAlink |  336 reads
User avatar by pello in September 22, 2011, 11:25 am   tags: java,consola,javajutsu,argumentos,

Javajutsu: Argumentos por consola en java

Vamos a ver cómo se recogen argumentos por la línea de comandos. Se hace igual que en c

/**
* Argumentos
* Clase que muestra cómo recoger argumentos de la línea de comandos
*
* Para compilar:
*   javac Argumentos.java
*
* Para ejecutarlo:
*   java Argumentos argumento
*/
 
// Librería necesaria...

Read more...  | 0 comments |  PELMAlink |  294 reads
User avatar by pello in September 21, 2011, 1:35 pm   tags: java,xp,javajutsu,entornos de desarrollo,

JavaJutsu

Bueno, llegó la hora de darle al java. A lo largo de las siguientes entradas iremos conociendo este lenguaje y algunas herramientas de desarrollo.

Empezaremos con los simple, con las manos desnudas, editor, compilador y línea de comandos. Y poco a poco iremos conociendo las herramientas de poder

/**
* HolaMundo
* Clase que simplemente muestra un mensaje por pantalla
*
* Para compilar:
*   javac HolaMundo.java
*
* Para ejecutarlo:
*   java... 
Read more...  | 1 comments |  PELMAlink |  191 reads
User avatar by pello in July 4, 2011, 12:50 am   tags: ant,xp,junit,

<?xml version="1.0"?>
<!-- NOTA: Asegúrate de que el fichero lo editas en utf-8 -->
<!-- NOTA: conviene hacer clean y luego compilar -->
<!-- Para generar: ant [tarea] o ant -buildfile [fichero.xml] [tarea] -->
<project name="build.xml de ejemplo" default="pasartest" basedir=".">

    <property name="dir.src" value="src"/>
  ...

Read more...  | 0 comments |  PELMAlink |  540 reads
User avatar by pello in June 17, 2011, 1:16 pm   tags: java,midlet,j2me,mobile,

Este midlet tiene varias partes:

  1. Por un lado está el Midlet o aplicación para el móvil
  2. Una clase tipo Canvas para hacer los gráficos
  3. Una clase hilo que se utiliza para que el canvas pinte una y otra vez con pausas.

/*
 * RandomCircles
 * Midlet que usa una pantalla de tipo Canvas para crear gráficos
 */
package hello;

import javax.microedition.midlet.*;

Read more...  | 0 comments |  PELMAlink |  614 reads
User avatar by pello in June 17, 2011, 1:12 pm   tags: java,midlet,j2me,mobile,

Ejemplo de un midlet que saca datos de la red, en concreto haciendo peticiones a una URL.

package hello;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;

/**
 * @author luser
 */
public class HttpRequestTest extends MIDlet implements CommandListener {
    private Command exitCommand, goCommand, backCommand;

Read more...  | 0 comments |  PELMAlink |  563 reads
User avatar by pello in June 1, 2011, 9:39 am   tags: java,midlet,j2me,mobile,

El conversor de ptas,euros y dolares algo mejorado. Campos que solo admiten números,choices, alertas, dos formularios, etc..

*
 * Conversor
 * Midlet que convierte monedas en dos formularios
 */
package hello;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;


public class Conversor extends MIDlet implements CommandListener {
   ...

Read more...  | 0 comments |  PELMAlink |  602 reads
User avatar by pello in May 31, 2011, 9:44 am   tags: java,midlet,j2me,mobile,

El archivo está en formato jpg y se copia dentro de src. A partir de ahí el empaquetador lo guarda y desde el programa le hacemos referencia con una barra por delante.

/*
 * Spongebob
 * Midlet que muestra una imagen
 */
package hello;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;

public class Spongebob extends MIDlet implements CommandListener...

Read more...  | 0 comments |  PELMAlink |  621 reads
User avatar by pello in May 25, 2011, 1:58 pm   tags: java,midlet,j2me,mobile,

Un pequeño midlet que saca información básica del entorno de ejecución.

/*
 * SysInfo
 * Utilidad de ejemplo que aparece en libros viejos.
 * La hora no la saca bien.
 */

package hello;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;

public class SysInfo extends MIDlet implements CommandListener...

Read more...  | 0 comments |  PELMAlink |  588 reads
User avatar by pello in May 23, 2011, 2:26 pm   tags: java,midlet,j2me,mobile,

Plantilla Midlet

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package hello;

import javax.microedition.midlet.*;

// lcdui lo necesitamos para Display y si usamos CommandListener
import javax.microedition.lcdui.*;

// Después de tomar el Display (se coge no se crea) podemos
// usar screens (múltiples)....

Read more...  | 0 comments |  PELMAlink |  701 reads
User avatar by pello in May 20, 2011, 12:11 pm   tags: java,midlet,j2me,mobile,
/**
 * HolaMundo.java
 * Ejemplo de Midlet j2me SDK 3.0
 * http://pello.info
 */

package ejemplo;

import javax.microedition.midlet.*;
// este es necesario para Display, Form y Command
import javax.microedition.lcdui.*;

/**
 * @author pello altadill
 */
public class HolaMundo extends MIDlet {
    private Display pantalla;
    private Form formulario;
    private Command ordenSalida = new Command... 
Read more...  | 0 comments |  PELMAlink |  640 reads
User avatar by pello in May 20, 2011, 11:13 am   tags: java,,ant,xp,build,

ANT, automatizando la compilación y empaquetado de aplicaciones

Ant sería el equivalente java para el make de c.

	<?xml version="1.0"?>
<!-- NOTA: Asegúrate de que el fichero lo editas en utf-8 -->
<!-- NOTA: conviene hacer clean y luego compilar -->
<!-- Para generar: ant [tarea] o ant -buildfile [fichero.xml] [tarea] -->
<project name="build.xml...
Read more...  | 0 comments |  PELMAlink |  491 reads
User avatar by pello in April 19, 2011, 9:47 am   tags: ,svn,eliminar,recursivo,git,

Al utilizar algún software de control de versiones tipo CVS o subversion o GIT este te crea unos directorios ocultos que no tienen porqué estar accesibles a todo el mundo en el caso de que el software esté colgado en internet. Podemos cargarnos esos directorios con un solo comando linux, aquí mostramos tres variantes, dos de ellas usando find. Hay más.


		find ./ -name .svn -exec rm -rf {} ;
	
		find . -name .svn -print0 | xargs -0 rm -rf
	
		rm... 
Read more...  | 2 comments |  PELMAlink |  705 reads
User avatar by pello in October 29, 2010, 9:04 am   tags: pnp,game,dicemants,dices,pressyourluck,
Dicemants game logo
En español
First demo of dicemants using handmade wooden dices

Explore the depths of an old mine full of forgotten galleries. Risk your life to find out more diamonds...

Read more...  | 0 comments |  PELMAlink |  801 reads
User avatar by pello in October 28, 2010, 11:47 am   tags: ,php,dir,crawl,

Con este simple programa podemos recorrer recursivamente un directorio y sus subdirectorios. Es mejorable. Lo que si comprueba es que no se mete en el directorio local y tampoco en el ".."

 

crawler('/home/yomismo');

function crawler ($dir,$t=0)
{
    $d = dir($dir);
    //echo "Gestor: " . $d->handle . " ";
    //echo "Ruta: " . $d->path . " ";
    $isdir = 0;
   
    while (false... 
Read more...  | 0 comments |  PELMAlink |  1423 reads
User avatar by pello in October 28, 2010, 10:20 am   tags: javascript,js,

Las estructuras en javascript son idénticas a las de C.

Estructuras if-else

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
 <title>Estructuras</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta name="keywords" content=""...

Read more...  | 0 comments |  PELMAlink |  2035 reads
User avatar by pello in October 27, 2010, 9:51 am   tags: ,javascript,js,

Javascript es un lenguaje:

  1. Interpretado
  2. Débilmente tipado
  3. Orientado a objetos
  4. Case Sensitive

El lenguaje de programación javascript se utiliza principalmente para dotar de funcionalidades a las páginas web. El código se incluye en el documento xHTML directamente o se enlaza a través de una referencia. A partir de ahí puede hacerse que JS se ejecute directamente o a partir de eventos.

 

Hola...

Read more...  | 0 comments |  PELMAlink |  2072 reads
User avatar by pello in August 5, 2010, 1:41 am   tags: 3towers,pnp,game,dice,juego,3torres,

The Three Towers

Image of three towers game
A fast game for 2 players.(En español)

Middle age. War is coming to the city pamplona. The growing tension between burgs had pushed them to build a defense. But there is not enough stone available to stand it. Be the first to build three towers and victory will be yours.

Components:...

Read more...  | 2 comments |  PELMAlink |  1138 reads
User avatar by pello in June 15, 2010, 10:22 am   tags: c,poker,,cpoker,consola,

Bueno, pues el caso es que echaba de menos un juego de poker para consola, y teniendo en cuenta que en el juego de caracteres extendidos ASCII tenemos los símbolos de la baraja, y que podemos alterar los colores, pues... vaya! ¡si es que está a huevo!

pantallazo de cpoker

Seguramente ya existe alguna versión por ahí de hace 30 años pero también se trata de saber sacar esto por...

Read more...  | 1 comments |  PELMAlink |  1053 reads
User avatar by pello in May 20, 2010, 9:57 am   tags: openhotornot,edansornot,php,web,
Logo Open Hot or Not

Un buen día estaba con un amiguete en un bar, y tras meternos unas patatas bravas se nos fue el riego al estomago y surgió la idea de un sistema de ranking llamado edansornot. Dicho y hecho: edansornot.com ya es una realidad y su código fuente...

Read more...  | 3 comments |  PELMAlink |  2687 reads
User avatar by pello in March 24, 2010, 9:22 am   tags: ,
Puede que alguna vez hayas tenido que pasar datos de un fichero en algún formato extraño a una BD u otro tipo de repositorio. En el proceso de exportación/importación de los datos puede haber problemas con los juegos de caracteres ya que en aplicaciones del mundo antiguo (vease DOS etc) en lenguajes tenebrosos (COBOL, Pascal, etc...) vete a saber los juegos de caracteres que se usaban. A veces tendrás que sacar los datos de un fichero en formato DBF, cosa fácil usando un script propio o uno más profesional...
Read more...  | 4 comments |  PELMAlink |  7058 reads
User avatar by pello in February 5, 2010, 10:24 am   tags: poker,cards,svg,cartas,
SVG poker cards

This is a first version of a set of poker cards in scalar vector graphics format. It's made using Inkscape with scanned figures for the Jacks, Queens and Kings.

User avatar by pello in January 6, 2010, 3:52 pm   tags: fapfap,
Hala, otra vuelta de tuerca más y volvemos a empezar con la enésima migración. Desde aquella cosa estática del 2001, al drupal 4, al sistema propio dordoka y ahora a otro sistema propio. Con un aspecto que alguno que me sé me pondrá a parir: ¡¡ahora con un 90% de colores oscuros oiga!! Pues eso, pello.info se vuelve a renovar, y faltan cosas por pulir. Cualquier sugerencia o queja será bienvenida y una vez más, como diría el gran Erik B. : perdone las disculpas
Read more...  | 0 comments |  PELMAlink |  1388 reads
User avatar by pello in June 5, 2009, 11:48 am   tags: postgres,debian,lenny,

Resulta que el postgres no funciona solito en el lenny y hay que hacer algún apaño después del apt-get.

Bueno esta es una solución, la primera parte con una explicación encontrada en internet de la mano de Alvarus, pero no bastaba.

gandalf:~# mkdir -p /var/pgsql
gandalf:~# mkdir -p /var/pgsql/data
gandalf:~# chown postgres /var/pgsql/data

gandalf:~# su - postgres
postgres@gandalf:~$ /usr/lib/postgresql/8.3/bin/initdb... 
Read more...  | 12 comments |  PELMAlink |  3328 reads
User avatar by pello in May 7, 2009, 1:26 pm

Supongo que habrá formas mejores de hacerlo o incluso herramientas concretas. El caso es que se pueden pasar las tablas de access a Mysql de forma sencilla de dos maneras

Usando el odbc

Se puede hacer todo desde windows.

  1. Instalamos el appserv que ya trae el apache+mysql+php+phpmyadmin.
  2. Instalamos el ODBC para mysql. 
  3. Creamos una BBDD mysql a través de phpmyadmin
  4. Metemos una entrada en el gestor de odbc para la nueva BBDD...
Read more...  | 2 comments |  PELMAlink |  2232 reads
User avatar by pello in April 30, 2009, 1:33 pm   tags: c,shell,socket,

En linux usando sockets y la llamada dup se puede crear una especie de shell remoto de forma muy sencilla,

 

#include 
#include 
#include 

int main () {

int sock,canal;
struct sockaddr_in dir_servidor;

dir_servidor.sin_family=2;
dir_servidor.sin_addr.s_addr=0;
dir_servidor.sin_port=0x1337;

sock=socket(2,1,0);

bind(sock,(struct sockaddr *) &dir_servidor,0x10);

listen(sock,1);

canal = accept(sock,0,0);

dup2(canal,0);
dup2(canal,1);

execve("/bin/sh",0,0);

}

 

Hacer...

Read more...  | 4 comments |  PELMAlink |  1930 reads
User avatar by pello in April 8, 2009, 11:18 am



Un puntero es una variable que en un lugar de contener un valor
contiene la dirección de una variable. Se pueden crear punteros
a todos los tipos de variables y la
sintaxis de su declaración es casí como la de las
variables normales, salvo que se añade el símbolo *.
Veamos una variable int normal y un puntero llamado p:

int numero;
int *p;

numero = 31337;
p = 666;

Si representamos...

Read more...  | 2 comments |  PELMAlink |  3014 reads
User avatar by pello in April 8, 2009, 10:20 am

Listas en python Las listas son como arrays, permiten toda clase de tipos, anidación, etc.. el manejo es peculiar. Este es un ejemplo muy simple.

#!/usr/bin/python
# coding=utf-8

# programa mínimo de python que introduce las listas
# La definición de coding nos sirve para poder tildes y demás,
# es necesario al menos para los comentarios

# Pello Xabier Altadill Izura - http://www.pello.info


# Vamos a definir una listas
numeros=[15,33,42,69,666]
heroes=["Ricewind","Haplo","Boromir","Gaunt"]
mezcla=["Frodo",11,"Merrin",-6... 
Read more...  | 0 comments |  PELMAlink |  2793 reads
User avatar by pello in April 7, 2009, 1:24 pm

Conociendo el depurador o debugger

Vamos a revisar algunas ordenes útiles del depurador gdb. Supongamos que tenemos este programa:

void saludar (char *q)
{
char saludo[10] = “Hola “;
char quien[15] = ” don “;

printf(”%s, %s %s
”, saludo, quien, q);
}

int main(int argc, char * argv[])
{
int entero;
entero = 0;
saludar(argv[1]);
entero = 1;
printf(”Ok, valor del entero %d
”, entero);

return 0;
}

Para poder depurarlo...

Read more...  | 0 comments |  PELMAlink |  1910 reads
User avatar by pello in April 5, 2009, 6:45 pm

Ofertars de trabajo para Lisp.

 

Job offer for Lisp, c0ders

(Pincha para ampliar)

Muchas veces la imagen de empresa que se oculta tras una oferta de trabajo no se asemeja a lo que se trata de vender......

Read more...  | 1 comments |  PELMAlink |  1561 reads
User avatar by pello in April 3, 2009, 1:15 pm

Ejemplo de listas enlazadas usando punteros.

 

/**
* lista.c
* Muestra el uso de estructuras
* Compilacion: gcc -o lista lista.c
* curso de C
*/

#include <stdio.h>
#include <stdlib.h>

/* Declaramos la estructura */
struct lista {
 char *nombre;
 struct lista *siguiente;
};

/* Funciones para manejar lista */
void print_lista (struct lista *l);
void add_lista (struct lista *l, char * nombre);



main ()
{
 struct lista miLista;
 printf("Vamos a usar la lista. 
");
 miLista.nombre... 
Read more...  | 1 comments |  PELMAlink |  2645 reads
User avatar by pello in April 2, 2009, 2:27 pm

Crear una aplicación multilenguaje es simple gracias a la función gettext y todo el tema de ficheros mo. Se trata de crear un directorio con los ficheros de lenguaje, compilar esos ficheros y luego usarlos desde php o cualquier otro lenguaje. En este ejemplo tenemos un php y dentro de su directorio tenemos el directorio de locale, por cada lenguaje un directorio y luego un dominio de aplicación. Total:

./locale/es_ES/LC_MESSAGES/

Dentro de LC_MESSAGES tenemos...

Read more...  | 0 comments |  PELMAlink |  1589 reads
User avatar by pello in April 1, 2009, 11:42 am

Alguna vez he jugado al rol. No he matado a nadie. Todavía. Como es algo esporádico paso de comprarme manuales y expansiones de los sacacuartos de D&D y cualquier otra movida por el estilo. Existen infinidad de juegos y sistemas libres y gratuitos (rolgratis)...

Read more...  | 2 comments |  PELMAlink |  1633 reads
User avatar by pello in March 31, 2009, 2:41 pm

4. Acceso a BBDD

Para el acceso a BBDD desde .NET tenemos varias opciones:

  • OleDb: es una opción sencilla para acceder a objetos ole, como por ejemplos ficheros de Access. Si la BBDD es sencilla es una forma fácil de tener una web dinámica.
  • ODBC: es la opción que necesitamos cuando no hay librerías .NET para el gestor de BBDD o cuando queremos hacer que el acceso a la BBDD sea transparente. Es más...
Read more...  | 0 comments |  PELMAlink |  1177 reads
User avatar by pello in March 30, 2009, 11:10 am

Hace un par de años en el Instituto Cuatrovientos de Pamplona montamos una party en la que hubo algunas charlas. En una de ellas se hizo un taller de consola donde se repasaron comandos linux y se introdujo la programación shell. De ese taller realizado junto al gran Iñigo Tejedor se produjo un documento que resume los comandos de linux/unix y se proporciona una guía de iniciación a...

Read more...  | 3 comments |  PELMAlink |  1867 reads
User avatar by pello in March 27, 2009, 11:03 am

Ofertars de trabajo para Float.

 

Job offer for Float, c0ders

(Pincha para ampliar)

En las ofertas de trabajo para informáticos se piden unas listas de conocimientos que parecen cartas a los reyes...

Read more...  | 14 comments |  PELMAlink |  6304 reads
User avatar by pello in March 26, 2009, 1:23 pm

Ya existen generadores de passwords mucho mejores, pero en fin necesitaba tener uno a mano que tuviera una peculiaridad muy simple: no crear passwords con caracteres problematicos: los ceros, las eles las is, etc: 0,O,i,l,I,|,1,...

Por si le sirve a alguien...

/**
* genpas.c
* Password generator supercutre, sobre el que estampo mi rúbrica
* Pello Xabier Altadill Izura
* Tiene como peculiaridad el hecho de que 
* NO usa caracteres ambiguos como 1l0O para evitar confusiones
*/
#include... 
Read more...  | 3 comments |  PELMAlink |  2204 reads
User avatar by pello in February 17, 2009, 8:42 am

3.1 Themes

Los themes son necesarios porque para personalizar algunos controles de .NET no basta con las hojas de estilos.

Para guardar el theme debe crearse una carpeta llamada App_Theme y dentro de ella otra carpeta por cada theme. Dentro de los themes podemos tener tantos archivos skin como queramos.

Los ficheros de skin contienen listas de controles web personalizados: por ejemplo, cajas de texto de determinado color.

Aplicación...
Read more...  | 1 comments |  PELMAlink |  3242 reads
User avatar by pello in February 16, 2009, 10:10 am
2. Aplicaciones ASP.NET
Aplicaciones Web y Ciclo de vida de una página.
.NET es un poco peculiar a la hora de procesar las peticiones web. El protocolo HTTP tiene la peculiaridad de no conservar el estado ya que no mantiene una conexión permanente entre cliente y servidor. Por tanto la información de estado debe guardarse de alguna manera. .NET ofrece un mecanismo llamado viewstate. Así, surgen dos tipos de peticiones:
  1. La primera...
Read more...  | 0 comments |  PELMAlink |  2412 reads
User avatar by pello in October 6, 2008, 10:23 am
Esto del excel da una pereza, en fin. Si queremos crear formulas para generar contenido aleatorio de fechas, códigos o fecha y hora. Estás hechas rápido y mal, son mejorables.
Generar fechas con horas
=CONCATENAR(REDONDEAR(ALEATORIO()*10;0)+1;"/";REDONDEAR(ALEATORIO()*10;0)+1;"/19";REDONDEAR(ALEATORIO()*100;0))
Generar fechas con horas
=CONCATENAR(REDONDEAR(ALEATORIO()*10;0)+1;"/";REDONDEAR(ALEATORIO()*10;0)+1;"/19";REDONDEAR(ALEATORIO()*100;0);"...
Read more...  | 0 comments |  PELMAlink |  1764 reads
User avatar by pello in December 31, 2007, 12:13 am
LogomendaCuánto tiempo. Pues resulta que haciendo uso del inframework dordoka se ha dado inicio al experimento de crear una web. Se trata de gomenda.net, una web colaborativa de recomendaciones de temas diversos: películas, música, locales, webs, etc... con un sistema de votación muy simple en el que se elige si bien, regular o mal. Ahora mismo...
Read more...  | 2 comments |  PELMAlink |  3421 reads
User avatar by pello in July 17, 2007, 5:39 pm
Bueno, montar un viejo sistema windoze es bastante fácil, se puede incluso crear con soporte para tarjeta de red y sonido. Primero hay que crear el disco:
qemu-img create -f qcow discowin.img 500M
Aunque le digas que el tamaño es 500 de entrada no ocupará todo eso, si no lo que el sistema requiera. Además se puede aplicar compresión y cifrado. Ahora ya podemos meter el CD e instalar. Si el instalador arranca desde el propio cd no hay problema:
qemu -net nic... 
Read more...  | 2 comments |  PELMAlink |  3978 reads
User avatar by pello in March 3, 2007, 8:51 pm
Supongamos que nos hace falta una máquina linux virtual dentro del propio linux. Podemos descargarnos alguna imagen que ya este hecha o hacerla nosotros mismos. Lo primero de todo, debemos crear un disco duro para la máquina virtual, y para eso se crea un fichero especial con un tamaño determinado:
qemu-img create -f qcow midisco.img 0.5G
Con eso creamos un disco de 500 megas. Se supone que podemos poner 500M. Vale. Tenemos la máquina, con un disco duro. Ahora como...
Read more...  | 10 comments |  PELMAlink |  4967 reads
User avatar by pello in February 11, 2007, 9:29 pm
Este es un ejemplo simple de acceso a una BBDD Mysql con el driver 3, el 5 es beta y no está documentada la forma de conectar (o al menos no la encuentro). Esta sería la clase:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using System.Data.Odbc;


public partial class Default2... 
Read more...  | 1 comments |  PELMAlink |  4149 reads
User avatar by pello in October 19, 2006, 1:32 pm
BruteSort, un algoritmo chungo?
Para este problema clásico ya existen varias soluciones de sobra conocidas como quicksort, mergesort, bubblesort, el caso es que no recordaba ninguno de esos algoritmos y he pensado: a ver si lo saco, si total esto es fácil. He sacado el siguiente programilla para javascript (sería válido para php,perl,c) y quizá he caido en el absurdo de reinventar la rueda. Ya nos decían en clase que anidar bucles era un feo...
Read more...  | 3 comments |  PELMAlink |  5762 reads
User avatar by pello in October 3, 2006, 2:45 pm
Un elemento simpático del mundillo unix era cuando te logeabas en el sistema y te salía una frase ingeniosa aleatoria, cosa que se puede hacer con el juego fortune. Fortune es un programa que simplemente muestra una frase sacada de un fichero cargado de frases y proverbios. Puede ocurrir que al instalarlo no funcione, por ejemplo en un debian. Es un problema de PATH, ya que el programa fortune se guarda en el clasico directorio /usr/games Podemos añadirlo al path o usar la ruta completa...
Read more...  | 7 comments |  PELMAlink |  4930 reads
User avatar by pello in August 15, 2006, 11:22 am
Tal y como se ve en la imagen:
El foro de Roma
Para postear en el foro hay que seguir los siguientes pasos:
  • Subirse a un sitio elevado
  • Adoptar una actitud vociferante
  • Gesticular
  • Soltar diatribas a diestro y siniestro
Jejeje
Read more...  | 8 comments |  PELMAlink |  4226 reads
User avatar by pello in July 15, 2006, 11:55 am
A veces el tema de los punteros en c se puede convertir en una pesadilla, pero lo cierto es que no es tan complicado teniendo las ideas claras.
En ocasiones...
Para empezar, un array de caracteres que se pasa como argumento a una función, no es un paso de parametro por valor, y si se modifica, al retornar de la función los cambios estarán ahí.
Y en el caso de un swap de enteros, se pasan los parametros...
Read more...  | 11 comments |  PELMAlink |  6119 reads
User avatar by pello in July 7, 2006, 12:01 pm
Bueno, me hubiera gustado terminar el día 6, pero han llegado los sanfermines y me ha pillado el toro. En fin. Veamos como se crea una página web con ASP.NET y C#. Por un lado se usan etiquetas especiales para los "componentes HTML" como las cajas de texto, botónes y etiquetas. Por otro se puede meter código C# dentro de etiquetas script, pero se ejecutan en el servidor claro. Y también se puede asociar una clase C# a la página, pero eso se escapa de esta introdución. Veamos...
Read more...  | 0 comments |  PELMAlink |  4167 reads
User avatar by pello in July 5, 2006, 12:00 pm
Vaya, pues esto de los webservices, con c# parece más fácil de lo esperado. Primero se crea una clase hija de WebService, atención a la extensión
<%@WebService Language="C#" Class="Saludo"%>

/**
* Saluda.asmx
* Ejemplo básico de webservice.
* SE trata de una clase con un método accesible
* como servicio web, un método que muestra el saludo standar
* En el caso de IIS, cuelgaló en inetpub/wwwroot y verás que pasa:
* se detecta el servicio y... 
Read more...  | 6 comments |  PELMAlink |  7278 reads
User avatar by pello in July 5, 2006, 1:07 am
Acceso a BBDD con ADO.NET. Para ejemplos simples se puede usar un ficherillo de access o una conexión odbc cualquiera. La cosa no cambia mucho;
/**
* AccesoBD.cs
* Clase para probar el acceso a BD desde C#
* Se usa el ADO.NET
* En este caso se prueba una select, pero las otras sentencias
* se ejecutan del mismo modo, aunque sin guardar resultado en un DataReader claro.
*/

using System;

// Para el acceso a BBDD
using System.Data;
using System.Data.OleDb;

public class AccesoBD
{

	// Método... 
Read more...  | 1 comments |  PELMAlink |  3242 reads
User avatar by pello in July 4, 2006, 5:39 pm
Bueno, para variar un poco que mejor que hacerse un theme de Wordpress. Puede resultar algo contradictorio hablar de eso en un blog tan descaradamente drupaliano como este, pero lo cierto es que hacer ese theme no es más que una excusa para poner en práctica (más bien en tela de juicio) los conocimientos de css, y más en concreto del posicionamiento de bloques. Lo malo es que cuando se te mete un diseño como este en la cabeza:
bueno, el tipico
Read more...  | 3 comments |  PELMAlink |  4592 reads
User avatar by pello in July 4, 2006, 5:01 pm
This is just another Wordpress theme. The design is based in sunflowers fields, with random pictures from som fields of Pamplona-Iruñea.
screenshot
This theme has a images/random directory where you can upload image files to be shown in header background. It uses a very...
Read more...  | 0 comments |  PELMAlink |  2472 reads
User avatar by pello in July 4, 2006, 12:07 am
Solo por encima vamos a ver algunos elementos más que podemos meter en las aplicaciones visuales con c#. Veamos algunos elementos nuevos
/**
* Elementos.cs
* Ejemplo de uso de elementos de windows.
* A la hora de compilar, para ejecutar como aplicación de windows
* y para que no salga una ventana de DOS, hay que usar estas opciones
* csc /t:winexe Formularios.cs  o en su defecto
* csc /r:System.Windows.Forms.dll /t:winexe Formularios.cs
*
*/

// Usamos esta librería para los formularios... 
Read more...  | 0 comments |  PELMAlink |  6490 reads
User avatar by pello in July 2, 2006, 11:14 pm
Bueno, pese a que este no es el tema que más interesa hay que verlo: el de las aplicaciones para entornos de ventanas. Hay que tener cuidado a la hora de compilar. Este tema se maneja en entornos Case o IDEs como Visual Studio. Veamos el ejemplo mínimo:
/**
* Formularios.cs
* Ejemplo de uso de formularios windows.
* A la hora de compilar, para ejecutar como aplicación de windows
* y para que no salga una ventana de DOS, hay que usar estas opciones
* csc /t:winexe Formularios.cs  o... 
Read more...  | 0 comments |  PELMAlink |  1740 reads
User avatar by pello in July 2, 2006, 12:44 am
Vamos a conocer algunas clases útiles de C#, presentes en cualquier otro lenguaje. Veamos el práctico temporizador con Timer
/**
* Temporizador.cs
* Muestra el uso de la clase Timer para crear temporizadores.
* Se puede asociar un evento a un temporizador para que el programa
* reaccione al cabo de x tiempo.
* Info sobre el standar http://msdn.microsoft.com/net/ecma
*/

using System;
using System.Timers;


// Vamos a usar El timer a través de nuestra clase temporizador
public... 
Read more...  | 8 comments |  PELMAlink |  3250 reads
User avatar by pello in June 30, 2006, 11:05 am
Al igual que en C++ también podemos sobrecargar operadores en C#. Desde los aritmeticos binarios (+, -, *,..), comparativos, unarios(++), hasta Equals. Este ejemplo no muy útil muestra un poco la forma de sobrecargar operadores, no tiene mucho misterio pero hay que fijarse bien en los parámetros y returns para cada caso.
/**
* SobrecargaOperadores.cs
* Este archivo muestra como sobrecargar operadores 
* en concreto los binarios simples: +,-,*,/.%, etc..
*/

using System;

// Definimos... 
Read more...  | 3 comments |  PELMAlink |  2102 reads
User avatar by pello in June 29, 2006, 10:00 am
Hoy vamos a ver unos objetos y métodos algo especiales. Todo esta explicado en el código. Por un lado, los indexadores
/**
* Indexadores.cs
* Los indexadores sirven para acceder a un array que puede haber dentro
* de la clase de forma directa. Supongamos que tenemos un atributo que es un
* array de nombres: protected string[] nombres;
* Con el indexador o indexer accederiamos a ese array así:
*   MiClase clase = new MiClase();
*   clase[0] = "Nuevo valor";
* Y para eso hay que definir... 
Read more...  | 3 comments |  PELMAlink |  1768 reads
User avatar by pello in June 28, 2006, 8:55 pm
En C# también se pueden crear interfaces como en Java, aunque el manejo de atributos se hace a través de las properties y es algo engorroso. Veamos un ejemplo básico: Definimos el interfaz bebida y una clase que lo implementa, el café.
/**
* Interfaces.cs
* Programa que muestra el uso de interfaces. Al igual que en Java los interfaces son 
* como clases abstractas pero sin implementación alguna. Su objetivo es servir como 
* plantilla a las clases que lo implementan (sus... 
Read more...  | 0 comments |  PELMAlink |  1774 reads
User avatar by pello in June 27, 2006, 7:19 pm
Vamos a ver que se puede hacer con la entrada y salida standar de consola. Hay opciones muy interesantes con los formatos numéricos, el manejo de fechas y las conversiones. Vamos que se puede hacer con el WriteLine
/**
* Formato.cs
* Esta clase muestra los distintos formatos que se pueden aplicar
* a la hora de mostrar datos por pantalla o por un flujo de salida.
*/

using System;

// Clase Formato
// contiene métodos en los que se muestran técnicas de formato
public class Formato
{
	//... 
Read more...  | 0 comments |  PELMAlink |  2212 reads
User avatar by pello in June 26, 2006, 12:54 pm
En un solo ejemplo de código vamos a ver como crear herencia de una clase a otra, en este caso de la clase Dispositivo a la clase Movil. Aquí entrará en juego el polimorfismo, es decir, un mismo método en la clase hija y clase padre con distinto efecto. Merece la pena comentar que disponemos de clases abstractas y también de clases que NO se puede heredar (sealed). Vamos a ver:
/**
* Dispositivo.cs
* Superclase o clase padre para definir los dispositivos,
* de esta heredarán... 
Read more...  | 3 comments |  PELMAlink |  1735 reads
User avatar by pello in June 25, 2006, 12:26 am
C# también dispone de control de excepciones, y al igual que C++ o Java podemos crear y lanzar nuestras propias excepciones. Primero veamos como se capturan:
/**
* Excepciones.cs
* Clase que muestra el uso de excepciones
* no muy distinta de otros lenguajes
*/


using System;

public class Excepcion 
{

	// Método principal
	public static void Main()
	{
		int valor;
		string entrada;
		int[] vector = new int[4]{4,7,1,0};
		
		System.Console.WriteLine("Introduce un número");
		
		//... 
Read more...  | 0 comments |  PELMAlink |  1503 reads
User avatar by pello in June 24, 2006, 7:25 pm
Vamos a ver algunas opciones interesantes que tienen los métodos en C#. Para empezar, no podía faltar la sobrecarga:
/**
* Sobrecarga.cs
* Clase que muestra como aplicar sobrecarga en métodos
* de una clase. La sobrecarga consiste en crear varios métodos con el mismo
* nombre pero con distintos parámetros.
*/

using System;

// Vamos a declarar esto dentro del un espacio de nombres
namespace Calculadoras
{
	
 public class Calculadora 
 {

	string nombre;
	
	// Método... 
Read more...  | 0 comments |  PELMAlink |  1508 reads
User avatar by pello in June 23, 2006, 1:52 pm
Vamos a ver algunas estructuras básicas de c#. Hay alguna cosa curiosa en la forma de definir los arrays y las propiedades de las estructuras. Veamos la struct:
/**
* Estructuras.cs
*
*/

using System;

/**
* Las estructuras de C# se comportan practicamente como clases, 
* salvo que no es imprescindible instanciarlas y que se guardan
* en memoria de otra forma. Veamo un ejemplo.
*/
public struct Casa 
{
	// Para que sean accesibles, hay que declararlos public
	// y no se pueden inicializar.
	public... 
Read more...  | 2 comments |  PELMAlink |  1818 reads
User avatar by pello in June 21, 2006, 11:09 am
Este día a merecido la pena y a los que no conozcan este lenguaje les sugiero echar un ojo al código ya que en los tipos de métodos ya se ve alguna peculiaridad de c# (respecto a java o c). Veamos algunos ejemplos de metodo a través de la clase Pajaro:
using System;

// Definimos la clase pajaro, esa cosa con pluma
public class Pajaro {

	// ATENCION: SI NO SE ESPECIFICA NADA,
	// los atributos y metodos NO SON accesibles
	public string nombre;
	public int peso;
	// Variable... 
Read more...  | 2 comments |  PELMAlink |  1557 reads
User avatar by pello in June 20, 2006, 12:17 pm
Veamos como se definen las clases. La cosa no cambia salvo alguna cosa curiosa; si no se especifica otra cosa, los atributos y métodos NO son accesibles, vamos que NO son public por defecto. Veamos la clase Punto, y luego una clase que le crea un instancia y lo usa.

using System;


// Definimos la clase punto,
// que se refiere a un punto en una coordenadas
public class Punto {

	// ATENCION: SI NO SE ESPECIFICA NADA,
	// los atributos y metodos NO SON accesibles
	public int x;
	public int y;
	
	//... 
Read more...  | 1 comments |  PELMAlink |  1431 reads
User avatar by pello in June 19, 2006, 6:37 pm
Veamos las herramientas básicas para control de flujo, empezando por las condicionales.
/** 
Condicionales.cs
 Una muestra de los Condicionales de c#
 Para compilar con MS: csc Condicionales.cs , ejecucion: Condicionales.exe
 Para compilar con Mono: mcs Condicionales.cs , ejecucion: mono Condicionales.exe
*/

// Importamos la libreria de utilidades básicas de sistema
using System;

// Definicion de la clase Condicionales, que muestra tipos de Condicionales.
public class Condicionales {

	//... 
Read more...  | 0 comments |  PELMAlink |  1364 reads
User avatar by pello in June 18, 2006, 11:09 pm
Bueno, los operadores, nada nuevo bajo el sol.
Veamos los aritméticos:
/** 
Operadores.cs
 Una muestra de los operadores de c#
 Para compilar con MS: csc Operadores.cs , ejecucion: Operadores.exe
 Para compilar con Mono: mcs Operadores.cs , ejecucion: mono Operadores.exe
*/

// Importamos la libreria de utilidades básicas de sistema
using System;

// Definicion de la clase Operadores, que muestra tipos de Operadores.
public class Operadores {

	// Y aquí la función principal... 
Read more...  | 0 comments |  PELMAlink |  1319 reads
User avatar by pello in June 18, 2006, 12:45 am
Vamos a ver que tipos hay por aquí, buf los de toda la vida:
/** 
Numeros.cs
 El ejemplo
 Para compilar con MS: csc Numeros.cs , ejecucion: Numeros.exe
 Para compilar con Mono: mcs Numeros.cs , ejecucion: mono Numeros.exe
*/

// Para documentar el codigo podemos usar etiquetas XML especificas.
// Las más comunes son <example>, <exception>, <list>, <param>,
// <paramref>, <permission>, <remarks>, <returns>, <see>, <seealso>, <summary>,... 
Read more...  | 2 comments |  PELMAlink |  1449 reads
User avatar by pello in June 16, 2006, 12:10 pm
Pues eso, hay que currarse los 21 días. Antes de San Fermín. ¿Lo lograré?
// Hola.cs
// El ejemplo clasico para iniciarse en un lenguaje
// Para compilar con MS: csc Hola.cs , ejecucion: Hola.exe
// Para compilar con Mono: mcs Hola.cs , ejecucion: mono Hola.exe

// Importamos la libreria de utilidades básicas de sistema
using System;

// Todo debe ir dentro de clases. En este caso
// Definimos la clase Hola
	class Hola
	{
		// Main: Programa principal
		public static... 
Read more...  | 0 comments |  PELMAlink |  1180 reads
User avatar by pello in April 27, 2006, 8:56 am
¿Quien no ha sufrido los problemas de enviar correos desde su aplicacion web?
A la hora de conseguir esa funcionalidad PHP nos provee de una unica funcion
y si se usa sin mas puede llevar a la frustracion por muchas causas:
* Colega... ¿donde esta mi FROM?
* ¿Por que me cambia el FROM por un www-data@localhost?
* ¿Por que no llega el correo?

En resumen, el problema que tiene esa función es que si se usa sin mas puede que funcione o puede...
Read more...  | 0 comments |  PELMAlink |  17382 reads
User avatar by pello in March 11, 2006, 4:45 pm
Bueno al menos habia que probar este combinado de tecnologias.
Los usuarios de Gmail ya habreis notado que tras la aparente sencillez del interfaz ese correo web subyace un entramado de llamadas que nuestro navegador hace al servidor por debajo de la mesa.

Efectivamente, olviden lo que habian aprendido hasta ahora. Los navegadores modernos son capaces de hacer peticiones a servidores web sin la tradicional recarga de la pagina. ¿Como es posible?
AJAX significa Asynchronous Javascript...
Read more...  | 1 comments |  PELMAlink |  2091 reads
User avatar by pello in February 8, 2006, 2:00 pm
Supongamos un equipo con dos particiones:
1.- Una con windows 98 o XP
2.- La otra con windows2000 o 2003

Y ahora queremos meterle un linux. Para eso habra que hacer sitio para una particion,
ya sea con el partition magic, o con un liveCD con herramientas tipo parted.

Puede que al instalarte un linux (una debian sarge por ejemplo), el gestor de arranque
grub te detecte todas las particiones pero al intentar arrancar la windows2000 puede que te diga:
El siguiente archivo... 
Read more...  | 1 comments |  PELMAlink |  3403 reads
User avatar by pello in February 7, 2006, 10:53 am
Este es un ejemplo muy simple para parsear ficheros XML con PHP usando libexpat, es decir
la libreria que probablemente ya tendremos soportada si PHP se compilo con la opcion --with-xml
El ejemplo esta sacado del php.net pero simplificado al maximo y explicando cada paso.
El modelo de parseo es tipo SAX, algo asi como un recorrido del fichero orientado
a eventos (empiezo elemento, cierro elemento, contenido,..).
El mecanismo consiste en crear una clase parseadora con funciones handler...
Read more...  | 0 comments |  PELMAlink |  1922 reads
User avatar by pello in January 16, 2006, 6:48 pm

No se si es posible una solucion comun. Esto es mas bien un atajo.

Supongamos que en nuestra aplicacion web queremos imprimir un informe
o una carta o una factura o en definitiva un documento HTML generado dinamicamente
para mandarselo a alguien.

El Internet Exploiter se empeña en meter una cabecera y un pie de página cuando imprimimos una página del navegador. El Firefox en Debian tambien se empeña. Esta claro que a un cliente no se le puede mandar una...
Read more...  | 4 comments |  PELMAlink |  1992 reads
User avatar by pello in January 6, 2006, 12:49 pm
1.- Enlaces
* Tutorial de Inyección SQL
http://foro.elhacker.net/index.php/topic=98448.0.html

* Manual de XSS
http://foro.elhacker.net/index.php/topic=98324.0.html

*[3] CERT. CERT Advisory CA-2000-02: Malicious HTML Tags Embedded in Client Web Requests, February 2000.
http://www.cert.org/advisories/CA-2000-02.html.

*[6] Peter W. Cross-Site Request Forgeries, 2001.
http://www.securityfocus.com/archive/1/191390.

*[2] Rain Forest Puppy. NT Web Technology Vulnerabilities. Phrack
Magazine, 8, December... 
Read more...  | 0 comments |  PELMAlink |  1187 reads