{"id":81559,"date":"2020-05-14T19:42:16","date_gmt":"2020-05-14T17:42:16","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0"},"modified":"2020-05-14T19:42:16","modified_gmt":"2020-05-14T17:42:16","slug":"avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","title":{"rendered":"O autor do Node.js apresentou a plataforma JavaScript segura Deno 1.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s dois anos de desenvolvimento <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/v1\">apresentado<\/a><\/noindex> o primeiro lan\u00e7amento significativo <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/\">Deno 1.0<\/a><\/noindex>, uma plataforma para a execu\u00e7\u00e3o isolada de aplicativos nas linguagens JavaScript e TypeScript, que pode ser utilizada para criar manipuladores que operam no servidor. A plataforma \u00e9 desenvolvida por Ryan Dahl (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Ryan_Dahl\">Ryan Dahl<\/a><\/noindex>), criador do Node.js. Assim como no Node.js, o Deno utiliza o mecanismo JavaScript <noindex><a rel=\"nofollow\" href=\"https:\/\/v8.dev\/\">V8<\/a><\/noindex>, que tamb\u00e9m \u00e9 utilizado em navegadores baseados no Chromium. No entanto, o Deno n\u00e3o \u00e9 um ramo do Node.js, mas sim um projeto novo criado do zero. O c\u00f3digo do projeto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\">\u00e9 distribu\u00eddo<\/a><\/noindex> sob a licen\u00e7a MIT. Compila\u00e7\u00f5es <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\/tag\/v1.0.0\">foram preparados<\/a><\/noindex> para Linux, Windows e macOS.<\/p>\n<p>O n\u00famero significativo da vers\u00e3o est\u00e1 relacionado \u00e0 estabiliza\u00e7\u00e3o da API no espa\u00e7o de nomes Deno, que \u00e9 respons\u00e1vel pela intera\u00e7\u00e3o de aplicativos com o sistema operacional. As interfaces que ainda <noindex><a rel=\"nofollow\" href=\"https:\/\/doc.deno.land\/https\/raw.githubusercontent.com\/denoland\/deno\/master\/cli\/js\/lib.deno.unstable.d.ts\">n\u00e3o est\u00e3o estabilizadas<\/a><\/noindex>, por padr\u00e3o ocultos e dispon\u00edveis apenas ao serem executados em modo &#171;&#8212;unstable&#187;. \u00c0 medida que novas vers\u00f5es s\u00e3o formadas, essas APIs ser\u00e3o gradualmente transferidas para a categoria de est\u00e1veis. A API no espa\u00e7o de nomes global, que inclui fun\u00e7\u00f5es comuns como setTimeout() e fetch(), \u00e9, quando poss\u00edvel, aproximada da API dos navegadores web comuns e se desenvolve de acordo com os padr\u00f5es Web para navegadores. As APIs Rust fornecidas, que s\u00e3o aplicadas diretamente no c\u00f3digo da plataforma, bem como a interface para o desenvolvimento de plugins para o runtime Deno, ainda n\u00e3o est\u00e3o estabilizadas e continuam a se desenvolver.<\/p>\n<p>Os principais motivos para a cria\u00e7\u00e3o da nova plataforma JavaScript foram o desejo de corrigir erros conceituais, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=M3BM9TB-8yA\">cometidos<\/a><\/noindex> na arquitetura do Node.js, e fornecer aos usu\u00e1rios um ambiente mais seguro. Para aumentar a seguran\u00e7a, a camada em torno do motor V8 foi escrita em Rust, evitando muitas vulnerabilidades que surgem devido ao trabalho de baixo n\u00edvel com a mem\u00f3ria, como o acesso \u00e0 \u00e1rea de mem\u00f3ria ap\u00f3s sua libera\u00e7\u00e3o, desreferenciamento de ponteiros nulos e estouros de buffer. Para o processamento de solicita\u00e7\u00f5es em modo n\u00e3o bloqueante, a plataforma <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tokio-rs\/tokio\">Tokio<\/a><\/noindex>, tamb\u00e9m escrita em Rust, \u00e9 utilizada. O Tokio permite criar aplicativos de alto desempenho baseados em uma arquitetura orientada a eventos, suportando multithreading e o processamento ass\u00edncrono de solicita\u00e7\u00f5es de rede.<\/p>\n<p>Principais <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/manual\">Caracter\u00edsticas<\/a><\/noindex> Deno:\n<\/p>\n<ul>\n<li class=\"l\"> A orienta\u00e7\u00e3o para seguran\u00e7a na configura\u00e7\u00e3o padr\u00e3o. O acesso a arquivos, capacidades de rede e vari\u00e1veis de ambiente est\u00e3o bloqueados por padr\u00e3o e exigem habilita\u00e7\u00e3o expl\u00edcita. Os aplicativos padr\u00e3o s\u00e3o executados em ambientes sandbox isolados e n\u00e3o podem acessar funcionalidades do sistema sem permiss\u00f5es expl\u00edcitas;\n<\/li>\n<li class=\"l\"> Suporte embutido para a linguagem TypeScript al\u00e9m do JavaScript. A verifica\u00e7\u00e3o de tipos e a gera\u00e7\u00e3o de JavaScript utilizam o compilador TypeScript padr\u00e3o, resultando em uma queda de desempenho em compara\u00e7\u00e3o com a an\u00e1lise de JavaScript no V8. No futuro, est\u00e1 planejada a implementa\u00e7\u00e3o de um sistema de verifica\u00e7\u00e3o de tipos TypeScript pr\u00f3prio, o que permitir\u00e1 um aumento significativo no desempenho do processamento de TypeScript;\n<\/li>\n<li class=\"l\"> O Runtime \u00e9 fornecido na forma de um \u00fanico arquivo execut\u00e1vel aut\u00f4nomo (deno). Para executar aplicativos usando o Deno, \u00e9 suficiente <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/denoland\/deno\/releases\">baixar<\/a><\/noindex> um arquivo execut\u00e1vel para sua plataforma, com cerca de 20 MB, que n\u00e3o tem depend\u00eancias externas e n\u00e3o requer nenhuma instala\u00e7\u00e3o especial no sistema. Al\u00e9m disso, o deno n\u00e3o \u00e9 um aplicativo monol\u00edtico, mas uma cole\u00e7\u00e3o de pacotes crate em Rust (<noindex><a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/deno_core\">deno_core<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/crates.io\/crates\/rusty_v8\">rusty_v8<\/a><\/noindex>), que podem ser usados separadamente;\n<\/li>\n<li class=\"l\"> Ao executar o programa, assim como para carregar m\u00f3dulos, \u00e9 poss\u00edvel usar endere\u00e7amento via URL. Por exemplo, para executar o programa welcome.js, pode-se usar o comando deno https:\/\/deno.land\/std\/examples\/welcome.js. O c\u00f3digo de recursos externos \u00e9 carregado e armazenado em cache no sistema local, mas nunca \u00e9 atualizado automaticamente (para atualiz\u00e1-lo, \u00e9 necess\u00e1rio iniciar explicitamente o aplicativo com a flag --reload);\n<\/li>\n<li class=\"l\"> Processamento eficiente de solicita\u00e7\u00f5es de rede via HTTP, a plataforma \u00e9 projetada para criar aplicativos de rede de alto desempenho;\n<\/li>\n<li class=\"l\"> Capacidade de criar aplicativos web universais que podem ser executados tanto no Deno quanto em navegadores web convencionais;\n<li class=\"l\"> A presen\u00e7a de <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/std\">um conjunto padr\u00e3o de m\u00f3dulos<\/a><\/noindex>, cujo uso n\u00e3o requer depend\u00eancias externas. Os m\u00f3dulos da cole\u00e7\u00e3o padr\u00e3o passaram por auditorias e verifica\u00e7\u00f5es adicionais de compatibilidade;\n<\/li>\n<li class=\"l\"> Al\u00e9m do runtime, a plataforma Deno tamb\u00e9m atua como um gerenciador de pacotes e permite que o c\u00f3digo acesse m\u00f3dulos via URL. Por exemplo, para carregar um m\u00f3dulo, pode-se especificar no c\u00f3digo import * as log from https:\/\/deno.land\/std\/log\/mod.ts. Os arquivos carregados de servidores externos via URL s\u00e3o armazenados em cache. A vincula\u00e7\u00e3o \u00e0s vers\u00f5es dos m\u00f3dulos \u00e9 determinada pela indica\u00e7\u00e3o dos n\u00fameros das vers\u00f5es dentro da URL, por exemplo, https:\/\/unpkg.com\/liltest@0.0.5\/dist\/liltest.js;\n<\/li>\n<li class=\"l\"> O pacote inclui um sistema de inspe\u00e7\u00e3o de depend\u00eancias (comando 'deno info') e uma ferramenta para formata\u00e7\u00e3o de c\u00f3digo (deno fmt);\n<\/li>\n<li class=\"l\"> Todos os scripts da aplica\u00e7\u00e3o podem ser combinados em um \u00fanico arquivo JavaScript.\n<\/li>\n<\/ul>\n<p> Diferen\u00e7as em rela\u00e7\u00e3o ao Node.js:\n<\/p>\n<ul>\n<li class=\"l\"> O Deno n\u00e3o utiliza o gerenciador de pacotes npm<br \/>\n e n\u00e3o est\u00e1 vinculado a reposit\u00f3rios, a endere\u00e7amento de m\u00f3dulos \u00e9 realizado via URL ou por caminho de arquivo, e os pr\u00f3prios m\u00f3dulos podem ser hospedados em qualquer site;\n<\/li>\n<li class=\"l\"> No Deno, n\u00e3o se utiliza package.json para a defini\u00e7\u00e3o de m\u00f3dulos;\n<\/li>\n<li class=\"l\"> Diferen\u00e7a de API, todas as opera\u00e7\u00f5es ass\u00edncronas no Deno retornam promessas;\n<\/li>\n<li class=\"l\"> O Deno requer a defini\u00e7\u00e3o expl\u00edcita de todas as permiss\u00f5es necess\u00e1rias para arquivos, rede e vari\u00e1veis de ambiente;\n<\/li>\n<li class=\"l\"> Todos os erros n\u00e3o acompanhados por manipuladores levam \u00e0 finaliza\u00e7\u00e3o da execu\u00e7\u00e3o da aplica\u00e7\u00e3o;\n<\/li>\n<li class=\"l\"> O Deno utiliza um sistema de m\u00f3dulos ECMAScript e n\u00e3o suporta require();\n<li class=\"l\"> O servidor HTTP embutido do Deno \u00e9 escrito em TypeScript e opera sobre sockets TCP nativos, enquanto o servidor HTTP do Node.js \u00e9 escrito em C e fornece bindings para JavaScript. Os desenvolvedores do Deno concentraram seus esfor\u00e7os na otimiza\u00e7\u00e3o de toda a camada de sockets TCP e na entrega de uma interface mais geral. O servidor HTTP do Deno oferece menor capacidade, mas garante lat\u00eancias previs\u00edveis e baixas. Por exemplo, em um teste, uma aplica\u00e7\u00e3o simples baseada no servidor HTTP do Deno conseguiu processar 25 mil requisi\u00e7\u00f5es por segundo com uma lat\u00eancia m\u00e1xima de 1,3 milissegundos. Em um aplicativo semelhante no Node.js, foram processadas 34 mil requisi\u00e7\u00f5es por segundo, mas as lat\u00eancias variaram de 2 a 300 milissegundos.\n<li class=\"l\"> O Deno n\u00e3o \u00e9 compat\u00edvel com pacotes para Node.js (NPM), mas est\u00e1 em desenvolvimento separado <noindex><a rel=\"nofollow\" href=\"https:\/\/deno.land\/std\/node\/\">uma camada<\/a><\/noindex> para compatibilidade com a biblioteca padr\u00e3o do Node.js, \u00e0 medida que a qual mais aplica\u00e7\u00f5es escritas para Node.js poder\u00e3o ser executadas no Deno.\n<\/li>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52947\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0, \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0434\u043b\u044f \u043e\u0431\u043e\u0441\u043e\u0431\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 JavaScript \u0438 TypeScript, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \u0420\u0430\u0439\u0430\u043d \u0414\u0430\u043b\u044c (Ryan Dahl), \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c Node.js. \u041a\u0430\u043a \u0438 \u0432 Node.js \u0432 Deno \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f JavaScript-\u0434\u0432\u0438\u0436\u043e\u043a V8, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 Chromium. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-81559","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0410\u0432\u0442\u043e\u0440 Node.js \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Deno 1.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-05-14T17:42:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-14T17:42:16+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 O autor do Node.js apresentou a plataforma JavaScript segura Deno 1.0 | ProHoster","description":"Ap\u00f3s dois anos de desenvolvimento, foi lan\u00e7ado o primeiro grande lan\u00e7amento do Deno 1.0.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0410\u0432\u0442\u043e\u0440 Node.js \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u0443\u044e JavaScript-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Deno 1.0 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u043f\u0443\u0441\u043a Deno 1.0.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/avtor-node-js-predstavil-zashhishhyonnuyu-javascript-platformu-deno-1-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-05-14T17:42:16+00:00","article:modified_time":"2020-05-14T17:42:16+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"81559","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 15:56:23","updated":"2022-09-29 01:12:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/81559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=81559"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/81559\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=81559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=81559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=81559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}