tag:blogger.com,1999:blog-76944811460727361032024-03-18T20:56:29.389-07:00Luis ToscanoPHP Senior Developer.Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.comBlogger64125tag:blogger.com,1999:blog-7694481146072736103.post-70552431543776893532018-07-05T11:06:00.000-07:002018-07-05T11:09:54.135-07:00Especial : Apps Hibridas.<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="about:invalid#zClosurez" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br />
<div style="text-align: justify;">
<a href="about:invalid#zClosurez" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><img border="0" data-original-height="408" data-original-width="980" height="83" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s200/1_TWMx_EwfdYI3taqaXsuLVQ.png" width="200" /><img alt="Resultado de imagen para ionic" border="0" height="105" src="https://ionicframework.com/img/meta/ionic-framework-og.png" style="text-align: center;" width="200" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPNwj1bAkt9XI3RuDPzJNTa8Ac8xmYRm_vijDHr8QqETijwMsUSWsMejUJEpP9LBHGN85kf05AxiSUz4FUlSpBmNnIA3eejvuLQf9rDYt9Vd-17TRpKI3YMMylmkm0xU2LZj23ksZfSR4/s1600/react.jpg" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="320" data-original-width="826" height="76" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnPNwj1bAkt9XI3RuDPzJNTa8Ac8xmYRm_vijDHr8QqETijwMsUSWsMejUJEpP9LBHGN85kf05AxiSUz4FUlSpBmNnIA3eejvuLQf9rDYt9Vd-17TRpKI3YMMylmkm0xU2LZj23ksZfSR4/s200/react.jpg" width="200" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7Z-ATYy-SGC9al9sWaMLJKNvslXAO17S_Sae7eaKQHn6mjT711V2rCl83skR2K3mB5ZM37Lx5NvKUNuOG-najSiDOrC0yVUsSlIqV59BEvarffWc4MkCTzK9XOuICK-_LUFZjgBEHPKxJ/s1600/1_TWMx_EwfdYI3taqaXsuLVQ.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: justify;"><br /></a><br />
<div style="text-align: justify;">
<br />
<br />
<br />
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.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div>
<b>Quienes son las referencias del mercado ?</b></div>
<div>
<br /></div>
<div>
<br /></div>
<div style="text-align: justify;">
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.</div>
<div>
<br /></div>
<div>
<ul>
<li>React Native</li>
<li>Ionic Framework</li>
<li>Meteor</li>
<li>JQuery Mobile</li>
</ul>
<div style="text-align: justify;">
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. </div>
</div>
<div>
<br /></div>
<div style="text-align: justify;">
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.</div>
<div>
<br /></div>
<div>
<b><br /></b></div>
<div>
<b>Y por donde empiezo ?</b></div>
<div>
<b><br /></b></div>
<div>
<br /></div>
<div style="text-align: justify;">
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.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-67791423236868779392018-06-21T22:24:00.002-07:002018-06-21T22:25:16.232-07:00Enviar SMS utilizando Laravel y Amazon SNS<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Antes de empzar es importante contar con lo siguiente</div>
<div style="text-align: justify;">
<br /></div>
<ul style="background-color: white; box-sizing: border-box; color: #333333; font-family: Roboto, sans-serif; font-size: 14px; margin-bottom: 10px; margin-top: 0px;">
<li style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: 700;">AWS </span><span style="box-sizing: border-box; font-weight: 700;"><code style="background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12.6px; padding: 2px 4px;">access key ID</code></span><span style="box-sizing: border-box; font-weight: 700;"> and</span><span style="box-sizing: border-box; font-weight: 700;"><code style="background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12.6px; padding: 2px 4px;"> secret access key</code></span></li>
<li style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: 700;">AWS_REGION (default = <code style="background-color: #f9f2f4; border-radius: 4px; box-sizing: border-box; color: #c7254e; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12.6px; padding: 2px 4px;">us-east-1</code>): </span></li>
</ul>
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.<br />
<div>
<br /></div>
<div>
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.</div>
<div>
<br />
<a name='more'></a><br /></div>
<div>
Entramos en la carpeta del proyecto y utilizando composer escribimos lo siguiente</div>
<div>
<br /></div>
<blockquote class="tr_bq">
<span style="background-color: black;"><span class="crayon-v" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">composer</span><span class="crayon-h" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;"> </span><span class="crayon-e" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">require </span><span class="crayon-v" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">aws</span><span class="crayon-o" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">/</span><span class="crayon-v" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">aws</span><span class="crayon-o" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">-</span><span class="crayon-v" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">sdk</span><span class="crayon-o" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">-</span><span class="crayon-v" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">php</span><span class="crayon-o" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">-</span><span class="crayon-i" style="box-sizing: border-box; color: white; font-family: "monaco" , "monacoregular" , "courier new" , monospace; height: inherit; line-height: inherit; white-space: pre;">laravel</span></span></blockquote>
<br />
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.<br />
<br />
<br />
<blockquote class="tr_bq">
'providers' => array(<br />
// ...<br />
Aws\Laravel\AwsServiceProvider::class,<br />
)</blockquote>
<br />
debe quedar algo como lo anterior, despues agregamos el alias.<br />
<br />
<blockquote class="tr_bq">
'aliases' => array(<br />
// ...<br />
'AWS' => Aws\Laravel\AwsFacade::class,<br />
)</blockquote>
por ultimo ejecutamos el artisan con el siguiente comando.<br />
<br />
<blockquote class="tr_bq">
<span style="background-color: black;"><span style="color: white;">php artisan vendor:publish --provider="Aws\Laravel\AwsServiceProvider"</span></span></blockquote>
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.<br />
<br />
<blockquote class="tr_bq">
'credentials' => [<br />
'key' => 'your_key',<br />
'secret' => 'your_secret',<br />
],</blockquote>
por ultimo así debería quedar tu controlador de prueba, llevatelo, aquí no te funcionara jeje. pero ese es el que necesitaras.<br />
<br />
<br />
<iframe allowfullscreen="true" allowtransparency="true" frameborder="no" height="400px" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" scrolling="no" src="https://repl.it/@talcual/PerfectTurbulentHertz?lite=true" width="100%"></iframe>Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com8tag:blogger.com,1999:blog-7694481146072736103.post-5678704706757280752018-06-20T19:20:00.003-07:002018-06-20T19:20:59.862-07:00Cloudflare y los problemas de UTF-8<br />
<br />
<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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 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.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaAIw-tm5ylhvVbt3x3_Fv-77QVFPaxM4ZPVo9DLGIrRjAPW6Bmhx03UzRTt2tsIKS1xFp1STqEkY9ygpgNJi6WO8lh5ilC7BthRw-XQNMme2ej2223zwFOqvufOeIIEMzOcZYXgT-2Lv/s1600/utf-8.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="175" data-original-width="398" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisaAIw-tm5ylhvVbt3x3_Fv-77QVFPaxM4ZPVo9DLGIrRjAPW6Bmhx03UzRTt2tsIKS1xFp1STqEkY9ygpgNJi6WO8lh5ilC7BthRw-XQNMme2ej2223zwFOqvufOeIIEMzOcZYXgT-2Lv/s1600/utf-8.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCkPVzrfxJBx4xAJ3IHVbMnZMgx3zCGmSwPhgWyZm2uyZlh-JsKPJEaH2tMA6EZmmgf96WRFomzaYW0vmOhmL-JvN4AiAbhCqjnp7RpPd57abm3M-CBF-UZa-xkwjM9b4-0xp1GqtTECyr/s1600/no-charset.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="171" data-original-width="447" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCkPVzrfxJBx4xAJ3IHVbMnZMgx3zCGmSwPhgWyZm2uyZlh-JsKPJEaH2tMA6EZmmgf96WRFomzaYW0vmOhmL-JvN4AiAbhCqjnp7RpPd57abm3M-CBF-UZa-xkwjM9b4-0xp1GqtTECyr/s1600/no-charset.jpg" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCkPVzrfxJBx4xAJ3IHVbMnZMgx3zCGmSwPhgWyZm2uyZlh-JsKPJEaH2tMA6EZmmgf96WRFomzaYW0vmOhmL-JvN4AiAbhCqjnp7RpPd57abm3M-CBF-UZa-xkwjM9b4-0xp1GqtTECyr/s1600/no-charset.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><br /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
</div>
<a name='more'></a><br /><br />
<div style="text-align: justify;">
utilizar la opción para apache desde un archivo .htaccess "AddDefaultCharset UTF-8" 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.</div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-72999282250250165212018-03-08T14:38:00.001-08:002018-03-08T14:38:02.990-08:00Un poco de C# : Condicionales<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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.</div>
<br />
Utilizando repl.it podemos ver el resultado.<br />
<br />
<br />
<iframe allowfullscreen="true" allowtransparency="true" frameborder="no" height="400px" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals" scrolling="no" src="https://repl.it/@talcual/Condicionales-C?lite=true" width="100%"></iframe>Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com1tag:blogger.com,1999:blog-7694481146072736103.post-88365610891328330072014-09-08T10:19:00.001-07:002014-09-08T10:39:04.582-07:00El Camino del Developer : Framework vs Toolkit vs Desarrollo Propio.<div style="text-align: center;">
<img src="http://framework.zend.com/images/logos/ZendFramework-logo.png" height="52" width="200" /><img alt="Belt est un toolkit PHP open source proposant plus de 60 nouvelles fonctions pratiques pour vos développements PHP." src="http://www.lafermeduweb.net/images/billets/2014-05/belt-toolkit-php.jpg" height="100" width="200" /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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. </div>
<div>
<br /></div>
<div style="text-align: justify;">
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.</div>
<div>
<br /></div>
<div>
<br /></div>
<div style="text-align: justify;">
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.</div>
<div style="text-align: justify;">
<br /></div>
<div>
<span style="text-align: justify;">teniendo todo esto en cuenta es tu deber tomar la mejor decisión dependiendo de lo que creas conveniente para tu proyecto.</span><br />
<span style="text-align: justify;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="text-align: justify;"><br /></span></div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-19450883390976887982014-08-18T10:20:00.000-07:002014-08-18T10:20:05.332-07:00#UbuConLa - Alta Disponibilidad de Aplicacion con NGINX<div style="text-align: center;">
NGINX en la #UbuConLA excelente. aqui se las dejo.</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="356" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/38026477" style="border-width: 1px; border: 1px solid #CCC; margin-bottom: 5px; max-width: 100%;" width="427"> </iframe> </div>
<div style="margin-bottom: 5px;">
<div style="text-align: center;">
<strong> <a href="https://www.slideshare.net/talcualvip/taller-ha-y-balanceo-de-cargas-con-nigx" target="_blank" title="Taller HA y Balanceo de Cargas con NIGX.">Taller HA y Balanceo de Cargas con NIGX.</a> </strong> from <strong><a href="http://www.slideshare.net/talcualvip" target="_blank">Luis Toscano</a></strong> </div>
</div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-13558782970811789302014-08-06T22:38:00.001-07:002014-08-06T22:38:07.913-07:00El Camino del Developer : Tuberias en Windows usando PHP. (Administrador de Tareas)<div style="text-align: justify;">
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 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.<br />
<br />
<br />
<iframe src="http://pastebin.com/embed_iframe.php?i=6D0j0yBF" style="border: none; width: 100%;"></iframe>
</div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-21689005603001305832014-07-18T06:47:00.001-07:002014-07-18T06:47:37.447-07:00El Camino del Developer : Trabajando con el Campo datetine-local<div style="text-align: justify;">
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. </div>
<br />
<div style="text-align: justify;">
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.</div>
<br />
<blockquote class="tr_bq">
<input type="datetime-local" /></blockquote>
<div style="text-align: justify;">
y lo que a continuación les clocare son los posibles atributos que este objeto/complemento o como le quieras llamar puede utilizar.</div>
<br />
<br />
<ul>
<li> global attributes</li>
<li>name</li>
<li>disabled</li>
<li>form</li>
<li>type</li>
<li>autocomplete</li>
<li>autofocus</li>
<li>list</li>
<li>min</li>
<li>max</li>
<li>step</li>
<li>readonly</li>
<li>requred</li>
<li>value</li>
</ul>
<div>
Si desean saber mas sobre estos atributos les recomiendo este link de la W3C. <a href="http://www.w3.org/TR/html-markup/input.datetime-local.html" target="_blank">Link W3C</a></div>
<div>
<br /></div>
<div style="text-align: justify;">
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.</div>
<div>
<br /></div>
<div>
con JQuery </div>
<div>
<br /></div>
<blockquote class="tr_bq">
$('elcampo').val(objson.toString());</blockquote>
<br />
<div style="text-align: justify;">
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. </div>
<div>
<br /></div>
<div>
no se te olvide darle un +1 y compartir este articulo en las redes sociales :D</div>
<div>
<br /></div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com2tag:blogger.com,1999:blog-7694481146072736103.post-90675832711231557962014-06-25T21:04:00.000-07:002014-06-25T21:04:13.859-07:00Moviendo bases de datos IBM DB2 en Distros Linux.<br />
<div style="text-align: justify;">
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.</div>
<br />
<div style="text-align: justify;">
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.</div>
<br />
<br />
primero que todo estamos sobre un entorno linux. digamos redhat.<br />
<br />
<br />
<ol>
<li style="text-align: justify;">Buscamos una unidad donde tengamos suficiente espacio para albergar los datos de la copia de manera temporal.</li>
<li style="text-align: justify;">Creamos una carpeta aja con el comando mkdir.</li>
<li style="text-align: justify;">Accedemos a la carpeta que habéis creado como no con el comando cd carpetanueva</li>
<li style="text-align: justify;">Estando en vuestra carpeta no tan solo basta con ejecutar db2move nombredeladb export</li>
<li style="text-align: justify;">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.</li>
<li style="text-align: justify;">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. </li>
<li style="text-align: justify;">Luego subela al servidor de destino, descomprimirla y accede a la carpeta, para luego hacer lo siguiente.</li>
<li style="text-align: justify;">Ejecuta el comando db2move nombredeladb import y listo empezara a importar los datos que habeis copiado desde la otra db2.</li>
</ol>
<div style="text-align: justify;">
Tengan en cuenta que este ejemplo mostrado se da cumpliendo varias condiciones, </div>
<div>
<ol>
<li style="text-align: justify;">Es una copia de una db que esta un una maquina fisica hacia una maquina virtual.</li>
<li style="text-align: justify;">Las dos db2 son idénticas, gracias a un vConverter.</li>
</ol>
<div style="text-align: justify;">
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.</div>
</div>
<div style="text-align: justify;">
<br /></div>
<div>
<a href="http://www-01.ibm.com/support/knowledgecenter/SSEPGG_8.2.0/com.ibm.db2.udb.doc/core/r0002079.htm?lang=en" target="_blank">Ayuda del Builder de DB2 en IBM.</a></div>
<div>
<br /></div>
<div>
Algo simple pero que depronto no sabes que existe.</div>
<br />
<br />Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-53518554911758939962014-04-10T11:58:00.000-07:002014-04-10T12:02:17.934-07:00Un Storage de Objetos en Javascript.<div class="tr_bq" style="text-align: justify;">
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.</div>
<br />
<br />
<pre>
// 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;
</pre>Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com3tag:blogger.com,1999:blog-7694481146072736103.post-2956580129850968602014-03-10T06:22:00.001-07:002014-03-10T06:24:52.649-07:00fixCentral : Openfire Classes Home not found<div style="text-align: justify;">
<br /></div>
<div style="text-align: center;">
<img src="http://role-project.sourceforge.net/wiki/images/1/1a/Openfire_logo.png" /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
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.</div>
<br />
<br />
<blockquote class="tr_bq" style="text-align: justify;">
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.</blockquote>
<div style="text-align: justify;">
<br /></div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-67619361635507957612014-01-18T12:12:00.001-08:002014-01-18T12:13:53.449-08:00Ganadores del Reto : la unidad informa y escucha, Vive Gobierno Movil.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.<br />
<br />
<a href="http://programa.gobiernoenlinea.gov.co/anuncios.shtml?apc=eax;x;x;x1-&x=81896" target="_blank">Anuncio Oficial MinTIC</a><br />
<br />
Team CaribeCoders<br />
<br />
<ul>
<li>Luis Toscano</li>
<li>Johana Salinas</li>
<li>Pablo Dorado</li>
</ul>
<br />
Ganadores del Reto - La Unidad Informa y Escucha<br />
Valledupar 2013 - Vive Gobierno Movil<br />
<a href="https://www.blogger.com/www.caribecoders.com" target="_blank">www.caribecoders.com</a><br />
<br />Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com1tag:blogger.com,1999:blog-7694481146072736103.post-24599682504852846362013-11-14T18:46:00.000-08:002013-11-14T18:46:13.247-08:00Mentor Yo ?? si Mentor en el #SWBarranquilla. 2013Hola 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.<br />
<br />
Hoy después de grandes vivencias, en #CampusParty2013 donde la idea de negocio no logro el puntaje, en el #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.<br />
<br />
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.<br />
<br />
<br />Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-53483416277503866192013-10-17T15:27:00.003-07:002013-10-17T15:27:46.617-07:00La Travesia del Campusero - #CPCO06<div style="text-align: center;">
<img height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQnqjWYsVo-arRpbDCnU7nHsGOcQCp555Vj5wHDc80brlig2qLUXp-UOvL-UgMpufdFfsXSrT24KJc9aiBzGaRUTey_3g6TW9ep-64YqoIFa4NN-VDoK0WWT6G_2fAr54UuwcQfOfVimb/s320/campoudf.jpg" width="320" /></div>
<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-6278769691530750782013-09-15T14:45:00.001-07:002013-09-15T14:45:31.444-07:00Alistando preparativos para el Campus Party 2013Bueno 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.<br />
<br />
a los interesados estare en la seccion pitagoras el miercoles de 6 a 7 pm asi que todos a aprender. xD.<br />
<br />
<br />Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-79900046674258986092013-09-10T07:41:00.000-07:002013-09-10T07:41:19.190-07:00Colas de Tarea o Colas de Mensaje<div class="tr_bq">
En nuestro actual escenario donde estamos rodeados del famoso "<b>Big Data</b>" 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. </div>
<br />
Bajo el control <b>FIFO</b> 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 <b>RabbitMQ</b>, o <b>Rabbit Message Queue</b>. Cola de Mensajes en español, pero también existe otro tipo de soluciones creadas en diferentes lenguajes de programación como <b>Kestrel</b> que mezcla de <b>Scala</b>, <b>Ruby</b> y <b>Shell</b> lo que permite algo muy avanzado y que actualmente es usado por <b>foursquare</b>, también tenemos <b>ActiveMQ</b> de la <b>Apache Foundation</b>, pero como para mi siempre debemos llegar al origen les mostrare un ejemplo donde implementar una cola de tareas o mensajes en <b>JavaScript</b> útil para cuando necesitemos realizar ejecuciones de funciones que a su ves tienes llamadas <b>Ajax</b> y estas a su ves están obligadas a ser sincronizadas. bueno aquí se los dejo.<br />
<blockquote>
<br />
var cola = [];<br />
cola.push(funcion1);<br />
cola.push(function2);<br />
cola.push(function3);<br />
cola.push(function4);<br />
cola.push(finalfunction);<br />
var u = 0;<br />
var estados = ['function1','function2','function3','function4','finalfunction'];<br />
while (cola.length > 0) {<br />
console.log(u+' '+estados[u]);<br />
(cola.shift())(); <br />
++u;<br />
}</blockquote>
<br />
<br />
Una forma mas sencilla de entender el procedimiento.Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com1tag:blogger.com,1999:blog-7694481146072736103.post-20100921137300280762013-07-13T22:29:00.002-07:002013-07-13T22:29:55.979-07:00Closures o Funciones Anonimas en PHPHola 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.<br />
<br />
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.<br />
<br />
<br />
<blockquote class="tr_bq">
$variable_de_fn_anonima = function(){<br /> echo 'Ejemplo de una funcion Anonima Sencillo';<br />};<br />$variable_de_fn_anonima();</blockquote>
<blockquote class="tr_bq">
/* Tambie podemos hacerlo de esta forma un poco mas avanzada* </blockquote>
<blockquote class="tr_bq">
<span style="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;">echo </span><span style="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;">preg_replace_callback</span><span style="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;">(</span><span style="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;">'~-([a-z])~'</span><span style="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;">, function (</span><span style="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;">$coincidencia</span><span style="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;">) {<br style="border-color: rgb(153, 153, 204);" /> return </span><span style="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;"> return </span><span style="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;">strtoupper</span><span style="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;">(</span><span style="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;">$coincidencia</span><span style="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;">[</span><span style="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;">1</span><span style="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;">]);<br style="border-color: rgb(153, 153, 204);" />}, </span><span style="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;">}, </span><span style="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;">'hola-mundo'</span><span style="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;">);</span><br />?></blockquote>
<br />
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.Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-45294524746720820332013-05-14T21:16:00.001-07:002013-05-14T21:16:56.823-07:00Comunicaciones Unificadas, una Realidad... <div style="text-align: center;">
<img src="http://www.intergrupo.com/sala-prensa/ContenidosImagen/Post/comunicaciones-unificadas.jpg" /></div>
<br />
En nuestra época estamos viviendo cambios y revoluciones las cuales ni pensábamos que podíamos vivirlos, pero ya eso quedo en la historia y definitivamente estamos viviendo lo que nunca pensamos vivir.<br />
<br />
Las comunicaciones unificadas o múltiples formas de comunicación 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.<br />
<br />
<a name='more'></a><br /><br />
Iniciemos primero con la telefonía tanto fija como móvil que tenemos en estos ambientes y como funcionan este tipo de modelos de comunicación.<br />
<blockquote class="tr_bq">
Asterisk + 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. </blockquote>
<blockquote class="tr_bq">
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.</blockquote>
Continuamos, pasamos de las comunicaciones por voz ahora llegamos a las comunicaciones escritas, soluciones de correo electrónico xmpp, entre otras soluciones para mensajería instantánea en móviles y equipos de escritorio.<br />
<blockquote class="tr_bq">
Courier : courier es un servidor de correos el cual nos permitirá tener el control de la informacion que entra y sale vía correo electrónico desde nuestra empresa.</blockquote>
<blockquote class="tr_bq">
Postfix : este es otro servidor de correos bastante estable y disponible para variedad de plataformas.</blockquote>
Pasamos sin dejar a un lado las comunicaciones vía email, a las comunicaciones vía mensajes instantáneos donde sin duda alguna estos son los que mandan en el area.<br />
<blockquote class="tr_bq">
Openfire : servidor proveedor de servicios de mensajería instantánea basados en protocolos Jabber conocidos también como XMPP.</blockquote>
<blockquote>
Xabber : cliente para móviles android, para sistemas de mensajería basados en Jabber.</blockquote>
<blockquote class="tr_bq">
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 día a día vemos en la red.</blockquote>
Bueno, hasta aquí llega esta parte. tal vez no recuerde algún otro servicio de comunicación en las empresas actuales pero sin duda alguna si conoces alguno no dudes en compartirlo.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com1tag:blogger.com,1999:blog-7694481146072736103.post-5683261096426949322013-05-14T05:47:00.002-07:002013-05-14T05:47:50.413-07:00Desarrollo Web - Pasado, Presente y Futuro.<div style="text-align: center;">
Diapositivas de la Presentacion en el FLISOL Cartagena y Barranquilla 2013<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="356" marginheight="0" marginwidth="0" mozallowfullscreen="" scrolling="no" src="http://es.slideshare.net/slideshow/embed_code/20520172" style="border-width: 1px 1px 0; border: 1px solid #CCC; margin-bottom: 5px;" webkitallowfullscreen="" width="427"> </iframe> <br />
<div style="margin-bottom: 5px;">
<strong> <a href="http://es.slideshare.net/talcualvip/desarrollo-web-pasado-presente-y-futuro" target="_blank" title="Desarrollo Web : Pasado, Presente y Futuro">Desarrollo Web : Pasado, Presente y Futuro</a> </strong> from <strong><a href="http://es.slideshare.net/talcualvip" target="_blank">Luis Toscano</a></strong> </div>
</div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com1tag:blogger.com,1999:blog-7694481146072736103.post-58534891101373223202013-05-11T10:07:00.000-07:002013-05-11T10:07:07.582-07:00Ejemplo de Node.JSEjemplo de Node.js usado en el FLISOL Barranquilla 2013<div>
<br /></div>
<div>
https://www.box.com/s/gysygo37uhl8ixtuw01y</div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-19938316336387818972013-05-08T15:21:00.001-07:002013-05-08T15:21:45.412-07:00FLISOL Barranquilla 2013. - Estamos Listos, Node.js, La Evolucion de la Web y OwnCloud.<br />
<br />
<div style="text-align: center;">
<span style="background-color: white;"><img src="http://www.flisol.net/moin/sol/img/flisol-top-bar.png" /></span></div>
<br />
<br />
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.<br />
<br />
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 " Desarrollo Web : Pasado, Presente y Futuro ", 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.<br />
<br />
Te puedes registrar aqui http://www.fslcol.org/flisolToscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-80934419577350599612013-04-28T14:07:00.001-07:002013-04-28T14:07:01.003-07:00FLISOL : Cartagena y Barranquilla<p>Los proximos 2 fines de semana estare participando en las versiones 2013 del FLISOL. </p>
<p>Asi que esten pendientes de mis participaciones.</p>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-18970793788264102272013-04-09T06:38:00.001-07:002013-04-09T06:38:40.106-07:00Varnish Cache : Primeros Pasos.<div style="text-align: center;">
<img src="http://en.joscandreu.com/wp-content/uploads/2013/01/varnish-cache.jpeg" /></div>
<br />
Hola amigos hoy vamos a hablar de Varnish Cache, se imaginan tener un sitio con alto trafico ? como soportan el acceso al sitio o app ? Varnish Cache es una de las opciones para darle rendimiento, segun el sitio oficial de Varnish este es un acelerador de aplicaciones mediante el control de la cache, funciona a modo de reverse proxy al mejor estilo de Squid solo que mas optimizado para alto trafico.<br />
<br />
Actualmente Varnish es utilizado por muchos portales para soportar la avalancha de usuarios, les comentare sobre un portal muy conocido por todos y que actualmente usa Varnish y Squid para soportar el trafico este es MediaWiki. mas conocidos como hermanos de Wikipedia, si entienden facil si MediaWiki usa Varnish pues Wikipedia tambien ha de usuarlo. interesante.<br />
<br />
Hasta el momento no lo he utilizado pero siempre hay que tenerlo en cuenta cuando nuestras aplicaciones se nos salgan de las manos, aprovechando que es opensource.<br />
<br />
Asi Funciona Varnish Cache :<br />
<br />
<div style="text-align: center;">
<img src="http://software.danielwatrous.com/wp-content/uploads/2013/01/cache-integration-big-data1.png" /></div>
<br />
A continuacion les dejo unos articulos interesantes que he encontrado en la red.<br />
<br />
<a href="http://systemadmin.es/2011/11/instalacion-de-varnish">http://systemadmin.es/2011/11/instalacion-de-varnish</a><br />
<a href="https://www.varnish-cache.org/">https://www.varnish-cache.org/</a>Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-67421130627146202462013-03-20T09:09:00.000-07:002013-03-20T09:09:19.833-07:00OwnCloud : Servicios en la nube bajo control.<div style="text-align: center;">
<img height="298" src="http://totaki.com/poesiabinaria/wp-content/uploads/2012/10/owncloud-4.jpg" width="400" /></div>
<div style="text-align: center;">
<br /></div>
Hola hoy les vengo a escribir un tema bastante interesante se llama OwnCloud, el cual es una solución que nos permite prestar servicios bajo una nube privada, un concepto bastante interesante, vamos a explicar un poco lo que realiza esta excelente aplicación pero que mejor que una imagen para entenderlo.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSi3MUqJGX4-BWY9Hda8YwwqGXMf4VeS7Nm9Crhvq8x-aBiPDnE6C1e6cOA6XWTbDMp3oO9f8ACCV1-mdw0iSgW6GdxSS9N78_Os3h5pOvjtliYeQ8HKYMu7vvzkAjTkNBF_SnpUjwsHKJ/s1600/oc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSi3MUqJGX4-BWY9Hda8YwwqGXMf4VeS7Nm9Crhvq8x-aBiPDnE6C1e6cOA6XWTbDMp3oO9f8ACCV1-mdw0iSgW6GdxSS9N78_Os3h5pOvjtliYeQ8HKYMu7vvzkAjTkNBF_SnpUjwsHKJ/s640/oc.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Como podemos observar esta herramienta nos permite crear entornos de colaboración al mejor estilo de dropbox, y dejando a un lado el temor por la perdida de información ya que este estaría hosteado por usted mismo, en su servidor empresarial.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
De esta forma su tendrá usted su información disponible desde cualquier lugar y dispositivo, pero aun así contara con el control total de la información en definitiva es la solución de colaboración para la pyme que no debe faltar. </div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Si deseas obtener una mayor informacion sobre owncloud te recomendamos visitar su sitio web : www.owncloud.org.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Si estas interesado en una asesoria o consultoria relacionada con el tema de servicios bajo la nube privada puedes contactarnos www.caribecoders.com o ventas@caribecoders.com. Recuerda Your Cloud, Your Data, Your Way.</div>
<br />Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0tag:blogger.com,1999:blog-7694481146072736103.post-58488838972253204882013-02-07T13:11:00.001-08:002013-02-07T13:22:53.310-08:00Que aprender para el 2013 ??Este año que estamos viviendo es un año de muchas espectativas, aprender todo lo que podamos asi que desde ahora y hasta fin de este año estaremos trabajando en los post de desarrollo web.<br />
Estare yo particularmente escribiendo sobre :<br />
<br />
<br />
Android<br />
Mongodb<br />
PHP<br />
Sl4A<br />
RabbitMQ<br />
CloudComputing<br />
WebSecurity<br />
Node.js<br />
Python<br />
HTML5<br />
NoSql<br />
Y muchas cosas mas. Espero tus temas par aprender mas sobre lo que nos interesa<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Toscanohttp://www.blogger.com/profile/16916378924028184620noreply@blogger.com0