878 Views
February 06, 24
スライド概要
BAKUCHIKU LT大会での発表資料
先延ばしにして時間を作ろうみたいな話をした
SlideShareが使いにくくなってしまったのでこちらに全部移してみた。 - 勉強会で使った資料 - イベントでの登壇資料 等を中心に上げてあります。
チキンレース遅延評価 のすゝめ 2024-02-06 BAKUCHIKU LT大会#1 資料 佐々木 健
人間だもの ● 宿題は後でやろう ● 卒論は後でやろう ● 修論は後でやろう ● 資料作成は後でやろう
人間だもの ● 放置しておけば、自然消滅しないかな? ● 誰か代わりにやってくれないかな? ● とりあえずギリギまで粘ってみるかー
チキンレース 楽しんでますかー?
遅延評価(Wikipediaより) ● ● 遅延評価(ちえんひょうか、英: lazy evaluation)や必要呼び(ひつようよび、英: callby-need)は評価戦略の一種類であり、非正格な関数型言語で使用もされる。対義語は先 行評価(英: eager evaluation)。 評価しなければならない値が存在するとき、実際の計算を値が必要になる まで行わないことをいう。評価法が指示されているが実際の計算が行われていない 中間状態の時それをプロミス(英: promise)や、計算の実体をさしてサンク(英: thunk)といい、プロミスを強制(英: force)することで値が計算される。一旦計算され た値はキャッシュをすることが可能であり、遅延プロミスは最大で一度しか計算されないよ うにすることができる。ただし、Haskell の実装によっては、何度でも同じ計算を行う。 ● ● 遅延評価を行う利点は計算量の最適化である。 ある関数を呼び出すとき、その関数が引数の全てを利用するとは限 らない。条件次第で捨ててしまうような値を事前に準備することは非 効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計 算量を低減できる。
我々はチキンレースを 楽しんでいるわけではない 遅延評価戦略により 計算量の最適化を行っているのだ
罪悪感が なくなりましたね?
Kahua ● KahuaというWebフレームワークがある ● Scheme言語(Gauche)で実装されている ● 遅延評価の仕組みをうまく活用している ● ● 実装していない操作をすると、その関数がないと いうエラーになる エラーになったらその場で実装すればOK
WikiName ● ● ● ● Wikiシステムでは、ドキュメント中に、CamelCaseのように、 単語の頭文字を大文字にし、それらの間のスペースを除いて生 成される文字列を、WikiNameという特別な文字列として扱う CamelCaseではなく、[[二重スクウェア・ブラケット]] (二重 角括弧)でWikiNameを表す場合もある WikiNameは(自動的に)ページ名として扱われ、そのページが 存在していない場合は Dangling link (未決定のリンク) が表示 されます タイトルだけ作っておいて中身は後で書く
スクラム開発 ● ● ● やるべきことを、必要性等を考慮しつつ、タスクとし て切り出しながら、短期間でリリースをし続けていく 必要性が低いものは、そもそもタスク化されない、 タスク化されたとしても、リファインメント等のプロ セスによりなくなったりする やらないことはやらない、というのはわりと大事
何がいいたいか ● それって今やるべきことなの? ● 後で良いんじゃないの? という視点は大事 ● やらないことで他のことをやる時間が生まれる
生まれた時間で何をする? ● Inputは意識してやらなきゃダメ ● Outputも意識してやらなきゃダメ
AIにはできないことをしよう ● アホな間違いやミスをしよう ● 面白がろう ● 楽しもう ● 怒ったり、悔しがったりしよう ● 共感しよう
!!!注意!!! ● ● ● 他の人に迷惑がかけるようなチキンレースはやっ ちゃダメだぞ!! ギリギリ感を楽しむのは良いけどラインを踏みこ えて崖から落ちちゃダメだぞ!! 見積る力、実行する速度を磨いて、良いチキン レースライフを!!
おしまい