{"id":2985,"date":"2020-01-29T13:45:41","date_gmt":"2020-01-29T16:45:41","guid":{"rendered":"https:\/\/www.itexto.com.br\/devkico\/?p=2985"},"modified":"2020-01-29T13:45:46","modified_gmt":"2020-01-29T16:45:46","slug":"ruby-on-rails-bibliografia-comentada","status":"publish","type":"post","link":"https:\/\/devkico.itexto.com.br\/?p=2985","title":{"rendered":"Ruby on Rails &#8211; bibliografia comentada"},"content":{"rendered":"\n<p>Nesta minha \u00faltima imers\u00e3o no universo Ruby on Rails topei com muito material bacana que compartilho com voc\u00eas neste post. Assim, caso decidam tamb\u00e9m por trilhar este caminho, ao menos j\u00e1 t\u00eam material interessante pra come\u00e7ar seus estudos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Come\u00e7ando pelo Ruby<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/seeklogo.net\/wp-content\/uploads\/2016\/07\/ruby-vector-logo.png\" alt=\"Resultado de imagem para ruby logo\" width=\"222\" height=\"222\"\/><\/figure><\/div>\n\n\n\n<p>Tal como disse <a href=\"https:\/\/www.itexto.com.br\/devkico\/?p=2977\" class=\"rank-math-link\">no meu post anterior<\/a>, se voc\u00ea realmente quer aprender Ruby on Rails, \u00e9 obrigat\u00f3rio que voc\u00ea tenha um bom conhecimento a respeito da linguagem pra entender como o framework funciona. E encontrar bons materiais sobre a linguagem n\u00e3o \u00e9 algo t\u00e3o simples assim.<\/p>\n\n\n\n<p>Minha sugest\u00e3o: aprenda Ruby como se fosse sua primeira linguagem de programa\u00e7\u00e3o. Comecei fazendo uma compara\u00e7\u00e3o direta com Java e Groovy. Se n\u00e3o soubesse Groovy com certeza come\u00e7ar por esta compara\u00e7\u00e3o teria sido pura perda de tempo.<\/p>\n\n\n\n<p>Infelizmente a <a href=\"https:\/\/www.ruby-lang.org\/pt\/documentation\/\" class=\"rank-math-link\">documenta\u00e7\u00e3o oficial<\/a> pra quem est\u00e1 come\u00e7ando n\u00e3o \u00e9 legal, ao contr\u00e1rio do que ocorre no caso do Ruby on Rails. Mas h\u00e1 links ali que valem muito \u00e0 pena seguir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutoriais<\/h3>\n\n\n\n<p>Quando uso o termo &#8220;Tutorial&#8221; pense naquele material que vai te guiar pela m\u00e3o: do mais b\u00e1sico ao mais avan\u00e7ado sobre a linguagem. \u00c9 aquele material que n\u00e3o necess\u00e1riamente vai te trazer aprofundamento, mas pelo menos te fornece o essencial pra que possa pegar pelo menos o vocabul\u00e1rio relacionado \u00e0 tecnologia.<\/p>\n\n\n\n<p><strong>Programming Ruby<\/strong> &#8211; <a href=\"http:\/\/ruby-doc.com\/docs\/ProgrammingRuby\/\" class=\"rank-math-link\">link<\/a> &#8211; \u00e9 bastante desatualizado: trata da vers\u00e3o 1.9 da linguagem (lan\u00e7ada em 2007), mas de longe \u00e9 o material mais bem escrito e gratuito que encontrei. Vai do b\u00e1sico (bem b\u00e1sico mesmo) ao avan\u00e7ado. E sim: \u00e9 leitura sequ\u00eancial, voc\u00ea vai ler do in\u00edcio ao fim.<\/p>\n\n\n\n<p><strong>Learning Ruby<\/strong>, de Satish Talim &#8211; <a href=\"http:\/\/rubylearning.com\/\" class=\"rank-math-link\">link<\/a> &#8211; foi o primeiro tutorial que segui pra ir pegando o jeito da linguagem. \u00c9 bem seco: essencialmente s\u00e3o notas de um curso, tamb\u00e9m vendido pelo autor, mas apesar disto, se voc\u00ea ler com <strong>muita aten\u00e7\u00e3o<\/strong>, agrega bastante. Nestas notas h\u00e1 diversas observa\u00e7\u00f5es interessantes que me ajudaram muito a entender como a linguagem funciona.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Artigos interessantes sobre a\u00e7\u00facar sint\u00e1tico e meta programa\u00e7\u00e3o<\/h3>\n\n\n\n<p>Alguns artigos me ajudaram <strong>horrores<\/strong> a obter conhecimento um pouco mais avan\u00e7ado na linguagem. Ruby tem uma sintaxe que \u00e9 muito estranha pra voc\u00ea que est\u00e1 acostumado com o estilo C de desenvolvimento (pense em chaves, Java, C#, o pr\u00f3prio Groovy, JavaScript). Al\u00e9m disto existem in\u00fameras DSLs escritas em Ruby. Ent\u00e3o meu foco foi no que os rubistas chamam de &#8220;a\u00e7\u00facar sint\u00e1tico&#8221;.<\/p>\n\n\n\n<p><strong>Syntactic Sugar Methods in Ruby<\/strong>, de Tom Bruijn &#8211; <a href=\"https:\/\/blog.appsignal.com\/2018\/02\/20\/ruby-magic-syntactic-sugar-methods.html\" class=\"rank-math-link\">link<\/a> &#8211; come\u00e7o por este post que me abriu os olhos para algumas possibilidades relacionadas a nomes de m\u00e9todos em Ruby que tornou <strong>muita coisa<\/strong> clara pra mim e tornou minha vida muito mais f\u00e1cil.<\/p>\n\n\n\n<p><strong>Creating a Ruby DSL<\/strong>, de Mate Solymosi &#8211; <a href=\"https:\/\/www.toptal.com\/ruby\/ruby-dsl-metaprogramming-guide\" class=\"rank-math-link\">link<\/a> &#8211; ap\u00f3s ter lido o artigo acima, neste voc\u00ea v\u00ea na pr\u00e1tica como \u00e9 a cria\u00e7\u00e3o de uma DSL (Domain Specific Language) com Rails. E isto vai ser <strong>fundamental<\/strong> mais \u00e0 frente pra voc\u00ea entender como funcionam recursos do Rails tais como as migrations e o roteador, que s\u00e3o essencialmente duas DSLs.<\/p>\n\n\n\n<p><strong>Ruby Metaprogramming is Even Coolder Than it Sounds<\/strong>, de Nikola Todorovic &#8211; <a href=\"https:\/\/www.toptal.com\/ruby\/ruby-metaprogramming-cooler-than-it-sounds\" class=\"rank-math-link\">link<\/a> &#8211; se voc\u00ea v\u00eam do Java o conceito de meta programa\u00e7\u00e3o n\u00e3o faz tanto parte do seu dia a dia quanto no caso do Ruby. E este artigo trata deste assunto de uma forma bem clara, bem f\u00e1cil de entender. \u00c9 uma excelente introdu\u00e7\u00e3o ao assunto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Material sobre o ferramental<\/h3>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.datadotdna.com\/au\/wp-content\/uploads\/2015\/08\/tools1.jpg\" alt=\"Resultado de imagem para tools\" width=\"468\" height=\"311\"\/><\/figure><\/div>\n\n\n\n<p>Tal como no caso do Java voc\u00ea tem ferramentas com as quais precisar\u00e1 lidar no seu dia a dia, tal como Maven, o pr\u00f3prio JDK, IDEs, etc, o mesmo se aplica com Ruby. Meu foco inicial foi o ferramental mais essencial: gest\u00e3o de depend\u00eancias.<\/p>\n\n\n\n<p>Voc\u00ea precisar\u00e1 lidar com pelo menos duas ferramentas para lidar com depend\u00eancias. Bundler e Gem. Resumindo, Gem define como empacotamos c\u00f3digo Ruby, e Bundler gerencia as depend\u00eancias entre as gems (gem equivale ao jar do Java).<\/p>\n\n\n\n<p><strong>Ruby Gems, Gemfile &amp; Bundler (the ultimate guide)<\/strong>, de Jesus Castello &#8211; <a href=\"https:\/\/www.rubyguides.com\/2018\/09\/ruby-gems-gemfiles-bundler\/\" class=\"rank-math-link\">link<\/a> &#8211; <strong>Este<\/strong> artigo te d\u00e1 a vis\u00e3o global que te permite entender a diferen\u00e7a entre Bundler e Gem. \u00c9 a leitura inicial obrigat\u00f3ria portanto.<\/p>\n\n\n\n<p><strong>RubyGems Basics<\/strong> &#8211; <a href=\"https:\/\/guides.rubygems.org\/rubygems-basics\/\" class=\"rank-math-link\">link<\/a> &#8211; a documenta\u00e7\u00e3o oficial do comando Gem \u00e9 <strong>excelente<\/strong>. O texto essencial te coloca apto a executar os comandos essenciais e entender como o Gem funciona. Neste mesmo link voc\u00ea ir\u00e1 encontrar, do lado esquerdo, uma s\u00e9rie de conte\u00fados que fornecem o aprofundamento que voc\u00ea pode precisar. Desde como empacotar seu c\u00f3digo at\u00e9 como implant\u00e1-lo.<\/p>\n\n\n\n<p><strong>Documenta\u00e7\u00e3o oficial do Bundler<\/strong> &#8211; <a href=\"https:\/\/bundler.io\/docs.html\" class=\"rank-math-link\">link<\/a> &#8211; at\u00e9 agora n\u00e3o encontrei assuntos excelentes sobre o Bundler, ent\u00e3o segui a documenta\u00e7\u00e3o oficial mesmo neste link. Lendo de baixo pra cima.<\/p>\n\n\n\n<p><strong>Gerenciar vers\u00f5es do Ruby com RVM<\/strong>, de Bruno Meira &#8211; <a href=\"https:\/\/www.treinaweb.com.br\/blog\/gerenciar-versoes-do-ruby-com-rvm\/\" class=\"rank-math-link\">link<\/a> &#8211; Finalmente material em portugu\u00eas! Este post do blog do Treinaweb ensina a como usar o RVM (Ruby Version Manager), que equivale ao SDKMan do Java. Basicamente ele te permite ter diferentes vers\u00f5es do Ruby (e gems) instaladas em seu sistema e que permite a troca r\u00e1pida com apenas alguns comandos no seu console.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O lado Rails<\/h2>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.itexto.com.br\/devkico\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg\" alt=\"\" class=\"wp-image-338\" width=\"184\" height=\"219\" srcset=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg 316w, https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo-252x300.jpg 252w\" sizes=\"(max-width: 184px) 100vw, 184px\" \/><\/figure><\/div>\n\n\n\n<p>Encontrar bom material sobre Rails \u00e9 muito mais f\u00e1cil. Minha indica\u00e7\u00e3o a seguir j\u00e1 vai suprir o b\u00e1sico e te fornecer a maior parte do que precisa conhecer.<\/p>\n\n\n\n<p><strong>Guias do Rails &#8211; documenta\u00e7\u00e3o oficial<\/strong> &#8211; <a href=\"https:\/\/guides.rubyonrails.org\/\" class=\"rank-math-link\">link<\/a> &#8211; Li todos os guias do in\u00edcio ao fim, na ordem em que apareceram. Voc\u00ea t\u00eam desde o &#8220;Getting started&#8221; at\u00e9 detalhes sobre o funcionamento do Active Record e dos controladores, envio de e-mails, enfim, tudo o que o Rails tem pra oferecer. Eu poderia terminar este post aqui, mas encontrei mais material que vale muito \u00e0 pena mencionar aqui.<\/p>\n\n\n\n<p><strong>How to Deploy a Rails App with Git Hooks<\/strong>, de MItchell Anicas &#8211; <a href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-deploy-a-rails-app-with-git-hooks-on-ubuntu-14-04\" class=\"rank-math-link\">link<\/a> &#8211; Me indicaram a implanta\u00e7\u00e3o baseada em Git Hooks de aplica\u00e7\u00f5es Ruby on Rails quando mencionei minha dificuldade nesta \u00e1rea. Este post \u00e9 um tutorial que te ensina como proceder.<\/p>\n\n\n\n<p><strong>Capistrano &#8211; documenta\u00e7\u00e3o oficial<\/strong> &#8211; <a href=\"https:\/\/capistranorb.com\/\" class=\"rank-math-link\">link<\/a> &#8211; Dentre as ferramentas usadas para implantar aplica\u00e7\u00f5es Rails est\u00e1 o Capistrano, que depois descobri tamb\u00e9m poderia ser usado para implantar outros tipos de aplica\u00e7\u00e3o. Aprendi bastante com a documenta\u00e7\u00e3o oficial e estou avaliando a ferramenta para aplica\u00e7\u00e3o em alguns projetos futuros.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Concluindo<\/h2>\n\n\n\n<p>Espero com este post ter apresentado para quem quer iniciar os estudos de Ruby on Rails materiais que achei realmente interessantes e que tem aberto bastante minha cabe\u00e7a para este novo velho universo pro qual estou voltando.<\/p>\n\n\n\n<p>Tem algum material que gostaria de indicar aqui? Se sim, por favor, indique! Toda sugest\u00e3o \u00e9 bem vinda!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nesta minha imers\u00e3o no universo Ruby on Rails topei com muito material bom que comento e compartilho aqui com voc\u00eas.<\/p>\n","protected":false},"author":1,"featured_media":338,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[88,89],"tags":[],"class_list":["post-2985","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ruby","category-ruby-on-rails"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ruby on Rails - bibliografia comentada - \/dev\/Kico<\/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:\/\/devkico.itexto.com.br\/?p=2985\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby on Rails - bibliografia comentada - \/dev\/Kico\" \/>\n<meta property=\"og:description\" content=\"Nesta minha imers\u00e3o no universo Ruby on Rails topei com muito material bom que comento e compartilho aqui com voc\u00eas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devkico.itexto.com.br\/?p=2985\" \/>\n<meta property=\"og:site_name\" content=\"\/dev\/Kico\" \/>\n<meta property=\"article:published_time\" content=\"2020-01-29T16:45:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-01-29T16:45:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"316\" \/>\n\t<meta property=\"og:image:height\" content=\"376\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@loboweissmann\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kico (Henrique Lobo Weissmann)\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2985\",\"url\":\"https:\/\/devkico.itexto.com.br\/?p=2985\",\"name\":\"Ruby on Rails - bibliografia comentada - \/dev\/Kico\",\"isPartOf\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2985#primaryimage\"},\"image\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2985#primaryimage\"},\"thumbnailUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg\",\"datePublished\":\"2020-01-29T16:45:41+00:00\",\"dateModified\":\"2020-01-29T16:45:46+00:00\",\"author\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2985#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devkico.itexto.com.br\/?p=2985\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2985#primaryimage\",\"url\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg\",\"contentUrl\":\"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg\",\"width\":316,\"height\":376},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devkico.itexto.com.br\/?p=2985#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devkico.itexto.com.br\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ruby on Rails &#8211; bibliografia comentada\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#website\",\"url\":\"https:\/\/devkico.itexto.com.br\/\",\"name\":\"\/dev\/Kico\",\"description\":\"Desenvolvendo software\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devkico.itexto.com.br\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7\",\"name\":\"Kico (Henrique Lobo Weissmann)\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g\",\"caption\":\"Kico (Henrique Lobo Weissmann)\"},\"sameAs\":[\"https:\/\/x.com\/loboweissmann\"],\"url\":\"https:\/\/devkico.itexto.com.br\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ruby on Rails - bibliografia comentada - \/dev\/Kico","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:\/\/devkico.itexto.com.br\/?p=2985","og_locale":"pt_BR","og_type":"article","og_title":"Ruby on Rails - bibliografia comentada - \/dev\/Kico","og_description":"Nesta minha imers\u00e3o no universo Ruby on Rails topei com muito material bom que comento e compartilho aqui com voc\u00eas.","og_url":"https:\/\/devkico.itexto.com.br\/?p=2985","og_site_name":"\/dev\/Kico","article_published_time":"2020-01-29T16:45:41+00:00","article_modified_time":"2020-01-29T16:45:46+00:00","og_image":[{"width":316,"height":376,"url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg","type":"image\/jpeg"}],"author":"Kico (Henrique Lobo Weissmann)","twitter_card":"summary_large_image","twitter_creator":"@loboweissmann","twitter_misc":{"Escrito por":"Kico (Henrique Lobo Weissmann)","Est. tempo de leitura":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devkico.itexto.com.br\/?p=2985","url":"https:\/\/devkico.itexto.com.br\/?p=2985","name":"Ruby on Rails - bibliografia comentada - \/dev\/Kico","isPartOf":{"@id":"https:\/\/devkico.itexto.com.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2985#primaryimage"},"image":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2985#primaryimage"},"thumbnailUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg","datePublished":"2020-01-29T16:45:41+00:00","dateModified":"2020-01-29T16:45:46+00:00","author":{"@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7"},"breadcrumb":{"@id":"https:\/\/devkico.itexto.com.br\/?p=2985#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devkico.itexto.com.br\/?p=2985"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/?p=2985#primaryimage","url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg","contentUrl":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg","width":316,"height":376},{"@type":"BreadcrumbList","@id":"https:\/\/devkico.itexto.com.br\/?p=2985#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devkico.itexto.com.br\/"},{"@type":"ListItem","position":2,"name":"Ruby on Rails &#8211; bibliografia comentada"}]},{"@type":"WebSite","@id":"https:\/\/devkico.itexto.com.br\/#website","url":"https:\/\/devkico.itexto.com.br\/","name":"\/dev\/Kico","description":"Desenvolvendo software","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devkico.itexto.com.br\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-BR"},{"@type":"Person","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/502ab8892631bb005d6da2269fe5a3a7","name":"Kico (Henrique Lobo Weissmann)","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/devkico.itexto.com.br\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dd6973d86a689bc63122b2e603f25be3?s=96&d=mm&r=g","caption":"Kico (Henrique Lobo Weissmann)"},"sameAs":["https:\/\/x.com\/loboweissmann"],"url":"https:\/\/devkico.itexto.com.br\/?author=1"}]}},"jetpack_featured_media_url":"https:\/\/devkico.itexto.com.br\/wp-content\/uploads\/2009\/03\/ruby_on_rails_logo.jpg","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2985"}],"collection":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2985"}],"version-history":[{"count":5,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2985\/revisions"}],"predecessor-version":[{"id":2990,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2985\/revisions\/2990"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=\/wp\/v2\/media\/338"}],"wp:attachment":[{"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devkico.itexto.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}