Here are my slides from Ruby Meditation meet-up in Kiev last weekend.
Covers some internals and some features of DelayedJob and Resque.
http://x.gusiev.com/background-jobs-frameworks
Last year I had a lot of changes in my career: I had to switch jobs twice while planning to do it only once. Most of the projects I was working on before was about building time wasting features to raise more money for more time wasting features. I wanted to find the right project for myself: A project that brings something good to people. Ruby is extremely good for startups, but easy investments is a decease for most of them in Ukraine. In September I met Allan Grant, CEO of Curebit. Curebit has a great team of sales and marketing people but was lacking great engineers.
Allan was the first business guy in my life that was more focused on building product than raising money — build features endless cycle. So we started to work together.
Here are slides I’ve shown on ruby meetup in Kiev.
It’s all about my expirience with power hacking rails internals.
Give some inside on how ActiveSupport Callbacks and Rails Router are working.
The JavaScript initialization process is a pain in the ass since dynamic HTML and AJAX became popular. We need to take care all the time about what we need to initialize after every change in DOM.
Thanks to jQuery#live
and jQuery#on
: We have a not-so-right but still very effective solution. It allows us to fix the problem with initialization of typical events.
But initialization is not always about binding DOM events. In more advanced cases, it could be wrapping widget class over an element or a custom jQuery method call like a date-picker
.
This is short notes about my experience with full text search based on PostgreSQL and Solr.
Solr was primary used with a help of Sunspot gem that was definitely a good idea,
but unfortunately caused some drawbacks. PostgreSQL provides full text search out of the box and to my opinion doesn’t need any
additional ruby specific tools other than ORM.
Here I am gonna use Chrome browser as an example:
- Open context menu
- Click inspect element.
- Click “Network” tab
- Spawn again an ajax request (at least one click. Sometimes more)
- Click on failed request at Network tab
- Click “Preview” or “Response” subtab
This post shows some examples of how things can go wrong way because of people actions based on assumptions but not on facts.
It is more conceptual than practical, so be patient and don’t blame my grammar mistakes too much.
After a dozen performance patches to many gems want to share some practical experience I gain.
Tools I’ve picked up was perftools.rb and ruby built-in benchmark library.
They are fit well for cases when optimization stays at Ruby level and doesn’t require to fix something in native extensions or dig into IO operations.
Web 2.0 world force us to build Forms in a new level of quality. AJAX and dynamic HTML changes a way how forms should work internally. Let’s call it Forms 2.0. And of course this facts bring a lot of complexity every time we deal with forms. Sometimes such form makes a real problem comparing to regular Web 1.0 form. Here will be a talk how to make Forms 2.0 as simple as Forms 1.0.