Clean Architecture 達人に学ぶソフトウェアの構造と設計を読んでます。モデリングに関しては成分薄めですが、よい本だと思います。はい。 Clean Architecture 達人に学ぶソフトウェアの構造と設計 作者: Robert C.Martin,角征典,高木正弘出版社/メーカー: KADOKAWA発売日: 2018/07/27メディア: 単行本この商品を含むブログを見る 本書の大筋から少し逸れるが、「5章 オブジェクト指向プログラミング」の「カプセル化」が面白かったので、これを切り口にモデリングについて考えてみる。 OO言語のカプセル化はすでに弱体化している オブジェクト指向の三大要素の一つである、カプセル化について、以下のようなことが書いてあります。 「カプセル化」がOOの定義の一部となっているのは、OO言語がデータと関数のカプセル化を簡単かつ効果的なものにしているから
背景 今まで Stripe Subscriptions として出してきた製品がこの 4 月に Stripe Billing としてパワーアップし、新しくなりました。今回は、従来の定期支払いの請求に加え、より複雑な請求方法を Billing で実装できるようになりましたので、紹介していきます。 これまで Stripe Subscriptions 101 Part 1 としていた記事の更新記事になります。 今回のアップデートでは、段階制料金体系を構築する Tiered Pricing や毎月の利用料に応じて請求できる Metered Billing といった、主に SaaS 界隈で採用されている手法に、さらに寄り添うことができる仕組みとなりました。 例えば、ライセンスの数量テーブルに応じて価格が異なるサービスやライセンスが増えるごとに単価が異なるようなサービス、決められたサイクルで定期的に請求
Read it now on the O’Reilly learning platform with a 10-day free trial. O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers. User story mapping is a valuable tool for software development, once you understand why and how to use it. This insightful book examines how this often misunderstood technique can help
オープンソース版 Open Data Structures 日本語訳の PDF ファイルを以下で公開しています。最新のソースコードは GitHub のリポジトリ https://github.com/spinute にあり、適宜こちらの PDF ファイルに反映しています。 以下のものは C++ 版です(Java 版はこちら、疑似コード版はこちらにあります)。 目次 訳者まえがき 本書の読み方 訳者謝辞 なぜこの本を書いたのか 謝辞 第1章 イントロダクション 効率の必要性 インターフェース 数学的背景 計算モデル 正しさ、時間計算量、空間計算量 コードサンプル データ構造の一覧 ディスカッションと練習問題 第2章 配列を使ったリスト ArrayStack:配列を使った高速なスタック操作 FastArrayStack:最適化された ArrayStack ArrayQueue:配列を使ったキュ
In a heated debate over technicalities on the internet, you may have heard the argument "Yeah, that may be concurrent but not parallel computing." You're wondering what do they mean anyway? What's the difference? Most importantly, should I care? As it turns out, Node.js can be categorized into one of these. On the general level, though, as long as you keep in mind that the CPU is pretty much alway
はじめに コードリーディングの重要性はそこらじゅうで語り尽くされてる感があります。 僕も地道にコードリーディングをしているのですが、いざやろうとするとハードルが高いことがままあります。そこで、個人的にコードリーディングがはかどったと感じたテクニックをまとめておこうと思います。 筆者環境の前提 ソースコードのバージョン管理は Git を使っている 開発 PC は Mac を使っている エディタは Vim を使っている ghq + peco で読みたいリポジトリに気軽にたどり着く 読みたいソースコードのリポジトリが増えてくると、ローカル環境でのリポジトリをどのディレクトリに置くか、またいざ読もうとするときにディレクトリを辿っていくのが煩雑になってきます。 そんな時、読みたいリポジトリに気軽にたどり着くことができれば、読むハードルが下がります。 僕は peco と ghq の組み合わせを使ってい
プレゼンモード 再生 ← / →で移動 fでフルスクリーン escでおわる こんにちは,id:hitode909です.はてな・ペパボ技術大会 #4 〜DevOps〜 @京都において,「社内横断で開発効率を上げる取り組み」というお題で発表しています.この記事は,その発表資料です. 社内横断で開発効率を上げる取り組み はてな・ペパボ技術大会 #4 〜DevOps〜 @京都 hitode909 自己紹介 hitode909 株式会社はてな アプリケーションエンジニア 好きな本はオブジェクト指向入門とドメイン駆動設計 2009年〜 うごメモチーム 2012年〜 ブログチーム 2017年〜 マンガチーム 2018年〜 CTO室(兼務) アジェンダ CTO室での活動 特定のチームに閉じず,社内横断で開発効率を上げるための試み みなさん 学生の方? 🙌 社会人の方? 🙌 Devの方? 🙌 Opsの
状態遷移テスト - state transition testing - WACATE 2018 夏での状態遷移テスト説明資料。 WACATE 2018 summer http://wacate.jp/2018/summer/program.html
公開中の内容・構成については、変更されることもあります。現在のDrop 2.0Betaの作成状況を下記のマークで示しています。 .....完成かな? .....もう少しです .....まだまだ 現在も相変わらず修正中です。 みなさんからのご意見は、以下のDrop Q&A;にてご紹介させていただきます。 はじめに Dropの読み方・使い方 LastUpdate: 3.11 コンセプト編 第1章 Drop構成用語集(オブジェクト指向用語編) LastUpdate: 2.15 第2章 Drop構成用語集(開発プロセス編) LastUpdate: 2.15 第3章 オブジェクト指向開発の考え方(映画撮影のように) LastUpdate: 2.15 第4章 Dropの目指すもの LastUpdate: 3.11 プロジェクトチーム構成編 第5章 プロジェクト構成の問題 LastUpdat
フローつながりで... 以前どなたかから頂いた質問に、「ペアプロしているときにフロー状態に入ることはありますか」というものがあります。私に関しては、答えはノーです。デマルコがPeoplewareの中で言及しているようなフロー状態に入ることはありません。 ペアプロは最大出力/最大速度よりも平均出力/平均速度をもたらすものだと考えています。プログラマの最大出力を足した和に比べると生産力は低いと思いますが、情報共有コストや平均的な作業量を考えると軽くお釣りがくるでしょう。またペアプロのほうが目の前の問題に対して異なる視点を持つことができ、結果として「気づき」が多くなります。 また、ペアプロは精神が乗っているときよりも、精神が乗っていないときにこそ効果を発揮すると考えています。これは今のプロジェクトでも日々感じています。一人であれば気乗りしないような作業でも相互に分かちあうことで強力な前進力を生み
0は性別に関する情報が得られない場合に使います。性別に関する情報はあるのだけど1とも2とも言えない場合は9を使います。要は「0でもなくて1でも2でもなければ9」です。 これを知っていればMだとかFだとかを議論をせずに済みますね。 国際規格に従うべき理由 国際規格に従うことは色々と利点があります。まず、どうしてそういうコード体系にしたのかを説明しやすいです。また多言語対応する際も規格通りに書けば伝わるはずなので迷わずに済みます。別システムへのデータの移行や、異なるシステム間でのデータの統合もコード体系が同じならラクラクです。もしかしたら別のプロジェクトで書いたコードをそのまま使いまわせるかもしれません。技術者に対するトレーニングも不要です。 対して、わざわざ国際規格に反する実装をする場合は上記のメリットがそのままひっくり返ってデメリットになりはしますが、もちろん、それなりの理由があれば規格と
アルゴリズムイントロダクション 第3版 総合版:世界標準MIT教科書 T. コルメン, C. ライザーソン, R. リベスト, C. シュタイン(著), 浅野哲夫, 岩野和生, 梅尾博司, 山下雅史, 和田幸一(訳) 近代科学社 15,400円 (14,000円+税) 計算機科学の基礎分野で世界的に著名な4人の専門家がMITでの教育用に著した計算機アルゴリズム論の包括的テキスト.前版までで既にアルゴリズムとデータ構造に関する世界標準教科書としての地位を確立しているが,より良い教科書を目指して再び全面的な記述の見直しがなされている. 関連サイト本書の関連ページが用意されています。 アルゴリズムイントロダクション 第3版 総合版(近代科学社ウェブサイト)内容紹介世界標準 MIT 教科書!! 原著は,計算機科学の基礎分野で世界的に著名な4人の専門家がMITでの教育用に著した計算機アルゴリズム論の
Money Transfer Saga Part 1 - The Scenario Part 2 - The Implementation Part 3 - The Audit Log Part 4 - Supervision, error kernels and idempotency Part 5 - Results The Saga pattern was first coined by Hector Garcia-Molina and Kenneth Salem in their paper, Sagas. Although originally described in the context of a database management system, the Saga pattern has gained popularity in a distributed syste
yuniで実用的なプログラムを書くためには、どうしても非同期I/Oライブラリが必要になる。というわけで黙々と設計しているけれど、これがなかなか難しい。 非同期I/Oライブラリの難しさ そもそもOS/処理系毎に別物が必要 "非同期I/Oライブラリなんてlibuv一択だろ"という意見も有るかもしれないし、実際、Node.jsはlibuvのデザインの実用性を証明しつづけていると言える(実際には逆で、Node.jsのOS抽象化レイヤとしてlibuvが実装されている)。が、libuvはカーネル機能の抽象化でしかなく、同じデザインがyuniに適用できるとは限らない。yuniは既にKawa(Java上のScheme実装)やIronScheme(.net上のScheme実装)をターゲットしているので、これらでも動作するような配慮が必要になる。 もし、yuniの非同期I/Oライブラリを単なるlibuvのバイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く