用Hugo將Wordpress部落格搬家到Github Pages

決定從Wordpress搬家的原因 最近在寫關於Java學習文章的時候使用了markdown的插件,但是不好用,於是想不如折騰下自己的網站好了。學寫程式也有一陣子了,邊折騰邊學習也不錯。 用Wordpress部落格有幾年了,比較不喜歡: 常常會擔心租的域名或託管服務有沒有到期,有心裡負擔 太多我用不到的功能,不符合極簡主義 我不喜歡我自己之前的域名 所以決定從Wordpress搬家,使用靜態網頁,託管在Github Page上。 ...

2024-02-17 · Ariel

全面實踐簡單生活/投資

好多年前就看了簡單生活之類的書,但是今年是我全面實踐的第一年。 萬物之始,大道至簡,衍化至繁。 1.簡單飲食 之前好多年因為懷孕和哺乳,一直拼命狂吃,超過身體所需。 現在不用哺乳了,開始放棄對食物的執念,只取健康的和自己身體需要的。 只吃原型食物,並且簡單烹調。 多吃低碳環保海鮮類和豆類,少吃紅肉類。 少吃水果,把水果也當成零食。 必須外食的話,少吃。因為大部分外食都不是那麼健康。 ...

2023-12-29 · Ariel

字符串匹配,Leetcode 28,KMP算法

最近在做Leetcode,遇到有關字符串匹配的如下題目: 28. Find the Index of the First Occurrence in a String 要求從haystack 字符串裡找是否包含needle字符串,並找出首次出現位置。比如sadbutsad裡是否包含sad字符串。 發現除了暴力循環解法外,還有神奇的KMG算法可以把複雜度從O(m*n)簡化為O(m+n)。雖說大家都說用處不大,但是還是覺得很有意思,於是花了點時間學習,順便寫這篇文章記錄一下。 ...

2023-09-05 · Ariel

小一下閱讀記錄+中英文閱讀書單

小一上通過英文橋樑書成功愛上英文閱讀(小一上英文閱讀書單和心得)。 小一下學會注音也認識了一點國字,可以開始自己讀中文書籍了,所以慢慢多讀一些中文的書。 不知道是因為年紀的關係還是有很多英文閱讀經驗的關係,小一下對一般字少的繪本已經不感興趣,所以直接閱讀超過4000字的橋樑書。剛開始孩子自己閱讀有困難的時候,就採用半讀半聽的方式。或者由媽媽讀個開頭,留些時間讓孩子自己讀,最後再由媽媽讀完整個故事。 ...

2023-07-19 · Ariel

Gitlet design document

This is the design document for Gitlet project. Classes and Data Structures Main This is the entry point to Gitlet program. It takes in arguments from the command line and based on the command (the first element of the args array) calls the corresponding command in GitletRepository which will actually execute the logic of the command. It also validates the arguments based on the command to ensure that enough arguments were passed in. Fields This class has no fields and hence no associated state: it simply validates arguments and defers the execution to the `Gitlet`Repository class. Blob GItlet, like Git, is a content-addressable filesystem. Even one byte change in content will lead to a totally different blob object. To accomplish this, Blob class implements Serializable to save each different file content as blob object for future retrieve. Fields All the following instance variable will be serialized. ...

2023-06-15 · Ariel

用Java寫個簡單的Git:CS61B Gitlet項目筆記

在寫Git 原理學習筆記的時候,就有考慮要不要跟著網上的教程:Write yourself a Git! 用Python寫個或者是照抄一個Git,但是當時不會I/O的處理,就先放棄了。沒想到CS61B的其中一個Gitlet項目就是用Java寫一個簡單版本的Git(包含checkout,merge,reset等),就試試看吧。 其實自己OOP的理解和I/O的處理都還不是很會,Java也是剛學,CS61B才學了一半,要自己手寫個Git,頗有難度,非常考驗耐心。不過這個項目有種魔力,一旦開始就很難放棄,所以我才能中途沒有放棄。(之前學CS50做tidman,覺得太難,我獲得70分後就放棄了) ...

2023-06-13 · Ariel

Java 和 Python 的區別

最近開始學Java,感覺和Python蠻不一樣,於是在網上找找資料,看看二者的不同之處。 先分享一篇好玩又很有啟發的文章: 两年,我学会了所有的编程语言! 下面進入正題。 Java是編譯式的語言, Python是直譯式的語言? 想要清楚這個問題,要稍微了解下二者的程序是如何運行的。 Python是怎麼運行的? 來源:is-python-a-compiled-language-or-an-interpreted-language 比如helloworld.py文件。如下是比較常見的運行方式: 使用interpreter(比如CPython),解釋器第一步將原代碼編譯(compile)為“byte code”。byte code和machine code區別在於前者是跨平台性的。 ...

2023-04-07 · Ariel

Git 原理學習筆記

之前學CS50W的時候學過一些Git指令覺得不好理解,這次開始CS61B課程之前又再次需要用Git。既然無可避免,那就花些時間試著了解看看git到底是什麼。 注:本文為初學者學習筆記,請謹慎參考。 名詞解釋: hash function,給予內容(value),通過hash function產生某種key,形成key和value的對應關係 ...

2023-02-18 · Ariel

9種方法寫Fibonacci(Python)

受A Python Guide to the Fibonacci Sequence啟發,我也來試試看用CS61A課程所學寫Fibonacci,感覺又好玩,又可以順便複習下課程。是的,好的課程一定要花些時間好好複習。 Fibonacci是什麼? Fibonacci,翻譯為斐波那契数。 請參考如下維基百科的定義。 source:Fibonacci number 維基百科中文版也有不同語言版本的程式參考: https://zh.wikipedia.org/wiki/斐波那契数#程式參考 ...

2023-01-18 · Ariel

小一上英文閱讀書單和心得

我們孩子就讀公立幼稚園公立國小,沒有提前學注音,小一上沒法獨立閱讀中文書籍,所以小一上的閱讀書籍以英文為主。 小一上我們每天至少閱讀了1個小時,至少看了100本橋樑書,和100本非橋樑書,總閱讀量估計超過10萬字。 寫這篇文章來記錄下,順便分享下書單和英文閱讀心得。 小一上英文閱讀書單: 1.Dog man TitleLexile Dog Man260-530LDog Man Unleashed260-530LFor Whom the Ball Rolls260-530LA Tale of Two Kitties260-530LDog Man and Cat Kid260-530LBrawl of the Wild260-530LFor Whom the Ball Rolls260-530LFetch-22260-530L Grime and Punishment260-530LMothering Heights260-530L Dog Man可以說我們姐姐看的第一套橋樑書,某次逛誠品買了一本回來試試看,沒想到兩個孩子搶著看。於是當天就在誠品線上買了一整套。 ...

2023-01-18 · Ariel

CS61A 學習筆記和心得4-Tail Call

注:本文部分引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,請小心參考。 上一篇筆記提到了Read-Eval-Print-Loop,這篇筆記記錄其中的附加題-tail call optimization。 尾調用(tail call) 在计算机学裡,尾调用(tail call)是指一个函数里的最后一个动作是返回一个函数的调用结果的情形,即最后一步新调用的返回值直接被当前函数的返回结果。 ...

2023-01-11 · Ariel

CS61A 學習筆記和心得3-通過學習用Python寫個Scheme Interpreter來學習編程語言

注:本文引用代碼來自CS61A(Structure and Interpretation of Computer Programs) Scheme作業,請小心劇透。個人學習筆記,水平有限,請小心參考。 心得: 本來我想學Scheme版本的CS61A,弄了很久環境都沒有設置成功,然後轉學Python版本的CS61A。 沒想到課程第三章是先用一個python寫的解釋器學Scheme,不用下載任何東西。然後作業是自己一步一步寫一個Scheme語言的解釋器,每完成一步還可以自己運行看看。完成作業後,我們自然了解到這個解釋器的程式也就這樣而已嘛,不難懂啊,沒什麼神秘的。 ...

2023-01-05 · Ariel

2022 總結--通脹時最好的投資是投資自己

巴菲特在年初的時候說:通脹時最好的投資是投資自己。而投資自己主要靠學習。 查理芒格的《窮查理普通常識》也教我們跨領域學習形成多元思維模型。 2022年是通脹的一年,聽從兩位大師的建議,我把主要精力放在投資自己上面,主要做法是跨領域學習。結果是,我的心情不僅沒受各種資產下跌的影響,反而覺得自己更幸福了。 ...

2023-01-02 · Ariel

設定目標總是沒法完成,用這些來取代目標好了

我是一個會設定目標卻又沒有自制力不能堅持的人,無論是年目標、月目標還是日目標。 我常常會設定年度計劃,比如每年讀多少本書或者每年寫幾篇文章之類的,最後都是最多堅持兩個月。 在學習CS50的時候,我也設定每週學習一節課的目標,最後顯然失敗。我一度設定每日發表文章的目標,結果也只堅持一個月。 我還有個壞習慣,那就是有目標後會告訴身邊所有的人。最後沒有完成,簡直雙倍打臉。讓我一直覺得自己是個loser,深陷負面的情緒。 ...

2023-01-02 · Ariel

為什麼自學程式

2022年我利用帶小孩和運動之外的時間,學習了三門CS的課程:哈佛大學CS入門課CS50、Coursera上被數百所高校採用的計算機體系入門課Nand2Tetris(前5章)和伯克利大一學生程式入門課CS61A(跳過SQL部分因為與CS50重疊),下面分享下我為什麼自學程式。 以下內容是我在一整年學習的過程中邊學邊總結寫成的,思考的過程就是找到動力的過程,幫助自己持續學習下去。 ...

2023-01-02 · Ariel
  | Copyright © -2026 Everydaydiva's Blog