Entradas

Mostrando entradas de 2008

LINUX. buscar ficheros

Hay varios comandos que desde consola nos ayudan a buscar ficheros: locate busca rápidamente, ya que no va leyendo el disco, sino que mira en un indice que tiene en una base de datos: man locate # Por ejemplo para buscar donde está el server.xml del tomcat [user@locahost ~]$ locate server.xml /usr/local/apache-tomcat-5.5.26/conf/server.xml find es el comando para buscar, este si que va leyendo el disco. CUIDADO que es recursivo, por ello es mejor indicarle la ruta donde empezar a buscar. # Por ejemplo para buscar los java compilados [user@locahost ~]$ find programas/ -name *class Lo mejor es juntar el comando find con el comando grep ó egrep o fgrep y así buscamos dentro del contenido del los ficheros # Buscamos los ficheros con extensión java que tengan el texto jdbc:mysql [user@locahost ~]$ find programas/ -type f -name *.java -print | xargs egrep -i "jdbc:mysql" Un mini-how to sobre comandos para buscar en linux lo teneis en espaciolinux.com Ahora estoy intentando buscar t...

JAVASCRIPT. trim()

Con expresiones regulares es muy fácil hacer un trim con javascript: cadena=cadena.replace(/^[\s]*[\s]$/, "");

JAVA. Iterator. List, Set, Map

// la solución correcta List list = new ArrayList(); Set set = new HashSet(); Map map = new TreeMap(); // la solución incorrecta ArrayList list = new ArrayList(); HashSet set = new HashSet(); TreeMap map = new TreeMap();

JAVA. HttpServletRequest mostrar todos los parametros recibidos.

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // TMP debug HashMap parametros = (HashMap) req.getParameterMap(); Iterator it = parametros.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry)it.next(); System.out.println(entry.getKey()+"="+entry.getValue()); } // FIN TMP debug } ================================================== for ( Iterator iterator = aMap.entrySet ( ) .iterator ( ) ; iterator.hasNext ( ) ; ) { Map.Entry entry = ( Map.Entry ) iterator.next ( ) ; String key = ( String ) entry.getKey ( ) ; String value = ( String ) entry.getValue ( ) ; }

LINUX. Buscar cadena en los ficheros de una ruta dada

Con esta combinación de comandos, gracias a las tuberias de la shell podemos hacer búsquedas desde el bash: find "ruta" -type f | xargs grep "cadena a buscar" find -type f | xargs grep jdbc:oracle:oci find /usr/local/tomcat -type f | xargs grep jdbc:oracle:oci

REGEX. Expresiones Regulares

Un lugar donde se aglutina información sobre este tema http://www.regular-expressions.info/ Con las expresiones regulares, podemos validar parametros, campos, reemplazar cadenas, etc ... Simplifican muchas tareas del desarrollo con un simple ereg o un replaceAll. /* PHP */ function validarNumeroConDecimales( $_id ) { // deben ser dígitos, el punto ,la coma y el posible signo // algún caracter ^ distinto de 0-9.,+- if (ereg("[^0-9.,+-]+",$_id)) { return false; } return true; } /* java */ public static boolean validarEmail_1( String _email ) { // validar email Pattern p = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$"); Matcher m = p.matcher(_email); boolean b = m.matches(); return b; } public static boolean validarEmail_2( String _email ) { // validar email boolean b = Pattern.matches("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$", _email); return b; }

ORACLE. Información session del usuario

-- información usuarios select v.sid, v.serial#, v.username, v.program from user_users u, v$session v where v.user# = u.user_id select * from user_users u, v$session v where v.user# = u.user_id -- session del usuario select userenv('sessionid') from dual; --- información del usuario apartir de la session select * from user_users u, v$session v where v.user# = u.user_id and audsid = userenv('sessionid') select * from user_users u, v$session v where v.user# = u.user_id order by LOGON_TIME DESC select SCHEMANAME, OSUSER, MACHINE, TERMINAL, PROGRAM, MODULE, LOGON_TIME from user_users u, v$session v where v.user# = u.user_id order by LOGON_TIME DESC

HTML. CSS. input disabled - input readonly

En IExplorer hay problemas con los input disabled, pero podemos usar los input readonly. Con los input disabled en el IExplorer no coge el del color de la fuente. Lo pone a un color gris claro. Pero con los input readonly si que coge el color de la fuente. Además los input disabled no se envian ni por el POST ni por el GET. En cambio los input readonly si se envían en la petición. En Mozilla FireFox los input disabled si que cogen el estilo del color de la fuente. <input type="text" id="campo_disabled" name="campo_disabled" size="5" readonly="readonly" value="deshabilitado"/> <input type="text" id="campo_readonly" name="campo_readonly" size="5" disabled="disabled" value="solo lectura"/> input { border: #7f9db9 1px solid; padding:0 0 0 3px; font-family:Tahoma,Georgia,serif; font-weight: lighter; color:#007EF4; } input [disabled] { background-col...

JAVA. Fecha barras a Date.

Esta función pasa de un string con la fecha en barras a un Date. En el ejemplo uso el java.sql.Date pero se podría cambiar por un java.util.Date o incluso modificar la función para que devolviera el Calendar. public java.sql.Date convertirFechaBarrasToDate(String fecha) { int barra1=fecha.indexOf("/"); int barra2=fecha.indexOf("/",1+barra1); int date=new Integer(fecha.substring(0,barra1)).intValue(); int month=new Integer(fecha.substring(1+barra1,barra2)).intValue()-1; int year=new Integer(fecha.substring(1+barra2)).intValue(); java.util.GregorianCalendar calendar=new java.util.GregorianCalendar( year, month, date); return (new java.sql.Date(calendar.getTimeInMillis())); } Creo que se puede mejorar con expresiones regulares

JAVA. Date a fecha barras. 08/04/2008.

Cómo convertir la fecha de un Date a fecha de barras, como 08/04/2008. java.util.Date fecha = new java.util.Date(); java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("dd/MM/yyyy"); String fecha_barras = sdf.format(fecha); System.out.println("Fecha="+fecha_barras);

LINUX. configurar X. xorg.conf

Desde muchas distribuciones de linux es posible desde el entorno gráfico configurar las opciones de pantalla y tarjeta gráfica. Sistema -> Administración -> Pantallas y gráficos Pero podemos volver a configurar las X, generandose un nuevo /etc/X11/xorg.conf, mediante el siguiente comando en un terminal: sudo dpkg-reconfigure xserver-xorg Este comando será válido para distribuciones ubuntu, tal vez debian. Para Fedora y/o RedHat deberemos hacerlo con yum y parametros distintos a los indicados. Otra forma de actualizar la configuración de las X sería: sudo dpkg-reconfigure -phigh xserver-xorg --- suerte

LINUX. Dónde establecer las variables entorno

Los ficheros donde introducir los export serían: /etc/profile (a nivel de sistema) ~/.profile ~/.bash_profile ~/.bashrc // donde ~ es tu directorio home ===== // ejemplo 1: distintas formas de establecer las variables de entorno JAVA export JAVA_HOME=/usr/java/jdk1.5.0_07 export JDK_HOME=/usr/java/jdk1.5.0_07 export JAVA_PATH="$JAVA_HOME" export PATH=$PATH:$JAVA_HOME/bin export JDK_HOME="$JAVA_HOME" export PATH JAVA_HOME export JAVA_HOME JDK_HOME PATH JAVA_HOME=/usr/java/jdk1.5.0_07 PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME ===== // ejemplo 2: algunas variables de entorno ORACLE export PATH="$PATH:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin" export ORACLE_HOME="/usr/lib/oracle/xe/app/oracle/product/10.2.0/server" export ORACLE_SID="XE" NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1; export NLS_LANG

JAVASCRIPT. Posicionar Ventana. Redimensionar Ventana.

function CambiarDimension(){ window.resizeTo(660,605); var ancho=window.screen.availWidth; var alto=window.screen.availHeight; var posY=(alto/2)-(605/2); var posX=(ancho/2)-(660/2); window.moveTo(posX,posY); } function posicionarVentana( ) { window.moveTo( 180, 0); } // para ventanas pop-ups window.open("vistas/Formulario.html" , "WindowFormulario" , "left=180,top=0,width=800,height=600,status=yes,toolbar=no,resizable=no,scrollbars=no");