タグ

ブックマーク / postd.cc (14)

  • コードレビューのレビューはマネージャーの仕事 | POSTD

    経営に関する名著「 High Output Management (邦題:ハイアウトプット・マネジメント(=高い成果を可能にするマネジメント))」の中でAndy Groveは、”トレーニング(訓練・教育)はマネージャーの仕事”であり、組織の成果を向上させるためにマネージャー(経営者・管理者)が実践できる最高のレバレッジ活動だと述べています。 多くの組織のマネージャーにとって、この言葉は現在においても参考にできる素晴らしいアドバイスでしょう。しかし、現代のソフトウェア開発チームのマネージャーに関して言うと、その中心となる考え方はシフトしています。 > エンジニアリングチームの成果向上にとっては、GitHubのプルリクエストなどで実行するコードレビューが、今では最大のレバレッジポイント(レバレッジの作用点)である。 品質管理以上の役割 従来、コードレビューのプロセスは品質管理のツールと見なされ

    コードレビューのレビューはマネージャーの仕事 | POSTD
    ryuzee
    ryuzee 2018/11/07
    タイトルがややこしい(レビューのレビュー)がよい話。『マネージャーはプロセス自体に頻繁に介入しようとする衝動を抑えなければなりません。一方、プロセスの動き・作用の傾向に関してはマネージャーの領分です』
  • マイクロサービスはもう十分 | プロダクト・サービス | POSTD

    モノリスとして管理するには複雑すぎるというシステムでない限り、マイクロサービスは検討さえしなくていい。ソフトウェアシステムの大多数は、単一のモノリシックアプリケーションとして構築されるべきである。そのモノリス内のモジュール性が良好になるよう注意を払う必要はあるが、別個のサービスに分けようとしてはいけない。要旨 モノリスとして管理するには複雑すぎるというシステムでない限り、マイクロサービスは検討さえしなくていい。ソフトウェアシステムの大多数は、単一のモノリシックアプリケーションとして構築されるべきである。そのモノリス内のモジュール性が良好になるよう注意を払う必要はあるが、別個のサービスに分けようとしてはいけない。 – Martin Fowler 明確に構造化されたモノリスを構築できない時、なぜマイクロサービスがその答えだと思うのか。 Simon Brown 始めに マイクロサービスの利点と欠

    マイクロサービスはもう十分 | プロダクト・サービス | POSTD
    ryuzee
    ryuzee 2017/07/06
  • マイクロサービスの終焉 | POSTD

    これは未来からの投稿です。現在、信頼のおけるスケーラブルなプロダクションシステムの構築は、言ってみれば、その他のソフトウェアを書くのと同じくらい容易になっています。未来にはどのような風景が広がっているのか、お伝えしましょう。 2016年当時は、誰も彼もが「マイクロサービス」を取り上げていました。例えば、1996年に「情報スーパーハイウェイ構想」の記事ばかりが出回った頃に似ています。「情報スーパーハイウェイ構想」というフレーズがやがて消滅し、人々はインターネットの構築に戻っていったのと同様に、サービスが、スケーラブルなソフトウェアシステム構築の標準になるにつれ、マイクロサービスの「マイクロ」の部分もまた、削り落とされて行きました。私たちが使ってきた(そして捨て去った)名称であるにもかかわらず、どちらの用語も、当時のテクノロジーに対する考え方とその使い方に起こった転換を示しています。サービスベ

    マイクロサービスの終焉 | POSTD
    ryuzee
    ryuzee 2016/08/23
    “サービスのサイズが重要だったことはなく、結合性や関係性が問題だったからです”
  • 現実世界のマイクロサービス:サービスに陰りが見え始め、いよいよ本気になるとき | POSTD

    マイクロサービスを用いれば、エンジニアリングチームは迅速にプロダクトを拡大することができます……もちろん、彼らが分散システム運用の複雑さのせいで泥沼にはまっていなければの話です。記事では、マイクロサービスの運用に関わる非常に厳しい問題―例えば大規模なサービスのステージングやカナリアデプロイなどの問題―が、RPC層に ルーティング の考え方を導入することにより、どう解決できるのかを説明します。 私は、Twitterでインフラのエンジニアを務めていた時代(2010年から2015年まで)を振り返ってみました。すると、当時はそういった言葉がなかったというだけで、私たちは「マイクロサービスを使っていた」のだということが分かります(当時は、今思えば分かりにくい言葉、 SOA <サービス指向アーキテクチャ>と呼んでいました)。 バズワードはさておき、当時も、現在私たちがマイクロサービスを使おうとする動

    現実世界のマイクロサービス:サービスに陰りが見え始め、いよいよ本気になるとき | POSTD
    ryuzee
    ryuzee 2016/06/10
  • アジャイルな開発には安全性が不可欠 : 現実世界の安全機構との3つのアナロジー | POSTD

    (2016/7/15、著者プロフィールを修正いたしました。) 仮に、高速道路の自動車をより速く走らせることがあなたの務めだとします。もしあなたが、ドライバー全員にただ「アクセルを思いきり踏むように」と言ったら、一体どうなるでしょうか? 結果は明らかに、大惨事となるでしょう。それなのに、ソフトウェアの構築を速めようとする時に、多くの開発者がまさにそんな態度を取っているのです。その理由として持ち出されるのは、以下のようなことです。 「当にアジャイルに進めたいので、デザインやドキュメントには時間をかけられない」 「これは番環境にすぐ反映しなきゃいけないから、テストを書く時間はない」 「何もかも自動化する時間はなかったので、コードのデプロイは手作業でやる」 自動車が高速道路を高速で走るには、安全性が欠かせません。より速く走るためには、ブレーキやシートベルト、エアバッグといった、いざという時にド

    アジャイルな開発には安全性が不可欠 : 現実世界の安全機構との3つのアナロジー | POSTD
    ryuzee
    ryuzee 2016/04/26
  • Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD

    (訳注:2016/3/2、頂いた翻訳フィードバックをもとに記事を修正いたしました。) Railsアプリでのキャッシングは、「たまに夕を一緒にするけれど、当はもっと頻繁に一緒にいるべき友達」に少し似ています。パフォーマンスをまじめに考えるRailsアプリのほぼ全てで、もっとキャッシングを使えるはずですが、ほとんどのRailsアプリでは、完全にキャッシングを避けています。それでも普通は、Railsで高速なサーバ応答を達成するための唯一の道は、キャッシングの知的な利用なのです。約250msの応答時間を、簡単に50~100msに高速化できます。 定義についての注意 ― この記事は、アプリケーション層のキャッシングのみを対象としています。HTTPキャッシング(これは全く別の難物で、あなたのアプリケーションに実装する必要はありません)は、別の機会で扱いましょう。 するべきキャッシングをしない理由

    Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD
    ryuzee
    ryuzee 2016/04/22
  • Webアプリのデプロイメントの悲しい状況 | POSTD

    ここ4日間というもの、インターネットWebフォーラムをインストールしようとして大いに時間を無駄にしました。説明書きには30分でセットアップ可能と書いてあったんですけどね。 コンピュータは得意なほうだと思っているのですが、一体、何が悪かったのでしょうか? これからお教えしましょう。 私の奮闘記 辱めるのは意ではないので製品名は言わないでおきます。この製品でひどい目にあったのは今回が初めてではありませんが、製品単体の問題というよりはもっと大きな問題だからです(”ピス・ホース(馬におしっこ)”に音が似ているとだけ言っておきましょう)。 30分でセットアップ可能と説明されている根拠は、Dockerによるインストールが正式にサポートされていて、それ以外の手段がないからです。Dockerは輝かしくも新しいコンテナ管理ソフトウェアで、それだけでも危険な香りがします。相互運用可能なデスクトップ環境全体を

    Webアプリのデプロイメントの悲しい状況 | POSTD
    ryuzee
    ryuzee 2016/04/18
    お疲れ様です事案
  • 倒産した技術系スタートアップ企業から学ぶ7つの教訓 | POSTD

    多くのGoogle社員と同様、私は起業したくてたまりませんでした。Googleで働くのは名誉なことで、大きなメリットがありましたが、”これ”という決定的な何かが欠けていたのです。 私たちの多くは”あの偉業”を成し遂げた”あの人物”と呼ばれたいと思っていますが、既に定評のあるテクノロジ大企業で、そういった人物になるのは不可能です。 その原動力がどこから来るのかは誰にも分かりませんが、私は多くの人々が自分と同じ気持ちを抱いていることを知っています。私はその欲求を満たすために、会社を設立せざるを得なかったのです。 スタートアップでは資産のほとんどは経営陣が持っていて従業員は持ち分が少なすぎると書かれた文章を読んで、がくぜんとしました。それで自分の会社を設立する決心をしたのです。まず、共同創業者と私は、2012年2月頃に仕事を辞めました。私たちには大した計画はありませんでした。取り組もうとしている

    倒産した技術系スタートアップ企業から学ぶ7つの教訓 | POSTD
    ryuzee
    ryuzee 2016/03/25
  • Amazon AWSでユーザ数1100万以上にスケーリングするためのビギナーズ・ガイド | POSTD

    あるシステムを、1人のユーザから1100万人以上にスケーリングするにはどのようにすれば良いのでしょうか。Amazonのウェブサービスソリューションアーキテクトである Joel Williams が AWS re: Invent 2015 Scaling Up to Your First 10 Million Users でスケーリング方法について素晴らしいプレゼンをしています。 AWS上級者のユーザには適さないプレゼンですが、AWS初心者やクラウド初心者、Amazonが次々と送り出す新機能の流れについていけていない人が始めるには素晴らしい内容だと思います。 おおよその見当は付いていると思いますが、このプレゼンはAmazonによって提供されているため、どの問題についても解決策として提案されているものは全てAmazonのサービスになります。amazonのプラットフォームの役割は、印象深く、分か

    Amazon AWSでユーザ数1100万以上にスケーリングするためのビギナーズ・ガイド | POSTD
    ryuzee
    ryuzee 2016/03/09
    常識的な話だけど最初に読んでおくといいですねー
  • 依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | POSTD

    記事はRubyについて書かれたものではありますが、PythonJavaScriptJavaなど、全ての言語コミュニティに当てはまる事実を述べたものです。依存関係が引き起こす負の連鎖は誰のためにもなりません。 上の図は、私がこれまでに使用した全てのRailsアプリの依存関係を可視化したものです。以下の例はいずれも、どこかで聞いたことのあるものではないでしょうか。 何百ものエントリを含むGemfile 番環境で読み込まれるテスト用Gem 数百メガバイトもRAMをRailsのプロセス Rubygemsシステムは、それを再利用する誰もが容易にRubyのパッケージを作ることができるという点で、賞賛に値するものです。しかし、その便利さが意味するところは、そうしたGemと他のGemを非常に安易に結び付け、さらにそれが、「インターネットでダウンロード」され、数百もの依存関係を持つRailsアプ

    依存関係をなくそう : Rubyアプリ・Gemの開発者への提言 | POSTD
    ryuzee
    ryuzee 2016/03/05
  • それは実験 ― 形骸化した「アジャイル」を再考する新手法”GROWS”について | POSTD

    (この記事は 「アジャイルの破綻―原因、そして新たな提案」の続編にあたる記事です。) 前回のブログで、私はアジャイルの変動について、「調査と順応の概念は一体どこへいってしまったのか」、「近い将来起こり得る問題に対処できるよう手法の革新を図ろう、新たなやり方を導入しよう、という考えはどうなってしまったのだろう」、と問いかけました。 VersionONEによるアジャイル開発の2014年アンケートによると、アンケートに答えた56%のチームがスクラム、10%ほどがスクラムとXPの併用、8%がアジャイル手法の混合(XP, かんばん, リーンなど)を使っていることがわかりました。私からすると、アンケートに答えた18%はだいたい正しいことをしているように見えます。他は、もしかしたら、いつもしている単なる朝礼をアジャイルと呼んでいるかもしれません。 それは少し言い過ぎたかもしれませんが、同アンケートの別の

    ryuzee
    ryuzee 2016/03/03
  • アジャイルの破綻―原因、そして新たな提案 | POSTD

    2001年、17人のメンバーによって アジャイル宣言 が発表されました。私はその立案者そして著者の1人であることに誇りを感じます。この出来事は、何かをする上でより良い方法を導き出すことへの期待、そしてソフトウェアを開発することで世界をより良くするといった、私自身の活力の源となり、極めて重要なターニング・ポイントとなりました。 あれから14年が経ち、私たちは行き先を見失っています。”アジャイル”という言葉はスローガン化してしまいました。来の意味をなさなくなっただけならまだいいですが、最悪に考えれば排外的な存在になってしまったとすら言えます。2~3のソフトウェア開発のプラクティスを、不十分に生半可に試みるといった”軟弱なアジャイル”を行う人が数多く存在します。来の目的を忘れて努力を重ねるといった、口先だけのアジャイルの 狂信者 がたくさんいるのです。 更にひどいのは、アジャイル開発手法その

    アジャイルの破綻―原因、そして新たな提案 | POSTD
    ryuzee
    ryuzee 2016/03/03
    “そのために正常に機能しているチームや組織全体を犠牲にしてはいけません。なぜならソフトウェアだけでなく、チームやユーザ、スポンサーまで含めて1つのシステムだからです。”
  • Vimの生産性を高める12の方法 | POSTD

    1. LeaderをSpaceキーにする Leader は素晴らしい概念です。キーの 組み合わせ ではなく 並び によって、操作を行えるようにするものです。私はこれを使っているので、操作のために” Ctrl -何らかのキー”の組み合わせを押す必要はめったにありません。 私は長い間、 , を Leader キーとして使っていました。ですがある時、キーボードの中で一番目立つキーにマップすることを思い付いたのです。Space(スペース)キーです。 これで私のVim生活は激変しました。今や、私は Leader をどちらの親指でも押すことができ、他の指は常にホームポジションにあります。 Leader がとても使いやすくなったので、私が様々なキーバインドで用いるようになったことは周知の話です。 2. 自分が特によく行う操作をLeaderにマップする 私は、自分がVimで作業を行っている中で、その時間の

    Vimの生産性を高める12の方法 | POSTD
    ryuzee
    ryuzee 2015/07/04
  • プルリクエストをより使いこなす | POSTD

    Gitを使用している人であれば、プルリクエストには馴染みがあるでしょう。これは、分散バージョン管理システムが世に出始めてから、何らかの形で使われています。BitbucketやGitHubのように凝ったWebユーザインターフェイスが構築される前は、プルリクエストは単純に電子メールベースで行われており、Aliceのリポジトリから変更をプルするように依頼していました。プルリクエストを受けた側がこの変更を妥当だと判断すれば、いくつかのコマンドを実行しmasterブランチに変更をプルするという流れです。 $ git remote add alice git://bitbucket.org/alice/bleak.git $ git checkout master $ git pull alice master もちろん、手あたり次第Aliceの変更をmasterにプルすることは、 得策 ではありませ

    プルリクエストをより使いこなす | POSTD
    ryuzee
    ryuzee 2015/05/06
  • 1