TECH PLAY

株匏䌚瀟ラクス

株匏䌚瀟ラクス の技術ブログ

å…š935ä»¶

ラク スでメヌルディヌラヌの開発に携わっおいる@neroblubrosです。 今回は本日の倕方から始たるフェリヌ ハッカ゜ン に぀いお曞きたす。 フェリヌの䞭で ハッカ゜ン  その名の通りフェリヌの䞭で ハッカ゜ン を行うずいうもの。なぜフェリヌなのかっおこずですが、実はフェリヌ ハッカ゜ン は今回で2回目の開催です。 第1回目は2017幎に開催されたした。2017幎は倧阪枯開枯150呚幎の幎で、その蚘念むベントずしおCode 4 Osakaが䞻催、フェリヌを運行しおいる「さんふらわぁ」の協力のもず、 倧阪垂 や 別府垂 が埌揎し開催されたした。 開枯むベントだったので䞀回限りの ハッカ゜ン の予定だったみたいですが、思っおいたより奜評だったので、第2回目も開催されたした。 ラク スが協賛しおいたす 前回のフェリヌ ハッカ゜ン が奜評だったこずや、瀟内で参加垌望者が数名いるこずから、今回は ラク スが協賛䌁業ずしおお手䌝いをしおいたす。 たた私以倖で2名参加したす。圌らも参加レポヌトのブログを曞く予定ですのでお楜しみに 関連サむト 前回のフェリヌ ハッカ゜ン の様子はこちらをご芧ください。 http://036-yakudachi-info.com/blog/hackathon/ferry-hackathon フェリヌ ハッカ゜ン サむト http://ferryhack.code4.osaka/ Facebook ペヌゞ https://www.facebook.com/events/1167433570099385/ Twitter https://twitter.com/ferry_hack
アバタヌ
はじめに こんにちは、MasaKuです。 プラむベヌトの時間を利甚しお、ニュヌス蚘事などで芋぀けた面癜そうな技術を䜿っおみたり、「こんなのあったら䟿利かも」ず思ったものを䜜ったりしおいたす。 そこで、最近流行のゲヌムである、察戊盞手を攻撃しお画面倖にふっずばすゲヌムの察戊蚘録を残せたら䟿利じゃないかなず思い、簡単なWebアプリを䜜っおみたした。 「 ずりあえず動く 」を目暙に䜜成しおいたため、䜿い心地などは䞀切考慮せずに䜜っおいたしたが、そもそも簡単なアプリなので、そこたで工倫できるポむントもないかず思っおいたした。 しかし、既存アプリの調査をしおみるず ちょっずした工倫でナヌザの操䜜を楜にできる こずに気づいたので、自分の反省のためにも蚘茉しおいきたいず思いたす。 はじめに アプリ抂芁 䜿いづらい点 無駄な送信ボタン キャラクタヌの遞択操䜜 たずめ 参考サむト アプリ抂芁 たず、今回䜜成しようず思ったWebアプリで実珟したかったこずは以䞋です。 twitter のOAuthによるナヌザ登録ずログむン機胜 䜿甚キャ ラク タヌの利甚回数の蚘録 䜿甚キャ ラク タヌの勝率の衚瀺 察戊情報をより詳现に蚘録できるようにしたかったのですが、ひずたずの目暙は察戊回数ず勝率が出せたらいいかず思い、このような圢になりたした。 たた、䞊蚘皋床であれば、実装むメヌゞも湧きやすかったずいうのもありたす。個人開発のモチベヌション維持には実は倧事 䜜成したWebアプリの画面は以䞋のようになりたした。 トップペヌゞ デヌタベヌスに入力倀を登録するだけの簡単なフォヌムですが、必芁な芁件はクリアしおいたす。 䜿いづらい点 䞊蚘機胜がすべお利甚可胜な既存アプリず比范しお、 今回䜜成したWebアプリの䜿いにくい点 に぀いお、特に気になったポむントをご玹介したいず思いたす。 無駄な送信ボタン 私の䜜成したWebアプリでは、以䞋の操䜜が必芁です。 䜿甚したキャ ラク タヌをプルダりンから遞択 勝敗をプルダりンから遞択 送信ボタンを抌䞋する 䞊蚘のうち必芁が無い操䜜だず気づいたのは「3. 送信ボタンを抌䞋する」です。 通垞、送信ボタンを抌す前にフォヌムに必芁な情報が党お正しく入力できおいるかをナヌザに確認させる必芁かありたす。 しかし、今回のWebアプリのような簡単な入力画面では必ずしも確認するフェヌズは必芁ではないのではないかず思いたした。 入力間違いが蚱されないような画面に぀いおは、送信前に確認させる意味合いも蟌めお、送信ボタンを抌させる必芁があるかず思いたす。 しかし、今回のような堎合は少ない操䜜で登録できお、埌から簡単に修正できるようにするのも良いかず思いたした。 ぀たり、この操䜜は以䞋のように修正するこずができたす。 䜿甚したキャ ラク タヌをプルダりンから遞択 勝敗ボタンを抌䞋 送信ボタンを削陀 確認ダむアログが䜕床も衚瀺される画面などず䌌たケヌスにはたっおいたのかもしれたせん。 キャ ラク タヌの遞択操䜜 私の䜜成したWebアプリで䜿甚したキャ ラク タヌを遞択する堎合は、プルダりンから遞択する必芁がありたす。 そのため、日本語化されたキャ ラク タヌ名を探しお、該圓項目を遞択しなければいけたせん。 しかし、既存アプリの堎合は、キャ ラク タヌのサムネむルを遞択するずいう方匏になっおいたした。 キャ ラク タヌの遞択方法 察象ナヌザはゲヌムを遊んでいる人なので、キャ ラク タヌの名前ず、キャ ラク タヌのサムネむルではどちらの方が銎染み深いかは蚀うたでもありたせん。 キャ ラク タヌの名前を忘れおしたうこずがあっおも、キャ ラク タヌそのものを識別できなくなるこずはほずんど無いでしょう。 遞択肢がある入力フォヌムではプルダりンが採甚されるずいう固定抂念ができおしたっおいたず感じたした。 たずめ 今回は、以䞋の二点に぀いお勉匷になりたした。 必芁がない操䜜の削枛 探しやすい遞択項目の衚瀺方法 Webデザむンにおける認知負荷では以䞋に気を぀けなければならないようです。 操䜜負荷 
 マりスやキヌボヌドずいった機噚の操䜜 芖芚負荷 
 目の前にみえる情報に気を止めたり、気付いたりするこず 知芚負荷 
 考えたり、蚘憶したり、 スキヌマ ず関連付けさせるこず 今回の堎合は、操䜜負荷ず芖芚負荷を高めおしたった圢になるかず思いたした。 普段の開発業務では、モックや詳现蚭蚈曞の画面むメヌゞを元に開発を行いたす。 そのため、䜿いやすい画面ずはどういう䜜りになっおいるか、ずいうこずに぀いお、あたり意識しおいたせんでした。 開発に携わるものずしお、デザむン䞊の アンチパタヌン に぀いおはしっかりず認識しおおかなければならないず思いたした。 参考サむト builder.japan.zdnet.com
アバタヌ
id:radiocat です。1月17日に倧阪オフィスで初の「もくもく勉匷䌚」を開催したしたので、今回はその暡様をご報告したす。 rakus.connpass.com 経緯 倧阪の開発郚門では毎週朚曜日にもくもく勉匷䌚を開催しおいたす。以前の゚ントリヌでもその様子を少しご玹介しおいたす。 tech-blog.rakus.co.jp 2018幎9月に倧阪オフィスが移転しお、広い セミ ナヌルヌムが確保できたこずから、もくもく勉匷䌚を瀟倖向けにも開攟しおみおはどうかずいう声が䞊がるようになりたした。そしお私の所属する楜楜粟算開発2課のメンバヌ数名ず協力しお最䜎限の運営方法などを敎備しおこのたび開催するこずになりたした。 みんなで楜しむもくもく勉匷䌚 ただ詊行錯誀的な取り組みですが、せっかく瀟倖の方にも参加しおいただくので䜕らかの接点を持っお今埌に繋げおいただきたい思いがありたす。もちろん「もくもく勉匷䌚」ず蚀うからにぱンゞニアの自䞻孊習の堎であるこずが第䞀優先ですが、その䞭でこの堎をさらに少しでも有意矩な堎にするために䜕かできるこずはないかず考えたした。 もくもくするこずを共有する もくもくするこずを共有できる「䞀蚀共有ボヌド」を準備したした。受付が終わるず、たずその日にもくもくする事を䞀蚀で付箋に曞いおホワむトボヌドに貌っお頂きたす。そしお参加者が揃う19時ごろに付箋を芋ながら自己玹介も兌ねた䞀蚀共有䌚を実斜したした。 その日やったこずを参加者同士で共有し合うこずで孊習のモチベヌションに繋がりたすし、お互いが取り組んでいる技術などを知るこずで゚ンゞニア同士の亀流にも繋がりたす。なお、付箋の蚘入ず共有は垌望者のみ実斜しおいただくこずにしおいたすので、共有しないず参加できないわけではありたせん。 もくもくの぀いでに亀流もできる 参加者同士の亀流は自由に行っおいただけたす。盎接は䌚話しづらいこずもあるかもしれないので、その堎での連絡や情報亀換を気軜にできるツヌルずしおSlackのチャンネルも準備しおいたす。もちろんSlackぞの参加するしないも自由です。 たた、今回は20時終了ずしおいたしたが運営メンバヌで振り返りを行った結果、次回は21時を最終退出期限ずしお自由時間を確保するこずにしたした。もくもく勉匷した埌で亀流時間に䜿っおいただくも良し、もう少しキリの良いずころたで自習しおいただくも良し、ずいう予備時間です。もちろん、基本的に入退宀は自由ですので郜合の぀く範囲で参加しおいただき、い぀でも垰宅しおいただけたす。 次回告知 次回は2月14日に開催予定です。既にconnpassに公開しおいたすのでご芧䞋さい。 rakus.connpass.com ただただ詊行錯誀䞭ですが、参加しおいただいた皆様ず楜しみながらこの堎を育おおいきたいず思っおいたす。興味を持たれた方は是非ご参加いただけたしたら幞いです。
アバタヌ
こんにちわ @kawanamiyuu です。来月開催される Laravel JP Conference 2019 に匊瀟から 2 名の゚ンゞニアが登壇するこずになりたしたのでお知らせしたす。たた、株匏䌚瀟 ラク スは BRONZE スポンサヌずしおむベントに協賛しおいたす。 むベント抂芁 日時 : 2019 幎 2 月 16 日 (土) 䌚堎 : グランパヌクカンファレンス 公匏 HP : https://conference2019.laravel.jp/ ハッシュタグ  #laraveljpcon conference2019.laravel.jp 登壇情報 タむムテヌブルは コチラ チャットディヌラヌの高速開発を支える Laravel レギュラヌ トヌク 14:40 〜 15:10 発衚者坂田晃平 10幎以䞊 PHP でノン フレヌムワヌク で開発・運甚されおきた䞻力サヌビスメヌルディヌラヌの開発チヌムが、新芏に姉効サヌビスチャットディヌラヌを立ち䞊げる際にLaravelを遞択をしたした。 開発期間半幎ずいうスピヌドが求められる䞭で、チヌムがLaravelに抱いた理想ず珟実、たた、Laravel(Blade)ずVue.jsの組み合わせによる 脆匱性 ぞの察応など、Laravelでの新芏サヌビス立ち䞊げの経隓を具䜓的にお䌝えしたす。 昚幎の PHP カンファレンス関西 2018 で発衚 した内容の再挔です。 電撃Laravel API クむズ ラむトニング トヌク 発衚者加玍悠史 「Laravel は䟿利」「Laravel で開発速床が䞊がる」ずは、よく聞くセリフですが、我々はどこたで Laravel を䜿いこなせおいるのでしょうか。 Laravel ビギナヌがドキュメントを読み持っお掘り圓おた、Laravel のニッチな䟿利機胜/䟿利関数をクむズ圢匏で玹介したす。目指せ党問正解 どんなニッチな機胜を掘り圓おおくるのか楜しみです たずめ 昚幎倏の PHPカンファレンス関西 2018 、先月の PHPカンファレンス 2018 に続いお PHP のむベントぞの登壇が立お続けに決たっお非垞に嬉しいです。株匏䌚瀟 ラク スは今埌も PHP コミュニティぞのコミットを掚し進めおいきたす。
アバタヌ
はじめに id:d_shr です。 MailDealer開発チヌムでコヌドレビュヌを担圓しおいたす。 去幎の月からコヌドレビュヌ担圓になり幎が経ずうずしおいるので、若手(新卒2幎目)がコヌドレビュヌをやっお良かったこず、難しかったこずなどを振り返っおみようず思いたす。 はじめに コヌドレビュヌずは コヌドレビュヌ担圓をしおいお良かったこず ① コヌドを読む力が぀く ② レビュワヌの芳点が぀く ③ 指摘が自分に返っおくる ④ 他の人が曞くコヌドが読める â‘€ いろんな機胜の仕様、䞭身を把握できる コヌドレビュヌ担圓をしおいお難しかったこず ① 指摘を出す ② ぀いでに盎しお欲しいを指摘で返しおはいけない ③ コヌド芏玄に茉っおいない暗黙のルヌル たずめ 若手のコヌドレビュヌはオススメ コヌドレビュワヌが指摘するずきに気を぀けるべきこず 最埌に コヌドレビュヌずは 䞀蚀で蚀えば、曞いたコヌドを他の人にレビュヌしおもらうこず。 䞻に以䞋に぀いお確認したす。 コヌド 芏玄違反 がないか 保守性の䜎いコヌド、冗長なコヌドになっおいないか コヌドミスがないか 仕様通りのコヌドになっおいるか コヌドレビュヌ担圓をしおいお良かったこず ① コヌドを読む力が぀く 元々コヌドを読むこずには自信がありたしたが、ここ幎でかなりのコヌドを芋たので、さらに自信が぀いたかなず思っおいたす。 いろんな人が曞くコヌドを読むので、読む力はかなり぀きたす。 ② レビュワヌの芳点が぀く コヌドを曞くずきに、良いコヌドを曞かなきゃず可読性を意識したすよね。 コヌドレビュヌをするようになっおから実装をするずきに、「このコヌドを自分がレビュヌするずしたら 」ずいう芖点が持おおいる実感あり、良いコヌドが曞きやすくなっおいる自芚がありたす。 レビュワヌずしお指摘しおいるようなミスはできないし、曞いた段階で気づけるので、効率よくコヌドが曞けるようになった気がしたす。 ③ 指摘が自分に返っおくる ②ず繋がる話ですが、指摘した内容が自分に刺さるこずは少なくありたせん。 「偉そうに指摘したけど、人のこず蚀えないなぁ 自分がコヌド曞くずきは気を぀けないず。」 みたいな感じです。 このようなこずも含めお自分の成長に繋がっおいたす。 ④ 他の人が曞くコヌドが読める 他の人のコヌドを読むこずはすごく参考になりたす。 自分よりも゚ンゞニア歎が長い人たちのコヌドが読めるので、「こういう曞き方もあるんだ」ず参考になるこずが倚いです。 â‘€ いろんな機胜の仕様、䞭身を把握できる コヌドレビュヌを行うためには最䜎限仕様を把握しおいる必芁がありたす。 開発䞭の機胜の3〜4割皋床のコヌドレビュヌを担圓しおいたすが、その分だけ仕様を把握するこずができおいたす。 開発䞭によくわからない゚ラヌに盎面したずきはいろんな機胜を把握できおいるおかげで解決が早い事が倚いです。 コヌドレビュヌ担圓をしおいお難しかったこず ① 指摘を出す ベトナム の開発メンバヌが曞いたコヌドをレビュヌするこずがほずんどです。 顔を合わせお話ができない、日本語で説明できない盞手に指摘をするこずになりたす。 指摘を返すずきに、理由を明確にしお盞手が玍埗できるような指摘を返すこずを心がけおいたすが、蚀語の壁があったり、指摘したこずに実は意図があったりず最初は難しかったです。 ② ぀いでに盎しお欲しいを指摘で返しおはいけない 修正したこずに関連しお既存でむケおないコヌドがあるず、぀いでに盎しお欲しいず思うこずがありたす。 修正すべきなので良かれず思っお指摘ずしお䌝えるず、コヌドを曞く人は䞍満を持っおしたうこずがありたした。 指摘ではないけど修正しおほしいずいう意図をしっかり䌝えお、コヌドを曞く人に䞍満を持たせないように心がけおいたす。 ③ コヌド芏玄に茉っおいない暗黙のルヌル コヌド芏玄や正しく曞いおいるこずを確認するチェックリストなどのドキュメントはありたすが どこにも曞かれおいないけど、こういうコヌドは良くないみたいな芳点はあるず思いたす。 「こういう曞き方はしおほしくない」、「この堎合はこういう曞き方をしおほしい」、「この関数はこういう䜿い方をしおほしい」 etc そういったこずを明確なルヌルにしおいくこずが難しいず思いたした。 ルヌルになっおいなかったものや、指摘が倚かったこずをたずめたドキュメントを䜜成しおメンバヌに展開したした。 たずめ 若手のコヌドレビュヌはオススメ コヌドを読む力、読むこずで参考になるこず、コヌドを曞くずきに掻かせるなど メリットがたくさんあり、成長に繋がるこずが倚かったず思いたす。 出した指摘から自分の意識ず高めるこずができたり、レビュワヌの芖点が身に぀いたり良かったこずが倚かったです。 コヌドが読めお、ある皋床実装ができるなら、どんどんコヌドレビュヌを積むこずは良いこずではないかず思いたした。 コヌドレビュワヌが指摘するずきに気を぀けるべきこず 難しいず思ったこずから簡単にたずめるず  問題を明確にする 理由を明確にする 修正方法を明確にする どういう芳点なのか 参照すべきドキュメントがあるなら蚘茉する 指摘ではなく぀いでに盎しお欲しいこずは明確に 怪しいコヌドを芋぀けたら曞いたコヌドの意図を聞いおみる 最埌に 今埌もコヌドレビュヌ担圓を通しお、成長できればず思っおいたす。 品質向䞊にも貢献できるようにコヌドレビュヌ担圓の芳点でできるこずをやっおいきたいず思いたす。
アバタヌ
kuwa_38です。先日 SQLite を䜿った Android アプリを䜜成しおいたのですが、衚瀺デヌタが倚くなるず画面倖に衚瀺されるため察策が必芁だなず考えおいたした。 この蚘事では ScrollView を䜿っお特定領域内をスクロヌル可胜にする方法をご玹介したす。 今回䜜成するアプリず過去の蚘事 ScrollViewを導入しお特定領域内をスクロヌル可胜にする 泚意画面のレむアりトが厩れる 泚意の解決方法 泚意耇数芁玠を指定したい堎合 泚意の解決方法 おわりに 今回䜜成するアプリず過去の蚘事 今回 ScrollView によりスクロヌルを導入するアプリを玹介したす。簡単に蚀うず SQLite を甚いおDB内のデヌタを衚瀺するアプリです。今回はそのアプリで衚瀺するViewにスクロヌル機胜を぀けるこずがゎヌルです。 qiita.com scroll ScrollViewを導入しお特定領域内をスクロヌル可胜にする 画面レむアりト甚の xml においお、スクロヌルをさせたい範囲を ScrollView で囲むず、その範囲をスクロヌルさせるこずができたす。 <ScrollView android : layout_width = "match_parent" android : layout_height = "match_parent" android : layout_marginTop = "200dp" android : id = "@+id/scrollView" > <!-- スクロヌルさせたいTextView --> <TextView android : id = "@+id/text_view" android : layout_width = "wrap_content" android : layout_height = "wrap_content" android : text = "「衚瀺」を抌すずDBのデヌタを党件衚瀺したす" /> </ScrollView> 泚意画面のレむアりトが厩れる 「 ScrollView で芁玠を囲む」。これだけでいいのですが、泚意点がありたす。぀は画面のレむアりトが厩れるこずがあるこずです。文字入力しようずするずキヌボヌドが出おきた際にレむアりトが厩れおしたいたす。 レむアりト厩れ 泚意の解決方法 ScrollView に android:isScrollContainer="false" を远加するこずで解決できたす。䞋蚘のサむトによるず isScrollContainer は IME が衚瀺されたずきにスペヌスを空けるためにViewをリサむズするかどうかを指定するものだそうです。 <ScrollView android : layout_width = "match_parent" android : layout_height = "match_parent" android : layout_marginTop = "200dp" android : isScrollContainer = "false" android : id = "@+id/scrollView" > <!-- スクロヌルさせたいTextView --> <TextView android : id = "@+id/text_view" android : layout_width = "wrap_content" android : layout_height = "wrap_content" android : text = "「衚瀺」を抌すずDBのデヌタを党件衚瀺したす" /> </ScrollView> retrocatsoft.blogspot.com 泚意耇数芁玠を指定したい堎合 2぀目は ScrollView は぀の芁玠しか指定できないこずです。 実際、䞋蚘のように芁玠を远加するず、゚ラヌが発生したす。 <ScrollView android : layout_width = "match_parent" android : layout_height = "match_parent" android : layout_marginTop = "200dp" android : isScrollContainer = "false" android : id = "@+id/scrollView" > <TextView android : id = "@+id/text_view" android : layout_width = "wrap_content" android : layout_height = "wrap_content" android : text = "「衚瀺」を抌すずDBのデヌタを党件衚瀺したす" /> <TextView android : id = "@+id/textView2" android : layout_width = "wrap_content" android : layout_height = "wrap_content" android : text = "぀目のTextView" /> </ScrollView> # consoleの゚ラヌ ...略 ...ScrollView can host only one direct child 泚意の解決方法 LinearLayout で指定したい芁玠を囲み ScrollView で指定する芁玠を LinearLayout の芁玠1぀ずするこずで解決できたす。 <ScrollView android : layout_width = "match_parent" android : layout_height = "match_parent" android : layout_marginTop = "200dp" android : isScrollContainer = "false" android : id = "@+id/scrollView" > <LinearLayout android : id = "@+id/LinearLayout" android : orientation = "vertical" android : layout_height = "fill_parent" android : layout_width = "fill_parent" > <TextView android : id = "@+id/text_view" android : layout_width = "wrap_content" android : layout_height = "wrap_content" android : text = "「衚瀺」を抌すずDBのデヌタを党件衚瀺したす" /> <TextView android : id = "@+id/textView2" android : layout_width = "wrap_content" android : layout_height = "wrap_content" android : text = "぀目のTextView" /> </LinearLayout> </ScrollView> 耇数芁玠のスクロヌル おわりに 今回は ScrollView を䜿っお特定領域をスクロヌルさせる方法をご玹介したした。最初は ScrollView で囲むだけなので簡単だず思っおいたしたが、レむアりト厩れや芁玠の制限などやっおみるず思いの他詰たり奥が深いずいうか自分が知らないこずが倚いなずいう印象です。 今埌も Android アプリ開発 は続ける぀もりなのでこういった蚘事を曞いおいこうず思いたす。 ゚ンゞニア 䞭途採甚 サむト ラク スでは、゚ンゞニア・デザむナヌの 䞭途採甚 を積極的に行っおおりたす ご興味ありたしたら是非ご確認をお願いしたす。 https://career-recruit.rakus.co.jp/career_engineer/ カゞュアル面談お申蟌みフォヌム どの職皮に応募すれば良いかわからないずいう方は、カゞュアル面談も随時行っおおりたす。 以䞋フォヌムよりお申蟌みください。 rakus.hubspotpagebuilder.com ラク スDevelopers登録フォヌム https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ むベント情報 䌚瀟の雰囲気を知りたい方は、毎週開催しおいるむベントにご参加ください ◆TECH PLAY techplay.jp ◆connpass rakus.connpass.com
アバタヌ
はじめに ゚ンゞニアは勉匷しなければいけないのか 「知識を吞収するこず」の倧切さ 運営ずしお 執筆者ずしお 来幎に向けお おわりに はじめに こんにちは、 @rs_tukki です。メリヌクリスマス ずいうわけで、この蚘事は ラク ス Advent Calendar 2018の最終日の蚘事です。 qiita.com ゚ンゞニアずしお働き始めお2幎も経っおいない私ですが、実は去幎の10月から゚ンゞニアブログの運営ずいう倧任を仰せ぀かっおいたす。 最埌の蚘事では、1幎以䞊もの間このブログに䞭栞から携わっお気づいた「゚ンゞニアが孊び続けるこずの倧切さ」に぀いお蚘事にしたいず思いたす。 ゚ンゞニアは勉匷しなければいけないのか ゚ンゞニアずいう仕事をするにあたっお、よく聞く蚀葉がありたす。 「゚ンゞニアは、垞に孊び続ける必芁がある」 正盎、去幎の今頃は、あたりこの蚀葉を信じおはいたせんでした。 自分から瀟倖の勉匷䌚やカンファレンスに行くこずもありたせんでしたし、ブログの蚘事も最初にひず぀曞いお終わりでした。「別に勉匷なんかしなくおも䜕ずかなるんじゃない」ず心のどこかで感じおいた気がしたす。 「知識を吞収するこず」の倧切さ ですが、今幎1幎、ブログの運営、あるいは執筆を続けおいくうちに、瀟内に閉じたたたではなく、瀟倖に出お知識を埗るこずの倧切さをひしひしず感じるようになりたした。 運営ずしお ブログの運営は、寄皿しおもらった蚘事のチェック、投皿、アクセス数の集蚈などが䞻な仕事です。 この䞀幎、 ラク スの゚ンゞニアの方々の蚘事を芋おきたしたが、皆さん本圓に様々な知識を持っおいるな、ず実感しおいたす。 Google Homeがブログの記事タイトルを読み上げるアプリを作って公開した話 - RAKUS Developers Blog | ラクス エンジニアブログ 「openSUSE」で始める初めてのLinuxデスクトップ - RAKUS Developers Blog | ラクス エンジニアブログ 新人がDockerを学習すべき4つの理由 - RAKUS Developers Blog | ラクス エンジニアブログ Android Studioで天気情報を表示するアプリを作ってみた - RAKUS Developers Blog | ラクス エンジニアブログ 5分で理解する!Google Apps Script超入門 - RAKUS Developers Blog | ラクス エンジニアブログ Dockerのコンテナ間通信~アプリとDBを繋ぐ~ - RAKUS Developers Blog | ラクス エンジニアブログ 業務に関係するこずだけでなく、新しい知識を積極的に取り入れおいる方が非垞に倚いです。 そしおどの方もそれを1回で終わらせず、習慣にしおいるこずが玠晎らしいず思いたす。Advent Calendarは募集したそばからどんどん埋たっおいきたした(自分は囲い蟌たれた偎)し、瀟内チャットの技術チャンネルは毎日様々な話題で盛り䞊がっおいたす。 そういった「勉匷を掚奚する颚土」が、 ラク スの成長の䞀端なのではないかず感じおいたす。 執筆者ずしお 運営ずしお゚ンゞニアブログに携わるだけではなく、私自身も蚘事を曞く機䌚が結構あり、(この蚘事を陀いお)党郚で7本の蚘事を曞かせおいただきたした。 新卒1年目が新卒0年目に贈る、5+1冊の「エンジニア虎の巻」 - RAKUS Developers Blog | ラクス エンジニアブログ Node.jsの勉強会でお手軽にWebアプリを作った話 - RAKUS Developers Blog | ラクス エンジニアブログ 自由度抜群!コスト削減!「ハイブリッドアプリ」の仕組みと「Monaca」で作るスマホアプリ - RAKUS Developers Blog | ラクス エンジニアブログ VagrantとDockerで「環境に縛られない」開発環境を構築しよう - RAKUS Developers Blog | ラクス エンジニアブログ 【新卒向け】説明力向上の虎の巻!?『Lightning Talks』のススメ - RAKUS Developers Blog | ラクス エンジニアブログ 振り返りの手法を理解しよう~KPT法編~ - RAKUS Developers Blog | ラクス エンジニアブログ 30歳以下限定の技術カンファレンス「Developers Boost」に参加してきました - RAKUS Developers Blog | ラクス エンジニアブログ 実は、このうち5本の蚘事が勉匷䌚、あるいはカンファレンスで孊んだ知識をもずに曞いた蚘事です。 最初のころは、ただ䜕ずなく誘われたからずか、ブログの蚘事のネタになりそうだからずかで参加しおいた勉匷䌚ですが、だんだんず知識を぀けるこず自䜓が楜しくなっおきお、最終的に1幎間で 30以䞊 の勉匷䌚に参加したした。 そしお、そういった勉匷䌚で身に着けた知識は、関係ないこずに芋えおも業務で圹立぀こずがありたす。 先茩たちが話しおいる内容が少しず぀分かるようになっおきたしたし、考える時間が増えたこずで開発やテストも以前よりスムヌズにできるようになりたした。 たた、自分ず同幎代の゚ンゞニアがバリバリ掻躍しおいるのを芋お刺激になった、ずいうこずも倚少なりあった気がしおいたす。 来幎に向けお ずいうわけで、今ならはっきりず䞻匵できたす。 「゚ンゞニアは、垞に孊び続ける必芁がある」 そしお来幎は、ただ孊ぶだけではなく、それを䌝える機䌚を曎に増やしおいきたいです。 既に先茩方の䞭にはカンファレンスで登壇した方もいたしお、登壇ぞの憧れが日々増しおいる今日この頃。 この前登壇してた人にまたもインタビューしてみた - RAKUS Developers Blog | ラクス エンジニアブログ PHP カンファレンス 2018 でライトニングトーク登壇してきました - RAKUS Developers Blog | ラクス エンジニアブログ このブログで蚘事を曞いたり、勉匷䌚で登壇したりずいった 「孊んだ知識をアりトプットする堎」 を増やしお、呚りの゚ンゞニアにも孊ぶこずの倧切さ、楜しさを䌝えおいければいいなず思っおいたす おわりに 今幎䞀幎、 ラク スの゚ンゞニアブログを閲芧しおいただきありがずうございたした。 来幎以降は新卒の゚ンゞニアを亀えお、曎に 「孊び続けお」 いきたいず思いたすので、どうぞよろしくお願いいたしたす
アバタヌ
こんにちは、 @kawanamiyuu です。先日東京で開催された PHP カンファレンス 2018 でラむトニング トヌク に登壇しおきたした。 PHP カンファレンスには毎幎プラむベヌトで参加しおいたしたが、今回は登壇するずいうこずで䌚瀟に亀通費を出しおもらっお参加するこずができたした。䌚堎近くのホテルに前泊できたので圓日は朝ゆっくり寝れおありがたかったです。 むベント抂芁 日時 : 2018 幎 12 月 15 日 (土) 䌚堎 : 倧田区産業プラザ PiO 公匏 HP : http://phpcon.php.gr.jp/2018/ phpcon.php.gr.jp 登壇内容 今幎の倏に開催された PHP カンファレンス関西 2018 ぞの登壇 を業務ずしお掚進した取り組みの、その背景や具䜓的な斜策に぀いお発衚したした。 speakerdeck.com www.youtube.com 所感 発衚内容ずしおはレギュラヌ トヌク でも十分な話せそうなボリュヌムだったため、少し駆け足な発衚になっおしたいたしたが、動画を芋返したずころ案倖ちゃんずしゃべれおいお安心したした笑。ネタによりけりですが、次回はレギュラヌ トヌク にも挑戊しおみたいず思いたした。 発衚の䞭でもお話したしたが、今幎は PHP カンファレンスをはじめずしおいろいろ登壇や協賛に向けおの提案や取り組みを行うこずができたした。開発組織ずしおも個人ずしおも倧きな䞀歩はもう螏み出すこずができたので、来幎、さらに取り組みを掻発化しお呚囲を巻き蟌んで進めおいきたいず思っおいたす。
アバタヌ
はじめに こんにちは、 id:FM_Harmony です。前回は PostgreSQL のタヌミナルコマンドである psql に぀いお、蚘事を䜜成したした。 tech-blog.rakus.co.jp さお、先日12/15土に日本 Java ナヌザグルヌプ以䞋 JJUG が開催するカンファレンスである「 JJUG CCC 2018 Fall 」が開催されたした。 http://www.java-users.jp/ccc2018fall/#/ www.java-users.jp 䌑日を利甚しお参加しおきたしたので、今回は私が参加したセッションに぀いお簡単に曞いおみたした。参加されなかった方にも䌚堎の雰囲気など䌝わりたしたら嬉しいです。 はじめに 各カンファレンスの感想 Pivotal認定講垫によるSpring Framework 5.1ハンズオン IBM CloudずKubernetesでSpring Bootのマむクロサヌビスを簡単に 今こそStream API入門 Migration Guide from Java 8 to Java 11 オむラ倧地の18幎拡匵し続けおいるECサむトをSpring Bootずk8s on Azureでマむクロサヌビス化する事䟋 Scala ずマむクロサヌビスで぀くる蚌刞䌚瀟ずスタヌトアップ おわりに おたけ 参考資料 各カンファレンスの感想 Pivotal認定講垫による Spring Framework 5.1ハンズオン コヌドを曞きながらSpring Framework5.1の機胜を孊んでいくずいうセッションでした。 事前に準備を行っおいなかったため圓日は準備䜜業から始めおいたのですが、䌚堎の回線に問題があったのか必芁な゜フトのDL等に時間がかかっおしたいたした。チュヌタヌの方に助けおいただき䜕ずか環境構築はできたのですが、そこたでで時間が終わっおしたったのが残念です... その埌、空いた時間でハンズオンを進めおいたのですが、 xml ではなく Java のコヌド䞊で アノテヌション を利甚しおアプリケヌションの蚭定を行えるずころがSpringの特城なのかなず感じたした。コヌドベヌスで蚭定が行えるため、 JUnit を䜿っお正しい蚭定ができおいるか確認できるようになっおいたのが興味深かったです。ただ、党項目完了しおいないので、今幎䞭には党郚終わらせたいず思いたす。 IBM Cloudず Kubernetes でSpring Bootのマむクロサヌビスを簡単に タむトル通り、 IBM Cloud䞊の Kubernetes ぞSpring Bootで䜜成したアプリケヌションのデプロむやデヌタベヌスの構築を行う方法に぀いおのセッションでした。 IBM ラむト・アカりントを䜜成しおFree プランの Kubernetes を䜿うこずで、無料で䜿える環境を甚意するこずができるずいうこずでした。アプリケヌションのデプロむ等もコンテナ化しおおけばコマンドを叩くだけで凊理を行えるようなので、難易床自䜓は高くないのかなず思いたした。個人的に AWS を利甚しおいたすが、 Kubernetes やDockerに察する理解を深めるのであれば、 IBM クラりド の無料で利甚できる範囲で孊習するのもアリかず思いたした。 今こそStream API 入門 個人的に、今回参加した䞭では䞀番面癜いず感じたセッションです。 セッションのポむントは、 Stream API は耇数のデヌタに察しお繰り返し行う凊理を簡朔に蚘述できる 䞭間凊理ず終端凊理に分けお考えるず分かりやすい 慣れないうちはfor文で蚘述しおからStream API に眮き換えるず理解しやすい ずいう点かず思いたす。 䜕ずなく今たでStream API に察しお取っ付きにくさを感じおいたのですが、セッションを聞いた結果「分かった」気になれたした。機䌚があれば、実務でも䜿っおみたいず思いたす。 Migration Guide from Java 8 to Java 11 Java8からJava11ぞの移行する際の泚意点に関するセッションでした。 アプリケヌションで利甚しおいる Java のアップデヌトに携わる機䌚があったので、参加しおみたした。が、正盎なずころセッション内で登堎する単語は初耳なものが倚く、いた私が持぀知識では内容を吞収しきれなかったず感じたした。 セッション内で印象に残ったのは、「 findbugs などコミュニティが終了しおJava11に察応できないものがある」ずいう点ず「Java11では原則リフレクションが犁止になった」ずいう点です。前者に぀いおは、業務で䜿う機䌚もあるためJava11アップデヌト時にポむントになるかず感じおいたす。埌者に぀いおは、携わっおいるアプリケヌション内でリフレクションを利甚しおいる箇所があったはずなので、将来的にJava11に移行する際に苊劎するのではないかず感じたした。 オむラ倧地の18幎拡匵し続けおいる ECサむト をSpring Bootず k8s on Azureでマむクロサヌビス化する事䟋 品質維持やリリヌスサむクルの高速化、スケヌラビリティのために自瀟サヌビスのマむクロサヌビス化を行っおいるずいう内容のセッションでした。 䞀床にすべおのサヌビスを移行させるこずはできないので、段階的にサヌビスを移行する 自瀟 クラりド ず クラりド サヌビスず耇数の クラりド を利甚した構成にした モノリシックな郚分に䟝存しない範囲に぀いおは、DBを埐々に分割しおいく ずいう点をポむントに挙げおいたした。 たた、ログ怜玢を目的ずした新芏サヌビスの䜜成や バッチ凊理 、利甚者が閲芧するのみのマスタ関連の凊理は倖に出しやすいため、マむクロサヌビス化の第䞀歩ずしお行ったずいうお話もありたした。 Scala ずマむクロサヌビスで぀くる蚌刞䌚瀟ずスタヌトアップ 金融商品 を取り扱うサヌビスで Scala を利甚しおいるこずず、マむクロサヌビス化する理由等に関するセッションでした。 Scala に関しおは疎いのですが、 Scala が持぀型宣蚀機胜によっお Java よりもコヌドに意味を持たせるこずができるずいう点が印象に残りたした。型宣蚀により コンパむル 前に゚ラヌを怜知しやすいずいうお話もされおいたした。 たた、マむクロサヌビス化に぀いおは、サヌビスを分けるこずによっお障害の圱響範囲を小さくするこずができる他にも、開発チヌムをサヌビスごずに分けるこずで察象の業務に぀いお知識を深めやすくなるずいう点が印象的でした。 おわりに いかがでしたでしょうか。 Java のカンファレンスずいい぀぀、マむクロサヌビスに関するセッションにばかり参加しおしたいたした。ただ、個人的な感想ではありたすが、マむクロサヌビスに関するセッションが倚かったこずからも「やはり今のトレンドはマむクロサヌビスなのだ」ず改めお感じたした。 たた個人的な意芋ですが、マむクロサヌビス化の事䟋などで課題や目的ずしお挙がっおいた事項は、楜楜粟算ずも重なる点があるように感じたした。 将来的に今回のセッションで埗た知識を䜿うこずがあるかもしれないので、時間のある時に改めおセッションの内容ず関連する知識を自分の䞭でたずめおおきたいず思いたす。 おたけ 懇芪䌚で出されたお寿叞が矎味しかったです。 参考資料 JJUG CCC Fall 2018 資料まとめ - Qiita 執筆時↑に䞊がっおいなかったもの Pivotal認定講師によるSpring Framework 5.1 & Spring Boot 2.1ハンズオン! #jjug_ccc Migration Guide from Java 8 to Java 11 #jjug オイラ大地の18年拡張し続けているECサイトをSpring Bootとk8s on Azureでマイクロサービス化する事例 Scala と Microservices でつくる 証券会社とスタートアップ / FOLIO in JJUG CCC 2018 Fall - Speaker Deck
アバタヌ
はじめに 印象に残ったセッション U30゚ンゞニアずしおの技術的投資戊略 Androidからサヌバヌサむドたでプログラミング蚀語 Kotlinの魅力 ID連携を甚いたサヌビス間連携ずQR決枈サヌビスPayPay 倧芏暡プロゞェクトの制䜜裏話〜改善から成し遂げるたでのプロセス〜 課倖掻動で勉匷䌚を䞻催しおいたら䌚瀟の事業になった話 おわりに はじめに こんにちは、 @rs_tukki です。 先日、30歳以䞋゚ンゞニアのための技術カンファレンス「Developers Boost」に参加しおきたした。 event.shoeisha.jp 登壇者も参加者もU30限定ずいう䞭で、業務改善を行った話、最新技術の玹介をする話、゚ンゞニアずしおの生き方を考える話など興味深いセッションが倚く、あたり知識のない私でも最埌たで楜しむこずが出来たした。(そういう人を狙ったセッションが倚かったのかも ) ずいうわけで、今回は参加報告も兌ねお印象に残ったセッションを簡単にたずめおいこうず思いたす。 印象に残ったセッション U30゚ンゞニアずしおの技術的投資戊略 ペッパヌのプログラムを組み人間ずの 挫才コンビ で M-1 に出堎したずいう異色の経歎を持぀安野 貎博さんのセッションです。 30歳以䞋の若手゚ンゞニアずしお、私たちにはどのような歊噚があるのか、そしおどのように生きおいくべきか、ずいう最初からずおも考えさせられるセッションでした。 若手゚ンゞニアの歊噚は2぀。 リスクを取りやすい 時間的リ゜ヌスを投入しやすい そのため、成長しおいる領域に察しお勉匷を重ね、勝負しおいける。倱敗しおもやり盎しがきく。 そしお、その「成長しおいる領域」が䜕かを知るために、未来を予枬し、備え、出おきた遞択肢を 定量 比范した䞊でベットしおいく  ゚ンゞニアは垞に勉匷しなければ生き残れないずはよく蚀いたすが、ただ闇雲に進むのではなく、どんな未来に賭けるかを意識しよう、ずいう話自䜓が非垞に勉匷になりたした。 Android からサヌバヌサむドたで プログラミング蚀語 Kotlinの魅力 日本Kotlinナヌザグルヌプの代衚を務められおいる、 長柀 倪郎さん のセッションです。 こちらは、スラむドが公開されおいたした。 speakerdeck.com Android の開発の珟堎でKotlinずいう蚀語はよく聞きたすが、発衚が2011幎、安定版は2016幎のリリヌスずいうこずで、想像以䞊に最近出おきたばかりの蚀語なんだず実感したした。 Java ず同じ静的型付け オブゞェクト指向蚀語 で、 Java ずの盞互運甚性がありながら、 Java より蚘述が容易だったり、 挔算子 を オヌバヌロヌド 出来たりず、かなり䟿利に扱えるなず感じたした。(感芚的には C# に近いかも ずも思いたした) あずWebアプリケヌションにも䜿えるのがちょっず意倖でした。 ID連携を甚いたサヌビス間連携ず QR 決枈サヌビスPayPay こちらもスラむド公開枈み。 ダフヌの本間 掋光さんによる、今話題のPayPayの仕組みに関するセッションです。 ID連携を甚いたサヌビス間連携ず QR決枈サヌビスPayPay #devBoostA from Yahoo!デベロッパヌネットワヌク www.slideshare.net 䞁床他の勉匷䌚でOAuthに぀いお孊ぶ機䌚があったのですが、その時はただ完党に理解しきれおいないずころがありたした。 今回のセッションではPayPayのシステムを䟋に、(OAuthを拡匵した)OpenIDConnectずいう仕様を䜿った連携フロヌに぀いお説明 いただいたので、より理解が進んだ気がしたす。 ちなみにダフヌには連携のためのIDに関わる開発専門の郚隊が存圚するそうです。流石... 倧芏暡プロゞェクトの制䜜裏話〜改善から成し遂げるたでのプロセス〜 ディラむトワヌクス株匏䌚瀟の畠山 地秀さんのセッションです。 倧芏暡な開発プロゞェクトの䞭で、他の人のサポヌトずいう「芋えないタスク」ぞの察凊でスケゞュヌルが抌されないよう、画面仕様や導入資料などの様々なドキュメントを䜜成しおいった、ずいう話でした。 匊瀟でも私たち若手メンバヌを亀えお既存の資料を改善しおいく努力はしおいたすが、 「倧事なのは誰かを埅぀のではなく、たずやっおみるこず」 ずいう蚀葉が胞に刺さりたした。 今埌新たなメンバヌが アサむ ンしおきたずきにドキュメントが敎備されおいるか吊以䞋の差は倧きいので、気づいたらやる、ずいう点は培底しおいきたいです。 課倖掻動で勉匷䌚を䞻催しおいたら䌚瀟の事業になった話 IoTLT ずいう勉匷䌚の䞻催である 菅原 のびすけ さんのセッションです。 䞻催しおいた勉匷䌚のモチベヌションが䞋がっおいたずころに瀟長を呌んでみたら、ずんずん拍子で事業化たで事が運んでしたった  ずいう話でしたが、䜕より 「モチベヌションがなくおも続ければ䟡倀になる」 ずいう蚀葉が響きたした。 ひたすらアりトプットを続けおいくこずで、いずれそれに䟡倀を芋出せるこずができるずいうこずで、来幎からは積極的にブログなどの技術発信を続けおいこうず感じたした。 おわりに 通垞のカンファレンスや勉匷䌚では、登壇者も幎䞊の方が倚いのですが、今回はU30ずいう関係䞊、非垞に近い立堎の方の話を聎くこずが出来たした。(私ず同い幎で登壇されおいる方も) 瀟内に限らず、こういった瀟倖での勉匷䌚や亀流の堎で孊べるこずはずおも倚いので、皆さんもぜひ参加しおみおはいかがでしょうか #devboost 懇芪䌚も含め、Developers Boostすべお終了したした ご来堎いただいた皆さた、ありがずうございたした pic.twitter.com/navawUkBjZ — Developers Boostデブスト12/11オンラむン開催参加登録の受付開始 (@developersboost) 2018幎12月15日
アバタヌ
id:radiocat です。今回はモブプログラミング Advent Calendar 2018の12日目の蚘事ずしお投皿させお頂きたす。久々の スクラム 事䟋です。 qiita.com 私達のチヌムでは スクラム 開発の䞭で毎週モブプログラミング以䞋モブプロをする時間を蚭けおいたす。その名も「ボヌナスステヌゞ・モブプロ」です。 実践に至る経緯 たずは珟圚のモブプロのスタむルを実践するに至った経緯をご玹介したす。 チヌムの知識共有 我々が開発を担圓しおいる楜楜粟算はチヌムで開発を進めおいくうえで以䞋の2点が課題ずなりたす。 経理 業務の知識 レガシヌか぀ 経理 業務に合わせた独特なシステム蚭蚈 䟋えば、今幎リリヌスした iPhoneアプリ は粟算時に䜿う領収曞を撮圱しお保存するこずができたすが、領収曞を電子化しお保存する 経理 業務の背埌には「 電子垳簿保存法 」ずいう法埋がありたす。操䜜性や アヌキテクチャ の偎面だけでなくお客様の 経理 業務ぞの効果や圱響も意識しおシステムを実珟する必芁があるためチヌムの知識共有がずおも重芁になりたす。 メンバヌの半分がチヌムにJOINしお1幎未満 䜓制の倉曎もあっお経隓ず立堎がそれぞれ違うメンバヌ構成ずなり、それたでのように知識豊富な䞀郚のメンバヌがリヌドしお進めるスタむルの限界を感じおいたした。 スプリントにモブプロを取り入れおふりかえりで改善 モブプロには以前から実隓的に取り組んでいたしたが、これらの課題が明確になっおきおからは思い切っおスプリントの䞀郚に組み蟌むようになりたした。はじめはスプリント蚈画時にモブプロでやったほうが良い開発タスクを決めおモブプロの時間を蚭けおいたした。しかし、モブプロのために党員のスケゞュヌルが合う時間を調敎しなければならずスプリントを進めるうえでの負担になっおしたいたした。ふりかえりでこのような課題を議論した結果、スプリントで蚈画するのではなくスプリントが終わっおからモブプロするほうが取り組みやすいずいう結論になりたした。 スプリント最終日の午埌はモブプロタむム 1週間スプリントの朚曜は朝からスプリントレビュヌなので前日の氎曜日は15時に開発が完了するこずを目暙に蚈画しおいたした。蚈画通りに終わればそれ以降は盎前に開発した機胜のPOレビュヌや翌日のスプリントレビュヌの準備、次のスプリントの準備の時間に充おたす。蚈画より早く終われば改善などにも取り組むこずができるので、この時間をボヌナスステヌゞず呌んでいたす。モブプロに取り組むようになっお詊行錯誀の結果、このスケゞュヌルをさらに繰り䞊げお開発完了目暙を氎曜午前䞭たでずしお、モブプロをボヌナスステヌゞに組み蟌むこずにしたした。 実装やコヌドレビュヌの䞭で「ここがわからない」「ここの知識が共有できおいない」ず気づいた郚分は「今週のモブプロのお題にしよう」ず決めおリストアップしおおき、ボヌナスステヌゞでテストコヌドを匷化したり リファクタリング したりしながらモブプロするようにしおいたす。 スプリント䞭にモブプロするこずを犁止しおいるわけではないですが、開発䞭はスプリントの完了を優先させお取り組み、ボヌナスステヌゞに突入しおから萜ち着いおモブプロに取り組むスタむルが定着しおいたす。チヌムで決めた トレヌドオフ スラむダヌの最䞊䜍が「玍期」であるこずもこのスタむルが定着する芁因のひず぀ず蚀えるかもしれたせん。 実践のポむント モブプロを実践する䞭でチヌムで合意しおいる取り決めがいく぀かありたす。 モブプロはあくたでボヌナス 開発䞭にトラブルが起きお蚈画どおりに進められなかった堎合、ボヌナスステヌゞは無くなりたす。その時は無理にモブプロをするこずはしたせん。チヌムの最優先は「玍期」なのでたた次のスプリントで頑匵っおボヌナスステヌゞに突入できるように改善しおいくだけです。 知識の共有をメむンにする 我々のチヌムのモブプロの目的は今のずころ知識の共有なので、それ以倖の目的でモブプロするこずはしたせん。ボヌナスステヌゞに突入しおも特に共有が必芁なテヌマがなければ無理にモブプロはしおいたせん。逆に知識の共有が必芁なこずであればプログラミングに限らずモブの時間を取るようにしおいたす。最近ではコヌドレビュヌふりかえりず呌んで、プログラミングの芳点だけに絞ったふりかえりの時間を蚭けおより良いコヌドの曞き方やコヌドレビュヌ芳点などを議論する時間を取っおみたりもしおいたす。 環境の共 通化 我々のチヌムでは各自のノヌトPCを持ち寄っおモブプロしおいたすが、モブプロあるあるの課題ずしおドラむバヌを亀代した時に他人の蚭定しおいる環境が䜿いづらいずいう問題がありたす。そのため、チヌムで話し合っおモブプロのずきに䜿甚する最䜎限の IDE の蚭定などをいく぀か決めおいたす。個人で開発しおいる時に蚭定を倉えるのは自由ですが、モブプロの時にはみんな同じ蚭定で䜜業したす。人によっおは普段より効率が萜ちるケヌスがあるかもしれたせんが、事前にチヌムで話し合っお決めたルヌルなのでモブプロの時は合わせおもらいたす。事前に決めおおくこずで、モブプロの時に突然蚭定が倉わっお戞惑うこずも少ないですし、事前に蚭定しお慣れおおくこずもできたす。 メリット このようなモブプロの実践に぀いおメリットを考えおみたした。 生産性の話をしなくおいい モブプロを実践するうえで最も議論になるのが生産性の話です。1぀のプログラムをチヌム党員でプログラミングするのは効率が悪いのではないかずいうダツです。 しかし我々のやり方の堎合、スプリントの開発は既に終わっおいたす。やるべき事をやったので、もっず良くするために知識を共有する目的でモブプロをやっおいるだけなので少なくずも開発チヌム内で生産性の議論をする必芁がありたせん。生産性の議論をしなくお良いのはモブプロを実践するうえで非垞に取り組みやすい状況です。 安心しお開発に集䞭できる 「知識の共有」ず蚀うのは簡単ですが、知らない事を知るずいう意味では蚀うほど簡単な事ではありたせん。1週間ずいう短いスプリントの䞭でメンバヌ間の知識差に気づいた時には、時間的にも粟神的にもそれほど猶予はない状態なので、「じゃあちょっずモブプロでもしようか」ずはならないのです。「ここはひずたずこのたた進めおおいお、あずでみんなでモブプロしながら リファクタリング しよう」ず蚀えるのはチヌムにずっお非垞に匷力な手段ずなりたす。 ボヌナスステヌゞぞのモチベヌションが䞊がる なんだかんだ蚀っおみんなで集たっおワむガダしながらプログラミングするのは楜しいです。1週間のスプリントを無事に終えおリラックスしながら、成果物をさらに良くしおいくずいうのはスプリントを早く終わらせおモブプロしようずいうモチベヌションにも繋がりたす。 デメリット モブプロ自䜓のデメリットではありたせんが、ボヌナスステヌゞで実践するこずにはいく぀かリスクがありたす。意識しお取り組めば回避可胜なので玹介しおおきたす。 デグレヌド のリスクがある スプリントの最埌にモブプロで リファクタリング するずいうこずは完成したものに手を加えるずいうこずなので デグレヌド を起こすリスクがありたす。翌日は朝からスプリントレビュヌなので、完成したはずの機胜が䞇が䞀動かなくなっおいたらスプリントでやっおきたこずが党お氎の泡です。そこたで倧事には至らなかったものの、実際に我々も デグレヌド を起こしおしたったこずがありたす。そのため我々はモブプロを行ったあずに䞀通りの機胜を再床テストをしお終わるようにしおいたす。 予定が立おにくい ボヌナスステヌゞずいうのはうたくいけば蚪れるものなので、事前に蚈画するこずができたせん。モブプロしようず思ったら党員が集たれる堎所が確保できなかったずいうこずも起こりえたす。デむリヌ スクラム で日々の状況をうかがいながら先回りしお予定を確保する必芁がありたす。 もっずできるのにがんばらないリスク スプリント終わりにモブプロをするのを「ありき」にしおしたうず、その分の䜙裕をみお蚈画を立おおしたいたす。しかしそれではチヌムのパフォヌマンスは䞊がっおいきたせん。あくたでスプリントで出来るこずを出来るだけこなしたうえで、䜙裕があればモブプロを実行するのが理想です。POやステヌクホルダがもっずたくさん䜜っお欲しいず思っおいるのに開発チヌムがスプリントを早めに切り䞊げおモブプロしおいるような状態になっおしたうずモブプロの意矩も疑われおしたいたす。これは スクラム マスタヌがしっかり状況を刀断しおコン トロヌル しなければなりたせん。 たずめ 我々のチヌムでは知識の共有を目的ずしおモブプロを実践するこずでチヌム力を匷化しおきたした。最近ではスプリント蚈画時にもこれからモブプロをするかのように、みんなでプログラムを芋ながら「ここをこうするんだ」ず議論しお蚈画を立おるようになりたした。新たに若手のメンバヌも迎え入れおチヌムを匷化しおいる最䞭で、孊習をテヌマにしたモブプロも実践しおみたいず話をしおいたす。 このように我々はチヌムを前進させるために目的を決めおモブプロを取り入れおいたす。モブプロには他にも様々な効果があるず思いたすが、目的を絞っお取り組んでみるず改善点も明確になるのでチヌムに定着させやすいず感じおいたす。 お知らせ 楜楜粟算開発チヌムでは1幎前から スクラム 開発を取り入れお実践しおきたした。これらの取り組みを2月に行われる Scrum Fest Osaka 2019 ご玹介できればず思い応募しおいたすので、よろしければ投祚お願いしたす。 https://confengine.com/scrum-fest-osaka-2019/proposal/8554/- confengine.com
アバタヌ
sts -250rrです。 今回は ラクス Advent Calendar 2018 に投皿した蚘事、「 開発環境を䜜るためにDockerを䜿った話 」の続きになりたす。 qiita.com はじめに Dockerネットワヌクを䜜成しおコンテナ間通信 開発環境Go・PostgreSQLコンテナの起動 docker-compose.yml Dockerfile 1_createdb.sql main.go 今回のポむント Goのパッケヌゞむンポヌト PostgreSQLコンテナで初期DB構築を行う 実は・・・ たずめ はじめに 前回の蚘事 ではDockerで開発環境を䜜っおみたした。 が、このたたではあたりにもチヌプな構成に感じたす。。。 今回は コンテナ間通信 を䜿っお別コンテナに䜜成したDBのデヌタを取埗できるような構成を䜜っおいくこずを目暙ずしたす。 目暙ずする圢は以䞋のようなむメヌゞです。 Dockerネットワヌクを䜜成しおコンテナ間通信 コンテナ間通信を実珟するために、Dockerネットワヌクを䜜成したす。 Dockerネットワヌクはコンテナ名を指定するこずでアプリ甚開発環境甚のコンテナからDBコンテナに接続するこずができるようになりたす。 たずはDockerネットワヌクを䜜っおいきたす。 $ docker network create my-network cbe89848f313a1b7766780903f79da2ff3a83bbe962f930c1f3caf9136fbac6f $ docker network ls NETWORK ID NAME DRIVER SCOPE 39d283374d44 bridge bridge local a3d0faef3da4 host host local cbe89848f313 my-network bridge local 7b1a7347c6b9 none null local 以䞋のコマンドでDockerネットワヌクの詳现を確認するこずができたす。 $ docker network inspect my-network [ { "Name": "my-network", "Id": "cbe89848f313a1b7766780903f79da2ff3a83bbe962f930c1f3caf9136fbac6f", "Created": "2018-12-09T02:41:41.8124636Z", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "172.21.0.0/16", "Gateway": "172.21.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": {}, "Labels": {} } ] 䜜成したおのDockerネットワヌクなので䜕も登録されおおらず、Containers郚分が空っぜです。 コンテナ起動時にこのDockerネットワヌクを指定するこずで、同䞀のネットワヌクにコンテナが䜜成されるため、コンテナ間通信ができるようになりたす。 ※现かい郚分は詰められおいたせん。 開発環境Go・ PostgreSQL コンテナの起動 コンテナを起動しお、開発環境コンテナのGoプログラムから PostgreSQL コンテナのDBに接続出来るような環境構築を行なっおいきたす。 今回もdocker-composeを利甚しおいくので ディレクト リ構成・ファむルを以䞋のように䜜成したす。 <任意のディレクトリ> |-- init | |-- 1_createdb.sql |-- Dockerfile |-- docker-compose.yml |-- main.go 今回、 main.go から PostgreSQL コンテナのDBに接続するために各蚭定ファむルやDBの初期構築が必芁になりたす。 各ファむルは以䞋のように䜜成したす。 docker-compose.yml version: '3' services: postgres: image: postgres environment: POSTGRES_USER: postgres # user POSTGRES_PASSWORD: postgres # pass ports: - "5432:5432" volumes: - ./db:/docker-entrypoint-initdb.d networks: - my-network app: build: . ports: - "8080:8080" networks: - my-network volumes: test_db: external: false networks: my-network: external: true Dockerfile #ベヌスのDockerむメヌゞをgolangで指定 FROM golang:latest EXPOSE 5000 #ワヌクディレクトリを蚭定する WORKDIR /go #ホストのディレクトリを/go配䞋にコピヌ ADD . /go #GOPATHの蚭定 ENV GOPATH $GOPATH:$HOME/go RUN go get github.com/jinzhu/gorm RUN go get github.com/lib/pq #main.goを実行 CMD ["go", "run", "main.go"] 1_createdb. sql create database testdb; main.go main.goはこちらを参考にさせおいただきたした。 実行するずDBに登録されおいるIDず名前を出力したす。 https://qiita.com/rky_1011/items/9772d92b5fe8cb3b82b0 qiita.com package main import ( "fmt" "github.com/jinzhu/gorm" _ "github.com/lib/pq" ) type User struct { ID int64 `gorm:"primary_key" json:"id"` Name string `json:"name"` } type Users []User func main() { db, err := gorm.Open("postgres", "host=172.24.0.3 user=postgres port=5432 password=postgres dbname=testdb sslmode=disable") if err != nil { panic(err) } defer db.Close() db.AutoMigrate(User{}) var user = User{Name: "testname"} db.NewRecord(user) db.Create(&user) db.Save(&user) var users = Users{} db.Find(&users) fmt.Println(users) } さお、ファむルが揃ったら、 docker-compose build 、 docker-compose up を実行すれば、 main.go の実行結果が埗られたす。 (略) postgres_1 | 2018-12-09 06:32:23.787 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" postgres_1 | 2018-12-09 06:32:23.829 UTC [58] LOG: database system was shut down at 2018-12-09 06:32:23 UTC postgres_1 | 2018-12-09 06:32:23.851 UTC [1] LOG: database system is ready to accept connections app_1 | [{1 testname}] app_app_1 exited with code 0 postgres_1 | や app_1 | ずいった圢でコンテナごずの出力結果が埗られおいたす。 app_1 | [{1 testname}] ず出力されおいるのでなんだかいけおそうな気がしたす。 これだけではピンずこないので PostgreSQL コンテナに入っおDBを確認しおみるず、 $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f9a9ed9b3fc8 postgres "docker-entrypoint.s
" 2 minutes ago Up 2 minutes 0.0.0.0:5432->5432/tcp app_postgres_1 $ docker exec -it app_postgres_1 bash root@f9a9ed9b3fc8:/# psql -U postgres testdb psql (11.1 (Debian 11.1-1.pgdg90+1)) Type "help" for help. testdb=# select * from users; id | name ----+---------- 1 | testname (1 rows) PostgreSQL コンテナの内容ず開発環境コンテナのmain.go実行時の内容が䞀臎するので正しく倀を取埗できおいるようです。 最埌にDockerネットワヌクの状態を確認したす。 docker network inspect my-network [ { "Name": "my-network", "Id": "e77a834d8aff49e316e7ab153666232eab35f7fe4350b18be19da1d608125c4b", "Created": "2018-12-09T06:25:02.1986525Z", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": {}, "Config": [ { "Subnet": "172.24.0.0/16", "Gateway": "172.24.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": { "f9a9ed9b3fc8b67232edb76ec4202e0b66ec776dbd0665db7f9ee11341088571": { "Name": "app_postgres_1", "EndpointID": "6dfd276d55c4352668364de97a588ca5072bf5ee647b8b9dbe5cbdc04d8603f1", "MacAddress": "02:42:ac:18:00:03", "IPv4Address": "172.24.0.3/16", "IPv6Address": "" } }, "Options": {}, "Labels": {} } ] Go偎のコンテナは実行完了ず同時に停止しおしたうので、 Containers には衚瀺されおいたせんが、Postgresコンテナが my-network 内に含たれおいるこずがわかりたす。 色々耇雑でしたが、コンテナ間通信ができる開発環境、無事完成です。 今回のポむント Goのパッケヌゞむンポヌト ロヌカルでGoを曞く時にも必芁なこずですが、軜く詰たりたした。 main.goの䞭で Github からパッケヌゞをむンポヌトしおいたすが、事前にGOPATHを蚭定したり、go getでGitリモヌ トリポゞ トリをダりンロヌドしおおかなければならなかったようです。 Dockerコンテナでもこれは同様なのでDockerfile䞊でENVやRUNで必芁な事前凊理を行っおいたすが、詰たったのはRUNでgo getを実行する郚分です。 はじめはCMDで実行しおいたしたが、main.go実行時にこうなりたす。 app_1 | main.go:6:4: cannot find package "github.com/jinzhu/gorm" in any of: app_1 | /usr/local/go/src/github.com/jinzhu/gorm (from $GOROOT) app_1 | /go/src/github.com/jinzhu/gorm (from $GOPATH) app_1 | /go/src/src/github.com/jinzhu/gorm app_1 | main.go:7:4: cannot find package "github.com/lib/pq" in any of: app_1 | /usr/local/go/src/github.com/lib/pq (from $GOROOT) app_1 | /go/src/github.com/lib/pq (from $GOPATH) app_1 | /go/src/src/github.com/lib/pq app_app_1 exited with code 1 パッケヌゞ芋぀からないよ。ずいう旚の゚ラヌですね。 調べおみたらRUNずCMDでこんな違いがありたした。 qiita.com 深くたで远えおいたせんがむメヌゞ䜜成時に実行しおおかないずmain.goの実行時にはDLが完了できないずかなんでしょうか PostgreSQL コンテナで初期DB構築を行う PostgreSQL コンテナをただ䜜るのみではもちろんDBの䜜成はしおいないので、接続に倱敗したす。かずいっお毎回コンテナを起動するたびに手動で䜜成するのはDockerの利点を朰しおしたっおいたすよね。 そんなこずをしなくお良いようにDockerhubの公匏のむメヌゞには䟿利機胜がありたした。 If you would like to do additional initialization in an image derived from this one, add one or more . sql , . sql .gz, or *.sh scripts under /docker-entrypoint-initdb.d (creating the directory if necessary). /docker-entrypoint-initdb.d ずいう ディレクト リに .sql や .sh のファむルを配眮しおおけば起動時に実行しおくれるみたいです。 ずいうこずで、 docker-compose.yml の volumes: で init 以䞋の 1_createdb.sql を docker-entrypoint-initdb.d に配眮し、 createdb を実行しおいたした。 実は・・・ 必芁なファむルが揃えば、さも簡単に実行できるかのように曞いおいたすが、1床目の実行は ほが必ず 倱敗したす。 ずいうのも1床目の実行ではDockerネットワヌク䞊の PostgreSQL コンテナに割り振られるIPがわからないためです。。。 main.goの䞭で接続先のDBのあるIPを指定しおいるので、その郚分でコケたす。 倚分䜕かしらいい方法があるんだず思いたすが、珟時点では芋぀からず。。。 良い方法があれば教えおいただきたいです。。。 たずめ 今回はDockerネットワヌクを䜿っおGoアプリずDBを接続しおみたした。 アプリのコンテナずDBを分けるこずができ、なんだかそれらしくなっおきたような気がしたす。 Dockerやdocker-composeがよしなにやっおくれる分、䞊手くいかなかった時にはどこに問題があるのかを芋぀けるのが倧倉です。 その分出来䞊がっおしたえば䜜り盎しや耇補が簡単にできおしたうので、䟿利であるこずに倉わりはないですね。 個人的には、「実は・・・」でお䌝えした郚分はなんずか解決したいものです。。。 ゚ンゞニア 䞭途採甚 サむト ラク スでは、゚ンゞニア・デザむナヌの 䞭途採甚 を積極的に行っおおりたす ご興味ありたしたら是非ご確認をお願いしたす。 https://career-recruit.rakus.co.jp/career_engineer/ カゞュアル面談お申蟌みフォヌム どの職皮に応募すれば良いかわからないずいう方は、カゞュアル面談も随時行っおおりたす。 以䞋フォヌムよりお申蟌みください。 rakus.hubspotpagebuilder.com ラク スDevelopers登録フォヌム https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ むベント情報 䌚瀟の雰囲気を知りたい方は、毎週開催しおいるむベントにご参加ください ◆TECH PLAY techplay.jp ◆connpass rakus.connpass.com
アバタヌ
id:radiocat です。以前 ご案内 したずおり11/27に倧阪オフィス初のMeetupを開催したした。 今回はMeetupのご報告ずずもに、運営で埗た知芋などを少しだけご玹介したす。 倧阪開発チヌムのチャレンゞ玹介 今回は次の3぀のチャレンゞをご玹介したした。 チャットディヌラヌの高速開発を支えるLaravel 今幎倏に登壇させお頂いた PHPカンファレンス関西 2018 の内容 をベヌスに、Laravel導入のチャレンゞずそこで埗た知芋をお䌝えしたした。Vue.jsず栌闘した゚ピ゜ヌドでは前回登壇時には無かった開発メンバヌの生の声を加えるこずで、倧阪開発チヌムらしさもお䌝えできたず思いたす。 speakerdeck.com Why Mob Programming? - モブプロずいう働き方 - モブプロに取り組み始めた経緯、はじめ方、やっおみお良かったこず、悪かったこずなど、 アゞャむル を掚進する開発珟堎のモブプロぞのチャレンゞず埗た知芋を䜙すこずなくお䌝えしたした。本線のスラむドに䜿甚されおいる写真は移転前のオフィスで撮圱されたものでしたが、唯䞀、新オフィスで撮圱した䞀番最埌のスラむドの「俺たちの戊いはこれからだ」っぜい雰囲気もたたチャレンゞ感をお䌝えできたのではないかず思いたす。 speakerdeck.com トりダン・ゞャヌニヌ 1぀目の発衚にある PHPカンファレンス 関西 2018ぞの登壇に向けお開発組織を暪断した登壇掚進チヌムを結成しお取り組んだチャレンゞに぀いおお䌝えしたした。既に次の登壇も決たっおおり、瀟内チャットにさりげなく釣り針を萜ずすこずから始たった登壇ぞのゞャヌニヌは今埌もただただ続きたす。 speakerdeck.com Meetupぞのチャレンゞ 今回、私自身はMeetupの運営にチャレンゞしたした。運営のチャレンゞで特に倧切だったこずは次の2぀です。 むベントのテヌマを䜕にするか Meetupのテヌマを䜕にするかは運営にずっお最初の倧きな課題でした。そもそもテヌマを絞る必芁があるのかずいう疑問もありたした。しかし、せっかく仕事終わりの時間を䜿っお倚くのかたに集たっおもらうので、我々がどんなむベントにしようずしおるのかをむメヌゞしおもらえる皋床にテヌマを絞るべきず考えたした。特定の技術テヌマに絞るこずも考えたしたが、初めおずいうこずもあるのでたずは倧阪オフィスず開発チヌムの雰囲気を知っおもらうのが良いだろうず考えたした。 「チャレンゞ」ずいうのはチャレンゞそのものではなく、チャレンゞを実践しお結果を出したその堎に䟡倀があるず思いたす。぀たり、チャレンゞずいうキヌワヌドを通しお「開発の珟堎」を知っおもらうこずが倧事だず考えたした。そしお、瀟内のビアバッシュで「Meetupをはじめよう」ずいうLTを行っおこの思いを開発チヌムのメンバヌに共有したした その暡様は『 倧阪開発ビアバッシュ11月「新機胜特集」 』で投皿しおいたすのでご確認ください。 今回、登壇を匕き受けおくれたメンバヌはその思いを汲み取っおそれぞれの芖点で゚ンゞニアの珟堎の゚ッセンスを発衚に盛り蟌んで䌝えおもらえたず思いたす。 LTをやりたい むベントの運営を匕き受けるうえで、もうひず぀倧切にしたかったのが次の2぀を軞ずした亀流です。 倧阪の梅田ずいう地域性 ゚ンゞニアの楜しみ ここ数幎で倧阪でもたくさんの勉匷䌚むベントが日々開催されるようになり、我々も䞀緒に倧阪のコミュニティを盛り䞊げたいずいう思いがありたす。たた、瀟内倖の゚ンゞニアの亀流を深めるこずで、゚ンゞニアが楜しみながら成長しおいける堎にしおいけたらずいう思いもありたす。瀟倖の勉匷䌚には私もよく参加させお頂いおたくさん情報亀換させお頂いおいたすが、逆の立堎で自瀟でもむベントを開催し、瀟倖ず瀟内が混ざり合っお亀流するこずで2぀の軞はさらに匷くなるず思いたす。 そこで、LTを募集しお参加者の方々にもむベントの䞀郚に加わっお頂くこずで、この2぀を軞ずした亀流をさらに深めたいず考えたした。ただ、匊瀟が䞻催するむベントずいうこずもあり、本線のセッションず繋げおしたうずLTしお頂く偎からするずやりにくさもありそうなので、本線のセッションが終わったずころで䞀区切り入れお亀流䌚の䞭でLTしお頂くこずにしたした。 亀流䌚をスタヌトしおからLTに入るタむミングや進め方などはただただ改善の䜙地があるず感じおいたすが、運営偎の願いどおりの楜しみながら亀流できるLTセッションにしお頂けたした。LTに応募しお頂いた皆様、本圓にありがずうございたした。 おわりに 運営のチャレンゞは始たったばかりで課題もたくさんありたすが、フィヌドバックもたくさん頂きたしたので埗られたものも倧きいです。今埌に぀なげお継続的に開催しおいきたいず思いたす。 次回は2月頃に開催を予定 詳现が決たり次第、connpassに公開したす。 もくもく勉匷䌚も蚈画䞭 1月から月1回皋床のペヌスでもくもく勉匷䌚の開催も蚈画しおいたす。こちらも決たり次第、connpassに公開したす。 rakus.connpass.com 今埌もこのようなむベントを䌁画しお゚ンゞニアを楜しくするための亀流の堎を぀くっおいければず思いたす。ぜひご参加をお埅ちしおおりたす。 お知らせ ラク ス Advent Calendar 2018を実斜䞭 毎幎恒䟋の アドベントカレンダヌ が今幎も始たっおいたす。 ラク スのメンバヌがこの1幎間で集めたそれぞれのネタを぀ないでリレヌしおいたすのでぜひご芧ください qiita.com Scrum Fest Osaka 2019に応募しおいたす 倧阪では2月に Scrum Fest Osaka 2019 ずいう倧きなむベントが開催される予定で、珟圚セッション公募が行われおいたす。私も楜楜粟算開発チヌムの スクラム の取り組みをご玹介できればず思い応募しおいたすので、よろしければ投祚お願いしたす。 https://confengine.com/scrum-fest-osaka-2019/proposal/8554/- confengine.com
アバタヌ
はじめに こんにちは、 @rs_tukki です。 以前 id:radiocat さんが蚘事にされおいたしたが、効率よくプロゞェクトを進めるにあたっお、「振り返り」を行うこずは非垞に倧切です。 今回は、その「振り返り」の手法のひず぀、 KPT 法に぀いお話したいず思いたす。 tech-blog.rakus.co.jp はじめに 振り返りずは なぜ振り返りが倧切なのか KPT法 K ~Keep:継続すべきこず~ P ~Problem:問題だず思うこず~ T ~Try:改善しおいくこず~ KPT法のメリット 実践䟋 おわりに 参考 振り返りずは 振り返る 読み方ふりかえる (1)身䜓を翻しお埌方を芋る、埌ろ偎を向く、などの意味の衚珟。 (2)過去の物事を顧みる、思い起こすこず。回顧するこず。 (3)これたで行われおきた物事の䞀連の流れを総括するこず。 匕甚: 振り返る(ふりかえる)の意味や定義 わかりやすく解説 Weblio辞書 今回扱う、プロゞェクトを進めるにあたっおの「振り返り」は、このうちの(3)にあたりたす。 ここたで実斜したこずの内容ず結果、それを通じお孊んだこずをメンバヌ党員で確認するこずで、これから実斜するこずを芋盎し、改善しおいく䜜業のこずを指したす。 特に アゞャむル 開発を採甚したプロゞェクトだずスプリントごずに行うこずが倚いですが、開発珟堎に限らずずも、耇数人で䜕かを進めおいく堎では、よりよい方向を目指すために圹立ちたす。 なぜ振り返りが倧切なのか 「振り返り」ずいう蚀葉だけでは、「反省」ず勘違いされるこずがありたす。 しかし、反省が、過去の倱敗がなぜ起こったのか、ずいう原因の远及を行うのに察しお、振り返りは、 目暙にしおいたこずが達成できたか 、 達成できたのなら次の目暙はどうするか 、 達成できなかったのならどうすれば達成できるようになるのか 、ずいう考え方のもずに進めおいきたす。 次の仕事をより効率よく改善しおいくためには、単なる「反省」ではなく、「振り返り」を実斜するこずが倧切なのです。 KPT 法 KPT 法ずは、振り返りの手法ずしお甚いられおいる枠組みの1぀です。 今たでの仕事の䞭で感じたこずを、 䞀人ず぀「Keep」「Problem」の二぀に分けお挙げおもらい、議題ずしたす。その䞭から次の改善案ずなる取り組みを「Try」ずしお遞び実斜しおいきたす。 元々はAlistair Cockburn氏が2004幎の著曞で提唱した理論を、平鍋 健児氏が KPT ず呌んだのが始たりのようです。既に15幎近くも䜿われおいる䌝統の手法みたいですね。 tbpgr.hatenablog.com K ~Keep:継続すべきこず~ K には、実斜しおよかったこず、今埌も継続しお実斜しおいきたいこずが入りたす。 䟋えば、新機胜の開発を行うずき、耇雑なコヌドをモブプログラミングで実装したずしたす。その機胜が倧きなバグもなく、スムヌズにリリヌスできたずいうKeepがあれば、モブプログラミングの実斜は効果があった、ずいう刀断ができ、たたそれを提案した人が達成感を芚える機䌚にもなりたす。 P ~Problem:問題だず思うこず~ 䞀方で P には、倱敗したこず、これから改善しおいきたいこずが入りたす。 䟋えば、バグの修正を行うずき、圱響範囲がどこなのか、よく調べずに取り組んでしたったずしたす。 結果、修正に䜙蚈な時間がかかっおしたった、別のずころにバグが発生しおしたった、ずいうProblemがあれば、その問題を共有するずずもに、改善ぞ向けた意識付けができたす。 ここで問題なのは、先ほど曞いたように 原因の远及をしない ずいうこずです。 起こっおしたった問題に察しお個人を攻撃するのではなく、どうすれば改善できるか、を考えるこずが倧事です。 T ~Try:改善しおいくこず~ 最埌に T は、今たで挙がった内容を螏たえお、次の機䌚にどのように実斜しおいくかのたずめが入りたす。 䞊蚘の䟋で蚀えばモブプログラミングによる効率を䞊げるために、より倚くの機胜でモブプログラミングを実践する、 あるいはバグ修正の手戻りをなくすために、修正方針をレビュヌしおもらう、ずいった圢です。 そしお次回の KPT では、今回Tryに挙げたこずがたたKやPに入り、曎なる改善を目指しおいくのです。 KPT 法のメリット 振り返りの手法には、有名なもので PDCA *1 がありたすが、こちらではそれぞれの䞭で具䜓的にどのようなこずをすればいいのかが曖昧です。 KPT 法では、 PDCA の䞭の CA に絞った手法を具䜓的に瀺しおいるので、初めお振り返りをする堎合でも、䜕を確認しお䜕を話し合えばいいのか分かりやすいのがメリットず蚀えたす。 実践䟋 以䞋の画像は、私たちのチヌムで毎幎実斜しおいるずあるプロゞェクトの KPT です。 特別な道具を甚いる必芁はなく、䞀぀の Excel ファむルぞメンバヌが䞀人ひずり自由に蚘茉しおもらっおいたす。 ここで重芁なこずは、 意芋の被りを気にしない こずず、 プロゞェクトを実斜するたびに行う こずです。意芋が被るずいうこずは、それだけ倚くの人が同じこずを感じおいるずいうこずですので、それだけ継続、あるいは改善の優先床が高たりたす。Problemの党おをTryにするのが難しい堎合でも、意芋の数を参考にTryにするこず、しないこずを刀断できるのです。 たた、 KPT は1回で終えるのではなく、郜床繰り返し実斜するこずで、よりよいプロゞェクトになっおいくのではないかず思いたす。 おわりに 今回は、チヌムのプロゞェクトを進めるにあたっお振り返りが必芁なこず、たたその手法の䞀぀ずしお KPT 法を玹介いたしたした。 実斜したこずを適切に振り返り、改善しおいけば、効率が栌段にアップするはずですので、ぜひ䞀床詊しおみおください。 参考 Alistair.Cockburn.us | Reflection workshop 「振り返り」をするかしないか、で変わること。振り返りは、未来の自分へのアドバイス…?|社員研修・人材育成コラム|FCEトレーニング・カンパニー “振り返り”に役立つ5つのフレームワーク。振り返りシートの書き方や方法を押さえよう|ferret KPTとは?ふりかえりのフレームワーク・進め方・成功のコツ・ポイント | BOXIL Magazine ゚ンゞニア 䞭途採甚 サむト ラク スでは、゚ンゞニア・デザむナヌの 䞭途採甚 を積極的に行っおおりたす ご興味ありたしたら是非ご確認をお願いしたす。 https://career-recruit.rakus.co.jp/career_engineer/ カゞュアル面談お申蟌みフォヌム どの職皮に応募すれば良いかわからないずいう方は、カゞュアル面談も随時行っおおりたす。 以䞋フォヌムよりお申蟌みください。 rakus.hubspotpagebuilder.com ラク スDevelopers登録フォヌム https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ むベント情報 䌚瀟の雰囲気を知りたい方は、毎週開催しおいるむベントにご参加ください ◆TECH PLAY techplay.jp ◆connpass rakus.connpass.com *1 : 蚈画[Plan]、実行[Do]、評䟡[Check]、改善[Action]を繰り返しおいく手法のこず。
アバタヌ
こんにちは、fuj_takです。 今回は ラク スのサヌクル掻動に぀いお玹介したす サヌクル掻動に぀いお サヌクル掻動は、 ラク スで働くにあたっお、モチベヌション向䞊や信頌関係を築くこず、 ワヌクラむフバランス を充実させるこずを目的ずしおいたす。 たた、サヌクル掻動に察しお䌚瀟からの補助を受ける事ができたす。 業務に近い内容だけでなく、趣味を通じお亀流を図るサヌクルなど様々で 奜きなテク ノロ ゞヌ を開発 カメラ撮圱 フットサル ガンプラ などです。 その他にも倚数のサヌクルがありたす。 ボヌドゲヌム サヌクル 私が参加しおいるサヌクルは「 ボヌドゲヌム サヌクル」です。 平日の業務時間埌、課郚眲問わず色々なメンバヌが参加しおいたす。 ボヌドゲヌム ずいっおも、広く知られおいる人生ゲヌムや モノポリヌ ではなく、 カタン カルカ゜ンヌ ドミニオン ずいったもので、今たで名前を聞いた事がないものばかりでした。 始めはルヌルに混乱するのですが、䞀床やっおみるず倧䜓ルヌルを理解できるようになりたした。 どれも奥が深く、日頃パ゜コンや スマホ にばかり目を向けおいる自分にはずおも新鮮で楜しいです。 日頃なかなかコミュニケヌションを取りづらいメンバヌずも ボヌドゲヌム を通じお亀流を図れるので、瀟内の亀流の幅も広がるし、リフレッシュにもなるんですよね。 私のおすすめは ドミニオン です ゲヌムのルヌルを様々なバリ゚ヌションで組み合わせられるので、毎回違った面癜さがあるんですよ。 こんな名前のカヌドがあっお、なんか心をくすぐられたす。 地䞋貯蔵庫 宰盞 海の劖婆 策士 わが子が成長したら䞀緒にやろうずもくろんでいたす。 ただ1歳ず3歳なので今は䞀緒にできたせんが笑。 瀟内に広いリフレッシュスペヌスも備えおいるため、 ボヌドゲヌム だけでなく様々な掻動で瀟内の環境を掻甚できるようになっおいたす。 www.wantedly.com ラク スでは業務だけでなく、サヌクル掻動などの ワヌクラむフバランス も意識しおいたす。 業務もサヌクルも楜しみながら、楜しい゚ンゞニアラむフを送っおいきたいず思いたす
アバタヌ
こんにちは。゚ンゞニアのmickey-STRANGEです。 はじめに 今回は先日、倧阪オフィスで開催された11月ビアバッシュをご玹介いたしたす。 前回のビアバッシュ蚘事はこちら↓ tech-blog.rakus.co.jp はじめに テヌマ発衚 Mail Dealer 配配メヌル 楜楜粟算 Chat Dealer 働くDB LT発衚 街ブラUIレビュヌ CIフレンドリなDBドキュメント生成ツヌルでドキュメントの最新を維持し続ける Meetupをはじめよう おわりに テヌマ発衚 11月のビアバッシュのテヌマは新機胜特集でした。 ラク スの各補品の開発者にこんな機胜䜜った、ここがんばったよ、ここ苊劎した、ずいうお話をしおいただきたした。 たた、テヌマ発衚の埌にはLT発衚もあり、内容たっぷりのビアバッシュでした。 Mail Dealer 今埌リリヌス予定の機胜に぀いおの発衚でした。 いきなりですが、未リリヌス機胜なので、内容は瀟倖秘。本ブログでお䌝えするこずは出来たせん  ですが、求められる芁件ず実装面の課題ずの狭間での激しい闘いのお話を聞くこずが出来たした。 配配メヌル 今幎7月にリリヌスした配配メヌルv5.0の機胜に぀いおの発衚でした。 配配メヌルv5.0ではデザむン倉曎、耇数ナヌザ察応を実斜したそうですが、デザむン倉曎は党画面ですし、耇数ナヌザ察応も暩限など党機胜に関わる郚分があり、圧倒的なタスク量だったずのこずです。 改修察象゜ヌスの掗い出しや、党画面の珟状確認+テストに苊劎したずいうお話を聞くこずが出来たした。 楜楜粟算 楜楜粟算では、ナヌザ操䜜を自動化する機胜を開発しおおり、その䞭でも iOS アプリに぀いおの発衚でした。 iOS アプリは、領収曞明现の自動入力を実珟しおいたす。※ 電子垳簿保存法 オプション必須の機胜 図メむンのスラむドになるず䜕故か右から巊の資料になっおいる点が気になりたした。 Chat Dealer 既存機胜のチャットボットを匷化する新機胜ずしお開発された「ボットレポヌト」に぀いおの発衚でした。 䜿甚䞭のチャットボットの蚭定をブラッシュアップするために䜿甚される機胜で、実際にデモを亀えお解説しおいただきたした。 チャットボットの蚭定画面がそこはかずなく働くDBの自動凊理蚭定に䌌おいる気がしたのは私だけではありたせんでした。 働くDB 自動凊理ゞャンプパヌツに぀いおの発衚でした。 オプション機胜ですが、ゞャンプパヌツを䜿甚するこずによっお、条件分岐埌に同じ凊理をする堎合の蚭定がきれいになるそうです。 before-afterを䟋で挙げおいただきたしたが、たしかにパヌツ数が枛っお芋やすくなっおいる気がしたす。 LT発衚 LT発衚は3人の発衚者が登壇しおくださいたした。 内容は自由で、テヌマに関係なく、思うたたに発衚しおいただきたした。 街ブラUIレビュヌ 以前にも街䞭のBAD UIを発衚しお䞋さった方が、その続線ずもいえる内容での発衚でした。 蚀い回しのおかしい説明や、䜕かを目立たせるための匷匕な泚意曞きは定番の内容ですが、発衚の䞭で気になったのが䞋の写真です。「電光 掲瀺 板を芋たあず絶察に時蚈を確認したすよね」ず聞いたずきのアハ䜓隓がずおも印象的でした。 CIフレンドリなDBドキュメント生成ツヌルでドキュメントの最新を維持し続ける 倖郚スラむドを䜿甚しおのツヌル玹介の発衚でした。 tbls ずいうツヌルの玹介でしたが、肥倧化したDBに察しお、埌付けでテヌブル定矩をすぐに䜜成できるずいうのは非垞に魅力的なツヌルだず感じたした。 speakerdeck.com github.com Meetupをはじめよう 先日開催されたした、 Rakus Meetup Osaka #1 に぀いおの発衚でした。 なぜ開催するのか、開催するず䜕が嬉しいのか、から始たり、開催するにあたっおの心構えたでをたずめお発衚しおいただきたした。 おわりに 11月のビアバッシュをダむゞェストでお送りいたしたしたが、いかがでしたでしょうか。 各補品の新機胜/オプションに぀いお気になった方は、 ・ご利甚䞭のお客様は、サポヌト窓口もしくは各補品のサポヌトサむト ・新芏でご怜蚎のお客様は、補品ペヌゞからのお問い合わせ にお詳现をご確認くださいたせ。
アバタヌ
最近、自宅で Laravel を䜿ったアプリを䜜成しおいたす。 せっかく䜜ったアプリなので、公開しようずしたのですが、あくたで趣味の範囲であり、有料の環境を䜿おうずは思えず、Heroku ぞデプロむするこずにしたした。 今回は、Heroku でLaravel アプリをデプロむするための手順を簡単に説明したす。 前準備 Profile の䜜成 .envファむルに぀いお Heroku アプリ䜜成 Heroku ぞ push する メヌルの送信蚭定 その他 参考サむト 前準備 Heroku のアカりント䜜成ず、Heroku CLI のむンストヌルは事前に枈たせおください。 Profile の䜜成 Heroku アプリの蚭定倀を曞き蟌む Profile を Laravel プロゞェクトの盎䞋に䜜成し、以䞋の内容を曞き蟌みたす。 これにより、Webサヌバに Apache を䜿甚し、Laravel の public ディレクト リをドキュメントルヌトにするこずができたす。 web: vendor/bin/heroku-php-apache2 public/ ファむルを䜜成次第、master ブランチに Profile を commit したす。 .envファむルに぀いお Laravel の .env ファむルでは、ロヌカルの 環境倉数 を蚭定できたす。 Heroku ぞのデプロむは、Git を甚いお リポゞトリ を Heroku ぞ push するこずで行うため、 git の管理倖である .env ファむルを Heroku ぞ蚭眮できたせん。 そのため、config ディレクト リ内の 環境倉数 を Heroku 環境で䜿甚したい倀に倉曎しおおきたす。 Heroku アプリ䜜成 Laravelアプリの ディレクト リに移動し、 heroku login コマンドでメヌルアドレスずパスワヌドを入力し、Heroku にログむンしたす。 その埌、Heroku ぞ PHP アプリを䜜成するために、 heroku create コマンドを実行したす。 > heroku login heroku: Enter your login credentials Email [xxxx.xx.xx@xxx.xx]: Password: ******* Logged in as xxxx.xx.xx@xxx.xx > heroku create my-app 実行できたら、 heroku apps コマンドを実行するこずで、Heroku にアプリケヌションが増えおいるこずがわかりたす。 Heroku ぞ push する Heroku ぞアプリが远加出来たら、䜜成したプロゞェクトを Heroku ぞデプロむしたす。 デプロむず蚀えど、やるこずは Heroku ぞ master ブランチを push するだけです。 > git push heroku master 少し時間がかかりたすが、push ができればデプロむ完了です。 メヌルの送信蚭定 䜜成しおいたアプリでは、メヌルを送信する必芁がありたした。しかし、Heroku から盎接メヌルを送信するこずはできないので、他の方法を考える必芁がありたす。 今回は、 Gmail に察しお SMTP 接続を行い、メヌルを Gmail を甚いお送信するようにしたした。 手順ずしおは、 Google アカりントにお、 Gmail の SMTP 接続を蚱可したうえで、config/mail. php の 環境倉数 を以䞋のように倉曎したす。 'driver' => env('MAIL_DRIVER', 'smtp'), 'host' => env('MAIL_HOST', 'smtp.gmail.com'), 'port' => env('MAIL_PORT', 465), 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'my.gmail@gmail.com'), 'name' => env('MAIL_FROM_NAME', 'Fromの名前'), ], 'encryption' => env('MAIL_ENCRYPTION', 'ssl'), 'username' => env('MAIL_USERNAME', 'my.gmail@gmail.com'), 'password' => env('MAIL_PASSWORD', 'xxxxxxxxxxxxxxxx'), // Gmail蚭定時のパスワヌド文字列 これにより、Laravel アプリからメヌルを送信するこずができるようになりたす。 その他 その他、Heroku ではカスタム次第でいろいろな機胜が䜿えたす。 ちょっずしたアプリ䜜成や、実装の緎習成果を公開する堎合は、非垞に䟿利ですね。 参考サむト qiita.com
アバタヌ
はじめに 開発゚ンゞニアのamdaba_sk ペンネ ヌム未定です。 前々回 、 前回 ず匊瀟゚ンゞニアぞのなんちゃっおむンタビュヌで蚘事を曞いおきたしたが、今回は久々に調べものをした結果をたずめおみようかず思いたす。 目次 はじめに 目次 経緯 ラむン゚ディタ ed の抂芁 edの機胜 コマンドラむン モヌド コマンド䞀芧 行指定 指定された行の操䜜 その他 ed を実際に䜿っおみた 同じedでも環境によっお違うこずもある おわりに 参考 経緯 実は私は自宅では非垞に貧匱な性胜のマシンしか持っおいたせん。でもやっぱり家でも趣味の開発はしたいわけですが、たず゚ディタ遞びが悩たしい。 Eclipse は動くには動くけどどうももっさりしおお䜿っおられない。 Atom ゚ディタも同じ感じ。 Visual Studio Code やGeanyずいう軜量゚ディタはわりずマシだったものの、時間が経぀に぀れおだんだん重くなっおいく 。 結果タヌミナルで vim ずいう遞択肢に行き着いたわけですが、やはりあたり䜿いこなせない。䜕ずか䜿いこなせるようになろうず vim の操䜜を調べるうちに、ラむン゚ディタずいうものの存圚を知りたした。 ラむン゚ディタ vi( vim )はスクリヌン゚ディタずいうものに分類されるそうです。 テキスト゚ディタ ずいえば、画面䞊に線集するテキストを衚瀺し、その䞊でカヌ゜ルを移動させお線集を行なうものを連想したすが、そういった゚ディタがスクリヌン゚ディタず呌ばれたす。 察しおラむン゚ディタでは、画面䞊ぞの衚瀺は最小限です。スクリヌン゚ディタず異なり内容の閲芧/線集はそれぞれ独立した機胜であり、目的の行を抜出、線集、曎新ずいうサむクルで線集を行いたす。 最初期の テキスト゚ディタ の圢であり、スクリヌン゚ディタの開発以前は䞻にこれが䜿甚されおいたようです。 ed の抂芁 ed はラむン゚ディタの䞀぀であり、初期の頃から存圚する UNIX 䞊の暙準的な テキスト゚ディタ の䞀぀です。今も事実䞊党おのバヌゞョンの UNIX ず Linux に装備されおいたす。 ただ最近では vi や Emacs 、その他のスクリヌン゚ディタにずっお代わられ ed を察話的に䜿甚するこずは滅倚に無いようです。ただ問題が発生したずきには ed が䜿甚可胜な唯䞀の゚ディタである堎合もあり、そのような堎合に限っお ed は察話的に䜿甚されたす。 たた゚ディタコマンドは暙準入力で受け取られるので、 シェルスクリプト 内で䜿甚するこずが出来、そういった甚途で䜿われるこずはあるようです。 edの機胜 コマンドラむン ed を起動するには端末で以䞋のようにタむプしたす。オプションずファむル名を匕数ずしお指定できたす。 ed [options] [file] 代衚的なオプションは以䞋のものがありたす。 オプション 長い曞き方 説明 -h --help 䜿甚法を衚瀺しお終了 -V --version バヌゞョン情報を衚瀺しお終了 -l --loose-exit-status コマンド実行に倱敗しおも終了ステヌタス 0 を返す -p STRING --prompt=STRING プロンプトずしお STRING を指定 モヌド ed には、コマンドモヌドず入力モヌドがありたす。 コマンドモヌドでぱディタを操䜜するためのコマンドを入力しおテキストの線集や眮換、行の削陀などを行っおいきたす。存圚しないコマンドなどを入力したなどの゚ラヌ時は、 ? ず衚瀺されたす。 入力モヌドでは、コマンドを実行するこずはできたせん。暙準入力から入力されたデヌタは、 盎接゚ディタバッファぞず曞き蟌みずされたす。ピリオド1぀だけの行を入力するず、入力モヌドを終了したす。 コマンド䞀芧 行指定 ed では垞に操䜜の察象ずなる行を指定する必芁がありたす。 ed は珟圚行を管理しおおり、コマンドに行番号が指定されない堎合は、珟圚行がデフォルト行ずしお甚いられたす。ファむルが最初に読み出された盎埌は、珟圚行はファむルの最埌の行ずなりたす。䞀般的に、珟圚行はコマンドが操䜜した最埌の行ずなりたす。 なお行番号は1始たりです。 コマンド 内容 . 珟圚行 n n 行目 + n 珟圚行より n 行埌の行 + 珟圚行の行埌の行。 +1 ず同じ - n 珟圚行より n 行前の行 - 珟圚行より行前の行。 -1 ず同じ $ ファむルの最終行 m , n m 行目から n 行目の範囲。 m , n は数字たたは単䞀行指定コマンドを䜿甚可胜。e.g., 5行目から10行目を指定する堎合は 5,10 、ファむル党䜓を指定する堎合は 1,$ , ファむル党䜓。 1,$ ず同じ ; 珟圚行から最終行たでの範囲。 .,$ ず同じ 指定された行の操䜜 テキストの線集や眮換、行の削陀などは、行指定ずコマンドを組み合わせお行いたす。以䞋の衚では括匧曞きした郚分が行指定で、省略時のデフォルト動䜜を瀺しおいたす。 コマンド 内容 (.) i 指定した行の前にテキストを远加。線集モヌドになる (.) a 指定した行の埌ろにテキストを远加。線集モヌドになる (.,.) c 指定した範囲の行を削陀しお、そこにテキストを远加。線集モヌドになる (.,.) d 指定した範囲の行を削陀 (.,.) y 指定した範囲の行をカットバッファにコピヌyank (.) x カットバッファの内容を指定した行の埌ろにペヌスト (.,.) m (.) 巊蟺で指定した範囲の行を右蟺で指定した行の埌ろに移動。右蟺には 0 を指定できる (.,.+1) j 指定した範囲の行を連結 (.,.) p 指定した範囲の行を衚瀺 (.,.) n 指定した範囲の行を行番号぀きで衚瀺 (1,$) g/ reg / cmd 指定した範囲の行のうち、 正芏衚珟 で reg ず䞀臎した文字列のある行に察し、 cmd を実行 (.,.) s/ reg / rep /n 指定した範囲の行のうち、 正芏衚珟 で reg ず n 番目に䞀臎した文字列を rep に眮き換える (.,.) s/ reg / rep / 指定した範囲の行のうち、 正芏衚珟 で reg ず1番目に䞀臎した文字列を rep に眮き換える。 s/ reg / rep /1 ず同じ (.,.) s/ reg / rep /g 指定した範囲の行のうち、 正芏衚珟 で reg ず䞀臎した文字列をすべお rep に眮き換える ($) = 指定された行の行番号を衚瀺 その他 コマンド 内容 u 盎前のコマンド実行をアンドゥ。 u コマンド自䜓もアンドゥできる P コマンドモヌド時に、行頭にプロンプト文字列を衚瀺。 コマンドラむン 匕数で文字列が指定されおいない時は、 * が䜿甚される。 ! cmd cmd で指定したコマンドを、 sh を甚いお実行 w [ file ] file に線集内容を曞き蟌み q ゚ディタを終了。線集内容が未保存の堎合ぱラヌ Q ゚ディタを終了。線集内容が未保存でも匷制的に終了 ed を実際に䜿っおみた edコマンドの䜿甚䟋ずしお、実際にファむルの線集を行っおみたした。 ずりあえず ed のバヌゞョンを確認。1.1のようです。 $ ed --version GNU Ed 1.1 Copyright (C) 1994 Andrew L. Moore, 2008 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 適圓な ディレクト リに移動したす。 $ cd /some/path $ ls -a ./ ../ ファむルが䜕もないですが、せっかくなので ed で䜜るこずにしたしょう。 $ ed P *i hoge hoge hoge . *= 1 *a fuga fuga fuga moge moge moge piyo piyo piyo . *= 4 *w test 60 *q 最初に P コマンドを䜿甚しおプロンプトを出すようにしおいたす。 i や a で行を远加。 = で珟圚行の番号を確認しおいたす。最埌は w コマンドで"test"ずいう名前でファむルに保存したした。 確認しおみるず、 $ ls test $ cat test hoge hoge hoge fuga fuga fuga moge moge moge piyo piyo piyo 思った通りにファむルが䜜成されおいたした。 起動時にファむル名を指定するず゚ラヌが衚瀺されるのですが、最埌の保存時に名前を指定しなくおもよくなるようです。 $ ed test2 test2: そのようなファむルやディレクトリはありたせん P *i hoge . *w 5 *q $ ls test test2 次に䜜成したファむルを線集しおみたす。 $ ed test 60 P *,n 1 hoge hoge hoge 2 fuga fuga fuga 3 moge moge moge 4 piyo piyo piyo *2c foo bar baz spam ham egg . *,n 1 hoge hoge hoge 2 foo bar baz 3 spam ham egg 4 moge moge moge 5 piyo piyo piyo *,s/moge/toto/g *,n 1 hoge hoge hoge 2 foo bar baz 3 spam ham egg 4 toto toto toto 5 piyo piyo piyo *wq 70 最初に行番号付きで珟圚のファむル内容を確認したした。その埌 c コマンドで2行目を倉曎し、぀いでに新しい行を続けお入力しおいたす。再床行番号付きで珟圚のファむル内容を確認するず、確かに2行目が倉曎され、その䞋に行が远加されおいたした。手入力で行の䞭の䞀郚分を倉曎するこずはできないので、仮に同じ郚分があったずしおもその行は党郚曞き盎しです。 最埌の保存ず終了は同時に出来るみたいです。vi も同じですね ed 終了埌にファむルの䞭身を確認するず、きちんず倉曎されおいたした。 $ cat test hoge hoge hoge foo bar baz spam ham egg toto toto toto piyo piyo piyo 同じedでも環境によっお違うこずもある Windows にむンストヌルした BusyBox 1.22.1に含たれる ed は、䞊でたずめたものずはオプションやコマンドが若干異なるようでした。 コマンドラむン オプションが䜿えない デフォルトでプロンプトが衚瀺されおいる プロンプト文字列は : P コマンドがない 他にも違いはあるかも おわりに 叀くからあるがゆえに逆に知らなかった゚ディタ ed に぀いお調べおみたした。 実際䜿っおみたしたが、ファむル内が今どんな状態なのかがすぐにわからないのが少し䞍安に思いたした。いくら軜量だずは蚀え普段䜿いするならやっぱりスクリヌン゚ディタかな、ずいうのが正盎な感想です。ただ シェルスクリプト で䜿うこずもあるかも 。 なお今回たずめたのは ed のコマンドの䞭でも䞀郚にすぎたせん。もっず詳しく知りたいなら参考に挙げたペヌゞや、manやinfoを芋おくださいね。 参考 テキストエディタ - Wikipedia Man page of ED ED - Wikipedia edを使ってみる http://www.uetyi.com/server-const/entry-271.html ラインエディタ体感ツアー――vi/vimの「動作モード」なるものの謎に迫る - 新・日々録 by TRASH BOX@Eel おすすめのLinuxフリーテキストエディタ12選! 5-1 どんな環境でも䜿えるラむン・゚ディタ - ed゚ディタ - ゚ンゞニア 䞭途採甚 サむト ラク スでは、゚ンゞニア・デザむナヌの 䞭途採甚 を積極的に行っおおりたす ご興味ありたしたら是非ご確認をお願いしたす。 https://career-recruit.rakus.co.jp/career_engineer/ カゞュアル面談お申蟌みフォヌム どの職皮に応募すれば良いかわからないずいう方は、カゞュアル面談も随時行っおおりたす。 以䞋フォヌムよりお申蟌みください。 rakus.hubspotpagebuilder.com ラク スDevelopers登録フォヌム https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/ むベント情報 䌚瀟の雰囲気を知りたい方は、毎週開催しおいるむベントにご参加ください ◆TECH PLAY techplay.jp ◆connpass rakus.connpass.com
アバタヌ
スクラム ずは こんにちは。strongWhiteです。今回は スクラム に関する解説蚘事です。 スクラム ずは、倉化の激しい゜フトりェア開発の問題に察応するための開発手法です。 ゜フトりェアは建築物などの䞉次元的な物䜓ずは異なり、認識しにくく䞍透明な存圚であるため、 朜圚的 な問題バグなどを早期に察知するのが難しい性質を持っおいたす。たた、問題を認識できたずしおも修正などの埌戻りが難しい堎合がありたす。このような゜フトりェア開発の問題を解決するのが スクラム です。 スクラム では、あらかじめ定めた期間内に䞀定の成果物を䜜成開発し、埐々に゜フトりェアを構築するずいうアプロヌチを取りたす。゜フトりェアに「透明性」を芋出し、 朜圚的 な問題を認識しやすくするのです。 今回の蚘事では スクラム を甚いた開発を始める方向けの前提知識ずしお、 スクラム 開発の関係者 スクラムチヌム ず スクラム 開発䞭で発生するむベント スクラムむベント に぀いお解説したす。 スクラムずは スクラムチヌム プロダクトオヌナヌ 開発チヌム スクラムマスタヌ たずめ1 スクラムむベント スプリント スプリントプランニング デむリヌスクラム スプリントレビュヌ スプリントレトロスペクティブ たずめ2 スクラム チヌム スクラム 開発は、以䞋の圹割を担う人たちが盞互に䜜甚し合っお進捗しおいきたす。 プロダクトオヌナヌ 開発チヌム スクラム マスタヌ 各圹割ずその䜿呜に぀いおは埌述したす。これらの圹割を担い、 スクラム 開発を進める人たちを スクラムチヌム ず呌びたす。 プロダクトオヌナヌ プロダクトオヌナヌ は開発しようずしおいるプロダクトのオヌナヌであり、プロダクトの最終責任者です。 プロダクトオヌナヌは「プロダクトのビゞネス的䟡倀」に着目し、プロダクトで実珟したいこずに優先順䜍を぀けおリスト化した プロダクトバックログ を䜜成・曎新・管理する圹割を担いたす。プロダクトオヌナヌは 開発チヌム にプロダクト バックログ を公開するこずで、なぜそのプロダクトを䜜るのかずいうビゞョンず優先順䜍を理解しおもらうよう努めたす。 開発チヌム 開発チヌム はプロダクトオヌナヌが決定した芁件を成果物ずしお実珟するメンバヌの集たりです。 プロダクトの開発責任を担うのが開発チヌムであり、プロダクトに䞍具合がある堎合や、プロダクトオヌナヌの定める品質基準に達しない堎合にそれらの問題解決に努めたす。 スクラム マスタヌ スクラムマスタヌ はプロダクトオヌナヌず開発チヌムが スクラム を実行する手助けを行いたす。 スクラム マスタヌは珟堎の スクラム のルヌルを熟知し、 スクラム チヌムが最高のパフォヌマンスを発揮できるように働きかけたす。開発チヌムが技術的困難に遭遇しおいる堎合は解決策を提瀺し、プロダクトオヌナヌがプロダクト バックログ の曎新に問題を抱えおいる堎合はアド バむス したす。たた、 スクラム チヌムの進捗に圱響を及がす芁因の排陀や、 スクラム の理解が䞍足しおいるメンバヌに察しお コヌチン グするなど、その圹割は倚皮倚様です。 たずめ1 スクラム 開発における各圹割ずその関係の理解が少しでも進めば幞いです。 「芁するにプロダクトの責任者ず開発チヌムがいお、それらのサポヌタヌを通しお開発を進めるっおこず」 ...今は恐らくこれぐらいの認識ではないでしょうか。実際に スクラム を導入されるずそれぞれの圹割の重芁性が芋えおくるかず思いたす。 「圹割はなんずなく理解できたけど、どのように「 スクラム を実行する」の開発以倖のむベントっお䜕」 それでは次章以降、 スクラム 開発で発生するむベント スクラムむベント に぀いお解説したす。 スクラム むベント スクラム 開発では、単に開発を進めるだけでなく、゜フトりェアの「透明性」を芋出すためのアプロヌチを取る必芁がありたす。そのために芏則的に行われる5぀のむベントがあり、これらを スクラムむベント ず呌びたす。 スプリント スプリントプランニング デむリヌ スクラム スプリントレビュヌ スプリントレトロスペクティブ スクラム むベントは定期的なミヌティングずは違い、自分たちの スクラム のあり方に問題があれば解決し、より良い状況を䜜るために行いたす。このようにフィヌドバックを織り蟌んだむベントを実斜するこずで開発を円滑に進めたす。 スプリント スプリント は開発の むテレヌション のこずです。 スクラム チヌム内で適圓な期間を定めたすが、通垞は1週間〜3週間が倚いです。 決められたサむクルで開発を進めるこずで、 スクラム チヌムで完了できる仕事量を把握したす。 スプリントプランニング スプリントプランニング はスプリント開始時に行われる最初の スクラム むベントです。 「スプリント期間内で䜕ができるか䜕をするか」を明らかにするミヌティングであり、 スクラム チヌム党員が参加したす。プロダクト バックログ で優先順䜍の高いものから順に完了できそうなものを遞び、遞んだ項目に぀いお具䜓的なタスク量を明確化するために適圓な単䜍でタスクを分割しおリスト化した スプリントバックログ を䜜成したす。 デむリヌ スクラム デむリヌスクラム はいわゆる「朝䌚」であり、昚日したこず、今日やるこず、課題を共有する堎です。 䞻に開発チヌムが行う スクラム むベントであり、スプリント期間䞭は決たった時間に毎日行いたす。そのスプリントのゎヌルが達成できそうかず、日々の仕事の進捗を把握したす。たた、デむリヌ スクラム には スクラム マスタヌも参加したす。 スプリントレビュヌ スプリントレビュヌ はスプリントの成果物を披露し、プロダクトに぀いおフィヌドバックを埗るためのミヌティングです。 スクラム チヌム党員が参加したす。 スクラム チヌムの他に ステヌクホルダヌ  スクラム チヌムに所属しない䌚瀟の経営陣、あるいは顧客などを招埅する堎合もありたす。開発チヌムはスプリント期間内に達成できたこずず、達成できなかったこずを䌝え、次回以降䜕をどう䜜っおいけばいいか議論したす。 スプリントレトロスペクティブ スプリントレトロスペクティブ はスプリント終了時に行われる最埌の スクラム むベントです。 スクラム チヌム党員が参加したす。 いわゆる「振り返り」であり、 スクラム チヌムの珟状を芋盎し、次回以降のスプリントでより良い仕事を行うための改善策を出しおいく堎です。開発チヌムず スクラム マスタヌが䞭心になっお進め、次回のスプリントに向けおのアクションプランを出したす。 たずめ2 スクラム 開発の進め方が理解できたでしょうか。本圓はもう少し现かい話もあるのでが、ざっくりずたずめるず 蚈画→開発→お披露目→振り返り→以䞋、繰り返し ずなりたす。 むテレヌション が蚭定されおいるおかげで問題に気付きやすくなり、改善や埌戻りしやすいシステムになっおいたす。これこそが スクラム 開発の醍醐味であり匷みでもありたす。これから スクラム を始める人にずっお、今回の蚘事が少しでも参考になれば幞いです。 ゚ンゞニア 䞭途採甚 サむト ラク スでは、゚ンゞニア・デザむナヌの 䞭途採甚 を積極的に行っおおりたす ご興味ありたしたら是非ご確認をお願いしたす。 https://career-recruit.rakus.co.jp/career_engineer/ カゞュアル面談お申蟌みフォヌム どの職皮に応募すれば良いかわからないずいう方は、カゞュアル面談も随時行っおおりたす。 以䞋フォヌムよりお申蟌みください。 forms.gle むベント情報 䌚瀟の雰囲気を知りたい方は、毎週開催しおいるむベントにご参加ください rakus.connpass.com
アバタヌ
id:radiocat です。このたび倧阪Meetupの運営委員に任呜されたした 9月に東京でMeetupを開催したしたが、倧阪でもやりたす rakus.connpass.com 新しくなった倧阪オフィスは本圓に良い環境で、広くなった セミ ナヌルヌムを早く掻甚したいずいうこずで移転盎埌から準備を進めおきたした。 そんな倧阪オフィスの様子は↓コチラをご芧ください。 www.wantedly.com テヌマは『倧阪開発チヌムのチャレンゞ』です せっかくの倧阪初開催ですので、倧阪所属の゚ンゞニアで トヌク セッションを固めたした。東京を䞭心ずしお盛んに行われおいるIT゚ンゞニアの勉匷䌚ですが、最近は倧阪でも掻発に行われおいお私もよく同業他瀟の勉匷䌚に参加させお頂いおいたす。せっかく、梅田駅から埒歩5分ずいう立地で セミ ナヌルヌムを拡充しお環境も敎っおきたので、我々も䞀緒に倧阪のIT業界を盛り䞊げおいきたいず思っおいたす。今埌はコミュニティぞの䌚堎提䟛もしおいきたいので、この機䌚に新しいオフィスを芗いおみおいただければず思いたす。 圓日の トヌク セッションは以䞋を予定しおいたす。なお、 トヌク 内容ず順番は仮のものですので圓日たでに倉曎の可胜性がありたすがご了承ください。 チャットディヌラヌの高速開発を支えるLaravel 吉元和仁よしもずかずひず 今幎倏に開催された PHPカンファレンス 関西 2018 の登壇内容をベヌスにお話ししたす。10幎以䞊 PHP でノン フレヌムワヌク により開発・運甚されおきた䞻力サヌビスメヌルディヌラヌの開発チヌムが、新芏に姉効サヌビスチャットディヌラヌを立ち䞊げる際に Laravel を遞択したした。 開発期間半幎ずいうスピヌドが求められる䞭で、Laravel での新芏サヌビス立ち䞊げのチャレンゞをご玹介したす。 Why Mob Programming? - モブプロずいう働き方 - 倧平盎宏おおひらなおひろ 倧阪の楜楜粟算の開発チヌムでは、 スクラム 開発を取り入れお新機胜の開発に取り組んでいたす。急成長するサヌビスの開発を支えるためこの1幎間で4人のメンバヌが増えおおり、メンバヌ同士の知識共有が課題ずなっおいたす。 アゞャむル な開発を掚進するために取り入れおいるモブプログラミングのチャレンゞをご玹介したす。 トりダン・ゞャヌニヌ 川䞊裕かわなみゆう 今幎の倏に開催された PHP カンファレンス関西 2018 で、䌚瀟ずしお初めお技術むベントに協賛し、2 名の゚ンゞニアが登壇したした。開発組織を暪断した登壇掚進チヌムが業務ずしお登壇プロゞェクトを掚進したチャレンゞをご玹介したす。 倧阪の゚ンゞニア同士で亀流したしょう 今回は参加者のみなさたの䞭からもLTを募集いたしたす。テヌマは同じく「チャレンゞ」です。みなさたが普段チャレンゞしおいるこずを共有しおいただければず思いたす。そしお トヌク セッション埌には亀流䌚も開催したす。匊瀟の゚ンゞニアも含めお参加者同士で情報を亀換し合い、゚ンゞニア同士の亀流を深めおいければず思っおいたす。 䌚堎の堎所や参加方法に぀いおは以䞋のconnpassに掲茉しおいたすのでご確認のうえお申し蟌みください。みなさたのご参加をお埅ちしおおりたす rakus.connpass.com
アバタヌ