Los makefile sirven para automatizar el proceso de compilación de un proyecto estableciendo unas reglas que dictan cómo y en qué orden han de crearse los ficheros objetos, librerías y binarios.
La creación de un fichero MakeFile puede llegar a ser compleja conforme va incrementando el tamaño del proyecto. En este artículo vamos a ver cómo se pueden compilar con una sola regla todos los archivos cpp del proyecto.
Ya me ha sucedido en varias ocasiones que he intentado conectar mi Samsung Galaxy S al adb del SDK de Android y he tenido que buscar durante un rato en internet como solucionar el siguiete problema:
En un artículo anterior se vió cómo crear una aplicación cliente/servidor que consistía en el desarrollo de un juego básico donde adivinar el número pensado por el oponente. Hoy veremos cómo crear una API RESTFul, la cual podrá ser consumida por una aplicación móvil, por ejemplo.
Para conseguir nuestro objetivo necesitaremos Node.js, Express y mongodb. Usaremos el servicio cloudbuilder de Arsys.
La razón de usar un servicio cloud es muy sencilla, éstos entornos ofrecen la flexibilidad necesaria para escalar nuestra plataforma en cualquier momento, sin tener que embarcarnos nosotros mismos en instalar y configurar más servidores dedicados, y se paga en función de las horas de uso. A medida que los requisitos de nuestro sistema aumentan, es posible incrementar las capacidades de nuestros servidores únicamente desplazando una barrita que diga cuanta RAM más necesitamos, cuantos cores, cuantos servidores… Así de sencillo.
Otra ventaja viene dada a la hora de hacer pruebas, ya que se puede crear un entorno de prueba en minutos, sin necesidad de afectar al entorno estable.
Hoy vamos a hablar de cómo configurar un Balanceador de carga para un servidor. Veremos dos alternativas, configurarlo todo a mano, o desde un entorno cloud virtualizado, desde el panel de control de Arsys. Está claro que, la segunda opción, será mucho más sencilla. Aún así, con la primera se aprenderá qué está pasando realmente por debajo.
En esta serie de artículos, intentaré explicar lo mejor posible el funcionamiento de los servidores DNS, y cómo configurar el tuyo propio. Habrá una parte más teórica sobre el funcionamiento del sistema, que es una traducción de un artículo en howtoforge.
Siguiendo con los artículos de cómo configurar un servidor DNS. En el anterior artículo dejamos pendiente echar un vistazo al archivo named.conf.local, que contiene información sobre los dominios que serán resueltos por el servidor DNS. Veamos el contenido:
zone "elbauldelprogramador.com"{type master;
allow-transfer {DNS_SECUNDARIO;};
file "/etc/bind/pri.elbauldelprogramador.com";};
El contenido de /etc/bind/pri.elbauldelprogramador.com:
$TTL3600
@ IN SOA ks3277174.kimsufi.com. correo.electronico.com. (2013011703; serial, todays date + todays serial #
7200; refresh, seconds
540; retry, seconds
604800; expire, seconds
86400); minimum, seconds
;
elbauldelprogramador.com. 3600 A 5.39.89.44
elbauldelprogramador.com. 3600 MX 10 mail.elbauldelprogramador.com.
elbauldelprogramador.com. 3600 NS ks3277174.kimsufi.com.
elbauldelprogramador.com. 3600 NS ns.kimsufi.com.
mail 3600 A 5.39.89.44
www 3600 A 5.39.89.44
SOA es el acrónimo para “Start Authority”. Si recuerdas la figura 1 del artículo anterior, recordarás que DNS es una base de datos distrubuida. Comenzando en los root servers, las peticiones se van desplazando hasta llegar a su destino, en este caso, hasta llegar al servidor DNS que estamos configurando. Por esa razón, en el fichero de zona es necesario indicar dónde comienza su autoridad(authority). Ésta autoridad comienza precisamente en el fichero de zona. Los servidores TLD (Top Level Domain ó Dominios de primer nivel) esperan del servidor DNS que realice su parte del trabajo.
El registro SOA consta de varios campos. Es necesario proporcionar datos a esos campos para que otros servidores en internet puedan llevar a cabo sus peticiones. Los campos son:
Cómo configurar un servidor DNS - Parte 3 (Zona Inversa y DNS secundario)
Ya se ha visto que existe una base de datos centralizada que asocia nombres de dominios a direccines IP, también se mencionó el caso inverso, una copia inversa de dicha base de datos, que asocia IP’s a nombres de dominios. Ésta búsqueda inversa es usada por muchos programas, que rechazarán establecer una conexión si la búsqueda inversa y la búsqueda directa (Dominio»IP) no coinciden. Muchos proveedores de correo usan la búsqueda inversa para clasificar correos como spam.
Con objetivo de que los emails enviados desde el dominio que se está configurando no sean clasificados como spam, es necesario crear la zona inversa en el archivo named.conf.local:
zone "89.39.5.in-addr.arpa"{type master;
file "pri.89.39.5.in-addr.arpa";};
Los números son la dirección ip del servidor escritos en orden inverso. Es decir, la ip es 5.39.89.x, así pues, la zona ha de llamarse 89.39.5.in-addr.arpa.
Es necesario crear el archivo de zone inversa también, pri.89.39.5.in-addr.arpa. Este archivo es necesario crearlo en el mismo directorio en el que se encuentra el archivo de zona primario (pri.elbauldelprogramador.com).
El principio de este archivo es exáctamente igual que pri.elbauldelprogramador.com:
Este programa lo ví en ProyectosBeta. Seguro que en nuestro equipo tenemos montones de aplicaciones instaladas, de las cuales muchas serán no libres, con el programita vrms podemos conocerlos de forma sencilla. Los pasos a seguir son los siguientes: Instalamos el programa: sudo aptitude install vrms Y lo ejecutamos con vrms El resultado es el siguiente: Para que nos salga la el dibujito de Stallman hay que seguir los siguientes pasos.
El otro día me hacía falta convertir cada una de las páginas de un documento pdf a imágenes individuales, con un poco de búsqueda en google lo solucioné y hoy lo comparto con vosotros.
Es bastante simple: Buscamos el archivo function.php de nuestro tema instalado y pegamos el siguiente código php. <?php // Short code function Nombre_de_nuestro_shortcode( $atts, $content = null ) { return 'Código de nuestro shortcode'; } add_shortcode('nombre_de_nuestro_shortcode', 'Nombre_de_nuestro_shortcode'); ?> A partir de ahora, podemos agregar todo el código que hemos escrito dentro de la función en las entradas que queramos escribiendo el siguiente shortcode: [nombre_de_nuestro_shortcode] Así de sencillo es crear shortcodes en WordPress.
Ya se vió cómo añadir shortcodes simples, esta vez se explicará con un poco más de profundidad.
Primero, un shortcode no es más que un conjunto de funciones que crean un código macro para usar dentro del contenido de un artículo. Es necesario añadir dicho shortcode al archivo functions.php . Como primer ejemplo sencillo, se creará un shortcode llamado [foo] que añadirá al artículo el texto “Esto es una prueba”.
functions.php
Este archivo está en el directorio del tema. Actua como un plugin, y, si existe en el directorio del tema, se carga automáticamente durante la inicialización de WordPress. Los pasos a seguir para crear el shortcode son los siguientes:
Crea la función en wordpress
Abre el fichero con tu editor favorito y añade lo siguiente:
Hace tiempo que hablé de cómo crear un adapter simple, y otro un poco más personalizado en Android. En esta entrada se verá cómo crear un adapter desde cero, con algunas funcionalidades más.