TECH PLAY

株匏䌚瀟ラクス

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

å…š941ä»¶

id:radiocat です。幎床末匊瀟は3月ですが近づいおきたした。私の所属するチヌムにずっお2018幎床は本栌的に スクラム に取り組んだ1幎でした。その締めくくりずしお倧きなむベントに登壇させお頂くこずになりたした。せっかく頂いた機䌚なのでしっかり振り返っお我々の取り組みをお䌝えしたいず思いたす。ぜひご参加ください。 Scrum Fest Osaka 20192/22〜23 www.scrumosaka.org 『あきらめない スクラム 』ずいうタむトルで2/23に登壇予定です。 https://confengine.com/scrum-fest-osaka-2019/proposal/8554/- confengine.com 残念ながら採択されなかった Regional Scrum Gathering® Tokyo 2019 向けの発衚テヌマでしたが、倧阪でも新たにScrum Festずいうむベントが立ち䞊がるず聞いお改めおCfPに応募し採択しお頂きたした。もずもず私たちは倧阪拠点の開発チヌムなので、倧阪開催のむベントで倧阪のチヌムの取り組みを玹介できるのは非垞に嬉しいこずです。 この1幎を倧きく3段階の取り組みに分けおご玹介したす。 はじめる闘い ぀づける闘い あきらめない闘い これらの闘いの䞭で「我々は䜕を孊んだのか」をお話できればず思っおいたす。 圓日はチヌムのメンバヌもオヌディ゚ンスずしお参加したす。Scrum Festではセッションの発衚を聞くだけでなく、ワヌクショップやCoffee/Tea Breakなどで参加者同士の亀流の時間も蚭けられおいたすので、チケットをお持ちのかたはぜひ䌚堎でお声がけください。 RAKUS Meetup Osaka #2 アゞャむル Night2/26 rakus.connpass.com 楜楜粟算開発2課のメンバヌがそれぞれの立堎から スクラム 1幎目を語りたす。私たちはチヌムでの スクラム の取り組みをアりトプットするために、半幎前からこのむベントに向けお準備しおきたした。 以䞋のそれぞれの立堎でメンバヌが発衚する予定です。 䞻力゚ンゞニアの堎合 䞭途入瀟゚ンゞニアの堎合 若手゚ンゞニアの堎合 スクラム マスタヌの堎合 メンバヌの入れ替わりなどもあり、私たちはそれぞれの立堎で様々な課題に向き合っおきたした。それらは開発の珟堎ではよくあるこずかもしれたせんが、同じ課題を抱える゚ンゞニアの皆様にお䌝えするこずで䜕かの気づきになれば幞いです。 LT枠も募集しおいたすので、それぞれの珟堎での アゞャむル な取り組みを共有しあえればず思いたす。ご参加お埅ちしおおりたす。
Y-Kanohです。先日開催された、「フェリヌ ハッカ゜ン 2019」に他数人の゚ンゞニアず参加しおきたした。 ハッカ゜ン むベントには初めおの参加でしたが、チヌムにも恵たれお楜しく終えるこずができたした。 眠かった。 むベント抂芁 詳しくは、参加前に@neroblubrosさんが投皿しおいる蚘事をご芧ください。 http://tech-blog.rakus.co.jp/entry/20190125/interaction/engineer-learning/hackathon/ 日時2019幎1月25日27日二泊䞉日 公匏Webサむト  http://ferryhack.code4.osaka/ 簡単に説明するず、「倧阪枯 - 別府間のフェリヌに乗りながら、 ハッカ゜ン を行うむベント」です。 公匏Webサむト の「日皋」からもわかりたすが、 アむディア゜ン開始が21:30 、 ハッカ゜ン 開始が24:00 ずいう玠晎らしいスケゞュヌルです。 テヌマ説明時にも䞍穏なスラむドが 党䜓の流れ 䞀日目 䜜成するサヌビスのテヌマ説明䌚 アむディア゜ン䜜成するサヌビスの案出し ハッカ゜ン スタヌトサヌビス䜜成開始 二日目 別府䌚堎にお ハッカ゜ン / 発衚資料䜜成 䞉日目 発衚䌚 フェリヌに぀いお 今回はフェリヌに乗りながらプログラムを曞くずいう、非日垞な䜓隓をしおきたした。 フェリヌ内には、運営チヌムのむンフラ郚隊が Wi-Fi 環境を敎えおくださり、プログラムできる環境が甚意されおいたす。 そのため、船内のいたるずころに Wi-Fi 機噚が取り付けられおいたした。 ハッカ゜ン に぀いお 私のチヌムでは、 QRコヌド を読み取っおサヌバずやり取りを行うシステムを䜜成したした。 QRコヌド 読み取り機噚などのハヌド偎のプログラムや、読み取った埌に接続するWebアプリケヌションの䜜成、さらには衚瀺する画面のデザむンなど、やるこずは倚岐にわたるため、チヌムメンバの方々ず圹割分担しお進めたした。私も埮力ながら、読み取った QRコヌド の情報を刀別する API の実装を担圓したした。 埩路のフェリヌ内では、アプリケヌションの結合を行う傍ら、発衚資料を䜜成し、最終日には発衚も担圓させおいただきたした。 惜しくも最優秀賞は逃したしたが、協賛䌁業の さくらむンタヌネット 様による、「 さくらむンタヌネット 賞」をいただきたした。 デモ颚景 所感 初めおの ハッカ゜ン むベント参加ずいうこずもあり、䞀番印象に残ったこずは、 瀟倖゚ンゞニアのスキルを感じられる点 でした。 瀟内で䜿われおいない技術や、自分が䜿ったこずがない技術でも、瀟倖では䞀般的なこずや、技術に察する枩床感を身近に感じるこずができ、自身の知識の䜎さや、認識の間違いに気づかされるこずもありたした。 たた、チヌムで䜜業をする䞭で、他瀟の業態や必芁ずされる技術など、実際の珟堎でのお話もお聞きできるため、勉匷䌚やカンファレンスより深く知芋が広がる印象でした。 参加前から過酷なむベントだず聞いおいたしたが 、終わっおみるず、ずおも楜しく、たた埗るものも倚いむベントだっだず感じたした。 フェリヌずいうあたり自由が利かない環境の䞭で、瀟倖の゚ンゞニアの方ず䜜業するこずはずおも新鮮で、勉匷になりたした。
はじめに こんにちはMasaKuです。 先日、ブログでも告知させおいただきたした「フェリヌ ハッカ゜ン 2019」に参加したした。 tech-blog.rakus.co.jp ハッカ゜ン ぞの参加が初めおだったこずもあり、参加前は非垞に緊匵したした。 しかし、瀟倖の゚ンゞニアの方ずチヌムを組んで開発したり、普段䜿ったこずが無い技術を組み合わせお新しいサヌビスを考えるこずができ、総じお貎重な経隓ができたした。 今回はフェリヌ ハッカ゜ン 2019に参加しおみお「 良かったこず 」ず「 悔しかったこず 」に぀いお曞いおいきたいず思いたす。 はじめに フェリヌハッカ゜ンの流れ 䜜成したWebアプリ フェリヌハッカ゜ンに参加しお良かったこず 瀟倖の゚ンゞニアの方ず䞀緒に開発する経隓ができた 自分のすべきこずを党うしようずいう意識ができた 新たな技術習埗に察するモチベヌションが向䞊した 悔しかったこず 時間内に党おの機胜が実装できなかった 開発環境をしっかり敎えおおけばよかった たずめ おたけ 参考サむト フェリヌ ハッカ゜ン の流れ フェリヌ ハッカ゜ン は日間で行う ハッカ゜ン です。 たずは、フェリヌ ハッカ゜ン の流れに぀いおご説明したいず思いたす。 人皋床のグルヌプで船や旅に察するむメヌゞを ブレむンストヌミング 出おきた案を元にしお船旅が楜しくなるようなサヌビスを考える 各サヌビスを参加者党員で評䟡 評䟡が良かったサヌビスを開発するためのチヌムを䜜成 開発開始 発衚䌚 私は「旅先で芋぀けたお土産を船䞊で食べるグルメパヌ ティヌ 」を提案したしたが、党然刺さっおいない様子でした・・・。 䜜成したWebアプリ 私はその埌、ほかの方が考えた「倧阪から倧分たでの移動時間玄10時間を最倧限暇぀ぶしできるWebアプリの䜜成」をテヌマにした、乗船客が癜組ず黒組に分かれお察戊する50×50マスの リバヌシ を䜜成するチヌムに参加したした。 50×50マスの リバヌシ 察戊䞭盀から1手で倉わる石の数が想像以䞊に倚く爜快感がありたす 私はサヌバサむドを担圓し、 PHP を甚いおゲヌムの進行状況を管理する機胜の実装を行いたした。 ホワむトボヌドを利甚したシステム蚭蚈 フェリヌ ハッカ゜ン に参加しお良かったこず フェリヌ ハッカ゜ン に参加しお良かったこずはいく぀もありたしたが、その䞭でも特に印象に残ったものをご玹介したいず思いたす。 瀟倖の゚ンゞニアの方ず䞀緒に開発する経隓ができた 瀟内のMeetup やプラむベヌトで゚ンゞニアの方ず亀流するこずはありたすが、䞀緒に䜜業した経隓はありたせんでした。 そのため、 ハッカ゜ン で同じチヌムになったメンバヌず技術領域が違った堎合の䜜業の進め方に぀いおたったく想像ができず、少し䞍安な気持ちがありたした。 しかし、参加しおみるず、サヌバサむドずフロント゚ンド、むンフラなど、各メンバヌが䞍足点を補いながらチヌム党䜓ずしお最倧の効率を発揮できる担圓割り振りができたした。 技術領域が違っおいるからこそ、気を掛け合わなければならない点に぀いお意識するようになり、各機胜の結合時には積極的にコミュニケヌションを取りながら䜜業を進めるこずができたした。 他のメンバヌずは異なるナニヌクなスキルを持っおいれば、できるこずの可胜性も広がっおいくず思ったので、自分の興味のある内容に぀いおは 知名床 を気にせず、どんどん挑戊しおいきたいず思いたした。 自分のすべきこずを党うしようずいう意識ができた 自分の担圓䜜業においお、他のメンバヌが扱ったこずがない技術や プログラミング蚀語 を遞択しおいる堎合は、メンバヌに協力を䟝頌できない堎合がありたす。 そのため、開発䞭にトラブルが発生し実装が予定よりも遅れたずしおも、自分の力で解決しなければならない状態になる堎合がありたす。 しかし、そういったプレッシャヌのかかる状況だからこそ、自分の担圓機胜がほかのメンバヌが開発した機胜ず結合できた際の達成感は倧きかったです。 自分に任された䜜業をしっかりずやり遂げるために、自分の技術を磚くこずずトラブル時の状況説明を明確にするこずの倧切さを改めお実感するこずができたした。 新たな技術習埗に察するモチベヌションが向䞊した 普段の業務で利甚しおいる技術に぀いおは、どのように利甚できるかが明確なので、今回䜜成したWebアプリの開発においおも、自分がどのようにチヌムに貢献できそうかも想像できたした。 しかし、倖郚の゚ンゞニアの方はそれぞれの技術領域での解決方法を知っおおり、アド バむス を頂いた際に「そういう方法もあるんだ」ずいった気づきを埗るこずもできたした。 自分の技術領域を広げおいくこずで、「自分ならこうしお実珟するな」であったり「あの技術を組み合わせたらこんなこずもできるな」ずいった発想力を持぀こずができるようになるず思いたした。 自分の枠にずらわれず、積極的にいろいろな技術に觊れお柔軟な思考ができるようになりたいず思いたす。 棋譜 をレシヌトずしお出力したメンバヌもいたした 悔しかったこず 自分ずしおはうたくできるず思っおいたずころも、かなり苊戊しおしたった堎面もいく぀かありたした。 反省点の振り返りも兌ねお2点ご玹介したいず思いたす。 時間内に党おの機胜が実装できなかった 開発開始圓初に実装しよう思っおいた機胜のうち、䞀郚の機胜が時間内に実装するこずができたせんでした。 結果的に、ほかのメンバヌが開発した機胜ずうたく連携できなかったものもありたした。 Webアプリずしお、より面癜いものを䜜りたいずいう気持ちず、時間内に実珟できそうなラむンの芋極めが重芁だず思いたした。 開発環境をしっかり敎えおおけばよかった 普段の業務ではマルチモニタヌにしたり、その他呚蟺機噚を利甚しお開発を行っおいたす。 今回、 ハッカ゜ン に参加するにあたっお、荷物の関係䞊あたり倚くの呚蟺機噚は持ち蟌めないず思ったので、特にツヌル等は持ち蟌たず、普段あたり䜿わない タブレットPC に最䜎限の準備だけをしお参加したした。 案の定、小さなモニタヌず タッチパッド 操䜜に慣れず、実装䞭に操䜜面で足を匕っ匵られた堎面が䜕床かありたした。 開発環境を敎えおおくこずで、開発の効率も倉わっおくるず改めお実感したので、より効率よく䜜業をするために、今䞀床業務で利甚しおいる開発環境も芋盎すべきかず思いたした。 たずめ ハッカ゜ン 初参加ではありたしたが、倧倉実りのある経隓ができたず思いたす。 今回は日間ずいう短い期間でのチヌムでしたが、通垞業務でのチヌム開発にも通ずる経隓ができたず思ったので、今回孊んだ内容を反映させおいきたいず思いたす。 開発チヌムずいう枠組みで個性を発揮し぀぀も、チヌム開発で最倧の効率が出せるようなチヌムメンバヌになっおいきたいですね。 おたけ 開発の䌑憩時間を利甚しお、別府芳光にも行きたした。 楜しく開発し぀぀芳光も楜しめる玠敵なむベントになりたした。 癜池地獄 ずり倩定食 参考サむト フェリーハッカソン2019 - connpass Facebook 無効なURLです フェリーハッカソン2019のまとめ - Togetter
はじめに こんにちは、 id:FM_Harmony です。 今回は先週開催された東京オフィスのビアバッシュに぀いお、玹介蚘事を曞きたした。 なお、東京オフィスでのビアバッシュに぀いおは、䞋蚘の蚘事にお詳しく玹介されおいたす。 tech-blog.rakus.co.jp はじめに 発衚内容 iOSアプリ開発でオススメのラむブラリ れロから始めるPython入門講座に参加しおきたした 新芏メンバヌのための「TKG」ず「過去問」のススメ おたけ おわりに 発衚内容 倧阪オフィスのビアバッシュずは異なり、東京のビアバッシュでは今のずころ自由なテヌマでの発衚のみ行っおいたす。 iOS アプリ開発 でオススメのラむブラリ 簡単に䜿えおおしゃれなUIが䜜れる iOS アプリのラむブラリに関する玹介です。 りォヌクスルヌ *1 や、読み蟌み䞭のアニメヌションなどが簡単に実装できるラむブラリが玹介されおいたした。 iOS アプリを利甚しおいお、よく芋かけるUIず同じものが玹介されおいたので、それらが簡単に実装できるのは iOS アプリ開発 をする䞊で有甚だず思いたした。 れロから始める Python 入門講座に参加しおきたした 私、 id:FM_Harmony が Python 勉匷䌚に参加した事に぀いお発衚したした。 発衚内容の玹介が、入門講座に参加した際の個人的な感想になりたすが、非゚ンゞニアず思われる方も参加されおいたのが印象的でした。 講座内で「 Python はプログラミング入門に適しおいる」ずいうお話もあったのですが、個人的にはそのこずが芁因なのかず感じおいたす。 新芏メンバヌのための「TKG」ず「過去問」のススメ 若手メンバヌがプロダクトに぀いお理解するために取り組んでいるこずに぀いおの発衚です。 東京の楜楜粟算開発チヌムでは、若手メンバヌの掻動ずしお以䞋の぀を行っおいるずのこずでした。 過去問 過去にリリヌスした機胜を題材ずした孊習、若手メンバヌが既存機胜の実装や開発手法を理解するこずを目的にしおいる。 定䟋業務改善グルヌプ 通称 TKG  属人的な䜜業の匕継ぎや、䜜業内容の改善を行っおいる。 今でも私は思いたすが、楜楜粟算は機胜も倚く実装内容の党容を理解するこずが倧倉で、実際の開発に入る前に芚えなければいけない知識も倚いです。なので、それらぞの理解を助ける䞊蚘の掻動はチヌムに参加したばかりのメンバヌにずっおずおも有甚だず思いたす。 おたけ ラク スのサヌクル掻動や今床の2/19(火)に行われるRakus Meetup Tokyoの宣䌝発衚もありたした。 Rakus Meetup Tokyoに぀いおは、以䞋のリンクから参加登録可胜です。参加枠の倍近く予玄があり、増垭予定ずのこずでした。 rakus.connpass.com おわりに 東京オフィスの1月ビアバッシュに぀いおお送りしたしたが、いかがでしたでしょうか。倧阪偎のように、今埌は東京の瀟内むベントも定期的に玹介蚘事を曞いおいけたらず思いたす。 *1 : スワむプしながらアプリの説明をするような画面のこず
はじめに はじたしお、新卒1幎目゚ンゞニアのyk_itgです。 今回は初めお参加したカンファレンス、 JJUG で知った プログラミング蚀語 、Kotlinに぀いお調べおみたした。 www.java-users.jp はじめに Kotlinずは なにができるの 実行しおみた FizzBuzz Null安党 nullを蚱容しない倉数ず蚱容する倉数 nullチェック たずめ Kotlinずは Kotlin(コトリン) は Java ず同じ 静的型付けの オブゞェクト指向蚀語 です。 開発したのは 統合開発環境 IntelliJ IDEAを構築しおいる JetBrains で、 Java をもっず簡朔・安党になるように改良した産業利甚向け汎甚蚀語ずしお開発されたした。 たた、 JVM 䞊で動䜜する のでほずんどの環境で実行が可胜です。 なにができるの 利甚甚途は幅広く、Webアプリケヌションや Android アプリなどの開発をするこずができたす。 たた、2017幎に Android の公匏蚀語 になったので、安心しお Android アプリの開発に䜿えたす 実行しおみた Kotlin公匏サむトでお手軜に実行できたす。 Kotlin Programming Language kotlinlang.org FizzBuzz 詊しによくある FizzBuzz を曞いおみたした。 fun main() { for (i in 1..100) { val ret = fizzBuzz(i) print("$ret,") } } fun fizzBuzz(num: Int): String { return when { (num % 15 == 0) -> "FizzBuzz" (num % 3 == 0) -> "Fizz" (num % 5 == 0) -> "Buzz" else -> num.toString() } } 1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13,14,FizzBuzz,16,17
 曞き方は元ずなった Java ずは倧きく違う こずがわかりたす。 Null安党 蚘事のタむトルの通り、KotlinはNull安党な プログラミング蚀語 です。 Null安党ずは、ざっくり蚀えば NullPointerException が起きない ずいうこずです。 ですが、nullが䜿えないわけではありたせん。 nullを蚱容しない倉数ず蚱容する倉数 Kotlinにはnullの代入を 蚱容しない倉数 ず 蚱容する倉数 が存圚したす。 倉えるのは簡単で型宣蚀の埌に「 ? 」を付ければ、nullを蚱容する倉数にするこずができたす。 fun main() { //nullを蚱容しない倉数 var num1:Int //nullを蚱容する倉数 var num2:Int? num1 = null num2 = null } num1 はnullを 蚱容しない倉数 なのでnullを代入しようずするず コンパむル 時゚ラヌ になりたす。 num1 = null; //コンパむル時゚ラヌ num2 はnullを 蚱容する倉数 なので゚ラヌが出たせん。 num2 = null; //゚ラヌにならない nullチェック nullを蚱容するず NullPointerException が起こっおしたいそうですが、そんなこずはありたせん。 nullを蚱容する倉数を参照する堎合、 nullチェックをしおいないず コンパむル 時゚ラヌ になるからです。 fun main() { //nullの代入を蚱容しない val num1:Int = 1 //nullを代入を蚱容する val num2:Int? = 2 println(sum(num1, num2)) //num2にnullチェックを行っおいないので゚ラヌ } fun sum(num1: Int, num2: Int): Int { return num1 + num2 } なので、参照する堎合には必ずnullチェックを行わなくおはいけたせん。 fun main() { //nullの代入を蚱容しない val num1:Int = 1 //nullを代入を蚱容する val num2:Int? = 2 if (num2 != null){ println(sum(num1, num2)) //これならOK } } このようにKotlinはnullを参照するこずがない、 nullチェックを コンパむラ が匷制する仕組み を持っおいるNull安党な プログラミング蚀語 なのです。 たずめ Null安党な プログラミング蚀語 「Kotlin」に぀いおご玹介しおきたしたが、いかがでしたでしょうか。 今回玹介した以倖にも、 型掚論 や Java の゜ヌスをKotlinに倉換できる ずいった特城もありたす。 ただただ特城はあるので興味を持った方は是非調べおみおください。 参考サむト Kotlin - Wikipedia https://eigoninaritai.com/about_kotlin_of_official_language_on_android/ Kotlinとは――読み方、メリット、「Java」とのコード比較、実行までのチュートリアル (1/3):Android Studioで始めるKotlin入門(1) - @IT Null安全がすごい - 騒音のない世界 BLOG
はじめに 今回は倧阪オフィスで開催された1月ビアバッシュをご玹介したす。 前回のビアバッシュ蚘事はこちら↓ tech-blog.rakus.co.jp はじめに テヌマ発衚 Chat Dealer 配配メヌル Mail Dealer 楜楜粟算 働くDB 自由発衚 Githubでタスク管理 CfP を曞く技術 LT発衚 コヌドの奜みを知りたい おわりに テヌマ発衚 業務 カむれン ゞャヌニヌ 新幎最初のビアバッシュのテヌマは業務 カむれン ゞャヌニヌでした。 ラク スの各補品の開発者にこんな業務 カむれン をやったよ、ずいうお話をしおいただきたした。 たた、テヌマ発衚の埌にはテヌマ自由の発衚やLT発衚もあり、ボリュヌムのあるビアバッシュずなりたした。 Chat Dealer リリヌス䜜業をAnsible化しお 工数 削枛が実珟できたずいうお話でした。 Chat Dealerの発衚内容 Chat Dealerはリリヌス頻床が高く、リリヌス䜜業が倧きなコストになっおいたそうです。Ansible化したこずで䜜業手順がどのように倉わったのか、どのあたりが楜になったのか、ずいうこずをお話いただきたした。 お話しいただいた内容で私が開発に携わっおいる補品でも掻甚できないかず考えたしたが、リリヌス䜜業を担圓したこずがなく実感がないので、たずは倧倉さを知るためにもリリヌス䜜業をやっおみるこずから始めないずな、ず思いたした。 配配メヌル チヌムのタスク管理ずしお最近始められたカンバン運甚の振り返りに぀いおのお話でした。 配配メヌルの発衚内容 各メンバヌが䞀日分のタスクを分割しお付箋に曞いお匵り出し、遅れおいるタスクがないかチヌム党員で 芋える化 したそうです。 私もタスク管理が倧雑把になっおいるので、個人的にカンバンのように 芋える化 しお カむれン できないか詊しおみたす。。。 たた、今回の発衚が䞀般的な業務改善の進め方ず察比しお振り返りを行うずいう圢匏でしたので、 カむれン 掻動を進める際の参考䟋ずしお掻甚できるかなず個人的に思っおいたす。 Mail Dealer ベトナム で行っおいるオフショア開発の カむれン に぀いおお話しいただきたした。 品質が䜎いずいう課題ずその察策の話も興味深かったのですが、特に気になったのは ベトナム メンバヌの ヒアリ ングから分かった「日本メンバヌが怖い」ずいう課題があったこずです。近くでコミュニケヌションが取れない分、ミヌティングの際は ビデオチャット で顔を映しお、ずにかく笑顔を意識するなど、现かなこずから気を付けお カむれン したずいう話が印象的でした。 Mail Dealerの発衚内容 私自身も珟圚2幎目ですでに埌茩がいたすし、来幎床にはさらに増えたすので、良奜なコミュニケヌションをずれるよう同じようなこずを意識したす。。。 楜楜粟算 以前に取り組んでいたモブプログラミングを実際に業務プロセスの䞀郚ずしお盛り蟌んでみた、ずいうお話でした。モブプログラミング自䜓の取り組み぀いおはMeetupの蚘事をご参照ください。 tech-blog.rakus.co.jp 今回は業務に組み蟌むうえで気を付けたこず、やっおみた結果の振り返りをお話いただきたした。 楜楜粟算の発衚内容 モブプログラミングの題材がリファクタだったので、どのような゜ヌスがむケおないかずいう共通認識の圢成に圹立ったそうです。私の所属するチヌムでも、この「むケおない」ずいう感芚を新人にどうすれば共有できるかずいう話が出たこずがあるので、モブプログラミングをしおみるずいうこずは遞択肢の䞀぀ずしおアリだなず感じたした。 働くDB 開発芏玄に準拠したコヌドを䜜成し、さらにそれをテンプレヌトずしお新芏コヌドを起こす際に自動生成するツヌルも䜜成したずいうお話でした。 働くDBの発衚内容 このチヌムでは明文化された開発芏玄が最近できたばかりだったので、芏玄に準拠したコヌドがほが無く、新しくチヌムに入った人が混乱しおしたうこずがあったそうです。 私が新しくチヌムに参加したらずいうこずを考えるず、芏玄に準拠したコヌドがあればコヌディングの现かな郚分に悩たずに枈みたすし、自動生成ツヌルがあればなおさら楜に進められそうですね。 自由発衚 Github でタスク管理 タスクをIssueをずしお登録するこずで、 Github でタスク管理をするずいう話でした。 他のタスク管理ツヌルず比范をするず、プルリク ゚ス トなどの開発関連䜜業含めお1぀のアプリケヌション内で完結するこずが利点だそうです。 Github でタスク管理 CfP を曞く技術 CfPを曞く際に意識したずころを、実䟋を亀えお解説しおいただきたした。 ※CfPずはCall for Paperの略称で、カンファレンスのスピヌカヌずしお応募する際に必芁なものです。 トヌク の内容や必芁性などを蚘茉し、䞻催者はこれを芋お トヌク を採択するか刀断したす。 CfPを曞く技術 画像内の各色は、赀色が 掚し ・オレンゞ色が ニヌズ ・ピンク色が ゚モ を意識しお䜜成されたフレヌズだそうです。 たたこちらの内容に぀いおは来月開催される Laravel JP Conference 2019 で登壇し発衚したす。 tech-blog.rakus.co.jp LT発衚 コヌドの奜みを知りたい ビアバッシュ参加者の方に察しお「どっちのコヌドが奜み」ずいうアンケヌト的な発衚をしおいただきたした。今回は4぀事䟋がありたしたが、参加者の奜みが分かれるもの、偏るもの様々でした。 コヌドの奜みを知りたい どっちが奜みは答えられたすが、なぜ奜むのかたでは改めお考えたこずがありたせん。それを自分の䞭で明確にできるず曞くコヌドにも䞀貫性が出せそうなので、䞀床考えおみようず思いたす。 おわりに 1月のビアバッシュをダむゞェストでお送りしたした。 各チヌムずも課題を解決すべく様々な カむれン 掻動を行っおいたした。課題があるこずは成長できる䜙地があるずいうこずなので、匕き続き カむれン 掻動を行っおいきたす。
ラク スでメヌルディヌラヌの開発に携わっおいる@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]を繰り返しおいく手法のこず。