Manejo de Hilos en Java – Tutorial

En este pequeño tutorial veremos como manejar diferentes procesos en Java utilizando Hilos mediante la clase Thread. Un Thread es un hilo de ejecucion en un programa en java, el cual permite tener multiples instancias de hilos corriendo de forma simultanea en una aplicacion. Los hilos tienen un valor denominado prioridad, el cual puede pedir a java que en una situacion en que tenga que elegir cual proceso ejecutar inclinarse por uno u otro hilo, por default los hilos en java se inicializan con la misma prioridad.

En java existen dos formas distintas de crear un nuevo hilo, heredando de la clase Thread o implementando la Interfaz Runnable. Si utilizamos la opcion de implementar la interfaz Runnable, mas tarde tendremos que utilizarlo de parametro en una nueva instancia de la clase Thread para inicializarlo. Veamos un Ejemplo utilizando estas dos formas de crear hilos en java, se crearan dos hilos, uno creado heredando de la clase Thread y otro implementandolo de la interfaz Runnable, tambien veremos la forma de inicializarlos y el resultado al ejecutarlo, Veamos.

Logo Java

  • CODIGO

Clase Main

public class Main { public static void main(String args[]){ //Creamos el hilo 1 que hereda de la clase Thread Hilo1 hilo1 = new Hilo1(); //Creamos el hilo 2 que implementa la clase Runnable Hilo2 hilo2 = new Hilo2(); /* * Establecemos prioridad * (podemos jugar con valores de 1 y 10 * y veremos cual proceso termina primero * y cual segundo dependiendo de el valor * que asignemos aqui. */ hilo1.setPriority(10); //iniciamos los procesos hilo1.start(); new Thread(hilo2).start(); } } read more

Leer más » 4 Comentarios

Depurar AJAX o funciones del cron en WordPress con un log

Si trabajáis con WordPress, probablemente en más de una ocasión hayáis hecho esto en el wp-config.php para ver los errores que estáis buscando:

define('WP_DEBUG', true);

Sin embargo, hacer esto y solamente esto tiene una serie de problemas y limitaciones:

  • No podemos depurar el AJAX que ejecutamos llamando a admin-ajax, porque el error no se vierte en la pantalla
  • Si tenemos tareas programadas, tampoco veremos si generan errores
  • En un sitio en producción no podremos mostrar por seguridad y por funcionalidad mensajes, por lo que deberemos guardar los errores en un log

Con la solución de guardar los errores en el log, evitamos todos estos problemas y le damos una solución rápida y práctica. read more

Leer más » 1 Comentario

Diferencia entre wp_ajax y wp_ajax_nopriv

Cuando trabajas con AJAX en WordPress, si quieres hacerlo bien, debes hacer llamadas a admin-ajax.php y desde ahí gestionar las peticiones y sus salidas. Si conocéis esta técnica, conoceréis las funciones: wp_ajax_(acción) y wp_ajax_nopriv_(acción) (de la que no encuentro una referencia directa en el Codex, es raro). read more

Leer más » 1 Comentario

Localizar calendario datepicker de jQuery UI: formato de fecha y nombres de los meses

Cuando hacemos desarrollos web para proyectos con algún apartado de gestión basado en formularios, lo más normal, es que terminemos teniendo que introducir fechas. Las fechas son un tanto problemáticas, tanto por su posterior manejo, como por su introducción por parte del usuario. ¿Por qué? Por dos razones:

  • Hay que introducirlas en un determinado formato, en español es primero el día, luego el mes y luego el año, todo separado por barras “tipo Unix”. Podemos hablar de diferentes formatos, depende del país y la cultura y podemos hablar también de fechas incluyendo el día de la semana o incluso el nombre del mes con letras.
  • Es más fácil y más gráfico hacer clic sobre un día en un calendario que escribir la secuencia a mano.

Una buena solución suele ser manejar un calendario que salga directamente sobre el campo de texto como este que os muestro a continuación: read more

Leer más » 3 Comentarios

Ordenar una consulta con query_posts en WordPress por un meta_value

Cuando trabajamos con consultas en WordPress, es muy probable que necesitemos ordenar la salida de alguna forma diferente a la estándar que suele ser por fecha de forma que el más reciente aparezca primero y vayan apareciendo de forma sucesiva entradas más antiguas.

Si usamos WordPress como una API o como una plataforma de aplicaciones, más que como un CMS y más aún como un CMS orientado a blogs, este hecho es una auténtica necesidad. read more

Leer más » 10 Comentarios

Calcular día de la semana con PHP

Los requisitos de los clientes, en buena medida suelen tener que ver con restricciones temporales. No sólo de cantidad de tiempo, sino también de qué días o no es. Por eso hoy os traigo este código. Veremos primero cómo averiguar qué día de la semana es para una fecha dada, para posteriormente hacer una función de ejemplo que diga si es fin de semana o no. read more

Leer más » 2 Comentarios

Redondear números decimales en JavaScript

Seguro que hay mejores formas de hacerlo, así que a través de los comentarios me encantaría conocerlas, sin embargo, esta es la que yo uso hasta ahora y me funciona correctamente. Normalmente, trato de redondear los números en la parte del servidor, pero en ocasiones tendremos que hacerlo en el cliente y por eso traigo esta función: read more

Leer más » 13 Comentarios

Instalar Sublime Text en Ubuntu

Sé que Sublime Text no es software libre, pero en ciertos lenguajes como Ruby, para trabajar desarrollando en web con Rails, me parece mejor opción que otras opciones como puedan ser las típicas que uso Geany o Aptana, básicamente.

En Ubuntu podemos instalar la versión sin registrar, que apenas será molesta respecto a la registrada (aparece un mensaje cada cierto tiempo, pero es cada bastante) agregando su repositorio.

Sublime Text

Paso a paso, primero agregamos el repositorio y actualizamos el contenido de nuestro sistema gestor de paquetes:

Leer más » 5 Comentarios

Eliminar enlaces de una cadena en PHP

En alguna ocasión, mostrando un extracto o por cualquier otra razón, a lo mejor necesitáis eliminar los enlaces de una cadena que manejáis en PHP. Para esta labor, podemos usar el siguiente código, que se basa en el uso de una expresión regular:

$cadena = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i', '', $cadena);

Con esto tendríamos la  cadena sin enlaces: HTTP, HTTPS, FTP o FILE, si queréis podéis ampliar la primera parte de la expresión regular para incluir más posibilidades. read more

Leer más » 1 Comentario