パパエンジニアのポエムスマートフォン用の表示で見るパパエンジニアのポエム奥さんと娘ちゃんへの愛が止まらないこの広告は、90日以上更新していないブログに表示しています。programmers...上記サイトの翻訳です。ソフトウェア開発という行為が、いかに複雑で困難なことかを説明する時のために残しておく。全プログラマが泣ける内容になっております。家を一つ設計施行してくださいな。何が必要か具体的なことはわからないので、そこはよきに計らう方向で。寝室の数は、2から45までの間。寝室の追加と削除は簡単に出来るようにしといて下さいね。青写真が出来次第あたしが何が気に入ったかを最終判断します。それぞれの青写真について明細書を付けるのをお忘れなく。後で気に入ったのをピックアップできるように。完成後の家の費用は、今住んでいる家よりも安上がりでないと駄目なことを留意してくださいな。それでいて、今の家の欠陥(あたしが歩くたびにキッチンの床がきしむとか、壁の断熱がなってないとか)が全て修正されている必要があるのは言うまでありません。設計の際には、保守費用も最低になるよう工夫するのもお忘れなく。当然ですがそれにはアルミやビニールやサイディングのような高品質の部材が必要になるでしょう(アルミが使えない場合は、その理由を委細もらさず説明すること)。施行においては最新のデザインと素材を惜しまないように。モデルルームにひけをとらないように。キッチンには1952年ギブソン製の冷蔵庫を含め、今あるものが全て無理なく収まるようにすること。家を設計するにあたって、当然ですが私の子供たち、義理の家族達に詳細にインタビューするように。そうそう、家に関しては一家言お持ちの姑をお忘れなく。一年に一度も来るんですからね。選択肢は入念に吟味すること。最終決定権は当然あたしにあります。ささいなことであたしを患わせないこと。建築士様の仕事は、全体計画をたてて大枠を提示すること。カーペットの色とかは委細。ところで私のダンナは青が好き。資材調達に関しては心配ご無用。建築士様の第一優先は詳細設計と仕様固めですから。あたしが計画を承認ししだい、48時間以内に棟上げ完了すること。あたしの家を設計する際には、いつかはあたしが家を別の誰かに売りに出すことを忘れないこと。将来の買主が誰になっても魅力的なものにすること。計画を仕上げる前に、近所の潜在顧客の了承もとりつけておくこと。あたしのご近所の新築物件の視察は済ませておいた方がいいわ。あたしも多いに感銘を受けたし。あたしの家に必要なものもたくさんあったし。建築士様なら、費用負担を一円も増やさずに出来るわよね。必要な青写真はすべて取り揃えておくこと。本番デザインは必要ないわ。施工業者の入札に使うだけだから。設計変更による追加費用は、すべて建築士様の責任だということは念を押しておきます。建築士様にとってこれほど魅力的なプロジェクトもそうはないでしょう!最新の技術と部材を使って、自由に設計できるんですから。滅多にない機会ですよ。アイディアと完成済みの設計をもって今すぐご連絡下さいませ。ダンナはあたしの指示をあまり気に入ってないみたい。建築士様なら、丸く納められるわよね。あたしもいろいろ試してみたのだけどどうもうまく行かなくって。丸く納められないなら、他の建築士を探すことにするわ。して、あたしが必要なのは家じゃなくてトレーラーハウスかも。思うならその旨すぐにご連絡を。18:21建築士がプログラマーのごとく働かねばならぬとしたらTweet広告を非表示にするもっと読むコメントを書く2018-12-06ドメイン駆動設計をざっくり把握したい2DDD戦術的設計レイヤ化アーキテクチャ依存関係逆転の原則(DIP)エンティティドメインサービス集約ファクトリリポジトリアプリケーションユーザーインターフェースアプリケーションサービスインフラストラクチャ前回の続き。DDDの戦術的設計をざっくりまとめる。戦術的設計レイヤ化アーキテクチャアーキテクチャパターンの一つで、下位層から順番にインフラストラクチャ層、ドメイン層、アプリケーション層、UI層に分離される。原則として下位層にしか依存してはいけない。依存関係逆転の原則(DIP)「上位のモジュールは下位のモジュールに依存してはならない。どちらのモジュールも抽象に依存すべきである。抽象は、実装の詳細に依存すべきではない。実装の詳細が、抽象に依存すべきである。」DDDにおけるDIPインフラストラクチャ層のコンポーネントは、ドメイン層が定義するインターフェースに依存するべきである。具体的には、インターフェースIRepositoryをドメイン層に実装し、具象暮らすRepositoryをインフラストラクチャ層に実装する。エンティティ一意なモノを表現する概念のことで、実装時は一意に特定するポイントとなる属性や振る舞いだけに注目することが重要。ビジネスロジックを内包した一般的なクラス群の呼称、getterとsetterしかないドメインモデル貧血症というアンチパターンに注意する。ドメインサービスとあるドメインにおいてのサービスは、そのドメインに特化したタスクをこなす、ステートレスな操作のこと。集約とは、エンティティのまとまりを表し、整合性を保ちながらデータを更新する単位のこと。責務は、エンティティ群の生成/読み込み/変更/保存等のライフサイクル管理。ファクトリファクトリとは、集約を生成する責務をもつ概念のこと。特定の集約にて、別のエンティティ(集約も含む)を生成することが多い。リポジトリリポジトリとは、エンティティから構成される集約の保存と取得の責務をもつ概念のこと。依存関係逆転の原則の説明にあるように、リポジトリのインターフェースは、集約と同じドメイン層のパッケージに配置。リポジトリの具象クラスはインフラストラクチャ層に配置する。アプリケーションここでいうアプリケーションとは、ドメインモデル、ユーザーインターフェース、アプリケーションサービス、インフラストラクチャのコンポーネント全体を指す。ユーザーインターフェースJavaのSpringや.NETのASP.NETなどのWAFがこの層に属する。ドメインモデルのユーザーインターフェースへのレンダリングは、DTOを用いることが多い(当然他の方法もある)。アプリケーションサービスが集約インスタンスを取得し、それをDTOにレンダリングする。ドメインモデルに依存するかどうかはケースバイケース。アプリケーションサービスアプリケーションサービスとは、ドメインモデルの調整を行う責務をもつコンポーネント。ユーザーインターフェースとドメインモデルの橋渡し役となるので、それぞれの層の依存関係を調整するのが大切。インフラストラクチャインフラストラクチャは、アプリケーション全体の技術的機能を提供する責務をもつ。DIPをい、アプリケーション内のあらゆるクライアントは抽象に依存するようにし疎結合化を図る。15:00ドメイン駆動設計をざっくり把握したい2Tweet広告を非表示にするもっと読むコメントを書く2018-12-01ドメイン駆動設計をざっくり把握したい1DDD前提DDDとはDDDの登場人物DDD導入メリット(事業)DDD導入メリット(人物)DDD導入メリット(具体例)DDD用語集DDDをざっくりまとめておく必要があったので、メモがてらまとめる。「ソフトウェア開発とは、恐ろしく複雑である」という事実を真正面から向き合うための方法論。全プログラマが泣いた建築士がプログラマーのごとく働かねばならぬとしたらという秀逸な例え。デジタルサービスを事業としている会社にとって「ソフトウェアは事業そのもの」といえる。経営がソフトウェアを理解するのも大事だし、開発者が経営を理解するのも大事。それがそのまま対象ドメインでの競争力になる。略でソフトウェア開発手法です。GoFのようなデザインパターンではなく、ソフトウェア設計の概念です。開発者ソフトウェアを開発する人ドメインエキスパートソフトウェアが対象とする業務領域(ドメイン)について業務知識を有する人DDD導入メリット(事業)開発費用がコストから事業投資へ置き換わる。開発者とドメインエキスパートが共通言語(ユビキタス言語)を用いて視点を揃えることにより、ワンチームであたかも顧客が開発するようにソフトウェアを開発できるドメインエキスパートですら理解が浅い業務ドメインの知識を、チームで共有し開発者視点も含め検討することにより、顧客の理想を超えるソフトウェアを開発できる対象ドメインの複雑さをドメインモデルというDDDの概念を用いて緩和する事ができるDDDは、設計がコードであり、且つコードが設計であると表現されるように、開発時の翻訳コストが減り、実装時の課題を設計段階で気づくことが出来るDDDは、アジャイル開発が前提なので、イテレーティブでインクリメンタルな開発を行うことが出来るDDD導入メリット(人物)各人の望むことが手に入る可能性が高まる。DockerPHPの環境構築nginxの環境構築index.phpdocker-compose感想ちょっとPHP触ってみたくなったのでnginxとMySQLなWebアプリケーションをdocker-composeで構築してみる。PHPの環境構築PHPの実行環境をnginxで構築する場合、PHP-FPMを使いやり取りを行うらしい。mbstringnginxの環境構築nginxのパラメータは正直ググりながら適当にやったら動いたという代物笑。本格的に使うときにちゃんと調べる。}}index.php何を表示しようかと思ったけど、とりまDBに接続できてればよいかという発想で書いた。var_dump($val);}$db->close()?>docker-compose肝心のdocker-composeファイルがこちら。MySQLはlatestを使ってます。わからないが、なんとなくPHPを生のまま書くのは死ねる気がする。Laravel使ってみてからじゃないと評価できなそう。いうわけで次回はLaravel使う。システムとしてマウントするためのGoogle謹製OSS。同じコマンドをを仕込む。これで、サーバー再起動等行っても正常にマウントされる。この記事ではGPUをGCEで使えるようにする設定を行う。ダウンロードするNvidiaの公式サイトから下記画像の沿ってドロップダウンを選択しダウンロードする。Debianこの辺を参考にしつつ、ウルトラググりながら依存ライブラリをインストールする。nouveauを追加する。/etc/modprobe.d/blacklist.confここで忘れずにGCE再起動。下記SCPコマンドでアップロード可能。wowza:~/GCEターミナル内でドライバを実行権限をつけてインストールする。コマンドでGPUの使用状況が取得できれば正常にインストール完了。一筋縄ではいかなかったので、ググラビリティが試されるかも。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。