聞き流しプログラミング言語学習 podcast artwork
Technology

聞き流しプログラミング言語学習

by ますたーさん
テクノロジーポッドキャスト
Share this ranking Claiming needs an RSS feed. Contact us.

Chart positions today · United States

Not on the United States charts we track today.

If you like 聞き流しプログラミング言語学習, try…

Latest episodes

  • Rust 065 serde - 型と形式の間に置く語彙

    October 23, 2026 · 11 min

    第65章へようこそ。 今日のテーマは「serde」です。 serdeは、Rustの型と、外部のデータ形式との間で、値を写すためのクレートだ。 設定ファイルを読む、ネットワークから届いたものを受け取る、保存したものを読み直す。 外と何かをやり取りする場面で使われる。 だが、この章で見るのは使い方ではない。 serdeが定めたのは、変換の実装ではなく、変換の構造だ。 今日扱うのは、外の語彙に何が無いのか、なぜ型と形式の間に3つ目の語…

  • Rust 064 命名規則 - 型が検査しない約束

    September 17, 2026 · 12 min

    第64章へようこそ。 今日のテーマは「命名規則」です。 標準ライブラリを読むと、同じ語頭が繰り返し現れる。 as_str、to_owned、into_bytes。 この語頭は、書いた人の好みで選ばれたものではない。 名前は2つの層でできている。 1つ目の層は、型に書いてあることを先に言う層だ。 名前が言っていることを、シグネチャを読めば確かめられる。 2つ目の層は、型に書けなかったことを言う層だ。 こちらを確かめる手段は、言語の側…

  • Rust 063 const generics - 長さが型の一部になる

    September 3, 2026 · 11 min

    第63章へようこそ。 今日のテーマは「const generics」です。 第10章で、型をパラメータにする仕組みを見ました。 定義するときには型を決めず、使うときに決める。 要素の型が違うだけで同じ処理を書き直すことは、これでなくなりました。 だが、型パラメータでは抽象化できないものがある。 配列の長さだ。 要素が3つの配列を受け取る関数に、要素が4つの配列は渡せない。 今日扱うのは、なぜ長さが型を分けるのか、その長さをどうや…

  • Rust 062 Newtype - 包んで、通すものを選ぶ

    August 24, 2026 · 10 min

    第62章へようこそ。 今日のテーマは「Newtype」です。 第6章で、この形はもう出ています。 中身が同じでも型として別物にするために、タプル構造体で包む。 メートルとキログラムはどちらも中の型が同じでも、片方をもう片方の引数には渡せない。 この手法をニュータイプパターンと呼ぶ、と命名しました。 今日はその先を扱う。 包んだあと、その型に何をさせるかは、まだ何も決まっていない。 包んだ型は、中身の操作を1つも受け継がないからだ。…

  • Rust 061 Cow - 必要になるまで複製しない

    August 11, 2026 · 10 min

    第61章へようこそ。 今日のテーマは「Cow」です。 第18章で、文字列を返す関数の戻り値をどう決めるかを見ました。 新しく作ったものを呼び出し側に持ち帰らせるならString、借りたまま返すなら文字列スライス。 戻り値の型は所有権の流れで決まる、と定めた。 この原則で決められない関数がある。 入力をそのまま返すこともあれば、加工したものを返すこともある関数だ。 どちらになるかは、入力を見るまで決まらない。 今日扱うのは、その決…

Show 7 more episodesShow fewer episodes
  • Rust 060 rayon - データ並列を当たり前にする

    August 7, 2026 · 10 min

    第60章へようこそ。 今日のテーマは「rayon」です。 rayonは、Cargoの設定ファイルに書いて取り込む外部のクレートです。 コレクションの要素にかける処理を、複数のコアへ分けて走らせる。 現在のCPUには、コアが複数ある。 だが、イテレータで要素を順に処理するコードは、そのうちの1つしか使わない。 要素が100万個あっても、残りのコアはなにも進めていない。 rayonが引き受けるのは、この使われていないコアへ要素を配り、か…

  • Rust 059 キャッシュと局所性 - メモリの速度は均一でない

    August 5, 2026 · 10 min

    第59章へようこそ。 今日のテーマは「キャッシュと局所性」です。 第20章で、スタックは速くヒープは遅いと言われるのを分解しました。 差は3つあった。 確保にかかる時間、解放にかかる時間、そしてアクセスの局所性だ。 このうち確保と解放は、アロケータの手順の差だった。 3つ目だけが、置いてある値を読むこと自体の速さの話だ。 第20章では、スタックはCPUのキャッシュに乗りやすく、ヒープは散らばるから恩恵を受けにくい、とだけ述べた。…

  • Rust 058 FFIと所有権 - 境界を越える解放とパニック

    August 3, 2026 · 12 min

    第58章へようこそ。 今日のテーマは「FFIと所有権」です。 第56章で、境界の向こうにRustの保証が1つも届かないと見ました。 借用チェッカーも、所有権も、ライフタイムも、ドロップも、境界の手前で止まる。 前章では、型の姿を両側で守る契約にして、を外へ渡せる形に整えた。 だが、外へ渡したは、いつか解放しなければならない。 契約が決めるのは姿までで、後始末までは決めない。 今日扱うのは、が境界を越えるとき何が渡るのか、解放の責任…

  • Rust 057 repr(C) - メモリレイアウトを契約にする

    August 2, 2026 · 10 min

    第57章へようこそ。 今日のテーマは「repr(C)」です。 第55章で、値はメモリの上ではビット列だと見ました。 その並びをどう読むかを決めるのが型だった。 だが、複数の値を1つにまとめた構造体が、メモリの上でどう並ぶのかは、まだ見ていない。 型は値の読み方だけでなく、構造体のフィールドの置き方も決めている。 今日は、その置き方を見ます。 第56章では、言語をまたぐ境界で、関数が呼び出し規約という機械語レベルの取り決めでつながる…

  • Rust 056 FFI境界 - Rustでない世界と地続きになる

    August 1, 2026 · 11 min

    第56章へようこそ。 今日のテーマは「FFI境界」です。 第52章から前章までで、unsafeが解禁する操作を見てきました。 生ポインタのデリファレンス、UnsafeCell、transmute。 どれもunsafeだったが、扱っていたのはRustの中の値だった。 生ポインタが指すのもRustが確保したメモリ、transmuteが読み替えるのもRustの型のビット列。 規則の外側とはいえ、まだRustの世界の中にあった。 今日から…

  • Rust 055 transmuteと未定義動作 - 越えてはいけない線

    July 31, 2026 · 12 min

    第55章へようこそ。 今日のテーマは「transmuteと未定義動作」です。 第52章で、unsafeは規則を破る許可ではなく、保証の主体がコンパイラから人間へ移る境界だと見ました。 第53章と第54章では、その移転が起きる場所を見た。 生ポインタのデリファレンスでは、指す先に有効な値があることを人間が保証した。 UnsafeCellでは、読みと書きが衝突しないことを人間が保証した。 だが、保証に失敗したら何が起きるのかは、まだ確か…

  • Rust 054 UnsafeCell - 内部可変性の底

    July 29, 2026 · 13 min

    第54章へようこそ。 今日のテーマは「UnsafeCell」です。 第23章で、内部可変性を見ました。 外側の値に不変参照しか持っていないのに、その内側の値を変更できる仕組み。 RefCellは、借用の検査を実行時に行うことで、それを安全な操作として提供していた。 だが、1つ確かめていないことがある。 借用規則は、不変参照の先を書き換えることを許さない。 そしてRefCell自身も、Rustで書かれた型だ。 同じ規則の下にあるはず…

Full episode archive on Apple Podcasts →

About the show

生成AIが作成した汎用的なプログラミング言語の知識を、 聞き流しで学習するための音声コンテンツです。 個人学習用として作成しています。 音声:VOICEVOX(青山龍星)