Noticias Weblogs Foros Wiki Código

RecorteX

» juanjo
303 usuarios y 202 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes del usuario juanjo

RSS
Recortes: 25
Registrado: 6/8/2006
Web

Etiquetas:
java (9)
html (5)
javascript (3)
css (3)
xml (3)
div (2)
web (2)
jdbc (2)
php (2)
vídeo (1)
certificado (1)
planificador (1)
textpattern (1)
apache (1)
mpg (1)
fnmt (1)
certificados (1)
plugin (1)
email (1)
tomcat (1)
avi (1)
mysql (1)
htaccess (1)
wget (1)
cn (1)
sql (1)
expresion_regular (1)
trim (1)
bbdd (1)
países (1)
ssl (1)
jstl (1)
fechas (1)
url (1)
cadena (1)
imprimir (1)
diseño (1)
youtube (1)
tarea (1)
ADOdb (1)
linux (1)
flv (1)

Pasar de flv (youtube) a avi o mpg

Para pasar a avi (xvid):

 
ffmpeg -i youtube.flv -ar 48000 -ac 2 youtube.avi
 

Para pasar a mpg:

 
ffmpeg -i youtube.flv -ab 56 -ar 22050 -b 500 -s 320x240 youtube.mpg
 

Eliminar elementos al imprimir una página web

Se puede utilizar CSS para indicar que determinados elementos no se deben mostrar al emplear una página web (por ejemplo menúes de enlaces que no tienen sentido al imprimir).

Para ello añadimos un css especial para impresión dentro del HEAD:

 
<link rel="stylesheet" href="impresora.css" media="print">
 

Luego sólo tenemos que eliminar determinados elementos dentro de impresora.css:

 
#menu {
  display: none;
}
 

Expresión regular para comprobar emails

Esta expresión regular se supone que sirve para comprobar si una dirección de email es correcta:

  ^[-!#$%&'*+/0-9=?A-Z^_a-z{|}~](\.?[-!#$%&'*+/0-9=?A-Z^_a-z{|}~])*@[a-zA-Z](-?[a-zA-Z0-9])*(\.[a-zA-Z](-?[a-zA-Z0-9])*)+$

Certificados FNMT

Los certificados de la FNMT (Fábrica Nacional de Moneda y Timbre) que son los certificados más utilizados en España tienen un CN con la siguiente estructura

  NOMBRE PEREZ GOMEZ JOSE - NIF 12345678E
Es decir, la cadena "NOMBRE", el nombre (en mayúsculas), la cadena "- NIF" y el NIF.

También se emiten certificados "de empresa" que tienen una estructura:

  NOMBRE PEREZ GOMEZ JOSE - CIF A12345678 - NIF 12345678E

Volcar el contenido de una URL a una variable

Desde PHP:
 
    $f = fopen('http://www.example.com', 'rb');
    $datos = stream_get_contents($f);
    fclose($f);
 

Acceso a datos desde tags XML de la JSTL

Esta información siempre se me pierde, así que la dejo por aquí.

Se puede acceder a datos en diferentes ambitos desde la opción select de los tag xml de la JSTL. Ejemplo:
 
  <x:out select="$usuarios/usuario[nombre=$param:nombre]"/>
 
En este ejemplo se accedería al parámetro "nombre" pasado al jsp.

Se puede acceder a los siguientes objetos especiales:

$foo
$param:
$header:
$cookie:
$initParam:
$pageScope:
$requestScope:
$sessionScope:
$applicationScope:

Plugin de Textpattern

Un ejemplo de plugin de Textpattern
 
function jnm_ejemplo($atts, $thing='')
{
  extract(lAtts(array(
    'param1'    => 'Hola Mundo'
  ),$atts));
 
  dmp($param1);
 
  return $param1.parse($thing);
}
 
Se muestran varias cosas:

- Cómo hacer un tag "con cuerpo" (pasando el $thing)
- Cómo hacer debug de una variable (con dmp)
- Cómo parsear el cuerpo (parse($thing))

Consulta a BBDD con ADOdb

Utilizando la librería ADOdb (PHP): http://adodb.sourceforge.net/
 
// Lee todos los "Perez" de la tabla usuarios
 
$db = NewADOConnection('mysql');
$db->PConnect($dbhost, $dbuser, $dbpass, $dbdatabase);
 
$result = $db->Execute("select nombre, apellidos from usuarios where apellido=?", array("Perez"));
if ($result === false) die("falló"); 
while (!$result->EOF) {    
  echo $result->fields['nombre'].' '.$result->fields['apellidos'];
  $result->MoveNext();
}
 

Ejecutar un proceso cada cierto tiempo en un contenedor de servlets (tomcat)

Se implementa como un Listener de aplicación:
 
import javax.servlet.ServletContextListener;
import javax.servlet.ServletContextEvent;
import java.util.TimerTask;
import java.util.Timer;
 
public class Tarea extends TimerTask implements ServletContextListener {
    private Timer timer;
 
    public void contextInitialized(ServletContextEvent evt) {
        // Iniciamos el timer
        timer = new Timer();
        timer.schedule(this, 0, 10*60*1000);  // Ejemplo: Cada 10 minutos
    }
 
    public void contextDestroyed(ServletContextEvent evt) {
        timer.cancel();
    }
    
    public void run() {
        // Aquí el código a ejecutar cada cierto tiempo
    }    
}
 
Finalmente hay que añadir el listener al fichero web.xml de la aplicación. Ejemplo:
 
<web-app>
  <listener>
    <listener-class>Tarea</listener-class>
  </listener>
</web-app>
 

Obtener el primer día del próximo mes en Java

El siguiente código tiene en cuenta los cambios de año, etc.
 
java.util.Calendar cal=java.util.GregorianCalendar.getInstance();
cal.setLenient(true);
cal.add(java.util.Calendar.MONTH, 1);
cal.set(java.util.Calendar.DAY_OF_MONTH, 1);
 
// Ahora lo imprimimos
java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("dd/MM/yyyy");
System.out.println(format.format(new java.util.Date(cal.getTimeInMillis())));
 
info@recortex.com - Proyecto: Juanjo Navarro, 2006 - Diseño: Albin