Publi

  • ¿Cómo obtener el tamaño de las tablas en MySQL? Y alguna idea para nuestros servidores

    Hoy en día tenemos multitud de aplicaciones web instaladas en nuestros servidores. Algunas serán para gestionar nuestros servicios de forma más cómoda, también puede que tengamos varios WordPress instalados, Drupal, una tienda online, CRM, o algunas más específicas. El problema aquí es que como todo en esta vida digital, tiende a ocupar el máximo espacio posible. El caso es que a veces, es muy útil contar con un resumen del tamaño de todas las tablas de nuestro servidor.… Leer artículo completo

  • Lista de control para instalar un servidor para tu web, blog, correo y más (Checklist para servidor)

    En la actualidad hay una gran oferta de servidores para utilizar en nuestras aplicaciones. Y, tenemos la posibilidad de contratar servidores muy potentes por relativamente poco dinero. Una de las posibilidades que tenemos es contratar un VPS (Servidor Privado Virtual) En el mercado encontramos servicios administrados, en los que tendremos directamente un panel de control, un servidor instalado con ciertas características, y ya se encargan por nosotros de actualizar, instalar software y tener al día la seguridad.… Leer artículo completo

  • Formas de eliminar etiquetas XML/HTML desde MySQL o MariaDb. strip_tags en MySQL

    popsometags
    Estamos haciendo una consulta a una tabla, y vemos que la tabla tiene un texto. Pero dicho texto contiene etiquetas HTML que nos molestan o no deberían estar ahí (puede que el valor lo hayamos extraído de un campo WYSIWYG) y cuando vamos a extraer la información nos molesta.

    Pero tenemos prisa y tendríamos que modificar o crear un programa y no tenemos tiempo. ¿Qué hacemos? Pues nada, implementar strip_tags() dentro de MySQL y luego pegarnos un baile.… Leer artículo completo

  • Cómo crear un plugin para WordPress. Making of de SimTerm: insertar recursos JS/CSS y shortcodes (tercera parte)

    simterm
    Estoy haciendo un pequeño tutorial de cómo me lo he montado para crear un plugin de WordPress: simterm. El plugin inserta un shortcode que nos permite simular una ventana de terminal (sea el SO que sea) y hacer como que se escriben cosas y el sistema nos da la respuesta. Es perfecto para nuestros tutoriales y si seguís este blog, seguro que lo habéis visto miles de veces.

    Esta es la tercera parte, enfocada a recursos y shortcodes.… Leer artículo completo

  • Cómo hacer pequeñas operaciones matemáticas al reemplazar texto en Emacs

    emacs_user_at_work_by_earlcolour-d38aj2x_2

    Me encanta Emacs, y como me encanta Emacs, no paro de aprender todos los días cosas nuevas. Una de esas cosas nuevas, que más me ha llamado la atención es, como dice el título, la posibilidad de hacer pequeñas operaciones matemáticas al reemplazar texto en Emacs. En concreto, dentro de las expresiones regulares.

    Esto, en la práctica serán sumas o restas, o cualquier operación que podemos hacer a los números que encontramos en una expresión regular.… Leer artículo completo

  • Cómo expulsar todas las sesiones MySQL de un usuario en particular desde un script

    502729552_aaa355b1ce_o

    Muchas veces, puede que tengamos una aplicación no muy bien depurada en nuestro servidor web. A dicha aplicación le hemos dado su propio usuario MySQL y observamos que las conexiones no se cierran adecuadamente.

    Temporalmente puede que la solución sea expulsar de vez en cuando todos los usuarios que siguen activos, con el fin de no saturar nuestro servidor MySQL. Puede que en otros servicios que tengamos activos hayamos visto el mensaje “Too many connections” impidiendo así el acceso a los demás servicios.… Leer artículo completo

  • BITes: juguetes programables, bug Glibc, Street Fighter V, Amazon VS Zombies, Regex, MySQL, Firefox, MSDOS y más

    photo-1453743327117-664e2bf4e951_r
    Esta vez una entrega doble, que la semana pasada fallé, os traigo cosas interesantes que he encontrado estos días, y algún enlace de esos que quiero poner, pero no tengo contenido relacionado para ponerlo-

    Help me!

    Como siempre en esta sección, he metido un par de enlaces con el título [Ayúdame], si pinchas, verás publicidad y te llevará al destino, pero si no quieres publicidad, el enlace original lo pongo al lado y yo no me llevo nada.… Leer artículo completo

  • Un buen 2015 para el blog. Los posts que han marcado el año y consultas SQL

    2015

    Como ya es costumbre los últimos años, preparo un breve resumen de lo más destacado del año para el blog. Aunque este año pretendo hacer algo un tanto diferente. Vamos a meter un poco de SQL 🙂

    Un año programando y compartiendo

    Este blog empezó siendo una auto-chuleta para dar clases particulares de programación, y así poder ayudar a mis alumnos planteando problemas y soluciones, así como una pequeña documentación de ciertas cosas que he encontrado interesantes.… 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 modelo sencillo en Magento (paso a paso y con ejemplos)

    Anteriormente vimos cómo crear un plugin para Magento y cómo crear un controlador para Magento. Ahora le toca el turno al modelo. Intentaré poner con todo detalle todo el proceso.
    Por eso, vamos a editar app/code/local/NuestraEmpresa/nuestroPlugin/etc/config.xml, en nuestro ejemplo app/code/local/Poesia/HolaMundo/etc/config.xml para indicar que vamos a crear modelos y las conexiones de base de datos que se deben utilizar para el acceso. He pegado el archivo entero, pero indico con un comentario las novedades:

    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <?xml version="1.0" encoding="UTF-8"?>
    <!--
    Opcionalmente podemos poner un comentario contando qué hace nuestro módulo, nuestra web,
    información sobre la licencia, etc
    -->
    <config>
        <modules>
            <Poesia_HolaMundo> <!-- namespace_modulo -->

                <!-- Esta es la versión de nuestro módulo -->
                <version>0.0.1</version>

            </Poesia_HolaMundo>
        </modules>

        <frontend>
          <!-- Lo que necesitamos para utilizar los controladores -->
          <routers>
        <holaMundo>
          <use>standard</use>
          <args>
            <module>Poesia_HolaMundo</module>
            <frontName>hm</frontName>
          </args>
        </holaMundo>
          </routers>
          <!-- Lo que necesitamos para utilizar los controladores -->
          <!-- Lo que necesitamos para el layout y las plantillas -->
          <layout>
        <updates>
          <holamundo>
            <file>poesia.xml</file>
          </holamundo>
        </updates>
          </layout>
          <!-- Lo que necesitamos para el layout y las plantillas -->
        </frontend>
        <!-- Necesario para informar a Magento sobre nuestro modelo -->
        <global>
          <models>
        <holamundo>
            <class>Poesia_Holamundo_Model</class>
            <resourceModel>holamundo_resource</resourceModel>
        </holamundo>
        <holamundo_resource>
            <class>Poesia_HolaMundo_Model_Resource</class>
            <entities>
            <pventamod>
                <table>poesia_postvtable</table>
            </pventamod>
            </entities>
        </holamundo_resource>
          </models>
          <resources>
            <holamundo_setup>
              <setup>
                <module>Poesia_HolaMundo</module>
              </setup>
              <connection>
                <use>core_setup</use>
              </connection>
            </holamundo_setup>
            <holamundo_write>
              <connection>
                <use>core_write</use>
              </connection>
            </holamundo_write>
            <holamundo_read>
              <connection>
                <use>core_read</use>
              </connection>
            </holamundo_read>
          </resources>

        </global>
        <!-- Necesario para informar a Magento sobre nuestro modelo -->
    </config>

    Ahora creamos el modelo (le intento dar a todo nombres diferentes para que veamos qué es cada cosa).… Leer artículo completo