タグ

ブックマーク / blog.shibayu36.org (37)

  • コード変更で抜け漏れやミスを少なくするための習慣 - $shibayu36->blog;

    自分はこれまでの仕事で、バグ修正や機能追加でPullRequestを送るときに、考慮の抜けもれやケアレスミスが非常に少ない方であると思っている。振り返ってみて、これは自分に課している習慣が大いに効いていると思っているので、メモしておく。 毎回のcommit時 必要な部分だけをgit addし、git diff --cachedによって差分をセルフコードレビューした上でcommitする PullRequest作成時 filesの内容をセルフコードレビューし、直した方が良い部分は直す + わかりにくい部分にGitHub上でラインコメントを行う + コード上にコメントを残した方がいいならコメントする ユーザーの導線に影響するコードなら、必ず自動テストだけでなく、自分自身でユーザーの行動をトレースし、違和感がある部分が存在しないかチェックする。チェックした流れについては、PullRequest上に

    コード変更で抜け漏れやミスを少なくするための習慣 - $shibayu36->blog;
    hamaco
    hamaco 2022/04/26
  • PullRequestからチーム開発の生産性・健全性を測るCLIツールを書いてみた - $shibayu36->blog;

    最近、開発チームの生産性や健全性をどのように計測したら良いかについて興味を持っている。その中で「LeanとDevOpsの科学」の中に書いてあるようなデプロイの頻度・変更のリードタイム・MTTR・変更失敗率の4指標や、開発チームの生産性・健全性を客観的に知るためにリポジトリ履歴から機械的に可視化するツールを作った - Qiitaに興味を持った。 一方、それらの指標を考えてみた時、以下のような点について悩んでいた。 マイクロサービスなどで複数レポジトリとなり、さらにデプロイ手法がそれぞれ違う状況の場合、変更のリードタイム = コミット〜番稼働までの時間を計測するのがなかなか難しい コミットという単位だとかなり小さく、個々人のばらつきも大きすぎるように感じるので、もう少し良い単位はないのだろうか このような悩みから、PullRequestの単位で集計することで、生産性や健全性をもう少し測りやす

    PullRequestからチーム開発の生産性・健全性を測るCLIツールを書いてみた - $shibayu36->blog;
    hamaco
    hamaco 2021/10/20
  • ペア制度を導入して、開発チーム内の相談しやすさ向上・知見展開・透明性向上を狙う - $shibayu36->blog;

    最近プロジェクトマネジャーを担当していた仕事で、開発チーム内の相談しやすさ向上・知見展開・透明性向上・WIPタスク数減少を狙ってペア制度というのを導入した。今回は導入した背景、導入した仕組み、そしてその振り返りについてブログに書いておきたい。 導入した背景 ちょっとした相談のしづらさ 知見展開のしづらさ タスク状況の透明性の不足 WIPなタスクが多く、プロジェクトマネジメントが複雑 ペア制度を導入する ペア制度の振り返り ペア制度を振り返っての点数評価 導入して良かったこと 導入して困ったことや、改善すべきポイント 一人当たりの短期的な開発効率は下がったか? まとめ 導入した背景 最近はエンジニア6~7人程度のフロントエンドフレームワーク置き換えプロジェクトプロジェクトマネジャーをやっていた。ペア制度を導入する前は、大体1~6ヶ月程度かかる粒度のタスクを1人にアサインし、人数と同じだけの

    ペア制度を導入して、開発チーム内の相談しやすさ向上・知見展開・透明性向上を狙う - $shibayu36->blog;
  • 技術的負債のパターンと悪影響・原因・返却方法について考える - $shibayu36->blog;

    先日飲み会で技術的負債についての雑談をしていた。結構いろいろな側面の話をしていたのだけど、技術的負債って一括りにしているのが今はあんまり良くなくて、負債の性質によって技術的奨学金、技術FX技術的年金などと言葉を変えると良いのではみたいな半分冗談で会話をしていた。 いろんな問題が技術的負債という一言にまとめられてしまっているので、負債の性質に合わせて、技術的奨学金、技術FX技術的年金、など用語を分けると良いのではないか、という話をした— 趣味はマリンスポーツです (@hitode909) 2018年3月27日 技術的負債について - hitode909の日記 それで技術的負債のパターンを見つけて、それによりどういう悪影響があるか、それがなぜ起こるのか、どう返却するかについて考えておくと良いのではと思ったので、今日思いついた3つのパターンをメモしておく。 思いついたパターンは3つ。 変

    技術的負債のパターンと悪影響・原因・返却方法について考える - $shibayu36->blog;
    hamaco
    hamaco 2018/04/13
  • 良かったことは良かったとはっきりフィードバックする - $shibayu36->blog;

    最近心がけていることとして、「良かったことは良かったとはっきりフィードバックする」ということがある。 自分がリーダーやマネージャのポジションになった時に、方針やメッセージを打ち出す、チームの開発フローを改善するなどを行うことがあった。この時、何もフィードバックが返ってこなくて、結局良かったのか、それともあまり興味がないのか、実は不満に思っているのか、どれなのかわからず、非常に不安に思ったという経験がある。 逆に自分が伝えられる立場になった時を考えてみると、何かが行われた時、気になることはよくフィードバックするけど、良かったなと思うことは心の中で思うだけでフィードバックしないことが多いと感じた。 そこで最近は、「良かったことは良かったとはっきりフィードバックする」ように心がけている。はっきりフィードバックするというのは、どこが良かったかを出来る限り具体的に相手に伝えるということである。伝える

    良かったことは良かったとはっきりフィードバックする - $shibayu36->blog;
    hamaco
    hamaco 2018/03/23
  • ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;

    先日、ioドメインの障害があったのだけど、自分がDNSの仕組みをよく分かっていないせいで、いまいちどういうことが起こっていたのか把握できなかった。そこで、DNSの仕組みについて軽く勉強したので、そのメモを残しておく。内容は間違っているかもしれないので、その場合は指摘してください。 DNSについて学んだこと Software Design 2015/4のDNSの教科書が非常に勉強になった。また、 インターネット10分講座:DNSキャッシュ - JPNICも参考になる。 権威サーバとフルリゾルバ まず、DNSサーバには権威サーバとフルリゾルバの二つの種類が存在する。 権威サーバ ドメインの情報を管理し、自分の管理しているゾーンの情報を提供するだけのサーバ 問い合わせたドメインが自分のゾーンの管理下ではない場合、別の権威サーバへ委任するという情報を返す コンテンツサーバとも言われる? 例) co

    ioドメイン障害を理解するため、DNSの仕組みについて勉強した - $shibayu36->blog;
    hamaco
    hamaco 2017/10/05
  • どうやったら発見した問題をうまく放置できるようになるのか - $shibayu36->blog;

    仕事をしていると、様々な問題が発見される。問題を発見した時、とにかくすぐに対処しようとしてしまうことが多い。しかし、そうしていると、タスク量が増えてきたときに問題解決に忙殺され、もっと重要なことに取り掛かれないということが起こりがちである。 「イシューからはじめよ」によると、忙殺されないためには、問題の重要度を見極めて、重要なものだけ重点的に取り組むべきであり、そうでない問題は放置すべきと書かれている。 しかし、そんなことは頭では分かっているのである。それでも問題を見るとすぐに解決しようとしてしまうのである。では、どうやったら発見した問題をうまく放置できるようになるのか。 それについて最近1週間ほど考えていたのだけど、とりあえず以下のことをやってみようという気持ちになった。 それが何か問題かと自問する 問題を少し置いておく 問題を書き出してみて、他の問題と比較する それが何か問題かと自問す

    どうやったら発見した問題をうまく放置できるようになるのか - $shibayu36->blog;
    hamaco
    hamaco 2017/02/15
  • 最近コード中のTODOコメントの書き方を工夫している - $shibayu36->blog;

    コード中に後でやろうと思って以下の様なTODOコメントを書くことがあります。TODOコメントというのは # TODO: 後でリファクタリングしたい ... # TODO: 投稿機能ができたら置き換えること ... みたいなやつです。 コード中にTODOコメントを気軽に書いてしまいがちですが、よくTODOコメントが放置されて気づいたらプロジェクト中に大量のTODOコメントが書かれたりすることがあります。直せる量を超えてくると、直すモチベーションも下がってきて、結局ただのコメントと同じ状態になります。 最近いろいろ工夫して、TODOコメントの書き方を変えたところ、そこそこうまく回ったのでメモしておきます。 TODOコメントの問題点 問題点として次のものがあると考えました。 (1) 書く人によって形式がバラバラ TODO, XXX, FIXMEなどバラバラだったりする (2) TODOコメントの

    最近コード中のTODOコメントの書き方を工夫している - $shibayu36->blog;
    hamaco
    hamaco 2016/05/10
  • プロジェクトを成功させるために最初におこなっていること - $shibayu36->blog;

    ディレクター時代に仕事プロジェクトを受け持つ時にどうやったら成功させることが出来るのかについていろいろ考えていた。僕は開発フローをいろいろ考えるのが好きなのだけど、実際に自分がリーダーシップを取ってプロジェクトを進めることを経験すると、そもそもその前に考える・決めるべきことがたくさんあるということが分かったので、ブログに書いておこうと思う。 ここで言うプロジェクトとはサービスを一から作ったり、サービスの一機能を作ったり、受託案件一つだったりを指す。特に開発プロジェクトに限定するものでもない。 プロジェクトを成功に近づけるためには、まずプロジェクトの開始時に、プロジェクトの5W1Hを明確にし、個々のメンバーの責任範囲を決め、それらを一つの場所にまとめておくということをしておくと良いと考えている。 5W1Hを決める すごい基的なことだけど、プロジェクトをやる上でやはり5W1Hは大事である。

    プロジェクトを成功させるために最初におこなっていること - $shibayu36->blog;
    hamaco
    hamaco 2015/10/05
  • 学習のため書籍を読むときは明確に目的を決める - $shibayu36->blog;

    僕は学習をする際には書籍を参考にするのが好きだ。なぜネットとかではなくて書籍を参考にするかというと、書籍のほうが学びたい事柄についてネット情報や人から教わるのと比べて、どちらかというと体系的にまとめられていると思っているためだ。 ただし書籍を参考にしている時によく陥りがちなのが、「学習する」という目的を忘れて、「を読み切る」という事自体が目的化してしまうことだ。こうならないため、僕はこの書籍を読む目的をはっきり決めるようにしている。その目的が大体3つくらいの種類に分類されてきたので、今回はそれについてまとめてみようと思う。 三つの目的のどれかを選ぶ 僕の中で学習目的で書籍を読むときは以下の三つの目的のどれかに絞っている。 これからの課題を解決する方法を見つけるための読書 これまでうまくいったことの言語化を行うための読書 視野を広げるための読書 この三つのどの目的でを読むか、自分の中で明

    学習のため書籍を読むときは明確に目的を決める - $shibayu36->blog;
    hamaco
    hamaco 2015/01/27
  • ghi便利だった - $shibayu36->blog;

    今日いろいろ探してたら、githubのissueをいろいろ扱ってくれるghiというのを発見したので使った。便利だった。 ghi listとかしたら、そのレポジトリのopen issueを出してくれる $ cd prepan $ ghi list # CPAN-API/prepan open issues 51: Allow login with CPAN 1 50: When editing an existing entry, make the button "Save" not "Post" 48: Add permalinks to comments 43: Can't remove entry from web ui 42: Twitter profile image doesn't show bug @ 40: Comment Edit and or Preview option

    ghi便利だった - $shibayu36->blog;
    hamaco
    hamaco 2014/11/28
  • SunriseとTODO管理ツールを組み合わせてスケジュール管理をする - $shibayu36->blog;

    最近タスク量がそこそこ多く、かつ自分の記憶力もそこまでないので、できるだけタスクを忘れないようにしながらスケジュール管理をしておきたいと感じていた。その時にカレンダーアプリであるところのSunriseと、TODO管理ツールをうまく組み合わせることで非常に使い勝手の良いTODO管理を行うことが出来たので、まとめておく。 Sunriseについて Sunriseというのは、様々なスケジュール系ツールと連携して、ひとつのカレンダーにまとめてくれるためのカレンダーアプリ。例えばgoogle calendarやfacebook eventsなどと繋げることで、複数のサービスにまたがった予定を一つのカレンダーで管理することが出来るようになる。 https://calendar.sunrise.am/ 詳しくは以下に詳しい。 TODO管理ツールと繋げる Sunriseの良い所は、TODO管理ツールとも繋げ

    SunriseとTODO管理ツールを組み合わせてスケジュール管理をする - $shibayu36->blog;
    hamaco
    hamaco 2014/11/19
  • curlとjqで簡単にAPIの調査をする - $shibayu36->blog;

    ちょっとAPIを調査したいと思った時に、スクリプトを書くのも面倒なのでcurlとjqとかを利用してみたら、便利だったのでメモ。今回はTrelloをちょっといじってみた。 Redirecter ひとまずcurlでjsonを出す これは普通にcurlするだけ。 curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards'これでは見づらい。 curlで出たjsonをpretty化する jqに通すだけでpretty化と更に色付けされる。 curl 'https://api.trello.com/1/boards/4d5ea62fd76aa1136000000c/cards' | jq '.' curlで出たjsonの一部だけ表示する jqはjsonをいろいろ絞り込み出来る。 例えばリストの5件目まで表示。 curl 'h

    curlとjqで簡単にAPIの調査をする - $shibayu36->blog;
  • 「シバソン」という名の何も準備しないイベント - $shibayu36->blog;

    最近、シバソンという名のほぼ身内でやっているイベントを開催している。シバソンとはシバハッカソンの略で、なぜか適当にハッカソンしますと会社で呼びかけたら自然とシバソンという名前になっていた。今日は勉強会について簡単に書きたいと思う。 Kyoto.pm 以前自分はKyoto.pmというperl界隈のイベントの主催をしていた。このイベントは最初もっといろいろな人にアウトプットする場を提供したいという気持ちで始めたイベントだった。有名な東京のperl hackerを呼べたり、東京からはるばる来てくれる人が何人かいて、けっこう面白いイベントに出来たと思ってる。 ただ問題点がいくつかあった。 一つ目は主催者が開催のために前準備(スピーカー集めとか)をするコストが非常に高かったこと。発表会形式にすると、特に関西ということもあって、全然スピーカーが集まらないということがよくあった。そのたびにいろんな人に声

    「シバソン」という名の何も準備しないイベント - $shibayu36->blog;
    hamaco
    hamaco 2014/10/27
  • つかまらない上司にならないために - 1分間マネジャーの時間管理を読んだ - $shibayu36->blog;

    1分間マネジャーの時間管理 パンローリング株式会社Amazon 「1分間マネジャーの時間管理」を読んだ。非常に面白く、勉強になることが多かった。 このは、マネジャーが時間に追われている状況をどう解決するかについて教えてくれる。このにおいてプロジェクトにおける「次の対応」はサルと表現され、マネジャーが時間を作るためにはこのサルの管理をうまくしなければならないというような話で、時間に追われている状況の改善方法について説明している。書き方自体も時間に追われたマネジャーを主人公として物語風に進んでいくので、非常に読みやすく面白かった。 上に書いた通りの話なので、マネジャーになってなぜか忙しくなったと思う人は是非読んでみると良さそう。確かにそれで忙しくなってるわーみたいなことがいろいろ書かれているので参考になると思う。 このの中でメインとなるポイントは オンケン流サル管理の心得 三つの時間をや

    つかまらない上司にならないために - 1分間マネジャーの時間管理を読んだ - $shibayu36->blog;
    hamaco
    hamaco 2014/09/26
  • 「イシューからはじめよ」を読んだ - $shibayu36->blog;

    最近やることがたくさんあってどうしたら良いか分からなかったので、同僚の薦めもあって「イシューからはじめよ」を読んだ。結構面白かった。 イシューからはじめよ──知的生産の「シンプルな質」 作者:安宅和人英治出版Amazon このには、やるべきことがたくさんあった時に、タスクをやる効率をどんどん上げていくという方向にまず走るのではなく、その中で重要なイシューを見極めてそれを重点的に取り組むべきである、というようなことが書かれていた。とにかくやるのではなく、まずやることを見極めよみたいな感じ。確かに忙しい時はとにかくやるとなりがちだけど、とにかくやっててもあんまり成果が上がらないことがあるので、まず見極めないといけないと思った。 このの中で 悩まずに考える 「これは何に答えを出すものなのか」を明確にしてから問題に取り組む 一次情報を死守 という言葉が印象に残ったので、それについて書く。 悩

    「イシューからはじめよ」を読んだ - $shibayu36->blog;
    hamaco
    hamaco 2014/09/09
  • 良い物件ではなく良い不動産屋を探した - $shibayu36->blog;

    いろいろあって今の家から引っ越すことになった。 良い物件どうやって探したらいいか分からなかったので、適当にググって http://nanapi.jp/286/ を実践してみたら、結果的にうまく行ったので経験をメモ。 結論 良い物件を探すのではなく、良い不動産屋を探すという方法にしたところ、僕の性格としては上手く行った 今回の流れ suumoやhomesで住みたい場所の物件を眺める 希望条件をまとめる 不動産屋を選んでメールしまくる 良さげなところを数社に絞って、さらに送られた物件見ながら返信してみる 一番いい感じに返答してくれた雰囲気の店に行って相談 suumoやhomesで住みたい場所の物件を眺める http://nanapi.jp/286/ とやってることは一緒なので割愛 希望条件をまとめる http://nanapi.jp/286/ とやってることは一緒なので割愛 不動産屋を選んでメ

    良い物件ではなく良い不動産屋を探した - $shibayu36->blog;
    hamaco
    hamaco 2014/07/18
  • serfとDockerでクラスタを組んでみる - $shibayu36->blog;

    最近Serfというツールも気になっていたので、とりあえずクラスタを組んでイベントハンドラの設定をしてみるところまでやってみました。 Serfとは http://www.serfdom.io/ https://github.com/hashicorp/serf Serf is a decentralized solution for service discovery and orchestration that is lightweight, highly available, and fault tolerant. Orchestrationという層を支援する軽いツールみたいですね。これをうまく使うことで、クラスタにjoinしたweb serverを自動的に配下に加えるHAProxyとかを実装したり出来ます。参考: Serf+HAProxyで作るAutomatic Load Balanc

    serfとDockerでクラスタを組んでみる - $shibayu36->blog;
  • DevLove関西で「課題をテストで解決する」という発表をしました - $shibayu36->blog;

    DevLove関西に行ったので、「課題をテストで解決する」という発表をしてきました。 内容はスライドに書いてあるとおりです。以下のことを特に話したくて、今回の発表をしました。 何度も起こる課題があったときに人が気をつけようとしない 最悪のケースでは根原因を知ろうとせず、間違えた人を怒ることで解決しようとしてしまう 何度も起こる課題なら、機械に自動的にやらせる その例として今回はテストでやりましょうという話をした あとテストいろいろあって始め方がわからないという時は、こういう課題をテストにするというところから始めるとやりやすいかもしれない 参考 この資料作るにあたってひたすらブログ書いたので参考にどうぞ 設定の仕様をドキュメントに書くのではなく、テストにしてしまう - $shibayu36->blog; ドキュメントの場所を知らせるために、落ちるテストを作る - $shibayu36->b

    DevLove関西で「課題をテストで解決する」という発表をしました - $shibayu36->blog;
  • github kaigi感想 - $shibayu36->blog;

    github kaigiに参加して、発表したりとかした。発表内容についてはまた別で紹介するとして、感想だけ書く。 今回かなり印象に残ったのは「How GitHub Works」、「GitHubで
雑誌・書籍を作る」、「pplog.net の作り方( ˘ω˘) 」の三。 「How GitHub Works」では、GitHubではどうやって良い仕事環境とかやりがいのある仕事を作っていっているか、みたいな話だった。その中でどうやってモチベーションを保ってもらうかみたいな話があって、外的要因と内的要因があって、給料とか設備とかの外的要因も大事だけど、それと同様に仕事の柔軟性とかやりがいみたいな内的要因も大事だよねと言っているのが面白かった。 柔軟性という話題でリモートワークについて触れていたけど、受けた印象として、やはりリモートワークを達成するために、リモートワークを潤滑にするための仕組みづくり

    github kaigi感想 - $shibayu36->blog;
    hamaco
    hamaco 2014/06/03