育児情報
- シフト制育児の本
追伸
\キャンペーン告知/
— Yogibo Japan(ヨギボージャパン)公式 (@yogibojapan) May 30, 2022
6/1(Wed)~6/19(Sun)の期間中#リペアサービス 30%OFFキャンペーンを実施。
リペアサービスとは、
ご愛用の #Yogibo をいつまでも使っていただくために
新品のようによみがえらせるサービスです
▼リペアサービスの詳細はこちらhttps://t.co/xdpWi1De2r pic.twitter.com/jMUJaDunL8
\Yogibo初の大感謝祭 開催/
— Yogibo Japan(ヨギボージャパン)公式 (@yogibojapan) June 27, 2022
Yogiboは2009年7月にアメリカで誕生しました。
今年で創業13周年となることを記念し、
7/1-7/31の期間、
『Yogibo Big Thanks Sale 創業記念セール』を実施します。
お客様のご愛顧に感謝を込めた
年に一度のキャンペーンをぜひお楽しみに🎉https://t.co/D31c4eoxHD pic.twitter.com/b5S17LwlQi
最後にLT会に出たのは前職のときに豊洲で発表したとき以来ですね。
今回は個人開発でテストを書いていたので、その時の楽しみと大変だったことを題材にLTしてきました。
個人開発でテストをする人はあまりいないかと思ったので、勉強してみたい、やってみたいと思ってもらえたら幸いです。
他の方の発表も、テストを並列にしたり、機械学習で落ちやすいテストを先にやったりと開発時間を短縮するアイデアが出てて興味深かったです。
明日もLT会があるみたいです。すごい。
個人開発のプロダクトを早くリリースできるようにがんばります。
![]() |
| 茜ちゃんがかわいい of the world |
![]() |
| そして再度放置されるラズパイであった... |
Vueのリアクティブ要素にはrefとreactiveがあります。
たとえばrefをつかったリアクティブの場合、
const count = ref(0);
watchEffect(() => console.log(count.value)); // -> 0
count.value = 1; // -> 1
countが変更されるたびにwatchEffect()に登録した関数が実行されます。
countが変更されたらconsole.log()が呼び出される仕組みがわからないので理解していきます。
countにはref(0)が代入されています。このrefはproxyです。
proxyは値とHandlerを持っています。ref(0)だと0が値です。ではHandlerは?
Handlerはrefの中に隠蔽されています。下のコードのような感じです。
Handlerはgetterとsetterを持っています。
getterはtrack()を、setterはtrigger()を持っています。
このtrack()とtrigger()は何をしているのでしょうか?
const dinner = { meal: 'tacos' }
const handler = {
get(target, prop, receiver) {
track(target, prop)
return Reflect.get(...arguments)
},
set(target, key, value, receiver) {
trigger(target, key)
return Reflect.set(...arguments)
}
}
const proxy = new Proxy(dinner, handler)
console.log(proxy.meal)
trackは
Map<proxyのオブジェクト, proxyを呼び出す関数群>を保存します。
つまり最初のコードでは、
map.set(count, new Set( {() => console.log(count.value)} ))を行っています。
const count = ref(0);
watchEffect(() => console.log(count.value));
triggerはtrack()で保存したproxyに関連する関数をすべて呼び出します。
const functionSet = map.get(count) // -> Set<Function>
functionSet.forEach( { // 関数を実行 } )
watchEffectの中でcountを呼び出すと、呼び出したラムダが登録されます。
count.valueが変更されると登録されたラムダが実行されます。
const count = ref(0);
watchEffect(() => console.log(count.value)); // -> 0
count.value = 1; // -> 1
リアクティブがどんな感じで実現されているのか雰囲気がつかめてきました。
参考
こんにちは!
この記事は琉大 Advent Calendar 2020 の3日目になります。現時点(2020/12/01 20:00)ではまだ空きがあるようですので、ぜひ参加していってください。
前日の記事はこちらです。
明日の記事はこちらに書くものとします(追記予定)。
社会人になって3年目となり、いろいろ知識が足りていないなーと痛感することが増えてきました。知識を補うために、会社での個人OKRとしていくつかやることを決めて取り組んでいます(できているとは言っていない)。そこで僕はOKRの中に「本を読むこと」を入れています。
ここでは最近読んでいる本と、これは良かったと思う本を紹介します。また、できるだけ継続して本を読むために取り組んでいることを紹介します。
Clean Code
今読んでます。
クラス設計や関数の書き方から学ぼうと思って読んでいます。
まだ前書きと1章しか読んでませんが、cleanなコードとはどういうものかについて、ストラウステップやロン・ジェフリーズの言葉を引用しながら語ってます。
Clean Agile
今年の10月に発売されました。ロバート・C・マーチン(通称ボブおじさん)のアジャイル開発本です。
世の中に出回っているアジャイル開発のウソを紹介して成敗している本です。「アジャイルは早い段階から希望を殺し、継続的に冷たくて厳しい現実を提供する」がキャッチーでした。
Clean Architecture
「クリーンアーキテクチャって、あの円のやつでしょ?」レベルから「依存性逆転の法則が重要なやつ」レベルまで僕を引き上げてくれた本です。
世の中にあるクリーンアーキテクチャの説明よりも原典を読んだ方が早いと思いました。
今の会社ではクリーンアーキテクチャを基本に開発しているので必須の本でした。
テスト駆動開発
テスト駆動開発(TDD)がどういうものかケント・ベックがペアプログラミングを通して教えてくれる本です。
TDDがどのように発展してきたのを訳者の和田さんが紹介してくれているので、そちらだけでも立ち読みしても良いと思います。
今の会社ではテスト駆動開発を基本に開発しているので必須の本でした。
NEW GAME!!
ゲーム制作会社に入社した女の子のきゃっきゃウフフな話です。とくに星川ほたるが好きです。
|
| ほたるんかわいい |
僕は9巻の60ページあたり*1にある話が好きです。
コウ:(ほたるはみんなが思っているような天才じゃない…)
優秀なITエンジニアはまんがタイムきららキャラットを買う、と言われています。
もともと継続して読書することが苦手です。今も苦手で月の読書冊数も平均で1冊もないと思います。
ちょっとでも継続しようと、Scrapboxと読書メーターを使っています。
Scrapboxには読んでいる最中のメモを書いています。あとから振り返りできるし、いつ書いたのかはテロメア*2を見ればわかるので便利です。スマホからも書けるので僕はtwitterのプロフィールに載せて、いつでも見れるようにしています。twitterはよく見るので。
読書メーターには読みたい本のリストと読んだ感想を書いています。感想を書くと何が良かったのか考えるきっかけになり、ちょっとだけ達成感も得られます。とくに良いと思ったのは、読んでいる本を絞れることです。僕は移り気で本を10冊以上同時に読んでしまうことがありました。今は1つに絞って時間を当てて読んでいます。
この施策で、とりあえず2ヶ月くらいは続けて読めています。