{"id":1129,"date":"2018-02-23T12:02:57","date_gmt":"2018-02-23T19:02:57","guid":{"rendered":"http:\/\/www.cassandraking.net\/wordpressapp\/?p=1129"},"modified":"2018-02-23T12:02:57","modified_gmt":"2018-02-23T19:02:57","slug":"from-ruby-to-react-a-head-spinning-journey-in-12-weeks","status":"publish","type":"post","link":"https:\/\/www.cassandraking.net\/wordpressapp\/from-ruby-to-react-a-head-spinning-journey-in-12-weeks\/","title":{"rendered":"From Ruby to React &#8211; A Head-spinning Journey in 12 weeks"},"content":{"rendered":"<p>I started with Ruby basics, built up to Sinatra and will be digging into full-fledged Rails apps with Databases and React in a few weeks. First, I needed to get the basics down of just basic Object Oriented Programming concepts. I also needed to really sit down and get a good basic grasp of Vanilla Javascript.<br \/>\n<a href=\"http:\/\/www.cassandraking.net\/wordpressapp\/wp-content\/uploads\/2018\/02\/reactruby.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-1130\" src=\"http:\/\/www.cassandraking.net\/wordpressapp\/wp-content\/uploads\/2018\/02\/reactruby-300x297.png\" alt=\"reactruby\" width=\"300\" height=\"297\" srcset=\"https:\/\/www.cassandraking.net\/wordpressapp\/wp-content\/uploads\/2018\/02\/reactruby-300x297.png 300w, https:\/\/www.cassandraking.net\/wordpressapp\/wp-content\/uploads\/2018\/02\/reactruby-150x150.png 150w, https:\/\/www.cassandraking.net\/wordpressapp\/wp-content\/uploads\/2018\/02\/reactruby.png 800w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Concepts such as &#8220;truthy&#8221; and &#8220;falsy&#8221;, objects, classes, variables, loops, iteration over Enummerables such as arrays and hashes. Finally, applying all that to being able to access data from APIs and JSON files via a fetch call.\u00c2\u00a0\u00c2\u00a0This is\u00c2\u00a0 most definitely a\u00c2\u00a0 coding road that requires many, many hours of reading, iteration, repetition, error debugging (many of the errors are\u00c2\u00a0 difficult to understand until\u00c2\u00a0I get familiar with the error syntax and what the errors are telling me). The mere act of debugging in\u00c2\u00a0 Javascript using debugger and node, or debugging in Ruby using binding.pry when trying to figure out where\u00c2\u00a0my Sinatra app went so wrong&#8230; those are the moments where I have learned most. When things are not working in my code and I finally have that moment of resolution where I figure out the bug; those &#8220;Aha!&#8221; are moments\u00c2\u00a0are crucial and so valuable.<\/p>\n<p>To date I have been working hard to put all of this together:<\/p>\n<ul>\n<li>Ruby, Sinatra, RSpec and Capybara test writing.<\/li>\n<li>Dynamic routing in Sinatra as a prelude to Dynamic Routing in React.<\/li>\n<li>React fundamentals such as dumb components, props, followed by React<\/li>\n<li>Advanced topics such as\u00c2\u00a0 Stateful components, classes, using the fetch API to access data, shuttling form payloads to update JSON files, validation for these same forms<\/li>\n<\/ul>\n<p>Will be digging into Databases and data persistence in React pretty soon!<\/p>\n<p>This was a very quick and\u00c2\u00a0 slim overview of\u00c2\u00a0 what I have been tackling, but I hope to go a bit deeper into these topics in future posts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I started with Ruby basics, built up to Sinatra and will be digging into full-fledged Rails apps with Databases and React in a few weeks. First, I needed to get the basics down of just basic Object Oriented Programming concepts. I also needed to really sit down and get a good basic grasp of Vanilla [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":1130,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/posts\/1129"}],"collection":[{"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/comments?post=1129"}],"version-history":[{"count":1,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/posts\/1129\/revisions"}],"predecessor-version":[{"id":1131,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/posts\/1129\/revisions\/1131"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/media\/1130"}],"wp:attachment":[{"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/media?parent=1129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/categories?post=1129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cassandraking.net\/wordpressapp\/wp-json\/wp\/v2\/tags?post=1129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}