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

All Episodes

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

#
Title
1

Rust 030 モジュールシステム - 構造・境界・名前

2

Rust 029 BTreeMap と BTreeSet - 順序を保つ対応表

3

Rust 028 HashSet と VecDeque - 派生コレクション

4

Rust 027 Entry API - 効率的な更新

5

Rust 026 HashMap - キーと値の対応表

6

Rust 025 Vec詳細 - 容量と成長

7

Rust 024 Weak - 弱い参照

8

Rust 023 RefCell - 内部可変性

9

Rust 022 Rc - 共有所有権

10

Rust 021 Box - ヒープに置く箱

11

Rust 020 スタックとヒープ - 2つのメモリ領域

12

Rust 019 UTF-8の世界 - 文字とバイト

13

Rust 018 文字列の変換 - 所有と借用を行き来する

14

Rust 017 &str入門 - 借りる文字列

15

Rust 016 String入門 - 所有する文字列

16

Rust 015 ライフタイム省略と’static - 書かなくてよい場合

17

Rust 014 関数と構造体のライフタイム - 注釈を書く

18

Rust 013 ライフタイム - 参照の有効期間

19

Rust 012 関連型 - トレイトが型を持つとき

20

Rust 011 トレイト境界 - ジェネリクスに条件を付ける

21

Rust 010 ジェネリクス - 型を引数にする

22

Rust 009 エラー処理 - エラー型を設計する

23

Rust 008 トレイト - 型と振る舞いを分離する

24

Rust 007 パターンマッチ - 値の構造で分岐する

25

Rust 006 StructとEnum - データに形を与える

26

Rust 005 クロージャ - 環境を捕獲する関数

27

Rust 004 イテレータ - 流れとして処理する

28

Rust 003 Result - 失敗を型で表現する

29

Rust 002 Option - 値の不在を型で表現する

30

Rust 001 所有権 - Rustの心臓部

31

Rust 140 メモリの統合 - すべてはメモリに帰る

32

Rust 139 メモリ境界 - asyncと所有権が交差するとき

33

Rust 138 asyncの内部構造 - ステートマシンがメモリに刻まれるとき

34

Rust 137 メモリ上の仮想表 - ブイテーブルの構造

35

Rust 136 メモリと判別子 - enumの内部表現

36

コンピュータ基礎 031 メモリオーダリング - 書いた順に実行されるとは限らない

37

Rust 135 メモリ具体化 - ジェネリクスが形を持つ瞬間

38

コンピュータ基礎 030 同期 - データを守る仕組みとその代償

39

Rust 134 メモリと並行性 - 複数のスレッドが同じバイト列に触れるとき

40

コンピュータ基礎 029 データ競合 - なぜデータが壊れるのか

41

Rust 133 メモリアクセス規則 - 借用チェッカーの本質

42

コンピュータ基礎 028 スレッド - 1つのプロセスの中の複数の実行の流れ

43

Rust 132 メモリ配分 - アロケータの仕組み

44

コンピュータ基礎 027 並行と並列 - 複数の処理が動くとは何か

45

Rust 131 メモリの一生 - 確保、使用、解放

46

コンピュータ基礎 026 ルーティング - データが宛先に届くまで

47

Rust 130 メモリの移動 - ムーブとコピーの正体

48

コンピュータ基礎 025 ネットワーク - データが線に乗るまで

49

Rust 129 メモリ上の参照 - 借りるとはポインタを持つこと

50

コンピュータ基礎 024 ディスク - 読み込み要求が届くまで

51

Rust 128 メモリ構造 - スタックとヒープの所有モデル

52

コンピュータ基礎 023 マウス - 1ミリの移動で何が起きているか

53

Rust 127 メモリレイアウト - 型がバイト列になるとき

54

コンピュータ基礎 022 入出力 - CPUと外界の速度差

55

Rust 126 メモリという現実 - すべての制約はここに帰る

56

コンピュータ基礎 021 リンクとロード - 部品から動くプログラムへ

57

Rust 125 パニック - プログラムが自ら止まるとき

58

コンピュータ基礎 020 コンパイル - ソースコードから機械語へ

59

Rust 124 実行時の検査 - コンパイラが手放したもの

60

コンピュータ基礎 019 システムコール - プログラムとOSの境界

61

Rust 123 安全の境界 - 型とキーワードで引かれた線

62

コンピュータ基礎 018 プロセス - 「動いているプログラム」の正体

63

Rust 122 式指向 - すべてが値を返す

64

Rust 121 明示性 - 暗黙を拒否する言語

65

コンピュータ基礎 017 スタックとヒープ - プログラムのメモリの使い分け

66

Rust 120 ゼロコスト抽象 - 抽象化しても遅くならないという約束

67

コンピュータ基礎 016 キャッシュ - なぜメモリは遅いのか

68

コンピュータ基礎 015 アセンブリ - 機械語を人間が読める形に

69

【Rust音声学習 第119章】コンパイラとの協働 ― 敵ではなく設計相手

70

コンピュータ基礎 014 機械語 - CPUが理解する唯一の言葉

71

【Rust音声学習 第118章】終焉の確定性 ― 破棄は構造に埋め込まれている

72

コンピュータ基礎 013 命令サイクル - フェッチ、デコード、実行

73

【Rust音声学習 第117章】網羅性の強制 ― 考え漏らしを許さない

74

コンピュータ基礎 012 クロック - 心臓の鼓動、同期の仕組み

75

【Rust音声学習 第116章】合成可能性 ― 小さな部品を組み合わせる

76

コンピュータ基礎 011 アドレス - どうやって「場所」を指定するか

77

【Rust音声学習 第115章】コストの可視性 ― 暗黙の代償を排除する

78

コンピュータ基礎 010 メモリセル - 大量のビットをどう保持するか

79

【Rust音声学習 第114章】表現可能性の制限 ― 書けないことが設計を導く

80

コンピュータ基礎 009 レジスタ - CPUの中の小さな記憶

81

【Rust音声学習 第113章】効果の追跡 ― 何が起きるかを型に刻む

82

コンピュータ基礎 008 フリップフロップ - 1ビットを「覚えておく」とは

83

【Rust音声学習 第112章】線形性 ― あたいは一度だけ使われる資源である

84

【Rust音声学習 第111章】局所推論 ― その場だけで正しさがわかる

85

コンピュータ基礎 007 ALU - 足し算以外の演算はどうするか

86

【Rust音声学習 第110章】自己参照の壁 ― なぜRustはこれを嫌うか

87

コンピュータ基礎 006 加算器 - 0と1の足し算はどう実現するか

88

【Rust音声学習 第109章】変性 ― 長い寿命を短い寿命の代わりに使えるか

89

コンピュータ基礎 005 2進数 - なぜ10進数ではないのか

90

【Rust音声学習 第108章】ライフタイムとトレイト ― dyn Trait + 'aの意味

91

コンピュータ基礎 004 組み合わせる - ゲートを繋ぐと何ができるか

92

【Rust音声学習 第107章】借用チェッカーの目 ― コンパイラは何を見ているか

93

コンピュータ基礎 003 論理ゲート - NOT、AND、OR、XOR

94

【Rust音声学習 第106章】エラー型の設計 ― 呼び出し側の視点で選ぶ

95

コンピュータ基礎 002 トランジスタ - スイッチとして動く小さな素子

96

【Rust音声学習 第105章】型で状態を表現する ― 実行時チェックからコンパイル時保証へ

97

コンピュータ基礎 001 0と1は何か - 電圧の高低、それだけ

98

【Rust音声学習 第104章】ジェネリクスの境界 ― 抽象をどこまで広げるか

99

【Rust音声学習 第103章】enumとトレイトオブジェクト ― 閉じた世界と開いた世界

100

【Rust音声学習 第102章】拡張トレイトとシールドトレイト ― トレイトの応用設計

101

【Rust音声学習 第101章】関連型と型パラメータ ― 「一つだけ」か「複数」か

102

【Rust音声学習 第100章】スーパートレイト ― トレイトの階層

103

【Rust音声学習 第99章】オーファンルール ― トレイトの一貫性を守る壁

104

【Rust音声学習 第98章】マーカートレイト ― メソッドのない約束

105

【Rust音声学習 第97章】SendとSync ― 所有権がスレッド安全を生む

106

【Rust音声学習 第96章】ブランケット実装 ― 条件が満たされたら、能力が生まれる

107

【Rust音声学習 第95章】トレイトオブジェクト ― 型を消す抽象

108

【Rust音声学習 第94章】Sized ― コンパイラが最初に確認すること

109

【Rust音声学習 第93章】Default ― 型の始まりの姿

110

【Rust音声学習 第92章】Drop ― 所有権の最後の仕事

111

【Rust音声学習 第91章】Fn、FnMut、FnOnce ― クロージャは三つのトレイトである

112

【Rust音声学習 第90章】Iterator ― nextから生まれる世界

113

【Rust音声学習 第89章】Deref ― 透明になる型の境界

114

【Rust音声学習 第88章】std::convert ― 型と型の橋を架ける

115

【Rust音声学習 第87章】std::fmt ― 型が自分の見せ方を決める

116

【Rust音声学習 第86章】標準ライブラリ:外界 ― 環境、パス、時間

117

【Rust音声学習 第85章】標準ライブラリ:入出力 ― ReadとWriteがすべてを繋ぐ

118

【Rust音声学習 第84章】言語構文、プレリュード、組み込みマクロ ― useを書かない世界

119

【Rust音声学習 第83章】Tauriのビルドと配布 ― デスクトップアプリを届ける

120

【Rust音声学習 第82章】Tauriの状態管理 ― コマンドをまたぐデータの共有

121

【Rust音声学習 第81章】Tauri - Capabilities フロントエンドに何を許すか

122

【Rust音声学習 第80章】Tauri - コマンドとIPC RustとJavaScriptの境界

123

【Rust音声学習 第79章】Tauri入門 ― なぜブラウザを同梱しないのか

124

【Rust音声学習 第78章】Pin ― 動かないことの保証

125

【Rust音声学習 第77章】rayon ― データ並列を当たり前にする

126

【Rust音声学習 第76章】関数の設計 ― 呼び出し側の視点で考える

127

【Rust音声学習 第75章】API設計 ― 使う人を守るインターフェース

128

【Rust音声学習 第74章】メモリ確保戦略 ― アロケータの正体と付き合い方

129

【Rust音声学習 第73章】clap ― コマンドラインインターフェースを型で設計する

130

【Rust音声学習 第72章】Tokio深掘り ― ランタイムの中で何が起きているか

131

【Rust音声学習 第71章】キャッシュと局所性 ― メモリの速度は均一ではない

132

【Rust音声学習 第70章】Cow ― 必要になるまでコピーしない

133

【Rust音声学習 第69章】anyhowとthiserror ― エラー処理の二刀流

134

【Rust音声学習 第68章】名前が約束する「振る舞い」

135

【Rust音声学習 第67章】名前が教える「コストと所有権」

136

【Rust音声学習 第66章】serde ― すべてのデータが通る門

137

【Rust音声学習 第65章】イテレータパターン ― カスタム実装

138

【Rust音声学習 第64章】エラーハンドリングパターン ― 実践的な設計

139

【Rust音声学習 第63章】RAIIパターン ― リソース管理の定石

140

【Rust音声学習 第62章】ビルダーパターン ― 柔軟なオブジェクト構築

141

【Rust音声学習 第61章】属性とコンパイラ ― メタデータの活用

142

【Rust音声学習 第60章】型レベルプログラミング ― コンパイル時の計算

143

【Rust音声学習 第59章】型状態パターン ― 状態遷移を型で表現

144

【Rust音声学習 第58章】Newtypeパターン ― 型で意味を表現

145

【Rust音声学習 第57章】バインディング生成 ― 自動化ツール

146

【Rust音声学習 第56章】FFI基礎 ― Cとの連携

147

【Rust音声学習 第55章】生ポインタ ― メモリの直接操作

148

【Rust音声学習 第54章】unsafe入門 ― 安全性の境界

149

【Rust音声学習 第53章】Stream ― 非同期イテレータ

150

【Rust音声学習 第52章】非同期のエラーハンドリング ― ?演算子とasync

151

【Rust音声学習 第51章】Tokioランタイム ― 実践的な非同期

152

【Rust音声学習 第50章】Future ― 非同期の中核

153

【Rust音声学習 第49章】async/await入門 ― 非同期処理の基本

154

【Rust音声学習 第48章】アトミック操作 ― ロックフリーの同期

155

【Rust音声学習 第47章】デッドロック ― 並行処理の落とし穴

156

【Rust音声学習 第46章】Arc ― スレッドセーフな参照カウント

157

【Rust音声学習 第45章】チャネル ― メッセージパッシング

158

【Rust音声学習 第44章】RwLock ― 読み書きの区別

159

【Rust音声学習 第43章】Mutex ― 排他的アクセス

160

【Rust音声学習 第42章】SendとSync ― 安全性の型レベル保証

161

【Rust音声学習 第41章】スレッド入門 ― 独立した実行の流れ

162

【Rust音声学習 第40章】手続き的マクロ概要 ― ディライブの裏側を知る

163

【Rust音声学習 第39章】マクロのパターン ― 繰り返しとマッチング

164

【Rust音声学習 第38章】宣言的マクロ入門 ― macro rules!の基本

165

【Rust音声学習 第37章】テストの制御 ― 実行を操る

166

【Rust音声学習 第36章】結合テストとdocテスト ― 外から検証する

167

【Rust音声学習 第35章】ユニットテスト ― 部品を検査する

168

【Rust音声学習 第34章】crates.io ― ライブラリの宝庫

169

【Rust音声学習 第33章】Cargo.toml ― プロジェクトの設計図

170

【Rust音声学習 第32章】Cargo ― プロジェクトを管理する

171

【Rust音声学習 第31章】use ― 名前を整理する

172

【Rust音声学習 第29章】mod ― コードを分割する