<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Tecnología - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Descubre miles de cursos de programación escritos por expertos. Aprende Desarrollo Web, Ciencia de Datos, DevOps, Seguridad y obtén asesoramiento profesional para desarrolladores. ]]>
        </description>
        <link>https://www.freecodecamp.org/espanol/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Tecnología - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/espanol/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 26 May 2026 16:03:31 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/espanol/news/tag/tecnologia/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ ¿Cuáles son los mejores editores de código para el desarrollo web? ]]>
                </title>
                <description>
                    <![CDATA[ Como desarrolladores de software tenemos muchas herramientas, programas y tecnologías a nuestra disposición para poder ejercer nuestro trabajo, una de las principales son los editores de código, en este artículo descubrirás cuáles son los mejores editores de código para el desarrollo web. Si eres nuevo en este rubro, probablemente no ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/mejores-editores-de-codigo/</link>
                <guid isPermaLink="false">631aa137b1786008d5614ef7</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Josué ]]>
                </dc:creator>
                <pubDate>Fri, 09 Sep 2022 19:17:27 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/09/Banners-Art-culos-freeCodeCamp.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Como desarrolladores de software tenemos muchas herramientas, programas y tecnologías a nuestra disposición para poder ejercer nuestro trabajo, una de las principales son los editores de código, en este artículo descubrirás cuáles son los mejores editores de código para el desarrollo web.</p><p>Si eres nuevo en este rubro, probablemente no sepas que es un editor de código, así que expliquemos primero que es. </p><h2 id="-qu-es-un-editor-de-c-digo">¿Qué es un editor de código? </h2><p>Un editor de código es un software que cómo su nombre dice nos ayuda a editar texto, en su mayoría los editores de código cuentan con resaltado de sintaxis, autocompletado, entre otras cosas. Algunos de ellos nos permiten agregar extensiones que amplían nuestra manera de escribir código y hasta nos ayudan a ser más eficientes escribiendo código más rápido. </p><h2 id="mejores-editores-de-c-digo-para-el-desarrollo-web">Mejores editores de código para el desarrollo web </h2><!--kg-card-begin: markdown--><p><img src="https://code.visualstudio.com/opengraphimg/opengraph-home.png" alt="opengraph-home" width="600" height="400" loading="lazy"></p>
<!--kg-card-end: markdown--><h3 id="visual-studio-code"><a href="https://code.visualstudio.com/es-eu">Visual Studio Code</a></h3><p>Actualmente, este es el principal editor de código para el desarrollo web, fue creado por Microsoft en el año 2015 y cuenta con resaltado de sintaxis, autocompletado, extensiones, soporte para la depuración y está disponible tanto para Windows, Linux, MacOS y hace poco también para la web.</p><!--kg-card-begin: markdown--><p><img src="https://www.sublimetext.com/images/og-full.jpg" alt="og-full" width="2400" height="1256" loading="lazy"></p>
<!--kg-card-end: markdown--><h3 id="sublime-text"><a href="https://www.sublimetext.com/">Sublime Text</a> </h3><p>Fue inicialmente una extensión de Vim (otro editor de código), al igual que VS Code cuenta con extensiones, resaltado de sintaxis, está disponible para Windows, Linux y MacOS. Cuando lo descargas cuentas con una prueba para que lo evalúes de forma gratuita para, luego, comprar su licencia. </p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/espanol/news/content/images/2022/09/flat-750x-075-f-pad-750x1000-f8f8f8.u1.jpg" class="kg-image" alt="flat-750x-075-f-pad-750x1000-f8f8f8.u1" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2022/09/flat-750x-075-f-pad-750x1000-f8f8f8.u1.jpg 600w, https://www.freecodecamp.org/espanol/news/content/images/2022/09/flat-750x-075-f-pad-750x1000-f8f8f8.u1.jpg 750w" sizes="(min-width: 720px) 720px" width="750" height="1000" loading="lazy"></figure><h3 id="vim"><a href="https://www.vim.org/">Vim</a></h3><p>Vim es un editor de código un tanto <strong>peculiar, ya que</strong> no se ejecuta de manera <em>visual</em>, sino directamente en la terminal. Fue creado en 1991 y cuenta con resaltado de sintaxis, autocompletado y extensiones. Esta disponible para Windows, Linux y MacOS. </p><!--kg-card-begin: markdown--><p><img src="https://brackets.io/img/hero@2x.png" alt="hero@2x" width="2300" height="742" loading="lazy"></p>
<!--kg-card-end: markdown--><h3 id="brackets"><a href="https://brackets.io/">Brackets</a></h3><p>Brackets es un editor de código web, cuenta con soporte para Linux MacOS y Windows, pero su principal fuerte es la web, fue creado por adobe en 2014. </p><!--kg-card-begin: markdown--><p><img src="https://www.jetbrains.com/webstorm/img/overview/webstorm-overview.png" alt="webstorm-overview" width="600" height="400" loading="lazy"></p>
<!--kg-card-end: markdown--><h3 id="webstorm"><a href="https://www.jetbrains.com/es-es/webstorm/">WebStorm</a></h3><p> WebStorm no es tanto un editor de código, es un IDE (Entorno De Desarrollo Integrado en inglés) pero igualmente cabe en esta lista. Fue creado por Jetbrains y se basa en el muy conocido IntelliJ IDEA, cuenta con resaltado de sintaxis, autocompletado, extensiones y pruebas unitarias de JavaScript. Está disponible para Windows Linux y MacOS. Puedes usarlo gratis con una prueba de 30 días para después comprar su licencia. También cuenta con una versión gratis para estudiantes y maestros. </p><figure class="kg-card kg-image-card"><img src="https://www.islabit.com/wp-content/uploads/2021/08/validar-XML-XDS-Notepad.png" class="kg-image" alt="Cómo validar XML con XDS en Notepad++ - islaBit" width="1280" height="720" loading="lazy"></figure><h3 id="notepad-"><a href="https://notepad-plus-plus.org/downloads/ ">Notepad++</a></h3><p>Fue creado en 2003, cuenta con soporte para varios lenguajes de programación y cuenta con resaltado de sintaxis. Esta disponible para Windows, Linux y MacOS. </p><h2 id="recapitulando">Recapitulando </h2><p>Este ha sido mi recuento de los que son para mí, los mejores editores de código, espero te sirva de ayuda en tu camino como desarrollador web. Si te ha resultado útil, toma en cuenta <a href="https://twitter.com/DriftingL_?t=VyPUOGXqnbbD4JRmsEdN0Q&amp;s=09">seguirme en Twitter</a>. Me lees en la próxima. ?</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Pasé 3 meses solicitando empleos después de un bootcamp de programación. Esto es lo que aprendí. ]]>
                </title>
                <description>
                    <![CDATA[ Artículo original escrito por Felix Feng Artículo original I spent 3 months applying to jobs after a coding bootcamp. Here’s what I learned. [https://www.freecodecamp.org/news/5-key-learnings-from-the-post-bootcamp-job-search-9a07468d2331/] Traducido y adaptado por andres-torres [/espanol/news/author/andres-torres/] Una parte menos comentada del viaje del bootcamper es lo que sucede después de graduarse, es decir; cuando estás buscando ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/pase-3-meses-solicitando-empleos-despues-de-un-bootcamp-de-programacion-esto-es-lo-que-aprendi/</link>
                <guid isPermaLink="false">6270a34b42dfce088476a657</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tech ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Andrés  Torres ]]>
                </dc:creator>
                <pubDate>Tue, 10 May 2022 02:16:38 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/05/Bootcamp-photo.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><strong>Artículo original escrito por </strong>Felix Feng &nbsp;<br><strong>Artículo original </strong><a href="https://www.freecodecamp.org/news/5-key-learnings-from-the-post-bootcamp-job-search-9a07468d2331/">I spent 3 months applying to jobs after a coding bootcamp. Here’s what I learned.</a><br><strong>Traducido y adaptado por</strong> <a href="https://www.freecodecamp.org/espanol/news/author/andres-torres/">andres-torres</a></p><p>Una parte menos comentada del viaje del <em>bootcamper </em>es lo que sucede después de graduarse, es decir; cuando estás buscando ese puesto de desarrollador de seis cifras.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/espanol/news/content/images/2022/05/image.png" class="kg-image" alt="image" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2022/05/image.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2022/05/image.png 800w" sizes="(min-width: 720px) 720px" width="800" height="381" loading="lazy"><figcaption>Menos del 3% de las aplicaciones se volvieron ofertas.</figcaption></figure><p>Completé Hack Reactor en julio de 2016 y tardé casi 3 meses en aceptar una oferta con Radius Intelligence. Efectué solicitudes a 291 empresas, realicé 32 entrevistas telefónicas, 16 entrevistas técnicas, 13 desafíos de codificación, asistí a 11 entrevistas presenciales y recibí solamente 8 ofertas. </p><p>Las ofertas oscilaron entre 60.000 y 125.000 dólares (anuales) en salarios de EE. UU. &nbsp;Las aplicaciones iban dirigidas para puestos de desarrollador front-end o full stack. En total, solamente el 2,8% de las solicitudes se convirtieron en ofertas. Por tanto, considerando semejante escasez, aquí te comparto 5 cosas que desearía haber sabido antes de comenzar mi búsqueda de empleo.</p><h3 id="idea-n-1-comunicarse-con-personas-reales">Idea n.º 1: comunicarse con personas reales </h3><p>Al principio, solicité empresas utilizando el enfoque de escopeta. Presenté mi solicitud a través de Indeed.com, AngelList, LinkedIn, StackOverflow, Hacker News, sitios web de empresas e incluso Craigslist. Enviaba un currículum para cualquier función que quisiera tener experiencia en React, Node o JavaScript.</p><p>En la primera semana, apliqué a 15 a 20 empresas por día. Consejo profesional; &nbsp; encuentra empresas que utilicen un medio más fácil de aplicación. Mi rendimiento fue bajo. Menos del cinco por ciento de las empresas me respondieron. Estaba arrojando aplicaciones a un agujero negro. </p><p>Todo cambió cuando uno de mis compañeros de cohorte, un ex reclutador, compartió una guía para la búsqueda de empleo. Nos dijo que enviáramos correos electrónicos directamente a personas reales con cada aplicación. Podría ser cualquiera. Mientras alguien lo leyera. A partir de ese momento, cada vez que enviaba una solicitud, buscaba la empresa en LinkedIn y enviaba un correo electrónico a alguien de su equipo de ingeniería o de contratación. </p><p>Para la mayoría de las pequeñas empresas o ejecutivos de nivel C, el formato de correo electrónico suele ser primerNombre@dreamCompany.com. Para empresas más grandes, puede ser primerNombre.apellido@dreamCompany.com. Para verificar los correos electrónicos, utiliza Rapportive para cotejar los correos electrónicos con las cuentas de las redes sociales. </p><p><strong>Los resultados fueron asombrosos. Con más de 150 correos electrónicos enviados, mi tasa de respuesta fue del 22 %.</strong> También se sintió genial escuchar a personas reales. Sorprendentemente, los CEO y CTO me respondieron. A veces incluso me entrevistaron ellos mismos. </p><!--kg-card-begin: markdown--><p><em>Para resumir: Si estás solicitando a través de la puerta principal, asegúrate de llegar a los seres humanos.</em></p>
<!--kg-card-end: markdown--><h3 id="idea-n-2-comienza-poco-a-poco-y-luego-sigue-ascendiendo">Idea n.° 2: Comienza poco a poco y luego sigue ascendiendo</h3><p>Te enfrentarás a entrevistas de nivel básico, por ejemplo; una empresa no tecnológica que necesita algún desarrollo. En este entorno, los entrevistadores no te preguntarán nada más que trivialidades de JavaScript (en gran parte debido a que su formación, en la mayoría de casos, suele ser en recursos humanos y no en desarrollo Web).</p><p><strong>La entrevista será de nivel avanzado si el rubro de la compañía es de tecnología</strong>, por ejemplo, al nivel de Google/Facebook, donde los entrevistadores hacen preguntas difíciles sobre estructuras de datos y algoritmos. </p><p><strong>Configuré estratégicamente mi proceso para tener entrevistas de nivel inferior antes y entrevistas de nivel superior más adelante.</strong> Al principio, gané experiencia, gané confianza y aseguré ofertas de empresas que tenían entrevistas menos intensivas. A medida que obtuve más experiencia, efectivamente "subí de nivel". Me volví capaz de completar entrevistas en empresas con barreras de contratación más altas.<strong> Esto se ilustra a continuación como una correlación lineal entre la cantidad de semanas que estuve en el proceso y el salario base que me ofrecieron.</strong></p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/espanol/news/content/images/2022/05/Salary-and-interviews-fcc.png" class="kg-image" alt="Salary-and-interviews-fcc" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2022/05/Salary-and-interviews-fcc.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2022/05/Salary-and-interviews-fcc.png 800w" sizes="(min-width: 720px) 720px" width="800" height="574" loading="lazy"><figcaption>Correlación Lineal entre oferta salarial y tiempo de búsqueda de empleo.</figcaption></figure><p>Desbloqueé preguntas más difíciles. Desbloqueé salarios más altos. Y eventualmente, desbloqueé el trabajo que tomé. &nbsp;</p><!--kg-card-begin: markdown--><p><em>Tarea para tí: Planifica abordar las entrevistas más fáciles desde el principio y las más difíciles más adelante.</em></p>
<!--kg-card-end: markdown--><h3 id="idea-n-3-estudia-como-si-tu-futuro-trabajo-dependiera-de-ello-porque-en-efecto-es-as-">Idea n.° 3: Estudia como si tu futuro trabajo dependiera de ello (porque, en efecto, es así)</h3><p>Es incómodo decírtelo, pero lo más importante que podrías estar haciendo en cualquier momento y lugar es estudiar y prepararte. ¿Por qué? Porque no obtendrás la oferta si no tienes buenas respuestas a las preguntas que te hacen.</p><p><strong>Las personas no te recomendarán si no creen que estás preparado para sus entrevistas. </strong></p><p>Al salir de Hack Reactor, mis puntos débiles eran las estructuras de datos y los algoritmos. Un estudio realizado por Triplebyte descubrió que los graduados de bootcamp son más débiles en estas áreas que los graduados en informática. Así que aprendí y practiqué. Todos los días. Dediqué días enteros a aprender algoritmos de clasificación. Otros días, me enfoqué en entender cómo funcionaba internet. Si no entendía completamente un concepto, pasaba el día viendo videos de YouTube o buscando en StackOverflow hasta que lo entendía.</p><p>Encontré útiles los siguientes materiales de estudio: </p><p><strong><a href="https://www.interviewcake.com/">InterviewCake</a>:</strong> Mi recurso favorito para estructuras de datos y algoritmos. Desglosa las soluciones en fragmentos paso a paso: una gran alternativa a la Entrevista de Cracking the Code (CTCI). ¡Mi única queja es que no tienen más problemas! </p><p><strong><a href="https://www.hiredintech.com/">HiredInTech</a>:</strong> una gran guía para preguntas de entrevistas de diseño de sistemas. </p><p><a href="https://www.educative.io/collection/5642554087309312/5679846214598656"><strong>Coderust:</strong> </a>Coderust 2.0 puede ser perfecto para tí. Por $49, obtienes soluciones en casi cualquier lenguaje de programación, con diagramas interactivos. </p><p><strong><a href="https://www.reddit.com/r/cscareerquestions/comments/1jov24/heres_how_to_prepare_for_tech_interviews/">Reddit's How to Prepare for Tech Interviews:</a></strong> Constantemente usé esto como punto de referencia para saber qué tan preparado estaba. </p><p><strong><a href="https://github.com/h5bp/Front-end-Developer-Interview-Questions">Preguntas de entrevista de front-end:</a></strong> una lista exhaustiva de preguntas de front-end. </p><p><strong><a href="https://leetcode.com/">Leetcode</a>: </strong>el recurso de referencia para preguntas sobre algoritmos y estructuras de datos. Puedes filtrar por empresa, por lo que, por ejemplo, podrías obtener todas las preguntas que Uber o Google suelen hacer. </p><!--kg-card-begin: markdown--><p><em>La moraleja es la siguiente: No existe tal cosa como demasiada preparación.</em></p>
<!--kg-card-end: markdown--><h3 id="idea-n-4-da-lo-mejor-de-ti">Idea n.° 4: Da lo mejor de ti</h3><p>Irrumpir en la industria es difícil. Tienes que desempeñarte bien, incluso cuando no estás completamente preparado. Para tener éxito, tienes que ser tu propio defensor. Venderte a ti mismo. En Hack Reactor, estamos capacitados para enmascarar nuestra inexperiencia. </p><p><strong>En nuestras narrativas personales, omitimos deliberadamente nuestra educación en el campo de entrenamiento</strong>. ¿Por qué? De lo contrario, las empresas nos clasifican automáticamente en roles de desarrollador junior o nos etiquetan como "sin suficiente experiencia". </p><p>En una entrevista con una startup, la entrevista inmediatamente se fue al sur una vez que se dieron cuenta de que había hecho un bootcamp. Una empresa lo usó en mi contra y me hizo una oferta de 60.000 dólares, comparándola con desarrolladores junior. En última instancia, debes convencer a las empresas de que puedes hacer el trabajo. Al mismo tiempo, debes convencerte de poder hacer el trabajo. </p><p>Concéntrate en tu amor por la programación. Concéntrate en lo que has creado con React y Node. Concéntrate en demostrar tu profundo conocimiento en JavaScript y cualquier otro idioma que haya aprendido. Solo entonces puedes justificar que te den el trabajo. Es una conversación bidireccional. </p><p><strong>La entrevista es una exploración mutua del ajuste entre un empleado y un empleador. </strong></p><p>Si bien es tu trabajo convencer a los empleadores para que lo contraten, también es su trabajo conquistarte. Que no te avergüenza utilizar la entrevista como una oportunidad para evaluar la oportunidad laboral. Hablé con cualquier empresa, incluso si tenía el más mínimo interés. Hice presentaciones en todo el país con cualquier empresa que me invitara a salir. <strong>Hice preguntas y adquirí conocimientos sobre la organización del equipo de ingeniería, las tecnologías y herramientas utilizadas,</strong> los desafíos de la empresa y la arquitectura del sistema.</p><p><strong>Consejo profesional: durante las entrevistas, haz las siguientes preguntas:</strong></p><!--kg-card-begin: markdown--><p>*¿Cuáles son algunos de los desafíos técnicos que ha enfrentado recientemente?</p>
<p>*¿Qué disfrutas de trabajar en la empresa X?</p>
<p><em>¿Cómo se estructuran los equipos y cómo se suelen dividir las tareas?</em></p>
<!--kg-card-end: markdown--><p>Tomé cada interacción como una oportunidad de aprendizaje. Cada interacción me ayudó a mejorar mi presentación, entrevista y habilidades técnicas. <strong>Cada fracaso me ayudó a encontrar mis puntos ciegos.</strong></p><!--kg-card-begin: markdown--><p><em>Consejo: ¡No te subestimes! Y recuerda, es una exploración mutua.</em></p>
<!--kg-card-end: markdown--><h3 id="idea-n-5-es-un-marat-n-no-un-spring">Idea n.° 5: Es un maratón, no un spring</h3><p>El viaje no es nada fácil. Durante 3 meses, me "molía" 6 días a la semana. Pero (aun así) traté de cuidarme.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/espanol/news/content/images/2022/05/javascript.png" class="kg-image" alt="javascript" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2022/05/javascript.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2022/05/javascript.png 800w" sizes="(min-width: 720px) 720px" width="800" height="659" loading="lazy"><figcaption>Un típico día con JavaScript</figcaption></figure><p>Algunos días, estudiaba con amigos. Otros días, buscaba un café y estudiaba solo, o pasaba el rato en el salón de exalumnos de Hack Reactor. Y cada semana consultaba con nuestro consejero de carrera para hablar sobre mi progreso. Es fácil quemarse durante el proceso. </p><p>Come bien, duerme y haz ejercicio. Puedes volverte solitario. Pasa tiempo con amigos que tengan tus mismos intereses en la programación.</p><!--kg-card-begin: markdown--><p><em>Prepárate para el "juego largo" y asegúrate de cuidarte.</em></p>
<!--kg-card-end: markdown--><p>En resumen, los puntos clave son: &nbsp;</p><p>1. Ponte en contacto con personas reales.</p><p>2. Empieza pequeño y escala hacia lo más alto.</p><p>3. Estudia como si tu futuro laboral dependiera de ello.</p><p>4. Pon tu mejor pie adelante. &nbsp; &nbsp; </p><p>5. Es un maratón, no un sprint. </p><p>El proceso puede parecer interminable, pero lo vas a lograr. Sigue poniendo continuidad a las horas. Sigue enviando las solicitudes. Sigue cuidándote. Todo eso vale la pena al final. </p><p>Un agradecimiento especial a Dylan Tran, Karen Zhao, Rohit 'Sunny' Rekhi, Jake Pace, Anamita Guha, Stephanie Liu y muchos otros. Por favor, comparte esto con amigos que están pasando por el proceso de la búsqueda de empleo.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cómo crear objetos en JavaScript ]]>
                </title>
                <description>
                    <![CDATA[ Artículo original escrito por Kaashan Hussain Artículo original How to create objects in JavaScript [https://www.freecodecamp.org/news/a-complete-guide-to-creating-objects-in-javascript-b0e2450655e8/] Traducido y adaptado por Josué [/espanol/news/author/drifting/] Todos tratamos con objetos de una forma u otra al escribir código en un lenguaje de programación. En JavaScript, los objetos nos proporcionan una forma de almacenar, manipular y ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-crear-objetos-en-javascript/</link>
                <guid isPermaLink="false">622bc2ea7fbf230853a584e5</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Josué ]]>
                </dc:creator>
                <pubDate>Mon, 21 Mar 2022 02:12:21 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2022/03/1_S6zT7E9uySUcbD69OPQR8A.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>Artículo original escrito por </strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>Kaashan Hussain<br><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>Artículo original </strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong><a href="https://www.freecodecamp.org/news/a-complete-guide-to-creating-objects-in-javascript-b0e2450655e8/">How to create objects in JavaScript</a><br><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>Traducido y adaptado por </strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong><a href="https://www.freecodecamp.org/espanol/news/author/drifting/">Josué</a></p><p>Todos tratamos con objetos de una forma u otra al escribir código en un lenguaje de programación. En JavaScript, los objetos nos proporcionan una forma de almacenar, manipular y enviar datos a través de la red.</p><p>Hay muchas maneras en que los objetos en JavaScript difieren de los objetos en otros lenguajes de programación convencionales, como Java. Trataré de cubrir eso en otro tema. Aquí, vamos a centrarnos solo en las diversas formas en que JavaScript nos permite crear objetos.</p><p>En JavaScript, piensa en los objetos como una colección de pares 'clave:valor'. Esto nos lleva a la primera y más popular forma de crear objetos en JavaScript. </p><p>Empecemos con esto.</p><h4 id="1-creaci-n-de-objetos-mediante-la-sintaxis-literal-de-objetos"><strong>1.</strong> Creación de objetos mediante la sintaxis literal de objetos</h4><p>Esto es realmente sencillo. Todo lo que tienes que hacer es lanzar tus pares clave-valor separados por ':' dentro de un conjunto de llaves ({ }) y tu objeto está listo para ser servido (o consumido), como abajo:</p><pre><code class="language-js">const person = {
  firstName: 'testFirstName',
  lastName: 'testLastName'
};</code></pre><p>Esta es la forma más sencilla y popular de crear objetos en JavaScript.</p><h4 id="2-creaci-n-de-objetos-con-la-palabra-clave-new"><strong>2.</strong> Creación de objetos con la palabra clave "new"</h4><p>Este método de creación de objetos se asemeja a la forma en que se crean los objetos en los lenguajes basados en clases, como Java. Por cierto, a partir de ES6, las clases son nativas de JavaScript también y veremos la creación de objetos mediante la definición de clases hacia el final de este artículo. Así que, para crear un objeto usando la palabra clave 'new', necesitas tener una función constructora.</p><p>Aquí hay 2 maneras de utilizar el patrón de la palabra clave "new" -</p><p><strong><strong>a) </strong>Uso de la palabra clave "new" con la función constructora de objetos incorporada</strong></p><p>Para crear un objeto, utilice la palabra clave new con el constructor <code>Object()</code>, así:</p><pre><code class="language-js">const person = new Object();</code></pre><p>Ahora, para añadir propiedades a este objeto, tenemos que hacer algo así:</p><pre><code class="language-js">person.firstName = 'testFirstName';
person.lastName = 'testLastName';</code></pre><p>Puede que te hayas dado cuenta de que este método es un poco más largo de escribir. Además, esta práctica no es recomendable, ya que hay una resolución de ámbito que ocurre detrás de las escenas para encontrar si la función del constructor es incorporada o definida por el usuario.</p><p><strong><strong>b) </strong>Uso de 'new' con función constructora definida por el usuario</strong></p><p>El otro problema con el enfoque de usar la función constructora 'Object' resulta del hecho de que cada vez que creamos un objeto, tenemos que añadir manualmente las propiedades al objeto creado.<br><br>¿Qué pasaría si tuviéramos que crear cientos de objetos persona? Puedes imaginar el dolor ahora. Así que, para librarnos de añadir manualmente las propiedades a los objetos, creamos funciones personalizadas (o definidas por el usuario). Primero creamos una función constructora y luego usamos la palabra clave 'new' para obtener objetos:</p><pre><code class="language-js">function Person(fname, lname) {
  this.firstName = fname;
  this.lastName = lname;
}</code></pre><p>Ahora, cada vez que quieras un objeto <code>Person</code>, simplemente haz esto:</p><pre><code class="language-js">const personOne = new Person('testFirstNameOne', 'testLastNameOne');
const personTwo = new Person('testFirstNameTwo', 'testLastNameTwo');</code></pre><h4 id="3-uso-de-object-create-para-crear-nuevos-objetos"><strong>3. </strong>Uso de Object.create() para crear nuevos objetos</h4><p>Este patrón es muy útil cuando se nos pide crear objetos a partir de otros objetos existentes y no utilizar directamente la sintaxis de la palabra clave 'new'. Veamos cómo utilizar este patrón. Como se indica en <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Object/create">MDN</a>:</p><blockquote>El método <code>Object.create()</code> crea un nuevo objeto, utilizando un objeto existente como prototipo del nuevo objeto creado.</blockquote><p>Para entender el método <code><strong>Object.create</strong></code>, basta con recordar que toma dos parámetros. El primer parámetro es un objeto obligatorio que sirve como prototipo del nuevo objeto a crear. El segundo parámetro es un objeto opcional que contiene las propiedades que se añadirán al nuevo objeto.<br><br>No vamos a profundizar en los prototipos y las cadenas de herencia ahora para mantener nuestro enfoque en el tema. Pero como punto rápido, puedes pensar en los prototipos como objetos de los que otros objetos pueden tomar prestadas las propiedades/métodos que necesitan.<br><br>Imagina que tienes una organización representada por <code>orgObject</code></p><pre><code>const orgObject = { company: 'ABC Corp' };</code></pre><p>Y quieres crear empleados para esta organización. Claramente, usted quiere todos los objetos de los empleados.</p><pre><code class="language-js">const employee = Object.create(orgObject, { name: { value: 'EmployeeOne' } });

console.log(employee); // { company: "ABC Corp" }
console.log(employee.name); // "EmployeeOne"</code></pre><h4 id="4-uso-de-object-assign-para-crear-nuevos-objetos"><strong>4. </strong>Uso de Object.assign() para crear nuevos objetos</h4><p>¿Qué pasa si queremos crear un objeto que necesita tener propiedades de más de un objeto? <code>Objeto.assign()</code> nos ayuda.</p><p>Como se indica en <a href="https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Object/assign">MDN</a>:</p><blockquote>El <code>Object.assign()</code> se utiliza para copiar los valores de todas las propiedades propias enumerables de uno o más objetos de origen a un objeto de destino. Devolverá el objeto de destino.</blockquote><p>El método <code>Object.assign()</code> puede tomar cualquier número de objetos como parámetros. El primer parámetro es el objeto que creará y devolverá. El resto de los objetos que se le pasen se utilizarán para copiar las propiedades en el nuevo objeto. Vamos a entenderlo extendiendo el ejemplo anterior que vimos.</p><p>Supongamos que tiene dos objetos como se muestra a continuación:</p><pre><code class="language-js">const orgObject = { company: 'ABC Corp' }
const carObject = { carName: 'Ford' }</code></pre><p>Ahora, desea un objeto empleado de 'ABC Corp' que conduzca un automóvil 'Ford'. Puede hacerlo con la ayuda de <code>Object.assign</code> lo siguiente:</p><p><code>const employee = Object.assign({}, orgObject, carObject);</code></p><p>Ahora, obtienes un <code>employee</code>objeto que tiene <code>company</code>y <code>carName</code>como su propiedad.</p><pre><code class="language-js">console.log(employee); // { carName: "Ford", company: "ABC Corp" }</code></pre><h4 id="5-usar-clases-de-es6-para-crear-objetos"><strong>5. Usar clases de ES6 para crear objetos</strong></h4><p>Notará que este método es similar al uso de 'nuevo' con la función de constructor definida por el usuario. Las funciones del constructor ahora se reemplazan por clases, ya que son compatibles con las especificaciones de ES6. Veamos el código ahora.</p><pre><code class="language-js">class Person {
  constructor(fname, lname) {
    this.firstName = fname;
    this.lastName = lname;
  }
}

const person = new Person('testFirstName', 'testLastName');

console.log(person.firstName); // testFirstName
console.log(person.lastName); // testLastName

</code></pre><p>Estas son todas las formas que conozco para crear objetos en JavaScript. Espero que hayas disfrutado esta publicación y ahora entiendas cómo crear objetos.</p><p><em><em>¡Gracias por su tiempo para leer este artículo</em>!</em></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cómo pararte en hombros de gigantes ]]>
                </title>
                <description>
                    <![CDATA[ Artículo original escrito por: Quincy Larson [https://www.freecodecamp.org/news/author/quincylarson/] Artículo original: How to stand on the shoulders of giants [https://www.freecodecamp.org/news/how-to-stand-on-shoulders-16e8cfbc127b/] Traducido y adaptado por: Juan Carrillo [/espanol/news/author/juancarrillo/] > "Si he visto más lejos que otros, es por pararme en hombros de gigantes" — Isaac Newton En 1676, Isaac Newton habló de los ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-pararte-en-hombros-de-gigantes/</link>
                <guid isPermaLink="false">61b940c1c859ba091c01dabf</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Juan Carrillo ]]>
                </dc:creator>
                <pubDate>Tue, 04 Jan 2022 18:39:49 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2021/12/stand-on-the-shoulders.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>Artículo original escrito por</strong></strong></strong></strong></strong></strong></strong></strong>:</strong></strong></strong></strong></strong></strong></strong> </strong><a href="https://www.freecodecamp.org/news/author/quincylarson/">Quincy Larson</a><br><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>Artículo original</strong></strong></strong></strong></strong></strong></strong></strong>:</strong></strong></strong></strong></strong></strong> </strong></strong><a href="https://www.freecodecamp.org/news/how-to-stand-on-shoulders-16e8cfbc127b/">How to stand on the shoulders of giants</a><br><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>Traducido y adaptado por</strong></strong></strong></strong></strong></strong></strong></strong>:</strong></strong></strong></strong> </strong></strong></strong></strong><a href="https://www.freecodecamp.org/espanol/news/author/juancarrillo/">Juan Carrillo</a></p><blockquote>"Si he visto más lejos que otros, es por pararme en hombros de gigantes" <strong><strong>— </strong></strong>Isaac Newton</blockquote><p>En 1676, Isaac Newton habló de los grandes pensadores que le precedieron como "gigantes". Sus ideas le ayudaron a descubrir nuevas ideas propias.</p><p>345 años después, los gigantes son mucho más altos. Están por todas partes, no sólo en los libros, como en la época de Newton. Están en revistas académicas abiertas. En proyectos de código abierto. Conjuntos de datos abiertos.</p><p>Con una conexión a Internet, puedes pararte en los hombros de todos los gigantes que quieras.</p><p>Pero la mayoría de la gente no se da cuenta de todo lo que vería si se molestara en subir. La mayoría de la gente piensa que puede ver lo suficiente desde donde ya está parado. La subida no parece que valga la pena.</p><p>Antes de pararte en los hombros de gigantes, hay que aceptar que no ves todo. Tienes que reconocer lo mucho que hay ahí fuera y que solo esos gigantes pueden mostrarte.</p><h3 id="ubuntu">Ubuntu</h3><blockquote>"Soy lo que soy por lo que somos todos." — Traducción al español de la palabra Zulú "Ubuntu"</blockquote><p>Incluso en la oscuridad de la prehistoria humana, empezamos a descubrir algunas cosas interesantes.</p><p>Comenzaron a surgir los gigantes, montados en la tradición oral. Luego los libros.</p><p>Hemos acumulado conocimientos sobre conocimientos. Y los gigantes crecieron.</p><p>A lo largo de los eones, descubrimos algunas ideas muy buenas y construimos algunas cosas muy buenas. Cosas que valen la pena usar.</p><p>Pero cada día, miles de personas ignoran estas cosas. Dicen: "Ya sé, voy a construir esta nueva cosa desde cero".</p><p>Y se embarcan en un costoso viaje para construir sus sueños desde cero.</p><p>Gastamos mucho dinero en software. Alrededor del <a href="https://www.idc.com/getdoc.jsp?containerId=prUS41006516">60%</a> de los 2.5 billones de dólares que gastamos en tecnología cada año se destina al desarrollo de software y a los servicios de consultoría de software.</p><p>Eso es un <em>billón y medio</em> de dólares. Suficiente para adquirir Instagram 1,500 veces. Cada año.</p><p>Y no siempre <a href="https://www.zdnet.com/article/ten-budget-busting-it-disasters-you-should-learn-from/">obtenemos el valor de nuestro dinero</a>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/espanol/news/content/images/2021/12/image-1.png" class="kg-image" alt="Vitrales de la catedral de Chartes" srcset="https://www.freecodecamp.org/espanol/news/content/images/size/w600/2021/12/image-1.png 600w, https://www.freecodecamp.org/espanol/news/content/images/2021/12/image-1.png 800w" sizes="(min-width: 720px) 720px" width="800" height="425" loading="lazy"><figcaption>La catedral de Chartes debe su nombre a Bernardo de Chartre, el erudito del siglo XII que observó por primera vez que "estamos parados en hombros de gigantes". Los vitrales del sur de la catedral representan a eruditos a hombros de eruditos.</figcaption></figure><h3 id="no-inventado-aqu-not-invented-here-">No inventado aquí (Not invented here)</h3><p>Los humanos tenemos un exceso de confianza. Creemos que podemos reinventar la rueda y que nuestra versión será mejor.</p><p>Quién sabe, tal vez la rueda pueda mejorarse. Pero si tratamos de diseñar algo más complicado, como un coche, ¿realmente queremos pasar todo el tiempo reinventando ruedas?</p><p>Está en nuestra naturaleza querer construir las cosas nosotros mismos.</p><p>Nos encantan los productos integrados verticalmente, como los Ferraris, los Rolex y los iPhones.</p><p>Admiramos el trabajo artesanal que se realiza en cada detalle.</p><p>Nos maravilla cómo el diseño, la fabricación y la distribución fluyen juntos en un proceso controlado.</p><p>Y también queremos toda esa pila para nosotros.</p><p>Pero al hacerlo, caemos presa de una mentalidad paralizante llamada "No inventado aquí".</p><blockquote>"El síndrome 'No inventado aquí' es la tendencia de un grupo de proyecto a creer que posee el monopolio del conocimiento de su campo, lo que le lleva a rechazar nuevas ideas de personas ajenas a él, en probable detrimento de su rendimiento." — Ralph Katz y Thomas J. Allen, de la Sloan School of Management del MIT</blockquote><p>Aquí está el PDF del <a href="https://dspace.mit.edu/bitstream/handle/1721.1/1961/SWP-1114-08905619.pdf">artículo más citado</a> sobre Not Invented Here (publicado originalmente en 1982), por si quieres informarte sobre la gravedad de sus conclusiones.</p><p>Lo que no dice este documento es que, 39 años después, seguimos cayendo en el mismo sesgo cognitivo de siempre.</p><p>Un ejemplo reciente de No inventado aquí es la plataforma de cursos en línea Swayam, de la India. Podrían haberse limitado a construir sobre la plataforma de cursos de código abierto de edX de forma gratuita. <a href="https://openedx.atlassian.net/wiki/spaces/COMM/pages/162245773/Sites+powered+by+Open+edX+Platform">Decenas de otras organizaciones</a> lo hicieron, incluida la popular plataforma china XuetangX.</p><p>En su lugar, Swayam gastó 6 millones de dólares en construir una plataforma propia. Y gastarán millones más en los próximos años para mantener esta solución personalizada.</p><p>Puede que no parezca mucho dinero, pero pon esa cifra en el contexto de los 30 millones de dólares que se presupuestaron para pagar a los profesores que crearon los cursos. Y esto también retrasó su fecha de lanzamiento en dos años.</p><p>No inventado aquí comienza de forma bastante inocente...</p><blockquote>"¿Por qué deberíamos usar WordPress para nuestro blog? Los blogs no son difíciles. Construyamos nuestro propio CMS".</blockquote><p>Entonces la gente se pone más atrevida y empieza a pensar...</p><blockquote>"¿Por qué deberíamos usar Sugar CRM para hacer un seguimiento de los donantes? El seguimiento de los donantes no es difícil. Construyamos nuestro propio CRM".</blockquote><p>Lo que sólo anima a la gente a proponer cosas como:</p><blockquote>"¿Por qué deberíamos usar AWS? La nube no es difícil. Construyamos nuestro propio centro de datos e implementemos nuestra propia nube privada".</blockquote><p>Si no se controla, esta mentalidad puede conducir a proyectos como HealthCare.gov, un proyecto de 90 millones de dólares que acabó costando 1,700 millones a los contribuyentes estadounidenses.</p><p>Yo fui uno de los millones de personas que perdieron horas de su vida intentando contratar un seguro médico, sólo para verme frustrado por errores de JavaScript y servidores que no responden.</p><p>En medio del colapso de Healthcare.gov, tres desarrolladores de San Francisco decidieron tomar algunos componentes disponibles. Integraron algunas APIs públicas. Construyeron partes importantes de la funcionalidad de Healthcare.gov. Y lo hicieron en unas pocas semanas, por unos <a href="http://www.cnn.com/2013/11/11/tech/web/alternate-healthcare-site/">pocos cientos de dólares</a>.</p><h3 id="una-historia-de-pararse-en-los-hombros-de-gigantes-la-m-a-">Una historia de pararse en los hombros de gigantes. La mía.</h3><p>Hace siete años, quise crear una comunidad en la que las personas ocupadas pudieran aprender a programar juntas.</p><p>Acababa de pasar 18 meses construyendo una enorme solución a la medida: un motor de recomendación de cursos que resultó que nadie quería usar.</p><p>Así que decidí ir en la dirección opuesta. Escribiría tan poco código como fuera necesario y me centraría en utilizar el código de otras personas.</p><p>¿Qué necesitaba la comunidad?</p><ol><li>Una forma de comunicarse entre sí</li><li>Un blog en el que todos pudieran compartir sus ideas e historias personales</li><li>Un plan de estudios y una forma de seguir el progreso de las personas a través de él</li></ol><p>El viejo "no inventado aquí" de mí habría hecho lo siguiente:</p><ol><li>Construí una sala de chat usando web sockets, luego construí las herramientas de moderación, varias integraciones de API, y descubrí una buena manera de persistir los mensajes a través de las sesiones.</li><li>Construí un blog desde cero, me ocupé de cuestiones de diseño como la legibilidad, el etiquetado, la incrustación y las funciones básicas que la gente espera, como RSS.</li><li>Construí un CMS personalizado para los retos de programación interactivos, luego construí el sistema de perfiles, y después <strong>diseñé e implementé un plan de estudios de programación básico</strong>.</li></ol><p>Este último paso probablemente me habría llevado años hacerlo por mi cuenta.</p><p>Y antes de que me digas "en estos tiempos, nadie es tan tonto como para crear su propio blog"... pues parece que yo sí lo fui, porque pasé unos días haciéndolo. Unos días que nunca recuperaré.</p><p>Pero esto es lo que el nuevo yo — recién salido de un descenso de 18 meses al infierno de no inventado aquí — decidió hacer.</p><p>En ese momento no conocía Node.js. Pero conocía a gente inteligente que me convenció de que el full Stack JavaScript era el futuro.</p><p>También conocía el <a href="https://github.com/sahat/hackathon-starter">Hackathon Starter</a>, un popular boilerplate de Node.js de código abierto. Así que hice un fork de él.</p><p>Como me había pasado los últimos 18 meses recopilando, auditando y clasificando miles de cursos en línea, sabía cuáles eran los que mejor cubrían la programación y la informática. Así que, en lugar de diseñar un plan de estudios, he seleccionado los recursos existentes.</p><p>Para la sala de chat, sólo usé HipChat. Para el blog, sólo usé Blogger.</p><p>Y en 3 días, la nueva comunidad estaba en marcha.</p><p>Es difícil predecir cómo evolucionará una solución con el tiempo. Se aprende mucho cuando se manda a producción la maldita cosa.</p><p>Si empiezas inmediatamente a utilizar soluciones estándar, puedes cambiarlas más tarde y ajustar las cosas sobre la marcha.</p><p>Con el tiempo, nuestra comunidad ha hecho miles de pequeños ajustes basados en los comentarios. También hemos trasladado nuestras salas de chat a Gitter y el blog de nuestra comunidad a <a href="https://www.freecodecamp.org/news/we-just-abandoned-our-blog-for-medium-you-probably-should-too-33e742a1d49/">Medium</a>.</p><p>Una vez que tuvimos una masa crítica de colaboradores de código abierto, nos pusimos a trabajar en el diseño e implementación de nuestro propio plan de estudios de 1,200 horas.</p><p>Hoy, más de 5,000 personas de nuestra comunidad han aprendido a programar lo suficientemente bien como para conseguir sus primeros trabajos de desarrollador.</p><p>Pero si no me hubiera resistido a mis tendencias de "No inventado aquí", nunca habría conseguido que las cosas despegaran.</p><h3 id="c-mo-pararte-en-los-hombros-de-gigantes">Cómo pararte en los hombros de gigantes</h3><p>Te dejo con tres sencillos consejos para aprovechar al máximo los miles de años de conocimientos que tienes a tu alcance.</p><h3 id="consejo-1-aprende-a-reconocer-el-no-inventado-aqu-en-ti-mismo-y-en-los-dem-s-">Consejo #1: Aprende a reconocer el "No inventado aquí" en ti mismo y en los demás.</h3><p>Aceptar que está en nuestra naturaleza querer construir cosas por nosotros mismos. El lado luminoso de esto es un aficionado que construye sus propios muebles. El lado oscuro es un desarrollador que <a href="http://security.stackexchange.com/questions/18197/why-shouldnt-we-roll-our-own ">lanza su propia seguridad</a>.</p><h3 id="consejo-2-conoce-las-herramientas-que-existen-">Consejo #2: Conoce las herramientas que existen.</h3><p>La forma más fácil de entender qué tipos de herramientas están disponibles es seguir haciendo lo que estás haciendo ahora mismo: leer sobre tecnología.</p><p>La mayoría de <a href="https://github.com/search?utf8=%E2%9C%93&amp;q=stars%3A%3E0&amp;type=Repositories&amp;ref=searchresults">los principales proyectos de código abierto</a> están en GitHub, donde puedes ver su documentación. Puedes desplegar muchas de estas herramientas <a href="https://bitnami.com/stacks">en minutos</a> en tu propio servidor en la nube.</p><h3 id="consejo-3-lee-sobre-historia-">Consejo #3: Lee sobre historia.</h3><p>Seguro que tu profesor de historia de la preparatoria te citó esto, y tenía razón:</p><blockquote>"Los que no leen sobre historia están condenados a repetirla". — George Santayana en 1905</blockquote><p>Hay muchos libros excelentes sobre la historia de la tecnología. Recomiendo este de Walter Isaacson, el mismo que escribió las famosas biografías de Albert Einstein y Steve Jobs. Trata específicamente de la historia del software:</p><p><a href="http://amzn.to/2aZVCR6" rel="noopener"><strong><strong>The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution</strong></strong></a></p><p>Los gigantes están deseando subirte a sus hombros. Déjalos. Te darán una visión de cuántos problemas hay todavía ahí fuera, esperando que vayas a resolverlos.</p><p><strong>Sólo escribo sobre programación y tecnología. Si me <a href="https://twitter.com/ossia">sigues en Twitter</a> no te haré perder el tiempo. ?</strong></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Cómo alojar un repositorio de GIT en un subdominio con Netlify ]]>
                </title>
                <description>
                    <![CDATA[ Supongamos que tenemos un portafolio, como www.glynlewington.com, alojado en Netlify y deseas agregar proyectos al mismo dominio. Todos son repositorios de GIT aislados y Netlify está hecho para alojar desde un único repositorio... ¡pero no tengas miedo! Podemos alojarlos en subdominios como  project.glynlewington.com. Netlify hace que sea muy fácil ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/como-alojar-repositorio-git-en-subdominio-con-netlify/</link>
                <guid isPermaLink="false">5fdc10758c7cd154bb979796</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Alan Diego Maximo Perez ]]>
                </dc:creator>
                <pubDate>Sun, 03 Jan 2021 13:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2021/04/photo-1571786256017-aee7a0c009b6.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Supongamos que tenemos un portafolio, como www.glynlewington.com, alojado en Netlify y deseas agregar proyectos al mismo dominio. Todos son repositorios de GIT aislados y Netlify está hecho para alojar desde un único repositorio... ¡pero no tengas miedo! Podemos alojarlos en subdominios como <code>project.glynlewington.com</code>.</p><p>Netlify hace que sea muy fácil alojar tus sitios estáticos de forma gratuita. Recientemente migre mi portafolio de un VPS a ellos, y es genial que actualicen automáticamente tu sitio cada vez que se realiza un cambio en el repositorio de GIT.</p><p>Anteriormente, todos mis proyectos personales también estaban alojados en subdirectorios, p. Ej. <a href="https://www.freecodecamp.org/espanol/news/p/2e21c230-f07b-4094-aff4-8ec2a1751e67/hungry-bose-fb0e6d.netlify.com"><code>www.glynlewington.com/project</code></a>. Esto es difícil o imposible con Netlify. Netlify está configurado principalmente para que alojes todo en un sitio desde un repositorio de GIT.</p><p>El compromiso que asumí fue alojarlos en subdominios, como <code>project.glynlewington.com</code>. Esto tampoco está muy bien documentado, pero es posible.</p><ul><li>Ve a <a href="http://www.netlify.com/">www.netlify.com</a> e inicia una sesión o regístrate.</li><li>Selecciona “New site from git”.</li><li>Elije tu proveedor (ej. GitHub) — Es posible que aquí tengas que autenticarte.</li><li>Selecciona el repositorio de GIT del cual deseas crear un sitio.</li><li>Selecciona la rama desde la que deseas realizar el despliegue.</li><li>Elije los comandos que necesites ejecutar. — <em>Si se trata de un<em>a </em>aplicación en <em>React</em>, deberás ejecutar un comando de compilación.</em></li><li>Elije el directorio desde el que publicaras. — <em>Si es una aplicación <em>React</em>, probablemente la carpeta sea build/dist<em>.</em></em></li><li>Selecciona “Build Site”.</li></ul><p>En este momento, deberías tener una aplicación que funcione alojada en un dominio gratuito de Netlify<em><strong>,</strong></em> como <code>https://hungry-bose-fb0e6d.netlfiy.com</code>. Si esto no funciona, verifica que no haya errores con el proceso de compilación y corrígelos si hay algunos.</p><p>Ahora para configurar un dominio personalizado.</p><ul><li>Ve a la descripción general de tu aplicación en Netlify.</li><li>Dirá que tu sitio realizó el despliegue correctamente y que puedes configurar un dominio personalizado.</li><li>Haz clic en configurar un dominio personalizado, escribe el dominio que desees, incluyendo el subdominio, y haz clic en verificar. Por ej. <code>project.glynlewington.com</code>.</li></ul><p>A continuación, inicia sesión en tu proveedor de dominios. Yo uso Cloudflare, pero sera igual o similar usando otros.</p><ul><li>Ve a la configuración de DNS.</li><li>Selecciona un nuevo registro CNAME.</li><li>Ingresa un "Nombre": este es el subdominio, debe ser el mismo que seleccionaste anteriormente en Netlify. Por ej. <code>proyecto</code></li><li>En “IPv4 Address” ingresa el dominio gratuito para tu sitio en Netlify. Por ej. <code>hungry-bose-fb0e6d.netlify.com</code>.</li><li>Si usas Cloudflare, desactiva el enrutamiento del tráfico a través de Cloudflare. Esto causa problemas con Netlify.</li><li>Agrega el registro.</li></ul><p>¡Listo! Una vez realizado todo este proceso, podrá acceder a su sitio a través del subdominio.</p><p>Netlify también agregara automáticamente el protocolo HTTPS a su sitio, no hay necesidad de preocuparse por esto.</p><p>Traducido del artículo de <strong><a href="https://www.freecodecamp.org/news/author/glyn/">Glyn Lewington</a><strong> -</strong><a href="https://www.freecodecamp.org/news/how-to-host-a-git-repository-on-a-subdomain-with-netlify-b8afb5fca96e/">How to host a Git repository on a subdomain with Netlify</a></strong></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Los 10 sitios web de desafío de Programación más populares ]]>
                </title>
                <description>
                    <![CDATA[ Una gran manera de mejorar tus habilidades al aprender a codificar es resolviendo los desafíos de programación. Resolver diferentes tipos de desafíos y problemas puede ayudarte a convertirte en un mejor solucionador de problemas, aprender las particularidades de un lenguaje de programación, prepararte para las entrevistas de trabajo, aprender nuevos ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/los-10-sitios-web-mas-populares-del-retos-de-la-programacion/</link>
                <guid isPermaLink="false">5fdf0edd8c7cd154bb97b846</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Arturo Maltos ]]>
                </dc:creator>
                <pubDate>Wed, 30 Dec 2020 13:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2020/12/1_vmGJG77e-nLnKlv-tUgf5w.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Una gran manera de mejorar tus habilidades al aprender a codificar es resolviendo los desafíos de programación. Resolver diferentes tipos de desafíos y problemas puede ayudarte a convertirte en un mejor solucionador de problemas, aprender las particularidades de un lenguaje de programación, prepararte para las entrevistas de trabajo, aprender nuevos algoritmos y más.</p><p>A continuación hay una lista de algunos sitios web populares de desafíos de programación con una breve descripción de lo que ofrece cada uno.</p><h3 id="1-topcoder"><strong><a href="https://www.topcoder.com/challenges/?pageIndex=1" rel="noopener">1. TopCoder</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/MTryRL4uVza1V87ERWY26L4cFeqD2rgAnW1f" class="kg-image" alt="MTryRL4uVza1V87ERWY26L4cFeqD2rgAnW1f" width="800" height="133" loading="lazy"></figure><p><strong>TopCoder </strong>es una de las plataformas originales de programación competitiva en línea. Proporciona una lista de <a href="https://www.topcoder.com/community/how-it-works/">desafíos algorítmicos</a> que puedes completar por tu cuenta directamente en línea usando tu editor de código. Los partidos más populares de ronda individual se ofrecen un par de veces al mes en un momento específico en el que compiten contra otros para resolver desafíos más rápido con la mejor puntuación.</p><p>Los <a href="https://www.topcoder.com/tc?module=AlgoRank">usuarios mejor clasificados</a> en TopCoder son muy competitivos y participan regularmente en competencias de programación. El usuario mejor clasificado mantiene su propio blog titulado <em>Algorithms weekly by Petr Mitrichev</em> donde escribe sobre competencias de programación, algoritmos, matemáticas y más.</p><h3 id="2-coderbyte"><strong><a href="https://www.coderbyte.com/" rel="noopener">2. Coderbyte</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/sP6ow4n2alliqp5L-p5fVRQC9W0GTws1B9Ig" class="kg-image" alt="sP6ow4n2alliqp5L-p5fVRQC9W0GTws1B9Ig" width="800" height="288" loading="lazy"></figure><p><strong>Coderbyte </strong>proporciona más de 200 desafíos de programación que puedes resolver directamente en línea en uno de los 10 lenguajes de programación (<a href="https://www.coderbyte.com/information/First%20Factorial">mira este ejemplo</a>). Los desafíos van desde fáciles (encontrar la palabra más grande en una cadena) a difíciles (imprimir la máxima cardinalidad de un gráfico).</p><p>También proporcionan una colección de <a href="https://www.coderbyte.com/algorithm/tree-traversal-algorithms">tutoriales de algoritmos</a>, vídeos introductorios y <a href="https://www.coderbyte.com/course/google-interview-questions">cursos de preparación para entrevistas</a>. A diferencia de HackerRank y otros sitios web similares, puedes ver las soluciones que otros usuarios proporcionan para cualquier desafío, además de las soluciones <em>oficiales</em> publicadas por Coderbyte.</p><h3 id="3-project-euler"><strong><a href="https://projecteuler.net/" rel="noopener">3. Project Euler</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/plhA-E3btLLYRvc4hi3WxmUpAhu3aoef1o0V" class="kg-image" alt="plhA-E3btLLYRvc4hi3WxmUpAhu3aoef1o0V" width="742" height="422" loading="lazy"></figure><p>El Proyecto <strong>Euler </strong>proporciona una gran colección de desafíos en el dominio de la informática y las matemáticas. Los desafíos normalmente implican escribir un pequeño programa para encontrar la solución a una fórmula matemática ingeniosa o ecuación, como encontrar la suma de los dígitos de todos los números que preceden a cada número en una serie.</p><p>No se puede codificar directamente en el sitio web en un editor, por lo que se necesitaría escribir una solución en tu propio equipo y luego proporcionar la solución al sitio web.</p><h3 id="4-hackerrank"><strong><a href="https://www.hackerrank.com/domains" rel="noopener">4. HackerRank</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/dOpMtufto0gLZiyDOHZ4BVF58S-z393wRlcu" class="kg-image" alt="dOpMtufto0gLZiyDOHZ4BVF58S-z393wRlcu" width="796" height="416" loading="lazy"></figure><p><strong>HackerRank </strong>proporciona desafíos para varios dominios diferentes como los algoritmos, las matemáticas, SQL, la programación funcional, la IA y más. Puedes resolver todos los desafíos directamente en línea (<a href="https://www.hackerrank.com/challenges/simple-array-sum">mira este ejemplo</a>). Proporcionan una discusión y un tablero de líderes para cada desafío, y la mayoría de los desafíos vienen con un editorial que explica más sobre el desafío y cómo abordarlo para llegar a una solución. Aparte del editorial, no puedes ver actualmente las soluciones de otros usuarios en HackerRank.</p><p>HackerRank también ofrece a los usuarios la posibilidad de <a href="https://www.hackerrank.com/jobs/common-app">enviar solicitudes</a> y postularse a puestos de trabajo resolviendo los desafíos de codificación patrocinados por la empresa.</p><h3 id="5-codechef"><strong><a href="https://www.codechef.com/" rel="noopener">5. CodeChef</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/81eunsDYPAqBSC8KwPpBxhPFTHiqGXp70kMa" class="kg-image" alt="81eunsDYPAqBSC8KwPpBxhPFTHiqGXp70kMa" width="800" height="354" loading="lazy"></figure><p><strong>CodeChef </strong>es un <a href="https://en.wikipedia.org/wiki/CodeChef">sitio web de competencias de programación</a> con base en la India que ofrece cientos de desafíos. Puedes escribir código en el <a href="https://www.codechef.com/ide">editor</a> en línea y ver una colección de desafíos que están separados en diferentes categorías dependiendo de tu nivel de habilidad (<a href="https://www.codechef.com/problems/TREEFUN">mira este ejemplo</a>). Tienen una comunidad grande de programadores que contribuyen a los foros, escriben <a href="https://www.codechef.com/wiki/tutorial-paying">tutoriales</a> y participan en los <a href="https://www.codechef.com/contests/">concursos</a> de programación de CodeChef.</p><h3 id="6-exercism-io"><strong>6. <a href="https://exercism.io/">Exercism.io</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2019/12/Screen-Shot-2019-12-11-at-8.14.45-AM.png" class="kg-image" alt="Screen-Shot-2019-12-11-at-8.14.45-AM" width="600" height="400" loading="lazy"></figure><p><strong><a href="https://exercism.io/">Exercism</a> </strong>es un sitio web de desafíos de programación que ofrece más de 3100 desafíos que abarcan 52 lenguajes de programación diferentes. Después que elijas un lenguaje que te gustaría dominar, abordaras los desafíos de programación directamente en tu máquina (Exercism tiene su propia interfaz de línea de comandos que puedes descargar de GitHub).</p><p>Sin embargo, es un poco diferente de otros sitios web de desafíos, porque trabajas con un mentor después de completar cada desafío. El mentor revisa tus respuestas en línea y te ayuda a mejorarlas si es necesario. Una vez que tus respuestas han sido aprobadas y enviadas, desbloqueas más desafíos.</p><h3 id="7-codewars"><strong><a href="https://www.codewars.com/" rel="noopener">7. Codewars</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/QR7cVhZ7FGb6HjaEDu4N5Co1eTMNTbo1JFzq" class="kg-image" alt="QR7cVhZ7FGb6HjaEDu4N5Co1eTMNTbo1JFzq" width="800" height="406" loading="lazy"></figure><p><strong>Codewars </strong>ofrece una gran colección de desafíos de programación presentados y editados por su propia comunidad. Puedes resolver los desafíos directamente <a href="https://www.codewars.com/kata/trailing-zeros-in-factorials-in-any-given-integer-base/train/javascript">en línea</a> en su editor en uno de varios lenguajes. Puedes ver una discusión para cada desafío así como la solución de los usuarios.</p><h3 id="8-leetcode"><strong><a href="https://leetcode.com/" rel="noopener">8. LeetCode</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/RzWKVwPaLY2SRsWFWk93ZNlzcg8V0Yeav5t7" class="kg-image" alt="RzWKVwPaLY2SRsWFWk93ZNlzcg8V0Yeav5t7" width="800" height="363" loading="lazy"></figure><p><strong>LeetCode </strong>es un popular <a href="https://en.wikipedia.org/wiki/Online_judge">juez en línea</a> que proporciona una lista de más de 190 desafíos que pueden ayudarte a prepararte para entrevistas de trabajo técnicas. Puedes resolver los desafíos <a href="https://leetcode.com/problems/merge-k-sorted-lists/">directamente en línea</a> en uno de los 9 lenguajes de programación. No puedes ver las soluciones de otros usuarios, pero se te proporcionan estadísticas de tus propias soluciones, como por ejemplo la rapidez con la que tu código se ejecutó en comparación con el de otros usuarios.</p><p>También tienen una sección de <a href="https://leetcode.com/mockinterview/">entrevistas de prueba</a> que es específicamente para la preparación de entrevistas de trabajo, organizan sus propios <a href="https://leetcode.com/contest/">concursos</a> de programación y tienen una sección de <a href="https://leetcode.com/articles/recursive-approach-segment-trees-range-sum-queries-lazy-propagation/">artículos</a> para ayudarte a entender mejor ciertos problemas.</p><h3 id="9-spoj"><strong><a href="http://www.spoj.com/" rel="noopener">9. SPOJ</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/MF3wP06V24C7jal2f8NRvAVhS-tAA2vbNDTL" class="kg-image" alt="MF3wP06V24C7jal2f8NRvAVhS-tAA2vbNDTL" width="800" height="392" loading="lazy"></figure><p><strong>Sphere Online Judge</strong> (SPOJ) es un juez en línea que proporciona más de 20 mil desafíos de programación. Puedes enviar tu código en un <a href="https://www.spoj.com/problems/TETRA/">editor en línea</a>. SPOJ también organiza sus propias <a href="http://www.spoj.com/contests/">competencias</a> y tienen un área para que los usuarios discutan los desafíos de programación. Sin embargo, actualmente no proporcionan ninguna solución <em>oficial</em> o editorial como lo hacen otros sitios web.</p><h3 id="10-codingame"><strong><a href="https://www.codingame.com/" rel="noopener">10. CodinGame</a></strong></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/6l08ZCKDOaoY1TH-PHHHac26McA-c1tIDOPU" class="kg-image" alt="6l08ZCKDOaoY1TH-PHHHac26McA-c1tIDOPU" width="800" height="460" loading="lazy"></figure><p><strong>CodinGame</strong> es un poco diferente de los otros sitios web, porque en lugar de resolver simplemente los desafíos de programación en un editor, en realidad participas en la escritura del código de los juegos que juegas directamente en línea. Puedes ver una lista de los juegos que se ofrecen actualmente <a href="https://www.codingame.com/training">aquí</a> y un ejemplo de uno <a href="https://www.codingame.com/ide/puzzle/there-is-no-spoon-episode-1">aquí</a>. El juego viene con una descripción del problema, casos de prueba y un editor donde puedes escribir tu código en uno de los más de 20 lenguajes de programación.</p><p>Aunque este sitio web es diferente a los típicos sitios web de programación competitiva como los mencionados anteriormente, sigue siendo <a href="https://techcrunch.com/2015/11/11/with-codingame-learning-to-code-becomes-a-game/">popular</a> entre los programadores que disfrutan resolviendo desafíos y participando en competencias.</p><p>Esta lista se basó en pocas cosas: mis propias experiencias en el uso de los sitios web, algunas búsquedas en <a href="https://www.google.com/webhp?sourceid=chrome-instant&amp;rlz=1C5CHFA_enUS689US689&amp;ion=1&amp;espv=2&amp;ie=UTF-8#safe=off&amp;q=coding+challenges">Google</a>, publicaciones de <a href="https://www.quora.com/What-are-good-coding-challenges-websites">Quora</a>, y artículos como <a href="http://infocreeds.com/top-10-coding-challenges-websites/">éste</a> y <a href="https://www.linkedin.com/pulse/most-popular-programming-contest-sites-coding-practice-somenath-panda">éste</a>. También frecuenté algunos foros y subreddits como <a href="https://www.reddit.com/r/learnprogramming/">r/learnprogramming</a> para ver qué sitios web eran usualmente recomendados por los usuarios allí. Descargo (disclaimer): Trabajo en Coderbyte que es uno de los sitios web mencionados anteriormente</p><p>Traducido del artículo de <a href="https://www.freecodecamp.org/news/author/daniel-borowski/"><strong>Daniel Borowski</strong></a> - <strong><a href="https://www.freecodecamp.org/news/the-10-most-popular-coding-challenge-websites-of-2016-fb8a5672d22f/">The 10 Most Popular Coding Challenge Websites</a>.</strong></p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Los 10 Sitios Web Más Populares para Desafíos de Programación [Actualizado para 2020] ]]>
                </title>
                <description>
                    <![CDATA[ Una gran manera de mejorar tus habilidades al aprender a programar es resolviendo los desafío de programación. Resolver diferentes tipos de desafíos y rompecabezas puede ayudarte a ser un mejor solucionador de problemas, aprender la complejidades de un lenguaje de programación, prepararte para entrevistas de trabajo, aprender nuevos algoritmos y ]]>
                </description>
                <link>https://www.freecodecamp.org/espanol/news/los-10-sitios-web-mas-populares-para-desafios-de-programacion-actualizado-para-2020/</link>
                <guid isPermaLink="false">5fc06c708c7cd154bb972099</guid>
                
                    <category>
                        <![CDATA[ Tecnología ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Juan Carrillo ]]>
                </dc:creator>
                <pubDate>Tue, 01 Dec 2020 13:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/espanol/news/content/images/2020/11/top-10-codesites.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>Una gran manera de mejorar tus habilidades al aprender a programar es resolviendo los desafío de programación. Resolver diferentes tipos de desafíos y rompecabezas puede ayudarte a ser un mejor solucionador de problemas, aprender la complejidades de un lenguaje de programación, prepararte para entrevistas de trabajo, aprender nuevos algoritmos y más.</p><p>A continuación se muestra una lista de algunos sitios web populares de desafíos de programación con una breve descripción de lo que ofrece cada uno.</p><h3 id="1-topcoder"><a href="https://www.topcoder.com/challenges/">1. TopCoder</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/MTryRL4uVza1V87ERWY26L4cFeqD2rgAnW1f" class="kg-image" alt="MTryRL4uVza1V87ERWY26L4cFeqD2rgAnW1f" width="800" height="133" loading="lazy"></figure><p>TopCode es una de las plataformas originales para la programación competitiva en línea. Proporciona una lista de <a href="https://www.topcoder.com/community/how-it-works/">retos algorítmicos</a> del pasado que puedes completar por tu cuenta directamente en línea usando su editor de código. Sus populares Partidos de Una Sola Ronda se ofrecen varias veces al mes en un momento específico en el que compites contra otras para resolver los desafíos más rápido con la mejor puntuación.</p><p>Los <a href="https://www.topcoder.com/tc?module=AlgoRank">usuarios mejor clasificados</a> en TopCoder son muy buenos programadores competitivos y compiten regularmente en concursos de programación. El usuario mejor clasificado mantiene su <a href="http://petr-mitrichev.blogspot.com/">propio blog</a> titulado <em>Algorithms weekly by Petr Mitrichev </em>donde escribe sobre competencias de programación, algoritmos, matemáticas y más.</p><h3 id="2-coderbyte"><a href="https://www.coderbyte.com/" rel="noopener">2. Coderbyte</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/sP6ow4n2alliqp5L-p5fVRQC9W0GTws1B9Ig" class="kg-image" alt="sP6ow4n2alliqp5L-p5fVRQC9W0GTws1B9Ig" width="800" height="288" loading="lazy"></figure><p>Coderbyte proporciona más de 200 retos de programación que puedes resolver directamente en línea en uno de 10 lenguajes de programación (mira este <a href="https://www.coderbyte.com/information/First%20Factorial">ejemplo</a>). Los retos van desde fáciles (encontrar la palabra más grande en una cadena) a difíciles (imprimir la máxima cardinalidad de un gráfico).</p><p>También proporcionan una colección de <a href="https://www.coderbyte.com/algorithm/tree-traversal-algorithms">tutoriales de algoritmos</a>, videos introductorios y <a href="https://www.coderbyte.com/course/google-interview-questions">cursos de preparación para entrevistas</a>. A diferencia de HackerRank y otros sitios web similares, puedes ver las soluciones que otros usuarios proporcionan para cualquier desafío, además de las soluciones <em>oficiales</em> publicadas por Coderbyte.</p><h3 id="3-project-euler"><a href="https://projecteuler.net/" rel="noopener">3. Project Euler</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/plhA-E3btLLYRvc4hi3WxmUpAhu3aoef1o0V" class="kg-image" alt="plhA-E3btLLYRvc4hi3WxmUpAhu3aoef1o0V" width="742" height="422" loading="lazy"></figure><p>Project Euler proporciona una gran colección de desafíos en el dominio de la informática y las matemáticas. Los desafío típicamente implican escribir un pequeño programa para encontrar la solución a una fórmula o ecuación matemática inteligente, como <a href="https://projecteuler.net/problem=551">encontrar la suma de los dígitos</a> de todos los números que preceden a cada número de una serie.</p><p>No se puede programar directamente en el sitio web en un editor, por lo que se necesitaría escribir una solución en tu propia computadora y luego proporcionar la solución en tu sitio web.</p><h3 id="4-hackerrank"><a href="https://www.hackerrank.com/domains" rel="noopener">4. HackerRank</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/dOpMtufto0gLZiyDOHZ4BVF58S-z393wRlcu" class="kg-image" alt="dOpMtufto0gLZiyDOHZ4BVF58S-z393wRlcu" width="796" height="416" loading="lazy"></figure><p>HackerRank proporciona desafío para varios dominios diferentes como los algoritmos, las matemáticas, SQL, la programación funcional, IA y más. Puedes resolver todos los desafío directamente en línea (mira este <a href="https://www.hackerrank.com/challenges/simple-array-sum">ejemplo</a>). Proporcionan un espacio de discusión y un tablero de líderes para cada desafío, y la mayoría de los desafíos vienen con un editorial que explica más sobre el desafío y ceomo abordarlo para llegar a una solución. Aparte del editorial, no puedes ver actualmente las soluciones de otros usuarios en HackerRank.</p><p>HackerRank también ofrece a los usuarios la posibilidad de <a href="https://www.hackerrank.com/jobs/common-app">enviar solicitudes</a> y postularse a puestos de trabajo resolviendo los desafío de programación patrocinados por la empresa.</p><h3 id="5-codechef"><a href="https://www.codechef.com/" rel="noopener">5. CodeChef</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/81eunsDYPAqBSC8KwPpBxhPFTHiqGXp70kMa" class="kg-image" alt="81eunsDYPAqBSC8KwPpBxhPFTHiqGXp70kMa" width="800" height="354" loading="lazy"></figure><p>CodeChef es un <a href="https://en.wikipedia.org/wiki/CodeChef">sitio web</a> de programación competitiva con base en la India que ofrece cientos de desafíos. Puedes escribir código en su <a href="https://www.codechef.com/ide">editor</a> en línea y ver una colección de desafío que están separados en diferentes categorías dependiendo de tu nivel de habilidad (mira este <a href="https://www.codechef.com/problems/TREEFUN">ejemplo</a>). Tienen una gran comunidad de programadores que contribuyen a los foros, escriben <a href="https://www.codechef.com/wiki/tutorial-paying">tutoriales</a> y participan en las <a href="https://www.codechef.com/contests/">competencias</a> de programación de CodeChef.</p><h3 id="6-exercism-io"><a href="https://exercism.io/">6. Exercism.io</a></h3><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2019/12/Screen-Shot-2019-12-11-at-8.14.45-AM.png" class="kg-image" alt="Screen-Shot-2019-12-11-at-8.14.45-AM" width="600" height="400" loading="lazy"></figure><p><a href="https://exercism.io/">Exercism</a> es un sitio web de desafíos de programación que ofrece más de 2100 desafío que abarcan 52 lenguajes de programación diferentes. Después de elegir un lenguaje que te gustaría dominar, abordas los retos de programación directamente en tu máquina (Exercism tiene su propia interfaz de línea de comandos que puedes descargar de GitHub).</p><p>Sin embargo, es un poco diferente a otros sitios web de desafíos, porque trabajas con un mentor después de completar cada desafío. El mentor revisa tus respuestas en línea y te ayuda a mejorarlas si es necesario. Una vez que tus respuestas han sido aprobadas y enviadas, desbloqueas más desafío.</p><h3 id="7-codewars"><a href="https://www.codewars.com/" rel="noopener">7. Codewars</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/QR7cVhZ7FGb6HjaEDu4N5Co1eTMNTbo1JFzq" class="kg-image" alt="QR7cVhZ7FGb6HjaEDu4N5Co1eTMNTbo1JFzq" width="800" height="406" loading="lazy"></figure><p>Codewars ofrece una gran colección de desafío de programación presentados y editados por su propia comunidad. Puedes resolver los desafíos directamente <a href="https://www.codewars.com/kata/trailing-zeros-in-factorials-in-any-given-integer-base/train/javascript">en línea</a> en su editor en uno de varios lenguajes. Puedes ver una discusión para cada desafío así como las soluciones de los usuarios.</p><h3 id="8-leetcode"><a href="https://leetcode.com/" rel="noopener">8. LeetCode</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/RzWKVwPaLY2SRsWFWk93ZNlzcg8V0Yeav5t7" class="kg-image" alt="RzWKVwPaLY2SRsWFWk93ZNlzcg8V0Yeav5t7" width="800" height="363" loading="lazy"></figure><p>LeetCode es un popular <a href="https://en.wikipedia.org/wiki/Online_judge">Juez en Línea</a> que proporciona una lista de más de 190 desafíos que pueden ayudarte a prepararte para entrevistas de trabajo técnicas. Puedes resolver los desafío <a href="https://leetcode.com/problems/merge-k-sorted-lists/">directamente en línea</a> en uno de los 9 lenguajes de programación No puedes ver las soluciones de otros usuarios, pero se te proporcionan estadísticas de tus propias soluciones, como por ejemplo, la rapidez con la que tu código se ejecutó en comparación con el de otros usuarios.</p><p>También tienen una sección de <a href="https://leetcode.com/mockinterview/">Entrevistas de Prueba (Mock Interviews)</a> que es específicamente para la preparación de entrevistas de trabajo, organizan sus propios <a href="https://leetcode.com/contest/">concursos</a> de programación y tienen un sección de <a href="https://leetcode.com/articles/recursive-approach-segment-trees-range-sum-queries-lazy-propagation/">artículos</a> para ayudarte a entender mejor ciertos problemas.</p><h3 id="9-spoj"><a href="http://www.spoj.com/" rel="noopener">9. SPOJ</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/MF3wP06V24C7jal2f8NRvAVhS-tAA2vbNDTL" class="kg-image" alt="MF3wP06V24C7jal2f8NRvAVhS-tAA2vbNDTL" width="800" height="392" loading="lazy"></figure><p>Sphere Online Judge (SPOJ) es un juez en línea que proporciona más de 20k <a href="http://www.spoj.com/problems/TETRA/">desafíos de programación</a>. Puedes presentar tu código en un editor en línea. SPOJ también organiza sus propios <a href="http://www.spoj.com/contests/">concursos</a> y tiene un área para que los usuarios discutan los desafíos de programación. Sin embargo, actualmente no proporcionan ninguna solución oficial o editorial como lo hacen otros sitios web.</p><h3 id="10-codingame"><a href="https://www.codingame.com/" rel="noopener">10. CodinGame</a></h3><figure class="kg-card kg-image-card"><img src="https://cdn-media-1.freecodecamp.org/images/6l08ZCKDOaoY1TH-PHHHac26McA-c1tIDOPU" class="kg-image" alt="6l08ZCKDOaoY1TH-PHHHac26McA-c1tIDOPU" width="800" height="460" loading="lazy"></figure><p>CodinGame es un poco diferente de los otros sitios web, porque en lugar de resolver simplemente los desafíos de programación en un editor, en realidad participas en la escritura del código de los juegos que juegas directamente en línea. Puedes ver una lista de los juegos que se ofrecen actualmente <a href="https://www.codingame.com/training">aquí</a> y un ejemplo de uno <a href="https://www.codingame.com/ide/puzzle/there-is-no-spoon-episode-1">aquí</a>. El juego viene con una descripción del problema, casos de prueba y un editor donde puedes escribir tu código en uno de los más de 20 lenguajes de programación.</p><p>Aunque este sitio web es diferente a los típicos sitios web de programación competitiva como los mencionados anteriormente, sigue siendo <a href="https://techcrunch.com/2015/11/11/with-codingame-learning-to-code-becomes-a-game/">popular</a> entre los programadores que disfrutan resolviendo desafíos y participando en concursos.</p><p>Esta lista se basó en algunas cosas: mis propias experiencias en el uso de los sitios web, algunas <a href="https://www.google.com/webhp?sourceid=chrome-instant&amp;rlz=1C5CHFA_enUS689US689&amp;ion=1&amp;espv=2&amp;ie=UTF-8#safe=off&amp;q=coding+challenges">búsquedas en Google</a>, <a href="https://www.quora.com/What-are-good-coding-challenges-websites">publicaciones de Quora</a> y artículos como <a href="http://infocreeds.com/top-10-coding-challenges-websites/">éste</a> y <a href="https://www.linkedin.com/pulse/most-popular-programming-contest-sites-coding-practice-somenath-panda">éste</a>. También frecuenté algunos foros y subreddits como <a href="https://www.reddit.com/r/learnprogramming/">r/learnprogramming</a> para ver qué sitios web eran usualmente recomendados por los usuarios allí. Aviso: Trabajo en Coderbyte que es uno de los sitios web mencionados anteriormente.</p><p>Traducido del artículo de <a href="https://www.freecodecamp.org/news/author/daniel-borowski/">Daniel Borowski's</a> - <a href="https://www.freecodecamp.org/news/the-10-most-popular-coding-challenge-websites-of-2016-fb8a5672d22f/">The 10 Most Popular Coding Challenge Websites [Updated for 2020]</a></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
