等人的時候在咖啡廳看書 -《東大生的便條紙閱讀拆解術》
其實這種教人如何閱讀的書不少,最經典的大概就是不斷再版的《如何閱讀一本書》,學生時期看了就是哇哇哇、讚讚讚,然後看不完… 現在各種資訊干擾的年代,或許應該要有本非小說類的書是《如何堅持看完一本書》
已經很久沒有這麼認真讀書,所以有點開心,中間專心到完全不會受到外界干擾。可能是環境很棒、咖啡還很便宜,現在連鄉下的咖啡廳都至少 100 起跳,一杯附舒服座位、插座、可愛店員的熱拿鐵 65 ?!!!!
此書好的地方是字不多很友善(?)善用比喻、理論與實務並行的說明如何拆解一篇文章,揣測出原作者的意思,而且是從閱讀前就開始準備,以前就看不少文章說著類似的概念,但我都是停留在只能意會的階段。
這次邊看邊用書上教的方法拆解本書,不是雞湯,實際上真的有種開始見樹又見林的感覺,能夠用更宏觀的視角來理解每個章節,思考文字背後的意義、提出假設並不斷修正,總之我希望這種收穫不是停留一時的錯覺( 畢竟很常出現這種好像學很多的錯覺 ),如果任何事都能以這種心態,相信學什麼都不難。
這次放慢節奏的讀,四小時只唸了兩章節,其實依照習慣的速度、我應該都可以看完兩本書,當然這樣胡亂吞的結果是過一個月就變成無痕掛勾、不留痕跡。
在別的文章看到個概念是,想像自己一年只能讀 10 本書,所以你會開始正視這 10 本的選擇,認真挑選適合自己的素材,深讀、然後一再重讀,會比囫圇吞棗還深刻。不過另一前提是已經歷過廣讀的階段,如果沒有就先廣讀。
上台北,明天要幫男友演講操縱投影片,待在鄉下太久、整個人變得很恍神。坐捷運紅線時經過雙連站嚇到、馬上衝出車廂,趕緊跟要會合的男友報告:「 靠杯我坐錯邊跑到雙連站了啦,還好在未釀成災難時先下車,真是智障中帶點機伶 」
「 妳沒坐錯… 雙連方向是對的 」電話那頭傳出很無奈的聲音,即時阻止了差點搭回反方向的智障
今天莫名的拖延,想起前幾天在書局翻有關於拖延的書,寫著拖延患者在不願面對正事的時候,房間都會特別乾淨、電腦檔案、資料夾也是完美分類的高峰期呢。
但我今天是一個連整理房間都想拖延的社會毒瘤。
有預感我應該會寫的又冗又臭,所以想說每天寫一點點就好,昨晚聽直播時突然有兩個課程建議的靈感,但一寫下去就開始有點長了,期許課程結束之後學會精煉文字的技能。
延續昨天的重構半成品,雖然到後來有點自暴自棄哈哈哈哈,但還是勉強把它寫完,覺得完成後的版本跟之前好像… 沒差多少,有種靠杯我時間流逝心酸的嗎?
但至少列了挺多問題的、真的實際寫才知道有多不懂,也算是一種收穫滿滿!
創意無限的題目很舒壓,而且很喜歡這題:「 最好的朋友是怎樣的人? 」,因為個人認為有什麼樣的朋友、某種程度上也可以反映出是怎麼樣的人( 記在小本本 )
聽到有個 Code Review 的建議是找同學一起,覺得這好像不錯欸!但礙於生性害羞(?)、彼此又要真的有意願、花時間看對方的 code 也是一大門檻,先記著、有心力的話可以嘗試看看。
複習週都快結束我還在複習 week7 ,挫賽
( 以下補昨天 )
今天想說動手重構前要先規劃,但說實在的有點沒頭緒,所以依照習慣,對於不懂的領域想要快速有個概念,去書局翻個幾本同類型的書是最快的。
早上去書局晃一圈,買了歐萊禮的《重構 JavaScript》,翻了一下感覺不錯、應該是看得下去的工具書。
下午隨意得翻完,覺得要感受整個大千世界應該要跟著做一次,但做完時間大概也咻咻咻到下個複習週… 所以就先放著,有時間再來慢慢練習,先有個大略的想法進行重構。
一開始覺得 hw1 要改成物件應該不難,就把有點物件感的東西抽出來,但真正要實作就開始不斷懷疑自己的物件感到底是三小,怎麼越改越奇怪。
記錄一下問題:
或許我想太多、也或許根本搞錯重構的方向。我了解 OOP 本來就沒那麼好領略,所以可以慢慢來,但還是擋不了強烈的挫折感。
不只是語法上看到一些新鮮的東西,在程式邏輯上也有發現很多自己可以加強的部分。
在判斷 radio
是否選取的部分,之前覺得很難處理,當時想到的方式是跑全部的選項,一但找到 checked
才回傳該選項。且還跟處理 input:text
的邏輯混在一起,其實非常混亂。
看到某些同學是用「 選取 checked
元素 」的方式,如果選得到元素、就代表已 checked
。看到時心頭一驚:「 天啊為什麼我沒想到! 」
其實應該是個挺直覺的用法,但當時腦袋沒打通,所以只能繞很多彎路、才走得到其實近在眼前的目的地。
同一個結果可以用很多方法實現,而腦中會出現多少路可以走,是建立在「 自己曾經走過那些路 」的前提下,之後才能漸漸培養是彎是直的判斷力,又或許在某些情境下、彎路反而是個好選擇。很感謝有這麼多份作業讓我長見識。
邏輯上可以加強的地方有很多,對於拆 function 的方式,應該要從一開始就要謹慎思考「 如何使用 」、而不是先寫一個小部分,跟著感覺走一步算一步,到最後再來想要怎麼區分、優化程式碼。
或許小專案可能還擋得住,但這壞習慣應該要從現在開始改掉,動手寫 code 之前先徹底想 code。
event
事件是可以自定義的
const event = new Event('custom-event'); // => 自定義事件
element.addEventListener(event, function (e) { ... }, false); // => 監聽事件
element.dispatchEvent(event); // dispatchEvent => 觸發事件
blur
& foucs
事件,兩事件都不支持冒泡傳遞。focusable
的元素( 例如:div
)改成 focusable
=> tabindex
属性,有兩個作用:
focus
& blur
)tab
聚焦的順序原本預計要做 w9 練習,後來發懶決定先複習第七週好了,所以把每週例行檢查的列表都寫過一遍、順便整理了筆記。
把 w7 的作業全掃過一遍的心願沒有達成,只來得及看完 hw1,很佩服某些同學的創意,還發現一些沒看過的語法,順便去把新語法搞懂,開眼界挺開心的!
.classList.contains(<class-name>)
e.target.dataset.<data-name>
performance.now()
Date.now()
: 從 「 1970/01/01 00:00:00 UTC 」 所經過的毫秒數,performance.now()
: 當頁面 load 好那一刻,所經過的毫秒數,IE 10 以下不支援capture
、passive
、once
capture
: true => 捕獲 ; false => 冒泡
passive
: 允許所有頁面的默認行為 ,意思是如果設了 e.preventDefault()
也沒有用,且 console 會跳出警告,目的是防止監聽器造成頁面卡頓。once
: 為一次性,一但觸發就會移除監聽器