{"id":11384,"date":"2017-07-12T10:13:03","date_gmt":"2017-07-12T03:13:03","guid":{"rendered":"\/\/itviec.com\/blog\/?p=11384"},"modified":"2022-05-17T14:55:12","modified_gmt":"2022-05-17T07:55:12","slug":"ruby-on-rails-la-gi","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/","title":{"rendered":"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#Ruby_on_Rails_la_gi_Hoc_Ruby_on_Rails_de_lam_gi\" >Ruby on Rails l\u00e0 g\u00ec? H\u1ecdc Ruby on Rails \u0111\u1ec3 l\u00e0m g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#Hoc_Ruby_on_Rails_nhu_the_nao\" >H\u1ecdc Ruby on Rails nh\u01b0 th\u1ebf n\u00e0o?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#Tai_lieu_hoc_Ruby_on_Rails_moi_nhat_va_day_du_nhat\" >T\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t v\u00e0 \u0111\u1ea7y \u0111\u1ee7 nh\u1ea5t<\/a><\/li><\/ul><\/nav><\/div>\n\r\n<p><em>Ruby on Rails l\u00e0 g\u00ec? Ruby on m\u1ed9t framework m\u00e3 ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng vi\u1ebft b\u1eb1ng ng\u00f4n ng\u1eef Ruby v\u00e0 cho ph\u00e9p ch\u00fang ch\u1ea1y nh\u01b0 m\u1ed9t trang web th\u1ef1c s\u1ef1. N\u00f3i c\u00e1ch kh\u00e1c, Ruby on Rails l\u00e0 ph\u01b0\u01a1ng ti\u1ec7n giao ti\u1ebfp, l\u00e0 s\u1ee3i d\u00e2y k\u1ebft n\u1ed1i gi\u1eefa ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh Ruby v\u00e0 web.<\/em><\/p>\r\n\r\n\r\n\r\n<p>H\u1ecdc Ruby on Rails \u0111\u00e3 kh\u00f4ng c\u00f2n qu\u00e1 kh\u00f3 v\u1edbi 17 t\u00e0i li\u1ec7u ch\u1ea5t nh\u1ea5t do ITviec ch\u1ecdn l\u1ecdc, gi\u00fap b\u1ea1n :<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>N\u1eafm v\u1eefng ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh Ruby v\u00e0 bi\u1ebft \u0111\u01b0\u1ee3c web framework Ruby on Rails l\u00e0 g\u00ec<\/li>\r\n<li>Tham gia c\u1ed9ng \u0111\u1ed3ng Ruby on Rails ch\u1ea5t, m\u1edf r\u1ed9ng network<\/li>\r\n<li>C\u1eadp nh\u1eadt ki\u1ebfn th\u1ee9c Ruby on Rails m\u1edbi nh\u1ea5t<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>Xem <a href=\"https:\/\/itviec.com\/viec-lam-it\/ruby-on-rails?utm_source=blogpost&amp;utm_medium=first_post&amp;utm_campaign=linktosite\" target=\"_blank\" rel=\"noopener noreferrer\">vi\u1ec7c l\u00e0m Ruby on Rails Developer<\/a> t\u1ea1i ITviec<\/strong><\/p>\r\n\r\n\r\n\r\n<p><!--more--><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-ruby-on-rails-l-g-h-c-ruby-on-rails-l-m-g\"><span class=\"ez-toc-section\" id=\"Ruby_on_Rails_la_gi_Hoc_Ruby_on_Rails_de_lam_gi\"><\/span><strong>Ruby on Rails l\u00e0 g\u00ec? <\/strong><strong>H\u1ecdc Ruby on Rails \u0111\u1ec3 l\u00e0m g\u00ec?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>Tr\u01b0\u1edbc khi t\u00ecm hi\u1ec3u v\u1ec1 Ruby on Rails, ch\u00fang ta s\u1ebd n\u00f3i v\u1ec1 ng\u00f4n ng\u1eef <strong><a href=\"https:\/\/www.ruby-lang.org\/vi\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby<\/a>. <\/strong>Ruby l\u00e0 ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng \u0111\u01b0\u1ee3c s\u00e1ng t\u1ea1o n\u0103m 1993 b\u1edfi Yukihiro Matz Matsumoto. V\u1edbi ni\u1ec1m tin r\u1eb1ng m\u1ee5c \u0111\u00edch c\u1ee7a cu\u1ed9c s\u1ed1ng l\u00e0 h\u1ea1nh ph\u00fac, Ruby ra \u0111\u1eddi nh\u1eb1m gi\u00fap c\u00f4ng vi\u1ec7c l\u1eadp tr\u00ecnh tr\u1edf n\u00ean d\u1ec5 d\u00e0ng v\u00e0 vui h\u01a1n.<\/p>\r\n\r\n\r\n\r\n<p>Tuy nhi\u00ean, ng\u00f4n ng\u1eef Ruby kh\u00f4ng \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 s\u1eed d\u1ee5ng tr\u00ean web. Hay n\u00f3i c\u00e1ch kh\u00e1c, \u0111\u1ec3 l\u00e0m c\u00e1c trang web\/\u1ee9ng d\u1ee5ng web v\u1edbi Ruby, b\u1ea1n c\u1ea7n \u0111\u1ebfn c\u00e1c framework h\u1ed7 tr\u1ee3 kh\u00e1c.<\/p>\r\n\r\n\r\n\r\n<p><strong><a href=\"http:\/\/rubyonrails.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby on Rails<\/a> l\u00e0 m\u1ed9t web framework m\u00e3 ngu\u1ed3n m\u1edf<\/strong> \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng Ruby v\u00e0 cho ph\u00e9p ch\u00fang ch\u1ea1y nh\u01b0 m\u1ed9t trang web th\u1ef1c s\u1ef1. Rails l\u00e0 c\u00e1ch g\u1ecdi t\u1eaft c\u1ee7a Ruby On Rails, th\u01b0\u1eddng \u0111\u01b0\u1ee3c c\u00e1c developer s\u1eed d\u1ee5ng trong c\u00f4ng vi\u1ec7c.<\/p>\r\n\r\n\r\n\r\n<p>Th\u1ef1c t\u1ebf l\u00e0 c\u00f3 r\u1ea5t nhi\u1ec1u framework ra \u0111\u1eddi \u0111\u1ec3 l\u00e0m vi\u1ec7c v\u1edbi Ruby nh\u01b0ng Rails l\u00e0 ph\u1ed5 bi\u1ebfn nh\u1ea5t. Rails cung c\u1ea5p m\u1ecdi th\u1ee9 gi\u00fap b\u1ea1n vi\u1ebft \u1ee9ng d\u1ee5ng web v\u1edbi Ruby m\u1ed9t c\u00e1ch d\u1ec5 d\u00e0ng.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><em>Ngo\u00e0i Rails, Ruby Developer c\u0169ng c\u00f3 th\u1ec3 c\u00e2n nh\u1eafc c\u00e1c framework kh\u00e1c nh\u01b0 <a href=\"http:\/\/www.sinatrarb.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sinatra<\/a> hay <a href=\"http:\/\/hanamirb.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Hanami<\/a>.<\/em><\/p>\r\n<p><em>Tham kh\u1ea3o ngay: <a href=\"https:\/\/itviec.com\/blog\/framework-la-gi-top-framework-pho-bien-nhat\/\" target=\"_blank\" rel=\"noopener\"><strong>Top 5 framework ph\u1ed5 bi\u1ebfn nh\u1ea5t d\u00e0nh cho Web Developer<\/strong><\/a><\/em><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<p>T\u1ea1i Vi\u1ec7t Nam, do nhu c\u1ea7u tuy\u1ec3n d\u1ee5ng cao m\u00e0 ngu\u1ed3n nh\u00e2n l\u1ef1c khan hi\u1ebfm, n\u00ean developer h\u1ecdc Ruby on Rails c\u00f3 nhi\u1ec1u c\u01a1 h\u1ed9i nh\u1eadn \u0111\u01b0\u1ee3c m\u1ee9c l\u01b0\u01a1ng cao h\u01a1n h\u1eb3n c\u00e1c .NET ho\u1eb7c PHP developer c\u00f9ng c\u1ea5p b\u1eadc ho\u1eb7c kinh nghi\u1ec7m.<\/p>\r\n\r\n\r\n\r\n<p>Theo kh\u1ea3o s\u00e1t nhanh c\u1ee7a ITviec, m\u1ed9t Ruby on Rails developer ch\u1ea5t c\u00f3 th\u1ec3 nh\u1eadn <strong>m\u1ee9c l\u01b0\u01a1ng $2000 ho\u1eb7c h\u01a1n<\/strong>.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-h-c-ruby-on-rails-nh-th-n-o\"><span class=\"ez-toc-section\" id=\"Hoc_Ruby_on_Rails_nhu_the_nao\"><\/span><strong>H\u1ecdc Ruby on Rails nh\u01b0 th\u1ebf n\u00e0o?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<p>B\u1ea1n c\u1ea7n <strong>h\u1ecdc ng\u00f4n ng\u1eef Ruby tr\u01b0\u1edbc khi h\u1ecdc Rails<\/strong>, v\u00ec:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Code b\u1ea1n vi\u1ebft tr\u00ean Rails l\u00e0 b\u1eb1ng Ruby. Rails framework ch\u1ec9 gi\u00fap vi\u1ec7c code tr\u1edf n\u00ean thu\u1eadn l\u1ee3i v\u00e0 g\u1ecdn g\u00e0ng h\u01a1n, gi\u00fap x\u00e2y d\u1ef1ng c\u00e1c \u1ee9ng d\u1ee5ng nhanh ch\u00f3ng h\u01a1n.<\/li>\r\n<li>M\u1ed9t khi \u0111\u00e3 hi\u1ec3u r\u00f5 ng\u00f4n ng\u1eef Ruby, b\u1ea1n s\u1ebd th\u1ea5y h\u1ecdc Ruby on Rails d\u1ec5 nh\u01b0 \u0103n k\u1eb9o v\u1eady.<\/li>\r\n<li>N\u1eafm v\u1eefng ng\u00f4n ng\u1eef Ruby, b\u1ea1n s\u1ebd hi\u1ec3u gems, hay c\u00e1c t\u00e0i li\u1ec7u Ruby v\u00e0 Rails s\u00e2u s\u1eafc h\u01a1n.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"375\" class=\"wp-image-11402\" title=\"hoc-ruby-on-rails\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2.jpg\" alt=\"hoc-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-300x176.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-768x450.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-200x117.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-t-i-li-u-h-c-ruby-on-rails-m-i-nh-t-v-y-nh-t\"><span class=\"ez-toc-section\" id=\"Tai_lieu_hoc_Ruby_on_Rails_moi_nhat_va_day_du_nhat\"><\/span><strong>T\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t v\u00e0 \u0111\u1ea7y \u0111\u1ee7 nh\u1ea5t<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-i-t-i-li-u-h-c-l-p-tr-nh-ruby\"><strong>I &#8211; T\u00c0I LI\u1ec6U H\u1eccC L\u1eacP TR\u00ccNH RUBY<\/strong><\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>1.\u00a0<a href=\"https:\/\/pine.fm\/LearnToProgram\/\" target=\"_blank\" rel=\"noopener noreferrer\">Learning Programming<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"250\" height=\"300\" class=\"wp-image-11419\" title=\"hoc-ruby-on-rails-learn-to-program\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-250x300.jpg\" alt=\"hoc-lap-trinh-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-250x300.jpg 250w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-167x200.jpg 167w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3.jpg 400w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n v\u1eabn c\u00f2n ph\u00e2n v\u00e2n, ch\u01b0a bi\u1ebft Ruby on Rails l\u00e0 g\u00ec th\u00ec tr\u01b0\u1edbc h\u1ebft, b\u1ea1n nh\u1ea5t \u0111\u1ecbnh ph\u1ea3i hi\u1ec3u ng\u00f4n ng\u1eef Ruby l\u00e0 g\u00ec \u0111\u00e3. V\u00e0 \u0111\u00e2y l\u00e0 cu\u1ed1n s\u00e1ch d\u00e0nh cho newbie khi \u0111\u1ebfn v\u1edbi ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh n\u00e0y.<\/p>\r\n\r\n\r\n\r\n<p>S\u00e1ch r\u1ea5t ng\u1eafn g\u1ecdn, s\u00fac t\u00edch. V\u0103n phong h\u00e0i h\u01b0\u1edbc, th\u00fa v\u1ecb. \u0110\u1eb7c bi\u1ec7t, t\u00e1c gi\u1ea3 \u0111\u00e3 r\u1ea5t th\u00e0nh c\u00f4ng trong vi\u1ec7c gi\u1edbi thi\u1ec7u c\u00e1c ch\u1ee7 \u0111\u1ec1, d\u1eabn d\u1eaft c\u00e1c n\u1ed9i dung li\u00ean quan m\u1ed9t c\u00e1ch s\u00e1ng r\u00f5.<\/p>\r\n\r\n\r\n\r\n<p>Kh\u00f4ng ch\u1ec9 h\u01b0\u1edbng d\u1eabn c\u00e1ch \u0111\u1ec3 code, cu\u1ed1n s\u00e1ch c\u00f2n gi\u00fap ng\u01b0\u1eddi \u0111\u1ecdc h\u00ecnh dung \u0111\u01b0\u1ee3c nh\u01b0 th\u1ebf n\u00e0o l\u00e0 code \u0111\u1eb9p, \u0111\u1ed9c \u0111\u00e1o, v\u00e0 \u0111\u1ea7y c\u1ea3m h\u1ee9ng. \u0110\u00e2y l\u00e0 s\u1ef1 kh\u1edfi \u0111\u1ea7u t\u1ed1t cho nh\u1eefng ai l\u1ea7n \u0111\u1ea7u ti\u00ean t\u00ecm hi\u1ec3u v\u1ec1 coding.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>2.<\/strong>\u00a0<strong><a href=\"https:\/\/learnrubythehardway.org\/book\" target=\"_blank\" rel=\"noopener noreferrer\">Learning Ruby the Hard Way<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-medium is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11420\" title=\"hoc-ruby-on-rails-learn-ruby-the-hard-way\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4-225x300.jpg\" alt=\"hoc-ruby-on-rails\" width=\"225\" height=\"300\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4-225x300.jpg 225w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4-150x200.jpg 150w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4.jpg 260w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Mu\u1ed1n t\u00ecm hi\u1ec3u ng\u00f4n ng\u1eef Ruby, h\u00e3y t\u00ecm \u0111\u1ebfn cu\u1ed1n s\u00e1ch Learning Ruby the Hard Way &#8211; A Simple and Idiomatic Introduction to the Imaginative World Of Computational Thinking with Code c\u1ee7a t\u00e1c gi\u1ea3 Zed A. Shaw.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u00fang nh\u01b0 t\u00ean g\u1ecdi, s\u00e1ch h\u01a1i kh\u00f4 khan \u201ckh\u00f3 nh\u1eb1n\u201d v\u00e0 kh\u00f4ng d\u1ec5 &#8220;nu\u1ed1t&#8221;. Tuy nhi\u00ean, m\u1ed9t khi ho\u00e0n th\u00e0nh n\u00f3, b\u1ea1n s\u1ebd th\u1ea5y c\u00f4ng s\u1ee9c b\u1ecf ra l\u00e0 x\u1ee9ng \u0111\u00e1ng.<\/p>\r\n\r\n\r\n\r\n<p>Th\u00f4ng qua cu\u1ed1n s\u00e1ch, b\u1ea1n s\u1ebd h\u1ecdc \u0111\u01b0\u1ee3c nh\u1eefng ki\u1ebfn th\u1ee9c l\u1eadp tr\u00ecnh Ruby c\u0103n b\u1ea3n. C\u00e1c b\u00e0i t\u1eadp th\u1ef1c h\u00e0nh r\u1ea5t th\u00fa v\u1ecb v\u00e0 th\u1ef1c t\u1ebf. \u0110\u00fang nh\u01b0 t\u00e1c gi\u1ea3 cam k\u1ebft cho \u0111\u1ed9c gi\u1ea3 sau khi ho\u00e0n th\u00e0nh cu\u1ed1n s\u00e1ch, &#8220;You WILL learn Ruby!&#8221; &#8211; <em>B\u1ea1n NH\u1ea4T \u0110\u1ecaNH S\u1ebc h\u1ecdc \u0111\u01b0\u1ee3c Ruby!<\/em><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>3. <a href=\"http:\/\/ruby-doc.com\/docs\/ProgrammingRuby\/\" target=\"_blank\" rel=\"noopener noreferrer\">Programming Ruby<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"241\" height=\"300\" class=\"wp-image-11422\" title=\"hoc-ruby-on-rails-programming-ruby\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-5-241x300.jpg\" alt=\"lap-trinh-ruby\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-5-241x300.jpg 241w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-5-161x200.jpg 161w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-5.jpg 382w\" sizes=\"auto, (max-width: 241px) 100vw, 241px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n \u0111\u00e3 c\u00f3 kinh nghi\u1ec7m l\u1eadp tr\u00ecnh v\u00e0 mu\u1ed1n t\u00ecm hi\u1ec3u th\u00eam v\u1ec1 ng\u00f4n ng\u1eef Ruby, cu\u1ed1n s\u00e1ch n\u00e0y d\u00e0nh cho b\u1ea1n.<\/p>\r\n\r\n\r\n\r\n<p>L\u01b0u \u00fd:<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u1eebng b\u1ecf qua Ch\u01b0\u01a1ng 27, Metaprogramming. \u0110\u00e2y l\u00e0 ph\u1ea7n n\u1ed9i dung xu\u1ea5t s\u1eafc nh\u1ea5t c\u1ee7a cu\u1ed1n s\u00e1ch, gi\u1ea3i th\u00edch r\u1ea5t r\u00f5 v\u1ec1 object model c\u1ee7a Ruby.<\/p>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i ra, s\u00e1ch c\u0169ng h\u01b0\u1edbng d\u1eabn c\u00e1ch l\u1eadp tr\u00ecnh b\u1eb1ng ng\u00f4n ng\u1eef Ruby, c\u00e1ch install v\u00e0 configure, c\u0169ng nh\u01b0 m\u1ed9t s\u1ed1 ch\u1ee7 \u0111\u1ec1 n\u00e2ng cao kh\u00e1c. Ph\u1ea7n cu\u1ed1i s\u00e1ch l\u00e0 library reference.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>4. <a href=\"https:\/\/www.amazon.com\/Practical-Object-Oriented-Design-Ruby-Addison-Wesley\/dp\/0321721330\" target=\"_blank\" rel=\"noopener noreferrer\">Practical Object-Oriented Design in Ruby<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-medium is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11424\" title=\"hoc-ruby-on-rails-practical-object-oriented-design-in-ruby\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-6-230x300.jpg\" alt=\"hoc-ruby-on-rails\" width=\"230\" height=\"300\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-6-230x300.jpg 230w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-6-154x200.jpg 154w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-6.jpg 383w\" sizes=\"auto, (max-width: 230px) 100vw, 230px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>M\u1ed9t cu\u1ed1n s\u00e1ch tuy\u1ec7t v\u1eddi c\u1ee7a Sandi Metz. D\u00f9 \u0111\u1ec1 c\u1eadp ch\u00ednh \u0111\u1ebfn ng\u00f4n ng\u1eef Ruby, r\u1ea5t nhi\u1ec1u \u00fd t\u01b0\u1edfng v\u00e0 tri\u1ebft l\u00fd c\u1ee7a t\u00e1c gi\u1ea3 c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng chung cho m\u1ecdi ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh, nh\u01b0:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>N\u00ean d\u00e0nh th\u1eddi gian x\u1ee9ng \u0111\u00e1ng cho vi\u1ec7c thi\u1ebft k\u1ebf ph\u1ea7n m\u1ec1m, b\u1edfi v\u00ec s\u1ef1 c\u1ea9u th\u1ea3 h\u00f4m nay c\u00f3 th\u1ec3 s\u1ebd ph\u1ea3i tr\u1ea3 gi\u00e1 \u0111\u1eaft trong t\u01b0\u01a1ng lai.<\/li>\r\n<li>L\u1ef1a ch\u1ecdn ph\u01b0\u01a1ng ph\u00e1p thi\u1ebft k\u1ebf waterfall hay agile.<\/li>\r\n<li>3 lu\u1eadt quan tr\u1ecdng nh\u1ea5t khi thi\u1ebft k\u1ebf h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng:<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p>+ Sending message: gi\u00fap c\u00e1c \u0111\u1ed1i t\u01b0\u1ee3ng g\u1eedi th\u00f4ng \u0111i\u1ec7p cho nhau qua m\u1ed9t interface r\u00f5 r\u00e0ng, d\u1ec5 hi\u1ec3u nh\u1ea5t<\/p>\r\n<p>+ Single Responsibility: ch\u1ec9 n\u00ean m\u00f4 t\u1ea3 m\u1ed7i class trong 1 c\u00e2u, gi\u00fap logic c\u1ee7a class th\u1ed1ng nh\u1ea5t v\u00e0 ch\u1eb7t ch\u1ebd<\/p>\r\n<p>+ Writing loosely coupled code: thi\u1ebft k\u1ebf c\u00e1c class kh\u00f4ng ph\u1ee5 thu\u1ed9c v\u00e0o nhau, v\u00e0 c\u00e0ng \u00edt \u201ck\u1ebft d\u00ednh\u201d code v\u1edbi nhau c\u00e0ng t\u1ed1t<\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i ra, s\u00e1ch c\u0169ng \u0111\u1ec1 c\u1eadp \u0111\u1ebfn nh\u1eefng ch\u1ee7 \u0111\u1ec1 quan tr\u1ecdng kh\u00e1c nh\u01b0 Automation Test.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><em>Xem th\u00eam <a href=\"https:\/\/itviec.com\/blog\/automation-test\/\" target=\"_blank\" rel=\"noopener noreferrer\">Automation Test l\u00e0 g\u00ec? Khi n\u00e0o c\u1ea7n s\u1eed d\u1ee5ng Automation Test?<\/a><\/em><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>5. <a href=\"https:\/\/www.amazon.com\/Design-Patterns-Ruby-Russ-Olsen\/dp\/0321490452\" target=\"_blank\" rel=\"noopener noreferrer\">Design Patterns in Ruby<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright\"><img loading=\"lazy\" decoding=\"async\" width=\"228\" height=\"300\" class=\"wp-image-16717\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-5-228x300.jpg\" alt=\"\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-5-228x300.jpg 228w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-5-152x200.jpg 152w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-5.jpg 379w\" sizes=\"auto, (max-width: 228px) 100vw, 228px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>H\u1ea7u h\u1ebft nh\u1eefng cu\u1ed1n s\u00e1ch vi\u1ebft v\u1ec1 design patterns \u0111\u1ec1u d\u1ef1a tr\u00ean n\u1ec1n t\u1ea3ng C++ ho\u1eb7c Java. Nh\u01b0ng ng\u00f4n ng\u1eef Ruby th\u00ec kh\u00e1c &#8211; \u0111\u00e2y l\u00e0 lo\u1ea1i ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh \u0111\u1eb7c bi\u1ec7t khi\u1ebfn cho c\u00e1c design patterns tr\u1edf n\u00ean d\u1ec5 d\u00e0ng h\u01a1n trong vi\u1ec7c th\u1ef1c hi\u1ec7n v\u00e0 s\u1eed d\u1ee5ng.<\/p>\r\n\r\n\r\n\r\n<p>Trong s\u00e1ch n\u00e0y, Russ Olsen s\u1ebd ch\u1ec9 r\u00f5 l\u00e0m c\u00e1ch n\u00e0o \u0111\u1ec3 k\u1ebft h\u1ee3p s\u1ee9c m\u1ea1nh c\u1ee7a Ruby v\u1edbi c\u00e1c design patterns v\u00e0 vi\u1ebft l\u1ea1i ch\u00fang m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3 nh\u1ea5t nh\u01b0ng l\u1ea1i t\u1ed1n \u00edt d\u00f2ng code h\u01a1n nh\u1eefng c\u00e1ch th\u00f4ng th\u01b0\u1eddng.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-ii-s-ch-h-c-ruby-on-rails\"><strong>II &#8211; S\u00c1CH H\u1eccC RUBY ON RAILS<\/strong><\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>6. <a href=\"https:\/\/www.amazon.com\/Ruby-Rails-Tutorial-Addison-Wesley-Professional\/dp\/0134598628\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby on Rail Tutorial <\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"228\" height=\"300\" class=\"wp-image-11430\" title=\"hoc-ruby-on-rails-ruby-on-rails-tutorial\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-9-228x300.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-9-228x300.jpg 228w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-9-152x200.jpg 152w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-9.jpg 274w\" sizes=\"auto, (max-width: 228px) 100vw, 228px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Mu\u1ed1n hi\u1ec3u r\u00f5 Ruby on Rails l\u00e0 g\u00ec, c\u00e1ch t\u1ed1t nh\u1ea5t l\u00e0 h\u1ecdc t\u1eeb th\u1ef1c h\u00e0nh. T\u00e1c gi\u1ea3 \u0111\u01b0a ra m\u1ed9t \u1ee9ng d\u1ee5ng \u0111\u01a1n gi\u1ea3n (Twitter clone) v\u00e0 h\u01b0\u1edbng d\u1eabn t\u1eeb \u0111\u1ea7u t\u1edbi cu\u1ed1i, bao g\u1ed3m c\u1ea3 c\u00e0i \u0111\u1eb7t, x\u00e2y d\u1ef1ng m\u00f4i tr\u01b0\u1eddng ph\u00e1t tri\u1ec3n, ki\u1ec3m so\u00e1t source, v\u00e0 testing.<\/p>\r\n\r\n\r\n\r\n<p>Nh\u1eefng tool b\u1ea1n \u0111\u01b0\u1ee3c h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng \u0111\u1ec1u r\u1ea5t t\u1ed1t v\u00e0 mi\u1ec5n ph\u00ed, v\u00e0 c\u00f3 th\u1ec3 d\u00f9ng trong m\u00f4i tr\u01b0\u1eddng l\u00e0m vi\u1ec7c th\u1ef1c t\u1ebf.<\/p>\r\n\r\n\r\n\r\n<p>Do h\u01b0\u1edbng \u0111\u1ebfn \u0111\u1ed9c gi\u1ea3 newbie ho\u00e0n to\u00e0n ch\u01b0a c\u00f3 kinh nghi\u1ec7m l\u1eadp tr\u00ecnh, n\u00ean s\u00e1ch c\u00f3 nh\u1eefng ph\u1ea7n gi\u1ea3i th\u00edch c\u1eb7n k\u1ebd, chi ti\u1ebft v\u1ec1 c\u00e1c kh\u00e1i ni\u1ec7m c\u1ef1c k\u00ec c\u01a1 b\u1ea3n nh\u01b0 <a href=\"https:\/\/itviec.com\/blog\/sql-la-gi\/\" target=\"_blank\" rel=\"noopener noreferrer\">SQL<\/a> queries v\u00e0 CSS selectors.<\/p>\r\n\r\n\r\n\r\n<p>B\u1ea1n c\u00f3 th\u1ec3 <a href=\"https:\/\/www.railstutorial.org\/book\" target=\"_blank\" rel=\"noopener noreferrer\">download s\u00e1ch mi\u1ec5n ph\u00ed t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>7. <a href=\"https:\/\/www.amazon.com\/Agile-Development-Rails-Facets-Ruby\/dp\/1937785564\" target=\"_blank\" rel=\"noopener noreferrer\">Agile Web Development with Rails (4th Edition)<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"239\" height=\"300\" class=\"wp-image-11435\" title=\"hoc-ruby-on-rails-agile-web-development-with-rails-4\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-11-239x300.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-11-239x300.jpg 239w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-11-160x200.jpg 160w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-11.jpg 398w\" sizes=\"auto, (max-width: 239px) 100vw, 239px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>N\u1ed9i dung bao g\u1ed3m:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Cung c\u1ea5p c\u00e1i nh\u00ecn t\u1ed5ng quan v\u1ec1 Rails<\/li>\r\n<li>C\u00e1ch \u0111\u1ec3 automated testing (functional\/unit testing)<\/li>\r\n<li>M\u00f4 t\u1ea3 c\u00e1c chi ti\u1ebft th\u1ef1c hi\u1ec7n v\u00e0 t\u1ea1i sao Rails ho\u1ea1t \u0111\u1ed9ng<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>Nh\u00ecn chung, s\u00e1ch bao qu\u00e1t h\u1ea7u h\u1ebft c\u00e1c v\u1ea5n \u0111\u1ec1 th\u01b0\u1eddng g\u1eb7p nh\u1ea5t khi x\u00e2y d\u1ef1ng \u1ee9ng d\u1ee5ng web.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><em>Xem th\u00eam <a href=\"https:\/\/itviec.com\/blog\/11-sach-lap-trinh-kinh-dien\/\" target=\"_blank\" rel=\"noopener noreferrer\">s\u00e1ch l\u1eadp tr\u00ecnh kinh \u0111i\u1ec3n<\/a> do ITviec ch\u1ecdn l\u1ecdc<\/em><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>8. <a href=\"https:\/\/leanpub.com\/trailblazer?fbclid=IwAR191u4moA1CUWaG-7bABc3VjhQZZsVKR48ASPcXbhwZPONKxxSHQlWgj28\" target=\"_blank\" rel=\"noopener noreferrer\">Trailblazer<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"alignright size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-16716\" src=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/trailblazer-e1560830985218.jpg\" alt=\"\" width=\"135\" height=\"175\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Cu\u1ed1n s\u00e1ch c\u1ee7a t\u00e1c gi\u1ea3 Nick Sutterer, gi\u1edbi thi\u1ec7u th\u00eam m\u1ed9t s\u1ed1 layer mang t\u00ednh tr\u1eebu t\u01b0\u1ee3ng tr\u00ean Rails. Cung c\u1ea5p cho Developer c\u00e1c c\u1ea5u tr\u00fac v\u00e0 h\u01b0\u1edbng d\u1eabn Architect b\u1ed5 sung cho Rails \u0111\u1ec3 tr\u1ea3 l\u1eddi c\u00e2u h\u1ecfi cu\u1ed1i c\u00f9ng &#8220;T\u00f4i n\u00ean \u0111\u1eb7t lo\u1ea1i code n\u00e0y \u1edf \u0111\u00e2u?&#8221;.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u1eebng b\u1ecf qua ch\u01b0\u01a1ng 4 n\u00f3i v\u1ec1 th\u00e0nh ph\u1ea7n Cells &#8211; 1 gem \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u1ec3 g\u1ed9p c\u1ea3 view l\u1eabn controller l\u1ea1i th\u00e0nh 1 package, ph\u00e1t huy t\u1ed1i \u0111a t\u00ednh \u0111\u00f3ng g\u00f3i, k\u1ebf th\u1eeba, ki\u1ec3m th\u1eed.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u1eb7c bi\u1ec7t v\u1edbi nh\u1eefng view c\u00f3 logic ph\u1ee9c t\u1ea1p, th\u00ec Cells s\u1ebd gi\u00fap code tr\u1edf n\u00ean d\u1ec5 \u0111\u1ecdc v\u00e0 d\u1ec5 d\u00e0ng t\u00e1i s\u1eed d\u1ee5ng h\u01a1n.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-iii-t-i-li-u-h-c-ruby-on-rails-online\"><strong>III &#8211; T\u00c0I LI\u1ec6U H\u1eccC RUBY ON RAILS ONLINE<\/strong><\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>9.<\/strong>\u00a0<strong><a href=\"\/\/rubymonk.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby Monk<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11453 size-full\" title=\"hoc-ruby-on-rails-ruby-monk\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-1.jpg\" alt=\"hoc-ruby-on-rails\" width=\"818\" height=\"338\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-1.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-300x124.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-768x317.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-200x83.jpg 200w\" sizes=\"auto, (max-width: 818px) 100vw, 818px\" \/><\/h3>\r\n\r\n\r\n\r\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n t\u00ecm hi\u1ec3u chuy\u00ean s\u00e2u v\u1ec1 Ruby on Rails l\u00e0 g\u00ec, ph\u00e1t tri\u1ec3n website, v\u00e0 mu\u1ed1n h\u1ecdc Ruby &#8211; m\u1ed9t trong nh\u1eefng ng\u00f4n ng\u1eef l\u1eadp tr\u00ecnh web ph\u1ed5 bi\u1ebfn nh\u1ea5t, th\u00ec Ruby Monk l\u00e0 m\u1ed9t l\u1ef1a ch\u1ecdn tuy\u1ec7t v\u1eddi \u0111\u1ec3 b\u1eaft \u0111\u1ea7u.<\/p>\r\n\r\n\r\n\r\n<p>\u01afu \u0111i\u1ec3m:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Mi\u1ec5n ph\u00ed.<\/li>\r\n<li>Ch\u01b0\u01a1ng tr\u00ecnh \u0111a d\u1ea1ng, b\u00e0i h\u1ecdc chia nhi\u1ec1u c\u1ea5p \u0111\u1ed9 t\u1eeb c\u01a1 b\u1ea3n \u0111\u1ebfn n\u00e2ng cao.<\/li>\r\n<li>B\u00e0i gi\u1ea3ng, b\u00e0i t\u1eadp th\u1ef1c h\u00e0nh c\u00f3 t\u00ednh t\u01b0\u01a1ng t\u00e1c cao. B\u1ea1n c\u00f3 th\u1ec3 h\u1ecdc ngay tr\u00ean tr\u00ecnh duy\u1ec7t web c\u1ee7a m\u00ecnh, v\u00e0 c\u00f3 th\u1ec3 h\u1ecdc t\u1ea1i m\u1ecdi n\u01a1i.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>B\u1ea1n c\u00f3 th\u1ec3 b\u1eaft \u0111\u1ea7u v\u1edbi nh\u1eefng d\u00f2ng l\u1ec7nh \u0111\u01a1n gi\u1ea3n nh\u1ea5t \u0111\u1ec3 c\u00f3 h\u00ecnh dung c\u01a1 b\u1ea3n v\u1ec1 vi\u1ec7c l\u1eadp tr\u00ecnh. Sau \u0111\u00f3, h\u1ec7 th\u1ed1ng s\u1ebd \u0111\u00e1nh gi\u00e1 k\u1ebft qu\u1ea3 b\u1eb1ng tin nh\u1eafn m\u00e0u xanh (b\u1ea1n \u0111\u00e3 l\u00e0m \u0111\u00fang) ho\u1eb7c m\u00e0u \u0111\u1ecf (b\u1ea1n \u0111\u00e3 l\u00e0m sai, c\u1ea7n l\u00e0m l\u1ea1i).<\/p>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i ra, h\u1ec7 th\u1ed1ng c\u0169ng ghi l\u1ea1i l\u1ecbch s\u1eed h\u1ecdc t\u1eadp, gi\u00fap b\u1ea1n c\u00f3 th\u1ec3 quay l\u1ea1i ti\u1ebfp t\u1ee5c b\u00e0i h\u1ecdc b\u1ea5t c\u1ee9 l\u00fac n\u00e0o.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>B\u1ea1n c\u00f3 th\u1ec3 d\u00f9ng t\u00ednh n\u0103ng \u201cAsk a Question\u201d \u0111\u1ec3 g\u1eedi c\u00e2u h\u1ecfi chuy\u00ean s\u00e2u \u0111\u1ebfn Code Monk \u2013 nh\u1eefng ng\u01b0\u1eddi x\u00e2y d\u1ef1ng n\u00ean website n\u00e0y.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>Nh\u01b0\u1ee3c \u0111i\u1ec3m:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>B\u1ea1n n\u00ean c\u00f3 m\u1ed9t s\u1ed1 <a href=\"\/\/lifehacker.com\/5744113\/learn-to-code-the-full-beginners-guide\" target=\"_blank\" rel=\"noopener noreferrer\">ki\u1ebfn th\u1ee9c l\u1eadp tr\u00ecnh c\u01a1 b\u1ea3n<\/a> tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u, do c\u00e1c b\u00e0i h\u1ecdc tr\u00ean Ruby Monk b\u1eaft \u0111\u1ea7u v\u1edbi gi\u1edbi thi\u1ec7u v\u1ec1 arrays.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>10. <a href=\"https:\/\/www.rubytapas.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">RubyTapas<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"119\" class=\"wp-image-11451\" title=\"hoc-ruby-on-rails-ruby-tapas\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-14.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-14.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-300x56.png 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-768x143.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-200x37.png 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>M\u1ed9t ngu\u1ed3n t\u00e0i li\u1ec7u online h\u1ecdc Ruby c\u1ef1c k\u00ec h\u1eefu \u00edch kh\u00e1c. Thay v\u00ec \u0111\u01b0a ra kh\u00f3a h\u1ecdc, Ruby Tapas cung c\u1ea5p c\u00e1c screencast (video tutorial) h\u01b0\u1edbng d\u1eabn c\u00e1c tips, tools, c\u0169ng nh\u01b0 c\u00e1ch gi\u1ea3i quy\u1ebft nh\u1eefng v\u1ea5n \u0111\u1ec1 h\u1ebft s\u1ee9c thi\u1ebft th\u1ef1c trong l\u1eadp tr\u00ecnh b\u1eb1ng ng\u00f4n ng\u1eef Ruby.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>11.<\/strong>\u00a0<a href=\"http:\/\/guides.rubyonrails.org\/\" target=\"_blank\" rel=\"noopener noreferrer\"><strong>The Ruby on Rails Guide<\/strong><\/a><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"148\" class=\"wp-image-11398\" title=\"hoc-ruby-on-rails-guide\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-300x69.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-768x177.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-200x46.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>T\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails n\u00e0y th\u01b0\u1eddng b\u1ecb m\u1ecdi ng\u01b0\u1eddi \u0111\u1ecdc l\u01b0\u1edbt qua v\u00ec ngh\u0129 n\u00f3 qu\u00e1 \u0111\u01a1n gi\u1ea3n.<\/p>\r\n\r\n\r\n\r\n<p>Tuy nhi\u00ean, b\u1ea1n ch\u1edb n\u00ean m\u1eafc sai l\u1ea7m t\u01b0\u01a1ng t\u1ef1. H\u00e3y \u0111\u1ecdc th\u1eadt c\u1ea9n th\u1eadn, tr\u1ecdn v\u1eb9n to\u00e0n b\u1ed9 t\u00e0i li\u1ec7u. H\u00e3y tra c\u1ee9u l\u1ea1i m\u1ed7i khi th\u1ea5y c\u1ea7n.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u1eebng lo, vi\u1ec7c n\u00e0y kh\u00f4ng l\u00e0m b\u1ea1n tr\u00f4ng ngu ng\u1ed1c \u0111\u00e2u. Tr\u00e1i l\u1ea1i, s\u1eed d\u1ee5ng ngu\u1ed3n t\u00e0i li\u1ec7u ch\u00ednh th\u1ed1ng, \u0111\u00e1ng tin c\u1eady l\u00e0 c\u00e1ch r\u1ea5t th\u00f4ng minh khi t\u00ecm hi\u1ec3u m\u1ed9t v\u1ea5n \u0111\u1ec1.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>12. <a href=\"http:\/\/railscasts.com\/\" target=\"_blank\" rel=\"noopener\">Railscasts<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"132\" class=\"wp-image-11455\" title=\"hoc-ruby-on-rails-railscasts\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-13.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-13.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-13-300x62.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-13-768x158.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-13-200x41.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Kh\u00f4ng cung c\u1ea5p c\u00e1c kh\u00f3a h\u1ecdc l\u1eadp tr\u00ecnh gi\u1ed1ng nh\u01b0 Codeschool hay RailsTutorials.v.v\u2026, Railscast l\u00e0 n\u01a1i b\u1ea1n h\u1ecdc Ruby on Rails th\u00f4ng qua c\u00e1c screencast (video h\u01b0\u1edbng d\u1eabn).<\/p>\r\n\r\n\r\n\r\n<p>L\u1ee3i \u00edch c\u1ee7a Railscasts:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Nhanh ch\u00f3ng l\u00e0m quen v\u1edbi gems trong Ruby, c\u0169ng nh\u01b0 bi\u1ebft c\u00e1ch s\u1eed d\u1ee5ng ch\u00fang.<\/li>\r\n<li>H\u1ecdc \u0111\u01b0\u1ee3c nh\u1eefng tips nh\u1ecf song h\u1eefu d\u1ee5ng.<\/li>\r\n<li>C\u00e1c v\u1ea5n \u0111\u1ec1 \u0111\u01b0\u1ee3c n\u00eau ra lu\u00f4n m\u1edbi, s\u00e1t v\u1edbi th\u1ef1c t\u1ebf c\u00f4ng vi\u1ec7c.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>L\u01b0u \u00fd:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Railscasts ch\u1ee7 y\u1ebfu n\u00eau ra c\u00e1c v\u1ea5n \u0111\u1ec1 th\u1ef1c t\u1ebf b\u1ea1n th\u01b0\u1eddng g\u1eb7p khi l\u00e0m vi\u1ec7c v\u1edbi Rails. V\u00ec v\u1eady, n\u1ebfu ho\u00e0n to\u00e0n ch\u01b0a c\u00f3 ki\u1ebfn th\u1ee9c g\u00ec v\u1ec1 Rails, b\u1ea1n n\u00ean h\u1ecdc m\u1ed9t s\u1ed1 t\u00e0i li\u1ec7u ho\u1eb7c kh\u00f3a h\u1ecdc Ruby on Rails c\u01a1 b\u1ea3n tr\u01b0\u1edbc \u0111\u00e3. Railstutorials.org ho\u1eb7c c\u00e1c t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails c\u01a1 b\u1ea3n \u0111\u01b0\u1ee3c n\u00eau \u1edf tr\u00ean c\u00f3 th\u1ec3 l\u00e0 l\u1ef1a ch\u1ecdn th\u00edch h\u1ee3p cho tr\u01b0\u1eddng h\u1ee3p n\u00e0y.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>13. <a href=\"https:\/\/www.codeschool.com\/search?utf8=%E2%9C%93&amp;query=ruby+on+rails\" target=\"_blank\" rel=\"noopener noreferrer\">Codeschool<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"330\" class=\"wp-image-11457\" title=\"hoc-ruby-on-rails-codeschool\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-1.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-1.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-300x155.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-768x396.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-2-200x103.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>C\u00e1c kh\u00f3a h\u1ecdc tr\u00ean Codeschool c\u00f3 \u01b0u \u0111i\u1ec3m l\u00e0 \u201ch\u1ecdc th\u00f4ng qua th\u1ef1c h\u00e0nh\u201d. B\u1ea1n s\u1ebd xem c\u00e1c video + download PDF b\u00e0i gi\u1ea3ng \u0111\u1ec3 l\u00e0m b\u00e0i t\u1eadp.<\/p>\r\n\r\n\r\n\r\n<p>Ph\u00ed th\u00e0nh vi\u00ean v\u00e0o kho\u1ea3ng $25\/th\u00e1ng. Tuy nhi\u00ean, b\u1ea1n c\u00f3 th\u1ec3 h\u1ecdc th\u1eed mi\u1ec5n ph\u00ed 1 tutorial.<\/p>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i ra, n\u1ebfu l\u00e0 newbie th\u00ec b\u1ea1n n\u00ean \u0111\u1ecdc v\u00e0i t\u00e0i li\u1ec7u c\u01a1 b\u1ea3n v\u1ec1 Ruby on Rails tr\u01b0\u1edbc khi \u0111\u0103ng k\u00ed h\u1ecdc t\u1ea1i Codeschool.<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>14. <a href=\"https:\/\/coderwall.com\/t\/ruby\/popular\" target=\"_blank\" rel=\"noopener noreferrer\">Coderwall<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"302\" class=\"wp-image-11462\" title=\"hoc-ruby-on-rails-coderwall\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-1.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-1.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-300x142.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-768x363.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-3-200x94.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p><em>&#8220;H\u1ecdc th\u1ea7y kh\u00f4ng t\u00e0y h\u1ecdc b\u1ea1n&#8221;.<\/em><\/p>\r\n\r\n\r\n\r\n<p>T\u1ea1i \u0111\u00e2y, b\u1ea1n c\u00f3 th\u1ec3 t\u00ecm c\u00e1c tips l\u1eadp tr\u00ecnh, c\u00e1c tool h\u1ed7 tr\u1ee3, v\u00e0 c\u1ea3 c\u00e1c projects th\u00fa v\u1ecb do ch\u00ednh c\u1ed9ng \u0111\u1ed3ng developer \u0111\u01b0a l\u00ean.<\/p>\r\n\r\n\r\n\r\n<p>N\u00f3i cho c\u00f9ng, code t\u1ed1t b\u1eaft ngu\u1ed3n t\u1eeb m\u00e3 ngu\u1ed3n \u0111\u01b0\u1ee3c c\u1ea3i ti\u1ebfn t\u1ed1t h\u01a1n. V\u00e0 kh\u00f4ng c\u00f3 g\u00ec ph\u1ea5n kh\u00edch b\u1eb1ng vi\u1ec7c ti\u1ebfp t\u1ee5c n\u00e2ng c\u1ea5p c\u00e1c ki\u1ebfn th\u1ee9c\/k\u0129 n\u0103ng m\u00ecnh t\u01b0\u1edfng \u0111\u00e3 bi\u1ebft r\u00f5 hay thu\u1ea7n th\u1ee5c.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><em>Xem th\u00eam 18 <a href=\"https:\/\/itviec.com\/blog\/hoc-lap-trinh\/\" target=\"_blank\" rel=\"noopener noreferrer\">website h\u1ecdc l\u1eadp tr\u00ecnh<\/a> v\u00e0 10 <a href=\"https:\/\/itviec.com\/blog\/10-website-hoi-dap-giai-nguy-cho-developer\/\" target=\"_blank\" rel=\"noopener noreferrer\">website h\u1ecfi \u0111\u00e1p cho Developer<\/a><\/em><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-iv-c-ng-ng-ruby-on-rails\"><strong>IV &#8211; C\u1ed8NG \u0110\u1ed2NG RUBY ON RAILS<\/strong><\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>15. <a href=\"https:\/\/www.facebook.com\/vietnam.ruby\/events?ref=page_internal\" target=\"_blank\" rel=\"noopener noreferrer\">Ruby Weekend<\/a>\u00a0(TPHCM)<\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>Tech event \u0111\u01b0\u1ee3c t\u1ed5 ch\u1ee9c \u0111\u1ecbnh k\u00ec h\u00e0ng th\u00e1ng c\u1ee7a c\u1ed9ng \u0111\u1ed3ng Ruby Vi\u1ec7t Nam. \u0110\u00e2y l\u00e0 c\u01a1 h\u1ed9i v\u00e0ng \u0111\u1ec3 c\u00e1c Ruby Developer m\u1edf r\u1ed9ng m\u1ed1i quan h\u1ec7, trao \u0111\u1ed5i kinh nghi\u1ec7m v\u00e0 h\u1ecdc h\u1ecfi l\u1eabn nhau. M\u1ed7i event ch\u1ec9 k\u00e9o d\u00e0i kho\u1ea3ng 3 gi\u1edd v\u00e0 gi\u1edbi h\u1ea1n cho kho\u1ea3ng 40 ng\u01b0\u1eddi tham d\u1ef1.<\/p>\r\n\r\n\r\n\r\n<p>N\u1ebfu kh\u00f4ng c\u00f3 \u0111i\u1ec1u ki\u1ec7n tr\u1ef1c ti\u1ebfp tham gia event, b\u1ea1n c\u00f3 th\u1ec3 xem live stream t\u1ea1i <a href=\"\/\/vietnamrb.slack.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">nh\u00f3m Slack<\/a>:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Th\u1eddi gian: 11g tr\u01b0a th\u1ee9 7 h\u00e0ng tu\u1ea7n<\/li>\r\n<li>\u0110\u1ecba \u0111i\u1ec3m: C\u00e1c qu\u00e1n caf\u00e9 ho\u1eb7c \u0111\u1ecba \u0111i\u1ec3m co-working t\u1ea1i TP HCM<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>16. <a href=\"https:\/\/railsgirlssummerofcode.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rails Girls Summer of Code<\/a> <\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"394\" class=\"wp-image-11399\" title=\"hoc-ruby-on-rails-rails-girls-summer-of-code\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1.jpg\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1.jpg 640w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-300x185.jpg 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-768x472.jpg 768w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-1-200x123.jpg 200w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>C\u01a1 h\u1ed9i tuy\u1ec7t v\u1eddi d\u00e0nh ri\u00eang cho c\u00e1c b\u1ea1n n\u1eef mu\u1ed1n trau d\u1ed3i v\u00e0 h\u1ecdc Ruby on Rails, \u0111\u01b0\u1ee3c t\u1ed5 ch\u1ee9c th\u01b0\u1eddng ni\u00ean trong 3 th\u00e1ng h\u00e8. Tham gia ch\u01b0\u01a1ng tr\u00ecnh n\u00e0y, c\u00e1c n\u1eef Ruby Developer s\u1ebd \u0111\u01b0\u1ee3c:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>L\u00e0m vi\u1ec7c 1 k\u00e8m 1 v\u1edbi mentor tr\u00ean m\u1ed9t d\u1ef1 \u00e1n m\u00e3 ngu\u1ed3n m\u1edf c\u00f3 li\u00ean quan \u0111\u1ebfn Ruby<\/li>\r\n<li>\u0110\u01b0\u1ee3c t\u00e0i tr\u1ee3 sinh ho\u1ea1t ph\u00ed c\u01a1 b\u1ea3n trong su\u1ed1t ch\u01b0\u01a1ng tr\u00ecnh<\/li>\r\n<li>\u0110\u01b0\u1ee3c t\u1ea1o \u0111i\u1ec1u ki\u1ec7n \u0111\u1ec3 tham gia c\u00e1c s\u1ef1 ki\u1ec7n, h\u1ed9i th\u1ea3o l\u1edbn tr\u00ean th\u1ebf gi\u1edbi<\/li>\r\n<li>C\u01a1 h\u1ed9i \u0111\u0103ng k\u00fd l\u00e0m th\u1ef1c t\u1eadp sinh cho c\u00e1c c\u00f4ng ty c\u00f4ng ngh\u1ec7 l\u1edbn nh\u01b0 Google, Github.v.v\u2026<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>B\u1ea1n n\u00ean theo d\u00f5i website th\u01b0\u1eddng xuy\u00ean \u0111\u1ec3 n\u1ed9p \u0111\u01a1n \u0111\u0103ng k\u00ed k\u1ecbp th\u1eddi.<\/p>\r\n\r\n\r\n\r\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\r\n<p><em>Xem th\u00eam c\u00e1c <a href=\"https:\/\/itviec.com\/blog\/tech-group-developer\/\" target=\"_blank\" rel=\"noopener noreferrer\">IT tech group<\/a><\/em><\/p>\r\n<\/blockquote>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li><strong>17. <a href=\"https:\/\/stackoverflow.com\/questions\/tagged\/ruby-on-rails\" target=\"_blank\" rel=\"noopener noreferrer\">Stack Overflow<\/a><\/strong><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"319\" class=\"wp-image-11518\" title=\"hoc-ruby-on-rails-stack-overflow\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4.png\" alt=\"hoc-ruby-on-rails\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4.png 543w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4-300x176.png 300w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/hoc-ruby-on-rails-4-200x117.png 200w\" sizes=\"auto, (max-width: 543px) 100vw, 543px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p>Ngo\u00e0i nh\u1eefng t\u00e0i li\u1ec7u k\u1ec3 tr\u00ean, Stack Overflow c\u0169ng l\u00e0 \u0111\u1ecba ch\u1ec9 tuy\u1ec7t v\u1eddi gi\u00fap b\u1ea1n h\u1ecdc Ruby on Rails. K\u0129 n\u0103ng t\u00ecm ki\u1ebfm v\u00e0 l\u1ecdc th\u00f4ng tin s\u1ebd gi\u00fap b\u1ea1n t\u1eadn d\u1ee5ng kinh nghi\u1ec7m c\u1ee7a ng\u01b0\u1eddi \u0111i tr\u01b0\u1edbc m\u1ed9t c\u00e1ch hi\u1ec7u qu\u1ea3.<\/p>\r\n\r\n\r\n\r\n<p>\u0110\u1eb7c bi\u1ec7t, \u0111\u1ecdc l\u1ea1i t\u00e0i li\u1ec7u v\u00e0 source code c\u0169ng l\u00e0 c\u00e1ch r\u1ea5t t\u1ed1t \u0111\u1ec3 b\u1ea1n x\u00e1c \u0111\u1ecbnh ch\u00ednh x\u00e1c v\u1ea5n \u0111\u1ec1 g\u1eb7p ph\u1ea3i l\u00e0 g\u00ec, c\u0169ng nh\u01b0 hi\u1ec3u \u0111\u01b0\u1ee3c to\u00e0n b\u1ed9 h\u1ec7 th\u1ed1ng v\u1eadn h\u00e0nh ra sao.<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" class=\"wp-image-5668\" src=\"\/\/itviec.com\/blog\/wp-content\/uploads\/2015\/07\/Robby2-200x200.png\" alt=\"Robby2\" srcset=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2015\/07\/Robby2-200x200.png 200w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2015\/07\/Robby2-60x60.png 60w, https:\/\/itviec.com\/blog\/wp-content\/uploads\/2015\/07\/Robby2.png 300w\" sizes=\"auto, (max-width: 200px) 100vw, 200px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p><b>N\u1ebfu b\u1ea1n ngh\u0129 nh\u1eefng chia s\u1ebb n\u00e0y c\u00f3 th\u1ec3 gi\u00fap \u00edch cho b\u1ea1n b\u00e8 ho\u1eb7c \u0111\u1ed3ng nghi\u1ec7p, \u0111\u1eebng qu\u00ean nh\u1ea5n n\u00fat Share b\u00ean d\u01b0\u1edbi nh\u00e9!<\/b><\/p>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><strong>Xem th\u00eam <a href=\"https:\/\/itviec.com\/viec-lam-it\/ruby-on-rails?utm_source=blogpost&amp;utm_medium=end_post&amp;utm_campaign=linktosite\" target=\"_blank\" rel=\"noopener noreferrer\">vi\u1ec7c l\u00e0m Ruby on Rails Developer<\/a> t\u1ea1i ITviec<\/strong><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Ruby on Rails l\u00e0 g\u00ec? Ruby on m\u1ed9t framework m\u00e3 ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng vi\u1ebft b\u1eb1ng ng\u00f4n ng\u1eef Ruby v\u00e0 cho ph\u00e9p ch\u00fang ch\u1ea1y nh\u01b0 m\u1ed9t trang web th\u1ef1c s\u1ef1. N\u00f3i c\u00e1ch kh\u00e1c, Ruby on Rails l\u00e0 ph\u01b0\u01a1ng ti\u1ec7n giao ti\u1ebfp, l\u00e0 s\u1ee3i d\u00e2y k\u1ebft n\u1ed1i gi\u1eefa ng\u00f4n [&hellip;]<\/p>\n","protected":false},"author":58,"featured_media":18433,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109,10108],"tags":[],"class_list":["post-11384","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","category-tai-lieu-ruby-on-rails"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t<\/title>\n<meta name=\"description\" content=\"Ruby on Rails l\u00e0 g\u00ec? Mu\u1ed1n t\u00ecm hi\u1ec3u s\u00e2u h\u01a1n v\u1ec1 Ruby on Rails nh\u01b0ng ch\u01b0a bi\u1ebft b\u1eaft \u0111\u1ea7u t\u1eeb \u0111\u00e2u? H\u00e3y b\u1eaft \u0111\u1ea7u t\u1eeb 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t n\u00e0y nh\u00e9.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t\" \/>\n<meta property=\"og:description\" content=\"Ruby on Rails l\u00e0 g\u00ec? Ruby on m\u1ed9t framework m\u00e3 ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng vi\u1ebft b\u1eb1ng ng\u00f4n ng\u1eef Ruby v\u00e0 cho ph\u00e9p ch\u00fang ch\u1ea1y nh\u01b0 m\u1ed9t\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2017-07-12T03:13:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-05-17T07:55:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/ruby-on-rails-la-gi-thumnail.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"335\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Hong Anh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"Hong Anh\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t","description":"Ruby on Rails l\u00e0 g\u00ec? Mu\u1ed1n t\u00ecm hi\u1ec3u s\u00e2u h\u01a1n v\u1ec1 Ruby on Rails nh\u01b0ng ch\u01b0a bi\u1ebft b\u1eaft \u0111\u1ea7u t\u1eeb \u0111\u00e2u? H\u00e3y b\u1eaft \u0111\u1ea7u t\u1eeb 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t n\u00e0y nh\u00e9.","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:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/","og_locale":"vi_VN","og_type":"article","og_title":"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t","og_description":"Ruby on Rails l\u00e0 g\u00ec? Ruby on m\u1ed9t framework m\u00e3 ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 ph\u00e1t tri\u1ec3n c\u00e1c \u1ee9ng d\u1ee5ng vi\u1ebft b\u1eb1ng ng\u00f4n ng\u1eef Ruby v\u00e0 cho ph\u00e9p ch\u00fang ch\u1ea1y nh\u01b0 m\u1ed9t","og_url":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2017-07-12T03:13:03+00:00","article_modified_time":"2022-05-17T07:55:12+00:00","og_image":[{"width":640,"height":335,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/ruby-on-rails-la-gi-thumnail.jpg","type":"image\/jpeg"}],"author":"Hong Anh","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Hong Anh","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"15 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/"},"author":{"name":"Hong Anh","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/8c74ba4e6693c4bbe2ea8ecc3f35ebf2"},"headline":"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t","datePublished":"2017-07-12T03:13:03+00:00","dateModified":"2022-05-17T07:55:12+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/"},"wordCount":3712,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/ruby-on-rails-la-gi-thumnail.jpg","articleSection":["Chuy\u00ean m\u00f4n IT","T\u00e0i li\u1ec7u Ruby on Rails"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/","url":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/","name":"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/ruby-on-rails-la-gi-thumnail.jpg","datePublished":"2017-07-12T03:13:03+00:00","dateModified":"2022-05-17T07:55:12+00:00","description":"Ruby on Rails l\u00e0 g\u00ec? Mu\u1ed1n t\u00ecm hi\u1ec3u s\u00e2u h\u01a1n v\u1ec1 Ruby on Rails nh\u01b0ng ch\u01b0a bi\u1ebft b\u1eaft \u0111\u1ea7u t\u1eeb \u0111\u00e2u? H\u00e3y b\u1eaft \u0111\u1ea7u t\u1eeb 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t n\u00e0y nh\u00e9.","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/ruby-on-rails-la-gi-thumnail.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2017\/07\/ruby-on-rails-la-gi-thumnail.jpg","width":640,"height":335,"caption":"ruby-on-rails-la-gi-thumnail"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/ruby-on-rails-la-gi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"Ruby on Rails l\u00e0 g\u00ec? 17 t\u00e0i li\u1ec7u h\u1ecdc Ruby on Rails m\u1edbi nh\u1ea5t"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/8c74ba4e6693c4bbe2ea8ecc3f35ebf2","name":"Hong Anh","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/secure.gravatar.com\/avatar\/46102fb8c76056a36229a03196550c3c43d9f628cf4cd75b5331839364558953?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/46102fb8c76056a36229a03196550c3c43d9f628cf4cd75b5331839364558953?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/46102fb8c76056a36229a03196550c3c43d9f628cf4cd75b5331839364558953?s=96&d=mm&r=g","caption":"Hong Anh"},"description":"After nearly 10 years working in the online industry, Anh eventually found her strong passion for content marketing and storytelling. She believes that this world is full of amazing untold stories which come from individuals' real experiences. She loves listening to people, getting know them, as well as understanding their desires, hope, pain, mistakes, struggle and life lessons. She loves helping people to tell their own stories. Anh wants to be a yoga trainer after retirement. However, in the mean time, she is here to write. Her favourite quote is \"After all, tomorrow is another day.\"","url":"https:\/\/itviec.com\/blog\/author\/anh-vu\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/11384","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=11384"}],"version-history":[{"count":0,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/11384\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/18433"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=11384"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=11384"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=11384"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}