<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Línea de Código | Blog Línea de Código</title><description/><link>https://ldc.teoriaweb.com/</link><language>es</language><item><title>Aprende a Programar #02 De pixels a bucles</title><link>https://ldc.teoriaweb.com/blog/aprende-a-programar-02-de-pixels-a-bucles/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/aprende-a-programar-02-de-pixels-a-bucles/</guid><pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Esta semana ha estado repleta de contenido variado y útil para programadores de distintos niveles. Desde técnicas avanzadas en &lt;a href=&quot;https://www.manualweb.net/html5/&quot;&gt;HTML5&lt;/a&gt; para mejorar la experiencia de usuario con vídeos, hasta trucos esenciales de &lt;a href=&quot;https://www.manualweb.net/python/&quot;&gt;Python&lt;/a&gt; para gestionar archivos y directorios, los artículos han cubierto &lt;a href=&quot;https://lineadecodigo.com/&quot;&gt;aspectos clave del desarrollo web y la programación&lt;/a&gt;. También se ha profundizado en la optimización del diseño para impresión con &lt;a href=&quot;https://www.manualweb.net/css/&quot;&gt;CSS&lt;/a&gt; y se ha presentado un ejemplo práctico de WebSockets en &lt;a href=&quot;https://www.manualweb.net/javaee/&quot;&gt;Java EE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Los &lt;a href=&quot;https://lineadecodigo.com/categoria/html5/&quot;&gt;artículos sobre HTML5&lt;/a&gt; exploran cómo mejorar la interacción con vídeos, abordando txanto la búsqueda dentro de un vídeo como la gestión de cargas inestables. Por otro lado, los &lt;a href=&quot;https://lineadecodigo.com/categoria/python/&quot;&gt;artículos de Python&lt;/a&gt; ofrecen soluciones prácticas para la manipulación de archivos y el uso de estructuras de control. Además, se destaca un &lt;a href=&quot;https://lineadecodigo.com/categoria/css/&quot;&gt;artículo sobre CSS&lt;/a&gt; que explica cómo adaptar páginas web para su correcta impresión.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;artículos-de-la-semana&quot;&gt;Artículos de la semana&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;&lt;h3 id=&quot;-buscar-por-un-vídeo-en-html5&quot;&gt;&lt;strong&gt;👨🏻‍💻&lt;/strong&gt; &lt;a href=&quot;https://lineadecodigo.com/html5/buscar-por-un-video-en-html5/&quot;&gt;Buscar por un vídeo en HTML5&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo detalla cómo implementar una función de búsqueda dentro de un vídeo en &lt;a href=&quot;https://www.manualweb.net/html5/&quot;&gt;HTML5&lt;/a&gt;. Se explican métodos para que los usuarios puedan encontrar fragmentos específicos dentro del contenido multimedia. También se presentan ejemplos de código para facilitar su implementación en proyectos web.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-cargas-inestables-de-vídeos-en-html5&quot;&gt;&lt;strong&gt;👨🏻‍💻&lt;/strong&gt; &lt;a href=&quot;https://lineadecodigo.com/html5/cargas-inestables-de-videos-en-html5/&quot;&gt;Cargas inestables de vídeos en HTML5&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Se analizan las razones detrás de los problemas en la carga y reproducción de vídeos en &lt;a href=&quot;https://www.manualweb.net/html5/&quot;&gt;HTML5&lt;/a&gt;. Desde problemas de red hasta formatos incompatibles, este artículo proporciona estrategias para mejorar la experiencia del usuario.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-páginas-adaptadas-para-imprimir-con-css&quot;&gt;&lt;strong&gt;🎨&lt;/strong&gt; &lt;a href=&quot;https://lineadecodigo.com/css/paginas-adaptadas-para-imprimir-con-css/&quot;&gt;Páginas adaptadas para imprimir con CSS&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo ofrece una guía sobre cómo diseñar hojas de estilo específicas para impresión. Explica la importancia de usar media queries para diferenciar el diseño en pantalla y en papel, eliminando elementos innecesarios y asegurando una correcta distribución del contenido para facilitar la lectura impresa.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;10-primeros-números-impares-en-python&quot;&gt;&lt;strong&gt;🐍&lt;/strong&gt; &lt;a href=&quot;https://lineadecodigo.com/python/10-primeros-numeros-impares-en-python/&quot;&gt;10 primeros números impares en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;A través de ejemplos prácticos, se muestra cómo generar y listar los primeros diez números impares utilizando bucles en &lt;a href=&quot;https://www.manualweb.net/python/&quot;&gt;Python&lt;/a&gt;. Se explican distintas estructuras de control como &lt;code dir=&quot;auto&quot;&gt;for&lt;/code&gt;, junto con consideraciones sobre eficiencia y buenas prácticas en la escritura de código.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;listar-números-del-1-al-10-en-python&quot;&gt;&lt;strong&gt;🐍&lt;/strong&gt; &lt;a href=&quot;https://lineadecodigo.com/python/listar-numeros-del-1-al-10-en-python/&quot;&gt;Listar números del 1 al 10 en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo introduce los conceptos básicos de iteración en &lt;a href=&quot;https://www.manualweb.net/python/&quot;&gt;Python&lt;/a&gt;, mostrando cómo utilizar &lt;code dir=&quot;auto&quot;&gt;range()&lt;/code&gt; y distintos métodos de bucles para generar secuencias de números. Además, se incluyen ejercicios prácticos para reforzar el aprendizaje.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;️-websocket-echo-en-java-ee&quot;&gt;&lt;strong&gt;☕️&lt;/strong&gt; &lt;a href=&quot;https://lineadecodigo.com/java/websocket-echo-en-java-ee/&quot;&gt;Websocket Echo en Java EE&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Una introducción al uso de WebSockets en &lt;a href=&quot;https://www.manualweb.net/javaee/&quot;&gt;Java EE&lt;/a&gt;, explicando cómo crear una conexión en tiempo real donde el servidor responde con el mismo mensaje recibido. Se incluyen ejemplos prácticos y configuraciones necesarias para implementar esta funcionalidad en aplicaciones web modernas.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;borrar-carpetas-de-forma-recursiva-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/borrar-carpetas-de-forma-recursiva-en-python/&quot;&gt;Borrar carpetas de forma recursiva en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Explica cómo eliminar directorios completos en &lt;a href=&quot;https://www.manualweb.net/python/&quot;&gt;Python&lt;/a&gt;, incluso cuando contienen múltiples archivos. Se presentan métodos utilizando el módulo &lt;a href=&quot;https://www.w3api.com/Python/shutil/&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;shutil&lt;/code&gt;&lt;/a&gt; y &lt;a href=&quot;https://www.w3api.com/Python/os/&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;os&lt;/code&gt;&lt;/a&gt;, con ejemplos detallados sobre cómo manejar excepciones y evitar errores en la eliminación de carpetas.&lt;/p&gt;</content:encoded><category>aprender</category></item><item><title>Aprende a programar #01 Orden en el caos con Python</title><link>https://ldc.teoriaweb.com/blog/aprende-a-programar-01-orden-en-el-caos-con-python/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/aprende-a-programar-01-orden-en-el-caos-con-python/</guid><pubDate>Mon, 27 Jan 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Esta semana hemos ofrecido una selección de artículos con un enfoque principal en la &lt;a href=&quot;https://lineadecodigo.com/tag/python-ficheros/&quot;&gt;manipulación de archivos y directorios en Python&lt;/a&gt;, complementado con un artículo sobre &lt;a href=&quot;https://www.manualweb.net/css/&quot;&gt;CSS&lt;/a&gt;. Nuestro objetivo es proporcionar contenido valioso tanto para programadores principiantes como para aquellos con más experiencia que buscan soluciones prácticas y concisas. Los &lt;a href=&quot;https://lineadecodigo.com/categoria/python/&quot;&gt;artículos de Python&lt;/a&gt; destacan por su enfoque directo y el uso de ejemplos claros, facilitando la comprensión y aplicación de los conceptos. El &lt;a href=&quot;https://lineadecodigo.com/categoria/css/&quot;&gt;artículo sobre CSS&lt;/a&gt; aborda un aspecto fundamental para el diseño web moderno y adaptable a diferentes dispositivos.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;artículos-de-la-semana&quot;&gt;Artículos de la semana&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;&lt;h3 id=&quot;-definir-relaciones-de-aspecto-en-css&quot;&gt;🎨 &lt;a href=&quot;https://lineadecodigo.com/css/definir-relaciones-de-aspecto-en-css/&quot;&gt;Definir relaciones de aspecto en CSS&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo explica de forma clara y concisa el uso de la propiedad &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;aspect-ratio&lt;/code&gt;&lt;/strong&gt; en &lt;strong&gt;CSS&lt;/strong&gt;. Su principal fortaleza reside en la explicación de cómo esta propiedad simplifica el mantenimiento de las proporciones de los elementos visuales, un aspecto crucial para el diseño responsive y la correcta visualización en diferentes pantallas y dispositivos. Permite definir la relación de aspecto de un elemento, lo que resulta especialmente útil para imágenes, videos y otros elementos multimedia, asegurando que mantengan sus proporciones originales independientemente del tamaño de la pantalla. Se exploran ejemplos prácticos y casos de uso comunes.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;comprobar-que-existe-un-fichero-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/comprobar-que-existe-un-fichero-en-python/&quot;&gt;Comprobar que existe un fichero en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo sumamente práctico enseña cómo verificar la existencia de un fichero antes de intentar cualquier operación con él. Su valor principal es la prevención de errores comunes que pueden surgir al trabajar con archivos, lo que contribuye a la creación de código más &lt;strong&gt;robusto y fiable&lt;/strong&gt;. Utiliza la función &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;os.path.exists()&lt;/code&gt;&lt;/strong&gt; para realizar esta comprobación, evitando excepciones y mejorando el manejo de posibles errores de archivo no encontrado. Se presentan ejemplos de código y se explica cómo integrar esta comprobación en diferentes escenarios.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-listar-un-directorio-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/listar-un-directorio-en-python/&quot;&gt;Listar un directorio en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo explica cómo obtener una lista del contenido de un directorio utilizando la función &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;os.listdir()&lt;/code&gt;&lt;/strong&gt;. Su utilidad se centra en la &lt;strong&gt;automatización de tareas&lt;/strong&gt; de gestión de ficheros y directorios, permitiendo a los desarrolladores interactuar programáticamente con el sistema de archivos. Facilita la creación de scripts que recorren directorios, procesan archivos o realizan otras tareas automatizadas, como la búsqueda de archivos específicos o la generación de informes.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-crear-un-fichero-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/crear-un-fichero-en-python/&quot;&gt;Crear un fichero en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este tutorial directo y sencillo muestra cómo crear nuevos ficheros en Python, explicando los diferentes &lt;strong&gt;modos de apertura&lt;/strong&gt; (&lt;code dir=&quot;auto&quot;&gt;&apos;w&apos;&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;&apos;x&apos;&lt;/code&gt;, &lt;code dir=&quot;auto&quot;&gt;&apos;a&apos;&lt;/code&gt;). El principal beneficio es la claridad con la que se explican las opciones para manipular archivos, permitiendo a los usuarios entender cómo controlar la escritura y la creación de ficheros. Se cubren aspectos como la creación de archivos nuevos, la escritura sobre archivos existentes y el añadido de contenido al final de un archivo, con ejemplos de código para cada caso.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-crear-una-carpeta-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/crear-una-carpeta-en-python/&quot;&gt;Crear una carpeta en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo se centra en la creación de carpetas utilizando la función &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;os.mkdir()&lt;/code&gt;&lt;/strong&gt; del módulo &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;os&lt;/code&gt;&lt;/strong&gt; de Python. Explica cómo utilizar esta función para crear un nuevo directorio en la ruta especificada. Es importante tener en cuenta que &lt;code dir=&quot;auto&quot;&gt;os.mkdir()&lt;/code&gt; solo puede crear un directorio a la vez. Si intentas crear una carpeta dentro de otra que no existe, se generará un error &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;FileNotFoundError&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-borrar-una-carpeta-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/borrar-una-carpeta-en-python/&quot;&gt;Borrar una carpeta en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo conciso explica cómo eliminar una &lt;strong&gt;carpeta vacía&lt;/strong&gt; en Python usando &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;os.rmdir()&lt;/code&gt;&lt;/strong&gt;. Se enfatiza la importancia de que la carpeta esté vacía para que la operación se realice correctamente, evitando errores y comportamientos inesperados. Se destaca la necesidad de comprobar que la carpeta no contiene ningún archivo o subdirectorio antes de intentar eliminarla, y se ofrecen alternativas para eliminar carpetas con contenido.&lt;/p&gt;
&lt;div&gt;&lt;h3 id=&quot;-borrar-un-fichero-en-python&quot;&gt;🐍 &lt;a href=&quot;https://lineadecodigo.com/python/borrar-un-fichero-en-python/&quot;&gt;Borrar un fichero en Python&lt;/a&gt;&lt;/h3&gt;&lt;/div&gt;
&lt;p&gt;Este artículo explica cómo eliminar un fichero específico utilizando la función &lt;strong&gt;&lt;code dir=&quot;auto&quot;&gt;os.remove()&lt;/code&gt;&lt;/strong&gt;. Su principal valor es la &lt;strong&gt;simplicidad y eficacia&lt;/strong&gt; para eliminar archivos individuales, ofreciendo una solución directa para esta tarea común. Se explica cómo especificar la ruta del archivo que se desea eliminar y se mencionan posibles errores que pueden surgir, como intentar eliminar un archivo que no existe, ofreciendo soluciones para manejarlos.&lt;/p&gt;</content:encoded><category>aprender</category></item><item><title>Fascinante 2024 para la programación</title><link>https://ldc.teoriaweb.com/blog/fascinante-2024-para-la-programacion/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/fascinante-2024-para-la-programacion/</guid><pubDate>Sun, 12 Jan 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Se acaba un año y empezamos otro nuevo. Un buen momento para echar una vista atrás y analizar cuales han sido los 5 hitos relevantes en un fascinante 2024 para la programación.&lt;/p&gt;
&lt;p&gt;Un año 2024 marcado, principalmente, por la &lt;strong&gt;evolución en la Inteligencia Artificial en múltiples áreas y sobre todo en la parte de la Inteligencia Artificial Generativa&lt;/strong&gt;. Hito que ha supuesto un antes y un después para la programación, ya que disponemos de nuevas herramientas que cambian la forma en la que vamos a afrontar los desarrollos de código en el futuro y algo, de lo que seguro hablaremos mucho.&lt;/p&gt;
&lt;p&gt;Pero qué 5 hitos han sido, a mi entender, los que han sido más relevantes en este año 2024 y por qué ha sido un fascinante 2024 en la programación. Seguro que cada uno tiene los suyos.&lt;/p&gt;
&lt;p&gt;Estos 5 hitos serían:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Inteligencia Artificial Generativa para la creación de código fuente&lt;/li&gt;
&lt;li&gt;OSI Libera la primera definición de Inteligencia Artificial Open Source&lt;/li&gt;
&lt;li&gt;NIST aprueba 3 algoritmos criptográficos capaces de resistir a los ordenadores cuánticos&lt;/li&gt;
&lt;li&gt;Rust ganando popularidad como lenguaje seguro y de alto rendimiento&lt;/li&gt;
&lt;li&gt;Python o Javascript, ¿sin un claro ganador como lenguaje preferido en 2024?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Vamos a ver más en detalle estos 5 hitos de un fascinante 2024 para la programación:&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;inteligencia-artificial-generativa-para-la-creación-de-código-fuente&quot;&gt;Inteligencia Artificial Generativa para la creación de código fuente&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Si tuviésemos que elegir un primer hito que ha hecho que sea un fascinante 2024 para la programación es, sin duda, el uso de la Inteligencia Artificial Generativa para la ayuda en el desarrollo de código fuente en elementos que van desde poder &lt;em&gt;completar código que estamos desarrollando&lt;/em&gt;, pasando por tener un &lt;em&gt;chat en el cual pedir ayuda para el desarrollo de un nuevo código&lt;/em&gt;, &lt;em&gt;explicabilidad de código existente&lt;/em&gt; o &lt;em&gt;generación de pruebas de test automáticas&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Ya contábamos desde hace tiempo con &lt;a href=&quot;https://github.com/features/copilot&quot;&gt;GitHub Copilot&lt;/a&gt;, una innovadora herramienta de asistencia en la programación basada en &lt;a href=&quot;https://openai.com/index/openai-codex/&quot;&gt;OpenAI CodeX&lt;/a&gt; que se lanzó inicialmente en 2021 y que desde entonces ha experimentado una evolución constante con significativas actualizaciones y mejoras en sus capacidades. Pero en diciembre 2024 nos encontrábamos con una grata sorpresa y es que &lt;a href=&quot;https://code.visualstudio.com/blogs/2024/12/18/free-github-copilot&quot;&gt;Microsoft ofreció GitHub Copilot gratis en VSCode&lt;/a&gt; con &lt;em&gt;capacidades de chat&lt;/em&gt; y &lt;em&gt;2.000 ayudas para completar tu código&lt;/em&gt;. Para ello se apoya en los modelos GPT-4o y Claude 3.5 Sonnet. En el caso de Claude 3.5 Sonnet, de momento, en preview.&lt;/p&gt;
&lt;p&gt;Si todavía no lo habías probado &lt;a href=&quot;https://github.com/features/copilot&quot;&gt;GitHub Copilot&lt;/a&gt;, ahora, ya no tienes excusas. Además, si se te queda corto, puedes adquirir otros planes de pago.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/X_Aet9ndh_Y&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Pero no todo el mundo de la generación de código mediante inteligencia artificial generativa para los desarrolladores se circunscribe a &lt;a href=&quot;https://github.com/features/copilot&quot;&gt;GitHub Copilot&lt;/a&gt; y otras herramientas han cogido forma a lo largo del año.&lt;/p&gt;
&lt;p&gt;Desde marzo de 2023 contábamos con &lt;a href=&quot;https://www.cursor.com/&quot;&gt;Cursor.AI&lt;/a&gt; como un editor de código basado en IA que es un fork de Visual Studio Code. En el caso de &lt;a href=&quot;https://www.cursor.com/&quot;&gt;Cursor.AI&lt;/a&gt; ha abandonado los modelos de OpenAI y pasa a basarse en el LLM &lt;a href=&quot;https://www.anthropic.com/claude/sonnet&quot;&gt;Claude 3.5 Sonnet de Anthropic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Tenemos otras herramientas como &lt;a href=&quot;https://zed.dev/&quot;&gt;Zed&lt;/a&gt;, en este caso basándose en un editor de código desarrollado en &lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;Rust&lt;/a&gt;, que se apoya en las capacidades de IA del LLM &lt;a href=&quot;https://www.anthropic.com/claude/sonnet&quot;&gt;Claude 3.5 Sonnet de Anthropic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;O el &lt;a href=&quot;https://www.jetbrains.com/ai/&quot;&gt;asistente JetBrains AI&lt;/a&gt; para poder ser utilizado en &lt;em&gt;IntelliJ&lt;/em&gt;, &lt;em&gt;PyCharm&lt;/em&gt; o &lt;em&gt;PhpStorm&lt;/em&gt;, entre otros que Ha ido mejorando &lt;a href=&quot;https://blog.jetbrains.com/idea/2023/06/ai-assistant-in-jetbrains-ides/&quot;&gt;desde su salida en junio 2023&lt;/a&gt; incluyendo capacidades como la explicabilidad de código o &lt;a href=&quot;https://blog.jetbrains.com/phpstorm/2024/02/how-to-generate-php-tests-with-jetbrains-ai-assistant/&quot;&gt;la generación de test unitarios&lt;/a&gt; de forma automática.&lt;/p&gt;
&lt;p&gt;Por otro lado, en Abril 2024 se lanzó una preview técnica de la nueva plataforma de GitHub basada en Copilot llamada &lt;a href=&quot;https://githubnext.com/projects/copilot-workspace&quot;&gt;GitHub Copilot Workspace&lt;/a&gt;. En el caso de &lt;a href=&quot;https://githubnext.com/projects/copilot-workspace&quot;&gt;GitHub Copilot Workspace&lt;/a&gt; se va un paso más allá en la integración de la IA generativa dentro de los entornos de desarrollo ya que no solo se enfoca al código fuente su entendimiento y mejora, si no que &lt;strong&gt;cubre todo el ciclo de desarrollo de un producto software&lt;/strong&gt; en un modelo colaborativo en tiempo real.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://githubnext.com/projects/copilot-workspace&quot;&gt;GitHub Copilot Workspace&lt;/a&gt; se enfoca en la definición de una funcionalidad y desde ahí te ayuda a &lt;em&gt;definir un plan, identificar los cambios que implican dicho plan, generar el código asociado, ver una previsualización de los cambios y generar una pull-request con la funcionalidad.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Pero, lo mejor es que veas el vídeo en el que nos muestran de qué es capaz GitHub Copilot Workspace, algo que realmente ha sido algo fascinante 2024 para la programación y que promete serlo más este nuevo año.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/pkotufZchjE&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;osi-libera-la-primera-definición-de-inteligencia-artificial-open-source&quot;&gt;OSI Libera la primera definición de Inteligencia Artificial Open Source&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;El segundo hito que hace que hayamos tenido un fascinante 2024 para la programación es que la &lt;a href=&quot;https://opensource.org/&quot;&gt;Open Source Initiative (OSI)&lt;/a&gt; ha marcado un hito histórico este año al &lt;a href=&quot;https://opensource.org/ai&quot;&gt;publicar la primera definición formal de lo que constituye la Inteligencia Artificial de código abierto&lt;/a&gt;. Esta definición establece los principios fundamentales y criterios que debe cumplir un sistema de IA para ser considerado verdaderamente open source, incluyendo la &lt;em&gt;transparencia del código&lt;/em&gt;, &lt;em&gt;la accesibilidad de los datos de entrenamiento&lt;/em&gt; y la &lt;em&gt;documentación completa del modelo&lt;/em&gt;. Esta iniciativa representa un paso crucial hacia la democratización de la IA y &lt;strong&gt;establece un marco de referencia para toda la comunidad de desarrollo&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Esta definición ha sido especialmente relevante en un momento en que l&lt;strong&gt;a transparencia y la ética en la IA son temas cruciales&lt;/strong&gt;. La comunidad de desarrolladores ha recibido esta iniciativa con entusiasmo, ya que proporciona un marco claro para la creación y distribución de soluciones de IA que respetan los principios del código abierto. Además, establece las bases para una mayor colaboración y compartición de conocimientos en el campo de la IA.&lt;/p&gt;
&lt;p&gt;Para ello, la definición formal de Inteligencia Artificial Open Source &lt;strong&gt;recoge cuando un sistema puede ser considerado realmente Open Source en IA&lt;/strong&gt;, ya que hay muchos sistemas que se asignan esta definición cuando realmente no lo son.&lt;/p&gt;
&lt;p&gt;Identifica la necesidad de &lt;strong&gt;comprender cómo funcionan los sistemas de IA&lt;/strong&gt;, para poder &lt;em&gt;investigarlos, analizarlos y, potencialmente, regularlos&lt;/em&gt;, es importante para garantizar que el sistema sea verdaderamente de código abierto.&lt;/p&gt;
&lt;p&gt;Además habla de la principal diferencia con los modelos tradicionales de Open Source. Esta diferencia radica en el &lt;strong&gt;uso de los datos para la creación de modelos&lt;/strong&gt; y la &lt;strong&gt;complejidad que existe a la hora de poner a disposición estos datos&lt;/strong&gt; con los que se entrenaron y afinaron los modelos.&lt;/p&gt;
&lt;p&gt;Sin duda alguna un paso muy importante para poder tener verdaderos modelos de inteligencia artificial open source.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;nist-aprueba-3-algoritmos-criptográficos-capaces-de-resistir-a-los-ordenadores-cuánticos&quot;&gt;NIST aprueba 3 algoritmos criptográficos capaces de resistir a los ordenadores cuánticos&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;El tercer hito a incluir en nuestra lista de hitos de este fascinante 2024 para la programación son los algoritmos criptográficos que resisten los ordenadores cuánticos. Y es que el avance de la computación cuántica plantea nuevos desafíos para la ciberseguridad actual. Los ordenadores cuánticos más potentes podrían comprometer los sistemas criptográficos tradicionales como RSA, lo que ha llevado al NIST (Instituto Nacional de Estándares y Tecnología) a tomar medidas preventivas desde 2016.&lt;/p&gt;
&lt;p&gt;En respuesta a esta amenaza emergente, &lt;a href=&quot;https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards&quot;&gt;el NIST ha dado un paso histórico al aprobar tres algoritmos criptográficos postcuánticos&lt;/a&gt;. Estos algoritmos están específicamente diseñados para resistir los ataques de computadores cuánticos, protegiendo tanto el intercambio de datos en redes públicas como los sistemas de autenticación mediante firmas digitales. Estos algoritmos &lt;strong&gt;se basan en problemas matemáticos que serían difíciles de resolver incluso para un ordenador cuántico&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Los tres algoritmos aprobados son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ML-KEM (anteriormente CRYSTALS-Kyber)&lt;/strong&gt;: Diseñado para el intercambio seguro de claves&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ML-DSA (anteriormente CRYSTALS-Dilithium)&lt;/strong&gt;: Enfocado en firmas digitales&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SLH-DSA (anteriormente SPHINCS+)&lt;/strong&gt;: Un algoritmo alternativo para firmas digitales&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los dos primeros algoritmos fueron &lt;a href=&quot;https://newsroom.ibm.com/2024-08-13-ibm-developed-algorithms-announced-as-worlds-first-post-quantum-cryptography-standards&quot;&gt;desarrollados por IBM en colaboración con la academia y la industria&lt;/a&gt;, demostrando la importancia de la cooperación en el desarrollo de estándares de seguridad robustos para la era cuántica.&lt;/p&gt;
&lt;p&gt;Desde el NIST &lt;a href=&quot;https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards&quot;&gt;se sigue trabajando en el desarrollo de unos nuevos 15 algoritmos adicionales a estos tres&lt;/a&gt;. Aunque ya se está buscando que la industria empiece con la implementación inicial de estos tres algoritmos.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;rust-ganando-popularidad-como-lenguaje-seguro-y-de-alto-rendimiento&quot;&gt;Rust ganando popularidad como lenguaje seguro y de alto rendimiento&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;Rust&lt;/a&gt; se convierte en el cuarto hito de este fascinante 2024 para la programación. Y es que este año 2024 &lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;el lenguaje de programación Rust&lt;/a&gt; sigue creciendo y siendo más aceptado. Se ofrece como una opción de desarrollo cuando necesitamos &lt;em&gt;sistemas más seguros en la gestión de memoria&lt;/em&gt; y con &lt;em&gt;procesos concurrentes&lt;/em&gt; sobre los que busquemos &lt;em&gt;alto rendimiento&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;De esta manera &lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;Rust&lt;/a&gt; se posiciona como una alternativa a ciertos desarrollos en C y C++.&lt;/p&gt;
&lt;p&gt;Este incremento en la adopción se encuentra avalado por su &lt;a href=&quot;https://www.zdnet.com/article/rust-in-linux-where-we-are-and-where-were-going-next/&quot;&gt;adopción dentro del Kernel de Linux&lt;/a&gt;, aunque no sin su polémica ya que los desarrolladores del Kernel van adoptándolo no tan rápido como se esperaba, &lt;a href=&quot;https://www.zdnet.com/article/linus-torvalds-talks-ai-rust-adoption-and-why-the-linux-kernel-is-the-only-thing-that-matters/&quot;&gt;algo normal por otra parte como comentaba Linus Torvalds&lt;/a&gt;. Esto se ha unido a ciertos problemas de inconsistencia de las infraestructuras de desarrollo para &lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;Rust&lt;/a&gt;, siendo la comidilla de la comunidad.&lt;/p&gt;
&lt;p&gt;De igual manera los proveedores cloud empiezan a adoptar el uso de &lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;Rust&lt;/a&gt;. En este sentido &lt;a href=&quot;https://www.thestack.technology/azure-rewrites-it-in-rust/&quot;&gt;Azure ha reescrito la pila de virtualización en Rust convirtiéndose en el core de OpenHCL&lt;/a&gt;. Asegurando que ese paso les lleva a un modelo con mucha mejor seguridad.&lt;/p&gt;
&lt;p&gt;O &lt;a href=&quot;https://www.techzine.eu/news/devops/126463/aws-is-paying-to-make-rust-safe/&quot;&gt;Amazon Web Services (AWS) que ha invertido dinero en convertir a Rust en un lenguaje más seguro&lt;/a&gt;, como avalan sus principios, trabajando en la securización de más de 7.500 funciones en la librería estándar.&lt;/p&gt;
&lt;p&gt;Además &lt;a href=&quot;https://crates.io/&quot;&gt;la librería de paquetes (o crates) de Rust&lt;/a&gt; ya cuenta con más de 167K paquetes, y más de 100K millones de descargas.&lt;/p&gt;
&lt;p&gt;Si bien, no son todo buenas noticias, ya que tenemos algunas noticias como &lt;a href=&quot;https://www.genbeta.com/desarrollo/rust-parecia-lenguaje-ideal-para-programar-videojuegos-este-estudio-acabo-abandonandolo-tres-anos-centrados&quot;&gt;el abandono de Rust como lenguaje base por parte de el estudio LogLog Games&lt;/a&gt; para el desarrollo de videojuegos, después de tres años de inversión en él. Parece ser que la complejidad del aprendizaje del lenguaje, así como el coste de prototipado y modificación les ha llevado a tomar esta decisión.&lt;/p&gt;
&lt;p&gt;Por lo tanto, tiene pinta de que &lt;a href=&quot;https://lineadecodigo.com/categoria/rust/&quot;&gt;Rust&lt;/a&gt; seguirá creciendo en los próximos años y hablaremos mucho sobre este lenguaje de programación en &lt;a href=&quot;https://lineadecodigo.com/&quot;&gt;Línea de Código&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;python-o-javascript-sin-un-claro-ganador-como-lenguaje-preferido-en-2024&quot;&gt;Python o Javascript, ¿sin un claro ganador como lenguaje preferido en 2024?&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Y el último hito de este fascinante 2024 para la programación no podía ser otro que el caso de un sorpaso, ¿no? Seguro que dependiendo con quién hables o del informe que leas verás que el lenguaje de programación más utilizado o demandado puede variar. Y es que según unos &lt;a href=&quot;https://lineadecodigo.com/categoria/python/&quot;&gt;Python&lt;/a&gt; es el más utilizado, sobre todo al estar pegado a muchos procesos de Inteligencia Artificial y por lo tanto como uso de Data Scientists o Data Engineers. Quedando muy atrás su fama de lento, simple y no apto para grandes proyectos.&lt;/p&gt;
&lt;p&gt;Pero otros te hablarán de &lt;a href=&quot;https://lineadecodigo.com/categoria/javascript/&quot;&gt;Javascript&lt;/a&gt; como el lenguaje más utilizado y demandado a su extensivo uso como herramienta para el desarrollo fullstack desde los frontales hasta las &lt;a href=&quot;https://lineadecodigo.com/categoria/mongodb/&quot;&gt;bases de datos como MongoDB&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si miramos a los rankings de popularidad de lenguajes de programación son variables según la fuente que consultemos. Por ejemplo, &lt;a href=&quot;https://www.tiobe.com/tiobe-index/&quot;&gt;el índice TIOBE sitúa a Python en primera posición&lt;/a&gt; otorgándole una impresionate cuota del 23,28% y un incremento de uso en 2024 del 9,3%. En el caso del &lt;a href=&quot;https://www.tiobe.com/tiobe-index/&quot;&gt;índice TIOBE&lt;/a&gt; , posiciona a &lt;a href=&quot;https://lineadecodigo.com/categoria/javascript/&quot;&gt;Javascript&lt;/a&gt; en un sexto puesto con el 4,20% de uso.&lt;/p&gt;
&lt;p&gt;En el caso de mirar &lt;a href=&quot;https://octoverse.github.com/&quot;&gt;Octoverse&lt;/a&gt;, que es el informe general que publica GitHub sobre el uso de su plataforma para poder identificar tendencias así como el uso de open source, podemos observar que &lt;a href=&quot;https://github.blog/news-insights/octoverse/octoverse-2024/&quot;&gt;Python se ha convertido de forma indiscutible en el lenguaje número uno de uso&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pero si miramos en &lt;a href=&quot;https://www.devjobsscanner.com/&quot;&gt;DevJobsScanner&lt;/a&gt;, que genera un informe de lenguajes de programación enfocado a ofertas de empleo, podemos observar que el lenguaje que más profesionales está demandando es &lt;a href=&quot;https://lineadecodigo.com/categoria/javascript/&quot;&gt;Javascript&lt;/a&gt; o mejor dicho, &lt;a href=&quot;https://lineadecodigo.com/categoria/javascript/&quot;&gt;Javascript&lt;/a&gt; y &lt;a href=&quot;https://lineadecodigo.com/categoria/typescript/&quot;&gt;TypeScript&lt;/a&gt; con un 30% de las ofertas. En este caso encontramos a &lt;a href=&quot;https://lineadecodigo.com/categoria/python/&quot;&gt;Python&lt;/a&gt; como el segundo lenguaje con más ofertas de empleo con un 20% de puestos ofrecidos.&lt;/p&gt;
&lt;p&gt;Así la pregunta es ¿sin hay un claro ganador como lenguaje preferido en 2024? Y creo que la respuesta es clara, aunque algún informe siga poniendo a &lt;a href=&quot;https://lineadecodigo.com/categoria/javascript/&quot;&gt;Javascript&lt;/a&gt; como el más utilizado, sin duda alguna &lt;a href=&quot;https://lineadecodigo.com/categoria/python/&quot;&gt;Python&lt;/a&gt; es es claro ganador de este 2024, convirtiéndose en el lenguaje más utilizado y con pintas de reinar, de largo, en los próximos años.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;artículos-sobre-un-fascinante-2024-para-la-programación-que-debes-de-leer&quot;&gt;Artículos sobre un fascinante 2024 para la programación que debes de leer&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Si quieres saber un poco más sobre las historias  que han hecho que tengamos un fascinante 2024 para la programación y el desarrollo de software te recomiendo que le eches un vistazo a los siguientes artículos.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://thenewstack.io/top-dev-tools-and-web-developer-trends-of-2024/&quot;&gt;https://thenewstack.io/top-dev-tools-and-web-developer-trends-of-2024/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://sdtimes.com/softwaredev/the-top-software-development-news-of-2024/&quot;&gt;https://sdtimes.com/softwaredev/the-top-software-development-news-of-2024/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Y hasta aquí nuestros 5 hitos relevantes en un fascinante 2024 para la programación. Seguro que nuestros lectores tienen alguno más, así que encantado de escucharos en comentarios sobre qué ha sido para vosotros lo fascinante 2024 para la programación.&lt;/p&gt;
&lt;p&gt;Foto de portada por &lt;a href=&quot;https://www.freepik.es/&quot;&gt;Freepik&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>editorial</category></item><item><title>Hosting con migraciones gratuitas en SiteGround</title><link>https://ldc.teoriaweb.com/blog/hosting-con-migraciones-gratuitas-en-siteground/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/hosting-con-migraciones-gratuitas-en-siteground/</guid><pubDate>Sun, 25 Sep 2016 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Una de las cosas que más quebraderos de cabeza nos pasa a las personas que tenemos webs o que gestionamos webs de terceros es lo relativo al hosting. La complejidad de movernos de un hosting a otro por lo relativo a costes económicos, al esfuerzo del movimiento del software, a las configuraciones que tenemos que modificar,… todo esto hace que permanezcamos en un mismo hosting, aunque este no cubra todas las expectativas que estemos esperando.&lt;/p&gt;
&lt;p&gt;Así que hoy os queremos hablar un poco de una oferta que ha puesto encima de la mesa &lt;a href=&quot;https://www.siteground.es/?utm_medium=blog&amp;#x26;utm_source=lineadecodigo&amp;#x26;utm_campaign=PH2-W3&amp;#x26;utm_content=p3sept&quot;&gt;SiteGround&lt;/a&gt;, la cual incluye una de migración gratuita y una serie de beneficios adicionales, si adquieres una cuenta de hosting a lo largo de este mes de septiembre.&lt;/p&gt;
&lt;p&gt;De esta manera si te creas una cuenta con &lt;a href=&quot;https://www.siteground.es/?utm_medium=blog&amp;#x26;utm_source=lineadecodigo&amp;#x26;utm_campaign=PH2-W3&amp;#x26;utm_content=p3sept&quot;&gt;SiteGround&lt;/a&gt; durante este mes te podrás beneficiar de:&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;la-migración-de-tu-web-actual-de-forma-gratuita&quot;&gt;La migración de tu web actual de forma gratuita&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Si te preocupa el tener que mover todo su site o la complejidad que esto conlleva, no te preocupes, ya que &lt;a href=&quot;https://www.siteground.es/?utm_medium=blog&amp;#x26;utm_source=lineadecodigo&amp;#x26;utm_campaign=PH2-W3&amp;#x26;utm_content=p3sept&quot;&gt;&lt;strong&gt;SiteGround te realiza la migración de forma gratuita&lt;/strong&gt;&lt;/a&gt;. Su Área de Soporte te ayudará con ello.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;transferencia-del-dominio&quot;&gt;Transferencia del dominio&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Otro de los puntos importantes es tener que mover el dominio dónde tengamos la web, así, por cada una de las cuentas que tengamos en &lt;a href=&quot;https://www.siteground.es/?utm_medium=blog&amp;#x26;utm_source=lineadecodigo&amp;#x26;utm_campaign=PH2-W3&amp;#x26;utm_content=p3sept&quot;&gt;SiteGround&lt;/a&gt;, podremos solicitar una transferencia de dominio.&lt;/p&gt;
&lt;p&gt;Las transferencias de dominio las tienen disponibles para los dominios: es, .com, .net, .org, .biz, or .info. Hay algunos dominios de países también disponibles que puedes consultar con ellos.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;hosting-gratuito-al-cambiarte-de-proveedor&quot;&gt;Hosting Gratuito al cambiarte de proveedor&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Una de las cosas más importantes es la fecha de renovación. ¿Cómo me voy a cambiar de proveedor de hosting si he renovado hace unos meses con el mío? En este sentido desde &lt;a href=&quot;https://www.siteground.es/?utm_medium=blog&amp;#x26;utm_source=lineadecodigo&amp;#x26;utm_campaign=PH2-W3&amp;#x26;utm_content=p3sept&quot;&gt;SiteGround&lt;/a&gt; nos compensa con hasta 6 meses de hosting gratis, igualando el tiempo que te quedase con tu actual proveedor.&lt;/p&gt;
&lt;p&gt;Para poderte beneficiar de este hosting gratuito es importante que tengas en cuenta las siguientes cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La fecha límite para poder solicitar este hosting gratuito es el 8 de octubre.&lt;/li&gt;
&lt;li&gt;La cuenta actual sea un alojamiento compartido con un plan de 12 meses o más.&lt;/li&gt;
&lt;li&gt;Que el inicio del contrato con tu proveedor actual lo hayas realizado antes del 1 de septiembre de 2016.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La parte de hosting gratuito la puedes hacer desde tu área de usuario en &lt;strong&gt;Soporte &gt; Ayuda Facturación &gt; Solicitar hosting promocional&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Así que si estás pensando en que tu proveedor de hosting actual no cubre tus necesidades actuales, pero estabas preocupado por la migración de tus sites, no dudes en &lt;a href=&quot;https://www.siteground.es/?utm_medium=blog&amp;#x26;utm_source=lineadecodigo&amp;#x26;utm_campaign=PH2-W3&amp;#x26;utm_content=p3sept&quot;&gt;echarle un vistazo a los servicios que ofrece SiteGround y así puedas aprovecharse de este modelo de migración gratuito&lt;/a&gt;. Y no te olvides de contarnos tu experiencia.&lt;/p&gt;</content:encoded><category>hosting</category></item><item><title>Vídeo Controlar eventos en Javascript</title><link>https://ldc.teoriaweb.com/blog/video-controlar-eventos-en-javascript/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/video-controlar-eventos-en-javascript/</guid><pubDate>Fri, 08 Apr 2016 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;En el vídeo controlar eventos en &lt;a href=&quot;https://www.manualweb.net/javascript/&quot;&gt;Javascript&lt;/a&gt; se nos presentan las nociones básicas para poder controlar un evento dentro de una página &lt;a href=&quot;https://www.manualweb.net/html/&quot;&gt;HTML&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;estructura-del-formulario&quot;&gt;Estructura del formulario&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Para ello lo que se hace es construir un formulario en el cual tendremos un botón, del cual queremos saber cuándo se ha pulsado. Además utilizaremos una capa para devolver un texto indicando cuándo se ha pulsado el botón.&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;&lt;/span&gt;&lt;span&gt;button&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;miboton&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;span&gt;Hola Soy un Boton&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;/&lt;/span&gt;&lt;span&gt;button&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;&lt;/span&gt;&lt;span&gt;div&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;micapa&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span&gt;div&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;separar-estructura-y-comportamiento&quot;&gt;Separar estructura y comportamiento&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Luego se nos contará la diferencia entre tener el comportamiento y la estructura dentro de un mismo sitio, cosa que sucedía en los principios del &lt;a href=&quot;https://www.manualweb.net/html/&quot;&gt;HTML&lt;/a&gt; y lo que es separar la estructura del comportamiento, que será la mejor forma de poder controlar eventos en &lt;a href=&quot;https://www.manualweb.net/javascript/&quot;&gt;Javascript&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;funciones-para-manejar-eventos&quot;&gt;Funciones para manejar eventos&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Para acabar, entraremos en detalle en el uso de las funciones &lt;a href=&quot;https://www.w3api.com/DOM/Document/getElementById/&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;.getElementById()&lt;/code&gt;&lt;/a&gt; y &lt;a href=&quot;https://www.w3api.com/DOM/EventTarget/addEventListener/&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;.addEventListener()&lt;/code&gt;&lt;/a&gt; que serán las que nos ayuden a manejar los eventos.&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;var &lt;/span&gt;&lt;span&gt;boton&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;document&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;miboton&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;boton&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;addEventListener&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;click&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;function&lt;/span&gt;&lt;span&gt;()&lt;/span&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;var &lt;/span&gt;&lt;span&gt;capa&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;document&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;micapa&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;capa&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;innerHTML&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Has pulsado el botón&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;},&lt;/span&gt;&lt;span&gt;false&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Pero lo mejor es que os veáis en vídeo controlar eventos en &lt;a href=&quot;https://www.manualweb.net/javascript/&quot;&gt;Javascript&lt;/a&gt; que os contará todo esto en detalle.&lt;/p&gt;
&lt;p&gt;¡Espero que os guste el vídeo!&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/4CmQz6E1yCg&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;</content:encoded><category>video</category></item><item><title>Vídeo Insertar Imagen en un Canvas HTML5</title><link>https://ldc.teoriaweb.com/blog/video-insertar-imagen-en-un-canvas-html5/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/video-insertar-imagen-en-un-canvas-html5/</guid><pubDate>Wed, 06 Apr 2016 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Una de las cosas nuevas que aparecen en &lt;a href=&quot;http://dudasprogramacion.com/html/html5&quot;&gt;HTML5&lt;/a&gt; es el elemento &lt;a href=&quot;https://www.w3api.com/HTML/canvas/&quot;&gt;Canvas&lt;/a&gt;.  Hoy tenemos el vídeo insertar imagen en un &lt;a href=&quot;https://www.w3api.com/HTML/canvas/&quot;&gt;Canvas&lt;/a&gt; &lt;a href=&quot;http://dudasprogramacion.com/html/html5&quot;&gt;HTML5&lt;/a&gt; el cual nos cuenta cómo podemos crear un &lt;a href=&quot;https://www.w3api.com/HTML/canvas/&quot;&gt;Canvas&lt;/a&gt;, para, de forma posterior, manipularlo mediante &lt;a href=&quot;https://www.manualweb.net/javascript/&quot;&gt;Javascript&lt;/a&gt; e insertar una imagen dentro.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;contenido-del-vídeo&quot;&gt;Contenido del vídeo&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;En este tutorial aprenderás:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;El elemento Canvas de HTML5&lt;/strong&gt; y cómo crearlo&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;El método .getContext()&lt;/strong&gt; para acceder al contexto del Canvas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La clase Image()&lt;/strong&gt; de Javascript para crear imágenes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cómo combinar todo&lt;/strong&gt; para insertar una imagen en el Canvas&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;el-elemento-canvas&quot;&gt;El elemento Canvas&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;El Canvas es un lienzo en blanco donde puedes dibujar gráficos mediante Javascript. Se crea con:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;&lt;/span&gt;&lt;span&gt;canvas&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;miCanvas&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;800&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;600&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&gt;&amp;#x3C;/&lt;/span&gt;&lt;span&gt;canvas&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;el-método-getcontext&quot;&gt;El método getContext()&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Para manipular el Canvas necesitamos obtener su contexto 2D:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;var &lt;/span&gt;&lt;span&gt;canvas&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;document&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;getElementById&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;span&gt;miCanvas&lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;var &lt;/span&gt;&lt;span&gt;ctx&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;canvas&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;getContext&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;span&gt;2d&lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;la-clase-image&quot;&gt;La clase Image()&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Para cargar imágenes en Javascript usamos:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;var &lt;/span&gt;&lt;span&gt;imagen&lt;/span&gt;&lt;span&gt; = &lt;/span&gt;&lt;span&gt;new&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;Image&lt;/span&gt;&lt;span&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;imagen&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;src&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;span&gt;ruta/a/imagen.jpg&lt;/span&gt;&lt;span&gt;&apos;&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;insertar-la-imagen-en-el-canvas&quot;&gt;Insertar la imagen en el Canvas&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Una vez cargada la imagen, la dibujamos en el Canvas:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;imagen&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;onload&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;function&lt;/span&gt;&lt;span&gt;()&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;ctx&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;drawImage&lt;/span&gt;&lt;span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;imagen&lt;/span&gt;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;el-vídeo&quot;&gt;El vídeo&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Pero lo mejor es que lo veas en el vídeo insertar imagen en un Canvas &lt;a href=&quot;http://dudasprogramacion.com/html/html5&quot;&gt;HTML5&lt;/a&gt; y lo aprendas por ti mismo. Espero que os guste!&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/kC3bmcaS6bw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Puedes ver el vídeo directamente en YouTube: &lt;a href=&quot;https://www.youtube.com/watch?v=kC3bmcaS6bw&quot;&gt;https://www.youtube.com/watch?v=kC3bmcaS6bw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;El Canvas de HTML5 es una herramienta poderosa para crear gráficos dinámicos. Insertar imágenes es solo el principio de todo lo que puedes hacer con esta tecnología.&lt;/p&gt;</content:encoded><category>video</category></item><item><title>Vídeo recorrer un array en Java</title><link>https://ldc.teoriaweb.com/blog/video-recorrer-un-array-en-java/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/video-recorrer-un-array-en-java/</guid><pubDate>Mon, 04 Apr 2016 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Tenemos un nuevo vídeo en &lt;a href=&quot;https://www.youtube.com/lineadecodigo&quot;&gt;nuestro canal de Youtube de Línea de Código&lt;/a&gt;. En este caso el vídeo nos enseña a Recorrer un Array en Java.&lt;/p&gt;
&lt;p&gt;Para ello veremos cómo podemos crear un array de &lt;a href=&quot;https://www.w3api.com/Java/String/&quot;&gt;&lt;code dir=&quot;auto&quot;&gt;String&lt;/code&gt;&lt;/a&gt; y cargarlo de contenido, para, a posteriori, &lt;a href=&quot;https://manualweb.net/java/sentencias-bucle-java/#for&quot;&gt;utilizar un bucle for&lt;/a&gt; para recorrer los elementos del array y mostrarlos en pantalla.&lt;/p&gt;
&lt;p&gt;También se analiza el uso de la propiedad &lt;code dir=&quot;auto&quot;&gt;.length&lt;/code&gt; para poder conocer el número de elementos con los que cuenta el array y saber de qué forma deberemos de salirnos del &lt;a href=&quot;https://manualweb.net/java/sentencias-bucle-java/#for&quot;&gt;bucle for&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Espero que os guste el vídeo recorrer un array en &lt;a href=&quot;https://www.manualweb.net/java/&quot;&gt;Java&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/--UcZ6HW3fw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;</content:encoded><category>video</category></item><item><title>Intel RealSense Webinar</title><link>https://ldc.teoriaweb.com/blog/intel-realsense-webinar/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/intel-realsense-webinar/</guid><pubDate>Fri, 09 Oct 2015 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Intel organizará la segunda edición de su serie de webinars dedicados a los &lt;strong&gt;proyectos de la comunidad de desarrolladores de Intel RealSense&lt;/strong&gt; el próximo 14 de octubre, de 18:30 a 19:30 (CEST). Durante el &lt;strong&gt;Intel RealSense Webinar&lt;/strong&gt; se presentarán proyectos innovadores iniciados en los talleres prácticos de la compañía.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;intel-realsense-redefiniendo-la-interacción-con-dispositivos&quot;&gt;Intel RealSense: Redefiniendo la interacción con dispositivos&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;La tecnología RealSense de Intel está disponible en dos modelos de cámara: la &lt;strong&gt;F200&lt;/strong&gt; (cámara frontal) y la &lt;strong&gt;R200&lt;/strong&gt; (cámara trasera). Cada modelo integra una cámara convencional, una cámara infrarroja y un proyector láser infrarrojo. Estas cámaras vienen integradas en determinados equipos o pueden adquirirse por separado.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Intel RealSense&lt;/strong&gt; transforma la forma de interactuar con los dispositivos, permitiendo experiencias más fluidas e intuitivas. La tecnología permite controlar el ordenador mediante movimientos de cabeza, escanear rostros u objetos en 3D, y navegar por Internet sin necesidad de contacto físico con la pantalla o el ratón.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;aplicaciones-innovadoras&quot;&gt;Aplicaciones innovadoras&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;La cámara &lt;strong&gt;Intel RealSense&lt;/strong&gt; ofrece un amplio espectro de aplicaciones en diversos ámbitos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Videojuegos inmersivos&lt;/strong&gt;: Durante el último CES, los asistentes pudieron experimentar personajes de videojuego que replicaban sus movimientos faciales en tiempo real&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Videoconferencia mejorada&lt;/strong&gt;: Posibilidad de modificar el fondo de las videollamadas con imágenes, presentaciones o planos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Escaneo 3D&lt;/strong&gt;: Capacidad para escanear objetos y crear modelos imprimibles en 3D sin necesidad de dominar software CAD&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Control por voz, realidad aumentada y análisis facial&lt;/strong&gt;: Tecnologías ahora accesibles para todos los usuarios&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;talleres-para-desarrolladores&quot;&gt;Talleres para desarrolladores&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Intel organiza regularmente talleres prácticos donde los desarrolladores pueden familiarizarse con la tecnología y crear aplicaciones utilizando &lt;strong&gt;Intel RealSense&lt;/strong&gt; en tiempo real. Los resultados de estos talleres se presentan en una serie de webinars exclusivos.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Primera sesión&lt;/strong&gt;: Se presentaron tres proyectos, incluyendo un juego de Jenga, un juego educativo y un juego de reflejos.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/oaBnma23Lzw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;segunda-sesión---14-de-octubre&quot;&gt;Segunda sesión - 14 de octubre&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;La segunda sesión presentará tres nuevas aplicaciones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kfir Matza y Dolly Ovadia Nahon&lt;/strong&gt;: Karaoke interactivo que transforma a los participantes en estrellas del rock, sumergiéndolos en el escenario visual de la canción durante toda la actuación&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anthony Thomas&lt;/strong&gt;: Instalación innovadora que amplía las funcionalidades de &lt;strong&gt;Intel RealSense&lt;/strong&gt; mediante su conexión con una placa Arduino&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rudy Aramayo&lt;/strong&gt;: Aplicación que utiliza &lt;strong&gt;Intel RealSense&lt;/strong&gt; para explorar conceptos de física cuántica de forma interactiva&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;registro-al-webinar&quot;&gt;Registro al Webinar&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Para asistir al webinar, sigue estos pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Preinscríbete en Eventbrite&lt;/li&gt;
&lt;li&gt;Regístrate y accede al webinar&lt;/li&gt;
&lt;/ol&gt;</content:encoded><category>eventos</category></item><item><title>Vídeo Consultas con Filtros en MongoDB</title><link>https://ldc.teoriaweb.com/blog/video-consultas-con-filtros-en-mongodb/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/video-consultas-con-filtros-en-mongodb/</guid><pubDate>Mon, 21 Sep 2015 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;En este nuevo vídeo de Línea de código podemos ver cómo realizar consultas con filtros en &lt;a href=&quot;https://www.manualweb.net/mongodb/&quot;&gt;MongoDB&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;conjunto-de-datos&quot;&gt;Conjunto de datos&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;En el vídeo consultas con filtros en &lt;a href=&quot;https://www.manualweb.net/mongodb/&quot;&gt;MongoDB&lt;/a&gt; partiremos de un conjunto de documentos de ciudades:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;_id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;ObjectId&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;525ab02733b01a66a9dcbc5b&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ciudad&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Madrid&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;habitantes&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;3233527&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;_id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;ObjectId&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;525ab02733b01a66a9dcbc5c&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ciudad&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Barcelona&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;habitantes&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;1620943&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;_id&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;ObjectId&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;525ab02733b01a66a9dcbc5d&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;),&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ciudad&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Valencia&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;  &lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;habitantes&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; : &lt;/span&gt;&lt;span&gt;797028&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;método-find-con-filtros&quot;&gt;Método find() con filtros&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Y veremos cómo utilizar el método &lt;code dir=&quot;auto&quot;&gt;find()&lt;/code&gt; con un filtro:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;db&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;ciudades&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;find&lt;/span&gt;&lt;span&gt;( {ciudad:&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Madrid&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;} );&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;p&gt;Para poder obtener un documento de la colección.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;vídeo-tutorial&quot;&gt;Vídeo tutorial&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Pero lo mejor es que veas el vídeo consultas con filtros en &lt;a href=&quot;https://www.manualweb.net/mongodb/&quot;&gt;MongoDB&lt;/a&gt; y nos cuentes qué te parece.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/jMxAMRRI0Ww&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;</content:encoded><category>video</category></item><item><title>Vídeo Tablas Cebra con Bootstrap</title><link>https://ldc.teoriaweb.com/blog/video-tablas-cebra-con-bootstrap/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/video-tablas-cebra-con-bootstrap/</guid><pubDate>Thu, 17 Sep 2015 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ya veíamos en el artículo &lt;a href=&quot;http://lineadecodigo.com/bootstrap/tablas-estilo-cebra-con-bootstrap/&quot;&gt;tablas estilo cebra&lt;/a&gt; como podíamos construir una tabla estilo cebra con &lt;a href=&quot;http://www.manualweb.net/bootstrap/&quot;&gt;Bootstrap&lt;/a&gt;. Pero hemos decidido hacer un vídeo todavía más didáctico.&lt;/p&gt;
&lt;p&gt;El vídeo &lt;strong&gt;Tablas Cebra con Bootstrap&lt;/strong&gt; se convierte en el segundo vídeo de nuestro canal.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;contenido-del-vídeo&quot;&gt;Contenido del vídeo&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;En el vídeo podrás ver:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cómo crear una tabla con &lt;a href=&quot;https://www.manualweb.net/html/&quot;&gt;HTML&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cómo insertar el &lt;a href=&quot;http://www.manualweb.net/bootstrap/&quot;&gt;framework Bootstrap&lt;/a&gt; en tu web&lt;/li&gt;
&lt;li&gt;Cómo dar formato a la tabla para que se pueda definir un estilo cebra&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/U9ZLGohhcdY&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Espero que el vídeo, cómo los demás del canal, sea de vuestro agrado. Si es así no os olvidéis de &lt;a href=&quot;https://www.youtube.com/user/lineadecodigo&quot;&gt;suscribir al canal de Línea de Código en Youtube&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>video</category></item><item><title>HP Helion European Webinar Series</title><link>https://ldc.teoriaweb.com/blog/hp-helion-european-webinar-series/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/hp-helion-european-webinar-series/</guid><pubDate>Fri, 28 Aug 2015 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;h2 id=&quot;hp-helion-european-webinar-series&quot;&gt;HP Helion European Webinar Series&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Entre los próximos días &lt;strong&gt;1 de septiembre&lt;/strong&gt; y &lt;strong&gt;28 de octubre de 2015&lt;/strong&gt; se celebrarán los &lt;a href=&quot;http://network.bemyapp.com/trk/F47848744E0B3740ACDFC3D80DDC2FDE&quot;&gt;HP Helion European Webinar Series&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Los &lt;a href=&quot;http://network.bemyapp.com/trk/F47848744E0B3740ACDFC3D80DDC2FDE&quot;&gt;HP Helion European Webinar Series&lt;/a&gt; son un conjunto de &lt;strong&gt;webinars&lt;/strong&gt; (talleres online) de &lt;strong&gt;1 hora&lt;/strong&gt; de duración destinados a &lt;strong&gt;desarrolladores&lt;/strong&gt; que estén trabajando con &lt;strong&gt;soluciones Cloud&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;HP&lt;/strong&gt; sabe que aprender algo nuevo es un compromiso, especialmente en el campo de la tecnología. Desde aprender una nueva plataforma hasta aprender a desarrollar en un nuevo lenguaje, a veces puede ser intimidante. Es por ello que la gente de HP está trabajando incansablemente por si quieres aprender algo rápido, con una curva de aprendizaje corta, y lo más importante de forma divertida y atractiva.&lt;/p&gt;
&lt;p&gt;Los webinars de los &lt;a href=&quot;http://network.bemyapp.com/trk/F47848744E0B3740ACDFC3D80DDC2FDE&quot;&gt;HP Helion European Webinar Series&lt;/a&gt; son impartidos por un conjunto de &lt;strong&gt;ingenieros de HP&lt;/strong&gt; que trabajan en el proyecto &lt;strong&gt;HP Helion&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;HP está enfocada en cambiar el futuro de la &lt;strong&gt;virtualización&lt;/strong&gt; y el manejo de los datos con proyectos &lt;strong&gt;Cloud&lt;/strong&gt;. &lt;strong&gt;HP Helion&lt;/strong&gt; es una solución Cloud para despliegues de &lt;strong&gt;cloud públicas&lt;/strong&gt;, &lt;strong&gt;híbridas&lt;/strong&gt; o &lt;strong&gt;privadas&lt;/strong&gt; de HP.&lt;/p&gt;
&lt;p&gt;HP Helion está basado en &lt;strong&gt;OpenStack&lt;/strong&gt; y &lt;strong&gt;CloudFoundry&lt;/strong&gt;. &lt;strong&gt;HP Helion&lt;/strong&gt; facilita los despliegues automáticos, la seguridad, el almacenamiento en cloud y el manejo de &lt;strong&gt;aplicaciones Cloud nativas&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Puedes obtener más información de HP Helios en &lt;a href=&quot;http://hp.com/helios&quot;&gt;http://hp.com/helios&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Descubre como HP está cambiando el desarrollo en la nube para mejor en &lt;a href=&quot;http://hphelion.bemyapp.com/&quot;&gt;hphelion.bemyapp.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No dejes pasar la oportunidad y regístrate en los &lt;a href=&quot;http://network.bemyapp.com/trk/F47848744E0B3740ACDFC3D80DDC2FDE&quot;&gt;HP Helion European Webinar Series&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Vídeo Imágenes en HTML</title><link>https://ldc.teoriaweb.com/blog/video-imagenes-en-html/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/video-imagenes-en-html/</guid><pubDate>Tue, 18 Aug 2015 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Vamos a empezar una &lt;strong&gt;nueva serie de vídeos dentro de&lt;/strong&gt; &lt;a href=&quot;http://lineadecodigo.com/&quot;&gt;&lt;strong&gt;Línea de Código&lt;/strong&gt;&lt;/a&gt; Estos nuevos vídeos serán &lt;em&gt;más naturales, directos, didácticos&lt;/em&gt; e intentarán transmitir de una &lt;em&gt;forma más personal&lt;/em&gt; los diferentes temas de programación.&lt;/p&gt;
&lt;p&gt;Vídeos pensando en vosotros, vídeos que &lt;strong&gt;ayuden a aprender a programar&lt;/strong&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;el-vídeo-imágenes-en-html&quot;&gt;El vídeo Imágenes en HTML&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Para ello el primer vídeo será &lt;strong&gt;“Imágenes en HTML”&lt;/strong&gt;. En el vídeo Imágenes en &lt;a href=&quot;https://www.manualweb.net/html/&quot;&gt;HTML&lt;/a&gt; podréis encontrar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;El uso de la etiqueta img&lt;/strong&gt; - elemento fundamental para insertar imágenes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Los atributos de la etiqueta img&lt;/strong&gt; - src, alt, width, height, title&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Las formas de referenciar una imagen&lt;/strong&gt; desde el &lt;a href=&quot;https://www.w3api.com/HTML/source/src/&quot;&gt;atributo src&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cómo dar alto y ancho a una imagen&lt;/strong&gt; usando width y height&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Para qué sirve el atributo title&lt;/strong&gt; y cómo se renderiza en el navegador&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;La importancia de la accesibilidad&lt;/strong&gt; del &lt;a href=&quot;https://www.w3api.com/HTML/a/lt&quot;&gt;atributo alt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;estructura-básica&quot;&gt;Estructura básica&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;La etiqueta básica para insertar una imagen es:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;&lt;/span&gt;&lt;span&gt;img&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;ruta/imagen.jpg&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;alt&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Descripción de la imagen&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;atributos-principales&quot;&gt;Atributos principales&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Ejemplo completo con todos los atributos:&lt;/p&gt;
&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&amp;#x3C;&lt;/span&gt;&lt;span&gt;img&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;src&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;foto.jpg&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;alt&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Descripción accesible&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;width&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;800&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;height&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;600&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span&gt;     &lt;/span&gt;&lt;span&gt;title&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;Texto que aparece al pasar el ratón&lt;/span&gt;&lt;span&gt;&quot;&lt;/span&gt;&lt;span&gt;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;&lt;/div&gt;
&lt;div&gt;&lt;h2 id=&quot;ver-el-vídeo&quot;&gt;Ver el vídeo&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Esperamos que disfrutéis de este nuevo formato de vídeos.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/ou-UwtE7fuk&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Podéis ver el vídeo directamente en YouTube: &lt;a href=&quot;https://www.youtube.com/watch?v=ou-UwtE7fuk&quot;&gt;https://www.youtube.com/watch?v=ou-UwtE7fuk&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;tu-opinión-cuenta&quot;&gt;Tu opinión cuenta&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Además aceptamos cualquier tipo de comentario, ya sean críticas, puntos de mejora, si os gusta o no os gusta el nuevo formato. Cualquier comentario será muy apreciado.&lt;/p&gt;</content:encoded><category>video</category></item><item><title>Nuevo diseño y 1.000 ejemplos</title><link>https://ldc.teoriaweb.com/blog/nuevo-diseno-y-1000-ejemplos/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/nuevo-diseno-y-1000-ejemplos/</guid><pubDate>Sun, 12 Jul 2015 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ya han pasado unos cuantos años desde que &lt;a href=&quot;http://lineadecodigo.com/blog/linea-de-codigo/&quot;&gt;empezó la andadura de Línea de Código&lt;/a&gt; allá por noviembre de 2006.&lt;/p&gt;
&lt;p&gt;Han sido unos años en los que hemos ido creciendo en número de usuarios y en número de artículos. Pero en los que, sobre todo, &lt;strong&gt;hemos aprendido nuevas cosas y hemos ayudado a otras personas en su aprendizaje&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ese aprendizaje y las muestras de cariño que nos dejáis en los comentarios hacen que se siga escribiendo de buena en la web.&lt;/p&gt;
&lt;p&gt;En este tiempo hemos conseguido llegar a tener &lt;strong&gt;1000 ejemplos documentados&lt;/strong&gt; explicando diferentes lenguajes y frameworks de programación.&lt;/p&gt;
&lt;p&gt;Además ayer hemos puesto en funcionamiento la &lt;strong&gt;nueva estructura y diseño de la web&lt;/strong&gt;. Mediante el cual esperamos que os sea más fácil de encontrar los ejemplos y de leer en diferentes dispositivos, gracias a su &lt;a href=&quot;http://www.arquitectoit.com/front/layout-adaptable-en-disenos-sensibles/&quot;&gt;diseño responsive&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Esperamos que sea de vuestro agrado y se aceptan sugerencias para nuevas funcionalidades y mejoras.&lt;/p&gt;
&lt;p&gt;Queríamos también aprovechar para &lt;strong&gt;dar las gracias a todas las personas que de una u otra forma han colaborado con la web&lt;/strong&gt;. A nuestros colaboradores, a la gente que nos promociona, a los sponsors,.. a todos muchas gracias. Esperamos seguir junto a vosotros, al menos, otros 1000 ejemplos más.&lt;/p&gt;</content:encoded><category>diseño</category></item><item><title>Webinar Perceptual Computing en Español</title><link>https://ldc.teoriaweb.com/blog/webinar-perceptual-computing-en-espanol/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/webinar-perceptual-computing-en-espanol/</guid><pubDate>Thu, 25 Sep 2014 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Se encuentra disponible el vídeo del &lt;a href=&quot;http://network.bemyapp.com/trk/A39140E5F56E5F9D612157804E9B2903&quot;&gt;Webinar de Perceptual Computing en Español&lt;/a&gt;, celebrado en el marco del concurso &lt;a href=&quot;http://network.bemyapp.com/trk/A39140E5F56E5F9D612157804E9B2903&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Este webinar constituye una excelente oportunidad para comprender el funcionamiento de la &lt;strong&gt;programación perceptual&lt;/strong&gt; mediante Intel RealSense, tanto para participantes del concurso &lt;a href=&quot;http://network.bemyapp.com/trk/A39140E5F56E5F9D612157804E9B2903&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt; como para desarrolladores interesados en esta tecnología.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;vídeo-del-webinar&quot;&gt;Vídeo del Webinar&lt;/h2&gt;&lt;/div&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/CGOa-Xi7SZw&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;La sesión presenta los conceptos fundamentales de la programación perceptual y las capacidades de desarrollo con la tecnología Intel RealSense.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Perceptual Computing</title><link>https://ldc.teoriaweb.com/blog/perceptual-computing/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/perceptual-computing/</guid><pubDate>Mon, 22 Sep 2014 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Venimos hablando sobre la programación perceptual con Intel y su evento de &lt;a href=&quot;http://network.bemyapp.com/trk/C0D43FB081C7053CE5F5EE30B34EE201&quot;&gt;Webinar Real Sense App Challenge 2014&lt;/a&gt; en el que puedes llegar a conseguir hasta 1 millón de dólares en premios.&lt;/p&gt;
&lt;p&gt;Pero , &lt;strong&gt;¿en qué consiste la programación perceptual?&lt;/strong&gt; Utilizando la programación perceptual podemos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Identificar movimientos de la mano y de los dedos,&lt;/strong&gt; con el SDK de Intel Real Sense se pueden identificar hasta 22 articulaciones.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Análisis de la cara&lt;/strong&gt;, en este caso se identifican 78 puntos lo cual permite seguir el movimiento de la cabeza. Pero no solo eso si no que se puede llegar hasta identificar emociones y sentimientos.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tener gestos por defecto,&lt;/strong&gt; ya que el SDK viene preconfigurado con gestos como pulgares hacía arriba o hacer la ola.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reconocimiento vocal&lt;/strong&gt;, aquí se podrán ejecutar comandos pronunciados por el usuario, así como realizar dictados.&lt;/li&gt;
&lt;li&gt;…&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fíjate las cosas que se pueden llegar a realizar…&lt;/p&gt;
&lt;p&gt;Si esto te parece interesante no deberías dejar pasar la oportunidad de apuntarte al &lt;a href=&quot;http://network.bemyapp.com/trk/C0D43FB081C7053CE5F5EE30B34EE201&quot;&gt;concurso Real Sense App Challenge&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Webinar Real Sense App Challenge 2014 en Español</title><link>https://ldc.teoriaweb.com/blog/webinar-real-sense-app-challenge-2014-en-espanol/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/webinar-real-sense-app-challenge-2014-en-espanol/</guid><pubDate>Fri, 05 Sep 2014 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Dentro del evento &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt; ahora tenemos la oportunidad de atender a un &lt;a href=&quot;http://network.bemyapp.com/trk/3094BD2AFEB32E98763702B0BF329954&quot;&gt;webinar en español&lt;/a&gt;, lo cual hará que tengamos más información sobre el concurso de desarrollo sobre tecnología perceptual de Intel.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;temario-del-webinar&quot;&gt;Temario del webinar&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Dentro del &lt;a href=&quot;http://network.bemyapp.com/trk/3094BD2AFEB32E98763702B0BF329954&quot;&gt;Webinar Real Sense App Challenge 2014 en Español&lt;/a&gt; podremos conocer los siguientes temas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Intel® RealSense™ SDK beta para Windows&lt;/li&gt;
&lt;li&gt;¿Qué es Intel® RealSense™ Technology?&lt;/li&gt;
&lt;li&gt;Importancia para los desarrolladores&lt;/li&gt;
&lt;li&gt;Detalles técnicos de Intel® RealSense™ Technology&lt;/li&gt;
&lt;li&gt;Comenzar con Intel® RealSense™ SDK&lt;/li&gt;
&lt;li&gt;Desarrollando una Aplicación con Intel® RealSense™ SDK for Windows&lt;/li&gt;
&lt;li&gt;Programa de Desarrolladores Intel® RealSense™ SDK&lt;/li&gt;
&lt;li&gt;Q&amp;#x26;A&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;h2 id=&quot;coordinadores&quot;&gt;Coordinadores&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;El &lt;a href=&quot;http://network.bemyapp.com/trk/3094BD2AFEB32E98763702B0BF329954&quot;&gt;Webinar Real Sense App Challenge 2014 en Español&lt;/a&gt; será &lt;strong&gt;coordinado por Albertina Durante y Hernán Alijo&lt;/strong&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;registro&quot;&gt;Registro&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Puedes &lt;a href=&quot;http://eventbrite.co.uk/tickets-external?eid=12735051883&amp;#x26;ref=etckt&quot;&gt;registrarte directamente&lt;/a&gt; para no dejar pasar la oportunidad.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Segundo Webinar del Real Sense App Challenge 2014</title><link>https://ldc.teoriaweb.com/blog/segundo-webinar-del-real-sense-app-challenge-2014/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/segundo-webinar-del-real-sense-app-challenge-2014/</guid><pubDate>Tue, 19 Aug 2014 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;h2 id=&quot;real-sense-app-challenge-2014&quot;&gt;Real Sense App Challenge 2014&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Sigue en curso el &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt;. Si todavía no tienes clara tu idea para intentar ganar los &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;premios del Real Sense App Challenge 2014&lt;/a&gt; no te preocupes, hoy se celebra el &lt;a href=&quot;http://network.bemyapp.com/trk/881FE1DA6B83A2DB38A37C0711ADB9C5&quot;&gt;segundo Webinar para poder ayudarte con las ideas&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;aplicaciones-perceptuales&quot;&gt;Aplicaciones Perceptuales&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Ya sabes que en &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt; están buscando que la gente programando con &lt;strong&gt;C++&lt;/strong&gt; o &lt;strong&gt;C#&lt;/strong&gt; pueda &lt;strong&gt;construir aplicaciones perceptuales&lt;/strong&gt;, es decir que podamos interactuar con ellas mediante &lt;strong&gt;gestos&lt;/strong&gt;, &lt;strong&gt;voz&lt;/strong&gt;, &lt;strong&gt;reconocimiento facial&lt;/strong&gt;…&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;premios-y-oportunidades&quot;&gt;Premios y Oportunidades&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Seguro que se te ocurre una buena idea y puedes optar a los &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;premios que tienen por valor de 1 millón de dólares&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;No dejes pasar la oportunidad e inscríbete en el &lt;a href=&quot;http://network.bemyapp.com/trk/881FE1DA6B83A2DB38A37C0711ADB9C5&quot;&gt;Segundo Webinar del Real Sense App Challenge 2014&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;inscripción&quot;&gt;Inscripción&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Puedes &lt;a href=&quot;http://network.bemyapp.com/trk/9902816E917929A7EE13D90DD4B38DB4&quot;&gt;inscribirte al concurso desde aquí&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Primer Webinar del Real Sense App Challenge 2014</title><link>https://ldc.teoriaweb.com/blog/primer-webinar-del-real-sense-app-challenge-2014/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/primer-webinar-del-real-sense-app-challenge-2014/</guid><pubDate>Wed, 13 Aug 2014 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;h2 id=&quot;real-sense-app-challenge-2014&quot;&gt;Real Sense App Challenge 2014&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Si te ha interesado la idea de poder llevar a cabo tus ideas con programación sobre tecnología perceptual y sobre todo &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;llevarte los premios del Real Sense App Challenge 2014&lt;/a&gt; tienes que saber que hoy montan el &lt;a href=&quot;http://network.bemyapp.com/trk/7D0EBB5D231CCC10AE7DE36032B0F115&quot;&gt;primer Webinar sobre el proyecto Real Sense App Challenge 2014&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;claves-del-primer-webinar&quot;&gt;Claves del Primer Webinar&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Es bueno que asistas al &lt;a href=&quot;http://network.bemyapp.com/trk/7D0EBB5D231CCC10AE7DE36032B0F115&quot;&gt;primer Webinar sobre el proyecto Real Sense App Challenge 2014&lt;/a&gt; ya que en él se darán las claves sobre cómo enfocar la idea de tu proyecto y así ser uno de los elegidos para entrar dentro de la bolsa de premios del &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;inscripción&quot;&gt;Inscripción&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;No dejes la posibilidad y &lt;a href=&quot;http://network.bemyapp.com/trk/9902816E917929A7EE13D90DD4B38DB4&quot;&gt;APUNTATE&lt;/a&gt;.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Real Sense App Challenge 2014</title><link>https://ldc.teoriaweb.com/blog/real-sense-app-challenge-2014/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/real-sense-app-challenge-2014/</guid><pubDate>Tue, 12 Aug 2014 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;h2 id=&quot;real-sense-app-challenge-2014&quot;&gt;Real Sense App Challenge 2014&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Si sabes programar en &lt;strong&gt;C++&lt;/strong&gt; o &lt;strong&gt;C#&lt;/strong&gt;, te gustan las nuevas tecnologías y quieres estar en un reto con una suma de premios de 1 millón de dolares, &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014 es tu evento&lt;/a&gt;.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;tecnología-perceptual&quot;&gt;Tecnología Perceptual&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;La idea de &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt; es poder crear una aplicación utilizando tecnología perceptual. Para ello utilizado una cámara que capture gestos en 3D y mediante un SDK de programación se debe de crear una aplicación.&lt;/p&gt;
&lt;p&gt;El mundo perceptual nos permite realizar múltiples comprobaciones como &lt;strong&gt;identificaciones faciales, gestos mediante las manos, reconocimiento de voz, identificación de elementos en una escena&lt;/strong&gt;… todo para que la interacción del usuario con la aplicación sea mucho más real.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;dispositivos-compatibles&quot;&gt;Dispositivos Compatibles&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Esto se puede llevar a cualquier tipo de dispositivo ya sea un ordenador o una tablet.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;participa-con-tu-idea&quot;&gt;Participa con tu Idea&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;Así que ya estás dándole vueltas a la cabeza y pensando que tipo de aplicación o juego presentar como idea en el &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si tu idea es una de las elegidas en &lt;a href=&quot;http://network.bemyapp.com/trk/FD440284CB3BF0D80F582C2CB59493AB&quot;&gt;Real Sense App Challenge 2014&lt;/a&gt;, será la que pase a la fase de desarrollo que acabará a principios del 2015.&lt;/p&gt;
&lt;div&gt;&lt;h2 id=&quot;registro&quot;&gt;Registro&lt;/h2&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://network.bemyapp.com/trk/9902816E917929A7EE13D90DD4B38DB4&quot;&gt;Hasta el 19 de septiembre puedes enviar tus ideas. REGISTRATE&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si alguien se anima que cuente su experiencia.&lt;/p&gt;</content:encoded><category>eventos</category></item><item><title>Feliz 2014</title><link>https://ldc.teoriaweb.com/blog/feliz-2014/</link><guid isPermaLink="true">https://ldc.teoriaweb.com/blog/feliz-2014/</guid><pubDate>Thu, 02 Jan 2014 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Un nuevo año y nuevos retos por delante. Desde &lt;a href=&quot;http://lineadecodigo.com/&quot;&gt;Línea de Código&lt;/a&gt; desear lo mejor para todos los que nos acompañáis día tras día. Que todos vuestros proyectos se cumplan… Disfrutemos juntos de este nuevo año.&lt;/p&gt;
&lt;div&gt;
  &lt;iframe src=&quot;https://www.youtube.com/embed/S_cmT5A7h44&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen&gt;
  &lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Puedes ver el vídeo en &lt;a href=&quot;http://www.youtube.com/watch?v=S_cmT5A7h44&quot;&gt;http://www.youtube.com/watch?v=S_cmT5A7h44&lt;/a&gt;&lt;/p&gt;</content:encoded><category>felicitacion</category></item></channel></rss>