Blog4smart

New Ruby web server

Raptor is a new Ruby app server built for two goals: performance and visibility.
Raptor has an innovative and optimized HTTP engine, making it up to 4x faster than Unicorn, up to 2x faster than Puma and up to 2x faster than Torquebox.
Raptor gives you visibility into your app's behavior, so that you can easily analyze problems. No more pulling your hair out during production, wondering why the app is misbehaving.

http://www.rubyraptor.org/

Life and work in San-Francisco

Hello everybody, as you can guess... I'm in SF now ;-)

I arrived here 3 September, and I had already totally change my opinion about life in the USA.
It's completely not what I expected to see, not like we usually see in the movies or TV programs, it's different...

San-Francisco like a zebra, you can safely walk on the streets and everything will be fine, around you can see a lot of huge building, rich cars, wealthy people... but in the same time, on the other side of street, you can see so many homeless, they just lying around and sometimes even hard to walk down the street, that's crazy. Another bad point its weather, not stable at all... You can wake up at early morning and see clouds and fog, but it's not longer, afternoon will be sunny, so you always have to take a lot of clothes, the weather can changed at any moment.

In additional should pay attention to mentality of Americans, they always ask you: "How are you?" but this don't mean anything, it's just like "Hello" and nothing more. About work, when we just came into office, all our teammates acquainted with us, talking with us like a best friends, but at the next day everything was differently, they simply ignored us - that's all about mentality, people here trying to be friendly, but in reality they are indifferent to you.

San-Francisco is a city of contrasts. I not so long here, maybe I'll change my opinion about it...soon...

Decoupage in Ukraine

Every good developer should have a pets projects, and that's true!
Here is one of my projects - decoupage.in.ua, which I made for my wife :-)
Used technologies: Rails 4, Ruby 2, MySQL

RubyC - 2014

Svitla Systems invites to RubyC-2014
In May 31 - June 1 Kiev will host the second RubyC conference, dedicated to Ruby and Ruby on Rails

RubyC-2014 will be useful to those who want to:

  • communicate with the best Ruby developers from all around the world;
  • see the best options of practical use Ruby in real projects;
  • hear all about the latest trends in Ruby and Ruby on Rails;
  • spend two days with talented, smart people, gain new ideas and feel the inspiration for further projects.

This year RubyC gathers a star cast of speakers from America, Europe and CIS countries. Among many: Steve Klabnik (USA), Ben Lovell (Great Britain), Javier Ramirez (UK), Alexandre de Oliveira (Brazil), David Henner (USA), Jeremy Evans (USA), Konstantin Tennhard (Germany), as well as Bogdan Gusev (Ukraine), Timothy Tsvetkov (Russia ) , Evgeny Pirogov (Russia).

More information about the speakers and their topics can be found at http://rubyc.eu. Organizers invite everyone to share their experiences and to become a speaker of the conference. Applications can be submitted on the conference website. Receipt of applications will continue until the end of April.

Read more

My favorite changes in Rails 4.1

Here I'll summarize which new changes in Rails 4.1 I like the most!

1) config/secrets.yml
Now you don't need to use third-party gems like Figaro for configs. Rails generates a secret.yml in the config folder and you can store api keys, etc in it. The syntax as follows:

development:
  secret_key_base: SOME_VALUE
  some_api_key: SOME_KEY

If you want to access these in your application you can do so by calling: 

Rails.application.secrets.some_api_key


2) Active Record enums
With this extension to ActiceRecord, you can declare an enum field in your model and Rails will handle the mapping of integer values in the database column to human friendly values in your code.

class Post < ActiveRecord::Base
  enum status: [ :active, :archived ]
end

post.active?  # to see if the record is active
post.active!  # to set the record active


3) Spring Application Preloader
Spring preloads your application which makes your test runs a lot faster. Rails 4.1 generates the binstubs with spring so when you call rails or rake spring will handle the call. If you want to run a command without spring you can do so by using bundle rails or bundle rake

Spec “Helper”

Yesterday I found great post, about tests and redundant dependencies that we always got in our projects.
Author Matthew Parker, from Pivotal Labs. 

P.S. I recommend to pay attention to other posts from this author.
pivotallabs.com/author/mparker

Relocation from Ukraine

Due latest accidents in Crimea and Ukraine, I seriously start to thinking about relocation from Ukraine, still don't decide in which country, but certainly not in Russia. Perhaps it could be Germany or USA... Well, need to choose someone, and start to find job to get a visa for me and my family.

Elasticsearch on Rails

Usually in development of high load projects, necessary to have fast and useful search tools. For today we already have a lot of search engines, with all their advantages and weaknesses. I want to tell you about Elasticsearch, which meets all modern requirements:

  • Speed
  • Easy install and configuration
  • Price (free+open source)
  • Communicating by JSON over RESTful HTTP
  • Scalability
  • Indexing in real time
  • Cloud ready

So, what is a Elasticsearch? It's a front-end for a famous index Lucene. Main distinction comparing to competitors​ - it's flexibility and simplicity of use. Indexing information and searching provided by simple HTTP requests.

Read more