Usar printf.
Aqui un par de links que lo explica:
http://www.rokerias.com/2013/06/imprimir-separador-de-miles-en-bash.html
http://linux.about.com/library/cmd/blcmdl3_printf.htm
8 de septiembre de 2013
jQuery: un toolkit de JavaScript
Un objetivo que tengo es aplicar JavaScript a página web www.pedeefes.com para aumentar su interactividad y capacidad de respuesta con los usuarios.
Como es habitual en el actual mundo web, los temas de diseño son críticos y para optimizar el tiempo empleado y el resultado obtenido hay que acudir a frameworks o toolkits que hagan mas productiva la tarea de programación .
Para JavaScript hay cantidad de frameworks: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Uno de los que mas desarrollo y expansión esta teniendo es jQuery.
Mas que un framework se trata de un toolkit que hace mucho mas llevadera la programación de efectos gráficos e interactividad con el usuario basado en JavaScript.
Su lema: Escribir menos, hacer mas, realmente se cumple.
Aunque finalmente siempre es necesario escribir algo de código en JavaScript, el trabajo duro lo realiza jQuery con una sintaxis sencilla y una enorme potencia.
La curva de aprendizaje es rápida y se puede comenzar sin saber nada de JavaScript o mejor dicho, ir aprendiendo los fundamentos de JavaScript al mismo tiempo.
También es necesario tener conocimientos de HTML, CSS y DOM para sacar el máximo partido a jQuery.
En cuanto a bibliografia os remito a www.pedeefes.com donde podréis encontrar numerosos pedeefes sobre jquery, javascript, html, css3, y muchas muchas cosas mas.
23 de agosto de 2013
Cambiar el UUID de un disco virtual .vdi de Virtual Box
Cuando hago una copia de un disco virtual e intento arrancarla en una nueva máquina virtual con Virtual Box, aparece un error diciendo que el UUID del disco ya existe.
Para solucionar esto podemos cambiar la UUID del disco virtual .vdi copiado con el siguiete comando desde MS-DOS:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands sethduuid "C:\HDfile.vdi"
UUID changed to: 1727a910-2037-4d8d-866b-ae6d52c5a6cd
y problema resuelto.
Para solucionar esto podemos cambiar la UUID del disco virtual .vdi copiado con el siguiete comando desde MS-DOS:
C:\Program Files\Oracle\VirtualBox>VBoxManage.exe internalcommands sethduuid "C:\HDfile.vdi"
UUID changed to: 1727a910-2037-4d8d-866b-ae6d52c5a6cd
y problema resuelto.
Python: ejecutando comandos linux
Para ejecutar comandos de Linux desde Python podemos usar los módulos os y commands.
Con os se ejecuta el comando ls y retorna un bit de ejecución, no el resultado del comando:
import os
out = os.system("ls")
Si necesitamos el resultado del comando linux ejecutado usar commands:
import commands
out = commands.getoutput("ls")
Con os se ejecuta el comando ls y retorna un bit de ejecución, no el resultado del comando:
import os
out = os.system("ls")
Si necesitamos el resultado del comando linux ejecutado usar commands:
import commands
out = commands.getoutput("ls")
18 de agosto de 2013
Colorizando Scripts en Php CLI ... y en Bash
#!/usr/bin/php
echo "\033[31m Texto en color rojo \033[0m\n";
die;
\033[0m : vuelve el color de la consola al color por defecto, importante!! ya que si no se pone cambias el color de la consola al salir del script.
el número XX de los códigos \033[XXm determinal el color y formato del texto según esta tabla:
Style Foreground Background 1st Digit 2nd Digit 3rd Digit 0 - Reset 30 - Black 40 - Black 1 - FG Bright 31 - Red 41 - Red 2 - Unknown 32 - Green 42 - Green 3 - Unknown 33 - Yellow 43 - Yellow 4 - Underline 34 - Blue 44 - Blue 5 - BG Bright 35 - Magenta 45 - Magenta 6 - Unknown 36 - Cyan 46 - Cyan 7 - Reverse 37 - White 47 - White
Pudiendo combinarlos, por ejemplo: fondo blanco, texto negro: \033[30;47m
Y ya que estamos ...esto es aplicable para Colorizar Bash Scripts:
#!/bin/bash
echo -en "\033[31m Texto en color rojo \033[0m\n"
echo -en "\033[30;47m Negro sobre Blanco \033[0m\n"
Para añadir un poco de color a nuestras vidas en CommandLine !!!
Ref.:
http://ubuntulife.wordpress.com/2011/04/10/los-codigos-de-color-en-bash/
http://praxis.edoceo.com/howto/bash
13 de agosto de 2013
Eliminando los banners del sevidor apache2
Editar el archivo:
# nano /etc/apache2/conf.d/security
y descomentar solo las lineas:
ServerTokens Minimal
ServerSignature Off
TraceEnable Off
y reiniciar apache2
# service apache2 restart
Ahora ya no aparecerán banners con información del servidor apache2 ni del sistema operativo de la máquina al producirse algún error.
Ref.:
http://www.securityartwork.es/2012/02/22/bastionado-de-un-servidor-web-apache-i/
# nano /etc/apache2/conf.d/security
y descomentar solo las lineas:
ServerTokens Minimal
ServerSignature Off
TraceEnable Off
y reiniciar apache2
# service apache2 restart
Ahora ya no aparecerán banners con información del servidor apache2 ni del sistema operativo de la máquina al producirse algún error.
Ref.:
http://www.securityartwork.es/2012/02/22/bastionado-de-un-servidor-web-apache-i/
12 de agosto de 2013
Python: letra ñ de UTF-8 a LATIN-1
En un script en Python con codificación UTF-8, necesito la letra 'ñ' con codificación Latin-1 ...
¿Como paso la letra ñ de UTF-8 a Latin-1?
#!/usr/bin/python
# -*- encoding: utf-8 -*-
enieUtf8 = 'ñ'
enieLat1 = 'ñ'.decode("utf-8").encode("latin1","ignore")
Por supuesto que la letra 'ñ' del script se puede sustituir por cualquier otro caracter o variable para su recodificación en Latin-1.
¿Como paso la letra ñ de UTF-8 a Latin-1?
#!/usr/bin/python
# -*- encoding: utf-8 -*-
enieUtf8 = 'ñ'
enieLat1 = 'ñ'.decode("utf-8").encode("latin1","ignore")
Por supuesto que la letra 'ñ' del script se puede sustituir por cualquier otro caracter o variable para su recodificación en Latin-1.
11 de agosto de 2013
Cambiar directorio de MySQL y apparmor
En la entrada de misnotaslinux:
Bases de datos MySQL distribuidas en memoria USB
Bases de datos MySQL distribuidas en memoria USB
describía una técnica muy sencilla, que había utilizado con éxito para cambiar los directorios de trabajo de las bases de datos de MySQL, pudiendo alojarlos en memorias USB u otras unidades de disco.
Al intentar esto en mi nanoservidor domo, con Xubuntu 13.04: NO ha funcionado.
La razón es que Xubuntu tiene activado apparmor, que es un sistema de seguridad que bloquea el uso irregular de directorios extraños.
Al intentar cambiar el directorio de trabajo de MySQL a otra unidad, direccionándolo mediante un enlace, appArmor no lo permite.
Apparmor esta en SuSe y Ubuntu.
Protocolo:
# cp -a /var/lib/mysql /mnt/otraunidad
# mv /var/lib/mysql /var/lib/mysql.bck
# ln -s /mnt/otraunidad/mysql mysql
# service restart mysql
... esto no funciona a no ser que inactivemos appArmor para mysqld.
Solución 01:
# aptitude install apparmor-utils
# aa-complain /usr/sbin/mysqld
# service apparmor restart
# service apparmor restart
# service mysql restart
.. y ahora funciona mysql usando como directorio de trabajo /mnt/otraunidad/mysql
Con aa-complain hemos cambiado el protocolo de appArmor para mysqld y no lo bloquea sino que solo logea cuando ve algún comportamiento sospechoso como usar una directorio de trabajo diferente.
Solución 02:
Cambiar el perfil apparmor para mysqld:
# nano /etc/apparmor.d/usr.sbin.mysqld
añadimos las siguientes reglas para la nueva localización de la carpeta de MySQL:
/mnt/otraunidad/mysql/ r,
/mnt/otraunidad/mysql/** rwk,
# service apparmor restart
# service mysql restart
# service mysql restart
Esta solución es mas elegante ya que no desactivas las medidas de seguridad de appArmor para MySQL.
Ref:
Cambiar ruta de MySQL con apparmor: http://www.ubuntu-es.org/node/113525#.UgbW6dJ7LzY
8 de agosto de 2013
Python: Encoding UTF8
Si en los scripts Python utilizas acentos, eñes u otros caacteres no ASCII me aparecen el error:
SyntaxError: Non-ASCII character '\xc3' in file ./yourPytonScript.py line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Para solucionarlo hay que indicar el encoding al principio del script python
#!/usr/bin/python
# -*- encoding: utf-8 -*-
...
SyntaxError: Non-ASCII character '\xc3' in file ./yourPytonScript.py line 4, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Para solucionarlo hay que indicar el encoding al principio del script python
#!/usr/bin/python
# -*- encoding: utf-8 -*-
...
Ref.:
3 de agosto de 2013
Python: fecha y hora actual
#!/usr/bin/python
import datetime
now = datetime.datetime.now()
print now
Result:
2013-08-03 01:32:27.711721
Para formatear la salida de la fecha:
import time
datetime.datetime.now().strftime('%d/%m/%Y')
Ref.:
http://www.pythonforbeginners.com/basics/python-datetime-time-examples/
http://www.tutorialspoint.com/python/time_strftime.htm
import datetime
now = datetime.datetime.now()
print now
Result:
2013-08-03 01:32:27.711721
Para formatear la salida de la fecha:
import time
datetime.datetime.now().strftime('%d/%m/%Y')
Ref.:
http://www.pythonforbeginners.com/basics/python-datetime-time-examples/
http://www.tutorialspoint.com/python/time_strftime.htm
Suscribirse a:
Entradas (Atom)








