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...
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.*;
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:
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:
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:
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...
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...
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
*
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.*;
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
D6 dices in svg
Scalar vector graphics dice set, quick and dirty.

Dados en formato vectorial.
Download (svg file, dices one by one)
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:
* ...
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...
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.*;
/**
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
*/
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...
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...
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...
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...
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
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
*...
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:
* ...
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
*/
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
*/
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
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...
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...
<?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"/>
...
Este midlet tiene varias partes:
- Por un lado está el Midlet o aplicación para el móvil
- Una clase tipo Canvas para hacer los gráficos
- 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.*;
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;
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 {
...
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...
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...
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)....
/**
* 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... 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...
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... 
En español

Explore the depths of an old mine full of forgotten galleries. Risk your life to find out more diamonds...
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... 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=""...
Javascript es un lenguaje:
- Interpretado
- Débilmente tipado
- Orientado a objetos
- 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...
The Three Towers

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:...
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!

Seguramente ya existe alguna versión por ahí de hace 30 años pero también se trata de saber sacar esto por...
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...
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.
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...
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.
- Instalamos el appserv que ya trae el apache+mysql+php+phpmyadmin.
- Instalamos el ODBC para mysql.Â
- Creamos una BBDD mysql a través de phpmyadmin
- Metemos una entrada en el gestor de odbc para la nueva BBDD...
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...
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...
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...
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...
Ofertars de trabajo para Lisp.
(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......
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... 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...
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)...
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...
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...
Ofertars de trabajo para Float.
(Pincha para ampliar)
En las ofertas de trabajo para informáticos se piden unas listas de conocimientos que parecen cartas a los reyes...
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...
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...
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:
- La primera...
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);"...
Cuá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... qemu-img create -f qcow discowin.img 500MAunque 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...
qemu-img create -f qcow midisco.img 0.5GCon eso creamos un disco de 500 megas. Se supone que podemos poner 500M. Vale. Tenemos la máquina, con un disco duro. Ahora como...
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...
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...
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
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...
<%@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...
/**
* 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...

This theme has a images/random directory where you can upload image files to be shown in header background. It uses a very...
/** * 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...
/** * 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...
/** * 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...
/** * SobrecargaOperadores.cs * Este archivo muestra como sobrecargar operadores * en concreto los binarios simples: +,-,*,/.%, etc.. */ using System; // Definimos...
/** * 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...
/** * 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...
/**
* 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
{
//... /** * Dispositivo.cs * Superclase o clase padre para definir los dispositivos, * de esta heredarán...
/**
* 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");
//...
/**
* 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...
/**
* 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...
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...
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;
//...
/**
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 {
//... 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... /** 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>,...
// 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... 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...
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...
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...
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...
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...
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...


