Base de datos NoSql. MongoDB

Enviado por cnicolas el 12 Febrero, 2013 - 20:34.

Las bases de datos NoSql son aquellas cuya principal lenguaje de consulta no es Sql, sus datos no se almacenan en tablas, sin embargo ofrecen un gran rendimiento en tiempo real con mucha información, de ahí que empresas como Amazom, Facebook, etc las usen habitualmente.
Una de las más conocidas es MongoDB que puede ser fácilmente instalable en Debian, para ello solamente tenemos que escribir en consola

#aptitude install mongodb

Una vez instalada la base de datos para conectarnos a ella nos basta con ejecutar

$mongo

Cuando nos conectamos a ella por defecto se usa una base de datos llamada 'test'. El tratamiento de datos es con sintaxis parecida a javascript, por ejemplo si tenemos una colección de usuarios para tener todos sus datos basta con

$db.usuarios.find()

Existen múltiples drivers para su conexión con lenguajes de programación tan diversos como php, python, C, Java o Ruby

Usando Slackware

Enviado por cnicolas el 22 Julio, 2012 - 09:57.

Slackware es la distribucion Linux mas veterana existene y personlmente junto a Gentoo una de las dos distribucines que se me han resistido a la hora de instalarlas, pero poco a poco empiezo a comprende su funcionamiento.
He efectuado una instalacion en una maquina virtual con 21GB, de los cuales he usado 1G para swap, 8 para / y el resto para /home (si, ya se que es mejorable esta particion). La instalacion es la tipiica de este sistema, al reiniciar, tenemos el sistema instalado con solo un usuario y tambien con KDE aunque si habilitar el entorno grafico, para ello hay que hacer algunos cambios, pero antes de ello prefiero actualizar el sistema , para elo elijo dentro de /etc/slackpkg/mirrors los reposistorios mas cercanos ( en mi caso España y Francia ). Paso a actualizar el sistema, con ago tan sencilo como

#slackpg update
#slackpkg upgrade-all

Tambien en este paso instalo la version corespondiente de jdk para poder programar con ella

Gestor de ventanas Icewm

Enviado por cnicolas el 23 Enero, 2012 - 14:25.

Icewm es uno de los gestores de ventanas más antiguos que existen, data de 1997, fue escrito inicialmente en C++ y es ligero en cuanto a uso de memoria y de procesador, su interfaz de usuario recuerda a SO como OS/2 y Windows95. Es muy configurable mediante la edición de archivos de texto.
Su instalacion es bien sencilla ya que se encuentra en los repositorios de Debian, por tanto nada más fácil que

# aptitude install icewm

Para personalizarlo nos basta con crear en el usuario una carpeta oculta .icewm. Dentro de esta carpeta nos podemos encontrar lo siguiente:

$ ls -l
-rw-r--r-- 1 carlos carlos 117 dic 2 13:17 keys
-rw-r--r-- 1 carlos carlos 118 dic 2 13:40 menu
-rw-r--r-- 1 carlos carlos 82 dic 2 13:21 preferences
-rwxr-xr-x 1 carlos carlos 83 dic 1 12:36 startup
-rw-r--r-- 1 carlos carlos 30 dic 2 07:58 theme
drwxr-xr-x 3 carlos carlos 4096 dic 1 16:45 themes
-rw-r--r-- 1 carlos carlos 440 dic 2 12:40 toolbar

Configurando nano

Enviado por cnicolas el 30 Noviembre, 2011 - 10:31.

Dentro de los editores de texto en consola uno de los más habituales es nano, es probablemente el más sencillo de usar, ya que sigue la filosofía de WYSIWYG (lo que ves es lo que obtienes), pero que sea sencillo no significa que no podamos personalizarlo un poco para que su uso nos sea más comodo.
Una de las primeros detalles es crearse un alias en .bashrc de este tipo

alias nano="nano -c"

Al pasar por defecto el parametro -c nos muestra constantemente información de donde esta el cursor, de las lineas del fichero, etc.
Tambien podemos crearnos un archivo de configuración en la $HOME de nuestro usuario, éste debe tener el nombre de .nanorc. En mi caso el archivo creado es este


## Here is an example for nanorc files.
##
set backup
set backupdir "/home/carlos/backup/"
set mouse
set nonewlines
set nowrap
set tabsize 4

syntax "nanorc" "\.?nanorc$"
## Possible errors and parameters

Debian en ordenador de bajas prestaciones

Enviado por cnicolas el 14 Septiembre, 2011 - 08:20.

Esta es la experiencia de instalar debian squeeze en una maquina virtual con pocas prestaciones, en concreto un disco duro de 5G y una memoria RAM de 256M. El objetivo ha sido instalar un equipo en el que se pueda usar las tareas cotidianas sin perder por ello ni rapidez a la hora de ejecutarlas ni comodidad.
Para ello lo primero es no instalar un entorno de escritorio sino un gestor de ventanas liegero facilemten modificable que permita lanzar mediante atajos de teclado todo lo que instale. El elegido ha sido scrotwm.
He partido de una instalacion basica realizada con el netinstall al cual le he añadido el servidor grafico y el gestor de ventanas. No he instalado ningún gestor de sesiones, si no que he creado un fichero .xinitrc simple

exec scrotwm

Tambien he añadido en el fichero .profile del usuario con el que se conecta lo siguiente

if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then

Algo mas sobre vim

Enviado por cnicolas el 8 Julio, 2011 - 09:47.

Vim es un editor sencillo en consola pero con multiples funcionalidades que pueden mejorar su uso.
Una de estas funcionalidades es el resaltado de sintaxis, algo muy útil si se esta programando ya que ayuda de forma muy rapida a detectar posibles errores de sintaxis en el programa escrito.
Para que vim tenga resaltado de sintaxis es necesario crear una carpeta .vim en la $HOME del usuario en cuestion, de ésta manera podemos incluso hacer que distintos usuarios puedan tener distintos resaltados, algo especialmente util en grupos de trabajo donde cada programador programa en un determinado lenguaje.
En este carpeta es necesario crear un archivo filetype.vim. Un ejemplo puede ser este que tengo en una maquina virtual

if exists("did_load_filetypes")
finish
endif
let did_load_filetypes = 1

" Line continuation is used here, remove 'C' from 'cpoptions'
let s:cpo_save = &cpo
set cpo&vim

augroup filetypedetect

" Ignored extensions
if exists("*fnameescape")

Debian como servidor antivirus

Enviado por cnicolas el 15 Junio, 2011 - 11:01.

Aunque en un sistema Linux ( en general los tipo *nix) y debido al uso de los usuarios root resulta casi imposible contaminarse con un virus, no confundir con un troyano o un rootkit aunque estos últimos tambien son dificiles de contagiarse, es bastante posible que nos encontremos con querer instalar un servidor antivirus para usarlo en maquinas en red con sistemas Microsoft.
Para la prueba he usado una maquina virtual vmware con anfitrion Windows Xp y en la maquina virtual Debian squeeze, asimismo hay una carpeta compartida en ambas maquinas que se encuentra en formato ntfs que sera la carpeta a escanear con el antivirus
El antivirus elegido es clamav, este puede instalarse desde la pagina web o desde los repositorios, personalmente prefiero la segunda opción aunque la versión sea mas desactualizada, la instalacion es bien sencilla

# aptitude install clamav-base clamav-daemon clamav-data

Gestor de ventanas Scrotwm

Enviado por cnicolas el 14 Abril, 2011 - 08:56.

Scrotwm es un gestor de ventanas ligero baso en xmonad y en dwm aunando las buenas capacidades de ambos además de estar escrito en C. Inicialmente se desarrollo para OpenBSD, pero posteriormente se portó o otros sistemas. En Debian se encuentra en los repositorios asi que para instalarlo solo debemos teclear en nuestra consola preferida logeados como root

#aptitude install scrotwm

Por defecto instala un archivo de configuracion llamado scrotwm.conf en /etc. Si queremos personalizarlo debemos de llevarlo a nuestra home y renombrarlo llamandolo .scrotwm.conf
La sintaxis de este fichero es muy parecida a otros ficheros de configuración de gestores como por ejemplo ratpoison. Es bastante intuitiva a diferencia de la configuración de awesome que es un poco mas complicada
Una vez modificada, un ejemplo simple puede ser este

# $scrotwm: scrotwm.conf,v 1.22 2009/11/25 15:13:29 marco Exp $
#

Gestor de ventanas tiling xmonad

Enviado por cnicolas el 31 Enero, 2011 - 15:18.

Dentro de los variados gestores de ventanas disponibles para sistemas operativos GNU/Linux existe un grupo de gestores que permiten hacer 'tiling', es decir redimensionar el tamaño de las ventanas de forma dinámica. Alguno de estos son por ejemplo awesome o vmii. Otro de ellos un poco menos conocido pero no menos importante es Xmonad. Su instalación y uso no es complicada, para instalarlo basta algo tan sencillo como

# aptitude install xmonad

Es un gestor minimalista por defecto solo tiene el control de las ventanas y el lanzamiento de la terminal, pero esto se puede configurar facilmente. Por ejemplo no tiene una barra de panel pero se le puede añadir fácilmente una barra como es xmobar, para ello

# aptitude install xmobar

Testeo de servidor web

Enviado por cnicolas el 2 Diciembre, 2010 - 10:05.

He estado probando como testear un servidor web, lo primero ha sido buscarme un servidor web ligero cuya instalacion sea bien sencilla y no haya mucho que configurar, para ello he elegido boa, un servidor web disponible en los repositorios de debian cuya instalacion es tan simple como

#aptitude install boa

Por defecto el servidor se arranca en el puerto 80, lo cual me viene bien para la prueba de testeo, lo único que he hecho es crear una pagina index.html sencilla en la ruta por defecto para que al entrar en la direccion http://localhost:80 muestre la pagina creada.
Para hacer las pruebas de testeo del servidor me valgo de la herramienta httest igualmente disponible en debian como package al menos en sid que es la rama en la cual estoy probando.

Distribuir contenido