SlideShare a Scribd company logo
1 of 22
Download to read offline
Как сделать контрибут в
     Ruby on Rails
        Ярослав Маркин
       Москва, апрель 2009
Привет?
•   Ярослав Маркин

•   evilmartians.ru — небольшая команда рельсовиков (разработка и
    консультации)

•   Где вы меня видели? github (gem russian), контрибуты в Rails



•   В далеком 2006 вместе с Юликом Тархановым и Ильей
    Немихиным сделали лист ror2ru и начали работу над rubyonrails.ru
Для кого?


•   Новички — с чего начать, как помочь Rails, как научиться?

•   Опытные — как сделать так чтобы патч все-таки приняли?
Это не так сложно!
1. Для новичков: способы
                 контрибута
•   Lighthouse: rails.lighthouseapp.com

•   Bug

•   Security Bug

•   Docpatch

•   Новая feature
Bug
•   Нормальный заголовок и описание как можно подробнее

•   Окружение (Версия ОС, Ruby, Rails, используемые gem и плагины)

•   Пример кода, в котором есть проблемы

•   Важно: Failing tests

•   Важно: Кто закоммитил патч, который все сломал?

•   Если источника проблемы не видно и нельзя назначить ответственного — патч будет висеть очень
    долго
Security Bug


•   Вы уверены? Вы правда уверены?

•   Не делайте bug в Lighthouse

•   Пишите: security@rubyonrails.org
Docpatch
•   Отличный вариант для тех, кто начинает разбираться, «как это работает»

•   http://github.com/lifo/docrails

•   Права на коммит можно получить у Pratik Naik (github.com/lifo) — пишите через GitHub

•   Обязательно прочитайте гайдлайны — http://github.com/lifo/docrails/wikis

•   Спрашивайте совета в IRC

•   Можно работать над Rails Guides

•   Docpatch не считается официальным контрибутом в Rails
Новая feature

•   Нужна реализация, а не идея. К реализации вернемся во второй части

•   Даже если тикет оформлен грамотно, шансы на его рассмотрение близки к нулю, если нет патчей и
    обоснования

•   Можно попробовать список рассылки, но без патча смысла нет

•   Если есть реализация, она всегда может быть отклонена для того чтобы стать плагином —
    расстраиваться не стоит

•   Вообще говоря, можно начать с плагина (из последнего — named_scope)
2. Для опытных


•   Над чем бы поработать?

•   Очевидные вещи (git, git format-patch, тесты)

•   Как же сделать чтобы патч все-таки приняли?
Над чем бы поработать?

•   Подпишитесь на RSS rails.lighthouseapp.com

•   Watch http://github.com/rails/rails

•   Обзор Lighthouse: подтверждение багов, попытки пофиксить баги

•   lifo: I'd just say, monitor Rails commits. Don’t use RDoc, look into the
    source. Look for incomplete tickets and complete them if you wanna
    take a step further
Новый патч: очевидные вещи
•   git clone git://github.com/rails/rails.git

•   NB: делать fork не имеет смысла, разве что вы не предлагаете
    сотую версию переделки ActiveModel

•   http://www.tpope.net/rails-git-best-practices

•   git checkout / rebase / format-patch

•   Тесты!
Что делать для принятия патча?
 «Отвечает команда знатоков»
•   nzkoz: Mailing list threads get more attention than just a patch

•   nzkoz: I try to stay no more than ~10 days behind on the mailing list

•   nzkoz: find a few people here or wherever to help you think through
    the changes, then write to the core mailing list when you've got
    something concrete
К кому обратиться для принятия
            патча?
•   ror2ru! Попросите оценить патч

•   irc.freenode.net #rails-contrib

•   Список рассылки http://groups.google.com/group/rubyonrails-core

•   Rails Core Committer (нет персональной отвественности) — через
    IRC или Lighthouse
DHH — для хороших и безумных идей, все что нужно чтобы «было хорошо», всегда можно получить
                                фидбек. Можно «поймать» в IRC.
Jeremy — «работяга» Rails, практически все области + I18n, несложно добиться ревью. Раньше можно
                                     было «поймать» в IRC.
Koz — много областей, бывает в IRC и просматривает список рассылки
Rick — ранее много областей (в том числе AR, AM и Engines), сейчас нет активности в Rails
Pratik — в настоящее время чуть ли не главный контрибутор, легко можно «поймать» на IRC, принмает
       патчи для всех частей Rails, ведет docrails. Новые тикеты можно смело назначать на него.
          Josh — AC, Rack. Найти его в IRC не удавалось, можно найти в списке рассылки.
Yehuda — AC, ActiveORM, Rails 3.0 в целом.
«Расширенный состав»

•   Frederick Cheung, Geoff Buesing, Manfred Stienstra, Eloy Duran, ...

•   #rails-contrib

•   Mike Gunderloy — поможет с докпатчами и гидами Rails

•   Sven Fuchs — ответственный за I18n
Lighthouse Ticket
•   Нужно назначить на кого-то конкретного

•   Начать с IRC, если реакции нет либо патч спорный — список
    рассылки

•   Никаких «+1»! Если уже есть 3-4 «+1» — нет смысла добавлять.
    Спам «по друзьям» легко заметить.

•   Теги: bug — исправляет ошибку, patch, verified — если патч
    подтвердили 3 и более человека
Самое время для контрибута

•   Большой Merge (Rails 3.0: ActionPack, ActiveORM, ActiveSupport
    on diet...)

•   Небольшая активность Core контрибуторов

•   Google Summer of Code, anyone?
Вопросы?
•   yaroslav@markin.net



•   twitter.com/yaroslav

•   github.com/yaroslav



•   http://evilmartians.ru

More Related Content

Viewers also liked

I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложенийAndrey Sitnik
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo
 
Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"railsclub
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRailsPavel Gabriel
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Andrey Listochkin
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)guest40e031
 
Debbug Rails Application For Dummies
Debbug Rails Application For DummiesDebbug Rails Application For Dummies
Debbug Rails Application For DummiesAndrey Subbota
 
Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Vitalii Tytskyi
 
Фронтенд для рубиста
Фронтенд для рубистаФронтенд для рубиста
Фронтенд для рубистаKir Shatrov
 
Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016zykin-ilya
 
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo
 
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014Andrey Listochkin
 

Viewers also liked (20)

Ruby on Rails for noobs
Ruby on Rails for noobsRuby on Rails for noobs
Ruby on Rails for noobs
 
I18n ruby-приложений
I18n ruby-приложенийI18n ruby-приложений
I18n ruby-приложений
 
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
 
Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"Александр Тищенко - "Антикризисная презентация"
Александр Тищенко - "Антикризисная презентация"
 
Rails Concerns
Rails ConcernsRails Concerns
Rails Concerns
 
10 reasons I love RubyOnRails
10 reasons I love RubyOnRails10 reasons I love RubyOnRails
10 reasons I love RubyOnRails
 
Когда технологий много - iForum 2013
Когда технологий много - iForum 2013Когда технологий много - iForum 2013
Когда технологий много - iForum 2013
 
RSpec. Part 1
RSpec. Part 1RSpec. Part 1
RSpec. Part 1
 
RSpec. Part 3
RSpec. Part 3RSpec. Part 3
RSpec. Part 3
 
развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)развертывание среды Rails (антон веснин, Locum Ru)
развертывание среды Rails (антон веснин, Locum Ru)
 
Debbug Rails Application For Dummies
Debbug Rails Application For DummiesDebbug Rails Application For Dummies
Debbug Rails Application For Dummies
 
Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.Призма24 - Маркетплейсы.
Призма24 - Маркетплейсы.
 
Фронтенд для рубиста
Фронтенд для рубистаФронтенд для рубиста
Фронтенд для рубиста
 
R18n
R18nR18n
R18n
 
Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016Deploy.rb, Ilya Zykin, Rails club2016
Deploy.rb, Ilya Zykin, Rails club2016
 
Assets Pipeline
Assets PipelineAssets Pipeline
Assets Pipeline
 
RSpec. Part 2
RSpec. Part 2RSpec. Part 2
RSpec. Part 2
 
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
Alexander Dymo - RubyConf 2014 - Ruby Performance Secrets and How to Uncover ...
 
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
 
Why does code style matter?
Why does code style matter?Why does code style matter?
Why does code style matter?
 

Similar to Как сделать контрибут в Ruby on Rails

Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin NakovIntro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin NakovSvetlin Nakov
 
Minsk Jazz 190509 Templ
Minsk Jazz 190509 TemplMinsk Jazz 190509 Templ
Minsk Jazz 190509 Templsef2009
 
введение в Ror олег андреев
введение в Ror   олег андрееввведение в Ror   олег андреев
введение в Ror олег андреевMedia Gorod
 
Управление рисками ИБ: отдельные практические аспекты
Управление рисками ИБ: отдельные практические аспектыУправление рисками ИБ: отдельные практические аспекты
Управление рисками ИБ: отдельные практические аспектыAleksey Lukatskiy
 
тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009Liudmila Li
 
IBM Jazz - A New Approach For Software Development (In Russian)
IBM Jazz - A New Approach For Software Development (In Russian)IBM Jazz - A New Approach For Software Development (In Russian)
IBM Jazz - A New Approach For Software Development (In Russian)Alexander Klimov
 
P2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And TargetingP2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And Targetingguest258f78a
 
Delivery of media content of IIS Media Services
Delivery of media content of  IIS Media ServicesDelivery of media content of  IIS Media Services
Delivery of media content of IIS Media ServicesSQALab
 
Customer Profiling&Targeted Advertisement
Customer Profiling&Targeted AdvertisementCustomer Profiling&Targeted Advertisement
Customer Profiling&Targeted Advertisement2tique
 
Social Bookmarks, Folksonomies–Complex Networks
Social Bookmarks, Folksonomies–Complex NetworksSocial Bookmarks, Folksonomies–Complex Networks
Social Bookmarks, Folksonomies–Complex NetworksOleg Nazarevych
 
Smashing Rails
Smashing RailsSmashing Rails
Smashing Railssava
 
Учет рабочего времени сотрудников: полное руководство
Учет рабочего времени сотрудников: полное руководство Учет рабочего времени сотрудников: полное руководство
Учет рабочего времени сотрудников: полное руководство Yaware
 
Java For Digitally Signing Documents In Web Book - Svetlin Nakov
Java For Digitally Signing Documents In Web Book - Svetlin NakovJava For Digitally Signing Documents In Web Book - Svetlin Nakov
Java For Digitally Signing Documents In Web Book - Svetlin NakovSvetlin Nakov
 
Защо Ruby on Rails
Защо Ruby on RailsЗащо Ruby on Rails
Защо Ruby on RailsStefan Kanev
 
Розробка уроку з англійської мови.
Розробка  уроку  з англійської мови.Розробка  уроку  з англійської мови.
Розробка уроку з англійської мови.ssuser672c3e
 
Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...
Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...
Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...Vitaliy Mazurenko
 
Дизайн посуды: Тенденции и образ жизни.
Дизайн посуды: Тенденции и образ жизни.Дизайн посуды: Тенденции и образ жизни.
Дизайн посуды: Тенденции и образ жизни.Lumiknows Consultancy
 

Similar to Как сделать контрибут в Ruby on Rails (20)

Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin NakovIntro To RDBMS And SQL Server 2005 - Svetlin Nakov
Intro To RDBMS And SQL Server 2005 - Svetlin Nakov
 
Minsk Jazz 190509 Templ
Minsk Jazz 190509 TemplMinsk Jazz 190509 Templ
Minsk Jazz 190509 Templ
 
введение в Ror олег андреев
введение в Ror   олег андрееввведение в Ror   олег андреев
введение в Ror олег андреев
 
Управление рисками ИБ: отдельные практические аспекты
Управление рисками ИБ: отдельные практические аспектыУправление рисками ИБ: отдельные практические аспекты
Управление рисками ИБ: отдельные практические аспекты
 
тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009тупицын Ec2 Rootconf2009
тупицын Ec2 Rootconf2009
 
IBM Jazz - A New Approach For Software Development (In Russian)
IBM Jazz - A New Approach For Software Development (In Russian)IBM Jazz - A New Approach For Software Development (In Russian)
IBM Jazz - A New Approach For Software Development (In Russian)
 
P2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And TargetingP2 P Mobile Advertising And Targeting
P2 P Mobile Advertising And Targeting
 
Delivery of media content of IIS Media Services
Delivery of media content of  IIS Media ServicesDelivery of media content of  IIS Media Services
Delivery of media content of IIS Media Services
 
Customer Profiling&Targeted Advertisement
Customer Profiling&Targeted AdvertisementCustomer Profiling&Targeted Advertisement
Customer Profiling&Targeted Advertisement
 
Social Bookmarks, Folksonomies–Complex Networks
Social Bookmarks, Folksonomies–Complex NetworksSocial Bookmarks, Folksonomies–Complex Networks
Social Bookmarks, Folksonomies–Complex Networks
 
Hackday Ml
Hackday MlHackday Ml
Hackday Ml
 
Smashing Rails
Smashing RailsSmashing Rails
Smashing Rails
 
Beauty
BeautyBeauty
Beauty
 
Учет рабочего времени сотрудников: полное руководство
Учет рабочего времени сотрудников: полное руководство Учет рабочего времени сотрудников: полное руководство
Учет рабочего времени сотрудников: полное руководство
 
Java For Digitally Signing Documents In Web Book - Svetlin Nakov
Java For Digitally Signing Documents In Web Book - Svetlin NakovJava For Digitally Signing Documents In Web Book - Svetlin Nakov
Java For Digitally Signing Documents In Web Book - Svetlin Nakov
 
Защо Ruby on Rails
Защо Ruby on RailsЗащо Ruby on Rails
Защо Ruby on Rails
 
Розробка уроку з англійської мови.
Розробка  уроку  з англійської мови.Розробка  уроку  з англійської мови.
Розробка уроку з англійської мови.
 
Grape Online Strategy Cases
Grape Online Strategy CasesGrape Online Strategy Cases
Grape Online Strategy Cases
 
Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...
Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...
Как построить лучший корпоративный Университет (по версии CUX). Опыт и рекоме...
 
Дизайн посуды: Тенденции и образ жизни.
Дизайн посуды: Тенденции и образ жизни.Дизайн посуды: Тенденции и образ жизни.
Дизайн посуды: Тенденции и образ жизни.
 

Recently uploaded

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

Как сделать контрибут в Ruby on Rails

  • 1. Как сделать контрибут в Ruby on Rails Ярослав Маркин Москва, апрель 2009
  • 2. Привет? • Ярослав Маркин • evilmartians.ru — небольшая команда рельсовиков (разработка и консультации) • Где вы меня видели? github (gem russian), контрибуты в Rails • В далеком 2006 вместе с Юликом Тархановым и Ильей Немихиным сделали лист ror2ru и начали работу над rubyonrails.ru
  • 3. Для кого? • Новички — с чего начать, как помочь Rails, как научиться? • Опытные — как сделать так чтобы патч все-таки приняли?
  • 4. Это не так сложно!
  • 5. 1. Для новичков: способы контрибута • Lighthouse: rails.lighthouseapp.com • Bug • Security Bug • Docpatch • Новая feature
  • 6. Bug • Нормальный заголовок и описание как можно подробнее • Окружение (Версия ОС, Ruby, Rails, используемые gem и плагины) • Пример кода, в котором есть проблемы • Важно: Failing tests • Важно: Кто закоммитил патч, который все сломал? • Если источника проблемы не видно и нельзя назначить ответственного — патч будет висеть очень долго
  • 7. Security Bug • Вы уверены? Вы правда уверены? • Не делайте bug в Lighthouse • Пишите: security@rubyonrails.org
  • 8. Docpatch • Отличный вариант для тех, кто начинает разбираться, «как это работает» • http://github.com/lifo/docrails • Права на коммит можно получить у Pratik Naik (github.com/lifo) — пишите через GitHub • Обязательно прочитайте гайдлайны — http://github.com/lifo/docrails/wikis • Спрашивайте совета в IRC • Можно работать над Rails Guides • Docpatch не считается официальным контрибутом в Rails
  • 9. Новая feature • Нужна реализация, а не идея. К реализации вернемся во второй части • Даже если тикет оформлен грамотно, шансы на его рассмотрение близки к нулю, если нет патчей и обоснования • Можно попробовать список рассылки, но без патча смысла нет • Если есть реализация, она всегда может быть отклонена для того чтобы стать плагином — расстраиваться не стоит • Вообще говоря, можно начать с плагина (из последнего — named_scope)
  • 10. 2. Для опытных • Над чем бы поработать? • Очевидные вещи (git, git format-patch, тесты) • Как же сделать чтобы патч все-таки приняли?
  • 11. Над чем бы поработать? • Подпишитесь на RSS rails.lighthouseapp.com • Watch http://github.com/rails/rails • Обзор Lighthouse: подтверждение багов, попытки пофиксить баги • lifo: I'd just say, monitor Rails commits. Don’t use RDoc, look into the source. Look for incomplete tickets and complete them if you wanna take a step further
  • 12. Новый патч: очевидные вещи • git clone git://github.com/rails/rails.git • NB: делать fork не имеет смысла, разве что вы не предлагаете сотую версию переделки ActiveModel • http://www.tpope.net/rails-git-best-practices • git checkout / rebase / format-patch • Тесты!
  • 13. Что делать для принятия патча? «Отвечает команда знатоков» • nzkoz: Mailing list threads get more attention than just a patch • nzkoz: I try to stay no more than ~10 days behind on the mailing list • nzkoz: find a few people here or wherever to help you think through the changes, then write to the core mailing list when you've got something concrete
  • 14. К кому обратиться для принятия патча? • ror2ru! Попросите оценить патч • irc.freenode.net #rails-contrib • Список рассылки http://groups.google.com/group/rubyonrails-core • Rails Core Committer (нет персональной отвественности) — через IRC или Lighthouse
  • 15. DHH — для хороших и безумных идей, все что нужно чтобы «было хорошо», всегда можно получить фидбек. Можно «поймать» в IRC. Jeremy — «работяга» Rails, практически все области + I18n, несложно добиться ревью. Раньше можно было «поймать» в IRC.
  • 16. Koz — много областей, бывает в IRC и просматривает список рассылки Rick — ранее много областей (в том числе AR, AM и Engines), сейчас нет активности в Rails
  • 17. Pratik — в настоящее время чуть ли не главный контрибутор, легко можно «поймать» на IRC, принмает патчи для всех частей Rails, ведет docrails. Новые тикеты можно смело назначать на него. Josh — AC, Rack. Найти его в IRC не удавалось, можно найти в списке рассылки.
  • 18. Yehuda — AC, ActiveORM, Rails 3.0 в целом.
  • 19. «Расширенный состав» • Frederick Cheung, Geoff Buesing, Manfred Stienstra, Eloy Duran, ... • #rails-contrib • Mike Gunderloy — поможет с докпатчами и гидами Rails • Sven Fuchs — ответственный за I18n
  • 20. Lighthouse Ticket • Нужно назначить на кого-то конкретного • Начать с IRC, если реакции нет либо патч спорный — список рассылки • Никаких «+1»! Если уже есть 3-4 «+1» — нет смысла добавлять. Спам «по друзьям» легко заметить. • Теги: bug — исправляет ошибку, patch, verified — если патч подтвердили 3 и более человека
  • 21. Самое время для контрибута • Большой Merge (Rails 3.0: ActionPack, ActiveORM, ActiveSupport on diet...) • Небольшая активность Core контрибуторов • Google Summer of Code, anyone?
  • 22. Вопросы? • yaroslav@markin.net • twitter.com/yaroslav • github.com/yaroslav • http://evilmartians.ru