RailsClub'Moscow 2014. Інтерв'ю з Аароном Паттерсоном (Aaron Patterson)

    RailsClub 2014 стартує вже через 19 днів! Ми вийшли на фінішну пряму підготовки і починаємо публікувати традиційні інтерв'ю з нашими доповідачами.
 
Перша розмова — з самим довгоочікуваним гостем, Аароном Паттерсоном . Аарон член Ruby і Rails СoreTeam, топ 1 контриб'ютор на сьогодні і RubyHero 2010.
 
Інтерв'ю публікуються з оригінальними відповідями на англійській мові і нашим вільним перекладом.
 
 
 
 Над чим ти зараз працюєш?
 
 
Прямо зараз я працюю над кількома речами:
 * Прискорюватися генерацію views (включаючи routing) в Rails
 * Прискорюватися тести в ActiveRecord, експериментуючи з паралельним виконанням
 * Працюю над Rack 2.0
 
Right now I'm working on a few things:
 * Speeding up view generation (including routing) in Rails
 * Speeding up tests in ActiveRecord by investigating parallel execution
 * Working on Rack 2.0
  
 Що є кращою і гіршою частиною твоєї роботи?
 
Краща частина — допомога іншим розробникам і, звичайно, видалення коду. Думаю, моє улюблене заняття — видалення коду! Гірша — спроби розібратися, чому деякий код такий, який він є. Працювати над Rails іноді важко, тому що в деяких місцях код застарів, так що важко відстежити, звідки взявся якийсь шматок або чому певний шматок коду саме такий.
 
The best part is helping other developers, and of course deleting code. I think my favorite thing to do is delete code! The worst part is trying to figure out why some code is the way that it is. Working on Rails is sometimes hard because the codebase is old in some places, so it's difficult to track down where some code came from, or why a particular bit of cide is the way it is.
 
 Що ти вважаєш своїм головним досягненням в житті / кар'єрі на даний момент?
 
Думаю, поки моє головне досягнення — поліпшення продуктивності, яких я домігся в ActiveRecord (цей проект називається AdequateRecord). У мене пішли роки на те, щоб отрефакторіть код до стану, в якому я міг внести такого роду поліпшення. Приємне відчуття, коли трудишся над чимось так довго і, нарешті, бачиш результат. Ще я щасливий, що вдалося покращити продуктивність без необхідності змінювати публічне API.
 
I think my greatest achievement so far is the performance improvements I did on ActiveRecord (called AdequateRecord). It took me years to refactor the code to get to the point I could make this type of performance improvement. It feels good to work hard on something for so long and to see it actually ship. Also being able to make performance improvements without changing any user facing APIs makes me very happy.
  
 На твій погляд, в якому напрямку розвиватимуться Ruby і Ruby on Rails в найближчі роки?
 
Я сподіваюся, що в Rails ми зможемо поліпшити роботу HTTP на Ruby веб-серверах. Я хочу, щоб стрімінг краще підтримувався, і потім ми б використовували це як стартовий майданчик для підтримки HTTP 2. Що стосується Ruby, мене надихають поліпшення в збирача сміття. Думаю, в довгостроковій перспективі майбутнє Ruby пов'язано з додаванням конструкцій для роботи з concurrency, можливо, з вбудованим actor pattern.
 
For Rails, I hope that we can improve the HTTP story in Ruby webservers. I want streaming responses to be a better supported, and use that as a launching pad for HTTP 2 support. As far as Ruby is concerned, I am excited to see improvements to Ruby's garbage collector. I think Ruby's long term future will be to add more concurrency constructs, maybe the actor pattern built in.
  
 
 У чому, на твій погляд, найважливіша проблема, яка стоїть зараз перед спільнотою розробників Ruby і Ruby on Rails?
 
У перспективі для Rails спільноти, думаю, буде дуже важливо підтримувати HTTP 2, і це буде непросто. У нас велика кількість програм, які залежать від HTTP 1.1, і я думаю, проапргрейдіться буде непростим завданням.
 
On the far horizon for the Rails community, I think supporting HTTP 2 is very important and will be quite a challenge. We have lots of software that depends on HTTP 1.1, and I think it will be a challenge to upgrade.
 
 Є гем, на який ти міг би показати пальцем і сказати: "Ось так треба писати код"?
 
Думаю, minitest — це хороший приклад. Він невеликий і простий для розуміння. Але я повинен сказати, жоден гем не ідеальний. Скрізь є свої проблеми, ви можете їх просто поки не бачити!
 
I think minitest is a good example. It's small and easy to understand. But I have to say that no gem is perfect. Everything has some problems, you just might not see it yet!
  
 
 Які правила ти б запропонував встановити для успішного розвитку проекту на Ruby з 250+ тис. рядків коду силами безлічі розробників з дуже різним рівнем кваліфікації?
 
Гадаю, найкраще правило, яке я можу запропонувати, — це хороша комунікація всередині команди. Крім цього, дотримуйтесь засад SOLID . Я думаю, це хороші правила для новачків, а коли ви наберетеся досвіду, то почнете розуміти, коли їх можна порушувати.
 
I guess the best rule I could give would be to have good communication among the team. Other than that, stick to the SOLID design principals. I think they are good rules for new people to follow, and as you gain experience, you'll begin to understand when it's OK to break those rules.
 
 Чи є хоч якийсь шанс, що в осяжному майбутньому MRI позбудеться GIL?
 
Можливо, не в найближчому майбутньому. Але я правда думаю, що це станеться.
 
Probably not in the near future, but I do think it will happen.
 
 Ти читаєш який-небудь блог, присвячений Ruby / RoR?
 
Я зазвичай читаю ruby ​​subreddit. Ще мені подобається слухати подкаст Giant Robots, хоча вони зовсім не часто говорять про гігантських роботах.
 
I usually read the ruby ​​subreddit. Also I like listening to the Giant Robots podcast, but they do not really seem to talk about Giant Robots very often.
 
 Чим тобі подобається займатися, коли ти не пишеш код?
 
В основному готуванням і відеоіграми. Хоча більше готуванням. Прямо зараз я власноруч засолюють бекон!
 
Mostly cooking and playing video games. Mostly cooking though. I am curing my own bacon right now!
 
 Дякую за інтерв'ю і побачимося в Москві!
 
Всі питання, які не задали ми, ви зможете задати Аарону та іншим нашим учасникам особисто — 27 вересня, в центрі Digital October. Вся програма — на сайті конференції RailsClub 2014 .
 
Реєстрація та оплата участі — тут.
 
Наші спонсори:
 
Генеральний спонсор — TopTal
Золоті спонсори: Boookmate і FunBox
Срібні спонсори: AT-Consulting і Lookatme
HR-партнер: DigitalHR
Організатори: Evrone і Undev
 
Будьте в курсі наших новин, підписавшись на розсилку на сайті railsclub.ru, і стежте за оновленнями:
 RailsClub.ru
 twitter.com/railsclub_ru
 facebook.com/railsclub
    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.