martes, 24 de mayo de 2016

Cargar script postgres desde consola

Esto lo apunto aquí porque ya van varias veces que ha sido necesario hacerlo y siempre se me olvida como, nada como hacer uso de la vieja y buena bitácora.

Aquí el ejemplo tan codiciado:

psql -h -U -W -f

Un ejemplo real sería:

psql -h localhost -U usuario_postgres -W -f miscript.sql mi_basedatos

La entrada donde se inspiró la actual:

Clic Aquí

De nuevo saludos Javer@s!!!

Substituir texto en archivo desde consola Linux

Esto es algo que generalmente es necesario hacer y que nunca está de más tenerlo a la mano

yo@milinux$ sed "s/#FF0000/#0000FF/g" main.css

RECOMENDACIÓN 
Acá una pequeña aclaración, ya que originalmente en lugar de comilla doble tenía comilla simple y no me estaba funcionando ya, no se si sea por una actualización al comando o el bash o algo raro. Les recomiendo utilizar comilla simple (') y si no funciona comilla doble (") para delimitar la expresión.

El comando sed reemplaza una cadena y ahora lo redireccionamos a un nuevo archivo para que quede sustituido:

yo@milinux$ sed "s/#FF0000/#0000FF/g" main.css > nuevo_min.css

Aquí la entrada donde se inspiró la actual...


Saludos Javer@s!

martes, 14 de abril de 2015

Editores de texto ligeros para desarrolladores

HOla!

Aquí andamos compartiendo un a liga interesante que habla de editores ligeros de texto para desarrolladores.

Después de aquellos legendarios editores en modo texto, de los cuales algunos siguen vigentes sin embargo ya en un considerable desuso en comparación con sus épocas de gloria, por ejemplo: vim, emacs, o entornos específicos de los lenguajes como Borland Turbo C++, Borland Turbo Pascal, Q-Basic, qBasic, entre otros, todos ellos en modo texto.

Conforme el mundo de los entornos gráficos se fue adueñando de las PC's también los entornos se fueron convirtiendo en herramientas bastante poderosas y diversas, repletos de monerías que prometían arreglarnos todos nuestros problemas al programar y hacernos super eficientes, casi programar por nosotros.... casi...

Y así ya hemos visto entornos como VisualStudio .Net, Borland Builder C++, Delphi, Eclipse, NetBeans , entre otros... como características esta lo grandes que son, la cantidad de cosas que te ofrecen y la lentitud con que se ejecutan.

Precisamente ese contra ha sido lo que ha hecho que muchos programadores, de repente buscando opciones más simples, hayan volteado de nuevo a los editores ligeros, pero ¡por favor! algo más que el notepad  ... jeje..

Entre varios que he utilizado y visto están: gedit, notepad++, plusEdit, Kate (Kwritte), y los que yo considero como de la nueva generación de editores: atom, brackets, light table, sublime-text. Este último que ha gozado de una reciente popularidad entre muchos programadores de lenguajes web como PHP, Groovy on Rails, etc.

Creo que se presentan como una gran alternativa y algo que llegó para quedarse, hacer a un lado de vez en cuando las grandes IDE's de programación y usar editores ligeros.

El siguiente articulo habla precisamente de estos editores ligeros y fue la inspiración de esta entrada.

Clic Aquí

Aqui un enlace de como instalar Sublime-text en Linux, no es ninguna preferencia es simplemente que la cuiriosidad de instalar esta aplicación en mi máquina fue lo que me llevó a la cuestión de esta entrada:

Instalando sublime en linux ubuntu


Saludos Javer@s!

miércoles, 25 de marzo de 2015

Optimizar NetBeans

Para optimizar NetBeans que por lo general se siente pesado podemos desactivar los plugins que tiene instalados, por defecto y no vayamos a usar. Para ello haremos:

  1. Ir a Herramientas -> Complementos->Pestaña "Instalado".
  2. Seleccionar el checkbox del plugin a desactivar.
  3. Se activa el botón Desactivar en la parte inferior.
  4. Pulsar botón y listo. Ahora es necesario reiniciar el IDE. 
Hay que tener cuidado con que plugins desactivamos, hay plugins importantes dependiendo lo que uno programe, por ejemplo, si estas programando en PHP no se te vaya a ocurrir desactivar la pestaña de editor de PHP porque puedes dejar de incluir opciones importantes para el uso de PHP en tu IDE. 

En mi caso he desactivado plugins de frameworks (Symphony) que no utilizo o versionadores (CVS, Mercurial) que tampoco uso.

Así mismo se recomienda desactivar el escaneo automático. Para desactivarlo:
  1. Ir a Herramientas -> Opciones -> pestaña "Varios" -> subpestaña "Archivos".
  2. Desactivar el checkbox de "Habilitar auto-escaneo de fuentes".
Esta información la he sacado de este enlace el cual explica un poco más a detalle las acciones que se realizan. Muy útil y a lo cual agradezco mucho la información porque es de mucha ayuda aligerar el NetBeans, sobre todo en computadoras que no tienen tantos recursos disponibles.


¡Saludos javer@s!

Dando color y vida al prompt de consola linux

Comparto mi archivo .bashrc ubicado en mi directorio home de linux /home/vagabundo/ o ~/ con la configuración para mostrar colorcitos en la consola, sobre todo para todos aquellos que como yo la utilizamos como herramienta diaria linuxera:

_______________________________________ archivo .bashrc____
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
    else
color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# .bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
#if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
#    . /etc/bash_completion
#fi
#Muestra el Fortune del dia
fortune
________________________________________

Para más información de como personalizar las opciones de color aquí una página muy interesante e ilustrativa...

Aquí para acceder al enlace

¡A darle color a la vida javer@s!




Instalar y personalizar vim en CentOS

En realidad instalar VIM es muy fácil con la herramienta YUM :

yum install vim-X11 vim-common vim-enhanced vim-minimal

Como extra también aquí para instalarlo en ubuntu:

sudo apt-get install vim

Una vez hecho esto podemos cambiar nuestro archivo de configuración de vim '.vimrc ' el cual debe estar en nuestro directorio raíz de nuestro usuario en linux, este es un ejemplo que pueden usar, en caso de que no exista el archivo lo pueden crear:

set history=700          " Define cuantas lineas VIM recuerda en su history
                                        
set nocompatible
colo delek
syntax on         "Muy importante para activar el atractivo syntax highlight

set showmode

set autoindent
set smartindent
set backspace=eol,start,indent

set expandtab
set tabstop=4
set shiftwidth=4
set ruler

set number
set ignorecase
set smartcase
set hlsearch
set backup
set backupdir=~/vim/tmp/
set nowrap
set laststatus=2
set cmdheight=2

Aquí la página referencia de esta entrada:

Aquí para entrada en el sitio del autor original

¡Saludos javer@s!

Usando EXPLAIN para analizar consultas en MySQL

El uso de la herramienta EXPLAIN en MySQL es muy simple:

mysql> explain select * from tabla_x;
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
| id | select_type | table   |type  | possible_keys | key  | key_len | ref  | rows | Extra |
+----+-------------+---------+------+---------------+------+---------+------+------+-------+
|  1 | SIMPLE      | tabla_x | ALL  | NULL          | NULL | NULL    | NULL | 1002 |       | 
+----+-------------+---------+------+---------------+------+---------+------+------+-------+

Aquí podemos analizar algunos datos con respecto a nuestra consulta para optimizar nuestros queries sean simples, compuestos (digase con JOIN's y así) o muy complejos xD .

Entre algunas cosas que podemos observar es si usa llaves o indices, el numero de filas que estaría leyendo de la base de datos esa consulta. Por ejemplo un valor que deberíamos evitar en nuestras consultas es el campo 'type' con 'ALL' esto quiere decir que está leyendo la fila completa y no se remite a un campo en particular o a una llave en un índice, por lo tanto la consulta será más lenta que si hacemos uso de alguna de estas alternativas de optimización.

En esta página encontré varios ejemplos bastante ilustrativos y una explicación de cada campo del comando EXPLAIN que pueden consultar para más detalle:

Aquí

También pueden acceder a la ayuda de MySQL en internet.

¡Mucha suerte con sus consultas complejas! la necesitarán ;)

¡Saludos javer@s!