並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 30 件 / 30件

新着順 人気順

SWIFTの検索結果1 - 30 件 / 30件

  • 「GitHub Copilotコードレビュー」正式リリース。コードのバグや性能劣化要因など基本的なレビューをCopilotが代行、人間のコードレビューを効率化

    GitHubは、生成AIがプログラミングなどを支援してくれる「GitHub Copilot」の新機能として、「GitHub Copilotコードレビュー」が正式版になったことを発表しました。 コードレビューは開発に欠かせないが時間がかかる コードレビューは、新しくコードを書いたときや変更するときなどさまざまな場面で、そのコードにバグなどの問題がないか、目的に沿った内容や表現になっているか、などのチェックや評価を行う作業です。 チームでシステム開発を行ううえでコードレビューは欠かせませんが、コードレビューは基本的にレビューを行うプログラマ(レビュワー)がコードを目視で読み取り、チェックしていくことになるため、レビュワーにとって負荷の高い時間のかかる作業となっています。 最低限のコードレビュー作業を生成AIが代行 GitHub Copilotコードレビューは、GitHub Copilotに作業

      「GitHub Copilotコードレビュー」正式リリース。コードのバグや性能劣化要因など基本的なレビューをCopilotが代行、人間のコードレビューを効率化
    • TypeScriptの危険性 - Qiita

      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 筆者は現在、ESMベースの素のJavaScriptにJSDocで型情報を付与し、tsc によって型定義(.d.ts)のみを出力する構成で開発を行っています。 この構成は、静的解析や補完といった恩恵は享受しつつ、 視認性の良さ 型の複雑化 言語的な矛盾 ビルドの煩雑さ チーム運用コストの肥大化 といったTSの構造的な問題を回避する、極めてバランスの取れた開発スタイルであると思い採用しています。 私も現場を指揮する上でTSへの移行についてはずっと考えてきましたが、次にTSで書きたいと言われた際には 「開発コスト食い潰すだけだからや

        TypeScriptの危険性 - Qiita
      • Flutter開発の真実:クロスプラットフォームの光と影 #Flutter #GameWith #TechWith - GameWith Developer Blog

        目次 はじめに Flutter開発6年間の実践知識 Flutterの進化と共に 実務での実感:Flutterの真の価値 個人での感想レベル ベンチャー企業におけるFlutter採用 開発中の典型的な障壁とその解決策 Flutter Web特有の課題 パッケージ紹介 Network関連 UI関連 その他利用したことのあるパッケージ Flutter Web特化パッケージ その他の開発上の運用について Basic認証の実装例 IP制限の実装 まとめ:Flutterの光と影 クロスプラットフォーム対応のFlutterの光(強み) クロスプラットフォームの対応のFlutterの影(課題) 最後に はじめに GameWithのクライアントアプリチームでリーダーをしているkyamです。 元々はiOSエンジニアとして活動していましたが2018年頃から社内・社外でFlutterを活用したモバイルアプリやWe

          Flutter開発の真実:クロスプラットフォームの光と影 #Flutter #GameWith #TechWith - GameWith Developer Blog
        • 【#も読】MCPことはじめ / MCPサーバーのセキュリティリスク(@yusuktan)

          「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか? みなさんこんにちは。 「あの人も読んでる」、第2回目の投稿です。maguro (X @yusuktan)がお届けします。 今回のテーマ: MCPAIの進歩があまりにも目覚ましすぎる昨今、いかがお過ごしでしょうか。僕は少しキャッチアップが遅れ気味で危機感を持っているところです。 そんな中で僕が最近導入して即座に「もっと早く使い始めておくべきだった」と感じたのが「MCP(Model Context Protocol)」です。 すでに利用している方も多いと思いますが、2週間前の筆者のように「MCPって最近よく聞くけど、まあいつか気が向いたら設定するか」と考えているような方がもしいらっしゃったら、そのような方の背中を押したい

            【#も読】MCPことはじめ / MCPサーバーのセキュリティリスク(@yusuktan)
          • OOP: the worst thing that happened to programming

            > BTC: bc1qs0sq7agz5j30qnqz9m60xj4tt8th6aazgw7kxr ETH: 0x1D834755b5e889703930AC9b784CB625B3cd833E USDT(Tron): TPrCq8LxGykQ4as3o1oB8V7x1w2YPU2o5n Ton: UQAtBuFWI3H_LpHfEToil4iYemtfmyzlaJpahM3tFSoxomYQ Doge: D7GMQdKhKC9ymbT9PtcetSFTQjyPRRfkwTdismiss OOP: the worst thing that happened to programming [2/24/2025] In this article, we will try to understand why OOP is the worst thing that happened to prog

              OOP: the worst thing that happened to programming
            • GitHub Actions Supply Chain Attack: A Targeted Attack on Coinbase Expanded to the Widespread tj-actions/changed-files Incident: Threat Assessment (Updated 4/2)

              GitHub Actions Supply Chain Attack: A Targeted Attack on Coinbase Expanded to the Widespread tj-actions/changed-files Incident: Threat Assessment (Updated 4/2) Executive Summary Update April 2: Recent investigations have revealed preliminary steps in the tj-actions and reviewdog compromise that were not known until now. We have pieced together the stages that led to the original compromise, provid

                GitHub Actions Supply Chain Attack: A Targeted Attack on Coinbase Expanded to the Widespread tj-actions/changed-files Incident: Threat Assessment (Updated 4/2)
              • Kotlin、Swift、Rubyの人気が低迷中 — プログラミング言語最新人気ランキングにて

                4月8日、海外のテクノロジーメディアInfoWorldが「Kotlin, Swift, and Ruby losing popularity – Tiobe index」と題した記事を公開した。この記事では、プログラミング言語Kotlin、Swift、RubyがTiobe指数において順位を下げ、人気が低下している状況について紹介されている。 4月8日、海外のテクノロジーメディアInfoWorldが「Kotlin, Swift, and Ruby losing popularity – Tiobe index」と題した記事を公開した。この記事では、プログラミング言語Kotlin、Swift、RubyがTiobe指数において順位を下げ、人気が低下している状況について紹介されている。 Tiobe指数とは Tiobe Programming Community Indexは、検索エンジンのヒット数

                  Kotlin、Swift、Rubyの人気が低迷中 — プログラミング言語最新人気ランキングにて
                • Swift Macroを事前コンパイルしてビルドを高速化!.xcodeprojとSwift Packageへの導入方法 - Mirrativ Tech Blog

                  iOSチームの福山です。 Mirrativ iOSの開発ではSwift Macroを使ってイニシャライザやXcode Previews用のダミー要素を生成するなど活用しています。 しかし、ビルドが成功するにもかかわらず、Swift Macroが展開するコードを利用する部分でエラーが表示されることがありました。XcodeのコンパイルチェックとSwift Macroの展開するタイミングがずれて上手く機能していないのではないかと調べているうちに、Swift Macroをバイナリ化して使う方法があることを知りました。 結果的に表示のみのエラー解消に加えてクリーンビルドの時間を1分以上(約16%)短縮できました。Swift Macroを使う上で必須となるSwift Syntaxのビルドに時間がかかっていたのが原因です。 MyApp プロジェクトルート ├── 📦 MyLibrary (プロジェクト

                    Swift Macroを事前コンパイルしてビルドを高速化!.xcodeprojとSwift Packageへの導入方法 - Mirrativ Tech Blog
                  • 文章を書くことに集中できるmacOSネイティブでオープンソースのエディタアプリ「freewrite」がリリース。

                    macOSネイティブでシンプルに文章を書くことに専念できるオープンソースのMac用エディタ「freewrite」がリリースされています。詳細は以下から。 米カリフォルニア州で個人開発者向けのコミュニティBuildspaceを運営しているFarza Majeedさんは現地時間2025年04月10日、macOSネイティブで文章を書くことに特化したMac用エディタ「freewrite」を新たにリリースしたと発表しています。 one simple, clean place to write continuously for a set time without distraction — think through a new idea, write your next script, reflect on an event, whatever. hi, this is freewrite. –

                    • OpenStackの開発元がLinux Foundation傘下に。OpenInfra FoundationがLinux Foundationのメンバーファウンデーションとして参加

                      OpenStackの開発元がLinux Foundation傘下に。OpenInfra FoundationがLinux Foundationのメンバーファウンデーションとして参加 OpenStackやKata Containersなどの開発を主導するOpen Infrastructure Foundation(OpenInfra Foundation)は、同団体およびLinux Foundationの両理事会による全会一致の承認を経て、メンバーファウンデーションとして参加する意向を発表しました。 We are excited to announce the OpenInfra Foundation's intent to join the Linux Foundation, uniting our growing, vibrant, and global ecosystems to em

                        OpenStackの開発元がLinux Foundation傘下に。OpenInfra FoundationがLinux Foundationのメンバーファウンデーションとして参加
                      • Devinを使ったモバイルアプリ開発 - Devinはマルチプラットフォーム対応の銀の弾丸になりえるか - - inSmartBank

                        こんにちは。 「ワンバンク」のAndroidアプリ開発に携わっている あんざいゆき(yanzm)です。最近iOSの開発も始めました。 スマートバンクではDevinを導入してさまざまな活用方法を試しています。このエントリーではAndroidアプリの開発にDevinを導入してみてどうだったかを紹介します。 Devinとは? Devinはコードの記述、実行、テストなどができる自律型AIソフトウェアエンジニアです。IDEに組み込まれたAIエージェントではなく、クラウド上に独立した開発環境(Workspace)があり、そこにリポジトリを紐づけて作業を依頼します。 Slackと連携させることでSlack上でDevinとやりとりすることができます。@Devinで実装を依頼するとPRの作成まで自動で行ってくれます。 上にはでていませんが、Devinに招待されていないと自分にだけ見える表示で招待されてないよ

                          Devinを使ったモバイルアプリ開発 - Devinはマルチプラットフォーム対応の銀の弾丸になりえるか - - inSmartBank
                        • 【ミラティブ】try! Swift Tokyo 2025にスポンサーとして協賛します - Mirrativ Tech Blog

                          こんにちは、ミラティブのエンジニア採用担当の野呂です。 いよいよ明日、Swiftに関する世界的な技術カンファレンス 「try! Swift Tokyo 2025」 が開催されます! 株式会社ミラティブは、ブロンズスポンサーとして協賛させていただいております。 try! Swift とは Swiftに関する国際的なカンファレンスです。Swiftの開発のコツや最新の事例を共有し、スキルを磨くことを目的としています。 開催日時: 2025年4月9日(水)〜11日(金) 場所: 立川ステージガーデン 公式URL: try! Swift Tokyo 協賛する背景 ミラティブは、ミッションである「わかりあう願いをつなごう」のもと、Swiftを活用してゲーム配信プラットフォーム「Mirrativ」を開発・運営しています。 エンジニア組織は「Mirrativ Tech Community & Activ

                            【ミラティブ】try! Swift Tokyo 2025にスポンサーとして協賛します - Mirrativ Tech Blog
                          • m3.com iOSアプリにホーム画面とロック画面のウィジェットを導入しました - エムスリーテックブログ

                            こんにちは、マルチデバイスチームでモバイルアプリエンジニアをしている小林 (@bakobox) です。 先日、m3.com iOSアプリにホーム画面とロック画面用のウィジェットを実装しました。 エムスリーのiOSアプリでは初の導入ということもあり、ウィジェット実装に関する知見が得られたので共有いたします! ウィジェット導入の背景 導入したウィジェット ホーム画面用 ロック画面用 実装時のTips Widget Extensionを追加する方法(XcodeGenを利用している場合) はじめにXcodeでファイルを生成する project.ymlを編集 本体側とのデータ共有について UserDefaults HTTPCookieStorage ユーザーがウィジェットを設置しているかどうかを調べたい ユーザーの行動ログを荒らさないように気をつける 特定時刻にデータを更新する実装を行っている場合に

                              m3.com iOSアプリにホーム画面とロック画面のウィジェットを導入しました - エムスリーテックブログ
                            • LINE iOSアプリの快適なデバッグ体験を求めて - LLDBの安定性とパフォーマンス改善

                              LINEアプリ開発本部 モバイル・ディベロッパーエクスペリエンスチームの@giginetです。 皆さん、デバッグしてますか? LINE iOSアプリでは、Xcode 16から、デバッガの式評価が失敗したり、非常に長い時間がかかる現象が報告されています。この記事では、その問題に対処すべく巨大なプロジェクトにおけるデバッグ体験の改善について行った取り組みをいくつかご紹介します。 LINEアプリにおける、LLDBの速度と安定性の課題 LINEのiOSアプリは、非常に巨大なプロジェクトです。それ故、単純なデバッグ体験においてもパフォーマンス上の問題が発生しています。例えば、単にある実行ステップにブレークポイントを張り、変数を評価するだけでも、数分程度の時間がかかることがあります。 また、LINE固有の依存管理による課題もあります。LINEは、外部の依存関係が非常に多く、通常のパッケージ管理システム

                                LINE iOSアプリの快適なデバッグ体験を求めて - LLDBの安定性とパフォーマンス改善
                              • WebKit Features in Safari 18.4

                                Safari 18.4 is here! It includes 84 new features, including a completely new declarative mechanism for sending Web Push notifications, lots of CSS including a brand-new shape() function, P3 & translucency for the HTML color picker, media formats with more robust support for recording, new Web APIs including modern popover manipulation, new JavaScript features like Iterators, a faster way to jump t

                                  WebKit Features in Safari 18.4
                                • 株式会社TimeTreeに入社しました - koogawa blog

                                  タイトルの通り、株式会社TimeTreeに入社しております。 入社の経緯 実は数年前から id:gonsee さんにお声がけいただいておりまして、業務委託などを経て、このたび正式に入社することになりました🎉 私の前前前職であるヤフー株式会社のメンバーが立ち上げた会社ということもあり、かつて一緒に働いた方々と再びご一緒できるのが楽しみです。 中には14年ぶりに再会できた方もおり、感動しました! TimeTreeとは TimeTreeは、予定の共有と相談が驚くほど簡単にできるコミュニケーションアプリです。カレンダーひとつで、決まった予定の共有も、これからの楽しみな予定の相談も簡単にできます。 timetreeapp.com また、AppleのCEOがTimeTreeのオフィスに来社されたことも話題になりましたね。 Impressed with how @TimeTreeApp_jp help

                                    株式会社TimeTreeに入社しました - koogawa blog
                                  • SwiftWasm 6.1のリリースを自慢したい

                                    ここ数年、日本語のリリースノートはサボりがちだったんですが、今回はちょっと自慢したいトピックがいくつかあるので、その部分だけ頑張って書きます。 本当に興味がある方は公式の方で出したブログをご確認ください。(https://blog.swiftwasm.org/posts/6-1-released/) とりあえず試したい人向け: https://book.swiftwasm.org/getting-started/setup.html 全てのパッチをアップストリームしました これまで過去5年ほどSwiftの公式リポジトリにパッチを送りつつ、フォーク上で作業をしていました。 今回のリリースでは、初めてパッチなしでアップストリームのソースをそのままビルドして配布しています。 当然今後もアップストリームがビルド可能な状態を維持するために我々がメンテナンスし続ける必要はあります。ただ、アップストリー

                                      SwiftWasm 6.1のリリースを自慢したい
                                    • ClineでGoogle Maps TimelineっぽいiOSアプリを作ってみてる - yutashx.log

                                      TL;DR iOSアプリ開発初心者の私が、Clineを活用してGoogle Maps Timelineに似た位置情報記録アプリの開発に挑戦してみました 約$50のコストで、位置情報の記録と閲覧が可能なiOSアプリが完成しました 実際に私が行った作業の中心は、Issue管理、設計ドキュメントの整理、プロジェクトファイルの構成確認など、地道なものでした 背景 旅行好きの私は、長らくGoogle Maps Timelineを愛用していました。 しかし、ここ最近はGoogle Maps Timelineが使いづらくなり、また信用できなくなってきました。 具体的には昨年ウェブ版が廃止され、つい先日にはデータが勝手に削除されるという問題が発生しました。 ascii.jp gigazine.net そこで自分でGoogle Maps Timeline相当のアプリを自作しようと思いました。 自作することで

                                        ClineでGoogle Maps TimelineっぽいiOSアプリを作ってみてる - yutashx.log
                                      • 3月第2週の資産運用報告・・・やはり今月も既に大台割れ - 出遅れリタイア日記

                                        当ブログをご訪問頂きまして大変有り難うございます。 出遅れおじさんです。 常々このブログで申し上げておりますとおり、基本的な私の投資スタンスは、 ・長期保有 ・配当重視 ですので、基本的には株価の上げ下げは本来余り気にしないようにはしており、日々の証券口座残高の集計値の推移は一喜一憂しないつもりでは有りますが、しっかりチェックはしています。 3月第2週末の資産状況のご報告です。 3月に入ってからも、米国発のトランプ関税発動のニュースに翻弄された一週間でした。 米国主導のウクライナ和平案に対して案の定、ロシアは拒絶する姿勢を見せ、思惑通りかどうかは別にして、締め付けを強めようとしています。 これまで、ロシア銀行と言えども特定のエネルギー取引に限っては米国の決済システム(SWIFT? ニュース記事には明示無し)が継続使用できていたようですが、トランプ政権はライセンスの更新を許可しなかったとのこ

                                          3月第2週の資産運用報告・・・やはり今月も既に大台割れ - 出遅れリタイア日記
                                        • I'm Leaving Sentry

                                          I'm Leaving Sentry written on Monday, March 31, 2025 Every ending marks a new beginning, and today, is the beginning of a new chapter for me. Ten years ago I took a leap into the unknown, today I take another. After a decade of working on Sentry I move on to start something new. Sentry has been more than just a job, it has been a defining part of my life. A place where I've poured my energy, my id

                                            I'm Leaving Sentry
                                          • Pythonが依然独走、Kotlin、Ruby、Swiftが苦戦 TIOBEプログラミング言語ランキング

                                            ソフトウェア品質の評価と追跡を手掛けるTIOBE Softwareは、2025年4月版の「TIOBEプログラミングコミュニティーインデックス」(通称「TIOBEインデックス」)を発表した。TIOBEインデックスは、プログラミング言語の人気を示す指標で、同社が毎月1回更新している。 Pythonが依然独走、CとJavaが順位交代 2025年4月のランキングでは、「Python」が23.08%のレーティングで首位を維持し、2~6位は「C++」(10.33%)、「C」(9.94%)、「Java」(9.63%)、「C#」(4.39%)、「JavaScript」(3.71%)となった。 Pythonのレーティングは2025年2月にPythonとして過去最高の23.88%に達し、その後も高水準で推移している。2位のC++との差は2024年12月に、TIOBEインデックス史上最大の13.02ポイントに広

                                              Pythonが依然独走、Kotlin、Ruby、Swiftが苦戦 TIOBEプログラミング言語ランキング
                                            • Expert used ChatGPT-4o to create a replica of his passport in just 5 minutes bypassing KYC

                                              Symbolic Link trick lets attackers bypass FortiGate patches, Fortinet warns | Attackers are exploiting recently disclosed OttoKit WordPress plugin flaw | Laboratory Services Cooperative data breach impacts 1.6 Million People | Palo Alto warns of brute-force login attempts on PAN-OS GlobalProtect gateways indicating possible upcoming attacks | Gamaredon targeted the military mission of a Western co

                                                Expert used ChatGPT-4o to create a replica of his passport in just 5 minutes bypassing KYC
                                              • Introducing swiftly 1.0

                                                Today we’re delighted to introduce the first stable release of swiftly, a Swift version manager that takes the pain out of installing, managing and updating your Swift toolchain. The latest version of Swift is bundled with Xcode for writing apps for Apple platforms. But perhaps you want to install Swift on a different platform like Linux, or use a different version of the toolchain for building se

                                                  Introducing swiftly 1.0
                                                • Rails: Hotwire Nativeで作るネイティブモバイルアプリ: iOS編(3)ブリッジコンポーネント(翻訳)|TechRacho by BPS株式会社

                                                  概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Up and Running with Hotwire Native iOS 3 - Bridge Components | William Kennedy 原文公開日: 2024/11/07 原著者: William Kennedy 日本語タイトルは内容に即したものにしました。 従来Turbo NativeとStradaと呼ばれていたものは、現在はHotwire Nativeに統合されました。 参考: Hotwire Native: Hotwire Native is a web-first framework for building native mobile apps. Rails: Hotwire Nativeで作るネイティブモバイルアプリ: iOS編(1)(翻訳) Rails: Hotwire Nativeで作るネイテ

                                                    Rails: Hotwire Nativeで作るネイティブモバイルアプリ: iOS編(3)ブリッジコンポーネント(翻訳)|TechRacho by BPS株式会社
                                                  • Tsunoda to replace Lawson at Red Bull from Japanese GP

                                                    News Tsunoda to replace Lawson at Red Bull from Japanese GP as New Zealander drops down to Racing Bulls Red Bull have announced that Yuki Tsunoda will replace Liam Lawson at the senior Red Bull Racing squad from the Japanese Grand Prix onwards, with the 24-year-old getting the nod to replace Lawson following a difficult opening two races for the New Zealander. Lawson raced alongside Tsunoda in the

                                                      Tsunoda to replace Lawson at Red Bull from Japanese GP
                                                    • Why F#?

                                                      If someone had told me a few months ago I’d be playing with .NET again after a 15+ years hiatus I probably would have laughed at this.1 Early on in my career I played with .NET and Java, and even though .NET had done some things better than Java (as it had the opportunity to learn from some early Java mistakes), I quickly settled on Java as it was a truly portable environment. I guess everyone who

                                                        Why F#?
                                                      • try! Swift Tokyo 2025 にスポンサーとして参加します - Hatena Developer Blog

                                                        こんにちは。マンガアプリチームで iOS エンジニアをしています id:aryzae です。 2025 年 4 月 9 日から 11 日にかけて立川ステージガーデンにて try! Swift Tokyo 2025が開催されます。 はてなは、今年もシルバースポンサーとして協賛させていただいております。 昨年の参加ブログ: try! Swift Tokyo 2024 にスポンサーとして参加しました - Hatena Developer Blog はてなからの参加者 気になるセッション try! Swift Tokyo 2025 で会いましょう はてなからの参加者 はてなからは、Organizer の id:yutailang0119 が主催しており、スポンサーとして id:aryzae と id:tokizuoh が参加します。 進化し続けている Swift 言語で、今年はどんな内容のセッショ

                                                          try! Swift Tokyo 2025 にスポンサーとして参加します - Hatena Developer Blog
                                                        • macOS 15 Sequoiaでの不具合を修正し、パフォーマンスを向上させた「Quicksilver v2.5.0」がリリース。

                                                          macOS 15 Sequoiaでの不具合を修正し、パフォーマンスを向上させた「Quicksilver v2.5.0」がリリースされています。詳細は以下から。 Blacktree Softwareは現地時間2025年03月21日、2000年頃から開発が続けられているMac用の多機能ランチャー「Quicksilver」の最新バージョンとなる「Quicksilver v2.5」をリリースしたと発表しています。 2003年にNicholas Jitkoffさんによって開発がスタートしたQuicksilverは現在、オープンソース(Apache 2.0)化されPatrick RobertsonさんやNathan Henrieさんらによって開発&メンテナンスが続けられていますが、「Quicksilver v2.5」ではmacOS 15 Sequoiaで導入/強化された画面収録やフルディスクアクセス許

                                                          • MVPリアーキテクチャを通して成長したWEAR iOSエンジニアアルバイト奮闘記 - ZOZO TECH BLOG

                                                            はじめに こんにちは。2025年4月に新卒で株式会社ZOZO(以下、ZOZO)に入社予定の清板海斗(せいたかいと)です。2024年8月から入社までの約半年間、「WEAR by ZOZO」(以下、WEAR)のiOSチームで内定者アルバイトに参加しました。この記事では、内定者アルバイトの目的やチームでの取り組み、全体の振り返りについてご紹介します。 目次 はじめに 目次 内定者アルバイトの概要 ZOZOの内定者アルバイトについて 内定者アルバイトでの働き方 WEARとは WEAR iOSチームについて 主な取り組み MVPへのリアーキテクチャ タスク概要 Presenter移行の背景 WEAR iOSにおけるPresenter 実施したこと 結果 学び 1. コミュニケーションと言語化の重要性 2. UIKitの理解 3. 実務レベルで求められる視点 最後に 内定者アルバイトの概要 ZOZOの

                                                              MVPリアーキテクチャを通して成長したWEAR iOSエンジニアアルバイト奮闘記 - ZOZO TECH BLOG
                                                            • 代数的データ型でプログラムをSQL的にしよう

                                                              F# のDiscriminated Unionは代数的データ型などという、なんか難しそうな呼ばれ方をする。本当はレコード型も合わせてだが、それは良い。 Discriminated Unionは、近年のプログラム言語で割と多くの言語が持つ機能になった。 SwiftのEnumのassociated value、Kotlinのsealed class、RustのEnumなどはだいたいDiscriminated Unionと言って良いだろう。 だが、全部の言語が持つ訳でもなく、活用度も言語によって大きく異なっているように思う。 代数的データ型は思考方法やプログラムの構成方法と結びついて活用されるものなので、 Enumに値も持てます、という説明だと、いまいちそうした活用に結びつかない。 特にKotlinのようにより高機能なものだと、 かえって代数的データ型として使うためには一定のサブセットに意図的に

                                                              1