タグ

cと設計に関するslay-tのブックマーク (8)

  • クリーンアーキわからんかった人のためのオニオンアーキテクチャ

    依存関係逆転の原則に苦しんだ方々、いかがお過ごしでしょうか。 今回はアプリ設計の話です。 アプリ設計におけるクリーンアーキテクチャについて少し語り、調べていくうえで誤解していた部分や理解しにくかった部分を語ったうえで、オニオンアーキテクチャとクリーンアーキテクチャというよく似た二種類のアーキテクチャの説明をしていく、という流れとなっています。 言葉の定義について ここではアーキテクチャにおけるインターフェイスとプログラミング言語におけるインターフェイスを区別するために、プログラミング言語におけるインターフェイスを抽象型と表記します。 それぞれの言語において、抽象型は以下のような言語機能で実現されています[1]。 Java, C#などにおける抽象クラス abstract class Java, C#, Golangなどにおけるインターフェイス interface rustにおけるトレイト t

    クリーンアーキわからんかった人のためのオニオンアーキテクチャ
  • ざっくりCQRS/Event Sourcingを解説する

    AWS データベースブログの記事 「Amazon DynamoDBによる CQRSイベントストアの構築」 を勝手に読み解く

    ざっくりCQRS/Event Sourcingを解説する
  • Cookpad Pad 2 という自作キーボードノベルティをつくった話 - クックパッド開発者ブログ

    こんにちは、高井です。みなさま Cookpad Online Summer Internship 2020、お疲れさまでした。 さて、今回はインターンのノベルティとして Cookpad Pad 2 という自作キーボードキットをノベルティとしてつくったので、その紹介と解説です。今年のインターンシップはリモート開催ということもあり、ふだんよりも豪華なノベルティをつくることができました。写真では見えませんが、裏側に Cookpad Online Summer Internship 2020 のロゴがプリントされていて、限定感を出しています。 というわけで、記事では Cookpad Pad 2 を例に取りながら、自作キーボードキットを作成する方法について解説します。キーボードの開発はさまざまなノウハウが公開されているため、実際のところそれほど難しくはありません。記事ではキーボード開発についての

    Cookpad Pad 2 という自作キーボードノベルティをつくった話 - クックパッド開発者ブログ
  • 化合物でもDeep Learningがしたい! - kivantium活動日記

    この記事は2017年12月15日に https://kivantium.net/deep-for-chem/ に投稿したものです。 情報が古くなっていますが、まだ参照されているようなので再掲します。 この記事はDeep Learningやっていき Advent Calendar 2017の15日目です。 Deep Learningの威力が有名になったのは画像認識コンテストでの圧勝がきっかけでしたが、今ではDeep Learningはあらゆる分野に応用され始めています。NIPS2017でもMachine Learning for Molecules and Materialsが開催されたように、物質化学における機械学習の存在感が高まりつつあります。この記事ではその一例として化学の研究にDeep Learningが使われている例を紹介していきます。 化学物質の研究に機械学習が使われる主なパター

    化合物でもDeep Learningがしたい! - kivantium活動日記
  • CとRustで一から作るマイクロカーネルOS

    マイクロカーネルは浪漫に溢れる非常に作りがいのあるソフトウェアです。この記事は,「マイクロカーネルベースのOSの一から作ってIaaSで動かす」ことを目標に作ったマイクロカーネルベースのOS Resea(りーせあ)の設計と実装について軽くまとめた物です。 ソースコードはGitHubにあります。 マイクロカーネルとは Linuxのようなモノリシックカーネルでは色んな機能がカーネル空間で動きますが,マイクロカーネルではユーザプロセスたちが互いに通信しながらOSを作り上げます。プロセス・スレッド・仮想メモリ管理,プロセス間通信,タイマーといった必要最低限の機能だけをカーネルが担います。デバイスドライバやファイルシステムといった残りの機能は,独立したユーザプロセスとして動きます。たとえデバイスドライバが暴走しても他のコンポーネントを壊すことはないのです。マイクロカーネルは信頼性が高く,疎結合で美しい

    CとRustで一から作るマイクロカーネルOS
  • C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート

    3月あたりからもっとUnityを上手く使いたい!と思い、ぼちぼちC#の勉強を始めました。最近はクラス設計を見直そうと思い、デザインパターンやオブジェクト指向の勉強をしています。 そしてだんだん勉強するうちにあることに気づいてしまったのです。 「クラス設計の勉強をしだすと、ゲームが永遠に完成しないのでは?」 そう思った経緯について今回は書いていきたいと思います。 オブジェクト指向が滅茶苦茶分からない デザインパターン多すぎ・・・ Unityのクラス設計に関する記事自体が少ない そしてアプリは完成しなくなった さいごに願うこと オブジェクト指向が滅茶苦茶分からない オブジェクト指向の勉強をしだして、SOLID原則であったり、デザインパターンであったり色んなことを覚えました。ただどういったものかというイメージを覚えただけなので、実際に使ってみようと思うと悲劇は起こります。 全然手が動かない・・・

    C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート
  • アンチパターンから学ぶ RDBの正しい設計 / learn-from-failure-2

    PHPerKaigi 2019の登壇資料です - https://phperkaigi.jp/2019/ - https://fortee.jp/phperkaigi-2019/proposal/328896eb-c084-41c9-847f-f0512a538811 ■前作 - 失敗から学ぶ、RDBの正規化の話 - https://soudai.hatenablog.com/entry/learn-from-failure-1

    アンチパターンから学ぶ RDBの正しい設計 / learn-from-failure-2
  • C#のAPI設計のモデルとインターフェース

    オブジェクトグラフは到達可能な子オブジェクトから構成されます。データモデルやDTOの場合、オブジェクトグラフは一方向のツリーに似た構造になります(循環グラフもありうるが、シリアライゼーションで問題になる)。 ドメインモデル ドメインモデルは関連するデータモデルを表す、より高い次元の概念。 エンティティ “エンティティ”という言葉には多くの定義があります。質的には“データモデル”と同じ定義のものもあります。nHibernateとEntity Frameworkが人気になったので、データベースのテーブルと一対一にマッピングされるDTOを意味するようになりました。 この定義の場合、エンティティはカラムと列のマッピングを正確に説明する属性で飾られるようになります。データベースからの遅延読み込みもサポートします。 エンティティを拡張してデータモデルとしての役割を担わせることもできますが、エンティテ

    C#のAPI設計のモデルとインターフェース
  • 1