Publi

  • Píldora: Operador ternario en Python y en C (con ejemplos)

    Operador ternario en Python

    En programación, hay un momento en el que descubres ciertas técnicas. Y, a partir de ese momento, ya no puedes vivir sin ellas. Eso me sucedió con el operador ternario. Esta estructura nos permite ahorrar código, lo que significa escribir menos líneas y hacerlas más sencillas. Tomaremos tres argumentos, uno de ellos será una condición y los otros dos serán valores (llamémosles a y b). Básicamente, puede solucionar una situación muy común:

    Si condición se cumple, la variable c = a.

    Leer artículo completo
  • Definir valores de variables desde una cadena de caracteres [C++11]


    A veces, es muy útil poder definir variables de diversos tipos (int, string, double, bool, etc) o incluso inicializar clases todo desde un string. El objetivo es dar al usuario de nuestro programa más libertad aún y no combernos demasiado la cabeza transformando cada una de las variables. Por otro lado, no siempre podrán estar definidas todas, por lo que hacer una solución específica para cada cao es un poco largo.… Leer artículo completo

  • Añadir jerarquía a nuestras colecciones de datos en PHP. Creando árboles en PHP

    Es una práctica muy común categorizar nuestros. Hacer que existan categorías/sub-categorías/sub-sub-categorías sin límite al igual que directorios o carpetas hay en nuestro ordenador necesitamos tener todo clasificado. Es decir, queremos introducir jerarquía en nuestros datos, hacer que unos campos dependan de otros.
    Pero cuando guardamos la información en base de datos, normalmente se guardarán en una tabla con dos dimensiones, por lo que perdemos esa sensación de que hay unos datos dentro de otros.… Leer artículo completo

  • MySQL: Listar elementos evitando las repeticiones consecutivas

    Imaginémonos un programa que almacena periódicamente valores en una base de datos, dichos valores pueden ser temperatura, humedad, uso de CPU, voltaje, corriente, intensidad de luz, etc. En definitiva, parámetros que varían con el tiempo, con la característica de que, dos muestras seguidas pueden ser iguales, y no nos interesaría obtenerlas, pero tras una variación sí que nos interesaría volver a ver el mismo valor. Por ejemplo, en una tabla de uno de CPU vemos:

    IdDateCPU Use
    15-jun-2013 10:44:2056%25-jun-2013 10:45:5057%35-jun-2013 10:47:2057%45-jun-2013 10:48:5057%55-jun-2013 10:50:2058%65-jun-2013 10:51:5058%75-jun-2013 10:53:2056%85-jun-2013 10:54:5055%95-jun-2013 10:56:2056%105-jun-2013 10:57:5056%115-jun-2013 10:58:2059%125-jun-2013 11:00:5059%

    Cuando en realidad lo que nos interesaría ver es:

    IdDateCPU Use
    15-jun-2013 10:44:2056%25-jun-2013 10:45:5057%55-jun-2013 10:50:2058%75-jun-2013 10:53:2056%85-jun-2013 10:54:5055%95-jun-2013 10:56:2056%115-jun-2013 10:58:2059%

    Por tanto tenemos dos formas de abordar el tema:

    Evitando introducir valores repetidos

    Para ello, bastaría con introducir un trigger en la base de datos asociado a la introducción de los valores en dicha tabla.… Leer artículo completo

  • Introducir el resultado de una consulta SELECT de mysql en un Array [BASH]

    data

    ¡Bash es una pasada! Es capaz de dejarnos hacer maravillas en poco tiempo y de automatizar lo inautomatizable, en este caso, traigo un ejemplo más, de cómo un código muy corto es capaz de presentarnos los resultados de una consulta SELECT de mysql:

    Los datos de prueba provienen de uno de mis proyectos: Málaga Bloguea donde muestro las últimas novedades de blogs de Málaga.

    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
    #!/bin/bash

    OLDIFS=IFS
    MYSQL_USER=#Usuario Mysql
    MYSQL_PASSWORD=#Password Mysql
    MYSQL_HOST="localhost"
    # IFS personalizado, para poder delimitar los campos correctamente
    IFS="`echo -e "\t\n\r\f"`"

    # Declaramos la variable como array, no es estrictamente necesario, pero sí un poco más correcto
    declare -a IPS

    # Generamos la consulta (Si vamos a utilizar un juego de caracteres determinado, como
    # UTF8, debemos especificar primero para evitar sorpresas.
    Leer artículo completo
  • Extraer 10 elementos ordenados de grandes colecciones de datos

    En ocasiones podemos tener una colección grande de información (de varios millones de elementos), y debemos obtener los diez primeros (por ejemplo) menores.
    Por poner un ejemplo rápido, vamos a utilizar números, tenemos una colección de 15 números y necesitamos extraer los 5 menores:

    1832312113126153146549234852154030209834

    En este caso, queremos obtener: 20, 21, 30, 34, 98

    El problema es la optimización, necesitamos hacerlo en el menor tiempo posible, utilizando la menor cantidad de operaciones, tal vez haya un método mejor que el que voy a proponer, aunque este no es malo del todo.… Leer artículo completo