1. はじめにJavaScriptデザインパターンは、JavaScriptを使ってプログラムを書くときによく出くわす問題を解決するためのガイドです。これらのパターンの背後にある考え方を理解することで、自分の問題に適用することができます。また、これらのパターンが自分のコードに役立つ場合を見つけることもできます。 2. モジュールパターン モジュールパターンは、JavaScriptのモジュールシステムの一部で、データを保護する方法を提供します。これは、モジュール内のプライベートなデータと動作を保護し、一方で公開APIを提供する方法です。これにより、プライベートとパブリックのアクセスレベルを持つ自己完結型のモジュールオブジェクトを作成することができます。 これは、JavaやC++のような言語でクラスにアクセス修飾子を使用するのに似ています。JavaScriptでは、クロージャを使用してモジュ

ステートダイアグラム ステートダイアグラムは、システムまたはオブジェクトが存在しうるさまざまな状態、およびそれらの状態間の遷移を視覚的に表現します。これらは、システムが時間の経過とともに異なるイベントにどのように応答するかを捉え、システムの動的な動作をモデリングする上で不可欠です。ステートダイアグラムはシステムのライフサイクルを描写し、その挙動を理解、設計、最適化するのを容易にします。 PlantUML を使用してステートダイアグラムを作成することは、いくつかの利点を提供します: テキストベースの言語:手描きの手間なく、迅速に状態と遷移を定義し、視覚化します。 効率と一貫性:ダイアグラムの作成を効率的に行い、簡単なバージョンコントロールを確保します。 多様性:さまざまなドキュメンテーションプラットフォームと統合し、複数の出力フォーマットをサポートします。 オープンソース&コミュニティサポー
はじめに本投稿はJava言語で学ぶデザインパターン入門のデザインパターンをまとめた記事です。今回はSingletonパターンになります。 まとめ一覧はこちら Adapterパターン Adapterとは Adapterとは適合するという意味で、Wrapperパターンと呼ばれることもあります。 「すでに提供されているもの」を「利用できるもの」にするためのデザインパターンで、本書ではAC電源とノートパソコンの間のACアダプターを例として説明されています。 利用場面として以下が考えられます 関連性のないクラス通しを既存のクラスを変えずに関連付けする場合 既存のクラスをある新しいインターフェイスを通じて再利用したい場合 既存のクラス・インターフェイスをアプリケーション固有なものに(使いやすく)したい場合 Adapterパターンのクラス図 利用する側はAdapterを生成し、Target[インタフェ

AASM -Ruby statemachines ここを参考にしました。 https://github.com/aasm/aasm/blob/master/README.md https://github.com/aasm/aasm/blob/master/CHANGELOG.md ※2014年に本記事を投稿してから、細々と継続的にアクセスがあるようです。AASMの仕様は投稿当時と最新版でもそれほど変わっていないようですが、ご利用にあたっては必ず上記GitHubのREADMEとCHANELOGの確認をお願いします。 概要 AASMはRubyのclassに有限オートマトンを追加するライブラリ。2014年10月現在でも精力的に開発が進められている。以下の内容は gem version ~~~3.4.0~~~ 4.9.0 に準拠する。 http://techblog.heartrails.c

HeartRailsTechBlog ハートレイルズのエンジニア、デザイナーによるブログです。 ウェブサービス、スマホアプリ、IoT デバイスの開発に関連する技術的な情報を発信していきます。 こんにちは。ハートレイルズの前島(@netwillnet)です。今回は aasm という、状態遷移をスマートに管理するためのRailsプラグインの紹介をしようと思います。 インストール方法 gem install aasm だけ。 どういうときに使えるの? 複数の状態を持つモデルを管理するときに威力を発揮します。例として、所有している本の状態を管理するモデルを書いてみましょう。状態には 未読(not_read) 読んでる途中(reading) 既読(read) 捨てた(dump) の4つがあるとし、 status カラムで管理します。また、別の状態として「友達に貸している」を管理する lendin
メルカリで写真検索とEdgeAIチームに所属している澁井(しぶい)です。機械学習のモデルを本番サービスに組み込むための設計やワークフローをパターンにして公開しました。GithubでOSSとして公開しているので、興味ある方はぜひご笑覧ください! PRやIssueも受け付けています。私の作ったパターン以外にも、有用なパターンやアンチパターンがあれば共有してみてください!GitHub:https://github.com/mercari/ml-system-design-patternGitHub Pages:https://mercari.github.io/ml-system-design-pattern/README_ja.html なぜ機械学習システムのデザインパターンが必要なのか機械学習モデルが価値を発揮するためには本番サービスや社内システムで利用される必要があります。そのた

依存性逆転の原則または依存関係逆転の原則(dependency inversion principle)とは[1]、オブジェクト指向設計の用語であり、ソフトウェアモジュールの疎結合を確立する特別な形態を表現したコンセプトである。SOLIDの五原則の一つとして知られる。 オブジェクト指向における従来の依存関係とは、上位モジュールから下位モジュールへの方向性であり、仕様定義を担う上位モジュールを、詳細実装を担う下位モジュールから独立させて、各下位モジュールを別個保存するというものだったが、それに対して依存性逆転原則は以下二点を提唱している[2]。 上位モジュールはいかなるものも下位モジュールから持ち込んではならない。双方とも抽象(例としてインターフェース)に依存するべきである。 "High-level modules should not import anything from low-le
YouTube での解説 YouTube にてJava コードをベースに解説を行いました。 コードの雰囲気は C# とほとんど同じなので参考になるかと思います。 もしよければご覧ください。Java コードの記事リンク:https://nrslib.com/clean-architecture-with-java/ その他解説もしています。もしよろしければチャンネル登録をお願いいたします。 Qiita 版 Qiita に CUI やGUI 向けのクリーンアーキテクチャの記事を書きました。 ボブおじさんのクラス図を模したものです。 Web とはまた異なった実装になるので、もしよければ合わせてご参照ください。 https://qiita.com/nrslib/items/a5f902c4defc83bd46b8 さらにPHP のLaravel 版も作ってみました。 https://qi

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