Archive for the 'Programacion' Category

netstat -putona: Un comando que no olvidarás para monitorizar las conexiones en Linux

putona

Es un comando cuya curiosa combinación de parámetros descubrí hace unas cuantas semanas y tenía pendiente escribir un pequeño post sobre el mismo, pero en Martin Juarez me lo he encontrado perfectamente explicado.

El comando netstat nos permite visualizar las conexiones entrantes y salientes en Linux, con este comando por ejemplo
podemos saber que puertos utiliza un determinado proceso.

Una combinación de parametros muy fácil de recordar (porque será ^^) y que nos da mucha información es la siguiente:

$ netstat -putona

Donde los parametros vienen a significar lo siguiente:

p Muestra las conexiones para el protocolo especificado que puede ser TCP o UDP
u Lista todos los puertos UDP
t Lista todos los puertos TCP
o Muestra los timers
n Muestra el numero de puerto
a Visualiza todas las conexiones activas del sistema

Por ejemplo: para saber que proceso ocupa el puerto 1521 podriamos usar:

netstat -putona | grep :1521

Si tambien queremos eliminar las conexiones a un determinado puerto o host, podriamos usar el comando tcpkill.

Por cierto la versión para chicas podria ser: netstat -capullo

RoboMongo: Herramienta de administración para MongoDB

robomongo

Si trabajas con la base de datos MongoDB, puede que ésta utilidad te sea de interes. Disponible para Windows, Linux y Mac te permite trabajar más comodamente desde una GUI y administrar la base de datos. Puedes descargarla desde el siguiente enlace. Escribi un articulo sobre MongoDB hace algún tiempo pero hay tambien muy buena documentación en el sitio principal.

Relacionado | Una introducción a MongoDB

Ejecutar PLSQL desde shell script y guardar los resultados en variables

oracle

En dbaspot encuentro un buen ejemplo de script de como ejecutar un procedimiento PLSQL desde bash y como almacenar los resultados de las consultas en variables. Éste seria un ejemplo (adaptado para usar mi base de datos Oracle XE):


#!/bin/bash

#OUTPUT=$(sqlplus -s '/ as sysdba' <<-EOF
OUTPUT=$(sqlplus -s system/manager@XE <<-EOF
set heading off feedback off serveroutput on trimout on pagesize 0

select instance_name from v\$instance;
select version from v\$instance;

declare
i number := 0;
begin
while i < 3 loop
dbms_output.put_line('Parametro_PLSQL_' || i);
i := i+1;
end loop;
end;
/
EOF
)

# Sin dejar espacios pq los espacios son los nuevos parametros

INSTANCE=$(echo $OUTPUT | awk '{ print $1 }')
VERSION=$(echo $OUTPUT | awk '{ print $2 }')
ARG1=$(echo $OUTPUT | awk '{ print $3 }')
ARG2=$(echo $OUTPUT | awk '{ print $4 }')
ARG3=$(echo $OUTPUT | awk '{ print $5 }')

echo "Database: $INSTANCE":wr
echo "Version: $VERSION"
echo "Arg1: $ARG1"
echo "Arg2: $ARG2"
echo "Arg3: $ARG3"

Aqui puedes adaptarlo para tus propios ejemplos. Lo más importante la cadena de conexión, yo al usar Oracle XE tengo (system/manager@XE), en tu base de datos pon tu cadena usuario/password@SID. Despues que tambien los parametros devueltos no tengan espacios, pues al asignarlos a variables, el espacio es utilizado como separador. En el script hay una parte donde se devuelve una columna directamente de una select y esta es asignada a una variable de la shell, y otra parte donde se escribe el parametro con el paquete dbms_output.

XlsxWriter: Módulo Python para crear ficheros Excel

xlsx

 

Llevo unos cuantos días utilizando XlsxWriter y me está sorprendiendo gratamente. Tiene un API muy sencillo y te permite fácilmente crear desde Python, hojas Excel en formato .xlsx y con prácticamente todas las funcionalidades que necesitarás: Creación y Manejo de diferentes tabs, inserción de imágenes, generación de gráficos, diferentes formatos, tablas, autofiltros, uso de fórmulas y mucho más.

Crearia un tutorial de uso, pero la documentación es tan buena y completa que sólamente tendrás que ir siguiendo los diferentes ejemplos que comenta para ir conociendo y explotando sus posibilidades.

Usar esquemas de colores en Console2

schema_color_console

Y si hace unos días comentaba como usar esquemas de colores con Mintty. Con Console2 tambien se puede, aunque cambia un poco la forma de hacerlo. En éste caso (y si por ejemplo quieres usar el esquema de colores Solarized) deberas localizar el fichero “console.xml” que suele estar en el directorio de instalación, y reemplazar la sección <colors>..</colors> por lo siguiente:

<colors>

   <color id="0" r="7" g="54" b="66"/> <!-- black -->
   <color id="1" r="38" g="139" b="210"/> <!-- blue -->
   <color id="2" r="133" g="153" b="0"/> <!-- green -->
   <color id="3" r="42" g="161" b="152"/> <!-- cyan -->
   <color id="4" r="220" g="50" b="47"/> <!-- red -->
   <color id="5" r="211" g="54" b="130"/> <!-- magenta -->
   <color id="6" r="181" g="137" b="0"/> <!-- yellow/brown -->
   <color id="7" r="238" g="232" b="213"/> <!-- white -->
   <color id="8" r="0" g="43" b="54"/> <!-- brblack -->
   <color id="9" r="131" g="148" b="150"/> <!-- brblue -->
   <color id="10" r="88" g="110" b="117"/> <!-- brgreen -->
   <color id="11" r="147" g="161" b="161"/> <!-- brcyan -->
   <color id="12" r="203" g="75" b="22"/> <!-- brred -->
   <color id="13" r="108" g="113" b="196"/> <!-- brmagenta/violet -->
   <color id="14" r="101" g="123" b="131"/> <!-- bryellow -->
   <color id="15" r="253" g="246" b="227"/> <!-- brwhite  -->
</colors>
Reinicias y listo.
Visto en | Curlybrace

Cambiar el schema de color en Mintty

Por desgracia no siempre puedo usar Linux, entonces, cuando me toca utilizar Windows siempre me procuro (si puedo) primero instalar Cygwin, y después usar una terminal que me haga más cómodo mi trabajo.

He probado prácticamente todas las opciones posibles: Console2, Poderosa, MobaXterm, etc, etc… Console2 me gusto mucho por su soporte de Cygwin y pestañas, pero últimamente estoy usando Mintty y cubre con creces mis necesidades.

Me gusta su look minimalista, tiene la pega de que no soporta pestañas, pero no las echo en falta pues puedes poner la terminal a pantalla completa y pulsando Control+Tab ir cambiando entre las diferentes terminales Mintty abiertas. Y aqui ocho razones más.

Lo que voy a comentar aqui, es como cambiar el esquema de colores, asi puedes utilizar tu combinación de colores favorita cuando estés escribiendo en la terminal o editando algún archivo con “vim”.

Aqui algunos ejemplos:

Usando solarized.dark:

mintty_solarized_dark

Usando solarized.light:

mintty_solarized_light

Usando xoria:

mintty_solarized_xoria

Editando un archivo con vim:

mintty_vim

Si te “motiva” alguno, crear tus propios schemas es fácil. Tal y como cuentan en Solarized puedes crear en tu directorio HOME
un archivo .minttyrc al estilo:

ForegroundColour=131, 148, 150
BackgroundColour= 0, 43, 54
CursorColour= 220, 50, 47
Black= 7, 54, 66
BoldBlack= 0, 43, 54
Red= 220, 50, 47
BoldRed= 203, 75, 22
Green= 133, 153, 0
BoldGreen= 88, 110, 117
Yellow= 181, 137, 0
BoldYellow= 101, 123, 131
Blue= 38, 139, 210
BoldBlue= 131, 148, 150
Magenta= 211, 54, 130
BoldMagenta= 108, 113, 196
Cyan= 42, 161, 152
BoldCyan= 147, 161, 161
White= 238, 232, 213
BoldWhite= 253, 246, 227

donde defines los colores a utilizar. Entonces reinicias mintty para que tome los cambios. O en su defecto creas un shell script que te los cargue directamente:

echo -ne '\e]10;#839496\a' # Foreground -> base0
echo -ne '\e]11;#002B36\a' # Background -> base03
echo -ne '\e]12;#93A1A1\a' # Cursor -> base1
echo -ne '\e]4;0;#073642\a' # black -> Base02
echo -ne '\e]4;8;#002B36\a' # bold black -> Base03
echo -ne '\e]4;1;#DC322F\a' # red -> red
echo -ne '\e]4;9;#CB4B16\a' # bold red -> orange
echo -ne '\e]4;2;#859900\a' # green -> green
echo -ne '\e]4;10;#586E75\a' # bold green -> base01 *
echo -ne '\e]4;3;#B58900\a' # yellow -> yellow
echo -ne '\e]4;11;#657B83\a' # bold yellow -> base00 *
echo -ne '\e]4;4;#268BD2\a' # blue -> blue
echo -ne '\e]4;12;#839496\a' # bold blue -> base0 *
echo -ne '\e]4;5;#D33682\a' # magenta -> magenta
echo -ne '\e]4;13;#6C71C4\a' # bold magenta -> violet
echo -ne '\e]4;6;#2AA198\a' # cyan -> cyan
echo -ne '\e]4;14;#93A1A1\a' # bold cyan -> base1 *
echo -ne '\e]4;7;#EEE8D5\a' # white -> Base2
echo -ne '\e]4;15;#FDFDE3\a' # bold white -> Base3

No es complicado crear tus propios esquemas de color.

Relacionado | Tips para Mintty | xoria256 para mintty

All Cheat Sheets para Chrome

CHEAT

Si usas Chrome, eres desarrollador y quieres tener a mano todas las “chuletas” de Java, Python, HTML, etc, etc… All Cheat Sheets es una buena extensión para Chrome que podrás instalar desde Chrome Store.

El comando “column”, ése gran desconocido

Éste pequeño tip te vendrá muy bien cuando programes en bash shell script p.ej y necesites mostrar de forma tabulada una serie de columnas de un listado. Hay varias formas de hacerlo, pero muchas veces te complicas con funciones o añadiendo espacios adicionales, controlando la longitud de las cadenas, cuando lo que buscas es algo más básico. Para ello podemos utilizar el comando “column” mediante una pipe.

Ejemplo: ejecuta desde la consola:

mount

Que te muestra la lista de puntos de montaje. Pero sale un poquito desorganizado, no?. Prueba ahora con:

mount | column -t

Mejor no?. Y por qué no usarlo con nuestras propios ficheros. P.ej crea un fichero llamado “ejemplo.txt” con el siguiente contenido:


aaa 12 1234 c
bbbbbbb 2222 234 cc
cccc 2345 333333333 ddddd

Para imprimirlo (por consola) de manera más formateada, puedes ejecutar:

cat ejemplo.txt | column -t

Seleccionar un registro aleatoriamente en Oracle

Digamos que quieres recuperar una columna de una tabla pero a partir de una fila recuperada aleatoriamente para tal vez hacer pruebas de tu código. Fácil, puedes ejecutar algo como lo siguiente:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Visto en | Pete freitag

[Video]: Creando tu primera aplicación para Ubuntu

En su blog, Jono Bacon nos muestra en un video como crear nuestra primera aplicación para Ubuntu. En el ejemplo un simple web browser donde se genera un nuevo proyecto, se personaliza la interface, se escribe algún código y se empaqueta. De interes para todos aquellos que queremos escribir nuestras propias aplicaciones. Nota: el video está en ingles.

Enlace | Jono Bacon | Youtube



The next version of Ubuntu is coming soon


¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map
abril 2014
L M X J V S D
« mar    
 123456
78910111213
14151617181920
21222324252627
282930  

Blog Stats

  • 26,172,459 hits

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 1.013 seguidores