General

Esta es la categoría general donde pongo los posts que no encajan con el resto de categorías. Y algunos posts, que aunque encajan en alguna otra categoría, también los he considerado de interés general en informática. Aquí puedes encontrar contenidos varios sobre utilidades como programas, sistemas operativos, herramientas de mantenimiento y cosas de este estilo que me han parecido interesantes.

Multiprocesamiento en Java: ¡Dale caña a tu procesador!

2012-11-17 - Categorías: General / Java

Multiprocesamiento, como reza la Wikipedia, se refiere a la ejecución de varios procesos de manera concurrente, es decir, a la vez. Con los nuevos procesadores que cada vez nos traen más núcleos, he visto que ésto viene a ser más importante. Con Java el multiprocesamiento para aprovechar los núcleos de uno o varios procesadores viene gestionado con la máquina virtual de Java. Es decir, sólo tendremos que preocuparnos de hacer el programa de manera que se puedan ejecutar ‘a trozos’, poner cada tarea en un hilo de ejecución y luego la máquina virtual se encargará de gestionarlo todo.

Ésto es lo mismo que viene ocurriendo con los Sistemas Operativos (SO). Tenemos muchos procesos que se ejecutan desde que arrancamos el ordenador, y el SO se encarga de gestionar qué se ejecuta en cada momento. De igual manera nosotros en Java podemos gestionar qué se ejecuta o que se queda esperando, también podemos decirle a todas las tareas que se ejecuten a la vez simplemente sin esperar unas a otras ni nada parecido. Ésto es lo que vamos a ver con el ejemplo sencillo de a continuación, donde se van a crear dos tareas, a y b, y se van a ejecutar concurrentemente.

Continuar leyendo..

El SlideShow más simple con jQuery

2012-11-14 - Categorías: General

Un slideshow viene a significar visor de imágenes o diapositivas que van pasando una tras otra.

Estuve buscando para descargar slideshows para web. Encontré de todo tipo, muy elaborados y con muchos extras, unos de pago y otros gratis, pero no era lo que yo quería. Buscaba algo lo más sencillo posible para adaptarlo luego donde lo necesite y al final acabé programándolo a partir de jQuery.

Aquí va el código para el que lo necesite:

<html>
<head>
<!– Con ésto incluyes el jquery en tu web usando en CDN de Google –>
<script src=»https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js»></script>
</head>
<body>

<img id=»imagenslide» src=»imagenes/imagenInicial.jpg» alt=»Imagen de una mascota..» />

<script>
  cambiaSlideShow();

function cambiaSlideShow() {
// variables para configurar
var dirImagenes = ‘imagenes/’; // directorio donde estan
 // las imágenes, se deben nombrar de la forma
 // 1.jpg
 // 2.jpg
 // etcétera…
var numImagenes = 3; // número de imágenes que hay

// elige un número aleatorio para mostrar las imágenes
// aleatoriamente
var randomNum = Math.ceil(Math.random() * numImagenes);

// con ésto la imagen desaparece y cuando ha desaparecido
// cambia de imagen
$(‘#imagenslide’).fadeOut(3000,
function () {$(‘#imagenslide’).attr(‘src’, dirImagenes + randomNum + ‘.jpg’);}
);

// con ésto otro la imagen aparece con un efecto fade de nuevo
$(‘#imagenslide’).fadeIn(3000);
setTimeout(function () {cambiaSlideShow(); }, 7000);
}

</script>
</body>
</html>

Y un archivo para descargar el ejemplo haciendo click aquí.
Ten en cuenta que debes poner las imágenes en el directorio dirImagenes que tengas en dicha variable.

Un saludo.


Ponle un Favicon a tu web

2012-11-13 - Categorías: General
Ya le he puesto al blog un Favicon, y les dejo un nuevo post.
Cuando navegas por Internet, las páginas muestran un icono en tu navegador. Cuando agregas dicha web a Favoritos, Marcadores, o como se llame en el navegador que uses.. También verás dicho icono asociado a dicha página web. Ésto es lo que se llama ‘el Favicon’.

Favicon, viene de Favourites Icon, icono de favoritos en castellano. Nació para darle mejor estética al listado de páginas de nuestra lista de páginas web favoritas. Y si quieres que tu web tenga una imagen de éstas lo único que debes hacer es usar un código tal que así:

<html>
<head>
<title>Aquí va el título</title>
<link href=»http://direcciondetuweb/favicon.ico» rel=»icon» type=»image/x-icon»>
</head>
<body>
<p>Contenido de la página.</p>
</body>
</html>

La imagen debe ser de 16×16 pixeles tradicionalmente, también puede ser de 32×32, incluso se pueden usar en algunos navegadores imágenes en JPG, PNG y GIF. Pero éstas otras opciones no son totalmente estándar y puede que no funcionen en todos los navegadores.
En éste blog, gracias a Blogger, tengo disponible el gadget llamado tal cual Favicon, que automáticamente me genera el código de aquí arriba. Yo te lo he detallado por si acaso lo usas en otro sitio.
Así que, después de éste post ¿no merece que agregues ésta web a favoritos? agregame a favoritos y así me visitas de vez en cuando 😉
Un saludo.

Cómo montar un servidor propio con Joomla y Uniform Server

2012-11-05 - Categorías: General
Hola! Ya tengo algo de tiempo, estoy poniéndome al día y navegando veo que hay una nueva versión de Joomla, la 3.0.1. También veo que tengo disponible una nueva versión del Uniform Server, tengo la 8.5.7 y ya existe la 8.6.7, así que me he puesto las pilas para actualizarme y de paso os hago éste post.
Joomla ya es compatible con móviles, es la primera plataforma web compatible 100% con móviles, eso escriben en JoomlaSpanish.org. Así que con ésto, es un buen momento de probar la nueva versión.
Si estas aquí supongo que ya sabrás que Joomla es un CMS, un sistema para manejo de contenidos, y que el Uniform Server es un servidor de páginas web con base de datos MySQL y otros extras más… Si no lo sabías ya lo sabes, Joomla es una aplicación web, que instalada en un servidor web, te proporciona todas las utilidades necesarias para gestionar una página web medianamente compleja.
No voy a entrar en detalle sobre las diferencias entre usar un CMS ya hecho, usar un framework de desarrollo de webs, o programar todo directamente desde cero. Tal vez en otro post.
Asi que empezemos a montar un servidor propio…
Un poco de teoría
Antes de entrar directamente a instalar programas, sin saber lo que estamos haciendo debemos saber algunas cosas. Si eres un veterano, o muy valiente, pásate éste apartado xD
Todo en Internet, mientras navegamos, ocurre de la misma manera. Tenemos nuestro navegador, en el que ponemos las direcciones de Internet, le damos al Enter o al botón de turno, y mágicamente nos sale la página web. A ver, hay que entender que es lo que ocurre. Tenemos lo que se llama un cliente (navegador), y un servidor (el programa que nos envía a nuestro ordenador la página web y la podemos ver en nuestro navegador). Éste servidor web es lo que vamos a instalar. Y en concreto, el Uniform Server, que me atrevo a decir es muy buena opción.
Lo que vamos a hacer es simular lo que ocurre en Internet mientras navegamos, pero en nuestro ordenador en red local.

Ingredientes
  1. Uniform Server.
  2. Joomla en versión castellano.
El Joomla, en castellano, lo tienen en http://www.joomlaspanish.org/
Uniform Server es un proyecto en SourceForge.net, disponible en:
Y su página oficial es:
Sobre los ingredientes
He probado el XAMPP, que también es una buena opción, pero he elegido el Uniform Server para el trabajo de servidor web Apache con PHP y MySQL porque no hay que instalarlo, símplemente se descomprime. Y además es portable, es decir, que lo puedes llevar en un USB con toda tu web configurada y ejecutarla en cualquier ordenador con Windows sin tener que instalar todos los programas asociados a un servidor web (que pueden llegar a ser muchos).
Por otro lado, Joomla no es sólo un CMS, sino que también es un framework de desarrollo de aplicaciones web. La comunidad de Joomla, surgió del antiguo Mambo. He leido que hubo conflicto entre algunos de los actuales desarrolladores de Mambo y algunos de Joomla, que antes programaban juntos en Mambo, entonces se dividieron creando Joomla a partir de una versión de Mambo. No voy a entrar en la rumorología, el hecho es que Joomla surgió de Mambo, otro CMS anterior. Y ahora según las últimas estadísticas Joomla es el CMS más utilizado.
Joomla está construido en PHP, y actualmente trabaja sobre MySQL y se está añadiendo que pueda trabajar con otras bases de datos a fecha de hoy. Ésto es muy resumido porque Joomla es muy extenso e incluye gran cantidad de componentes. Es decir, tenemos un monton de archivos que descargaremos de la página, y éstos archivos van a ejecutarse de manera que todos los datos de Joomla se van a guardar en una base de datos. Es importante saber ésto porque tanto los archivos del directorio, como lo que haya en la base de datos forman tu web, no puedes separarlos.
El servidor web
Muy bien, llegado éste momento. Ya debemos tener descargados los archivos para el Joomla y el UniServer. Vamos a descomprimir primero el UniServer la versión completa del server, se llama Coral, debe ser uno llamado Coral_version.exe. Al arrancarlo te pide la carpeta donde lo quieres instalar, yo le he puesto C: y entonces me queda una estructura tal que así:
Arrancas el archivo Start_as_service.exe para usarlo como servicio instalándolo dentro del propio Windows. De ésta manera cada vez que arranques de nuevo Windows estará funcionando. Si lo prefieres usar como un programa sin instalarlo, puedes arrancar Start_as_program.exe y no necesitarás instalarlo como servicio. Yo lo tengo instalado como servicio, como podeis ver en la imagen.
Si no queremos complicarnos, sólo queda descomprimir el archivo de Joomla en el directorio C:UniServerwww y ya tendremos el servidor propio de Joomla en nuestro ordenador. Y accediendo a http://localhost/ veremos el Joomla que nos pide los datos para configurar la web.
Ésto es lo estrictamente necesario, de ésta manera te limitas a sólo tener una página web, y pierdes la página principal del UniServer. Yo prefiero configurarlo de otra manera, usando «hosts virtuales» y poniendo cada web en la carpeta que yo quiera. Me gusta tenerlo todo muy organizado, cada cosa en su carpeta, y poder acceder a cada página web de nuestro ordenador de la forma siguiente, por ejemplo:
http://localhost/  <- ésta es la página principal de nuestro servidor
http://unapaginajoomla/ <- ésta es la página web que vamos a configurar
http://temporal/ <- otra página web
etcétera…
Imaginemos que hemos puesto en D:MisPaginasWebunapaginajoomla los archivos de Joomla descomprimido, y en D:MisPaginasWebtemporal otra página web.
Vamos entonces a configurar los llamados «hosts virtuales», de manera que tengamos varios hosts en nuestra misma máquina. Entonces abrimos el panel de control del Uniform Server. Vamos a Server Configuration -> Apache -> Apache Vhosts. Entonces elegimos directorio D:MisPaginasWebunapaginajoomla, le ponemos el nombre debajo (en éste caso «unapaginajoomla») y confirmamos, y si no hemos tenido error le damos a Create Vhost. Reiniciamos el Apache con el panel de control del UniServer y ahora ya podremos acceder al Joomla que acabamos de descomprimir mediante el navegador poniendo http://unapaginajoomla/
Lo mismo podemos hacer con el directorio D:MisPaginasWebtemporal poniéndole como nombre de host virtual ‘temporal’ por ejemplo. Y así tantos hosts como queramos.
Yo prefiero tenerlo así para tener todas las páginas web localizadas en un directorio. Y a la vez puedes configurar tu entorno de desarrollo web para que acceda a esos directorios. Esto te puede ayudar a programar más organizadamente, pero ya entramos en otro tema que no viene al caso en éste post.
Podemos configurar el servidor de forma que nos sirva para un entorno de producción, o para desarrollo. Si estás programando en PHP o construyendo una web nueva con Joomla, te interesará activar ésto:
Dentro del panel de control del UniServer, entras a:
Server Configuration -> PHP -> Switch to Developement Configuration file
Así verás cualquier error o advertencia mientras que trabajas con el Joomla.
El CMS
Recapitulando, si todo ha ido bien ya tenemos Joomla en una carpeta, que yo he puesto en D:MisPaginasWebunapaginajoomla y que tiene un host virtual asociado. Ahora resulta que accedemos a la siguiente dirección:
Y ahora sí, vamos a configurar Joomla para poder crear contenido. La primera vez nos veremos el sistema de instalación tal que así:
Aquí arriba vemos que se ha simplificado enormemente los pasos de instalación en sólo tres. La ayuda proporcionada por el sistema está muy bien como para yo tener que explicar nada más.
A continuación veo que se ha añadido soporte para PostgreSQL, una gran base de datos. La comunidad de usuarios de Joomla llevaba tiempo queriendo tener soporte para otras bases de datos y ya por fin llegó.
Ponemos los datos de conexión a nuestra base de datos y al darle a siguiente tendremos el tercer y último paso con información sobre la instalación. Podemos aquí instalar datos de ejemplo para poder ver algo mientras que lo probamos.
Para terminar le damos a instalar y ya está, tendremos nuestra nueva y flamante página web, toda gestionada por Joomla, y en un servidor propio instalado en nuestro ordenador.
Terminando
Me sorprende todos los cambios de los últimos meses en Joomla, la interfaz es mucho más limpia. En fin, me parece una gozada el buen trabajo que esta haciendo la gente de Joomla. A ver si en otro post puedo entrar a destripar el Joomla, que tiene muy buena pinta ¿verdad? jejeje
Con ésto ya les dejo.
Un saludo

Cómo hacer una plantilla para Joomla

2012-10-21 - Categorías: General

Hablando sobre la creación de páginas web con CMSs. Podemos llegar a ver que la cantidad de CMSs que hay para poner en marcha una web sin programar nada de código fuente es muy grande. He visto que los principales vienen siendo WordPress, Drupal y Joomla. Y en orden de gente que los usa, Joomla viene ganando, o por lo menos eso es lo que he leido en varias páginas de habla hispana y a fecha de hoy.

Me decidí a aprender Joomla en un principio, pero acabé probando WordPress y Drupal también. El Joomla para el que va éste post es la versión 2.5 y tal vez sirva también para los de la 1.5 y en futuro. Yo de momento la versión que tengo instalada es la 2.5 y es la que he usado para escribir éste tutorial.

Vamos a comenzar por ver la estructura en líneas generales de Joomla, si vamos al directorio, por los nombres podremos hacernos una idea de que la carpeta templates/ (plantillas en castellano) es la carpeta en cuestión que nos interesa.

administrator/
cache/
cli/
components/
images/
includes/
language/
libraries/
logs/
media/
modules/
plugins/
templates/
tmp/
uploads/
configuration.php
favicon.ico
htaccess.txt
index.php
LICENSE.txt
README.txt
robots.txt
web.config.txt

Dentro de la carpeta tenemos las carpetas correspondientes a todas las plantillas que tenga instaladas nuestro Joomla. Podemos editarlas directaremente de aquí, o a través del administrador de Joomla, actualizamos la página y los cambios se verán.

La plantilla ‘atomic’ es una plantilla básica, sin muchas florituras, para que hagamos a partir de ella, la nuestra propia. Pero mirando los archivos que la componen podemos ver que hay demasiado código fuente si es que estas haciendo tu primera plantilla, así que vamos a crear otra más simple todavía y luego le podrás añadir todo lo que quieras.

La plantilla básica ‘atomic’ que proporciona Joomla tiene la siguiente estructura:

css/      <- aquí van las hojas de estilo
html/    <- páginas html peladas
images/     <- imágenes de la plantilla

js/      <- scripts de javascript

language/     <- archivos para las traducciones
component.php   <- para mostrar el contenido de los componentes
error.php    <- página de error
favicon.ico   <- el icono de la web
index.html    <- el index en html
index.php    <- el index en php
template_preview.png    <- vista previa de la plantilla
template_thumbnail.png    <- imagen pequeña de la vista previa
templateDetails.xml      <- descripción de la plantilla, para uso interno

Hay plantillas muy grandes, con muchos añadidos, pero ésta que suponemos básica vamos a reducirla de la manera siguiente. Sólo necesitamos lo siguiente para nuestra nueva plantilla:

css/      
favicon.ico   
index.php   
template_preview.png  
template_thumbnail.png  
templateDetails.xml    

Todo ésto lo creamos en una carpeta nueva, yo la he llamado mynew/ dentro de la carpeta templates/ 
Y dentro de la carpeta css/ vamos a crear un archivo llamado ‘template.css’ para hacer la presentación mediante CSS. No se recomienda poner la estructura de una página web mediante tablas ni directamente formateando el archivo index.php. Ésto es porque no todos los navegadores interpretan exactamente igual las etiquetas HTML, sin embargo mediante CSS tenemos un control mucho mejor, afinando incluso pixel a pixel las posiciones y tamaños de todo. Así que vamos con esto y veremos que simple va a quedar y se va a entender cómo funciona todo.
El archivo index.php de ejemplo que vamos a usar es:
<?php defined( ‘_JEXEC’ ) or die( ‘Restricted access’ );?>
<!DOCTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN»
  «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
<html xmlns=»http://www.w3.org/1999/xhtml» 
   xml:lang=»<?php echo $this->language; ?>» lang=»<?php echo $this->language; ?>» >
<head>
<jdoc:include type=»head» />
<link rel=»stylesheet» href=»<?php echo $this->baseurl ?>/templates/mynew/css/template.css» type=»text/css» />
</head>
<body>

<div id=»arriba»><jdoc:include type=»modules» name=»arriba» /></div>
<div id=»izquierda»><jdoc:include type=»modules» name=»izquierda» /></div>
<div id=»derecha»><jdoc:include type=»modules» name=»derecha» /></div>
<div id=»contenido»><jdoc:include type=»component» /></div>
<div id=»abajo»><jdoc:include type=»modules» name=»abajo» /></div>

</body>
</html>
No voy a explicar en éste minitutorial cómo se maqueta con CSS porque es muy extenso. La idea es que hay que poner todo con DIVs y esos DIVs se posicionan en el navegador mediante el archivo CSS que luego veremos.
Si queremos usar un archivo desde el index.php debemos usar la instrucción PHP: <?php echo $this->baseurl ?> como se usa en el ejemplo anterior, por ejemplo, para incluir el archivo template.css
Las posiciones vienen definidas por: <jdoc:include type=»modules» name=»nombrePosicion» /> y podemos poner tantas posiciones como queramos.
La posición principal que va a mostrar el contenido viene definida por: <jdoc:include type=»component» /> que sólo la vamos a poner una vez.
Ahora nos queda hacer el CSS y el templateDetails.xml. El favicon.ico y los archivos PNG, son imágenes, el favicon es el icono que sale en el navegador cuando alguien nos visita en la página, y los archivos PNG son los vistas previas, en grande y pequeño, que muestra Joomla dentro del gestor de plantillas. Así que seguimos con el CSS (hoja de estilo para los amigos) llamado ‘template.css‘, por ejemplo ponemos:
#arriba {
  position: fixed;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 30px;
  background-color: blue;
}
#izquierda {
  position: fixed;
  left: 0px;
  top: 30px;
  width: 100px;
  height: 100%;
  background-color: green;
}
#derecha {
  position: fixed;
  right: 0px;
  top: 30px;
  width: 100px;
  height: 100%;
  background-color: red;
}
#contenido {
  margin: 40px 110px 40px 110px;
  background-color: grey;
}
#abajo{
  position: fixed;
  left: 0px;
  bottom: 0px;
  width: 100%;
  height: 30px;
  background-color: blue;
}
El archivo templateDetails.xml es el archivo que define todo lo que necesita Joomla para poner las cosas en las posiciones en concreto y los contenidos. Un ejemplo para mi plantilla que he hecho llamada ‘mynew’ es:
<?xml version=»1.0″ encoding=»utf-8″?>
<extension version=»1.6″ type=»template»>
<name>mynew</name>
<creationDate>2012-10-21</creationDate>
<author>Yo mismo</author>
<authorEmail>Aquí v@ tu email .com</authorEmail>
<authorUrl>http://elblogdejnj.blogspot.com</authorUrl>
<copyright>http://elblogdejnj.blogspot.com 2012</copyright>
<license>GNU/GPL</license>
<version>1.0.0</version>
<description>My New</description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>favicon.ico</filename>
<filename>template_preview.png</filename>
<filename>template_thumbnail.png</filename>
<folder>css</folder>
</files>
<positions>
<position>arriba</position>
<position>izquierda</position>
<position>derecha</position>
<position>abajo</position>
<position>contenido</position>
</positions>
</extension>

Llegado éste punto, acabamos de crear la nueva carpeta dentro de templates/ y hemos puesto todos estos archivos. Ahora resulta que tal cual Joomla no ve la plantilla dentro del administrador de plantillas. Podemos ir al Gestor de Extensiones y darle a Encontrar, con lo que Joomla buscará todo lo que hayamos puesto manualmente sin usar el instalador de Joomla. Ahora ya veremos la nueva plantilla en el Gestor de Plantillas, la ponemos como plantilla del sitio y nuestro sitio tendrá la apariencia que acabamos de hacer.

Ahora podemos editar éstos archivos directamente, añadirles imágenes, cambiar la hoja de estilos CSS, las posiciones, etc.. y sólo con refrescar la página veremos los cambios.

Otra opción para usar ésta plantilla, es comprimir el directorio donde está, y después instalarlo con el gestor de extensiones. Es decir, en el ejemplo anterior, hemos creado el directorio mynew/ dentro de templates/, comprimimos el directorio mynew/ con todos los archivos que hemos puesto y nos quedará, en éste caso, el archivo mynew.zip con toda la plantilla. Éste archivo comprimido es el que usamos en el gestor de extensiones para instalar la plantilla.

Para terminar, si todo ha ido bien, entonces tenemos que ver algo parecido a lo siguiente en nuestro navegador:

Sólo queda poner en cada posición los módulos que queramos usando Joomla. En las posiciones ahora tendremos: arriba, izquierda, derecha, contenido y abajo; que son los valores que hemos usado en el index.php y hemos puesto también en el ‘templateDetails.xml’. Ahora todo es imaginación y con buena documentación sobre CSS podremos hacer que nuestra página con Joomla tenga una apariencia única, totalmente personalizada, con efectos 3D o cualquier otra cosa que se pueda hacer con HTML, Javascript, CSS, etcétera…

Ésto es todo un mundo, las plantillas, los editores de plantillas, maquetación, etcétera… hay mucha información por Internet. Espero que haya servido.

Un saludo.
Hasta la próxima


Inaguración

2012-09-18 - Categorías: General
Con éste humilde post.. ¡declaro inaugurado mi blog!

¡Un saludo!

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.