Showing entries 1 to 10 of 13
Próximo 3 Viejas entradas »
Displaying posts with tag: Programacion (reset)
Copias de seguridad utilizando 7-zip en Windows

En esta ocasión, no hablamos ni de Python ni de bases de datos, sino de copias de seguridad, un aspecto muy importante y que no se dedica toda la atención que merece, hasta que tienes un problema, y entonces, es cuando tomas medidas. Lo que vas a empezar a leer es cómo automatizar la tarea de realizar copias de seguridad utilizando el compresor gratuito 7-zip. Probando que podemos utilizar 7-zip desde la consola MS-DOS La primera tarea es instalarlo, por supuesto, y la siguiente es comprobar que podemos hacer uso...read more

The post Copias de seguridad utilizando 7-zip en Windows appeared first on Manejando datos.

Related posts: …

[Lea más]
Mi Charla en la PyConES 2014 de Zaragoza sobre MySQL Fabric

El próximo sábado 8 de noviembre a las 19:30 estaré hablando sobre MySQL Fabric en la PyConES 2014 (la versión española de la PyCon), la reunión anual de programadores y entusiastas de Python en España.
Aunque no me auto-denomino como programador, una gran parte de mi tiempo cono consultor de MySQL require implementar procedimientos automáticos (backups, comprobaciones de salud, gestión de AWS, …) y para ello utilizo principalmente una combinación de Python y Bash.

En mi charla, que he titulado “MySQL Fabric, a High Availability solution for Connector/Python” explicaré cómo montar y configurar un conjunto de servidores MySQL y …

[Lea más]
Probando UDFs para MySQL: Title Case

Conocemos “de sobra” lo que hacen las funciones LCASE y UCASE en MySQL, otros gestores también la implementan con alguna variación en el nombre pero con el mismo resultado.

Pero que pasa si queremos una función que convierta un texto al tipo Titulo, conocido también como title case, es decir convertir “un texto arbitrario” en “Un Texto Arbitrario“, para este caso no existe la función mágica que haga esa conversión y tenemos que escribir una propia.

No es necesario “reinventar la rueda” (aunque podría hacerlo), buscando encontré un repositorio de …

[Lea más]
WordPress ahora acepta sentencias LaTeX

Gracias a un plugin para WordPress incluido en Jetpack podemos incluir expresiones matemáticas en los posts fácilmente. Solo necesitan instalar Jeckpack en su WordPress para habilitar esta opción.

Esto es especialmente útil al momento de explicar un algoritmo, que incluya expresiones matemáticas, o para quienes tengan un blog y sean profesores/físicos/matemáticos/etc

Solamente tienen que escribir la expresión matemática en sintaxis  entre los signos de dolar:

$latex [expresion] $

Aquí algunos ejemplos:

El código fuente de los ejemplos anteriores es:

$latex
x = a_0 + \frac{1}{\displaystyle a_1
+ \frac{1}{\displaystyle a_2
+ \frac{1}{\displaystyle a_3 + a_4}}}$
 
$latex x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}} $ …
[Lea más]
Simulando secuencias en MySQL

Quienes hemos usado PostgresSQL solemos fastidiarnos con el código que hay que escribir para tener un campo auto-numérico, pero también hemos llegado a extrañar esa característica cuando usamos MySQL.

Como sabemos MySQL, usa la propiedad AUTO_INCREMENT para campos numéricos que usamos en claves primarias.

Pero en que situaciones podemos necesitar una secuencia? pues les doy algunas ideas:

  • Cuando queremos tener mas de un campo auto-numérico en una tabla.
  • Cuando necesitamos un contador general que podemos utilizar en mas de una tabla.
  • No se me ocurren mas, pero estoy seguro que en algún momento podemos darle un uso.

Manos a la obra:

Necesitaremos una tabla para guardar el valor actual de la secuencia:

create table _sequence
(
        seq_name varchar(50) not null primary key,
        seq_val int unsigned not null
); …
[Lea más]
Maldita sea…!

Un sabor amargo me queda despues de hoy!

Sucede que estamos en medio de la implantación de un pequeño software en la Municipalidad de Puno y hace algunas horas nos dimos con la sorpresa que el tipo de dato time_t incrustado en la clase CTime solo soporta fechas desde 01/01/1970 al 31/12/2039… maldita sea!

Tendremos que trabajar algunas horas extra solucionando ese “problemita”.

Se había tomado la decisión de guardar las fechas en segundos para poder hacer mejor los cálculos posteriormente, creo que eso no va a cambiar. Pero se trabajo de igual manera con el resto de campos de tipo fecha. (craso error)

El problema saltó cuando se intentó registrar a alguien que había nacido en el año 1949: ¡Horror!

¿Por que no nos dimos cuenta? Aun que el problema pueda ser solucionado con unas cuantas líneas de código y previa modificación del modelo de la base de datos, ¿Por qué no pensaron en …

[Lea más]
Problema solucionado ODBC Connector

Generalmente me conecto a MySQL con ayuda del controlador ODBC que provee el mismo MySQL. Como sabemos todo MySQL esta en pledo desarrollo, ocurre que se presentan situaciones que no fueron contempladas, por consiguiente hay errores que perjudican el desarrollo haciendo que uno tome precausiones antes de utilizar un codigo especifico. Muchos hemos crecido con MySQL y creo que si no hubiera sido asi lo hubieramos desechado por detalles como este que les voy a mostrar a continuacion.

Para no darle mas vueltas al asunto concretamente el problema es como sigue:

Cuando se intentaba leer un campo varchar (o relacionado) que este vacio o NULL, el controlador ODBC lo reconocía como UNKNOWN, evidentemente no podía realizarse el paso de valores al tipo CString o char* del Visual C++.

Para evitar ese problema se tenía que averiguar la longitud del campo que se va a leer, algo asi como esto:

ULONG len = 0; …
[Lea más]
Leer datos MySQL desde C++ sobre Linux

Resulta que algunas veces es necesario acceder desde C/C++ a MySQL, razones hay muchas…. el asunto es como hacerlo.

Antes de hacer cualquier cosa debemos instalar las librerías de desarrollo de MySQL:

sudo apt-get install libmysqlclient-dev

Todos los archivos que necesitaremos van a estar ubicados en /usr/include/mysql y /usr/lib/mysql , los parámetros para compilar un archivo simple es como sigue:

gcc archivo.cpp \
           -o archivo \
           -I/usr/include/mysql -L/usr/lib/mysql \
           -lmysqlclient -lstdc++ -lz

Una breve descripción de los parámetros:

  • -o (output) indica el nombre que va a tener el archivo de resultado
  • -I le dice al compilador que incluya una ruta adicional para los archivos de inclusión
  • -L le dice al enlazador que …
[Lea más]
Modificaciones a WordPress

Como habrán podido notar he mudado mi Blog hace ya mucho tiempo) de Blogger.com al sistema de publicación WordPress. WordPress esta escrito en PHP, la instalación es muy sencilla, es un súper blog-management absolutamente recomendable para quienes todavía no lo estén utilizando o piensan cambiar.

Desde el momento de la instalación he estado revisando el código fuente para hacer algunas modificaciones. El tema actual me gusta pero es muy común, así es que voy a tratar de hacer algunas mejoras de contenido. Tarea sencilla por que WordPress esta escrito en PHP y almacena los contenidos en MySQL.

Por lo pronto aumenté una sección de “Envíos Recientes” al estilo Blogger, y reacomodé el tema principal para poder incrustar los anuncios.

Para obtener los envíos anteriores al post actual utilizo …

[Lea más]
Detectar el pais de procedencia del visitante en PHP

Los webmasters nos preocupamos mucho por saber quienes son los que visitan nuestras páginas, para ello utilizamos herramientas muy útiles como contadores de visitas, analizadores de tráfico, etc.

Por otro lado, uno puede programar su propio sistema de análisis de tráfico haciendo un extracto de todas las variables de entorno que contienen esta información. Dependiendo del servidor Web (Apache, IIS, etc.)

Hace mucho tiempo encontré una base de datos (actualizada periódicamente) que contiene todos los números de IP que se pueden encontrar en la red. Estos están almacenados en forma de rangos y también indican el País o la ubicación geográfica de cada rango. Con esta información es fácil determinar el país de procedencia del visitante simplemente con saber su número de IP.

La dirección donde pueden descargar esa base de datos es:

[Lea más]
Showing entries 1 to 10 of 13
Próximo 3 Viejas entradas »