ブックマーク / blog.sushi.money (18)

  • 承認ではなくて、よさそう、と思って暮らしている - hitode909の日記

    普通に書いたdiffは、関心がさまざまなところに散らばっていたたり、書きかけだったりで、意味のまとまりがないもので、それを整形して、説明を書いたものがPull Requestであり、コードレビューは、そのまとまりごとに、他人から見て理解可能であるという承認する行為、という理解をしていた。 なので、レビューを通すことは、動くことに賭けて、以後、動かなかったら責任を取る、みたいなイメージはあまり持っていなかった。 レビュワーの責任をどこまでと規定するか考えて、責任が大きい順に並べていくと レビューを通した以上、以後は私の責任です、という態度 職人魂を感じる 見たところよさそうに思いました、という態度 通りすがり風情を感じる まったくの無責任なので、工数最小化のために何が来てもapproveする、という態度 やっつけ仕事 かるぱさんのチームでは1になっているのかな(追記)こうなっている、というこ

    承認ではなくて、よさそう、と思って暮らしている - hitode909の日記
  • チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記

    チームでどうやって活躍するか、まだイメージがついてない、振られた仕事をやっているだけで、仕事をしている間は忙しいけど、確認待ちになるとすぐ暇になってしまう、というメンバーの悩みを聞いていた。 巨大なチーム、巨大なプロダクトだと、すぐに全容を把握するのは難しい。その中で、この範囲なら触れています、任せてください、という庭を作るとよいのでは、という話をした。 思いつきで話したわりには意外といいことを言ってるなと思ったので掘り下げて書いてみます。 庭とは 現代では、庭のある家に住んでる人は少ないかもしれない。うちは実家が田舎だったので庭があって、ボールを蹴って回ったり、石をめくってアリを観察したり、隣の家の庭との境界もゆるくて、冒険と言って隣の家の庭で遊んだりしていた。 大人になってからの庭というと、池袋で遊んでた人が「池袋は俺の庭」と言ったり、JR新宿駅の東口を出たら椎名林檎の庭があることが知

    チーム開発で活躍するために、自分の庭を作れると良い - hitode909の日記
  • コードを書くには連続した2時間が必要 - hitode909の日記

    ある日の午後のスケジュールは、30分ミーティングx2→30分自由時間→そして1.5時間ミーティング、その後は30分自由時間と30分ミーティングを繰り返して定時を迎える…みたいな様子だった。案の定、自由時間で意味ある仕事を進めることはできなかった。 自由な時間が30分あれば、チャットを読んだり、コードレビューしたり、グループウェアを見て回ったり、とかはできる。コードを書くにしても、ここをこう変えれば良いことがわかっていて、書くだけ、とか、ライブラリのバージョンアップ、くらいなら30分で書いてpushしておいて、次の30分でテストが落ちたら直したりして、と進められる。 しかし、そういうことより難しいことをしようとすると、30分だと、さて、問題がどういうものかは分かってきたので、どうしようかな、というあたりで時間切れになってしまう。1時間あれば、ようやくコードを書き始められるかな、というところで

    コードを書くには連続した2時間が必要 - hitode909の日記
  • テレビ買った - hitode909の日記

    家ではずっとNetflixを観てるのだけどずっと観る割には10年前の32インチのテレビを3メートル離れてみていて小さいという話になったので買い替えた。 Netflix再生装置としての関心が8割くらいで、あまりテレビに関心がないので、テレビ売り場に行ってもわけがわからなくて、次にテレビ買うときも困りそうなので買い替えプロセスを記録しておく。 サイズの目安を調べた どれくらい離れたらこれくらいのサイズがよい、という情報をメーカーが出しているはずなので見た。見始めたところ、だいぶでかいと思われる65インチでも距離の目安は140センチと書いてあってびっくりする。4Kになると解像度が上がるので、せっかく解像度が高いのに離れて見るのは意味がない、という話だと思われる。理解はできたけど共感はできない。 65インチのテレビは140cm離れて観るのが最適って書いてあって近すぎる気がする、うちは3メートル離れ

    テレビ買った - hitode909の日記
  • エンジニアアルバイト氏受け入れテクニック - hitode909の日記

    いま社員エンジニアが何人かに加えてエンジニアアルバイト2人、くらいのチームで働いていて、その中でアルバイト氏のメンターもやっている。 前のチームでも何年かアルバイトの面倒を見たり、何回かインターンのメンターをやったりしていた。 手癖でいろんなことをやってしまっていて、属人性が高まってしまっていると感じたので、どんなことをやっているか書いておく。 1日に何回か口頭で会話する 実装ができててから方針がまずかった、となると時間がもったいない 方針書いたくらいでレビュー依頼に出してね、とお願いしてもやってもらうの難しいので、こちらから聞きに行くほうがうまくいきやすい レビュー依頼になったらすぐに見る 社員は明日も要るけど、アルバイト氏は週に数回しか来ないので、その日帰るまでにレビュー完了して打ち返しもしてもらえるように動けると良い レビュー依頼になってなくてもPull Request見に行く 方針

    エンジニアアルバイト氏受け入れテクニック - hitode909の日記
  • 開発中の機能を小分けにして本番環境にどんどん出すためには - hitode909の日記

    ふだんの開発では,稼働中のシステムに影響を与えないように開発中の新機能や新システムを共存させながらちょっとずつデプロイして進めている.どんな事を考えてやっているか記しておきます. フィーチャートグルを使う すべてのコードが番環境に入っているけど無効化されている状態で開発を進める ブランチをたくさん作るのに対する考え方で,フラグを有効にすると開発中の機能を使える スタッフなら有効にしたり,フィーチャーのオンオフを選べる画面を作ってたこともある フィーチャーブランチを利用した開発はチームを継続的インテグレーションから遠ざける – ゆびてく FeatureToggle 完成したらフィーチャートグルに関係なく全員に有効状態にして完成 フロントエンドの施策で,実際のデータやインフラ構成でどれくらいスピードが出るかわからないときに,ひとまずフラグをオンにすると動く形でデプロイしたりとか レイヤの下の

    開発中の機能を小分けにして本番環境にどんどん出すためには - hitode909の日記
  • 社内横断で開発効率を上げる取り組み #pepabohatena - hitode909の日記

    プレゼンモード 再生 ← / →で移動 fでフルスクリーン escでおわる こんにちは,id:hitode909です.はてな・ペパボ技術大会 #4 〜DevOps〜 @京都において,「社内横断で開発効率を上げる取り組み」というお題で発表しています.この記事は,その発表資料です. 社内横断で開発効率を上げる取り組み はてな・ペパボ技術大会 #4 〜DevOps〜 @京都 hitode909 自己紹介 hitode909 株式会社はてな アプリケーションエンジニア 好きなはオブジェクト指向入門とドメイン駆動設計 2009年〜 うごメモチーム 2012年〜 ブログチーム 2017年〜 マンガチーム 2018年〜 CTO室(兼務) アジェンダ CTO室での活動 特定のチームに閉じず,社内横断で開発効率を上げるための試み みなさん 学生の方? 🙌 社会人の方? 🙌 Devの方? 🙌 Opsの

    社内横断で開発効率を上げる取り組み #pepabohatena - hitode909の日記
  • 16時から実装進める,とかカレンダーに予定として入れてしまうと便利 - hitode909の日記

    自席で作業するとき,気の趣くままに順番にやっていたけど,全然時間が足りないまま1日が終わったりする. 現実的には業務時間は8時間しかないので,順番にやっていつか終わるかな,と思って暮らしていても終わらない.480分を分単位でスケジュール立てるのは難しいけど,30分や1時間単位なら登場する要素は8とか16なので,着手する順番や所要時間は考えられる. 16時から実装進める,17時から面接の準備,とかカレンダーに予定として入れてみたら,その時間にはそれをやればよいのだな,という気持ちになって気が楽になった. スケジューリングを十分に気を遣ってやっておけば,あとは実行するだけで,その間はそのタスクに集中すればよい.1時間の枠で実装が間に合わなければ,うしろの予定がずれていって,その日やりたかったことは達成できなくなる,ということも可視化できる. 追記 やっぱり便利で,この時間に面接の準備しないと死

    16時から実装進める,とかカレンダーに予定として入れてしまうと便利 - hitode909の日記
  • モブプログラミングについて - hitode909の日記

    ちょっとやってみよう,って話になったのでちょっと調べた mob programming,モブプロ http://www.mobprogramming.com/ カンファレンスとか開催されている 全員で集まって1つのPCでプログラミングする キーボードに座る人はどんどん交代する Hunter Industriesで採用されている この会社については存在を知らなかった 1日の様子(2011) A day of Mob Programming - YouTube 1日の様子(2016) A day of Mob Programming 2016 - YouTube 規模が大きくなっててオフィスもモブプロに特化していておもしろい 関係性 よくあるペアプロでは,ドライバーとナビゲータではなくドライバーとフォロワーになってしまうことがある 横に座ってる人が考えて,キーボードの前に座ってる人がタイピング

    モブプログラミングについて - hitode909の日記
  • 一人で仕事してると不安になる現象 - hitode909の日記

    ソフトウェアを作っていて,一人でずっとやってると不安になったり,他人がずっと一人でやってると心配になったりする. ふつうのチーム開発では,仕様や方針は皆で合意が取れていて,実装したところは「きのう話していたこの部分を作ってきました,レビューしてください」みたいな話をする 一方で,チームでやっていても,一人で仕事していたら,「実は私はこういうことをやっていて,その上で,この部分を作りました,仕様を理解した上でレビューしてください」みたいな話になる このとき,「実はこういうことをやっていて」という部分を一人でやっていると,見逃していたり,誤解していて,前提から間違っていて,まったくもってだめ,という可能性が上がっていく 一人で作り続けると,一人につき1回10%間違えるとしたら,2回一人で作ると,0.9*0.9=0.81くらいの精度に下がっている 設計段階で二人で見ていれば,間違う可能性は1-0

    一人で仕事してると不安になる現象 - hitode909の日記
  • LGTM画像は見た目はおもしろいけど遊んでいるわけではない - hitode909の日記

    YAPCのスポンサーセッションで,DeNAの採用担当の方が話されていて,エンジニア文化への憧れから,コードの意味は分からないけど勝手にLGTMしたり,会場の発表スライドに載せるには不適切な画像を貼ったりしている,という発表をされていた. 単に迷惑そう,と思ったのと,それ以上に悲しくなって,自分たちが大切にしていることを軽んじられると悲しい気持ちになる. LGTMな画像を貼るのは,傍目から見ると,にぎやかな画像が出てきて楽しそうな雰囲気があるけど,画像を貼る前にはコードが正しいか検証しているのであって,ミスの許されないシリアスな場所でもある. 見た目がおもしろそうだからといって遊びに来られると迷惑だし,そういうライトな活動をするような,遊んでいるように思われていたのか,という悲しさがある. 逆に,そんなシリアスな活動をしているなら,そうと分かる真剣そうな雰囲気になっているべきという気もして,

    LGTM画像は見た目はおもしろいけど遊んでいるわけではない - hitode909の日記
  • コードレビューのクオリティとスピード,とくにスピードについて,それとコミュニケーションについて - hitode909の日記

    ソフトウェアを作るときにクオリティとスピードのバランスをとりたくて,どちらかに偏ってはいけなく,どちらもキープしないといけない.すごく雑に*1とらえると, クオリティ→正しく動き,不具合がないほうがよい スピード→(計算時間ではなく)早く作れるほうがよい ということになる. コードレビューでは,不具合を見つけて直してもらったり,動きはしてもコードの可読性に問題があって直してもらったりと,クオリティに目を向けられがちだと思う. ところで,コードレビューとスピードの関わりについて考えてみる.スピードのためにできることはいくつかあり, 早く読み始める→他のことやってても手を止めて読み始めたり,1日のうち決まった時間にレビュータイムを設けたり 速く読む→これはコツとかある*2けど精読しないといけないので難しい 不具合を見逃さない→リリース後とか,リリース直前に正しく動かないことが分かったら大きな手

    コードレビューのクオリティとスピード,とくにスピードについて,それとコミュニケーションについて - hitode909の日記
  • コアドメインではないところは作り込みたくなってもほどほどにするのが大事な気がする - hitode909の日記

    ふだんコードを書いていて,新機能などを作っていて,こうするほうがきれいに書けそう,と思っても,いま書いているところがアプリケーションのコアドメインでないなら,ほどほどにして,たとえば,既存のライブラリで十分ならそれを入れて終わりにしたり,もうちょっと凝って美しい世界にできそうになっても,現実的にはこれくらいで十分に動くので,これに留めておこう,と決めるのが大事な気がしている. せめて新しく書くところくらい凝って美しく書きたくなるのは分かるけど,すべての場所を完全に美しく作ることは不可能で,それをする時間があるなら,すでにある変なコアドメインを美しく研ぎ澄まされたものにするほうがメリットがある. 最終的には人間は物理的に死んでしまうので,死ぬまでにやるべきことを選ぶべきで,その選ぶときには,今手持ちのタスクだけでなく,全体のバランスを見て選ぶべき. 品質を無視して,ひどいコードでもいい,と言

    コアドメインではないところは作り込みたくなってもほどほどにするのが大事な気がする - hitode909の日記
  • 作り直し - hitode909の日記

    ソフトウェアを作ってて、作り直したり、書き直したりするべきかどうかという話をすることがある。 大きな規模だと、ソフトウェアを作り直す、というところから、小さな規模だと、込み入った機能を書き直す、くらいまであるけど、作り直すとうまくいくのは、次の二つのうちどちらかではないか。 最初に作ったときより世の中の技術が発展したとき 昔のコンピュータでは収まらなかったとか、昔は良いライブラリがなかったけど、今はある、というとき。 単に今ありふれた技術で作り直すと、よいものができそう。 最初に作ったときよりはコンピュータのスペックが上がったので、そのつもりで、並列度倍に上げても止まらないし、より速く動かせる、とか。 昔はバッチで計算しないといけなかったけど、今ならリアルタイムに返せる、とか。 昔は依存管理のよいライブラリがなかったけど、今ならこれ入れたら簡単、とか。 最初に作ったときより人間の技術が発展

    作り直し - hitode909の日記
  • YAPCでおもしろ発表してきた - hitode909の日記

    YAPCおもしろ発表してきた. はてなブログの開発を振り返って設計の進化と最高の設計を紹介するという話. speakerdeck.com なぜか大人気発表みたいになってて,会場満員で,すみませんこんなところに来ていただいてすみませんというかんじだった. 紹介したはこちら.予約投稿で仕込んであって,発表終わったら,こちらから買ってくださいとかやろうと思ってたけど,すっかり忘れてた. YAPCの発表で紹介した - hitode909の日記 質問たくさんいただいて,よいかんじにおさまったと思う. 「難しくて挫折するという問題がありますよね」「歯をい縛って実装しろって書いてあった」 #yapcasiaE— そらは (@sora_h) 2015, 8月 21 Q: 「コメントの良い書き方は?」 A: 「オブジェクト指向入門下巻に書いてあります」 ↓ 「買って読みます。」 #yapcasiaE

    YAPCでおもしろ発表してきた - hitode909の日記
  • テスト先に書きたい若者よ - hitode909の日記

    弊社では毎年インターンを受け入れているのだけど,いまもインターンが来てて,テスト先に書きたいけど油断すると先に実装を書いてしまう,とか話してた. 個人的には,テスト先に書くのが大事というよりかは,意識して仕様を先に考えるのが大事だと思っている.テストを先に書くと,先に仕様を考えざるを得ないので,良いスタイルが身につく. 僕がよくやるのは,関連しそうなクラスの絵をひと通りノートに書いてみて,その図だけで,うまく動くことを説明できるくらい考えてみる.その時点でおかしかったら,コード書いてもおかしくなる.ノートに方眼ついてるとクラス図書きやすい.UMLとかじゃなくても,自分で見て分かるくらいでもいいと思う. 紙でうまくいったら,外部仕様だけソースコードに書いてみる.クラス名と,メソッドの定義と,メソッドの上くらいに,ひと通りコメントでも書いてみて,この関数はこういうことをするんです,こういう引数

    テスト先に書きたい若者よ - hitode909の日記
  • プレゼンテーション - hitode909の日記

    プレゼン自分ではすべったことないから得意だと思ってるのでいつも気をつけてることをシェアします。これさえ守ればすべらないのだから楽。 目次 目次 最初にめちゃくちゃおもしろい話をする 箇条書きせず一行ずつページを分ける 絵をでかくする 新しいページ作ったらデフォルトのパーツを全部消す 先に言う 意見や疑問を述べる スターウォーズエピソード4を見る 最初にめちゃくちゃおもしろい話をする 聴衆は懇親会のことしか考えてないので、とりあえず最初におもしろい話をして、注意を引きつけるとよい。つかみはこれでオッケーだって言えればよいくらいの面白い話をしましょう。よくある技術ブログとか、技術雑誌だと、こんにちは、最近温泉に行って心身共にリフレッシュしました、ヒトデです、とか書いてあるけど、そんなの読んで喜ぶ人が人と家族と親類以外にこの世にいたらおかしいから、そういうのじゃないとよい。 箇条書きせず一行ず

    プレゼンテーション - hitode909の日記
  • テスト書きすぎ問題 - hitode909の日記

    テスト書きすぎるとよくないって言ってる人がいた.DHHっていう人.作業時間の1/3以上テストしてたらおかしいとか,ActiveRecordのバリデーションなど,Railsの機能はテストしない,とか. Signals vs. Noiseの去年のエントリに、テストをどれくらい書くべきかということについてDHHが指針を示していたものがあったので... - Sooey 偉い人が言ってるからという理由で,テスト手抜き派の人に良い材料を与えてしまった.僕は意見ちがって,作業時間半分以上はテスト書いたりしてる. テストたくさん書くと,最初に書くときのコストは増える.けど,あとから読む時や,変更したい時には,読むだけだし,書くのも差分だけで良い.コード体を理解できれば,要らないテスト捨てるのは,落ちたのを消すだけだから簡単.あとで見て,テスト足りないと分かったときに,明文化されてない仕様からテストを補う

    テスト書きすぎ問題 - hitode909の日記
  • 1