{"id":3459,"date":"2019-04-24T08:53:00","date_gmt":"2019-04-24T08:53:00","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/mom-he-blocked-threads-again\/"},"modified":"2026-04-24T11:21:40","modified_gmt":"2026-04-24T11:21:40","slug":"mama-volvio-a-bloquear-hilos","status":"publish","type":"post","link":"https:\/\/thecodest.co\/es\/blog\/mom-he-blocked-threads-again\/","title":{"rendered":"\u00a1MAM\u00c1! \u00a1Ha vuelto a bloquear hilos!"},"content":{"rendered":"<h2>Hilos<\/h2>\n<p>Lo principal a recordar: hay dos tipos de hilos en <strong><a href=\"https:\/\/thecodest.co\/es\/blog\/find-your-node-js-expert-for-hire-today\/\">Node.js<\/a><\/strong>: Main Thread - que es manejado por <b>Bucle de eventos<\/b>y <b>Pool de trabajadores<\/b> (pool de hilos) - que es el pool de hilos -<br \/>\n<a href=\"http:\/\/docs.libuv.org\/en\/v1.x\/threadpool.html\" rel=\"nofollow\">gracias a libuv<\/a>. Cada uno de ellos tiene un trabajo diferente. El objetivo del primero es gestionar las operaciones de E\/S no bloqueantes, y el segundo es responsable del trabajo intensivo de la CPU y tambi\u00e9n de las E\/S bloqueantes.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/libuv.png\" alt=\"diagrama de libuv\" title=\"componentes de libuv\" \/><\/p>\n<p>Pero, \u00bfqu\u00e9 es un hilo y en qu\u00e9 se diferencia de un proceso? Hay varias diferencias, pero la m\u00e1s importante para <a href=\"https:\/\/thecodest.co\/es\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> es c\u00f3mo se les asigna la memoria. Puedes pensar en un proceso como en una aplicaci\u00f3n. Dentro de cada proceso, hay un trozo de memoria dedicado s\u00f3lo para este proceso. As\u00ed, un proceso no tiene acceso a la memoria del segundo, y esta propiedad garantiza una alta seguridad. Para establecer comunicaci\u00f3n entre ellos, debemos hacer alg\u00fan trabajo. Los hilos son diferentes. Los hilos se ejecutan dentro de un proceso y comparten la misma memoria, por lo que no hay ning\u00fan problema en que los hilos compartan memoria. <a href=\"https:\/\/thecodest.co\/es\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">datos<\/a>.<\/p>\n<p>Sin embargo, hay una cuesti\u00f3n que causa problemas. Se llama condici\u00f3n de carrera. Los hilos pueden ejecutarse al mismo tiempo, as\u00ed que \u00bfc\u00f3mo sabemos cu\u00e1l termina primero? Puede ocurrir que la primera vez que lo ejecutes, la primera operaci\u00f3n termine primero, y la pr\u00f3xima vez puede resultar lo contrario y la segunda operaci\u00f3n termine antes que la primera. \u00a1Imag\u00ednate trabajar con operaciones de escritura\/lectura en esas condiciones! \u00a1Una pesadilla! A veces es muy dif\u00edcil escribir correctamente <a href=\"https:\/\/thecodest.co\/es\/dictionary\/what-is-code-refactoring\/\">c\u00f3digo<\/a> en un entorno multihilo.<\/p>\n<p>Adem\u00e1s, los lenguajes multihilo tienen una gran sobrecarga de memoria porque crean un hilo distinto para cada petici\u00f3n; as\u00ed, si quieres llamar a 1000 peticiones, crean 1000 hilos.<\/p>\n<p>\u00bfC\u00f3mo solucionar este problema? Utilizando un \u00fanico hilo. Y eso es lo que <strong><a href=\"https:\/\/thecodest.co\/es\/dictionary\/what-is-node-js-used-for\/\">Nodo<\/a><\/strong> te ofrece.<\/p>\n<p><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/eventloop.png\" alt=\"bucle de eventos de un hilo\" title=\"diagrama de eventos \" \/><\/p>\n<p>Como <strong><a href=\"https:\/\/thecodest.co\/es\/blog\/hire-javascript-developer\/\">Promotor JavaScript<\/a><\/strong> Le animo a que vea el <a href=\"https:\/\/youtu.be\/PNa9OMajw9w\" rel=\"nofollow\">pel\u00edcula<\/a><br \/>\nen la que Bart Belder explica claramente el concepto de bucle de eventos. El diagrama anterior est\u00e1 tomado de su presentaci\u00f3n. Y si no conoce estos t\u00e9rminos en absoluto, tanto <strong>Nodo<\/strong> y Libuv tienen una documentaci\u00f3n excelente \ud83d\ude42 .<\/p>\n<h2>Acerca del bloqueo<\/h2>\n<p>En <strong><a href=\"https:\/\/thecodest.co\/es\/dictionary\/why-is-javascript-so-popular\/\">JavaScript<\/a> desarrollo<\/strong> industria dicen que porque <strong>Nodo<\/strong> es monohilo y no bloqueante, se puede lograr una mayor concurrencia con los mismos recursos que con las soluciones multihilo. Es cierto, pero no es tan bonito y f\u00e1cil como parece.<\/p>\n<p>Desde <strong>Node.js<\/strong> es monohilo (<a href=\"https:\/\/thecodest.co\/es\/blog\/hire-vue-js-developers\/\">JS<\/a> parte), las tareas de uso intensivo de CPU bloquear\u00e1n todas las peticiones en curso hasta que se complete la tarea concreta. Por lo tanto, es cierto que en <strong>Node.js<\/strong> puedes bloquear todas las peticiones s\u00f3lo porque una de ellas conten\u00eda una instrucci\u00f3n de bloqueo. El c\u00f3digo bloqueante significa que tarda m\u00e1s de unos milisegundos en terminar. Pero no confunda un tiempo de respuesta largo con bloqueo. La respuesta de la base de datos puede tomar mucho tiempo, pero no bloquea su proceso (aplicaci\u00f3n).<\/p>\n<p>Los m\u00e9todos bloqueantes se ejecutan de forma sincr\u00f3nica y los no bloqueantes de forma asincr\u00f3nica.<\/p>\n<p>\u00bfC\u00f3mo puedes ralentizar (o bloquear) tu bucle de eventos?<\/p>\n<ul>\n<li>regex vulnerable - una expresi\u00f3n regular vulnerable es aquella en la que su motor de expresiones regulares puede tardar un tiempo exponencial; puede leer m\u00e1s sobre ellas  <a href=\"https:\/\/nodejs.org\/en\/docs\/guides\/dont-block-the-event-loop\/\" rel=\"nofollow\">aqu\u00ed<\/a>,<\/li>\n<li>Operaciones JSON en objetos grandes,<\/li>\n<li>utilizando las API s\u00edncronas de <strong>Nodo <\/strong>en lugar de versiones as\u00edncronas; todos los m\u00e9todos de E\/S de la biblioteca est\u00e1ndar Node.js ofrecen tambi\u00e9n sus versiones as\u00edncronas,<\/li>\n<li>otros errores de programaci\u00f3n, como los bucles infinitos s\u00edncronos.<\/li>\n<\/ul>\n<p>En ese caso, dado que el Worker Pool utiliza un pool de hilos, \u00bfes posible bloquearlos tambi\u00e9n? Lamentablemente, s\u00ed \ud83d\ude41 .<strong> Nodo<\/strong> se basa en una filosof\u00eda <code>un hilo para muchos clientes.<\/code> Supongamos que una determinada tarea realizada por un Worker espec\u00edfico es muy compleja y necesita m\u00e1s tiempo para ser terminada. Como resultado, el Worker se bloquea y no puede ser utilizado para ejecutar ninguna de las otras tareas pendientes hasta que sus instrucciones sean ejecutadas. Como probablemente ya habr\u00e1s adivinado, esto puede afectar al rendimiento. Puedes prevenir estos problemas minimizando la variaci\u00f3n en los tiempos de las Tareas mediante el uso de la partici\u00f3n de Tareas.<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Evita el bloqueo, eso seguro. Si s\u00f3lo puedes, elige siempre versiones as\u00edncronas de las API de la biblioteca est\u00e1ndar. De lo contrario, despu\u00e9s de ejecutar su aplicaci\u00f3n, el cliente puede experimentar varios problemas, empezando por el rendimiento degradado y terminando en la retirada completa, que es fatal desde la perspectiva del usuario.<\/p>\n<p><article-inline-code-review><\/article-inline-code-review><\/p>\n<p><b>M\u00e1s informaci\u00f3n:<\/b><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/why-you-should-probably-use-typescript\">Por qu\u00e9 deber\u00eda (probablemente) utilizar Typescript<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/how-not-to-kill-a-project-with-bad-coding-practices\/\">\u00bfC\u00f3mo no matar un proyecto con malas pr\u00e1cticas de codificaci\u00f3n?<\/a><\/p>\n<p><a href=\"https:\/\/thecodest.co\/blog\/data-fetching-strategies-in-nextjs\/\">Estrategias de obtenci\u00f3n de datos en NextJS<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>\"No bloquees el bucle de eventos...\" - probablemente hayas o\u00eddo esta frase muchas veces... No me sorprende porque es una de las premisas m\u00e1s importantes cuando se trabaja con Node. Pero tambi\u00e9n hay una segunda \"cosa\" que deber\u00edas abstenerte de bloquear - el Worker Pool. Si se descuida, puede tener un impacto significativo en el rendimiento de la aplicaci\u00f3n e incluso en su seguridad.<\/p>","protected":false},"author":2,"featured_media":3460,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3459","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MOM! He Blocked Threads Again! - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/es\/blog\/mama-volvio-a-bloquear-hilos\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MOM! He Blocked Threads Again!\" \/>\n<meta property=\"og:description\" content=\"\u201cDon`t block the event loop\u2026\u201d \u2013 you&#039;ve probably heard this sentence many times\u2026 I&#039;m not surprised because it is one of the most important assumptions when working with Node. But there is also a second \u201cthing\u201d which you should refrain from blocking \u2013 the Worker Pool. If neglected, it can have a significant impact on application performance and even its security.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/es\/blog\/mama-volvio-a-bloquear-hilos\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-24T08:53:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-24T11:21:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"MOM! He Blocked Threads Again!\",\"datePublished\":\"2019-04-24T08:53:00+00:00\",\"dateModified\":\"2026-04-24T11:21:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"},\"wordCount\":755,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\",\"name\":\"MOM! He Blocked Threads Again! - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"datePublished\":\"2019-04-24T08:53:00+00:00\",\"dateModified\":\"2026-04-24T11:21:40+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/mom-he-blocked-threads-again\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MOM! He Blocked Threads Again!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/es\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u00a1MAM\u00c1! \u00a1Ha vuelto a bloquear hilos! - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/es\/blog\/mama-volvio-a-bloquear-hilos\/","og_locale":"es_ES","og_type":"article","og_title":"MOM! He Blocked Threads Again!","og_description":"\u201cDon`t block the event loop\u2026\u201d \u2013 you've probably heard this sentence many times\u2026 I'm not surprised because it is one of the most important assumptions when working with Node. But there is also a second \u201cthing\u201d which you should refrain from blocking \u2013 the Worker Pool. If neglected, it can have a significant impact on application performance and even its security.","og_url":"https:\/\/thecodest.co\/es\/blog\/mama-volvio-a-bloquear-hilos\/","og_site_name":"The Codest","article_published_time":"2019-04-24T08:53:00+00:00","article_modified_time":"2026-04-24T11:21:40+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","type":"image\/jpeg"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"MOM! He Blocked Threads Again!","datePublished":"2019-04-24T08:53:00+00:00","dateModified":"2026-04-24T11:21:40+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"},"wordCount":755,"commentCount":0,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"image":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","articleSection":["Software Development"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/","url":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/","name":"\u00a1MAM\u00c1! \u00a1Ha vuelto a bloquear hilos! - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","datePublished":"2019-04-24T08:53:00+00:00","dateModified":"2026-04-24T11:21:40+00:00","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/thecodest_blog_post_coverproduct_design_agency_-5-.jpg","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/mom-he-blocked-threads-again\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"MOM! He Blocked Threads Again!"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"The Codest","description":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/es\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3459","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/comments?post=3459"}],"version-history":[{"count":5,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3459\/revisions"}],"predecessor-version":[{"id":7929,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/posts\/3459\/revisions\/7929"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/media\/3460"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/media?parent=3459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/categories?post=3459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/es\/wp-json\/wp\/v2\/tags?post=3459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}