daily-notes icon indicating copy to clipboard operation
daily-notes copied to clipboard

每日心得筆記

Results 30 daily-notes issues
Sort by recently updated
recently updated
newest added

## 課綱與時間 今天在稍微拉一下之後教學計畫的課綱,目前安排的時間是四個月上基礎,之後兩個月教比較進階的東西(React),時間比第二期其實長滿多的。最後面也有在想說是要繼續教 React 還是 Vue,因為後者好像對初學者更友善一點。 之前有提過有些工程師問我會不會開給工程師上的班,然後我心得有提到說同一套課綱可以依據深度的不同,同時給兩個客群使用。 舉個例子: ### 第十一週:後端基礎(中) 網路安全:SQL injection, XSS, CSRF 會員系統、session 與 cookie hash 跟加密以及編碼的不同 #### 進階班: blind sql injection 盲注 自動掃描工具? ssrf 更進階的 xss 像是這樣,就可以同一個課綱給兩個不同程度的人使用,如果有學生進度超前也可以去學進階班的東西,同時解決了兩個問題。...

## 目標驅動學習 昨天晚上在一個[社團](https://www.facebook.com/groups/421775221561001/)看到一張很不錯的機票,但是滿複雜的,又轉機又中停開口又不同,去 Google Flights 兜了一下發現可以組合出我想要的機票,但是連到的網站評價很差不敢買,可是其他網站又查不到。 走投無路之下去問了社團的版主問題,後來他用了專業查票網站 [ITA](https://matrix.itasoftware.com/) 證明說我的票是開的出來的,沒問題。原本完全不會這軟體而且覺得超複雜的我後來就憑著很想買這張機票的決心依樣畫葫蘆,最後成功利用這套軟體找到了這張機票,連到了評價比較好的網站。 這個故事告訴我們說,最有效的學習方式不是以學習為目的,而是目的來驅動你學習。舉例來說,你可能想要分析現在的新聞標題是不是越來越內容農場化,所以你就去學怎麼寫爬蟲、怎麼把資料 dump 出來然後做分析,這樣的學習是最有效的,因為你已經有了一個目的。 要想一下這個該怎麼應用在教學中,但我覺得有點難就是了。 跟這個很類似地,今天朋友貼給我看這個:https://www.facebook.com/AEXERS/media_set?set=a.2000341100052692&type=3 裡面提到他在教學時都會先提一個很難的問題,因為他要你抱著問題來學習。所以你不是在學一些零碎的知識,而是你已經有一個問題想要解決,你就會去關注該怎麼解決,並且去想說怎麼把學到的東西應用在解決這個問題。 被這個啟發之後我想到兩個可以應用到我教學上的方式: 1. 舉一個大型網站的例子,例如說 Facebook, Twitter 等等,問他們這個怎麼做的,而且還要問說每個細節是怎麼處理的 2. 其實作業的難度就不簡單了,或是也可以換成先講解這週作業要幹嘛,這樣他們在學習時就會關注跟作業有關的部分 ## random 分享 今天看到兩個東西很酷: https://github.com/kdeldycke/awesome-falsehood https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md 第一個是一堆謬誤的資源彙整,第二個是關於電話號碼的謬誤,有很多你以為是正確的事情其實是錯的,非常有趣的一篇文章,原來電話號碼這麼複雜。...

## 心得的重要性 之前一再強調要大家盡量寫心得,因為這對你或是對老師都有幫助。之前我就有說過了,身為教學者,有回饋才會知道自己哪邊做得好那邊做不好,不然充其然就只是自我感覺良好。 剛好這期有個學生比較習慣寫心得,而且在每個時間都有把心得記錄下來,我就拜託他寫一篇完整歷程,我想看到的有這些: 1. 課程開始前的心得以及對於課程的期待 2. 課程開始一段時間(例如說一兩個月)後的心得,跟原本的期待有哪些差異?優缺點在哪? 3. 課程卡關後(就是大家都卡關那時期)的心得 4. 面試時的心得,課程有給了你哪些幫助?如果可以的話希望還能獲得哪方面的幫助?(其實就是你在面試版貼的那個就行了) 5. 總結一下整個課程的心得感想,像是修完之後跟原本的期待是否有出入,是否推薦其他人參與課程,優點與缺點等等的 6. 開始工作一個月後的心得,覺得這個計畫有哪些幫助,哪些地方可以做得更好 寫出來的話會對我很有幫助,對其他想加入這個計畫的人也是一個可以參考的資源。 因為要求還滿多的,所以當然是有償的,我說寫完之後能夠折抵學費,這點就能延伸到今天的下一個靈感:成就系統。 ## 成就系統 為了鼓勵大家寫心得,之前想過要不要跟學生說寫心得會有獎勵,而且是最實用的獎勵:錢(學費折抵),例如說累積滿十篇就有一千塊之類的,總之給這個我是不會手軟啦,對我來說其實就是少收一點學費而已。 以這個往下延伸,其實可以做出一個成就系統,每達成一個成就之後就能夠折抵學費一千塊(或五百塊,反正會有個價值),像是: 1. 累積滿十篇心得 2. 累積滿二十五篇心得 3. 提供一千字以上的期中心得 4. 熱心回答同學問題(標準由我認定)...

今天有超級亮的超級月亮,大家沒事做的話可以舉頭望明月一下。 ## 作業的難度 最近有幾個同學出去面試,有一個給了我一個不錯的回饋,說去面試的時候對方都會問說這個作品是上課做的還是自己做的,如果說是上課做的,可能對方就會覺得這個只是按照課程的說明一步步 copy & paste 建立起來的。 很多課程的確都是這樣啦,但我的導師計畫可不是,學生會寫作業寫那麼久而且寫到崩潰就是因為那些細節我都沒給XDD 所以版面自己刻的,功能大多數也是自己實作出來的,這點在面試時應該要特別強調一下,說是作業只給方向而已,其他都是自己實作出來的,避免被誤認為這個作品沒有什麼難度。 以後在課程中也可以特別強調一下這點,雖然每個學生的履歷上都會把留言板放上去,都程式碼都長得不一樣、版面也長得不一樣,因為都是自己做出來的留言板,而不是參考範例的。 ## 中文排版指北 我在一開始就跟大家推薦了[中文排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines),而且看起來成效顯著。 我是不知道在我推薦以前有多少學生原本就會在中英文之間加空格,但這個一變成習慣之後就改不太掉了,看到有人中英沒空格就豆頁痛,跟學生聊天也發現很多人都會加空格,不知道是不是被我影響。 總之以後還是會繼續跟大家推薦這個東西,畢竟寫文章有個規範可以 follow 本來就是件好事,這種習慣及早養成比較好。 ## long polling 與 websocket 今天剛好跟一個朋友討論到 long polling 之類的問題,讓我想說要不要以後在課程裡也加這個,可以讓大家先實做一個 polling 的網頁,接著換成 long...

## 關於原因 今天看到 ptt 的一篇好文:[Re: [請益] 新手面試要會什麼才能凸顯自己的不同?](https://www.ptt.cc/bbs/Soft_Job/M.1550431140.A.EFD.html),看完之後就立刻轉給學生看,裡面從面試官的角度來說明在面試新手時會注意的點,而這篇文章對我真的很有幫助。 前陣子學生陸續出去面試,基本上都有大致跟我更新一下狀況,有的每面完一間也都會來跟我分享剛剛被問了什麼問題。面試跟個人特質其實很有關係,有的人能力強但面試時會示弱,畢竟懂的越多,就會知道自己不懂的更多;有的人則是在面試時能夠很有自信,對答如流,碰到不會的問題也會盡力展示自己知道的那一面。 不過這是比較心理層面的東西了,比較難調整就是了。 在課程裡我常常會給許多簡單題讓學生回答,通常都是以「為什麼」來開頭,希望他們在用每一項工具時都能明確知道自己為什麼要用,以及不用的話會怎樣。但儘管如此,我猜有些學生在面試時碰到一些問題可能還是會回答:「因為上課有教」、「因為老師指定的」這種答案。 之後課程可能要特別提醒他們這點,在做作業前跟做作業後都仔細思考一下為什麼,儘管是我教的、我指定的,你也可以思考我背後的用意可能是什麼。例如說,為什麼我要用留言板來貫穿整個課程?為什麼我之後會教 React?這些都是學生可以再額外思考的點。 ## 時間不應該是出發點 最近在臉書跟哀居一直被五倍紅寶石的廣告打到,就是這個課程:https://astro.5xruby.tw/ 實體課程,三個月十萬塊讓你轉職成工程師。之前我有提過我做教學的目的是為了自我實現,證明我有能力比其他人教得更好,所以每當我看見一個新的課程出現,就會拿我的跟他的來做比較。比較好的我暗自竊喜,比較差的我就心服口服,並且從中學習,看看有沒有概念是可以移植到我的課程上讓我的課程變得更好。 在看到這個課程時,我的第一個想法是: > 三個月實體班成功轉職,我能做到嗎?如果能,我能做得更好嗎?或者是時間更短? 想了一下這問題之後發現我錯了。 光是思考這個問題本身就錯了。 一昧的跟別人拚這個時間是沒有意義的,重點不在於時間多寡,在於我想要教哪些技能。正確的順序應該是把我覺得工程師必備的技能列出來,然後大概想一下要教多久,再按照這個時間來調整,而不是先想說:「我要三個月的課程」,再把這三個月塞滿。 不應該去想說他三個月的話我就要兩個月,這樣子是本末倒置的。時間不應該是出發點,應該是一種結果。 這點其實我之前也想過,必須在時間跟技能之間取得一個平衡,你不能太快,因為教的技能會太少,學生的能力還沒有到應該要到達的水準;但也不能拖太久,學生的耐性可能會被磨光,或者是經濟上可能也會有問題。 我知道有人可能會說:「這麼沒耐性的話還當什麼工程師」,這話說的不是完全沒道理,但耐性不是 0 跟 1,全有或全無。對我來說,能付出一定的時間連續學習六個月已經很有耐性很了不起了,這我覺得合理的範圍。超過六個月我就覺得有點久,除非學生想要到達的程度又更進一階,例如說想要學習大學那些資工系會修的課程,這當然就另當別論。 ## 動力管理與收費模式...

今天差點忘記要寫心得,假日應該是我最沒有靈感的時候,可能是因為頭腦都沒什麼在動的關係。平日的時候有在思考,腦袋動得比較快比較會有靈感乍現。 突然領悟了一件事情,沒什麼靈感的時候就來寫讀書心得好了,前陣子看到這篇文章:[為什麼學生對電玩「組合技」倒背如流,卻記不住一個簡單公式?](https://www.thenewslens.com/article/112564),覺得非常有趣,立刻把裡面提到的那本書給買了帶到新家來,今天簡單寫一下心得。 ## 《學生為什麼不喜歡上學?》書摘 書中一共有九個章節,這次摘的是第一章:人類的大腦喜歡思考嗎? 這問題其實超有趣的,你可能會以為大腦很喜歡思考,但其實不然。大腦的功能確實強大,例如說你現在可以認出這是一台筆電、這是一個網站,可以看一張照片就把裡面所有物體都辨別出來,這些其實都是電腦花很長時間才能辦到的事情,而且還沒有人類厲害。我們在做這些事情的時候其實不會特別意識到自己在思考。 書中提了兩個讓大腦不用思考的兩種方式: 1. 有一些最重要的功能(例如說看跟動)不需要思考 2. 偏好使用記憶而非思考來指引行動 例如說你第一次學開車的時候可能就需要思考,需要花時間去記住每一個元件的位置,記住什麼時間點應該要轉彎。但是當你開一陣子車以後,你根本不會去想這些,而是很自動地就會做出正確的動作。原本需要思考的東西都不用思考了。 但人類真的這麼不喜歡思考嗎?那該怎麼解釋很多人都喜歡玩一些益智遊戲或者是解謎? 書中直接給出答案: > 人天生好奇,但並非天生善於思考;除非認知條件恰當,否則我們會避免思考。 書中提了幾個有趣的例子,像是大家會對數獨有興趣,可是卻不會對解一題數學問題有興趣;會玩填字遊戲,但不會想解代數問題。 是為什麼呢?你可能會覺得是因為某些東西你比較有興趣,但作者否定了這樣的說法,他說他不認為內容會驅動興趣,我們都曾經對以為自己沒興趣的主題感到入迷,也對自己有興趣的主題感到無聊。 不過我自己是覺得興趣絕對是一個因素就是了。 除了興趣以外,另一個因素是難度。太難的問題容易放棄,太簡單的問題沒有挑戰性就不會想要解開,所以難度要適中。這點其實我在以前的教學心得就提過很多次了,這也是學生反饋給我的心得。 所以,學生為什麼不喜歡上學?關鍵因素在於學生能不能持續體驗到解決問題的愉悅感,我們會選擇那些有點難度但也有機會解開的問題。要解決問題,必須具備來自環境足夠的訊息、工作記憶的空間以及長期記憶中不可或缺的事實或程序(上面這整段直接截自書裡,是最精華的一段) 這個章節最後的幾點我覺得最為精華,在講說這章節的學到的東西在課堂上應該如何應用,分別是: 1. 確保有需要解決的問題。 2. 尊重學生的認知限制。如果你問的問題難度太高導致學生無法回答,就應該先教一些背景知識才來問這個問題,不然問了也是不問,可能還會造成反效果 3. 闡明有待解決的問題。這點我覺得滿重要,身為老師要先學會把問題問得清楚,也要很明確知道為什麼要問這個問題。要先考慮的是你想讓學生獲得哪些知識,再來想要問什麼問題,以及問這個問題之後可能帶來的後果。 4. 重新思考何時對學生提問。這是教學順序的問題,我以前在...

這是心得筆記的第一篇,先再次簡單說明一下內容大概會是什麼 基本上就是我當天思考的一些筆記,有可能會很凌亂也有可能我會先整理過 但品質不保證XDD 有任何想討論的都可以留言在下面 今天就來記錄幾個最近在想的事情好了 ## 第三期要不要開 這個的問題之前跟大家說過了,我五月開始要去周遊列國,所以就算開了的話直播一定會取消,再來就是我還必須帶著電腦才能改大家的作業,教學品質上可能會變得比一二期差了些。 當然也可以找助教來改但我不放心,而且也不知道找誰,所以還是先自己改最好。 直播的問題其實還好,之前第二期的時候就調查過了,其實直播對大家來說沒那麼重要,反正有影片就好,這應該是小事。 總之呢我昨天稍微想了一下,目前大概八成確定會開(我沒說十成喔,所以不是保證會開XD),如果要開的話我稍微隨便想了一下時間,大概是 3/25 報名截止,3/31 公布名單然後 4/15 正式開始,時間還未定我隨便拉的而已。 之後確認要開的話一定會再 po 文跟大家公告。 會讓我想開的理由之一是前幾天 po 的一篇文最後有簡單調查對第三期有興趣的人,收到了 50 份左右的回饋,有滿多人留言說想參加。 ## 要不要把工程師也納入受眾 剛好有幾個朋友不約而同問我說有沒有想要針對已經在工作的工程師開課,讓他們可以繼續精進自己的技術繼續往上。這個問題其實我以前想過,但原本是要拿來當作下一步,意思就是說我把新手的課程搞好以後才會踏入這塊。 但後來我仔細想了一下,其實第二期就已經有三個工程師進來上課了,而且課程內容還算是有幫助,如果我能把這塊再延伸一下,說不定同樣的「課綱」可以同時拿來教新手跟教工程師,差別在於主題的深度。 舉例來說,一二週講到基本程式觀念時,新手寫那些常見題目,什麼九九乘法表或是費氏數列的,然後工程師我就上各種排序法還有二分搜尋,這樣不就兩者都可以兼顧了嗎? 或再舉個例子,上到...

先跟大家分享一件有趣的事 在網站的根目錄通常會有個檔案叫做`robots.txt`,裡面的內容是來告訴爬蟲說哪些頁面可以抓哪些不能抓,爬蟲也不一定要遵守(但通常都會就是了) http://www.robotstxt.org/robotstxt.html 例如說 Facebook 的長這樣:https://facebook.com/robots.txt 但重點不是這個,重點是除了 robots.txt 以外還有一些有趣的,例如說 security.txt,可以拿來告訴大家說如果網站有漏洞該去哪裡回報:https://securitytxt.org/ 還有 humans.txt,裡面可以記錄這網站是誰做的之類的:http://humanstxt.org/ 上面這些有些應該有納入標準,有些之後可能會成為標準。但無論如何,都很有趣就是了。 接著來談談幾件我今天在想的事吧。 ## 申論題 前天收到了一個學生的[心得](https://github.com/Lidemy/mentor-program-2nd/issues/8),裡面寫說: > 我以前常常遇到一個問題,喔不止以前,現在也是……就是想辦法將程式碼表達的內容轉換成言語或是文字去敘述給要接手你程式甚至是完全不懂程式的人聽。這是一件痛苦,非常痛苦的事情。 > 申論題類型的作業算是提前去經歷這段歷程,當然如果是直接把網路上相同關鍵字的文章內容轉貼過來就不用體悟到這種痛苦了。但我認為唯有不論是用程式碼、言語或文字都能夠無礙地去敘述你所想表達的內容,才是你確實將知識吸收完畢的表現。 我在每週的作業裡面都會附上簡答題,例如說:「Cookie 跟 Session 的差別是什麼?」、「position 有哪些不同的值?每一種是做什麼用的?」,針對這些問題有的學生可能當作以前唸書時做報告,直接 Google 然後複製貼上過來,太顯而易見的我通常都會跟他們說我不要複製貼上的答案,我要你自己寫的;但有時候看多了我也是懶得提醒(這要檢討)。 之後再開課的話要記得提醒大家簡答題不是讓你複製貼上用的,你可以附上文章來源,但答案必須是你自己親手寫出來的,就算是錯的或是不完整也好,至少讓我知道你理解在哪裡。自己寫出來的才是真的理解,而且在寫的過程中若是發現寫不出來,就會再回過頭去學習。這些都是直接複製貼上不會知道的事情。 ##...

這兩天發現自己對寫筆記這件事居然有了點壓力 也有了那種在乎多少人看、在乎自己寫了多少的壓力 這個壓力往好的地方走就是強迫成長的動力,往壞的地方走就是壓垮自己的稻草 要記住,筆記的內容本來就是寫什麼都可以,是寫給未來的自己看的 不用寫什麼特別的也沒關係,沒什麼內容也沒關係 所以今天的筆記就這樣了,我今天懶得思考 😄 本日推薦歌曲:Hello Nico〈花〉官方MV https://www.youtube.com/watch?v=BlblBvpVgjE

## 到底要服務誰? 其實這個問題我過年本來想寫一篇文章來探討一下,後來懶症發作就沒有繼續了。就像上一篇有人說的一樣,目前程式導師計畫每半年左右一期,只要那個時間點你沒跟上,就要再等半年了。 所以現有的機制必定會有一些人被排除在外,我就沒辦法服務到那一群人。雖然要服務所有人是件不太可能的事,但我想做到至少服務盡量多的人。 如果要解決這個問題,就代表課程的機制要改變,其中一種方向是像 ALPHACamp 那樣做一個學習系統,就可以把課程做的規模化,有新的人加入就開一個新的帳號,課程資源都在系統上面。 做一個學習系統這件事我其實有想過,但當初想一想覺得太麻煩了就先擱置了。 在沒有資源沒有時間的情形之下,也就只能先犧牲一些人,先去服務人數最多的那一群。 ## 有關學習系統 接續剛剛談論到的話題,我今天也有想了一下有關學習系統的事。 對我來說最理想的方式是我先自幹一套學習系統然後開源出去,先把最基本的核心功能做好。開源的好處是什麼?好處就是接下來我的學生就可以一起來維護這一套系統,幫自己每天在用的系統送 PR 而且加上新功能。 非相關背景轉職最大的致命傷之一就是沒有實戰經驗,其他的課程通過帶學生做一個很完整的作品來解決這件事情。而我想解決這問題的方向是跟學生一起打造出一個開源專案,這樣我自己本身的教學系統能夠獲益、學生能夠獲益、其他想用這套系統的人也能夠獲益,我自己覺得是一個不錯的解決方案。 但這件事情的難度在於我必須先寫出一個雛形,而且把一些規則給定好才能讓學生來 contribute,要做哪些 task 我也必須先想好,等於說我就是一個 PM 的角色。 聽起來滿有趣的,就先當作一個 idea 放著,以後再來研究可行性如何。 ## 大腦喜歡這樣學書摘 這次回台灣買了一些跟學習相關的書,以後打算在教程式之前先簡單教大家怎麼學習,或不要用「教」這個字好了,而是跟大家分享學習相關的一些知識。 所以接下來偶爾會出現一些書摘,這幾天看的一本叫做:[大腦喜歡這樣學](https://www.books.com.tw/products/0010764994) 今天來分享...