Publi

  • Ejecutando tareas desde consola simultáneamente con GNU Parallel


    Los ordenadores cada día son más potentes. Y una de las formas de poder ejecutar tareas de forma más rápida, es simultanearlas. Por un lado, es lógico que si una tarea está esperando un dato (ese dato puede venir del disco, del usuario por medio del teclado o el ratón, o descargándoselo de Internet), es normal que el ordenador decida ejecutar otras cosas para no perder el tiempo. Y de hecho se ha aprovechado esto para tener varios programas en ejecución, constantemente dando y quitando el acceso al procesador.… Leer artículo completo

  • Primeras decisiones para crear tu tienda online con WooCommerce

    photo-1441984904996-e0b6ba687e04_2
    Hoy en día, si queremos montar una tienda online tenemos un mundo de posibilidades. Lo primero será decidir si la vamos a montar nosotros o vamos a recurrir a una empresa o a personal especializado para ello. Todo depende del tiempo, dinero y conocimientos que tengamos para ello y de lo sinceros que hayamos sido con nosotros mismos en esos tres factores.
    Como primera posibilidad, empezaré por la más dura, programar nuestra tienda, a mano, como unos valientes que somos y llevamos toda la vida programando o al menos el número de horas que hemos programado en nuestra vida se acerca a las 6 cifras (10h al día durante unos 11 años), aún así, seguramente nos basemos en algún framework para nuestro lenguaje de servidor preferido.… Leer artículo completo

  • Cómo gestionar los parámetros de un programa en C (parte 2: parámetros largos)

    photo-1415348667647-9e035495cfb7_r

    Hace unos días publiqué Cómo gestionar los parámetros de nuestros programas con getopt en C como una introducción a la gestión de los argumentos desde nuestros programas en C. De esta forma podremos hacer nuestros programas más flexibles aceptando una entrada del usuario en forma de parámetros y así modificar el comportamiento.

    Antes de nada: WordPress cuando ve dos guiones seguidos (- y -) lo interpreta como un guión largo.… Leer artículo completo

  • Cómo gestionar los parámetros de nuestros programas con getopt en C

    fruit-stall-paris-1500x1000

    Cuando hablamos de argumentos o parámetros de un programa en C, debemos pensa en los parámetros tan raros que pasamos a la función main(). En este caso, podemos ver cómo con dos argumentos (argc, o el número de argumentos que tenemos y argv o el contenido de esos argumentos, somos capaces de gestionar la información que un usuario nos pasa justo cuando ejecuta nuestro programa.

    Lo más sencillo que podemos hacer con los argumentos

    Imaginemos este ejemplo, de un programa donde queremos copiar un archivo origen a un destino (como cp), primero comprobamos que el número de argumentos es suficiente y luego imprimimos en pantalla el valor de cada uno (es un ejemplo inofensivo, no vamos a copiar nada).… Leer artículo completo

  • Creando un controlador en Magento (paso a paso)


    Hace un tiempo comentábamos cómo crear un plugin para Magento. Ahora, vamos a completar ese plugin creando un controlador (y nos metermos ligeramente con las plantillas) para crear algo funcional dentro de nuestra instalación de Magento.

    Antes de nada, advertir que el tema de las mayúsculas y minúsculas tanto en nombres de archivos como nombres de módulos es un poco delicado, por lo que si queremos curarnos en salud, debemos elegir un nombre lo más sencillo posible.… Leer artículo completo

  • Flags en un enum en C


    Las flags, son opciones binarias que acompañan un dato o un sistema y valen para informar o definir su comportamiento o su estado entre otras cosas.

    En muchos casos, utilizaremos flags para ver el resultado de una operación, imaginémonos que estamos pasando una serie de tests a un dato de texto:

    1. El dato no está vacío
    2. El dato tiene más de 3 letras
    3. El dato tiene menos de 20 letras
    4. El dato tiene caracteres no numéricos
    5. El dato tiene caracteres no números/letras
    6. El dato tiene caracteres de control
    7. El dato tiene caracteres no válidos
    8. El dato tiene formato de fecha
    9. El dato tiene formato de hora
    10. El dato tiene formato de teléfono
    11. El dato tiene formato de coordenadas

    Bueno, así puedo poner muchas condiciones, lo importante es la forma de almacenarlo.… Leer artículo completo

  • Crear un archivo PHP que sólo contenga un array (desde un programa PHP)

    Aunque puede parecer redundante, pero es una idea curiosa. Sobre todo cuando creamos un sitio web con muchas opciones. Tenemos varias opciones:

    • Guardarlas en base de datos. Con lo cual cada página que carguemos tiene que hacer una petición, y si hay muchas visitas podemos saturar el sistema. Además una petición es una tarea un poco lenta
    • Guardarlas en un archivo de texto. Por lo que tendremos que hacer un programa que lea el fichero y lo interprete.
    Leer artículo completo
  • Uso de llaves en BASH

    llaves
    Leo en el blog de Thalskarth (proveniente de Tux Files, que a su vez venía de Slice of Linux) un truco para hacer copias de seguridad de un archivo con bash de la siguiente forma:

    cp archivo{,.bk}

    Lo que hacemos es parecido a escribir esto otro:

    cp archivo archivo.bk

    Por lo que podemos intuir fácilmente para qué valen las llaves en este contexto: replicar alternativas. Es decir escribiremos lo que hay antes de la llave, y lo terminaremos con cada una de las opciones de dentro de las llaves que están separadas por comas.… Leer artículo completo

  • Desea continuar? [(S)i, (N)o, (M)e lo pienso]

    Es común en los programas de consola hacer preguntas al usuario y éste responda, pero sólo una de las opciones válidas, si no, volver a preguntarle hasta que nos diga un valor correcto.

    Aquí os enseño un ejemplo sencillo de todo esto (utilizaré la función mygetch):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    #include <stdio.h>
    #include <termios.h>
    #include <unistd.h>
    #include <string.h>

    int mygetch(int echo)
    {
        struct termios oldt, newt;
        int ch;

        /* Obtenemos atributos del terminal */
        tcgetattr( STDIN_FILENO, &oldt );
        newt = oldt;
        /* Eliminamos el modo canónico: caracteres especiales */
        newt.
    Leer artículo completo