Curso Java – 2. Material de trabajo

Cuando uno empieza a programar debe conocer cuáles son las herramientas de trabajo que va a necesitar. Principalmente se necesitan tres componentes: el JDK, un IDE y la documentación en línea.

JDK

Como se indicó en el capítulo anterior, el JDK contiene todo lo necesario para empezar a programar. Debes recordar también que hay dos ediciones principales: la Standard Edition (SE) y, la más avanzada, la Enterprise Edition (EE). Las descargas oficiales se encuentran en Oracle Software Downloads. En el siguiente capítulo aprenderás cómo instalar el JDK. read more

Leer más » 10 Comentarios

Manual de YUM

Gran parte de mi vida como usuario de Linux, he estado utilizando distribuciones derivadas de Debian, principalmente Ubuntu. Sin embargo, en un principio no fue así y la primera distribución que usé fue la desaparecida Mandrake.

Todavía recuerdo cuando hace mucho, acostumbrado a tener que descomprimir, compilar e instalar los tarball con el código fuente, un compañero de clase me comento las virtudes de este sistema: “En Debian haces apt-cache search, para buscar, luego pones apt-get install y el nombre del paquete y lo tienes hecho“. Cuando lo vi funcionando me quedé maravillado. read more

Leer más » 4 Comentarios

Curso Java – 1. Introducción

Curso Java

A raíz del espléndido curso de C# con Mono iniciado por Carazo, un servidor se ha atrevido a realizar lo mismo pero con el lenguaje de programación Java. Se pretenderá que sea lo más didáctico posible. Cualquier crítica, duda, sugerencia o propuesta de mejora sobre este curso será bienvenida.

¿Qué es Java?

Java es una tecnología que engloba principalmente las siguientes subtecnologías:

  • El lenguaje de programación Java: es un lenguaje orientado a objetos, con tipos de datos estáticos y cuyos programas se compilan produciendo una aplicación con código bytecode.
  • Java Runtime Environment (JRE): está compuesto por la Java Virtual Machine (JVM) más otros componentes necesarios y su finalidad consiste en ejecutar los programas codificados en bytecode.
  • Java API: es el conjunto de todas las Application Programming Interface (API), o interfaces, que permiten al programador crear aplicaciones Java. Para programas más generales se utiliza la Java SE y para programas más complejos o con finalidad empresarial se usa la Java EE.

La expresión Java es un término muy ambiguo. Generalmente cuando se habla de Java se está refiriendo al lenguaje de programación, y así lo haremos durante el resto del curso. read more

Leer más » 18 Comentarios

Instalar Darktable. Una alternativa libre que planta cara a LightRoom

Alternativa y con creces. Muchos pensarán que al no haber oído hablar de él, al no ser portada en los principales medios no merece una oportunidad, pero se equivocan.

Acaba de publicarse una nueva versión, la 0.7; dirigida especialmente a fotógrafos, permite la gestión integral de nuestras imágenes digitales.

¿Qué hay de nuevo en esta versión?

  • Los metadatos se almacenan ahora con XMP.
  • Los plugins de Darktable están ahora ordenados en diversas categorías.
  • Se han incorporado cuatro nuevos plugins: zone system, relight, graduated neutral density (graduado de densidad neutra) y watermark (marca de agua).
  • Capacidad para deshacer recortar una imagen usando simplemente la tecla de retroceso ‘Retroceso’, como volver hacia atrás en el navegador Web.
  • Inclusión inicial de una ventana de Preferencias.
  • Primera versión del manual del usuario.

Para consultar todo el changelog: darktable.sourceforge.net

Instalar Darktable en Ubuntu

Muy sencillo a través del PPA oficial:

ahornero@6581-D:~$ sudo add-apt-repository ppa:pmjdebruijn/darktable-release read more

Leer más » 8 Comentarios

¿Cómo cambiar la fecha y la hora desde la consola?

Hoy mismo he tenido un problema que en absoluto es baladí. Me han avisado de que una aplicación de creación propia no funcionaba por un tema de fechas y horas, en concreto, no dejaba reservar un recurso común porque decía que la hora de reserva era anterior a la actual. El problema era que el servidor sobre el que ejecuta dicha aplicación, tenía mal la hora (está virtualizado con Xen y lleva sólo un par de días en marcha).

La solución es utilizar un servidor NTP pero mientras lo configuras y abres la conexión en el cortafuegos corporativo, lo más básico es poder modificar la fecha y hora a mano desde la terminal. read more

Leer más » 6 Comentarios

Instalar mod_rewrite en Apache. Los Pretty Permalinks se resisten

Es posible que si habéis probado a usar enlaces permanentes (permalinks) sobre Apache os hayáis encontrado con este problema, me refiero a el caso de los conocidos como Pretty Permalinks, en los que la forma más usual de usarlos es https://www.linuxhispano.net/año/mes/día/nombre-de-la-entrada/, en resumidas palabras son el Santo Grial de los enlaces permanentes, muy usados en los Blogs.

El caso que os enuncio a continuación es el de la instalación del CMS WordPress sobre una máquina Ubuntu 10.04, aunque la metodología es completamente aplicable a cualquier uso de las directivas dentro de .htaccess sobre cualquier máquina que corra Apache2 y cualquier sistema sobre él mismo. read more

Leer más » 12 Comentarios

Solucionar problema del ServerName en Apache 2

Estaba instalando Apache en un servidor. Cuando lo estaba reiniciando al realizar unos cambios me he encontrado con el siguiente error:

ahornero@6581-D:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
… waiting apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName read more

Leer más » 4 Comentarios

Convertir un paquete *.deb a *.rpm y viceversa

Sí, algún graciosillo ya habrá pensado en:

mv mi_paquete.deb mi_paquete.rpm

Y bromas aparte. En muchas ocasiones nos encontramos que un paquete para nuestra distrubución basada en Debian (paquete DEB) queremos utilizarlo en una distribución basada en RedHat (paquete RPM), parecerá algo sencillo, y de hecho lo es. Gracias a la herramienta Alien. En mi caso uso CentOS y Ubuntu, y en muchas ocasiones esta solución me ha salvado.

Lo primero será instalarnos el programa en cuestión, así:

$ sudo apt-get install alien (en el caso de Debian)
$ yum install alien (en el caso de RedHat, como superusuario) read more

Leer más » 8 Comentarios

Marlin, un navegador de archivos ligero. ¿Nautilus tiembla?

Esta mañana he topado con un navegador de archivos muy curioso, no ya por su aspecto visual cuidado y simple, si no porque algunos lo apuntan como posible alternativa a Nautilus en las futuras versiones de Ubuntu Linux.

Lo he probado, y el resultado es total, ya comenté hace tiempo un par de alternativas serias a Nautilus, el navegador por defecto en nuestro escritorio Gnome:

*En ambos casos se trata de un enlace al antiguo portal, activo a día de hoy.

Ya sabréis que en Linux Hispano no somos partidarios del Copy&Paste, así que si os animáis a probar Marlin estas son las instrucciones que yo he seguido: read more

Leer más » 5 Comentarios

Curso C# con Mono – Espacio de nombres y regiones

El otro día hablábamos de cómo se organizaba el código ejecutable dentro de los ensamblados, a los que podíamos referir dentro de nuestro proyecto de forma inmediata con Mono Develop. Imaginemos que acabamos de hacer referencia al conector de MySQL para Mono/.NET y queremos usar su funcionalidad en nuestro código. ¿Cómo se organizan los ensamblados, las clases y las funciones en el código? La herramienta básica para esta labor son los espacios de nombres.

Espacios de nombres

Los espacios de nombres o namespaces, son la forma de organizar dentro del código, las clases y funciones de cara a una funcionalidad. Están directamente relacionados con los ensamblados, ya que los ensamblados definen en sí mismos, un espacio de nombres y a su vez pueden contener una serie de ellos. read more

Leer más » 7 Comentarios