株式会社リクルート エンジニアコース新人研修の内容を公開します!(2024年度版) 2024.08.09
株式会社リクルート エンジニアコース新人研修の内容を公開します!(2024年度版) 2024.08.09
モナドって何ですか? これをちゃんと説明できる人に会ったことがない。 ↑1に挑戦してみます。 まず、モナドには数学の圏論におけるモナドとプログラミングにおけるモナドがあります。圏論のモナドについては僕もよくわかっていません。圏論のモナドとプログラミングのモナドは同じものだというような説明がされていますが、本当に等価なのか僕には判断できません(どうもプログラミングのモナドは圏論のモナドの条件を満たしていそうですが、逆は成り立たないんじゃないかと思っています)。 ここでは、 プログラミングにおけるモナド について説明します。コードはすべて Swift で書きます。モナドについて調べると、よく モナド則 について書いてあるんですが、肝心の記述が関数型言語で書かれていてわからん!となることが多いんじゃないかと思います。本投稿では、 モナド則についても Swift の構文で記述します。 まず前半でモ
本投稿の個別の説明( Optional とは何か、 ?. と map, flatMap の関係、その背後にあるモナドという概念)は 2017 年現在でも通用するものですが、 Swift の Optional の使い方としては、僕の考えとのズレが大きくなってきました。 Swift の Optional をいつ・どのように使うべきかについてもまとめた ので、そちらも併せて御覧下さい。 Optional は Swift の仕様の中でもっとも素晴らしいものの一つだと、僕は考えています。 null参照 (多くの言語で nil や null と呼ばれるもの)を発明したトニー・ホーアは次のように述べています[^1]。 それは10億ドルにも相当する私の誤りだ。null参照を発明したのは1965年のことだった。(中略)これは後に数え切れない過ち、脆弱性、システムクラッシュを引き起こし、過去40年間で10億ド
今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く