タグ

ブックマーク / blog.shin1x1.com (6)

  • 現代のソフトウェア工学を示す「継続的デリバリーのソフトウェア工学」 - Shin x Blog

    年末年始に「継続的デリバリーのソフトウェア工学」を読みました。新年を迎えて、気分を一新して開発を始めるのに良いでした。 ソフトウェア開発に役立つプラクティスを示した 学びのエキスパート 複雑さ管理のエキスパート 実践的なツール データに基づく指標 ソースコードに限らずに広く適用 ソフトウェア開発者としての矜持 TDD あちら側とこちら側 「継続的デリバリー」は 1 要素 さいごに ソフトウェア開発に役立つプラクティスを示した ソフトウェア工学とは、ソフトウェアの実際的な問題に対する効率的、経済的な解を見つけるための経験的、科学的アプローチの応用のことである。 1.2 「ソフトウェア工学と何か」 書では、ソフトウェア開発の現場で役立つプラクティスを、ソフトウェア工学としてまとめています。ここでいう科学的アプローチとは、「特徴づけ」「仮説の定立」「予測」「実験」という形で思考を組み立て

    現代のソフトウェア工学を示す「継続的デリバリーのソフトウェア工学」 - Shin x Blog
  • 事業会社の現場 - 「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」 - Shin x Blog

    @makoga さんから「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」を送って頂きました。ありがとうございました。 VOYAGE GROUP にある 5 つの事業会社についてそれぞれの事業を支えるシステムの開発、運用、改善といった内容を在籍するエンジニアへのインタビュー形式でまとめられたです。 事業会社の現場 システムは一度開発して終わりではなく、事業を継続し続ける限りその開発運用をしていくとになります。5 社ではそれぞれ別の事業を営んでおり、それぞれのコンテキストがあります。書では、システム開発における様々な意思決定(主にシステムの改善)と施策を行ってきたかという話がメインとなっているのですが、具体的な施策だけではなくその背後にあるコンテキストも含めて語られているのが大きいな特徴です。 システム開発は無数の意思決定の上に成り立っており、それぞれの

    事業会社の現場 - 「Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち」 - Shin x Blog
  • ベースイメージを共通化して docker-compose up を速くする - Shin x Blog

    docker-compose で複数サービスを起動する際に時間を要するのが、Docker イメージのダウンロードと展開です。この時間を削減するために、ベースイメージを共通化する方法を試してみました。 エントリでは、開発環境や CI 環境に docker-compose を利用することを想定しています。 改善前 ここでは、dokcer-compose up(pull) の時間を削減できるかを確認するだけなので、下記のように dynamodb, elasticmq, elasticsearch のみを docker-compose.yml に含めています。 version: "2.0" services: dynamodb: image: amazon/dynamodb-local:1.12.0 ports: - 8000:8000 elasticmq: image: softwaremil

  • 誰のためのソースコード? - Shin x Blog

    「誰のためのデザイン?」の旧版と改訂・増補版を読みました。 以前に旧版を読んだのですが、その記憶もあやふやなくらい前だったので、あらためて読み直し、その面白さゆえに改訂・増補版も購入してこれも読み終えました。 Web システム開発を生業としているので、日々ユーザとのインタラクションが発生するプロダクト開発に関わっているわけで、ユーザがどのように製品を認知し、使うかという内容は参考になりました。 それとは別にソフトウェア開発という観点で、ソースコードを読む時に人がどのように認知するのかという点でも興味深いものでした。このエントリでは、自分なりに整理したソースコードと概念モデルについて残しておきます。 ソースコードとメンタルモデル ソースコードの概念モデル 実行モデル プログラマモデル ユーザモデル 誰のためのソースコード? さいごに メモ ソースコードとメンタルモデル ある程度、経験のあるプ

    誰のためのソースコード? - Shin x Blog
  • アプリケーションから例外を投げる派、投げない派 - Shin x Blog

    例外をどのような状況に投げるかもしくは投げないか、というのはわりと意見が分かれるところです。もちろん、プログラミング言語によっても異なりますが、同じプログラミング言語ユーザ同士でも様々です。 基の考え方 ベースとしては、Effective Java の項目 39 にある下記の方針が参考になります。 例外的な状況の時にのみ例外を使う。 Effective Java 禅問答のような定義ですが、これには異論は無いでしょう。例外を正常フローで利用したり、制御構造に用いるべきではありません。 人によって異なるのは「例外的な状況」の解釈です。 例外的な状況 この「例外的な状況」の解釈は人によって異なるようで、これまでも議論になっていました。これまで聞いた解釈を乱暴に分けると以下の 2 パターンに分かれます。 1. アプリケーションから独自の例外を投げる派 ランタイムやミドルウェア連携などプラットフォ

    アプリケーションから例外を投げる派、投げない派 - Shin x Blog
  • PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Blog

    いよいよ、PHP の次期メジャーバージョンの PHP 7 がリリースされます。すでに、RC4 が登場しており、来月予定されているリリースが楽しみです。 PHP 7 には幾つかの新機能が盛り込まれているのですが、その中でも気になるのが、無名クラスです。 無名クラスとは 無名クラスは、クラスの定義をすることなく、オンザフライでオブジェクトを生成する機能です。匿名関数(ネイティブクロージャ)のクラス版だと思うとイメージしやすいです。 無名クラスは、new classで、生成します。下記が、そのサンプルです。ここでは、sayメソッドを持つ無名クラスを定義して、$objectに格納しています。$object の say メソッドを実行すると、'Hello'という文字列が出力されます。 <?php $object = new class { public function say() { echo

    PHP 7 の無名クラスから考えるクラスの在り方 - Shin x Blog
    machupicchubeta
    machupicchubeta 2015/10/14
    anonymous class
  • 1