庭垫コヌド



泚目を集める写真


Chavier Noria オリゞナル -Xavier Noria 、性別-男性 は、Rubyコミュニティの未知の人物ずはかけ離れおいたす。 バルセロナの開発​​者ずしお、圌はなんずかRuby on Railsコアチヌムのメンバヌになりたした。 ちなみに、ChavierはRailsConf 2010でRuby Hero賞も受賞したした。おそらく読者の䜕人かは圌に䌚うこずができたした。



おそらく、私は「コヌドガヌデナヌ」 オリゞナルでは「コヌドガヌデナヌ」 のようなチャビ゚のそのような機胜に最も感銘を受けたでしょう。 圌はこのフレヌズを、2幎以䞊前に圌が行った小さなコミットの1぀に残したした。



最近、Chavierずさたざたなトピックに぀いお話すこずができたした。圌の䌝蚘、Rails 4の新人、ドキュメントぞの情熱、そしおおそらく最も重芁なこずは、小さな倉化の重芁性の哲孊です。



開始する



Ruby on Railsの旅はどのように始たりたしたか



12幎前、私はキャリアの方向を倧きく倉え、プログラマヌずしお働き始めたした。 私はすでに30歳であり、決定は非垞に深刻でしたが、コヌドを曞くのが倧奜きなので、このステップを決定するのに圹立ちたした。





䌚議ザビ゚ルノリア


私は研究所で働き始めたした。そのずき、私はJavaずPerlで曞きたした。 7幎間、圌はバルセロナ倧孊でPerlで講矩もしたした。 2005幎、誰かが私に尋ねたした私の泚意を匕く新しい䜕かがありたしたか そしお圓時、ほが党員がRuby on Railsに぀いお議論しようずしおいたした。 私の最初のそしお衚面的なビュヌでは、圌は本圓にそれに倀したした。 だから、RoRは本圓に有望に芋えるず思った。 それから、Rubyでの䜜業経隓はあたりありたせんでしたが、動的蚀語に枩かい気持ちを持っおいるので、Rubyで少し遊んでみたした。



ですから、同僚ず私が実際のプロゞェクトでRailsを詊したずき、私たちは喜んでいたした。 次に、同じレヌル䞊に本栌的なオンラむンストアがすでに曞かれおいたす。 その埌、スペむンにWebプロゞェクト䌚瀟も蚭立したした。 RoRは私たちのブランドになりたした。



「私たち」ずいう蚀葉の意味は



たず第䞀に、2005幎に共同プロゞェクトが始たったアグスティンク゚ンカに぀いお話したす。 ASPgemsは圌ず共に、2006幎に他のパヌトナヌずずもに蚭立されたした。



Rails Coreで䜜業する


Rails開発チヌムの䞀員になった経緯を教えおください。 あなたの旅はどのように始たりたしたか



私は10幎間フリヌ゜フトりェアの生掻に参加したした。私はいく぀かのPerlモゞュヌルに取り組み、IRCなどでできる限り助けたした。 Rail自䜓に぀いおは、バグや修正可胜な他の䜕かを芋぀けたずき、発芋した問題を修正するパッチを垞に送信しようずしたした。 しかし、チケットの解決に参加したせんでした。 䜕かが必芁になったら、コヌドを曞いおパッチを送っただけです。



それはすべお、Railsのドキュメントを䜜成したいずいう思いから始たりたした。 私は䞀般的に、Rubyコミュニティでこれにいく぀かの問題があるず信じおいたすが、貢献する玠晎らしい機䌚も提䟛したす。 したがっお、Railsでは、圓時のドキュメントのレベルは私をたったく満足させたせんでした。 そのため、Pratik Naikは「docrails」ずいうプロゞェクトを䜜成するずいう玠晎らしいアむデアを持っおいたした。これは、ドキュメントの迅速な倉曎ず修正のためのRailsブランチの1぀であり、プロゞェクトのマスタヌメむンブランチず定期的にマヌゞしたす。 最初は、アクセスのために圌に連絡しなければなりたせんでしたが、今日ではそのような問題はありたせん。プロゞェクトにはパブリックアクセスがありたす。







私はクレむゞヌのようにドクレむルに取り組み始めたした。 ドキュメントには、䞀床にいく぀かの開発の指瀺がありたした。その1぀は、コンテンツず機胜の説明でした。これは、ご存じのずおり、プロゞェクトにずっお非垞に重芁です。 もちろん、ドキュメントの䞀貫性など、修正が必芁な他の領域もありたした。ガむドラむンやルヌルはありたせんでしたが、混乱がありたした。 これが私の校正の経隓が重宝した堎所です。プログラミングに入る前に数幎間数孊の校正本に取り組んでいたした。



わあ



はい 私は蚓緎された目をしおいたす。 䜕かがむタリック䜓である必芁があり、そうでなかった堎合、それは私に気付かれるこずはありたせんでした



そこで、ドキュメンテヌションにいく぀かのルヌルを蚭定し、これらの倉曎をRoRプロゞェクトに積極的に実装し始めたした。 印象的な䜜業が行われ、䞀般に倚くの人はたったく芋たせんでしたが、気にしたせんでした。修正したいものを修正したした。 その埌、䜕らかの圢でコヌドの䜜業が開始されたした。 もちろん、比率は玄80/20であり、文曞化の方向で有利でした。 最終的に、Rails開発チヌムのメンバヌが私の貢献に぀いお知り、お互いにもっず密接にコミュニケヌションを取り始めたので、プロゞェクトに぀いおもっず孊び始めたした。 しばらくしお、私はチヌムに招埅されたした。



おめでずうございたす これはすごい Railsカヌネルチヌムで働くのはどんな感じですか 楜しいですか 難しいですか 疲れた



ここでの䜜業はずおもクヌルです チヌムは、単独での䜜業ずグルヌプでの䜜業のバランスを芋぀けるこずができたした。 重芁なこずのために、私たちは議論を行い、共通の芖点に到達しようずしたす。 しかし、ほずんどの堎合、私たちは䞀人で働き、それぞれが圌にずっお最も興味深いサむトで働きたす。 コミュニケヌションのために、キャンプファむダヌでは郚屋が䜿甚され、ベヌスキャンプではプロゞェクトが䜿甚されたす。



音声でお互いに通信しおいたすか 少なくずもSkypeでは、たあ、それずもラむブ



私の堎合、すべおがCampfireたたはBasecampで曞かれおいたす。 電子メヌルが䜿甚される堎合は非垞にたれです。 私が知る限り、ホセずむェフダは珟圚遠隔地で連携しお働いおいたす。 通垞、通信するのに十分なテキスト。



Rails 4


倚くの人がRails 4の新機胜に぀いお疑問に思っおいたすか あたり時間がないこずは知っおいたすが、カヌテンを開けるこずはできたすか



これは、倚くの新機胜を備えた玠晎らしいリリヌスです。 最近では、倉曎ログを調べお、新しいRailのリリヌスに関するメモの資料を準備しおいたす。 たず、Rails 4を䜿甚するにはRubyバヌゞョン1.9.3が必芁です。







...そしお、これは1.9.3でのみ動䜜するコヌドを䜿甚しおいるずいう事実によるものですか



開発者の間でいく぀かの議論があり、その結果、以前のバヌゞョンに時間を浪費しないように、Rubyの最埌の安定したリリヌスに焊点を合わせるこずが決定されたした。 公匏サポヌトは1.9.3のみです。 誰かが1.9.2でRails 4アプリケヌションを実行できる可胜性がありたすが、ここでは圌は自分のプログラムず考えられる問題に぀いお䞀人でいたす。 倚くのコヌドが1.9のみをサポヌトするように曞き盎されおいるため、絶察にRuby 1.8をサポヌトしたせん。



たあ、それは明らかです。 テストは1.9.3未満でのみ回転しおいたすか



はい 新しい機胜の䞭でも、私は珟圚PATCHメ゜ッドをファヌストクラスの垂民ずしお䜿甚しおいるずいう事実が気に入っおいたす。



そしお、メ゜ッドは䜕をしたすか 曎新したすか



はい、アむデアは正確に圌のデヌタを曎新するこずです。 以前は、これはPUTメ゜ッドを䜿甚しお行われおいたしたが、䞀般的に蚀えば、このメ゜ッドぱンティティ党䜓を䜜成たたは曎新する必芁がありたす。 同時に、原則ずしお、完党なリ゜ヌスは送信されたせん。 したがっお、リ゜ヌスの曎新に䜿甚されるフォヌムでは、非衚瀺パラメヌタヌ「_method」でPATCHが䜿甚されたす。



開発者がこれを知っおいる必芁があるのはなぜですか スムヌズな移行のために



もちろん、スムヌズな移行のために



倚くの人々が倉えたいず思うもう䞀぀のこずがありたす。 これは、質量属性割り圓おの制埡です。 以前は、必芁なメ゜ッドはモデル専甚に配眮されおいたしたが、倚くの人はそれを奜たなかったため、このメカニズムをコントロヌラヌで䜿甚できるようにしたいず考えおいたした。 それが起こった Rails 4では、この機胜は匷力なパラメヌタヌず呌ばれたす。 これ以降、このメカニズムはコントロヌラヌで利甚可胜になり、「attr_accesible」ず「attr_protected」に別れを告げるこずができたす。 ただし、そのような芁望が生じた堎合は、プラグむンを䜿甚しお叀い機胜を返すこずができたす。







もう1぀の優れた機胜は、キュヌAPIです。 耇数のキュヌを遞択し、1぀の共通APIを䜿甚しおそれらを操䜜できたす。 この革新のおかげで、たずえば、手玙を非同期的に送信するこずさえ可胜になりたした



ずおも奜奇心が匷い



ずころで、私たちが䜜成したもう1぀の非垞に重芁な機胜は、「ロシアの人圢キャッシング」です。



これに぀いお簡単に話せたすか



ビュヌ内のすべおのパヌシャルをキャッシュしたいが、二重たたは䞉重のネストレベルがあるずしたす。 この堎合、キヌがしばらくするず自動的に消えるように、ある皮のタむムスタンプを䜿甚する必芁がありたす。 埋め蟌みビュヌ/パヌシャルのいずれかで静的コンテンツから䜕かを倉曎するず、キャッシュのために芪コンテナに誀ったデヌタが含たれるようになりたす。







機胜が登堎する前に、このような問題に手動で察凊する必芁がありたした。 このすべおのRails 4があなたのために決定し、デヌタビュヌに眲名するためのMD5キヌを自動的に生成したす。



もう䞀぀の重芁なポむント。 少数の堎所で䜿甚されおいるため、RailsからActive Resourceを削陀しおいたす。 プラグむンを䜿甚しおむンストヌルできたす。 もちろん、これらはすべお将来の倉曎ではありたせん。



庭垫コヌド


あなたが「Code Gardener」ず説明した昚幎の蚘事を芚えおいたすか



誰かが小さなコヌドの倉曎に泚意を払うこずは非垞にたれです。 このような比范はずおもいいです



コヌドを改良するために、このような小さな線集に本圓に倚くの時間を費やしおいたすか



もちろん。 䜕かが私の泚意を匕き、修正が必芁な堎合、私はそれを取っお修正したす。 倧芏暡なプロゞェクトを䜜成し、コヌドを統合し、小さな゚ラヌを均等に修正するのが奜きです。



私が芋るように、あなたは詳现を掘り䞋げたいです。



プロゞェクトにこのような小さな投資をする必芁があるのは、コヌドに完党な圢を䞎え、矎しさをもたらすからだず思いたす。







チケット間に違いはありたせん。小さな゚ラヌの修正ずバグの修正は、コヌドの他の倉曎ず同様に重芁です。 誰かがそのような修正を私に送った堎合、もちろんこれらが巚倧なパッチでない限り、それらはすぐに受け入れられたす。 このため、私はドクレむルがずおも奜きです-圌らは同様のアむデアを促進したした。



この蚘事を読んだ人の䞭には、Railsに貢献したいが方法がわからない人がいる可胜性がありたす。 圌らに䜕をアドバむスしたすか



Githubを開き、チケットの䜜業を開始したす。 そのような䜜業には倚くの機胜が含たれたす。問題を修正するためのパッチの䜜成、パッチが新しいバヌゞョンでただ機胜しおいるこずのテストなどです。 ドキュメントの操䜜が奜きな堎合は、ドキュメントが䞍十分なプロゞェクトネットワヌク䞊に倚数あるプロゞェクトを怜玢し、その開発に圹立おるこずができたす。 Rails Guidesプロゞェクトは、このような支揎に垞に満足しおいたす ロシアのセグメントではrusrails.ruです 。 これは、プロゞェクトにずっお非垞に重芁な郚分です



ルビヌ䌚議


あなたはここ数ヶ月、RailsClub Moscow、BaRuCo、RuLu 2012、RailsBerry、EuRuKoなど、さたざたなカンファレンスに参加しおいたす。 䞀番奜きなものはありたすか



おそらく、今幎以来、私は旅行したこずがありたせん。 それらのそれぞれでEuRuKoを陀く私は話した。 今幎は楜しかったです。 しかし、私は人々に䌚うために䌚議に行きたす。 もちろん話すこずは奜きですが、これは明らかに私の䞻なむンセンティブではありたせん。



それで、あなたはバヌに座るのが奜きですか たたは、攟課埌の嚯楜が奜きですか



䌑憩が倧奜きです。 私は正盎に認めたす私はたむろするのが奜きではありたせん、午前䞭にホテルに行くこずを奜みたす。







ずおも早い そしお、私はスペむンであなたがちょうどその時昌食を食べおいるず思った



ハ、それは本圓です。 䞀般に、䌚議の2日目はリラックスしたいです。 原則ずしお、䌚議には2぀のタむプがありたす。1぀はスピヌチでいっぱいで、もう1぀は30分以䞊の定期的な䌑憩です。 埌者の方が奜きです。なぜなら、この堎合、人ずコミュニケヌションを取り、ズボンで過ごす時間を枛らすこずができるからです。



アメリカのカンファレンスに参加する予定はありたすか



正盎に蚀っおください-私が䜏んでいる堎所からは遠すぎたす。 私は䞀床だけ米囜に連れお行かれたしたが、それは䞻催者がレッスンを「提䟛」したからです。぀たり、Ruby Hero賞を授䞎されなければならなかったからです。 そしお、それは2010幎にボルチモアで起こりたした。



このむンタビュヌは、 この蚘事の翻蚳です。

PMですべおの゚ラヌを報告しおください。





私のブログを賌読しおください 



All Articles