{"id":9600,"date":"2015-06-03T14:17:32","date_gmt":"2015-06-03T14:17:32","guid":{"rendered":"https:\/\/blog.jetbrains.com\/ruby\/?p=6054"},"modified":"2015-06-03T14:17:32","modified_gmt":"2015-06-03T14:17:32","slug":"live-webinar-refactoring-rails-applications-with-rubymine","status":"publish","type":"ruby","link":"https:\/\/blog.jetbrains.com\/zh-hans\/ruby\/2015\/06\/live-webinar-refactoring-rails-applications-with-rubymine","title":{"rendered":"Live Webinar: Refactoring Rails Applications with RubyMine"},"content":{"rendered":"<blockquote>\n<p style=\"text-align: right;\">\u201cIn almost all cases, I\u2019m opposed to setting aside time for refactoring. In my view, refactoring is not an activity you set aside time to do. Refactoring is something you do all the time in little bursts.\u201d<br \/>\n\u2015\u00a0Martin Fowler,\u00a0<i>Refactoring: Improving the Design of Existing Code<\/i><\/p>\n<\/blockquote>\n<p>Join us\u00a0<strong>Tuesday, June 16th, 14:00 \u2013 15:00 GMT (10:00 \u2013 11:00 AM EDT)\u00a0<\/strong>for a free webinar,\u00a0<a title=\"Register Now: Refactoring Rails Applications with RubyMine\" href=\"http:\/\/info.jetbrains.com\/RubyMine-Webinar-June2015-registration.html\" target=\"_blank\" rel=\"noopener\">Refactoring Rails Applications with RubyMine<\/a>, by Andrzej Krzywda.<\/p>\n<p>Nowadays refactoring is an essential part of most developers&#8217; lives. Ruby developers are not an exception. Knowing this we&#8217;ve always focused on refactoring tools in RubyMine. I can&#8217;t think of a major IDE update that didn&#8217;t bring some improvements for refactoring features. However, many of our users are unaware of some of these useful features. To sort this out, we&#8217;ve asked <a title=\"Interview with Andrzej Krzywda\" href=\"https:\/\/blog.jetbrains.com\/ruby\/2015\/03\/interview-with-andrzej-krzywda\/\" target=\"_blank\">Andrzej Krzywda<\/a>, a Rails refactoring guru, to share his experience and best practices.<\/p>\n<p><!--more--><\/p>\n<p>Andrzej will show how to apply typical refactoring recipes to put your code in order. You&#8217;ll see examples of service objects and other patterns, all using RubyMine refactoring support extended with custom shortcuts. You will have an opportunity to ask questions during the webinar. A few days after the webinar we will also make a recording of it available. Seats are limited so <a title=\"Webinar Registration: Refactoring Rails Applications with Rubymine\" href=\"http:\/\/info.jetbrains.com\/RubyMine-Webinar-June2015-registration.html\" target=\"_blank\" rel=\"noopener\">please register now<\/a>!<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignleft\" title=\"Andrzej Krzywda\" alt=\"Andrzej Krzywda\" src=\"http:\/\/info.jetbrains.com\/rs\/426-QVD-114\/images\/Andrzej%20Krzywda.jpg\" width=\"122\" height=\"122\" \/><\/p>\n<p><a href=\"https:\/\/twitter.com\/andrzejkrzywda\" target=\"_blank\" rel=\"noopener\">Andrzej Krzywda<\/a>\u00a0is the founder and CEO of\u00a0<a href=\"http:\/\/arkency.com\/\" target=\"_blank\" rel=\"noopener\">Arkency<\/a>, a Rails consulting company. He also teaches Ruby and Rails at the\u00a0<a href=\"https:\/\/international.uni.wroc.pl\/en\" target=\"_blank\" rel=\"noopener\">University of Wroc\u0142aw<\/a>\u00a0and maintains a\u00a0<a href=\"http:\/\/andrzejonsoftware.blogspot.ru\/\" target=\"_blank\" rel=\"noopener\">professional blog<\/a>. He has a\u00a0<a href=\"http:\/\/rails-refactoring.com\/\" target=\"_blank\" rel=\"noopener\">book out on Rails refactoring<\/a>\u00a0and is one of the organizers of the <a href=\"http:\/\/www.wrocloverb.com\/\" target=\"_blank\" rel=\"noopener\">wroc_love.rb<\/a>\u00a0conference.<\/p>\n<p><em>\u2014<br \/>\nDevelop with pleasure!<br \/>\nJetBrains RubyMine Team<\/em><\/p>\n","protected":false},"author":51,"featured_media":0,"comment_status":"open","ping_status":"open","template":"","categories":[10],"tags":[195,6183],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/9600"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/ruby"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=9600"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/9600\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=9600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=9600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=9600"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=9600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}