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.

 

 

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.

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!!!