Archivo de la categoría: Informatica

Configurar php en nginx con ubuntu 16.04

Esto está probado directamente en ubuntu 16.04, php5.6 y php5.6-fpm. Aunque es probable que funcione en algunas versiones inferiores. Las configuración se trabaja a partir del supuesto que ya se encuentra Nginx, php5.6 y php5.6-fpm instalado y además, que trabajamos con el sitio de pruebas “prueba.local” en nginx y su contenido se encuentra en /var/www/html

1) Abrir /etc/php/5.6/fpm/pool.d/www.conf y verificar el parámetro de “listen”
listen = /var/run/php5-6-fpm.sock
2) El parametro “listen” debe ser igual al que se le entrega a fastcgi_pass en el nginx.conf
fastcgi_pass unix:/var/run/php5-6-fpm.sock;
3) Verificar que el socket exista.
$ file /var/run/php5.6-fpm.sock
/var/run/php5.6-fpm.sock: socket
4) Si el socket no existe, quiere decir que php5.6-fpm no esta corriendo por lo que debes iniciarlo.
$ sudo /etc/init.d/php5-fpm start
5) Verificar que el archivo de parametros “fastcgi_params” exista:
$ file /etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params: ASCII text

Nota: fastcgi_params es un archivo de variables requeridas por php5.6-fpm. Nginx incluye dos posibles archivos de estos parametros: fastcgi_params y fastcgi.conf. La diferencia entre éstos es la definición la variable SCRIPT_FILENAME:
$ diff fastcgi_params fastcgi.conf
1a2
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi.conf siempre debería funcionar. Si por alguna razón estas utilizando fastcgi_params, deberías definir SCRIPT_FILENAME en el siguiente paso.

6) Finalmente, en el archivo de configuración del servidor dependiendo de cual sea tu sitio agregar la configuración del listener php5.6-fpm
$ sudo nano /etc/nginx/sites-available/prueba.local

location ~ \.php$ {
include fastcgi_params;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5.6-fpm.sock;
fastcgi_index index.php;
# SOLAMENTE si estas utilizando fastcgi_params y con el .conf
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

Con toda la configuracion lista, reiniciar la configuracion de nginx

$ sudo nginx -s reload

o tambien

$ sudo initctl nginx restart & sudo initctl php5.6-fpm restart

Borrar clave primaria junto con indice en oracle

Hace un par de días experimente un problema borrando una clave primaria de una tabla. Mi objetivo era agregar una nueva columna a la tabla y re definir la clave primaria y el indice básico de la tabla.

El problema fue que al eliminar la clave primaria, el indice no se borraba en conjunto con ella como es común, sino que por el contrario solo se eliminaba la clave primaria y el indice atado a ella quedaba ahí. Ésto me producía un conflicto posterior en el script, pues al crear la clave primaria con el antiguo nombre, me arrojaba error puesto que el objeto con ese nombre “ya existía”. En efecto… Pues el indice aun estaba ahí.

Porque sucede?
Sucede cuando el indice de una clave primaria no es creado al mismo tiempo que ésta misma. Entonces, cuando se borra la clave primaria oracle asume que el indice no se debe tocar.

Como solucionarlo?
Fácil, solamente verifica después de borrar la clave primaria que el indice ha sido eliminado también. Podrías usar algo como lo siguiente:

begin
select ‘S’
into vExiste
from SYS.dba_objects
where OBJECT_TYPE = ‘INDEX’
and upper(OBJECT_NAME) = ‘NOMBRE_DEL_INDICE’;
exception
when others then
vExiste := ‘N’;
end;

if (vExiste = ‘S’) then
EXECUTE IMMEDIATE ‘DROP INDEX NOMBRE_DEL_INDICE’;
end if;

Fuente:
http://www.vertabelo.com/blog/technical-articles/why-does-oracle-sometimes-not-drop-an-index-associated-with-a-primary-key-or-unique-constraint

Configurar prompt ubuntu

Para cambiar el prompt por defecto en ubuntu debemos utilizar el comando “chsh” lo que nos permitirá cambiar el shell de login. Por defecto ubuntu trae bash por lo que si quisiéramos cambiar a zsh utilizaríamos la ruta: /usr/bin/zsh

¿Que es Composer?

Composer es una de las herramientas fundamentales en php a la hora de instalar dependencias de proyectos en Linux para montar un ambiente de desarrollo fácil y de manera correcta, me he tomado la libertad de traducir la introducción oficial a Composer que nos aclarara dudas al respecto y nos demostrara como instalarlo en nuestra maquina.

composer

Introducción
Composer es una herramienta para administración de dependencias en PHP. Te permite declarar las librerías de las cuales tu proyecto depende o necesita y éste las instala en el proyecto por ti.

Composer no es un administrador de paquetes. Si el trata con “paquetes” o librerías, pero las gestiona en función de cada proyecto, instalándolas en un directorio dentro de tu proyecto. Por defecto nunca instalara algo global mente. En consecuencia, es un administrador de dependencias.

La idea no es nueva y Composer esta fuertemente inspirado por el NPM de node and el bundler de Ruby. Pero no ha existido tal herramienta para PHP.

Los problemas que Composer resuelve son estos:

a) Tu tienes un proyecto que depende de un numero de librerías.
b) Algunas de esas librerías de penden de otras librerías.
c) Tu declaras las cosas de las cuales dependes.
d) Composer busca las versiones de estos paquetes necesitas instalar, y las instala (las descarga en tu proyecto).

Declarando dependencias

Digamos que estas creando un proyecto, y necesitas una libreria que haga logging. Decides usar monolog, para agregarlo
a tu proyecto, todo lo que nesesitas hacer es crear un archivo “composer.json” que describa las dependencias del proyecto.

{
“require”: {
“monolog/monolog”: “1.2.*”
}
}

 

Estamos simplemente declarando que nuestro proyecto requiere algún paquete monolog/monolog, cualquier versiones que comience con 1.2

 

Requerimientos del Sistema

Composer requiere PHP 5.3.2+ para correr. Unas cuentas configuraciones php y compilar banderas también es requerido, pero el
instalador te informara de cualquier incompatibilidad.

Para instalar paquetes de fuentes en vez de simples archivos zip, nesesitaras git, svn o hg dependiendo de como el paquete este siendo
controlado por versiones.

Composer es multiplataforma se lucha para hacerlo correr igual de bien en Windows, Linux y OSX

 

Instalación en Linux
Descargando el ejecutable de composer

Localmente:
Para obtener composer, debemos hacer dos cosas. Lo primero es instalar composer (de nuevo, esto significa descargarlo en tu proyecto)

$ curl -sS https://getcomposer.org/installer | php

Puedes instalar composer a un directorio especifico usando la opcion “–install-dir” y proveyendo un directorio objetivo (éste puede ser un path relativo o absoluto)

$ curl -sS https://getcomposer.org/installer | php — –install-dir=bin

Globalmente:
Tu puedes poner este archivo en donde tu desees, si tu lo pones en tu PATH, puedes accederlo globalmente. En sistemas unix incluso tu puedes ejecutarlo e invocarlo sin php.

Puedes correr estos comandos para acceder fácilmente a composer desde cualquier parte de tu sistema

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer

Nota: Si lo de arriba falla debido a persmisos, corre la linea MV otra vez con sudo.

Después, solo corre “composer” en orden para correr Composer en lugar de “php composer.phar”

 

Fuente: Pagina Oficial

@gnzandrs

Tema WordPress con Skeleton

html5boilerplate

Sin duda alguna el uso de Html5 en la web ya no es una cosa de juegos, ni mucho menos un “lujo”, es algo esencial en una web que esta enfocada al web 2.0 y más aún si esta dirigida a darle al usuario una navegación cómoda.

Seguramente muchos utilizamos para tareas de blogging el CMS WordPress, por su seguridad, comodidad y por esas personas que están dedicadas día a día a hacerlo aun mejor. Claro que surge la necesidad en muchos de adaptarlo a los estándares HTML5 y mejor aun si es posible a una sólida estructura que un FrameWork Frontend nos puede brindar.

En este caso les dejare el código para mezclar la potencialidad de:

WordPress + Html5 + Skeleton
 

wordpresyskeleton

 

Siendo Skeleton el Framework Frontend Html5 que utilizaremos en este código. Antes quisiera dejar en claro que esto no es llegar poner imágenes y subir, sino que por el contrario esta enfocado a ser una herramienta “boilerplate” para el desarrollador. Como es lógico también necesitara de su mano para adaptarlo a las necesidades de cada uno 😉

Partamos explicando lo básico de un skin en wordpress y finalmente podrán ver el código con la implementación de Skeleton.

Estructura de archivos para un tema wordpress

Cuando creamos un tema WordPress debemos tener los siguientes archivos:

style.css : Corresponde a la hoja de estilos que estamos aplicando al tema.

header.php : El encabezado de nuestra plantilla.

index.php : Cuerpo principal de la plantilla.

single.php : Utilizado para leer un articulo en particular.

footer.php : Pie de pagina de la plantilla.

archive.php : Se lanza cuando realizamos una búsqueda por algún criterio de articulo o autor en la web, muestra pre visualizaciones de los post.

page.php : Similar a single.php.

sidebar.php : Barra lateral.

functions.php : Funciones necesarias para el tema y el correcto funcionamiento de éste.

Si deseas profundizar en estos temas, pueden hacerlo en la siguiente dirección que les recomiendo.

Como crear un tema para WordPress

Ahora que conocemos la estructura básica de un tema, solo faltaría integrar ésta arquitectura con la de Skeleton, lo que puedes descargar y observar acá:

Descargar
 

pd: Son bienvenidas las correcciones y/o mejoras que puedan irse agregando en el Repositorio GitHub.

Saludos.

Herramientas para Gestión de Proyectos

La semana pasada me encontraba tratando de recordar el nombre de una herramienta case que había probado y visto hace un tiempo… la verdad es que no logre recordar cual era ni encontrarla, pero en el paso por tal agobiante tarea, me encontré con otros software que realizan lo mismo, la verdad es que para quien este ambientado en MS PROJECT o similares la utilidad es la misma; administración de tareas de proyecto, horas hombre, integrantes de proyecto, etc. Pero con la ligera diferencia que con mas amigables además de mas cool que tal software y contienen muchas otras bondades de acuerdo al siglo 21 ademas de ser online.

TeamBox

Algunas son completamente gratis y otras gratis solo hasta que decidas expandirle sus opciones, entre las cuales tenemos:

– Administración de tareas.
– Administración de recursos.
– Video Conferencia con equipos de software.
– Wiki.
– Foro.
– Alertas por Email.
– Graficos.

Entre otros..

www.teambox.com
www.do.com
www.projecturf.com
www.projectbubble.com
www.thrivesolo.com

Au Revoir! 🙂

Bordes Redondeados en Formularios con Internet Explorer

Como todo desarrollador debe haber experimentado en programación web tenemos un Nemesis bien definido, que lleva el nombre de Internet Explorer.. siendo que este villano a la hora de realizar efectos CSS simples que nos permiten un diseño de una mayor categoría nos presenta problemas de compatibilidad, aunque con las nuevas tecnologías y bondades que ofrece CSS3 y HTML5 se pueden realizar maravillas al vernos en la necesidad de utilizar una versión anterior a la de Internet Explorer como puede ser la 6 o 7 entramos en los conflictos para realizar este tipo de sutilezas como por ejemplo el famoso Borde Redondeado de los Input en un documento HTML lo que en CSS3 lo logramos en menos de dos palabras escritas..

Claro que buscamos formas siempre tendremos la mano de ayuda que nace de la creatividad de aquellos que se han encontrado en el mismo problema, lo que nos puede sacar de un apuro y muchas veces dar a volar nuestra imaginacion.

Entre las alternativas que tenemos para solucionar esto tenemos multiples como las siguientes:

Alternativa 1 – Utilizar una libreria JavaScript que nos permita emular el efecto de redondeado en versión inferiores.

Alternativa 2- Utilizar imágenes de fondo como redondeado.

Como siempre, debo decir que la opción que tomes debe ser especifica para el caso que tengas, osea la mas adecuada para la situación en que te encuentres.

Alternativa 1

Existen varias librerías javascript que nos permiten realizar este tipo de efectos en navegadores que no son compatibles con CSS3, pero el problema radica que algunas de estas librerías solo funcionan en algunos navegadores puntuales, vale decir tal vez en Internet Explorer 6, pero no 7 y 8. Me encontré con esta librería que es capaz de funcionar bajo IE 6,7 y 8 😉

CSS Pie permite:

border-radius
box-shadow
border-image
multiple background
linear-gradient

Para instalarlo, basta con bajarse el fichero PIE.htc, y ponerlo en alguna carpeta de nuestra web. Y para aplicar el estilo mediante CSS.

Alternativa 2

1. Primero empezaremos por definir el ancho de nuestro input, lo recomendable es que se realice por CSS pues de esta manera puedes tener un control mayor sobre el input y de manera mas global en caso de que desees aplicar lo mismo a otros input y así evitar la redundancia de código.

2. Necesitaremos de nuestro amigo photoshop (con licencia original OBVIO) o algún programa de edición de fotografía similar como gimp, una vez dentro creamos una imagen que se ajuste como fondo a las proporciones del ancho de nuestro input.. permiteme ilustrarte la idea.

Me comprendes mendez? de esta manera, daremos el efecto de que el input esta redondeado, pero solamente hemos añadido una imagen por detrás de este de el mismo color que el campo, que nos permite confundir al ojo y hacerle pensar que los bordes están redondeados.

Y el resto es historia, ahora solamente en css debemos asignarle esta imagen como imagen de fondo, y asignarle al input la clase que hemos desarrollado en css!

Y voilá! bordes redondeados en este navegador de mierda 😀

Recuperar Carpetas Ocultas por Virus

Debo decir que últimamente la moda de los Spywares o Virus en windows (especialmente lo que ataquen las unidades externas como pendrives o discos duros) es la de ocultar las carpetas haciéndonos creer que nos han borrado todo el contenido que teníamos  incluso en la ultima ocación me encontré con que deja las carpetas como “carpetas de sistema”  por lo tanto aunque pongamos mostrar archivos ocultos, no las podremos visualizar.. pero no desesperes.

– Como primer paso para comprobar que realmente no ha sido nada eliminado, nos dirigimos a Inicio/Equipo y seleccionar las propiedades del dispositivo con el clic derecho, podremos darnos cuenta la cantidad de espacio que se encuentra ocupado, del total del disco, deduciendo rápidamente si los archivos siguen ahí o no.

 

– De ser así  tenemos dos caminos, recuperarlos por medio de Linux o por medio de nuestra consola del mismo Windows (7 en este caso)

En Linux

Utilizaremos las herramientas de “chown” y “chmod” para manejar los permisos de los directorios.

1. Ejecutar una terminal

2. Conocer la ruta del directorio (ej: /mnt/media/TuDisco)

3. Aplicar permisos chown para cambiar el propietario del archivo a root.

chown -R root:root /mnt/media/TuDisco

4. Cambiar los permisos de ejecución del o los directorios dentro del disco.

chmod 777  /mnt/media/TuDisco

 

Mas ayuda sobre chown y chmod:

http://doc.ubuntu-es.org/Permisos#Cambio_de_permisos_de_forma_recursiva

 

En Windows 

1. Ejecutar una consola windows como administrador esto lo podemos realizar haciendo clic en el botón de inicio y posteriormente buscamos el programa “Símbolo del Sistema” en Accesorios y sobre este hacemos clic secundario y le damos a “Ejecutar como Administrador”

2. Nos posicionamos dentro de la carpeta o unidad en la que deseamos hacer visible sus carpetas ocultas (Ej:  cd f:) y aplicamos el siguiente comando:

attrib -s -h -r /s /d

Nota: de ser mucha información es posible que tome un rato.

Otra opción en windows seria utilizar un software llamado “USB SHOW” que sirve específicamente para solucionar este tipo de problemas, cabe destacar que estas formas deben ser aplicadas una vez que el disco ya se encuentre limpio de virus.

 

Bonsoir 😉

Encuentra las mejores oportunidades de empleo en las redes sociales

Sin ninguna duda la red ha supuesto un medio de amplia difusión y crecimiento en el terreno comunicativo, pero más allá de éste, cada día son más los sectores de diferentes actividades que se incorporan al uso de las herramientas propias del universo 2.0 para realizar sus negocios. De esta forma, campos como el que hace referencia al ocio, al turismo, o a las transacciones de compra y venta, han experimentado un giro de 360º desde los medios físicos a los digitales, al igual que la vida laboral.
Precisamente es en torno a este sector donde Internet se ha convertido en la plataforma perfecta, muy especialmente en los propios medios de Internet que hacen referencia en mayor medida a las relaciones humanas y profesionales, como son las redes sociales. Y es que justo estas redes, abanderadas de las compañías por su más que elevado número de usuarios para llegar a los clientes actuales o potenciales, son ya el escaparate perfecto para optimizar las oportunidades de contratación y contactos profesionales, tanto para quienes se encuentran ofertando empleo como para quienes lo demandan.

Las redes sociales suponen, de este modo, la forma más cómoda de llegar a demandantes de empleo para las empresas que ofrecen vacantes de trabajo que requieren cubrir, y la forma más eficaz de buscar el personal más cualificado, lo que las ha llevado en ocasiones a hacer un uso casi exclusivo de estas herramientas digitales. Estos motivos son algunos de los esenciales por los que todo aquel que desee buscar trabajo en la red, especialmente en campos relacionados con las nuevas tecnologías, la comunicación, o la creatividad, requiere de un conocimiento básico del uso de las redes sociales, de cara a no perder las posibilidades que ofrecen estas webs, que funcionan, en no pocas ocasiones, a modo de bolsa de trabajo en Internet.
Y es que si bien es posible emplearse a través de internet de forma más genérica, ya sea en portales de empleo especializados o atreviéndose a consultar los avisos gratis online, las redes sociales se han convertido en la herramienta imprescindible para acceder al trabajo que más deseamos conseguir. Una tarea que resultará más sencilla siempre que tengamos en cuenta unos sencillos consejos para maximizar su utilidad:

– Usa redes como Facebook y Twitter además de LinkedIn. Apostar por redes sociales más profesionales como LinkedIn te abrirá puertas sin ninguna duda, pero no debes olvidar que las empresas tienen muy presentes otras opciones como Facebook y Twitter para publicar sus ofertas, especialmente por el carácter multitudinario de estas redes.
– Sé activo y participa en la vida online. Crear un perfil en una red social no es suficiente para llamar la atención de un responsable de contratación sobre nuestra candidatura, ya que pocas cosas dan peor imagen que un espacio personal desactualizado. Evítalo siendo activo en la red e introduciendo con cierta frecuencia información de interés.
– Cuida bien tus relaciones profesionales. Mantener buena relación con otras personas de tu sector profesional te ayudará a estar al día sobre lo que se cuece en tu campo de trabajo, y a obtener posibles recomendaciones en un futuro.

Tu imagen será tu mejor escaparate. No descuides la imagen que das en tus perfiles de las redes sociales, ya que será un aspecto básico para acceder a un empleo. Escoge una fotografía en la que se te vea bien la cara, y en la que salgas sonriendo y con el gesto relajado, darás mejor impresión a las empresas.
Sigue a las marcas. Las compañías son bien conscientes de que un trabajador que ama la marca previamente será el mejor embajador de un producto. Hazte seguidor de las marcas que más te interesen y observarás como éstas cuelgan sus ofertas en primer lugar en sus perfiles de las redes sociales que poseen.

Fuente: Yapo.CL

Niveles de un Programador.

¿Te ha sucedido que cuando escribes tu curriculum no determinar tu nivel de programación?

Pues bien, no eres el único, espero que estas lineas que han sido las definiciones mas me han agradado te sirva y te ayuden a poder determinarlo.

 

Nivel de Entrada:
Recién salido de la educación o de la calle; muestra habilidades de programación, pero carece de experiencia de lenguaje\negocio. Alguien que quiere gastar dinero y tiempo en entrenar/capacitarse. Muchos ingresos necesarios para esta persona.

Junior:
Posee alguna experiencia de negocio y sabe el lenguaje de programación, pero talves no en el arena en el que nos encontramos trabajando, Necesita mas experiencia y entrenamiento. Pueden trabajar en pequeños desarrollos por si mismos, pero necesitan supervision y guía.

Nivel Intermedio (Mid-Level):
Conoce la arena del negocio y tiene un buen conocimiento del lenguaje de desarrollo, puede trabajar en pequeños desarrollos sin supervision, largos desarrollos con guía y ser parte de un equipo para desarrollos extensos. Requiere revisiones de código y entrenamiento para obtener el próximo nivel.

Senior:
Alguien que conoce un amplio rango de la arena del negocio o es especialista en un area. Experto en el lenguaje. Puede trabajar en mas niveles de codigo sin supervision y requiere de una minima direccion. Puede guiar a grados menores, Interesado en fomentar el producto y las practicas así como “Hacer el Trabajo”. Usa la iniciativa.

Entonces tenemos dos grados superiores:

Líder de Equipo:
Para aquellos que quieran ramificar su actividad en la gestión y dejar atrás la cara con carbón.

Arquitecto:
Para aquellos que deseen mas libertad y control, pero todavía ser desarrolladores y\o envolverse con la dirección del producto a un nivel técnico.

Para progresar en los grados se requiere principalmente experiencia.

Entrada->Junior
Debe desarrollar pequeños paquetes para los estándares correctos. Debe ser capaz de demostrar algún conocimiento del área del negocio. Básicamente, ellos deben mostrar disposición a aprender y habilidad para aprender. Usualmente 1-2 Años.

Junior->Nivel Medio
Deben ser capaces de demostrar que ellos codificar deacuerdo a los estándares la mayoría del tiempo y pueden trabajar en largas piezas de un desarrollo. Deben mostrar buena habilidad en la arena del negocio (i.e. trabajando con clientes internos\externos). Usualmente 1-3 años, a veces por siempre.

Nivel-Medio->Senior
Este es el difícil – la persona debe mostrar dominio de el lenguaje, ser capaz de desarrollar proyectos largos, lidiar con clientes y empezar a guiar/dirigir a otros, En terminos simples, esta persona esta mostrando señaes de ser un guru, En nivel Senior es un estatus Élite.

Senior onwards
Esto tiende a ser un movimiento cooperativo de la persona y la empresa/negocio. Deben mostrar disposición a seguir adelante y hacer frente a nuevas áreas. Muchos no llegan a esto – son felices siendo un guru.

Nota: nunca mientas sobre tu nivel de experticie en un curriculum, pues créeme que lo pagaras caro, si te arrojan a los leones y no tienes las armas para defenderte, mejor se sincero y trata siempre de hacer las cosas lo mejor que puedas.

 

“La sabiduría no consiste en todo saber, sino en saber lo que se sabe y saber o que no se sabe.”
 

Fuente original AQUÍ www.zomeon.com