Este es el 1º video tutorial de cakephp en la cual vemos en primera instancia la instalación y una aplicacin rapida para demostrar lo raápido de realizar una aplicacin básica.
Perfil
viernes, 29 de noviembre de 2013
CĂłmo crear un disco de arranque USB con varios sistemas operativos
Existen varias herramientas que nos permiten crear discos de arranque USB para diferentes plataformas, una de las mas populares es UNetbootin, pero en mi opiniĂłn Yumi Multiboot USB Creator es mas sencilla de usar y organiza mejor los sistemas. Yumi es una herramienta gratuita que nos permite de una manera muy sencilla crear un disco de arranque USB con varios sistemas operativos.
Desde hace un buen rato las unidades de discos fĂsicos de nuestros computadores han pasado a ser un accesorio muy poco utilizado. Pocos son aquellos que aĂşn usan CDs o DVDs para reproducir mĂşsica, vĂdeos, o instalar programas, mucho menos para instalar un sistema operativo.
Gracias a las bondades de la nube podemos descargar el sistema operativo que queramos directamente desde el ordenador en el cual lo queremos instalar, y gracias a utilidades geniales como Yumi, podemos crear un disco de arranque USB con este mismo sistema, agregarle varios mas, e instalarlos en nuestro equipo. Yumi te permite añadir cualquier archivo de imagen .ISO, por lo que también podemos agregarle otras herramientas que nos permitan solucionar problemas en nuestro sistema, como utilidades de antivirus, o de diagnostico de hardware. Todo en un único disco USB.
Yumi es muy sencillo de utilizar, luego de descargarlo simplemente ejecutamos el archivo .exe (no necesitas ejecutarlo como administrador, pero si se presenta algún problema puedes probar de esta manera). Aceptas los términos de la licencia, y esta listo para usarse. Es una aplicación portable, por tanto no se instala en tu sistema, puedes llevarla a cualquier lado y solo ejecutarla.
Aunque Yumi es una aplicación para Windows, puede ser fácilmente ejecutada en Linux usando Wine.
Requisitos Básicos
- Una memoria USB con formato Fat32 o NTFS.
- Un ordenador que pueda bootear desde USB.
- Windows XP/Vista/7/8 o WINE para poder correr Yumi.
- Los archivos .ISO de tu elecciĂłn.
Una vez dentro de Yumi se te mostraran una lista de sistemas operativos y herramientas soportadas para añadir a tu dispositivo USB.
Yumi se mantiene actualizado y añadiendo soporte a las ultimas versiones de decenas de distribuciones de Linux.
Creando el disco de arranque mĂşltiple paso a paso
- Conecta tu dispositivo USB al ordenador.
- Ejecuta Yumi y acepta los termino de la licencia.
- Selecciona la letra de la unidad del dispositivo USB.
- Selecciona de la lista el sistema operativo o herramienta que vas a añadir.
- Selecciona el archivo .ISO previamente descargado y guardado en tu ordenador, Ăł usa la opciĂłn "Download the ISO" para descargar el sistema seleccionado.
- Presiona "Create"
- Presiona Ok en la advertencia y espera que el proceso termine.
Una vez concluido Yumi te preguntara si deseas añadir otro sistema operativo al disco, asà que si quieres puedes repetir el proceso cuantas veces necesites y agregar todos los .ISO que quepan en tu pendrive.
Al reiniciar y bootear desde el disco USB creado, veras una pantalla de selecciĂłn en la cual se te permite elegir cual de los sistemas quieres instalar, o si deseas simplemente arrancar desde tu disco duro.
La interfaz similar a GRUB, horrible pero cumple su cometido.
Yumi es una herramienta sumamente Ăştil para muchas situaciones, la facilidad de usar un solo dispositivo USB para instalar un arranque Dual-boot con Windows y Linux en mi computador o en el de cualquier amigo, no tiene precio.
Para los adictos a probar distribuciones de Linux es también una herramienta a tener. Y si tenemos muchas memorias USB que no usamos para nada, crear discos de arranque múltiples para salir de situaciones molestas cuando se nos daña el ordenador, o para cuando un amigo quiere que le hagamos de "pringao", es el mejor uso que se me puede ocurrir.
Por ultimo, les comento que Yumi almacena todas los archivos en una carpeta llamada Multiboot, y mantiene todo organizado, por lo tanto tu dispositivo aĂşn puede ser utilizado para almacenar otras cosas sin que deje de ser booteable, y sin desperdiciar el espacio libre.
¿QuĂ© es Responsive Web Design?
Debido a la proliferación de smartphones y tablets en el mercado actual, existe más diversidad que nunca de formatos de pantalla. De acuerdo con el estudio realizado por Comscore, las ventas de smartphone superarán a las de computadoras de escritorio durante este año y la adopción de tablets en Estados Unidos se prevee que experimente un crecimiento del 40% en los próximos 4 años, alcanzando los 75.8 millones en 2016.
Este panorama obliga a adaptar los formatos web a estos nuevos dispositivos y la estructura de cada uno de ellos, es indiscutible que necesitamos websites inteligentesque se adapten a todos ellos. Sobre todo si tenemos en cuenta las ventas a través de m-commerce (e-commerce adaptados a móvil), según eMarketer, las ventas a través de smartphones han crecido en un 81% ($25.000 millones en los Estados Unidos).
A partir de todo esto, el tĂ©rmino “responsive web design” se escucha frecuentemente, pero ¿quĂ© es exactamente? El responsive design corresponde a una tendencia de creaciĂłn de páginas web que pueden ser visualizadas perfectamente en todo tipo de dispositivos, desde ordenadores de escritorio hasta smartphones o tablets. Con este tipo de diseño no necesitas tener una versiĂłn para cada dispositivo, una sola web se adapta a todos ellos.
¿CĂłmo funciona el responsive web design?
En lugar de construir una website para cada tipo de dispositivo (smartphone, tablet, ordenador desktop, laptop e incluso, hoy en dĂa, para smart TV), se crea una sola website utilizando CSS3 media queries y un layout con imágenes flexibles. De esta forma, la website detecta desde quĂ© clase de dispositivo está accediendo el usuario y muestra la versiĂłn más optimizada para ese medio, reorganizando los elementos de la web e incluso discriminando algunos de ellos (menos imágenes, más ligeras, redistribuciĂłn de las columnas en el diseño, menos texto, etc.).
El HTML5 permite una experiencia excelente para los usuarios, sin el coste de desarrollar una app nativa para cada dispositivo. En resumen, se dirĂa que el responsive design son todo ventajas.
Es fácil de manejar ya que solamente trabajas sobre una website y los resultados serán uniformes en todas las plataformas sin distorsiones en las imágenes o texto. Además, ahorras tiempo y dinero al desarrollar una vez y un pago único de hosting.
¿QuĂ© pasa con el posicionamiento web?
Una web creada con responsive web design mejora el SEO, las búsquedas a través de dispositivos móviles son diferente a las que se realizan desde un ordenador de escritorio por lo que tener una versión móvil de tu web es bueno, tener una con responsive design es aún mejor, sobre todo porque cuantos más dispositivos alcances a cubrir más tráfico generará tu web. Tan simple como eso. Además, buscadores como Google ya están priorizando en el ránking a las websites móviles en búsquedas móviles, como es lógico.
Entonces, ¿cuáles son las opciones para crear una website con responsive? realmente, las mismas que para crear una nueva website. Puedes optar por contratar un desarrollador o agencia que lo haga por ti, una opciĂłn costosa teniendo en cuenta las especificaciones que se quieran.
La alternativa es hacerlo tĂş mismo, para ello existe una nueva propuesta en editores web, esta vez, responsive: Zeendo. Se trata de una plataforma basada en cloud computing, de forma que todo el trabajo está siempre online y se puede continuar el proceso de ediciĂłn de la nueva web sin perder ningĂşn cambio, sin tener que descargar ningĂşn tipo de software, y asĂ, desde cualquier lugar, a cualquier hora. Pero sin duda, lo más importante es que está concebido para cualquier usuario sin conocimientos de programaciĂłn.
¿CĂłmo funcionan los editores web para responsive design?
A partir de plantillas personalizables creadas en HTML5 y CSS3 con fluid grids que re-colocan los elementos de la web, dependiendo del espacio disponible según la resolución de pantalla. De esta forma discriminan elementos, texto, pestañas del menú, reducen las imágenes de manera que la navegación sea fluida, intuitiva y se enriquezca la experiencia de usuario.

No sólo se trata de obtener una solución para todos los dispositivos, se trata de ganar puntos en el ránking de los buscadores móviles de manera que ganemos visibilidad y tráfico en nuestro sitio web.
miércoles, 20 de noviembre de 2013
Herramientas recomendadas para el desarrollo de software
La calidad del software es uno de los temas que más lĂneas me han ocupado en este blog. Es por ello que no debe faltar un listado con las principales herramientas software que nos faciliten y aseguren entregar un software de calidad.
Las herramientas de calidad software expuestas son las que más he utilizado y mejor cumplen, a mi parecer, sus objetivos. Os dejo el link a la página donde os la podéis descargar, una breve descripción y, entre paréntesis, la licencia que tienen.
Como en el caso de los libros recomendados, podéis votar para opinar qué os parece la herramienta. Asà ayudaremos entre todos a elegir las mejores herramientas para mejorar su código y entregar un producto software de calidad.
Para que se pueda buscar más fácilmente he agrupado las herramientas por funcionalidad:
- Herramientas de calidad del Producto Software
- Herramientas de Testing
- Herramientas para Scrum
- Herramientas certificadas
Herramientas de calidad del Producto Software
| PMD. Analizador estático de código, principalmente Java. Identifica problemas como repetición de código, if`s anidados, etc. (BSD) | [poll id="21"] |
| Check Style Analizador estático de código, principalmente Java. Comprueba si se siguen las reglas de estilo. (GNU Lesser General Public License Version 2.1) | [poll id="22"] |
| SONAR. Herramienta de gestión de la calidad del código fuente. Permite recopilar, analizar, y visualizar métricas del código fuente. Está formado por PMD, Checkstyl, Findbugs, Clover y Cobertura. Principalmente es usado con Java pero da soporte a otros lenguajes. (LGPL) | [poll id="23"] |
| Google CodePro Analytix. También es una herramienta de gestión de la calidad del software. Ofrece un entorno para evaluación de código, métricas, análisis de dependencias, cobertura de código, generación de Test unitarios, etc. | [poll id="24"] |
| Simian. Herramienta para detectar cĂłdigo duplicado. (Libre para proyectos OpenSource) | [poll id="25"] |
Herramientas de Testing
| Selenium. Compuesto por dos herramientas: Selenium IDE y SeleniumWebDriver. La primera permite crear casos de prueba para aplicaciones web y la segunda los ejecuta. Utiliza los siguientes lenguajes: Python, Ruby, Java y C# y ejecuta pruebas de aplicaciones para Android y iPhone. (Apache 2.0 License) | [poll id="26"] |
| JMeter. Permite realizar pruebas funcionales y de rendimiento para aplicaciones web. (Apache 2.0 License) | [poll id="27"] |
| Testlink. Permite crear y gestionar casos de prueba, organizarlos en planes de pruebas, realizar un seguimiento de los resultados, establecer trazabilidad con los requisitos, generar informes etc. (GPL) | [poll id="28"] |
Herramientas para Scrum
| Kunagi. Ofrece herramientas colaborativas y otras facilidades, como un cuadro de mando del proyecto, un panel interactivo para el Sprint o soporte a la estimaciĂłn con Planning Poker. (GNU) | [poll id="37"] |
| ScrumDo. Permite gestionar las listas de tareas e historias de usuario, crear y gestionar iteraciones, obtener gráficos de avance “burndown” y tambiĂ©n dar soporte a la estimaciĂłn con Planning Poker. (Comercial) | [poll id="38"] |
| SprintoMeter. Herramienta para la gestiĂłn, mediciĂłn y seguimiento de proyectos Scrum y eXtreme Programming. (Comercial) | [poll id="39"] |
| IceScrum. Herramienta Scrum y Kanban. Ofrece las opciones de operación, consulta y estimación de historias de usuario. Permite añadir historias de usuario a la pila de producto, dividir el tiempo en Sprints y mover estas historias de la pila de producto a cada uno de los Sprint. (GNU) | [poll id="40"] |
| Pango Scrum. Permite escribir, estimar y priorizar la pila de producto. Facilita en gran medida la planificaciĂłn de Sprints y las reuniones. (Comercial) |
miércoles, 13 de noviembre de 2013
LibrerĂas interesantes PHP-GTK
Hoy traemos una biblioteca que más que Ăştil, es curiosa. SĂ, curiosa, y es porque esta librerĂa nos va a permitir construir interfaces gráficas con PHP, cosa que no es muy habitual en este lenguaje.
Realmente, la utilidad real de la librerĂa, a priori no es que sea muy grande, y más teniendo lenguajes de programaciĂłn donde se pueden crear interfaces de forma muy sencilla, pero seguro que alguien le da un uso bastante elevado a este php-gtk.
Lo primero que debemos hacer es instalar nuestra librerĂa en Linux:
Simplemente introduciremos estos comandos en la consola:
Descargamos el source desde este enlace y lo descomprimimos donde queramos.
Una vez tengamos la carpeta descomprimida, nos movemos a ella (por consola).
Y por Ăşltimo una vez dentro seguimos los pasos (comandos) que nos indica el fichero INSTALL:
./buildconf ./configure make make install
Una vez hecho ésto, si no ha dado errores, deberemos añadir la extensión al php.ini. El fichero debéis buscarlo vosotros porque según la distribución e incluso la versión de la misma puede variar.
En la parte de extensiones del fichero, añadimos:
extension=php_gtk2.so
Una vez hecho esto, si tenĂ©is todas las librerĂas extras que necesita php-gtk (cosa que es normal tener), deberĂa funcionar.
Nota: Si os da algĂşn error podĂ©is pedir ayuda y os intentaremos solucionar el problema lo mejor que podamos, o podĂ©is acudir a Google que hay bastante informaciĂłn sobre errores con esta librerĂa.
Ahora vamos a ver la instalaciĂłn en Windows:
Instalando Gnope , tenemos todo solucionado:
http://sourceforge.net/projects/gnope/
Una vez instalado vamos a probar si funciona haciendo uso del ejemplo que viene en la ayuda de PHP para esta librerĂa.
Creamos un nuevo archivo .PHP y escribimos el siguiente cĂłdigo :
set_title('Our PHP-GTK window');
$window->connect_simple('destroy', array('gtk', 'main_quit'));
$label1 = new GtkLabel("Hello world!");
$window->add($label1);
$window->show_all();
Gtk::main();
?>
Y lo ejecutamos en la consola php nombredelfichero.php, si todo sale bien aparecerá una ventana , sino, un mensaje de error en la consola que nos indicará que el mĂłdulo php-gtk2 no está cargado ( “Please load the php-gtk2 module in your php.ini”)
Ahora vamos a explicar las partes del cĂłdigo que puedan resultar confusas:
$window = new GtkWindow();
$window->set_title('Our PHP-GTK window');
$window->connect_simple('destroy', array('gtk', 'main_quit'));
Esta porciĂłn de cĂłdigo sin duda puede resultar la mas difĂcil de comprender, asĂ que vamos a hablar de ella un poco.
- La primera lĂnea es simplemente la instanciaciĂłn de la clase GtkWindow() mediante la llamada al un constructor.
- La segunda lĂnea usa el mĂ©todo set_title para añadir un tĂtulo a a la ventana.
- La tercera lĂnea es un mĂ©todo de la clase que debe ponerse siempre y se usa básicamente para conseguir un cerrado “limpio” de las aplicaciones.
El resto de cĂłdigo hasta el GTL::main(); es repetir lo mismo, sĂłlo que con otros elementos, en este caso con labels(etiquetas), se crean, se les da un tĂtulo o texto y se añaden a la ventana principal.
Cuando está todo añadido se muestra por pantalla.
Y al final, la Ăşltima lĂnea de cĂłdigo inicia el bucle principal (algo asĂ como un bucle de eventos) que toda interfaz gráfica (moderna) deberĂa tener.
Suscribirse a:
Entradas (Atom)






