Ordenar un array múltiple por dos filtros

Estándar

Aunque parezca tonto, muchas veces cuando desarrollamos nos encontramos con pequeños escalones que nos hacen cuestionarnos como programadores. Recientemente estaba solventando unos detalles con un catalogo de productos y el cliente quería que cuando se imprimiera el producto se ordenara por dos patrones (orden y peso), pues después de complicarme un montón y buscar mas de mil métodos de ordenamiento, me di cuenta que una función de php mas 3 lineas de código lo hacen todo por ti.

Esta función es array_multisort() y a continuación les daré un pequeño ejemplo de como podemos usar esta función en este tipo de problemas.

$carrito = array(
array('ID' => 1, 'nombre' => 'Baguette', 'peso' => '500', 'orden' => '13'),
array('ID' => 2, 'nombre' => 'Napolitana', 'peso' => '100', 'orden' => '11'),
array('ID' => 3, 'nombre' => 'Pan de molde', 'peso' => '200', 'orden' => '12'),
array('ID' => 4, 'nombre' => 'Rosca', 'peso' => '80', 'orden' => '11')
);
# Obtenemos en un array nuevo los datos a ordenar y que vamos a pasar al array_multisort
$sort = array();
foreach($carrito as $i=>$j) {
$sort['orden'][$i] = $j['orden'];
$sort['pero'][$i] = $j['peso'];
}
# ordenamos por orden y despues por peso ambos de forma ascendente (ASC)
array_multisort($sort['orden'], SORT_ASC, $sort['peso'], SORT_ASC,$carrito);

Y con esto ya nuestro “$carrito” ya quedaría ordenado como queremos y listo para imprimir.

Anuncios

Que es Homestead de Laravel y como Instalarlo

Estándar

Como programadores ya estamos cansados de realizar todas las configuraciones de nuestro sistema operativo para poder realizar los proyectos que tengamos en mente, que por lo general nos toma un día entero configurarlo. Laravel posee una herramienta que nos ayuda mucho en cuanto a configuración de ambiente para desarrollo se refiere, este es Homestead pero, ¿que es esto?.

Homestead es un ambiente para desarrollo local que en solo unos pocos pasos nos configura todo lo necesario para llevar a cabo nuestro proyectos en Laravel y prácticamente cualquier proyecto en php, esto a mi punto de vista es increíble ya que no es necesario “Envenenar” tu ordenador, ni el de oficina para hacer tu trabajo. En este post sabremos como instalar Homestead en MacOSX, linux y Windows.

Lo primero que hay que hacer es descargarnos e instalar VirtualBox y Vagrant, ambos vienen para los tres sistemas operativos al cual vamos a realizar la instalación.

Una vez tengan instalado estos dos programas, nos dirigiremos a nuestra consola y agregaremos el paquete de “laravel/homestead” a nuestra instalacion de vagrant con el siguiente comando:

vagrant box add laravel/homestead

Ya instalado el paquete procederemos a instalar y usar homestead, el cual existen dos maneras, una de ellas es instalando los paquetes a través de “Composer+PHP”. La otra, que es la que yo prefiero porque a mi parecer es la mas sencilla es a través de “Git”, esta ultima es la que vamos a explicar en este post.

Como buena practica pueden crear dos directorios distintos, uno con todos tus proyectos y otro donde este el homestead. En lo particular yo tengo uno llamado “Sites” en mi carpeta raiz y otro llamado “homestead” donde tengo instalado nuestro sistema. Una ves definan su estructura procedemos a clonar con git nuestro homestead con el siguiente comando:

git clone https://github.com/laravel/homestead.git Homestead

Una vez finalizado solo nos queda configurar y editar nuestro archivo “homestead.yaml”, este nos mostraría algo como esto:

ip: "192.168.10.10"
memory: 1024
cpus: 1

//en estas lineas estaria la configuracion
//para la llave ssh
authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

//esta seria la configuración de mapeo para el
//sharing de nuestra maquina local con la maquina
//virtual, donde el "map" seria la ruta de nuestra
//maquina local y el "to" la ruta de nuestra maquina
//virtual.
folders:
    - map: ~/Sites
      to: /home/vagrant/Sites

//aquí seria la configuración de mapeo con nuestro nginx
//ya instalado en nuestra maquina virtual, si deseas
//agregar mas proyectos solamente debes mapearlos en esta
//seccion donde "map" va a ser el url del navegador y el "to"
//la ruta de nuestra maquina virtual.
sites:
    - map: tuprojecto.dev
      to: /home/vagrant/Sites/tuproyecto/public

variables:
    - key: APP_ENV
      value: local</span>

Ya configurado nuestro archivo homestead.yaml lo que tenemos que hacer es acceder a nuestra maquina virtual. Este comando lo vamos a ejecutar dentro de nuestro directorio de Homestead que previamente creamos. Primero arrancamos nuestra maquina virtual:

vagrant up

Y después accedemos a ella:

vagrant ssh

Ya dentro de nuestra maquina virtual simplemente nos dirigimos a nuestro directorio sites y creamos nuestro proyecto en laravel (No solamente puedes usar laravel, puedes usar cualquier otro Framework que desees usar).

cd Sites/
composer create-project laravel/laravel tuproyecto

Una vez finalizada la instalación ya deberían de tener su proyecto listo para empezar tanto en tu maquina virtual como en tu maquina local según la ruta que hallan designado. pero para poder comprobarlo en el navegador debemos realizar un ultimo paso que es bastante sencilllo que es editar nuestro archivo host.

//ruta para mac y linux
nano /etc/hosts

Y editamos las siguientes lineas:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1    localhost
255.255.255.255    broadcasthost
::1             localhost
#VAGRANT
192.168.10.10     tuproyecto.dev

Listo!!! con esto ya deberíamos acceder al URL de tu proyecto “http://tuprojecto.dev&#8221; en nuestro navegador sin problemas.Si deseas agregar otro proyecto solamente crea tu proyecto en tu maquina virtual, ejecutas el siguiente comando dentro de tu maquina virtual y después solo editas tu archivo Hosts:

serve tuprojecto2 /home/vagrant/Sites/tuprojecto2/public

Espero que les sirva de ayuda y les recomiendo usar ese tipo de ambiente para que te ahorres 2 horas solamente de configuración para poder correr sus proyectos. Si tienen alguna duda o pregunta no duden en comentarlo.

 

 

Que es Composer y como instalarlo

Estándar

Composer es una herramienta para el manejo de dependencias en PHP que te permite declarar librerías en tu proyecto y composer las instalara y las configurara por ti. Esto es algo que la mayoría de los desarrolladores de php deben usar a diario y en este post vamos a saber como instalar y configurar en nuestro ordenador.

Para los sistemas Linux y Unix es tan fácil como escribir estos dos comandos en nuestro terminal:

 composer-paso1

La primera linea es para descargar el composer desde la pagina web y la segunda es para colocar nuestro composer de forma global en todo nuestro sistema operativo y nada mas tengas que hacer este proceso una sola vez, claro esta si no lo quieres hacer pues solamente corre la primera linea y colocar tu archivo composer.phar dentro de tu proyecto.

Para el sistema Windows pude ser un poco mas largo aunque igual de sencillo con solo correr estos comandos en el terminal:

composer-paso2

Debes tomar en cuenta que se te da algún error en la descarga debes usar “http” o debes habilitar en tu archivo php.ini “php_openssl.dll”. Después que lo descargues debes crear un archivo “.bat” a partir del “.phar”.

composer-paso3

Con esto ya tendrías instalado Composer en Windows, para verificar la instalacion puedes correr este otro comando desde tu terminal:

composer-paso4

Espero que este post sirva de ayuda y guía para usar esta poderosa herramienta.

Instalar SubimeText en Ubuntu

Estándar

Sublime text es un editor de texto que poco a poco esta agarrando fuerza y favoritismo como herramienta de trabajo dentro de estudiantes y profesionales dentro del área de la informática y que esta disponible para las plataformas Windows, Linux (En sus diferentes distribuciones) y Mac OSX, para instalar este editor de texto simplemente vamos al sitio de Sublime Text y en la seccion de descargas podemos obtener este editor en sus diferentes versiones para sus diferentes plataformas.

En esta entrada vamos a aprender como instalar sublimeText por la terminal de ubuntu con solo tres lineas de comando mediante apt-get, para hacerlo solo nos basta con escribir lo siguiente:

“sudo add-apt-repository ppa:webupd8team/sublime-text-3″

” sudo apt-get update ”

“sudo apt-get install sublime-text-installer”

Con esto solo esperamos que termine de instalar, y a programar se ha dicho.

P.T para playstation4

Estándar

Hace poco me descargue un demo del playstore llamado P.T., es un demo que da intro a un nuevo Silent Hill producido por Hideo Kojima y Guillermo del Toro, a quien tiene por personaje principal nada mas y nada menos que a el héroe de muchas personas en The Walking Dead, Daryl Dixon (Norman Reedus). Pero volviendo al demo, es realmente espeluznante, es un tipo de puzzle donde estas encerrado en una especie de habitación a oscuras, una vez que te levantas, sales y das y das vueltas, empiezas a escuchar sonidos y vez cosas muy extrañas.

En mi opinión personal es un demo bastante bueno que te deja con muchas expectativas sobre el juego completo, en este vídeo que les adjunto podrán ver un gameplay del juego, pero nada mejor que jugarlo con unos buenos audífonos y a oscuras.

Instalación de PHP, MySQL, PhpMyAdmin y Apache en Ubuntu

Estándar

Para empezar en este articulo es importante resaltar que este este proceso que describo sirve especialmente para Ubuntu, aunque estoy seguro que para las otras distribuciones basadas en Debian también sirva.

Lo que primero vamos a hacer es abrir la terminal de comandos y actualizar los repositorios y el sistema operativo con los siguientes comandos:

“sudo apt-get update”

“sudo apt-get upgrade”

Una vez realizado todo este proceso seguimos con la instalación de servidor de MySQL, por lo general basta con colocar en la consola:

“sudo apt-get install mysql-server”

aunque si deseas instalar una versión especifica lo puedes hacer de la siguiente manera donde las “X” es el numero de la versión:

“sudo apt-get install mysql-server-X.X”

Una vez que establezcas la contraseña del servidor de base datos, procederemos a instalar el servidor apache y el lenguaje PHP en la computadora con los siguientes comandos:

“sudo apt-get install apache2”

“sudo apt-get install php5”

En algunos casos, dependiendo del sistema operativo que uses, tendrás que instalar a mano las librerías que comunican nuestros servicios (MySQL, Apache y PHP), por lo que deberás que colocar lo siguiente:

“sudo apt-get install libapache2-mod-auth-mysql”

“sudo apt-get install php5-mysql”

Ya con esto solo nos quedaría reiniciar nuestro servicio apache que lo podemos hacer son el siguiente comando:

“sudo /etc/init.d/apache2 restart”

Para probar nuestros servicios nos dirigimos a la siguiente ruta:

“cd /var/www/”

y creamos un archivo .php para verificar que todo el proceso este correcto, para crear el archivo:

“sudo vi info.php”

dentro de este colocamos:

“<?php phpinfo();?>”

Ya con esto tenemos todo lo necesario para empezar a programar en php en nuestra pc, laptop, etc. podemos verificar lo instalado colocando en la url del navegador:

“localhost/info.php”

Solo nos faltaría instalar el phpmyadmin, que es de suma ayuda para todo desarrollador, y esto se hace simplemente colocando el siguiente comando en la terminal:

“sudo apt-get install phpmyadmin”

Realizas toda la configuración que necesites, y una vez que termines solo te diriges a la url del navegador y colocas:

“localhost/phpmyadmin”

 Listo, ya tienes lo básico para ser empezar a ser un programador web, así que suerte!!!

Introducción e Instalación de Ubuntu

Estándar

Aunque para la mayoría de las personas que usan computadoras, usar Ubuntu o cualquier otra distribución Linux es una pesadilla, estos sistemas operativos son de los mas versátiles y estables que se puedan ofrecer en el mercado, mas alla de la estética o accesibilidad del usuario, pero lo mejor de esos S.O. es que son “GRATUITOS” (La mayoría claro).

En mi opinión personal, todo informático o persona adicta a la tecnología debería tener algún tipo de conocimiento sobre el manejo de estos S.O. por lo que les puedo recomendar como primer contacto con estos la distribución Ubuntu. Para no caer en una polémica, este fue el sistema operativo con el cual me adapte mas rápido al mundo del software libre, cada dia esta comunidad es mas amplia y sin duda alguna las personas que trabajan en esta distribución hacen que esta sea mucho mas fácil y mas intuitiva.

A continuación anexo el link de descarga del S.O. directamente desde la página de Ubuntu, recuerden ver que tipo de procesador desean (32 ó 64 bits) antes de descargar: Link de descarga Ubuntu

Instalar Ubuntu es mucho mas fácil de lo que cualquier persona creen, graben el .iso en un cd o dvd, inserten el cd y reinicien la computadora boteando por la unidad de cd y sigan las instrucciones si tienen alguna duda sigan las instrucciones de este tutorial, no hay perdida. Tutorial de Instalación