<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7694481146072736103</id><updated>2025-12-31T19:33:03.441-08:00</updated><category term="php"/><category term="colombia"/><category term="desarrollo"/><category term="luis toscano"/><category term="webdev"/><category term="apache"/><category term="barranquilla"/><category term="codigolandia"/><category term="dev"/><category term="java"/><category term="javascript"/><category term="laravel"/><category term="python"/><category term="videosxl"/><category term="David Sanchez Juliao"/><category term="El Flecha"/><category term="El Pachanga"/><category term="Elecciones 2010"/><category term="FLISOL"/><category term="Literatura"/><category term="activemq"/><category term="algoritmos"/><category term="alta disponibildad"/><category term="amazon sns"/><category term="android"/><category term="aprender"/><category term="aprendiendo"/><category term="automatico"/><category term="basico"/><category term="bugfix"/><category term="cache"/><category term="cakephp"/><category term="campos electricos"/><category term="campus party"/><category term="campusero"/><category term="caribe"/><category term="centos"/><category term="cloud computing"/><category term="cloudflare"/><category term="colas"/><category term="composer"/><category term="comunicaciones unificadas"/><category term="cordova"/><category term="css"/><category term="cuc"/><category term="databases"/><category term="datetime-local"/><category term="datos"/><category term="db2"/><category term="desarrollo movil"/><category term="desarrollo web"/><category term="desarrollo web mobile"/><category term="dropbox.cdn"/><category term="electricidad"/><category term="errores"/><category term="factory"/><category term="fisica"/><category term="foursquare"/><category term="frwmeworks"/><category term="gestion de contenidos"/><category term="herramientas"/><category term="html"/><category term="html5"/><category term="ibm db2"/><category term="informacion"/><category term="inteligencia artificial"/><category term="ionic"/><category term="iptables"/><category term="jquery"/><category term="js"/><category term="jurado"/><category term="lanlandia"/><category term="latinpolla"/><category term="machine learning"/><category term="manuales"/><category term="mensajeria"/><category term="meteorjs"/><category term="mod_rewrite"/><category term="monaca"/><category term="mondogo"/><category term="mongodb"/><category term="msn"/><category term="msn 8"/><category term="native script"/><category term="nginx"/><category term="nosql"/><category term="nubes privadas"/><category term="odm"/><category term="ogame"/><category term="openfire"/><category term="pornorey"/><category term="presidente"/><category term="private cloud services"/><category term="problema"/><category term="problemas"/><category term="programacion"/><category term="proxy reverso"/><category term="rabbitmq"/><category term="react native"/><category term="redes convergentes"/><category term="redhat"/><category term="sdk amazon php"/><category term="seguridad"/><category term="servicios en cloud"/><category term="servicios en la nube"/><category term="sl"/><category term="sms"/><category term="software libre"/><category term="startup weekend barranquilla"/><category term="startups"/><category term="telerik"/><category term="text messages"/><category term="travesia"/><category term="ubuconla"/><category term="utf-8"/><category term="varnish"/><category term="varnish cache"/><category term="voto caribe"/><category term="voz"/><category term="web"/><category term="web apps movil"/><category term="web based game"/><category term="webapps"/><category term="webcamxl"/><category term="whatsapp"/><title type='text'>Luis Toscano</title><subtitle type='html'>PHP Senior Developer.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default?start-index=26&amp;max-results=25'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>67</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-7352279963951828410</id><published>2025-05-05T13:32:00.000-07:00</published><updated>2025-05-05T13:33:03.581-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="automatico"/><category scheme="http://www.blogger.com/atom/ns#" term="mensajeria"/><category scheme="http://www.blogger.com/atom/ns#" term="web"/><category scheme="http://www.blogger.com/atom/ns#" term="whatsapp"/><title type='text'>Soluciones para Mensajeria por Whatsapp.... Cuales ?</title><content type='html'>&lt;p&gt;En los ultimos 10 años whatsapp se ha vuelto una herramienta muy importante en los negocios, en las comunicaciones familiares entre otras actividades, pero cuando queremos implementar en nuestros proyectos un tipo de funcion que envie mensajeria por whatsapp nos da dolor de cabeza, porque no sabemos como o porque lo que encontramos no es lo suficiente para lo que necesitamos pero claro a raiz de todo esto han salido iniciativas pagas y gratis para tener la posibilidad de usar la herramienta para comunicar de forma eficaz.&lt;/p&gt;&lt;p&gt;ahora despues de ese resumen breve les dejo la lista de diferentes alternativas de libre uso, no muestro temas de pago porque no es la idea mas sin embargo tambien les dejare una lista.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;https://wwebjs.dev/&lt;/li&gt;&lt;li&gt;https://github.com/EvolutionAPI/evolution-api&lt;/li&gt;&lt;li&gt;https://github.com/WhiskeySockets/Baileys&lt;/li&gt;&lt;li&gt;https://pypi.org/project/whatsapp-python/ (necesita whatsapp cloud api)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. https://wwebjs.dev/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Una herramienta escrita en nodejs que genera una instancia de whatsapp web con la cual podras interactuar de forma facil y practica.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. https://github.com/EvolutionAPI/evolution-api&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Evolution api desarrollada tambien en nodejs proporciona un esquema mas avanzado para instanciar diferentes whatsapp con cuentas diferentes, esto permite que tener varias lineas atentiendo, al mismo tiempo incluye webhooks y demas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3.https://github.com/WhiskeySockets/Baileys&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Baileys es la libreria para whatsapp web que utiliza evolution api, es basicamente un cliente web para whatsapp web escrito en nodejs y typescript&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;por mencionar estas, ademas existen muchas alternativas de librerias que permiten interactuar con whatsapp cloud api, pero recuerda que esta ultima requiere apis y tiene un precio acceder a esta.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/7352279963951828410/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2025/05/soluciones-para-mensajeria-por-whatsapp.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7352279963951828410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7352279963951828410'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2025/05/soluciones-para-mensajeria-por-whatsapp.html' title='Soluciones para Mensajeria por Whatsapp.... Cuales ?'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-2303407857019482797</id><published>2024-05-17T10:08:00.000-07:00</published><updated>2024-05-17T10:12:03.534-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="inteligencia artificial"/><category scheme="http://www.blogger.com/atom/ns#" term="machine learning"/><category scheme="http://www.blogger.com/atom/ns#" term="python"/><title type='text'>Machine Learning : Herramientas para construir modelos de IA para tu proyecto.</title><content type='html'>&lt;p&gt;Hola, en esta entrega vengo a hablarles sobre un tema interesante, ya que es tendencia todo esto del Machine Learning, pero hay que tener en cuenta que hay algo mas alla de chatGPT, Gemini entre otros, y es como puedo crear mi propio modelo de IA aplicado a mi modelo de negocio o proyecto y es ahi cuando quiero compartirles una serie de herramientas que utilizo para crear estos modelos de IA custom para proyectos.&lt;/p&gt;&lt;p&gt;Primero deberemos tener en cuenta que queremos hacer, como queremos implementarlo entre otras, eso es importante ya ese sera nuestro punto de partida, bueno ahora si a lo que vinimos.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Librerias para construir modelos de IA.&lt;/li&gt;&lt;li&gt;Librerias para preparacion de datos.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Modelos preconstruidos para ser aplicados.&lt;/li&gt;&lt;li&gt;Aprendizaje (Bonus)&lt;/li&gt;&lt;/ul&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Librerias para construir modelos de IA&lt;/h4&gt;&lt;div&gt;En esta seccion hablaremos de librerias con las cuales podremos construir nuestros modelos segun nuestras necesidades, primero deberemos tener claro como podemos solucionar nuestro problema, que grado de dificultad va a tener este ya que de ahi deberemos escoger una u otra herramienta.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Tensorflow &lt;/b&gt;: Por excelencia el framework creado por Google es uno de los que mas renombre tiene en el mundo de la IA, con este framework podemos desplegar casi cualquier modelo que necesitemos esta escrito en Python pero posee ports para Javascript, Android, iOS incluso dispositivos Edge como Rasperry pi.&lt;/li&gt;&lt;li&gt;&lt;b&gt;scikit-learn&lt;/b&gt; : Es una libreria que contiene muchos de los modelos necesarios para nuestros proyectos, pero con un uso tan facil que sorprende, ideal para proyectos pequeños, aprendizaje pero incluso tambien para proyectos grandes.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Keras&lt;/b&gt; : includa en Tensorflow pero tambien es posible usarla de forma independiente Keras es la libreria utilizada para contruir redes neurales y deep learning.&lt;/li&gt;&lt;li&gt;&lt;b&gt;PyTorch : &lt;/b&gt;libreria creada por el equipo de IA de Meta, esta posee herramientas para la construccion de modelos de IA, Aprendizaje de maquina, redes neurales generativas entre otras caracteristicas importantes.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Mediapipe : &lt;/b&gt;es un conjunto de soluciones de codigo creado por google y empaquetado para hacer uso de todo el poder de las IA de forma facil en tu proyecto, con modelos para deteccion de objetos, personas, gestos, sonidos y mas.&lt;/li&gt;&lt;li&gt;&lt;b&gt;ML .Net : &lt;/b&gt;Eres entusiasta del desarrollo sobre .NET entonces esta libreria tienes que tenerla en el radas, Machine Learning for .NET es una libreria totalmente escrita para C# donde podras aplicar la mayoria de modelos y permite extender con Tensorflow.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Librerias para preparacion de datos&lt;/h4&gt;&lt;div&gt;Las herramientas para preparar datos son las mismas siempre por eso aqui no hay lista, es facil conseguirlas por un lado &lt;b&gt;Numpy&lt;/b&gt;&amp;nbsp;que entrega todo el poder de la matemática a tus procesos de desarrollo de IA y por otro lado &lt;b&gt;Pandas &lt;/b&gt;que permite analizar y manipular datos, si quieres hacer analisis visuales puedes usar &lt;b&gt;Matploitlib &lt;/b&gt;y &lt;b&gt;Seaborn&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Modelos preconstruidos para ser aplicados&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Si lo que quieres es desplegar modelos preconstruidos solo te puedo decir que el mejor lugar para encontrar todo es &lt;b&gt;Hugging Face &lt;/b&gt;esta es la biblioteca mas completa de modelos de IA ahi podras conocer los diferentes proyectos de empresas y desarrolladores, pero tambien podras descargar y desplegar algunos de estos modelos, tambien te recomiendo &lt;b&gt;Kaggle &lt;/b&gt;que tiene tanto datasets como modelos para implementar.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Aprendizaje&lt;/b&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Como un bonus tambien te dejo por aca recomendaciones por si eres nuevo y quieres aprender, &lt;b&gt;Kaggle &lt;/b&gt;es un buen punto de partida, lo mismo que el editor de &lt;b&gt;Google Colab&lt;/b&gt; que tiene algunos ejemplos que se pueden realizar,&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/2303407857019482797/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2024/05/machine-learning-herramientas-para.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2303407857019482797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2303407857019482797'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2024/05/machine-learning-herramientas-para.html' title='Machine Learning : Herramientas para construir modelos de IA para tu proyecto.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-2693046986501609944</id><published>2024-05-04T15:00:00.000-07:00</published><updated>2024-05-04T15:05:21.544-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="basico"/><category scheme="http://www.blogger.com/atom/ns#" term="composer"/><category scheme="http://www.blogger.com/atom/ns#" term="laravel"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Laravel 101 : Instalando Laravel</title><content type='html'>&lt;p&gt;Hoy doy inicio a una serie de articulos relacionados con Laravel el framework por excelencia de PHP, bueno al menos el elegido por muchos para desarrollar productos innovadores.&lt;/p&gt;&lt;p&gt;Como primero voy a darle la receta de lo que vamos a hacer.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Instalar (Xampp, Wamp, etc)&lt;/li&gt;&lt;li&gt;Instalar Composer&lt;/li&gt;&lt;li&gt;Instalar Laravel&lt;/li&gt;&lt;li&gt;Configuración Basica inicial&lt;/li&gt;&lt;/ol&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Instalación (Xampp, Wamp, etc)&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Este paso es importante ya que debemos tener PHP instalado en nuestro sistema, por lo general si estamos en ambientes #Linux al instalar #Composer este se configura, pero si nos encontramos en ambientes Windows esto no es asi, mi recomendacion es instalar uno de estas herramientas todo en uno que nos liberan la carga, pueden usar Xampp, Wamp, Laragon en fin el que mejor les parezca, importante saber donde queda instalado, esto es primordial para la instalación de composer.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;b&gt;Instalación Composer&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Composer es el manejador de paquetes por excelencia en proyectos de PHP, este lo podemos descargar desde su pagina oficial&amp;nbsp;https://getcomposer.org/ el proceso de instalación varia segun la plataforma en la que nos encontremos, si es base #Linux o #Windows les explicare ambas.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Si estamos en un ambiente Linux es sencillo, primero iremos al nuestra terminal y navegaremos hasta la ruta del home/user en caso de que estes en tu computador personal o al home pleno en caso de que estes en un servidor y lo primero que ejecutaras es lo siguiente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhsWgcdWuY3BtPcH0Jtx2ZZHIzArlYfm9mdvQ2WU_ghYMsYpvHTw2TFrOkRCbxFEDwWICNmNdnFgF7dD7vwBVWOXYX5bKJu-YD-3Cx9Qc7A3FtcCEZIMae3UIn3b32lJnzIpCbgU1qSVcZbcFR5V8Bf9hYBvTixGIRYeqAgR222nKHLrQwxJtOYDmEBQyIx&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;53&quot; data-original-width=&quot;688&quot; height=&quot;35&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhsWgcdWuY3BtPcH0Jtx2ZZHIzArlYfm9mdvQ2WU_ghYMsYpvHTw2TFrOkRCbxFEDwWICNmNdnFgF7dD7vwBVWOXYX5bKJu-YD-3Cx9Qc7A3FtcCEZIMae3UIn3b32lJnzIpCbgU1qSVcZbcFR5V8Bf9hYBvTixGIRYeqAgR222nKHLrQwxJtOYDmEBQyIx=w448-h35&quot; width=&quot;448&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;esto va a generar un archivo de extension .phar este es como una especie de archivo zip de PHP, pero aun no terminamos para que Composer este disponible a nivel global lo tenemos que mandar a la carpeta bin de nuestro sistema.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh9FRB8jGp0laYcz4aww8FpYNDdfOECZjWdUgSWaAnHCA_UpfaL8_GYikgCsWEgR9E1aBOwaYLxATAk05FbMnJRk-onqxyNIUY2bZKGq7aFInnkekKTPJmDrAJw2dAHeGOUxBAOQIiNkDLBfi4PPozLVl_LbHArXZSpn1x2jPdxTcwzq0UqUxIMa0sK-PLI&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;43&quot; data-original-width=&quot;493&quot; height=&quot;34&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEh9FRB8jGp0laYcz4aww8FpYNDdfOECZjWdUgSWaAnHCA_UpfaL8_GYikgCsWEgR9E1aBOwaYLxATAk05FbMnJRk-onqxyNIUY2bZKGq7aFInnkekKTPJmDrAJw2dAHeGOUxBAOQIiNkDLBfi4PPozLVl_LbHArXZSpn1x2jPdxTcwzq0UqUxIMa0sK-PLI=w391-h34&quot; width=&quot;391&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;ten en cuenta que esta carpeta puede variar su ubicacion dependiendo del sabor de linux que tengan, si son base Debia, Ubuntu, Arch, Redhat, etc.... con esto tendremos nuestro Composer listo en #linux.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ahora bien el proceso en linux es un poco mas rapido pero tambien requiere algo de cuidado,&amp;nbsp; tenemos dos formas de hacer el proceso por terminal (power shell) o mediante el instalador este ultimo es la opción que mas recomiendo, aca lo mas importante es verificar que el instalador encontro el PATH donde quedo instalado el binario de PHP, en nuestro sistema Window, como lo muestra la imagen siguiente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgL8G1EioRtwKlgk15U0mTjQ89mRYbb53S1_3hm7VhuhpMX2qnfFhKgLz1PCTgiepLPmpmkojW4bWbtDlejQ4hKK4SWCxWwhjRcxf_6FonyJ0KP_Um2_ujjkFxrIpsIdkHow24JLcs3-OUA2Oob2P98i-JlM98eLpcjzxyinCfTj6qSCw3esMX4x0x0nFNP&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;602&quot; data-original-width=&quot;807&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgL8G1EioRtwKlgk15U0mTjQ89mRYbb53S1_3hm7VhuhpMX2qnfFhKgLz1PCTgiepLPmpmkojW4bWbtDlejQ4hKK4SWCxWwhjRcxf_6FonyJ0KP_Um2_ujjkFxrIpsIdkHow24JLcs3-OUA2Oob2P98i-JlM98eLpcjzxyinCfTj6qSCw3esMX4x0x0nFNP&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;a partir de aqui le damos siguiente, el instalador verificara que no se tenga una version anterior instalada y procedera a hacer el setup de Composer, para validar que nuestro composer quedo bien instalado vamos a una terminal (power shell) y colocamos &lt;b&gt;composer&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg7XOHYB4KsraaFbTKlYI39zf4hNBGVFOqmTpiJDstvTQ_AJEgosoD_w5bitLqHybbW7bNfFaCdkTxJGRG5uACZff77rcV0M-WWhLaaiYs4kIJV_LFt0Bex4mcH6xZjMUam_Eqzo5AslJ-1W6V6ahaj2Uzrp7bnBvoixmg4-GJvI5faDEkLiw5j_IGrvwbW&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;53&quot; data-original-width=&quot;530&quot; height=&quot;32&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg7XOHYB4KsraaFbTKlYI39zf4hNBGVFOqmTpiJDstvTQ_AJEgosoD_w5bitLqHybbW7bNfFaCdkTxJGRG5uACZff77rcV0M-WWhLaaiYs4kIJV_LFt0Bex4mcH6xZjMUam_Eqzo5AslJ-1W6V6ahaj2Uzrp7bnBvoixmg4-GJvI5faDEkLiw5j_IGrvwbW&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b style=&quot;font-size: large;&quot;&gt;Instalación Laravel&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Ya con #Composer instalado es facil el proceso de iniciar nuestro proyecto de #Laravel para esto vamos a escribir la siguiente linea desde nuestra terminal preferida, sea en linux o windows.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhmxSMh0xQ5LJ9zLyrEssDgq_AMnqkXqqSEdetty8RUlKAq2CdKHE7ncIng5d6JG9exHrDYRfaGSVoKkzxTEJuJ567w8BCcXagNURcr7j9JlhT5we3pf9hJ2QIulH7Fkp9EHG8CGioInBUl1cpAZlXbr8fqvcre8IkfHQ8LlcoqFVhM7sZG6CZ2d4LrmUAd&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;37&quot; data-original-width=&quot;730&quot; height=&quot;20&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEhmxSMh0xQ5LJ9zLyrEssDgq_AMnqkXqqSEdetty8RUlKAq2CdKHE7ncIng5d6JG9exHrDYRfaGSVoKkzxTEJuJ567w8BCcXagNURcr7j9JlhT5we3pf9hJ2QIulH7Fkp9EHG8CGioInBUl1cpAZlXbr8fqvcre8IkfHQ8LlcoqFVhM7sZG6CZ2d4LrmUAd=w403-h20&quot; width=&quot;403&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;esto nos creara todo el esqueleto de nuestro aplicacion, ademas va a generar las llaves de seguridad y solo nos quedara pendiente hacer configuraciones basicas de nuestro proyecto.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b style=&quot;font-size: large;&quot;&gt;Configuracion basica Laravel&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Este es nuestro ultimo paso, sencillo pero importante para esto tenemos que crear un archivo con extension .env abrevia &lt;b&gt;enviroments&amp;nbsp;&lt;/b&gt;&amp;nbsp;aqui coloraremos las configuraciones basicas, la instalacion basica de #Laravel dispone de un archivo llamado .env.example que es el ejemplo de como configurar, pero importante lo mas basico de configurar es lo siguiente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg6QJ6lC6cSvXna6yIWNfEkV7B4OK6JDWSS0Xo9Jb9PJvKhYdVOTmnb4Tzq5svwtfCU7bt6URpr3gL_Xud0hWXcUNgCIIxCMfLDeKTTl4SF54kwkGTBcSFRr7khjk1dZkXlVBiz2ILWFb-O9ZXB4l2p5qnFXNcpHGmwBxmAeyn-y5RATqAKRvDxFPjdbJn8&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;152&quot; data-original-width=&quot;273&quot; height=&quot;143&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg6QJ6lC6cSvXna6yIWNfEkV7B4OK6JDWSS0Xo9Jb9PJvKhYdVOTmnb4Tzq5svwtfCU7bt6URpr3gL_Xud0hWXcUNgCIIxCMfLDeKTTl4SF54kwkGTBcSFRr7khjk1dZkXlVBiz2ILWFb-O9ZXB4l2p5qnFXNcpHGmwBxmAeyn-y5RATqAKRvDxFPjdbJn8=w257-h143&quot; width=&quot;257&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Aqui solo tendremos que cambiar el APP_NAME, el APP_ENV en caso de que estemos en modo desarrollo, y el APP_URL cuando pasemos a producción, para verificar que nuestra instalación quedo bien podemos correr el comando SERVE de Artisan, luego les explico que el Artisan.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjgebRRtWApCyCUYwsKRVQ9oxou6Q3D7krOj1JhufVfDYICCBMYRVsoO2hRJnDpVaPcq0uK9Ax2_u_-wiA4qkhXpYNU7SmMwtX4GO24vQWmo8B0PxsxXTckcwQvAHqoxJ7nGAylSqEpbs82x4SypMxShAHPkBd8-2qZSp91MBaxZfyCtOvj1YMuVWDYGWyG&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;35&quot; data-original-width=&quot;267&quot; height=&quot;42&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjgebRRtWApCyCUYwsKRVQ9oxou6Q3D7krOj1JhufVfDYICCBMYRVsoO2hRJnDpVaPcq0uK9Ax2_u_-wiA4qkhXpYNU7SmMwtX4GO24vQWmo8B0PxsxXTckcwQvAHqoxJ7nGAylSqEpbs82x4SypMxShAHPkBd8-2qZSp91MBaxZfyCtOvj1YMuVWDYGWyG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;PD : Cuando instales el Xampp, Wamp o parecidos ten en cuenta que el archivo base de PHP este en el PATH de Windows y que puedar usar PHP desde la terminal.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bueno esta es la primera entrega, pronto les ire compartiendo mas contenido de esta serie de articulos de Laravel.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/2693046986501609944/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2024/05/laravel-101-instalando-laravel.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2693046986501609944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2693046986501609944'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2024/05/laravel-101-instalando-laravel.html' title='Laravel 101 : Instalando Laravel'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEhsWgcdWuY3BtPcH0Jtx2ZZHIzArlYfm9mdvQ2WU_ghYMsYpvHTw2TFrOkRCbxFEDwWICNmNdnFgF7dD7vwBVWOXYX5bKJu-YD-3Cx9Qc7A3FtcCEZIMae3UIn3b32lJnzIpCbgU1qSVcZbcFR5V8Bf9hYBvTixGIRYeqAgR222nKHLrQwxJtOYDmEBQyIx=s72-w448-h35-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-7055243154377689353</id><published>2018-07-05T11:06:00.000-07:00</published><updated>2018-07-05T11:09:54.135-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cordova"/><category scheme="http://www.blogger.com/atom/ns#" term="ionic"/><category scheme="http://www.blogger.com/atom/ns#" term="meteorjs"/><category scheme="http://www.blogger.com/atom/ns#" term="monaca"/><category scheme="http://www.blogger.com/atom/ns#" term="native script"/><category scheme="http://www.blogger.com/atom/ns#" term="react native"/><category scheme="http://www.blogger.com/atom/ns#" term="telerik"/><title type='text'>Especial : Apps Hibridas.</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;a href=&quot;about:invalid#zClosurez&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;about:invalid#zClosurez&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;/a&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;408&quot; data-original-width=&quot;980&quot; height=&quot;83&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s200/1_TWMx_EwfdYI3taqaXsuLVQ.png&quot; width=&quot;200&quot; /&gt;&lt;img alt=&quot;Resultado de imagen para ionic&quot; border=&quot;0&quot; height=&quot;105&quot; src=&quot;https://ionicframework.com/img/meta/ionic-framework-og.png&quot; style=&quot;text-align: center;&quot; width=&quot;200&quot; /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPNwj1bAkt9XI3RuDPzJNTa8Ac8xmYRm_vijDHr8QqETijwMsUSWsMejUJEpP9LBHGN85kf05AxiSUz4FUlSpBmNnIA3eejvuLQf9rDYt9Vd-17TRpKI3YMMylmkm0xU2LZj23ksZfSR4/s1600/react.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;320&quot; data-original-width=&quot;826&quot; height=&quot;76&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPNwj1bAkt9XI3RuDPzJNTa8Ac8xmYRm_vijDHr8QqETijwMsUSWsMejUJEpP9LBHGN85kf05AxiSUz4FUlSpBmNnIA3eejvuLQf9rDYt9Vd-17TRpKI3YMMylmkm0xU2LZj23ksZfSR4/s200/react.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
El mundillo de las apps híbridas ha crecido junto a la potencia de los móviles que utilizamos día a día, antes era complicado entender como funcionaban ahora es mas facil y dependiendo del framework que utilicemos es mas nativo que híbrido.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Quienes son las referencias del mercado ?&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Es un una buena pregunta saber quienes lideran el mercado en lo que se refiere a utilización y creación de apps, la lista es bastante interesante pero al final tienen una misma base, pero en general si vas a empezar a trabajar en ambientes híbridos tendrás que fijarte en estos.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;React Native&lt;/li&gt;
&lt;li&gt;Ionic Framework&lt;/li&gt;
&lt;li&gt;Meteor&lt;/li&gt;
&lt;li&gt;JQuery Mobile&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Bueno esos son algunos, estos utilizan un componente adicional Cordova o Phonegap exceptuando ReactNative bueno el utiliza algo llamado ChakraCore que es un motor javascript de Microsoft y es por defecto el motor de Edge, la finalidad de Cordova, Phonegap o ChakraCore es poder interactuar con las apis de los diferentes sistemas operativos móviles.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
No obstante deberán saber que en el mercado existen una gran cantidad de frameworks que se utilizan para el desarrollo móvil híbrido, unas conocidas otras no tanto, pero de esas que no estan como referentes podemos encontrar a Telerik con NativeScript, Monaca, Intel XDK, entre otros.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;Y por donde empiezo ?&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Si bien debes saber html5, en algunos casos angular, en otros React en general la curva de aprendizaje de estas herramientas son cortas. por lo que con cualquiera puedes aprender rápidamente.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/7055243154377689353/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2018/06/especial-apps-hibridas.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7055243154377689353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7055243154377689353'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2018/06/especial-apps-hibridas.html' title='Especial : Apps Hibridas.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s72-c/1_TWMx_EwfdYI3taqaXsuLVQ.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-6779142323686877939</id><published>2018-06-21T22:24:00.002-07:00</published><updated>2018-06-21T22:25:16.232-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="amazon sns"/><category scheme="http://www.blogger.com/atom/ns#" term="laravel"/><category scheme="http://www.blogger.com/atom/ns#" term="sdk amazon php"/><category scheme="http://www.blogger.com/atom/ns#" term="sms"/><category scheme="http://www.blogger.com/atom/ns#" term="text messages"/><title type='text'>Enviar SMS utilizando Laravel y Amazon SNS</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Empezamos primero por saber que es Amazon SNS, este es un servicio que permite enviar notificaciones multicanal, multicarrier etc. nos permite manejar mensajes de texto(sms), notificaciones push(entre varios carriers como gcm, baidu, amazon, etc.) ademas de canales como el email, en si nos permite tener un espectro amplio en lo que se refiere a notificaciones.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Antes de empzar es importante contar con lo siguiente&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: Roboto, sans-serif; font-size: 14px; margin-bottom: 10px; margin-top: 0px;&quot;&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;AWS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;&lt;code style=&quot;background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12.6px; padding: 2px 4px;&quot;&gt;access key ID&lt;/code&gt;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;&amp;nbsp;and&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;&lt;code style=&quot;background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12.6px; padding: 2px 4px;&quot;&gt;&amp;nbsp;secret access key&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;AWS_REGION (default =&amp;nbsp;&lt;code style=&quot;background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12.6px; padding: 2px 4px;&quot;&gt;us-east-1&lt;/code&gt;):&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
Estos datos se pueden obtener en la consola de aws en la opcion de IAM, donde podemos crear un usuario con sus respctivos permisos en el cual vamos a indicar que puede utilizar SNS.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Despues de tener claro que contamos con lo necesario, procedemos a instalar el SDK de AWS el cual lo integraremos con nuestra app desarrollada en laravel.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Entramos en la carpeta del proyecto y utilizando composer escribimos lo siguiente&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span class=&quot;crayon-v&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;composer&lt;/span&gt;&lt;span class=&quot;crayon-h&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;crayon-e&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;require &lt;/span&gt;&lt;span class=&quot;crayon-v&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;aws&lt;/span&gt;&lt;span class=&quot;crayon-o&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;crayon-v&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;aws&lt;/span&gt;&lt;span class=&quot;crayon-o&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;crayon-v&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;sdk&lt;/span&gt;&lt;span class=&quot;crayon-o&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;crayon-v&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;php&lt;/span&gt;&lt;span class=&quot;crayon-o&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;crayon-i&quot; style=&quot;box-sizing: border-box; color: white; font-family: &amp;quot;monaco&amp;quot; , &amp;quot;monacoregular&amp;quot; , &amp;quot;courier new&amp;quot; , monospace; height: inherit; line-height: inherit; white-space: pre;&quot;&gt;laravel&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Y hemos realizado la instalacion del SDK entonces debemos ir a la carpeta config y abrir el archivo app.php, en este archivo buscaremos el espacio donde agregaremos los providers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;&#39;providers&#39; =&amp;gt; array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Aws\Laravel\AwsServiceProvider::class,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; )&lt;/blockquote&gt;
&lt;br /&gt;
debe quedar algo como lo anterior, despues agregamos el alias.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&#39;aliases&#39; =&amp;gt; array(&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ...&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;AWS&#39; =&amp;gt; Aws\Laravel\AwsFacade::class,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; )&lt;/blockquote&gt;
por ultimo ejecutamos el artisan con el siguiente comando.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: black;&quot;&gt;&lt;span style=&quot;color: white;&quot;&gt;php artisan vendor:publish&amp;nbsp; --provider=&quot;Aws\Laravel\AwsServiceProvider&quot;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
despues de haber realizado este proceso en la carpeta config deberiamos encontrarnos con un archivo llamado aws.php el cual tiene la configuracion en este archivo agregaremos las siguiente lineas para habilitar las credenciales.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&amp;nbsp;&#39;credentials&#39; =&amp;gt; [&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;key&#39;&amp;nbsp; &amp;nbsp; =&amp;gt; &#39;your_key&#39;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#39;secret&#39; =&amp;gt; &#39;your_secret&#39;,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ],&lt;/blockquote&gt;
por ultimo así debería quedar tu controlador de prueba, llevatelo, aquí no te funcionara jeje. pero ese es el que necesitaras.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;no&quot; height=&quot;400px&quot; sandbox=&quot;allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals&quot; scrolling=&quot;no&quot; src=&quot;https://repl.it/@talcual/PerfectTurbulentHertz?lite=true&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/6779142323686877939/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2018/06/enviar-sms-utilizando-laravel-y-amazon.html#comment-form' title='8 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/6779142323686877939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/6779142323686877939'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2018/06/enviar-sms-utilizando-laravel-y-amazon.html' title='Enviar SMS utilizando Laravel y Amazon SNS'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-567870470675728075</id><published>2018-06-20T19:20:00.003-07:00</published><updated>2018-06-20T19:20:59.862-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="cloudflare"/><category scheme="http://www.blogger.com/atom/ns#" term="problema"/><category scheme="http://www.blogger.com/atom/ns#" term="utf-8"/><title type='text'>Cloudflare y los problemas de UTF-8</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Buenas chicos y chicas, después de tanto tiempo vuelvo a escribir un nuevo post, hoy hablare sobre una experiencia con Cloudflare, como casi todos sabemos es un excelente WAF, DNS, CDN y mucho mas pero como todo en la vida no es infalible y muchas veces tiene una serie de problemas que se generan por su naturaleza.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Bueno todos en la vida hemos utilizado acentos, letras como la ñ, entre otros caracteres que por lo general no suelen estar en el alfabeto americano, para ellos utilizamos la codificación UTF-8 para&amp;nbsp; que estos puedan ser mostrados en pantalla, sucede que cuando se realizan procesos de cacheo de sitios web lo que se almacena es entregado en html a menos que se le indique lo contrario eso me sucedió con Cloudflare y su servicio de cache y cdn, me puse a buscar a ver a quien mas le había sucedido lo mismo y encontré una solución muy particular.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaAIw-tm5ylhvVbt3x3_Fv-77QVFPaxM4ZPVo9DLGIrRjAPW6Bmhx03UzRTt2tsIKS1xFp1STqEkY9ygpgNJi6WO8lh5ilC7BthRw-XQNMme2ej2223zwFOqvufOeIIEMzOcZYXgT-2Lv/s1600/utf-8.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;175&quot; data-original-width=&quot;398&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaAIw-tm5ylhvVbt3x3_Fv-77QVFPaxM4ZPVo9DLGIrRjAPW6Bmhx03UzRTt2tsIKS1xFp1STqEkY9ygpgNJi6WO8lh5ilC7BthRw-XQNMme2ej2223zwFOqvufOeIIEMzOcZYXgT-2Lv/s1600/utf-8.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCkPVzrfxJBx4xAJ3IHVbMnZMgx3zCGmSwPhgWyZm2uyZlh-JsKPJEaH2tMA6EZmmgf96WRFomzaYW0vmOhmL-JvN4AiAbhCqjnp7RpPd57abm3M-CBF-UZa-xkwjM9b4-0xp1GqtTECyr/s1600/no-charset.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;171&quot; data-original-width=&quot;447&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCkPVzrfxJBx4xAJ3IHVbMnZMgx3zCGmSwPhgWyZm2uyZlh-JsKPJEaH2tMA6EZmmgf96WRFomzaYW0vmOhmL-JvN4AiAbhCqjnp7RpPd57abm3M-CBF-UZa-xkwjM9b4-0xp1GqtTECyr/s1600/no-charset.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCkPVzrfxJBx4xAJ3IHVbMnZMgx3zCGmSwPhgWyZm2uyZlh-JsKPJEaH2tMA6EZmmgf96WRFomzaYW0vmOhmL-JvN4AiAbhCqjnp7RpPd57abm3M-CBF-UZa-xkwjM9b4-0xp1GqtTECyr/s1600/no-charset.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
La primera imagen muestra como se debería ver el response que llega desde el servidor,la segunda muestra el error como tal, para esto es recomendable forzar al sistema a indicar que tipo de codificación se debe utilizar por defecto, por lo que se recomienda lo siguiente.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
utilizar la opción para apache desde un archivo .htaccess &quot;AddDefaultCharset UTF-8&quot; que permite forzar el tipo de codificación del sitio, una vez se realice esto subimos el archivo a la raíz y vuala. actualizamos el sitio con CTRL + F5 para borrar la cache y veremos los resultados que buscamos.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/567870470675728075/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2018/06/cloudflare-y-los-problemas-de-utf-8.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/567870470675728075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/567870470675728075'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2018/06/cloudflare-y-los-problemas-de-utf-8.html' title='Cloudflare y los problemas de UTF-8'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaAIw-tm5ylhvVbt3x3_Fv-77QVFPaxM4ZPVo9DLGIrRjAPW6Bmhx03UzRTt2tsIKS1xFp1STqEkY9ygpgNJi6WO8lh5ilC7BthRw-XQNMme2ej2223zwFOqvufOeIIEMzOcZYXgT-2Lv/s72-c/utf-8.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-7299928225025016521</id><published>2018-03-08T14:38:00.001-08:00</published><updated>2018-03-08T14:38:02.990-08:00</updated><title type='text'>Un poco de C# : Condicionales</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Los condicionales en C# son muy faciles de utilizar, para ello deberemos tener en cuenta las nociones basicas algoritmicas y aplicarlas al lenguaje. yo no les voy a explicar nociones basicas en este post. depronto me dedico a hacer un pequeño cursillo explicativo de como utilizar C#, por ahora les dejo una muestra de los condicionales.&lt;/div&gt;
&lt;br /&gt;
Utilizando repl.it podemos ver el resultado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;true&quot; allowtransparency=&quot;true&quot; frameborder=&quot;no&quot; height=&quot;400px&quot; sandbox=&quot;allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals&quot; scrolling=&quot;no&quot; src=&quot;https://repl.it/@talcual/Condicionales-C?lite=true&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/7299928225025016521/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2018/03/un-poco-de-c-condicionales.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7299928225025016521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7299928225025016521'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2018/03/un-poco-de-c-condicionales.html' title='Un poco de C# : Condicionales'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-8836561089132833007</id><published>2014-09-08T10:19:00.001-07:00</published><updated>2014-09-08T10:39:04.582-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="desarrollo"/><category scheme="http://www.blogger.com/atom/ns#" term="frwmeworks"/><category scheme="http://www.blogger.com/atom/ns#" term="herramientas"/><title type='text'>El Camino del Developer : Framework vs Toolkit vs Desarrollo Propio.</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;img src=&quot;http://framework.zend.com/images/logos/ZendFramework-logo.png&quot; height=&quot;52&quot; width=&quot;200&quot; /&gt;&lt;img alt=&quot;Belt est un toolkit PHP open source proposant plus de 60 nouvelles fonctions pratiques pour vos développements PHP.&quot; src=&quot;http://www.lafermeduweb.net/images/billets/2014-05/belt-toolkit-php.jpg&quot; height=&quot;100&quot; width=&quot;200&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Todo desarrollador de aplicación llega a un punto en el cual le toca tomar una gran decisión, pero que y como hacerlo, cuando decir puedo usar un framework o me quedo con las herramientas desarrolladas..... buena pregunta. vamos a dar un par de puntos para que sean analizados.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Frameworks : sea cual sea el lenguaje que uses, encontraras un mar de utilidades en un framework en uno mas que en otros todo depende de su grado de madures, pero básicamente son populares por integrar todo lo que necesitas a la mano. Lo malo también es lo bueno de estos, con una arquitectura de código publica o cerrada tendrán problemática de seguridad y el crecimiento desmesurado de archivos, ya tendrás que pensar en mas que un servicio shared de hosting para entrar a las grandes ligas del consumo, al ser publicas muchas personas revisaran este código y lo mejoraran pero otras lo dañaran o crearan código para dañarlo... en fin es una buena opción para estandarizar tu proyecto.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Toolkit Propio : de cierto modo no hay nada como lo que uno a desarrollado, la posibilidad de ver crecer lo que has codeado es algo sin competencia, vemos que el grado de madures depende del grado de madures del desarrollador y puedes incluir todo aquello que necesitemos.... una arquitectura basada en tus observaciones permitirá no fallar donde los frameworks han fallado que es su mayoría es la velocidad de respuesta.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;teniendo todo esto en cuenta es tu deber tomar la mejor&amp;nbsp;decisión&amp;nbsp;dependiendo de lo que creas conveniente para&amp;nbsp;tu proyecto.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/8836561089132833007/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/09/el-camino-del-developer-framework-vs.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/8836561089132833007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/8836561089132833007'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/09/el-camino-del-developer-framework-vs.html' title='El Camino del Developer : Framework vs Toolkit vs Desarrollo Propio.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-1945088339097688798</id><published>2014-08-18T10:20:00.000-07:00</published><updated>2014-08-18T10:20:05.332-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="alta disponibildad"/><category scheme="http://www.blogger.com/atom/ns#" term="nginx"/><category scheme="http://www.blogger.com/atom/ns#" term="proxy reverso"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuconla"/><title type='text'>#UbuConLa - Alta Disponibilidad de Aplicacion con NGINX</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
NGINX en la #UbuConLA excelente. aqui se las dejo.&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;356&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;//www.slideshare.net/slideshow/embed_code/38026477&quot; style=&quot;border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;&quot; width=&quot;427&quot;&gt; &lt;/iframe&gt; &lt;/div&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;strong&gt; &lt;a href=&quot;https://www.slideshare.net/talcualvip/taller-ha-y-balanceo-de-cargas-con-nigx&quot; target=&quot;_blank&quot; title=&quot;Taller HA y Balanceo de Cargas con NIGX.&quot;&gt;Taller HA y Balanceo de Cargas con NIGX.&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;http://www.slideshare.net/talcualvip&quot; target=&quot;_blank&quot;&gt;Luis Toscano&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/1945088339097688798/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/08/ubuconla-alta-disponibilidad-de.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/1945088339097688798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/1945088339097688798'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/08/ubuconla-alta-disponibilidad-de.html' title='#UbuConLa - Alta Disponibilidad de Aplicacion con NGINX'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-1355878297081178930</id><published>2014-08-06T22:38:00.001-07:00</published><updated>2014-08-06T22:38:07.913-07:00</updated><title type='text'>El Camino del Developer : Tuberias en Windows usando PHP. (Administrador de Tareas)</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola amigos alguna vez se han preguntado como acceder a la informacion que se encuentra en el taskmanager de Windows solo para saber si algo esta funcionando mal, bueno y ahora hacerlo desde tu web con PHP seria mejor. bueno mira &amp;nbsp;revisando mi biblioteca de codigos de esos que hace años tengo guardados me encontre con este pedacillo de codigo que permite revisar los procesos activos de tu servidor. lo he probado en mi laptop con Win7 y en un Servidor con WinS2012 y ha funcionado de maravilla espero les sirva de algo en su proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src=&quot;http://pastebin.com/embed_iframe.php?i=6D0j0yBF&quot; style=&quot;border: none; width: 100%;&quot;&gt;&lt;/iframe&gt;

&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/1355878297081178930/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/08/el-camino-del-developer-tuberias-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/1355878297081178930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/1355878297081178930'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/08/el-camino-del-developer-tuberias-en.html' title='El Camino del Developer : Tuberias en Windows usando PHP. (Administrador de Tareas)'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-2168900560300130583</id><published>2014-07-18T06:47:00.001-07:00</published><updated>2014-07-18T06:47:37.447-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="datetime-local"/><category scheme="http://www.blogger.com/atom/ns#" term="html5"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>El Camino del Developer : Trabajando con el Campo datetine-local</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola amigossss. jejeje hoy les vengo a traer un post de los muchos que llegaran a los que se les titula el Camino del Developer. jajaja. hoy hablando del campo datetime-local de HTML5 que bastante interesante es pero que hay que tener mucho cuidado y atención y saber uno que otro truco cuando lo utilizamos.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Bueno sin mas palabras vamos al grano, el campo de type datetime-local nos renderizara una caja muy parecida a un datetime-picker de esos bonitos como los que tiene JQuery UI u otros frameworks, solo que este no tiene tanto skin pero como es HTML5 le podemos hacer lo que queramos con CSS. plasmarlo en tu form no es complicado solo deberás montar un input de la siguiente forma.&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;input type=&quot;datetime-local&quot; /&gt;&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
y lo que a continuación les clocare son los posibles atributos que este objeto/complemento o como le quieras llamar puede utilizar.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;global attributes&lt;/li&gt;
&lt;li&gt;name&lt;/li&gt;
&lt;li&gt;disabled&lt;/li&gt;
&lt;li&gt;form&lt;/li&gt;
&lt;li&gt;type&lt;/li&gt;
&lt;li&gt;autocomplete&lt;/li&gt;
&lt;li&gt;autofocus&lt;/li&gt;
&lt;li&gt;list&lt;/li&gt;
&lt;li&gt;min&lt;/li&gt;
&lt;li&gt;max&lt;/li&gt;
&lt;li&gt;step&lt;/li&gt;
&lt;li&gt;readonly&lt;/li&gt;
&lt;li&gt;requred&lt;/li&gt;
&lt;li&gt;value&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Si desean saber mas sobre estos atributos les recomiendo este link de la W3C.&amp;nbsp;&lt;a href=&quot;http://www.w3.org/TR/html-markup/input.datetime-local.html&quot; target=&quot;_blank&quot;&gt;Link W3C&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Ahora les dejo un Hack.... no no creo que sea un Hack mas bien es un truco porque a la hora de colocar la fecha que hemos guardado en la DB nos vamos a volver loco buscando en google una solución. resulta ser que para colocar la fecha en el campo desde JS ya sea JQuery o cualquier otro framework el contenido que deseamos mostrar en este caso la fecha almacenada debe ser un String,,, Ouchh!! si un String pero carajos es un campo date jajaja pero tranquilos. la solución es simple pueden hacerla de esta forma.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
con JQuery&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
$(&#39;elcampo&#39;).val(objson.toString());&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Listo con esa linea pasando el dato que has traído desde tu DB en formato JSON podrás colocar de nuevo la fecha desde JS. espero esto sea de gran ayuda para ti cuando estés revisando el tema de los datetime-local.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
no se te olvide darle un&amp;nbsp;+1 y compartir este articulo en las redes sociales :D&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/2168900560300130583/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/07/el-camino-del-developer-trabajando-con.html#comment-form' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2168900560300130583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2168900560300130583'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/07/el-camino-del-developer-trabajando-con.html' title='El Camino del Developer : Trabajando con el Campo datetine-local'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-9067583271123155796</id><published>2014-06-25T21:04:00.000-07:00</published><updated>2014-06-25T21:04:13.859-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="databases"/><category scheme="http://www.blogger.com/atom/ns#" term="db2"/><category scheme="http://www.blogger.com/atom/ns#" term="ibm db2"/><category scheme="http://www.blogger.com/atom/ns#" term="redhat"/><title type='text'>Moviendo bases de datos IBM DB2 en Distros Linux.</title><content type='html'>&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola amigos en este pequeño pero sustancioso articulo les voy a comentar como hacer una copia hacia otro servidor de una base de datos db2, esta información llega a ustedes gracias a ....... XD bueno en fin en mi labor diaria me he topado con el tema de como carajos muevo datos desde una db2 a otra db2 claro teniendo en cuenta lo siguiente la base de datos de destino debe ser igual es decir misma versión. en nuestro caso la base de datos esta idéntica gracias al poder de vConverter.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Pasemos a lo bueno, después de buscar y buscar por internet encontré este hermoso comando para db2 que permite hacer eso que nosotros necesitamos, este se conoce como db2move y funciona de la siguiente forma.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
primero que todo estamos sobre un entorno linux. digamos redhat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Buscamos una unidad donde tengamos suficiente espacio para albergar los datos de la copia de manera temporal.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Creamos una carpeta aja con el comando mkdir.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Accedemos a la carpeta que habéis creado como no con el comando cd carpetanueva&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Estando en vuestra carpeta no tan solo basta con ejecutar db2move nombredeladb export&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Esto iniciara el volcado de la db a archivos con extencion PC/IXF, con los cuales vas a realizar lo que viene en el siguiente punto.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Tomas la carpeta que habéis creado y la comprimes en zip, tar.gz, tar, rar o en lo que te parezca el tema es poder descargar esta información a un pc.&amp;nbsp;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Luego subela al servidor de destino, descomprimirla y accede a la carpeta, para luego hacer lo siguiente.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Ejecuta el comando db2move nombredeladb import y listo empezara a importar los datos que habeis copiado desde la otra db2.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Tengan en cuenta que este ejemplo mostrado se da cumpliendo varias condiciones,&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Es una copia de una db que esta un una maquina fisica hacia una maquina virtual.&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Las dos db2 son idénticas, gracias a un vConverter.&lt;/li&gt;
&lt;/ol&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Bueno es simple al menos el uso en este ejemplo pero si desean ver todo lo que pueden hacer con el comando db2move les recomiendo el siguiente enlace.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://www-01.ibm.com/support/knowledgecenter/SSEPGG_8.2.0/com.ibm.db2.udb.doc/core/r0002079.htm?lang=en&quot; target=&quot;_blank&quot;&gt;Ayuda del Builder de DB2 en IBM.&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Algo simple pero que depronto no sabes que existe.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/9067583271123155796/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/06/moviendo-bases-de-datos-ibm-db2-en.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/9067583271123155796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/9067583271123155796'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/06/moviendo-bases-de-datos-ibm-db2-en.html' title='Moviendo bases de datos IBM DB2 en Distros Linux.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-5351855491175893996</id><published>2014-04-10T11:58:00.000-07:00</published><updated>2014-04-10T12:02:17.934-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="factory"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="js"/><title type='text'>Un Storage de Objetos en Javascript.</title><content type='html'>&lt;div class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
En mi diario labor como desarrollador llegue a un punto donde se complicaba la vida con algunos componentes en jQuery debido a que debia invocarlos en varias partes de mi codigo, despues de tanto pensar me pregunte y si puedo hacer un storage de estos complementos en js y pues esto fue lo que nacio un storage de objetos en javascript, actualmente lo estoy utilizando para ordenar unas datatables pero puede almacenar muchas otras cosas mas.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;

// DataTables Global Storage
var $dtstorage = function(){
  this.storage = {};

  this.add = function(name,$dt){
    this.storage[name] = $dt;
  }

  this.get = function(name){
     for(i in this.storage){
       if(i == name){
         return this.storage[i];
       }
     }      
  }

}

// Instancing $dtstorage
$dstore = new $dtstorage;

&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/5351855491175893996/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/04/un-storage-de-objetos-en-javascript.html#comment-form' title='3 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/5351855491175893996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/5351855491175893996'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/04/un-storage-de-objetos-en-javascript.html' title='Un Storage de Objetos en Javascript.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-295658012985096860</id><published>2014-03-10T06:22:00.001-07:00</published><updated>2014-03-10T06:24:52.649-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bugfix"/><category scheme="http://www.blogger.com/atom/ns#" term="errores"/><category scheme="http://www.blogger.com/atom/ns#" term="openfire"/><category scheme="http://www.blogger.com/atom/ns#" term="problemas"/><title type='text'>fixCentral : Openfire Classes Home not found</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;img src=&quot;http://role-project.sourceforge.net/wiki/images/1/1a/Openfire_logo.png&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Hola amigos mios, hoy llegando a la oficina me encuentro con un interesante pero tedioso problema el servidor de mensajeria interna en este caso Openfire se encuentra caido y empezar a revisar porque ha pasado esto, resulta que hace poco actualize a la version 3.9 lo cual es bueno siempre estar actualizado el problema se presento cuando no iniciaba jajaj, en el preciso momento que arranco el servicio e intento acceder al panel de control fuazz me encuentro con que el servicio me pide una nueva instalacion..... pero me muestra el error Openfire Classes Home not found el cual me pone a pensar y que sucedio, revisando documentacion en los foros de openfire encuentro que cuando el sistema tiene reinicios subitos puede que presente un error y se pierdan registros normales, continue mi busqueda en el gran buscador y encontre una solucion la cual es colocar en el ejecutable del openfire una linea que agrega al classpath la ruta del directorio de openfire para su correcto funcionamiento, entonces sin mas palabras la mejor solucion al problema es la siguiente.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;text-align: justify;&quot;&gt;
Agregar mediante un export la linea /opt/openfire de la siguiente forma export openfireHome=/opt/openfire y si desean dejar de manera automatica pueden colocarlo directamente en el /etc/profile mediante nano o vim o el editor que deseen.&lt;/blockquote&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/295658012985096860/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/03/fixcentral-openfire-classes-home-not.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/295658012985096860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/295658012985096860'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/03/fixcentral-openfire-classes-home-not.html' title='fixCentral : Openfire Classes Home not found'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-6761936163550795761</id><published>2014-01-18T12:12:00.001-08:00</published><updated>2014-01-18T12:13:53.449-08:00</updated><title type='text'>Ganadores del Reto : la unidad informa y escucha, Vive Gobierno Movil.</title><content type='html'>Ya recuerdo aquel fin de semana lleno de mucho codigo, desarrollo, creatividad, innovacion entre otros aspectos que dejaron como resultado excelente aplicaciones en el mercado, orgullosamente fuimos uno de los equipos ganadores del encuentro CaribeCoders dejo en claro que somos capaces de entendernos, Barranquilla, Cucuta e Ibague se juntaron y crearon una gran herrameinta para la unidad de victimas.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://programa.gobiernoenlinea.gov.co/anuncios.shtml?apc=eax;x;x;x1-&amp;amp;x=81896&quot; target=&quot;_blank&quot;&gt;Anuncio Oficial MinTIC&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Team CaribeCoders&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Luis Toscano&lt;/li&gt;
&lt;li&gt;Johana Salinas&lt;/li&gt;
&lt;li&gt;Pablo Dorado&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Ganadores del Reto - La Unidad Informa y Escucha&lt;br /&gt;
Valledupar 2013 - Vive Gobierno Movil&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/www.caribecoders.com&quot; target=&quot;_blank&quot;&gt;www.caribecoders.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/6761936163550795761/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2014/01/ganadores-del-reto-la-unidad-informa-y.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/6761936163550795761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/6761936163550795761'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2014/01/ganadores-del-reto-la-unidad-informa-y.html' title='Ganadores del Reto : la unidad informa y escucha, Vive Gobierno Movil.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-2459968250485284636</id><published>2013-11-14T18:46:00.000-08:00</published><updated>2013-11-14T18:46:13.247-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="startup weekend barranquilla"/><category scheme="http://www.blogger.com/atom/ns#" term="startups"/><title type='text'>Mentor Yo ?? si Mentor en el #SWBarranquilla. 2013</title><content type='html'>Hola amigos, en esta edición de Startup Weekend Barranquilla he tenido la oportunidad de pertenecer al staff de Mentores del #SW, como se logra mucho trabajo, actualmente como bien saben soy web developer pero por un gusto sin igual por los negocios y el emprendimiento, es hay cuando en #CampusParty2013 se dio el ofrecimiento, yo sin pensar lo acepte.&lt;br /&gt;
&lt;br /&gt;
Hoy después de grandes vivencias, en #CampusParty2013 donde la idea de negocio no logro el puntaje, en el &amp;nbsp;#DAL( Desarrollando America Latina ) donde fuimos los ganadores y ahora vemos los frutos y finalmente una gran Convocatoria de Vive Gobierno Móvil donde nos quedamos con uno de los retos, me lleva a compartir experiencias que enriquecen la vida de los developers y de los emprendedores.&lt;br /&gt;
&lt;br /&gt;
Nunca te dejes opacar por los demás y veras que siempre sera lo mejor para ti.... Por eso hoy soy mentor del #SWBarranquilla y mi Compañera de Equipo Joha Salinas es Mentora en el #GoogleDevBus. porque nos hemos ganado las cosas y seguiremos haciéndolo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/2459968250485284636/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/11/mentor-yo-si-mentor-en-el.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2459968250485284636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2459968250485284636'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/11/mentor-yo-si-mentor-en-el.html' title='Mentor Yo ?? si Mentor en el #SWBarranquilla. 2013'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-5348341627750386619</id><published>2013-10-17T15:27:00.003-07:00</published><updated>2013-10-17T15:27:46.617-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="campus party"/><category scheme="http://www.blogger.com/atom/ns#" term="campusero"/><category scheme="http://www.blogger.com/atom/ns#" term="colombia"/><category scheme="http://www.blogger.com/atom/ns#" term="travesia"/><title type='text'>La Travesia del  Campusero  - #CPCO06</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;img height=&quot;228&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQnqjWYsVo-arRpbDCnU7nHsGOcQCp555Vj5wHDc80brlig2qLUXp-UOvL-UgMpufdFfsXSrT24KJc9aiBzGaRUTey_3g6TW9ep-64YqoIFa4NN-VDoK0WWT6G_2fAr54UuwcQfOfVimb/s320/campoudf.jpg&quot; width=&quot;320&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Bueno amigos les cuento un poco sobre mi experiencia campusera, mas de 7 dias en el lugar donde se concentra la mayor cantidad de tecnología del país, el trafico de Internet mas alto entre otros records jaja, bueno todo empezó con la salida, como buen campusero salí con el combo de la #RutaCaribe como bien saben soy de Barranquilla, salimos de la ciudad de Cartagen, continuamos a Monteria y de hay hasta Medellin, un a noche de acampada como nunca, conociendo a personas raras, interesantes y cheveres, ahora todo eso sucedio el sabado y el domingo antes de iniciar el #CPCO06.&lt;br /&gt;
&lt;br /&gt;
Ahora bien llega el lunes, un desorden total, entre discusiones y mal entendidos logramos entrar a la Arena, muy felices todos con algo de hambre empezamos a organizarnos y esperar la gran apertura, pero sorpresa no hay carpas para los campuseros no han llegado y todo se vuelve un despelote, 3 horas para guardar el equipaje y 3 horas mas para sacarlo, que vaaa, para resumirles mi primera noche en el campus la pase en la Arena hay dormi muy sabroso despues de que la organizacion buscara una solucion para los campuseros que no tenian su carpa.&lt;br /&gt;
&lt;br /&gt;
Martes seee llegaron las carpas y todos a organizar, un paseo de maletas por toda la plaza mayor parecia contrabando de maletas jajaja, ya organizados solo quedaba pasarla bien, por mi parte era la primera vez en asistir a un campus party pero tambien la primera vez en ser uno de los expositores asi que a trabajar me toco realizar mi presentacion en tiempo record, ademas de estar participando en dos eventos internos, la maraton de negocios y el nerd challenge de p4s.co en fin todo fue una locura.&lt;br /&gt;
&lt;br /&gt;
Miercoles a un dia de mi presentacion, me tocaba colaborar con otra presentacion trabajamos pleno ese dia y esperar al dia siguiente para mostrarle a los asistentes algo sobre javascript, como tal este fue el dia mas suave del campus.&lt;br /&gt;
&lt;br /&gt;
Jueves hermoso jueves al corazon le tocan la puerta una campusera hermosa.... por cierto muchas mujeres hermosas en medellin..... mucha preparacion para la presentacion y llego el momento de la hora 0, gracias a Dios todo salio muy bien todos quedaron contentos y que mas da, lo mismo de siempre no hacen preguntas pero al final un bulto de gente preguntando cosas.&lt;br /&gt;
&lt;br /&gt;
Viernes si si Colombia si si Caribe..... ese dia salimos a ver el partido de la seleccion por fuera y a conocer un poco de medellin, disfrutamos mucho esa noche.... y mi campusera me seguia enamorando.&lt;br /&gt;
&lt;br /&gt;
Sábado ufff otro día bastante tranquilo, bastante cansado de la parranda de la selección pero con las pilas puestas, para atender todo lo que se veía, no logramos pasar en la maratón de negocios pero hicimos buenos amigos tanto que de hay salio mi participación como mentor en el próximo Startup Weekend Barranquilla, así que me doy por bien servido.&lt;br /&gt;
&lt;br /&gt;
LLego el día final, el domingo desarmando carpas, organizando maletas y preparando todo para volver a mi caribe querido, llegamos a la terminal y pa atrás como el cangrejo, en el caminoo ufff guerrilla que malo perdimos tiempo y llegamos después de pitos a la ciudad de cartagena.... cansados pero con la actitud de haberle cumplido al campus party en su sexta versión.... espero poder volver a asistir.</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/5348341627750386619/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/10/la-travesia-del-campusero-cpco06.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/5348341627750386619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/5348341627750386619'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/10/la-travesia-del-campusero-cpco06.html' title='La Travesia del  Campusero  - #CPCO06'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQnqjWYsVo-arRpbDCnU7nHsGOcQCp555Vj5wHDc80brlig2qLUXp-UOvL-UgMpufdFfsXSrT24KJc9aiBzGaRUTey_3g6TW9ep-64YqoIFa4NN-VDoK0WWT6G_2fAr54UuwcQfOfVimb/s72-c/campoudf.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-627876969153075078</id><published>2013-09-15T14:45:00.001-07:00</published><updated>2013-09-15T14:45:31.444-07:00</updated><title type='text'>Alistando preparativos para el Campus Party 2013</title><content type='html'>Bueno ya estoy alistando todo para mi viaje a la sexta edicion del campus party en Colombia y la primera vez que puedo asistir..... y con pie fuerte ya que estare dictando un Taller de JS para dummies o personas que deseen aprender o que estan aprendiendo. asi que con el nuevo laptop, la tablet y el celular me estare paseando por los pasillos de la locacion.&lt;br /&gt;
&lt;br /&gt;
a los interesados estare en la seccion pitagoras el miercoles de 6 a 7 pm asi que todos a aprender. xD.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/627876969153075078/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/09/alistando-preparativos-para-el-campus.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/627876969153075078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/627876969153075078'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/09/alistando-preparativos-para-el-campus.html' title='Alistando preparativos para el Campus Party 2013'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-7990004667425898609</id><published>2013-09-10T07:41:00.000-07:00</published><updated>2013-09-10T07:41:19.190-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="activemq"/><category scheme="http://www.blogger.com/atom/ns#" term="colas"/><category scheme="http://www.blogger.com/atom/ns#" term="foursquare"/><category scheme="http://www.blogger.com/atom/ns#" term="rabbitmq"/><title type='text'>Colas de Tarea o Colas de Mensaje</title><content type='html'>&lt;div class=&quot;tr_bq&quot;&gt;
En nuestro actual escenario donde estamos rodeados del famoso &quot;&lt;b&gt;Big Data&lt;/b&gt;&quot; requeríamos de una forma de poder controlar el flujo de información que por su gigantesca proporción no podía ser trasladada de un solo golpe, he hay cuando un concepto viejo para mucho llega a solucionar un problema real del nuestro presente, las colas.... si esas ese tipo de estructura de datos que nos enseñaron en la universidad donde el primero que entraba era el primero en salir.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
Bajo el control &lt;b&gt;FIFO&lt;/b&gt; podemos tener el control de las tareas o mensajes pueden ser cualquier cosa que podamos enviar a una cola, en la actualidad existen muchas herramientas especializadas en este tipo de trabajos una de ellas &lt;b&gt;RabbitMQ&lt;/b&gt;, o &lt;b&gt;Rabbit Message Queue&lt;/b&gt;. Cola de Mensajes en español, pero también existe otro tipo de soluciones creadas en diferentes lenguajes de programación como &lt;b&gt;Kestrel&lt;/b&gt; que mezcla de &lt;b&gt;Scala&lt;/b&gt;, &lt;b&gt;Ruby&lt;/b&gt; y &lt;b&gt;Shell&lt;/b&gt; lo que permite algo muy avanzado y que actualmente es usado por &lt;b&gt;foursquare&lt;/b&gt;, también tenemos &lt;b&gt;ActiveMQ&lt;/b&gt; de la &lt;b&gt;Apache Foundation&lt;/b&gt;, pero como para mi siempre debemos llegar al origen les mostrare un ejemplo donde implementar una cola de tareas o mensajes en &lt;b&gt;JavaScript&lt;/b&gt; útil para cuando necesitemos realizar ejecuciones de funciones que a su ves tienes llamadas &lt;b&gt;Ajax&lt;/b&gt; y estas a su ves están obligadas a ser sincronizadas. bueno aquí se los dejo.&lt;br /&gt;
&lt;blockquote&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var cola = [];&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cola.push(funcion1);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cola.push(function2);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cola.push(function3);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cola.push(function4);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; cola.push(finalfunction);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var u = 0;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; var estados = [&#39;function1&#39;,&#39;function2&#39;,&#39;function3&#39;,&#39;function4&#39;,&#39;finalfunction&#39;];&lt;br /&gt;
&amp;nbsp; &amp;nbsp; while (cola.length &amp;gt; 0) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;console.log(u+&#39; &#39;+estados[u]);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; (cola.shift())(); &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;++u;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
Una forma mas sencilla de entender el procedimiento.</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/7990004667425898609/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/09/colas-de-tarea-o-colas-de-mensaje.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7990004667425898609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/7990004667425898609'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/09/colas-de-tarea-o-colas-de-mensaje.html' title='Colas de Tarea o Colas de Mensaje'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-2010092113730028076</id><published>2013-07-13T22:29:00.002-07:00</published><updated>2013-07-13T22:29:55.979-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="desarrollo web"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Closures o Funciones Anonimas en PHP</title><content type='html'>Hola amigos hoy un noche de julio les regalo este post donde estaré comentándoles sobre algo llamado Closures o como también son llamadas Funciones Anónimas, comúnmente vistas en lenguajes como javascript y muy bien implementadas en JQuery pero sabían que se pueden utilizar en PHP, bueno yo les enseñare como utilizarlas y sacarles el máximo jugo a este tipo de utilidad.&lt;br /&gt;
&lt;br /&gt;
Basta indicarles que estas solo están disponibles desde la versión 5.3 por lo que los servidores viejitos no funcionara el siguiente ejemplo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
$variable_de_fn_anonima = function(){&lt;br /&gt;&amp;nbsp; echo &#39;Ejemplo de una funcion Anonima Sencillo&#39;;&lt;br /&gt;};&lt;br /&gt;$variable_de_fn_anonima();&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
/* Tambie podemos hacerlo de esta forma &amp;nbsp;un poco mas avanzada*&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;echo&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #0000bb; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;preg_replace_callback&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #dd0000; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;~-([a-z])~&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;,&amp;nbsp;function&amp;nbsp;(&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #0000bb; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;$coincidencia&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;)&amp;nbsp;{&lt;br style=&quot;border-color: rgb(153, 153, 204);&quot; /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #0000bb; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;strtoupper&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #0000bb; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;$coincidencia&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #0000bb; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;]);&lt;br style=&quot;border-color: rgb(153, 153, 204);&quot; /&gt;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;},&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #dd0000; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&#39;hola-mundo&#39;&lt;/span&gt;&lt;span style=&quot;background-color: white; border: 0px rgb(153, 153, 204); color: #007700; font-family: monospace; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;);&lt;/span&gt;&lt;br /&gt;?&amp;gt;&lt;/blockquote&gt;
&lt;br /&gt;
dos sencillos ejemplos de como trabajar con este tipo de funciones y como les podrá ayudar, humm bueno eso se lo dejo a la imaginación de cada uno, yo por mi parte lo estoy utilizando en un toolkit sencillo en la parte de un Framework Slim. saludos.</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/2010092113730028076/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/07/closures-o-funciones-anonimas-en-php.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2010092113730028076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/2010092113730028076'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/07/closures-o-funciones-anonimas-en-php.html' title='Closures o Funciones Anonimas en PHP'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-4529452474672082033</id><published>2013-05-14T21:16:00.001-07:00</published><updated>2013-05-14T21:16:56.823-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="comunicaciones unificadas"/><category scheme="http://www.blogger.com/atom/ns#" term="datos"/><category scheme="http://www.blogger.com/atom/ns#" term="informacion"/><category scheme="http://www.blogger.com/atom/ns#" term="redes convergentes"/><category scheme="http://www.blogger.com/atom/ns#" term="voz"/><title type='text'>Comunicaciones Unificadas, una Realidad... </title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;img src=&quot;http://www.intergrupo.com/sala-prensa/ContenidosImagen/Post/comunicaciones-unificadas.jpg&quot; /&gt;&lt;/div&gt;
&lt;br /&gt;
En nuestra&amp;nbsp;época&amp;nbsp;estamos viviendo cambios y revoluciones las cuales ni&amp;nbsp;pensábamos&amp;nbsp;que&amp;nbsp;podíamos&amp;nbsp;vivirlos, pero ya eso quedo en la historia y definitivamente estamos viviendo lo que nunca pensamos vivir.&lt;br /&gt;
&lt;br /&gt;
Las comunicaciones unificadas o&amp;nbsp;múltiples&amp;nbsp;formas de&amp;nbsp;comunicación&amp;nbsp;en un solo medio es la forma como ahora nos estamos desenvolviendo y en este pequeño articulo les mostrare que herramientas existen y como podemos impulsar este tipo de actividades en las empresas.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
Iniciemos primero con la&amp;nbsp;telefonía&amp;nbsp;tanto fija como&amp;nbsp;móvil&amp;nbsp;que tenemos en estos ambientes y como&amp;nbsp;funcionan&amp;nbsp;este tipo de modelos de&amp;nbsp;comunicación.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Asterisk&amp;nbsp;+ VoIP : este tipo de soluciones permiten que usted trabajador del area de sistemas tenga la posibilidad de implementar un PBX Virtual en su lugar de trabajo, teniendo un control total de lo que sale o entra en lo que se refieren a llamadas.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
SipDroid : este es un cliente de VoIP disponible para algunos equipos con base Android lo que permite convertir tu celular un dispositivo VoIP sin consumir mas recursos de tus redes de datos.&lt;/blockquote&gt;
Continuamos, pasamos de las comunicaciones por voz ahora llegamos a las comunicaciones escritas, soluciones de correo&amp;nbsp;electrónico&amp;nbsp; xmpp, entre otras soluciones para&amp;nbsp;mensajería&amp;nbsp;instantánea&amp;nbsp;en&amp;nbsp;móviles&amp;nbsp;y equipos de escritorio.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Courier : courier es un servidor de correos el cual nos&amp;nbsp;permitirá&amp;nbsp;tener el control de la informacion que entra y sale&amp;nbsp;vía&amp;nbsp;correo&amp;nbsp;electrónico&amp;nbsp;desde nuestra empresa.&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Postfix : este es otro servidor de correos bastante estable y disponible para variedad de plataformas.&lt;/blockquote&gt;
Pasamos sin dejar a un lado las comunicaciones&amp;nbsp;vía&amp;nbsp;email, a las&amp;nbsp;comunicaciones&amp;nbsp;vía&amp;nbsp;mensajes&amp;nbsp;instantáneos&amp;nbsp;donde sin duda alguna estos son los que mandan en el area.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Openfire : servidor proveedor de servicios de&amp;nbsp;mensajería&amp;nbsp;instantánea&amp;nbsp;basados en protocolos Jabber conocidos&amp;nbsp;también&amp;nbsp;como XMPP.&lt;/blockquote&gt;
&lt;blockquote&gt;
Xabber : cliente para&amp;nbsp;móviles&amp;nbsp;android, para sistemas de&amp;nbsp;mensajería&amp;nbsp;basados en Jabber.&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Pidgin : este no es un servidor, es mas bien un cliente para protocolos XMPP, populares en servicios como el chat de gmail, el chat de facebook y otros chats importantes que&amp;nbsp;día&amp;nbsp;a&amp;nbsp;día&amp;nbsp;vemos en la red.&lt;/blockquote&gt;
Bueno, hasta&amp;nbsp;aquí&amp;nbsp;llega esta parte. tal vez no recuerde&amp;nbsp;algún&amp;nbsp;otro servicio de&amp;nbsp;comunicación&amp;nbsp;en las empresas actuales pero sin duda alguna si conoces alguno no dudes en compartirlo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/4529452474672082033/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/05/comunicaciones-unificadas-una-realidad.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/4529452474672082033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/4529452474672082033'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/05/comunicaciones-unificadas-una-realidad.html' title='Comunicaciones Unificadas, una Realidad... '/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-568326109642694932</id><published>2013-05-14T05:47:00.002-07:00</published><updated>2013-05-14T05:47:50.413-07:00</updated><title type='text'>Desarrollo Web - Pasado, Presente y Futuro.</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
Diapositivas de la Presentacion en el FLISOL Cartagena y Barranquilla 2013&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;356&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; mozallowfullscreen=&quot;&quot; scrolling=&quot;no&quot; src=&quot;http://es.slideshare.net/slideshow/embed_code/20520172&quot; style=&quot;border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;&quot; webkitallowfullscreen=&quot;&quot; width=&quot;427&quot;&gt; &lt;/iframe&gt; &lt;br /&gt;
&lt;div style=&quot;margin-bottom: 5px;&quot;&gt;
&lt;strong&gt; &lt;a href=&quot;http://es.slideshare.net/talcualvip/desarrollo-web-pasado-presente-y-futuro&quot; target=&quot;_blank&quot; title=&quot;Desarrollo Web : Pasado, Presente y Futuro&quot;&gt;Desarrollo Web : Pasado, Presente y Futuro&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&quot;http://es.slideshare.net/talcualvip&quot; target=&quot;_blank&quot;&gt;Luis Toscano&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/568326109642694932/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/05/desarrollo-web-pasado-presente-y-futuro.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/568326109642694932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/568326109642694932'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/05/desarrollo-web-pasado-presente-y-futuro.html' title='Desarrollo Web - Pasado, Presente y Futuro.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-5853489110137322320</id><published>2013-05-11T10:07:00.000-07:00</published><updated>2013-05-11T10:07:07.582-07:00</updated><title type='text'>Ejemplo de Node.JS</title><content type='html'>Ejemplo de Node.js usado en el FLISOL Barranquilla 2013&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
https://www.box.com/s/gysygo37uhl8ixtuw01y&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/5853489110137322320/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/05/ejemplo-de-nodejs.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/5853489110137322320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/5853489110137322320'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/05/ejemplo-de-nodejs.html' title='Ejemplo de Node.JS'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-1993831633638781897</id><published>2013-05-08T15:21:00.001-07:00</published><updated>2013-05-08T15:21:45.412-07:00</updated><title type='text'>FLISOL Barranquilla 2013. - Estamos Listos, Node.js, La Evolucion de la Web y OwnCloud.</title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;&lt;img src=&quot;http://www.flisol.net/moin/sol/img/flisol-top-bar.png&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Hola amigos y amigas les comento que este año tambien estare presente en el FLISOL que vamos realizar en Barranquilla este 11 de Mayo.&lt;br /&gt;
&lt;br /&gt;
Esto seria increible el evento de software libre mas importante de la ciudad y porque no de la region, este año no llego con PHP :P, asi que vengo con ideas nuevas e interesante con un Taller de Node.js para pricipiantes, una ponecia sobre OwnCloud y la mejor de todas la conferencia &quot; Desarrollo Web : Pasado, Presente y Futuro &quot;, donde aprenderemos un poco de como poder sostener robustas applicaciones o sitios como foursquare, facebook entre otros con herramientas como, varnish cache, memcache, mongodb, redis, nginx, node.js, python y una infinidad de soluciones y posibilidades que tenemos.&lt;br /&gt;
&lt;br /&gt;
Te puedes registrar aqui http://www.fslcol.org/flisol</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/1993831633638781897/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/05/flisol-barranquilla-2013-estamos-listos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/1993831633638781897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/1993831633638781897'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/05/flisol-barranquilla-2013-estamos-listos.html' title='FLISOL Barranquilla 2013. - Estamos Listos, Node.js, La Evolucion de la Web y OwnCloud.'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7694481146072736103.post-8093441957735059961</id><published>2013-04-28T14:07:00.001-07:00</published><updated>2013-04-28T14:07:01.003-07:00</updated><title type='text'>FLISOL : Cartagena y Barranquilla</title><content type='html'>&lt;p&gt;Los proximos 2 fines de semana estare participando en las versiones 2013 del FLISOL. &lt;/p&gt;
&lt;p&gt;Asi que esten pendientes de mis participaciones.&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://luis.caribecoders.com/feeds/8093441957735059961/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://luis.caribecoders.com/2013/04/flisol-cartagena-y-barranquilla.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/8093441957735059961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7694481146072736103/posts/default/8093441957735059961'/><link rel='alternate' type='text/html' href='http://luis.caribecoders.com/2013/04/flisol-cartagena-y-barranquilla.html' title='FLISOL : Cartagena y Barranquilla'/><author><name>Toscano</name><uri>http://www.blogger.com/profile/16916378924028184620</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>