鉄道指向プログラミング(Railway Oriented Programming)とは何か?基本概念と背景 鉄道指向プログラミング(Railway Oriented Programming)は、エラーハンドリングを効率化し、コードの可読性を向上させるための設計手法です。 その名前は、鉄道のように2つの「レール」を持つ構造を比喩としており、処理が成功すればメインレールを進み、エラーが発生すれば別のレールに移行するというモデルに基づいています。 この手法は特に関数型プログラミングや関数型的な設計に適しており、プログラムのフローを直感的に理解できる点が特徴です。 背景には、従来のエラーハンドリング手法の複雑さや、try-catch構文による煩雑なコードが挙げられます。 この手法を用いることで、開発者はコードをシンプルかつ直感的に保ちながら、エラー処理を明確に分離することが可能です。 鉄道指向プロ
ここ数年で『関数型ドメインモデリング』という書籍や、『Functional and Reactive Domain Modeling』といった書籍を読んだ経験から、今業務で取り組んでいるKotlinではどう表現できるのかに興味がありました。年末年始に少しまとまった時間が取れたので、実際に実装してみました。今回は、その過程でどのような知見を得られたかを、主には自分の理解のためにまとめておきたいと思います。 関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう (アスキードワンゴ) 作者:Scott Wlaschin,猪股 健太郎ドワンゴAmazon github.com 先に書いておきますが、長いです。目次をご覧になって、興味のある場所をかいつまんでお読みください。 免責事項 お題 技術スタック 設計 全体的な設計 Kotlinの使用に関するもの データ型の定
この画像を大きなサイズで見るPhoto by:iStock ラッコにはそんなつもりはなかったんだろうが、はからずも生態系の危機を救う、救世主となっていたようだ。 侵略的外来種のヨーロッパミドリガニが増殖し、アメリカ西海岸の生態系を脅かしている中、カリフォルニア州モントレー湾では、愛らしいカリフォルニアラッコの群れが、年間数万匹ものミドリガニを捕食し、生態系を回復させたのだ。 外来種「ヨーロッパミドリガニ」の脅威 ヨーロッパミドリガニは、ヨーロッパからの商船のバラスト水(船底に積む重り用の水)に混じって米国に侵入したと考えられている。 1980年代にはアメリカ西海岸の海草の破壊、幼体のカニやサケの捕食、さらには沿岸生態系全体を荒廃させるなど、壊滅的な影響を及ぼしてきた。 甲幅6cmほどの小さなカニだが、その被害は数百万ドル規模に及び、漁業や水産業に深刻な影響を与えている。 アラスカ州は早期発
円安などの影響で、インバウンド消費が2023年に過去最高を記録するなど、訪日外国人観光客は増加の一途をたどっています。日本人のマナーの良さや食事のおいしさなどを称賛する一方、文化が異なるからこそ不便さを感じたこともあるようです。彼らが日本でどんなことに気づいたのかを振り返ります。 【写真】ドイツ人が日本に「また来たい」と思わなかった理由 ◇ ◇ ◇ 日本にハマらなかったドイツ人「また来たいかと言われたらごめんなさい」 初訪日のドイツ人が日本で困った出来事とは ドイツ人のキーノさんとヴァレーナさんは、今回が初めての訪日。さまざまな観光スポットをめぐるなか、ヴァレーナさんには、少し残念に感じたことがありました。 「日本の旅行はとても貴重な経験でした。でも、また来たいかと言われたら、ごめんなさい。どちらというと私にはハマらなかった気がします。一番の理由は、日本のみなさんが英語をほぼ話さないこと。
メリークリスマス。今年もアドベントカレンダを寄稿させていただきます イオン株式会社CTO / イオンスマートテクノロジーCTOのやまけん( 山﨑賢 )です。 この記事は、AEON Advent Calendar 2024 最終日の記事です。 今日はCTO的なというよりも、経営の端っことしてイオンのDXをどのように捉えているか、何が大事なトリガーなのかを記載していきたいと思います 過去の私のAdvent Caledar投稿記事はこちら。 DX革新を宣言して動いてきた1年間 AEON TECH HUBの立ち上げから現在まで とにかく既存を変えたくて、JTCというブランディングを変えて会社と社会を変えたくて変えたくて。 AEON TECH HUBの活動を通して、特に外部に積極的に発信してきました 登壇の依頼は日程が調整出来ないなどの理由や、公益性が低いなどの理由が無い限り、ほぼ全てお受けしてオフ
リンク ゲシュタルト乙女 JAPAN OFFICIAL SITE ゲシュタルト乙女 JAPAN OFFICIAL SITE Bitfan(ビットファン)は、無料でオフィシャルサイトやファンクラブの作成、ライブ配信、チケットやグッズの販売、オンラインくじの開催など ができる アーティスト・クリエイター向けのオールインワン型のプラットフォームです。 リンク Linktree gestaltgirl | Twitter, Instagram, Facebook | Linktree View gestaltgirl’s Linktree. Listen to their music on YouTube, Spotify, Apple Music here. 175 ゲシュタルト乙女 @gestalt_girl 台湾人が書いた邦楽? ジャンルを問わないサウンド、日本語で描く独自の世界観を持つオル
概要 この記事では、 アンラーンの重要性: システム開発・教育においてアンラーンがとても重要であること 具体的なアンラーンの方法、技術 教育とはなにか: 教育の重要な目的は記号接地であり、そのために積極的にアンラーンを促す必要もあること についてシステム開発の文脈でDDDの用語を交えて説明します。と言っても深くDDDに依存しているわけではなく、システム開発全般・ひいては認知を合わせる必要のある仕事全般について共通することの説明になっています。 DDDに関連する部分については、『関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう』という本から一部引用します。この本には開発者の誤解によってどのようにして認知のズレが生じるか、またそれをどうやって修正するかという具体的な場面が示されており、この具体例から「アンラーンがいつ必要になり、具体的にどう作用するのか」「ア
関数型言語から見たドメインモデリングに興味があり、本書を手に取りました。 ドメインモデリングの本ですが、最初に「なぜドメイン駆動設計をするといいのか」や「実際に取り組み始める際の流れや手法」の解説があります。DDDの紹介の章で「開発者の仕事はコードを書くことではなく、ソフトウェアによって問題を解決すること」と著者が言うように、いきなりコードから解説を始めるのではなく、まずどうやってワークショップを進めていけばいいのかや実際のインタビューの方法まで、ビジネス側を含めて解像度高く説明しているところがわかりやすかったです。 また、概念的な「境界づけられたコンテキスト」などのDDDで使う専門用語も詳しく説明しています。すぐに関数型のモデリング手法に入らずに、まずはきっちり概念の説明をしてから入っていきます。ここにも先ほどの著者の信念が表れているように思いました。 DDDをシームレスに関数型プログラ
この記事は、LIFULL Advent Calendar 2024 21日目の記事になります。 はじめに LIFULLでは、技術負債解消のためにレガシーなコンポーネントをいわゆるCleanArchitecture(以降CA)に置き換えるという取り組みをやっています。 内製ソフトウェアアーキテクチャでレガシーシステムを刷新し技術的負債を削減するまでにやったこと クリーンアーキテクチャで構築したプロダクトが2年経過してみて現状どうなっているかを紹介 新卒エンジニアがリファクタを突貫したClean Architectureプロジェクトの舞台裏 CAはいくつかのレイヤに別れていますが、LIFULLではCAのEnitityをドメイン駆動設計(DDD)で言うところのドメインモデルで実装しています。 この記事は、前に読んでいた関数型ドメインモデリングの「型によるドメインモデリング」がこの実装に応用できる
はじめに まずは戦う相手を見定めよう 戦術はいかに まずは関数を知る しゅ、しゅ、出力がないだってぇ!? 型=値の集合とはなんぞや? まとめ おわりに 参考 はじめに 本記事はiimon Advent Calendar 2024 21日目の記事となります! こんにちは!DDDとTDDには熱心だけど、推し活はDD(誰でも大好き)ではなく、とことん一途なエンジニアマネージャー、まつだです。 本日12月21日は私の誕生日ということで、なんと101101歳になってしまいました!(この手のやつ、16進数にしてるのはよく見るけど、2進数は斬新やな⋯) ちょっとでも誕生日を祝ってくれる気持ちのある方は、ぜひ↓のボタンをぽちっとしてブックマークでもしてやってください(笑) 今回は、私もさらに歳を重ねて型にはまった人間にならねば、ということで、「関数型ドメインモデリング」という本を読んで学んだことを普段の業
米Microsoft傘下のGitHubは12月18日(現地時間)、Visual Studio Code上で「GitHub Copilot」を無料で利用できるようにしたと発表した。これにより、ユーザーは「Visual Studio Code」(VS Code)内でGitHubアカウントにログインするだけで、追加料金なしにCopilotによるコード補完や提案を得られるようになる。 現時点ではVS Code向けのGitHub Copilotが無料提供の対象だ。従来は、メンテナーなど一部の認証されたユーザー以外は月額10ドルからの有料だった。なお、JetBrains IDEやNeovimなど、VS Code以外の環境でCopilotを利用する場合は、引き続き有料プランへの加入が必要だ。 また、無料版にはいくつかの制限がある。例えば、アクセスできるコード補完は1カ月当たり2000件までで、Copil
はじめに LITALICO の @katzumi です。 2020 年に LITALICO へ Join して以来、ずっとレセプト業務の開発に携わってきました。 レセプト業務は複雑なドメインゆえミスが許されず、さらに3年に一度の大きな報酬改定があり、ロジックが大幅に変わります。 その改定作業は情報公開から実装完了までの期間が約 3 ヶ月と短いです。また、年々複雑化するシステムに対応する必要があります。 その複雑な業務に立ち向かった内容を過去にも以下の内容で開発業務の記事を書いていました。 今年 2024 年は法改正の年になっており、取り組みの結果、その後どうなったのか?を振り返っていきます。 今回も壮絶だった法改正 私自身の大規模法改正の経験が今回で 2 回目となります。 チーム構成としては私ともう一名を除いて前回の 2021 年度法改正を経験したメンバーがいませんでした。前回は 3 種類
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く