『Enterprise Integration Patterns』の著者の1人であり現在GooglerのGregor Hohpe氏が「Gregor's Ramblings」というブログを書いていますが、著者本人から許可をいただいたので、それを翻訳するプロジェクトを始めました。 http://code.google.com/p/gregors-ramblings-ja/ Hohpe氏のブログは、EIPの著者であるだけに、EAIやSOAに関する最先端の面白いアイデアがたくさん書かれています。第一回目は、その中でももっとも有名な記事「Starbucks Does Not Use Two-Phase Commit(スターバックスは2フェーズコミットを使わない)」を翻訳しました。 この記事は、Joel Spolsky編著の書籍『The Best Software Writing I』にも選ばれた記事
Update: this post has now taken off on Hacker News and Reddit. Thank you all! Who’s this tutorial for?This series of compiler tutorials is for people who don’tjust want tocreate a toy language. You want objects. You want polymorphism. You want concurrency. You want garbage collection. Wait you don’t want GC? Okay, no worries, we won’t do that :P If you’vejustjoined the series at this stage, he

PHPカンファレンス2016 レポート 和田卓人さん、PHPで堅牢なコードを書く—例外処理、表明プログラミング、契約による設計 〜PHPカンファレンス2016 2016年11月3日にPHPカンファレンス2016が開催されました。本稿では、ゲストスピーカーである和田卓人さんによる講演「PHP7で堅牢なコードを書く - 例外処理、表明プログラミング、契約による設計」についてレポートします。PHP7では例外や表明の機能が大幅に見直され、強化されました。この講演では、例外処理を設計する際の基本的な考え方や、表明(assertion)の使い方、そして表明と例外を使い分け、堅牢なコードに導くための設計手法「契約による設計(Design by Contract)」の考え方を説明しました。 導入 はじめに、和田さん自身が監訳に関わった『SQLアンチパターン』に掲載されているコードを、よりひどくさせた

ReactのConcurrent Modeが最初に発表されたのはもう1年近くも前のことです(記事執筆時点1)。Concurrent Modeはたいへん奥深い機能で正式版がたいへん待ち遠しいですが、Concurrent Modeの代名詞として多くのReactユーザーに知られているのはPromiseをthrowするというAPIデザインです。Concurrent Modeでは、コンポーネントがレンダリング時にPromiseをthrowすることで、レンダリングをサスペンドした(Promiseが解決されるまでレンダリングできない)ことを表します。 Concurrent Modeに関しては筆者の既存記事Concurrent Mode時代のReact設計論 (1) Concurrent Modeにおける非同期処理などをご参照いただきたいのですが、ここではPromiseをthrowするということ自体に焦点

Stop using frameworks for everything.Just stop. You don’t need a framework to writegood code and deliver products. Don’t get me wrong, frameworks are useful, but they are all-consuming and hide the application. So if you shouldn’t depend on frameworks what should you do instead? Clean architecture. More specifically, there are some patterns you can follow to better architect your application and
こんにちは。 最近、こんなツイートしたのですが、ドメインオブジェクトではなくアプリケーションサービス1などにドメインロジックが書かれてしまうことがあります。 アプリケーションサービスはドメインロジックを配置する場所ではない、それはドメインオブジェクトの役割。アプリケーションサービスは進行役。ここを間違うから簡単にドメインモデル貧血症になってしまうんだと思います。 — かとじゅん (@j5ik2o) August 18, 2019 最近、以下の書籍(以下増田本)をマジメに読み直しました(笑)。ドメインモデル貧血症2を回避して、ドメインロジックをドメインオブジェクトに凝集させる方法に関して、増田本にいろいろ書いてあったので、そのエッセンスと僕の考察を交えて解説したいと思います3。 詳しい内容は以下の増田本を読んでください! コード例はScalaですが難しい表現がないので、Scalaが分からな

これはずいぶん昔からあるアンチパターンのひとつですが、今になって台頭してきているようです。 Eric Evans と話したのですが、彼も、それがだんだんポピュラーになってきていることに気づいていました。 私たちほど大の「真ドメインモデル」推進者としてみれば、ちょっとうれしくありません。 ドメインモデル貧血症の基本的な症状は、一見、それが本物のドメインモデルに見えるという点です。オブジェクトがいくつかあり、それらはドメイン空間にある名詞から名前をつけられています。それから、オブジェクト同士がしっかりとしたリレーションで結びついており、本物のドメインモデルと同じような構造を持っているのです。 ただし、オブジェクトの振る舞いを見れば違いが分かります。それらのオブジェクトにはわずかな振る舞いしかない、ということに気づくと思います。 ドメインのロジックをドメインオブジェクトの中に入れないという設計ル
WebAssembly Interface Types: Interoperate with All the Things! People are excited about runningWebAssembly outside the browser. That excitement isn’tjust aboutWebAssembly running inits own standalone runtime. People are also excited about runningWebAssembly from languages likePython,Ruby, andRust. Why would you want to do that? A few reasons: Make “native” modules less complicated Runtimes

Warning This document is work in progress. Please contact Vyacheslav Egorov (by mail or @mraleph) if you have any questions, suggestions, bugreports. Last update: Oct 62022 This document is intended as a reference for new members of theDart VM team, potential external contributors orjust anybody interested in VM internals.It starts with a high-level overview of theDart VM and then proceeds t
(This article is also available on the DEV community without the paywall.) This week, Sophie Alpert and I presented the “Hooks” proposal atReact Conf, followed by a deep dive from Ryan Florence: I strongly recommend to watch this opening keynote to see the problems we’re trying to solve with the Hooks proposal. However, even an hour is a big time investment, so I decided to share a few thoughts o


Flutterでの状態管理方法について雑に調べた時のメモです。 先に感想を書いておくと、 Inherited Widget/Scoped Model/BLoC Patternでそれぞれ軽くアプリを書いたりしてみたけど、自分の用途レベルのアプリではScoped Modelで十分かなという感じ。BLoC Patternはweb/ios/androidでロジックを統一したい時だけ検討かな...— 宮崎由加(24) (@razokulover) October 8, 2018 以下、有益そうな記事or動画リンクが主です。Flutterで状態管理の仕方色々Flutter Architecture Samples Inherited Widget/Scoped Modelの他、ReduxやMVUといったパターンのサンプルもある (動画)Buildreactive mobile apps with

ここでは、BLoCパターンのガイドラインを参照し、それに基づきデモアプリを作成し、その解説を通じてBLoCパターンの考察を行う。 今までも何度かMeetup等でBLoCパターンの解説を行ってきたが、あらためてこのブログ記事にまとめておく。BLoCパターンとはBLoCは、BusinessLogic Componentの頭字語(acronym)で、状態管理に関するアーキテクチャパターン。 以下、https://www.youtube.com/watch?v=PLHln7wHgPEより、BLoCのガイドラインを引用する。 BusinessLogic Component(BLoC)のガイドライン 状態を管理するBLoCに以下の制約を課す。 インプットとアウトプットは、単純なStreamとSinkに限定する。(Inputs and outputs aresimple Streams/Sin


下記の「旧FC2無料ホームページスペース」は2025年06月30日をもちましてサービスを終了いたしました。 FC2WEB http://www.fc2web.comGOOSIDE http://www.gooside.com k-free.net http://www.k-free.net Easter http://www.easter.ne.jp 55 STREET http://www.55street.net ZERO_CITY.com http://www.zero-city.com OJIJI.NET http://www.ojiji.net K-Server http://www.k-server.org Zero-yen.com http://www.zero-yen.com KTNET http://www.kt.fc2.com Finito http://www.fi
こんにちは、TechFeedの白石です。 大変お待たせしました!前回の7.7リリースから実に2ヶ月が経過してしまいましたが、ようやく新バージョンのリリースにこぎつけました。 ・Web版 ・Android版 ・iOS版 今回のリリース7.8の目玉は、とにかくパフォーマンスです。起動速度、データ読み込み速度、スクロールの反応など、全般的な速度が改善しました。Androidユーザーの方は、起動速度が今までに比べて半分くらいになっていると思いますし、iOSユーザーの方は、データの初期表示がこれまでに比べて数秒早まりました。 ほか、細かいバグフィックスが(ほんとに)多数含まれているので、必ず早めのアップデートをお願いしますね。技術者向けの話題TechFeedのユーザーはほとんどがエンジニアだと思うので、今回のリリースについて、技術的な側面も述べさせていただきます。今回のリリースでは、以下のようなこ
ソフトウェアの世界には「悪い方が良い」原則という有名なエッセイがある。キレイにレイヤ分けされた一貫性のある良いデザインよりも、一見手抜きっぽい悪いデザインのほうが実は良いときもあるという話だ。この逆説的なデザイン原則を僕は身をもって体験したことがある。それについてちょっと書いてみようと思う。 僕はlldというリンカの現行バージョンのオリジナル作者だ。リンカというのはコンパイラと組み合わせて使うもので、実行ファイルやDLLを作るのに使用される。lldはプロダクトとしてはかなり成功していて、標準のシステムリンカとして採用しているOSがいくつかあったり、GoogleやFacebookなど皆が知っているような大規模サイトの中で広く使われていたりする。 現在のlldは2世代目で、第1世代のlldは僕がプロジェクトに参加する前から存在していたのだけど、数年前にそれを捨てて一から書き直すということになっ

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く