Chapter 4 - 註解
不要替糟糕的程式碼寫註解 - 重寫它
註解為必要之惡,用來彌補我們用程式碼表達意圖失敗的狀況。註解在絕大多數的情況無法跟著程式演進,導致過時且偏離當初的程式碼解釋。最後的真相只會存於程式碼。
有益的註解
法律型的註解
// Copyright 2011-2019 The Bootstrap Authors
// Copyright 2011-2019 Twitter, Inc.
資訊型註解
資訊型註解提供一些基本資訊,但還是很容易被好的程式碼命名給取代
...
2019年12月4日 星期三
2019年12月3日 星期二
讀書心得 - Clean Code - Chapter 3 (2)
Chapter 3 - 函式 - 2
使用具描述能力的名稱
不要害怕名字過長,若取了有性質的函式名稱就較能符合「當每個你看到的函式,執行結果都與你想的差不多代表為 Clean Code」。
函式的參數
函式的參數越少越好,因為參數的存在也會影響著你對函式的預期,所以最理想的情況為 0 參數。
一個參數
與這個參數有關的問題 - boolean fileExits("Myfile")
對這個參數做某種操作,然後回傳 - InputStream fileOpen("Myfile")
事件,利用參數去修改系統狀態...
2019年12月2日 星期一
讀書心得 - Clean Code - Chapter 3 (1)
Chapter 3 - 函式 - 1
首要準則 - 簡短!!
即使現今編輯器能讓你在一行塞入 150 個英文字母,現今螢幕能讓你顯示 100 行,你也不該塞好塞滿。越短越好,3 ~ 4 行,每個函式都透漏著本身的意圖且帶領著你至下個函式。
區塊 ( Blocks ) 和縮排 ( Indenting )
If、else、while 都應該只有 1 行,而那行通常會是個命名不錯的函式。
只做一件事
只做一件事很難下定義,以下提出兩種
透過觀察函式中進而提煉出一個新的函式來
函式裡有明顯的段落...
2019年11月26日 星期二
MySQL 筆數查詢、分頁查詢
N 筆資料查詢
SELECT * FROM 成績單 LIMIT 3 // 取成績單前三筆資料
SELECT * FROM 成績單 ORDER BY 分數 DESC LIMIT 3 // 取分數前三名的資料
SELECT * FROM 成績單 ORDER BY 分數 DESC LIMIT 3, 7 // 取第四名到第十名的資料
分頁查詢
隨著查詢筆數越來越多,網站可能就會需要用分頁來表示查詢結果。
這裡會出現一個問題 Offset ( LIMIT 的第1個參數 ) 越大,查詢速度越慢。
...
2019年11月15日 星期五
英文歌詞翻譯 Gryffin, Elley Duhé - Tie Me Down
Don't lie, I know you've been thinking it
別說謊了,我知道你一直很渴望
And two times, you let it slip from your lips
兩次了,你那不想讓人聽見的低語
You've got too much pride to make any promises
你有太多不必要的驕傲以致做不出任何承諾
Thinking that we got time, and you want to keep it in
覺得我們還有時間,想著先保留
I want you out in the pouring rain
想要你在傾盆大雨中
I...
2019年11月14日 星期四
Python UnitTest
Unit Test
單元測試有一個通用模式 AAA原則,理解了就可以開始實作
Arrange : 初始化物件、要用到的參數
Act : 呼叫要測試的方法
Assert : 驗證測試結果
Python Unit Test
unittest — Unit testing framework,下面是官方給的範例
import unittest
class TestStringMunittestethods(unittest.TestCase):
...
2019年11月13日 星期三
Python List.pop(0)
Python list.pop(0)
python 的 list 為 dynamic array,python.pop() default 值為 -1
python.pop() # 時間複雜度 : O()
python.pop(0) # 時間複雜度 : O(n)
Python deque.popleft()
deque = double - ended - queue,deque.popleft() 的時間複雜度為...
2019年11月11日 星期一
讀書心得 - Clean Code - Chapter 2
Chapter 2 - 有意義的命名
使之名符其實
選一個好的名稱很花時間,但省下的時間更多。
// 沒命名
public List<int[]> getThem(){
List<int[]> list1 = new ArrayList<int[]>();
for (int[] x : theList)
if (x[0] == 4)
list1.add(x);
return list1;
...
2019年11月6日 星期三
讀書心得 - Clean Code - Chapter 1
Chapter 1 - 無暇程式碼
讓開發速度變快唯一方法
寫爛程式碼去趕截止日期並不會加快開發,只會越來越慢。唯一方法就是隨時隨地使程式碼保持潔淨。想說寫爛程式碼先應急後來再回頭改的,勒布朗克法則 ( LeBlanc's law ) : 待會兒等於永不。( 深感認同... )
大師們的 Clean Code
優雅又有效率,邏輯直接了當,程式相依性低 ...
2019年11月5日 星期二
Notepad++ 進階用法
Notepad++ 進階用法
列模式編輯
舉例 : 在 windows 的 cmd 下 dir > 123.txt,並用 Notepad++打開。
假如想要將時間移動欄位,按著 Alt 拉框框。
剪下,並想要的位置貼上
同步異位編輯
參考資料 : https://www.kjnotes.com/devtools/...
Windows Command Line
CMD : Command Line
列出檔案
dir // 列出當前資料夾下的檔案
dir /s // 列出當前資料夾下 + 子資料夾的檔案
dir /? // 列出所有 dir 的指令參數
輸出成檔案
dir /? > 123.txt // 輸出成 123.txt
檔案名稱有空格
net share "共用 資料夾名稱" // 用雙引號,不能用單引號
參考資料...
2019年10月31日 星期四
CSS Selector Priority

CSS
在套用的時候,是有優先順序的。
沒研究前我以為是程式碼先後或最靠近的element
<table id='table'>
<tr>
<td><table class='subtable'>...</table></td>
<td><table class='subtable'>...</table></td>
...
讀書心得 - 大腦衝浪 - 第二十八講
第二十八講
接受自己的優勢性格
欣賞美麗比較像我的嚮往,暗戀的對象也有欣賞美麗能力,被欣賞是很幸福的。欣賞美麗者的世界似乎比原本世界擁有的色彩還要豐富。欣賞美麗者擁有像小孩一樣的清澈眼神,Precious ,這或許也是讓我喜歡上的理由,想要被欣賞想要人生色彩豐富。
寬恕比較像我會設身處地去思考,只要對方有羞恥心,通常會比責罵來得好。比較像我擁有的技巧,但我的耐心不足,接觸久的反而不怎麼原諒。
判斷力,其實我一直知道做什麼是好的。只要跟著我的判斷走通常結局都是好的。缺的是執行力與意志力。所以我應該多做些尤里西斯的約定。耍廢就找朋友汲取動力,顆顆。
Sounds like pl...
2019年10月30日 星期三
讀書心得 - 大腦衝浪 - 第二十七講
第二十七講
發覺自己的優勢
做了書中的心理測驗,自以為的性格還在前段,但第一項跟第二項優勢特質還真的沒想到,因為壓根不覺得是優勢。
第一個優勢 - 欣賞美麗與卓越
看不出來有啥優勢,連利用都不行。只能讓自己開心,取樂自己我真的一把罩。
第二個優勢 - 寬恕與慈悲
這更慘,我覺得我最常寬恕的是自己,導致現在這種廢材樣。
常認為自己需要壓力逼迫自己努力上進,看這兩優勢我看是沒緣了。大概就是現實肥宅,精神高富帥。一輩子不會自殺,不會難過,努力過及格邊緣的平凡人生。真的不適合做奔三的我的夢。
我認為這兩優勢是在利用一點資源達到大大的滿足,但還是消耗資源。獲得資源還是我最煩...
2019年10月29日 星期二
英文歌詞翻譯 Sasha Sloan - Dancing With Your Ghost
Yelling at the sky
向著天空大吼
Screaming at the world
向著世界咆嘯
Baby, why'd you go away?
寶貝為何你要離開
I'm still your girl
我仍然是你的女孩
Holding on too tight
仍然努力堅持著
Head up in the clouds
仰望著天空
Heaven only knows
卻只有天堂知道
Where you are now
你的所在
How do I love
我要如何去愛
How do I love again?
如何再去愛
How...
2019年10月23日 星期三
Python 檢查 dict 的索引值是否存在
Check if a given key exists in a dict
要檢查 dictionary 是否存在索引值
直接查會直接 KeyError
>>> d = {}
>>> d['a']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'a'
這時就要靠 collections.defaultdict(default_factory)
>>> from collections import...
讀書心得 - 大腦衝浪 - 第二十三講
第二十三講
障礙預報
我想睡眠是最大的障礙預報,曾設過鬧鐘規定時間去睡覺但一點效都沒,我的潛意識裡認為晚上10點還早,但其實過了 10 才在做一天收尾已經算晚了,所以設定晚上 9:30。
但懶惰的狀況總是發生,我想要折衷,出發是必須即使只有 1 %的 CP 值,因為 1 > 0,1 還可以...
2019年10月22日 星期二
英文歌詞翻譯 James Smith - Tell Me That You Love Me
No more lazy mornings with you lyin' next to me
再也沒有那些你躺在我身旁的慵懶早晨
No more late night talkin' 'fore we lay our heads to sleep
再也沒有那些晚上入睡前的談話
No more lookin' in the mirror with you steppin' on my feet
再也沒有那些你踩著我的腳照著鏡子的場景
Without your arms around my shoulders
你環繞在我肩膀的手已然消失
I've lost the strength...
讀書心得 - 大腦衝浪 - 第二十一講
第二十一講
正向幻想
我想應該是像叔叔一樣的生活吧,靠著投資為主本業為輔的生活,我想當個打打程式且不被薪水跟進度摧殘的程式設計師,百分之百的享受寫程式帶來的成就感而不因是主要收入來源而討厭。
想著清晨 6:30 起床,吃著早餐看本書到 7:30,運動到 9:00 並回家洗澡,10:00上班 ~ 17:00 下班吃飯,參加著某個社團活動到 21:00 回家,23:00 就寢。
六日在家的話,同樣行程到 10:00 便睡到中午吃中餐,下午出門找朋友,不在家的話就用心...
2019年10月18日 星期五
英文歌詞翻譯 The Vamps - Missing You
I've had space and time to realize the grass ain't greener
我花了一些時間去了解別人的不一定更好
And I kinda miss my side
我有點開始想念那些曾經
Know I shoulda listened when you told me the first time
早知道當初我一開始就聽你的
"You won't find another like me"
「你再也遇不到跟我一樣的人了」
'Cause I'm sat here in my front room with a girl who ain't...
讀書心得 - 大腦衝浪 - 第十六講
第十六講
對的時間,做對的事
說實在這很難,我通常晚上狀態最好,所以沉住氣不要回家通常都會很充實。但到了家發現耍廢的時間不夠,影響到睡眠 => 隔天 => 早上 => 晚上又好了...
我想要先拓展對的時間,所以還是制定個早睡早起...
2019年10月17日 星期四
JQuery 自動將 Listener 作用於動態新增的 Element
Adding event listeners to dynamically added elements
拿 click 舉例
$(".myclass").click(function(){
// do something
});
若在整個網頁讀取完後,才新增 class = 'myclass' 的 element 不會有這個 Event Listener
這時要用 on
$('#mydiv').on('click', '.myclass', function(){
// do something
});
但 on 在 Jquery 1.7 才出現
這裡提供...
讀書心得 - 大腦衝浪 - 第十三講
第十三講
尤利西斯合約
尤利西斯在打贏特洛伊戰爭後,在返鄉的路上發現自己會經過 Siren 海妖的地盤,傳說海妖幽美的歌聲會迷惑水手,並讓其自行觸礁沈船。尤利西斯很想聽看看那歌聲,所以命令水手把他綁在甲板的桅杆上,並讓自己的手下用蠟堵住耳朵,拼命划不要理他的叫喊。
我想簽下未來的強制合約似乎有點用,目前最想改的是起床划手機的...
2019年10月15日 星期二
Python 遞迴初學
最近用 python 刷題
刷到要用 DFS 的題目,想用遞迴去寫才發現 python 沒有指標
看著討論的 python 大神寫的程式碼,發現都是 python 裡的參數都是指標
下面拿一題示範 0947 - Most Stones Removed with Same Row or Column
class Solution:
def removeStones(self, stones: List[List[int]]) -> int:
# 想像用 垂直線 跟 水平線 去想辦法連接所有石頭
...
讀書心得 - 大腦衝浪 - 第十一講
第十一講
騰出生活的空間
我想我有一狗票東西得丟了,舊的不去新的不來。
留東西前先問自己三遍,愛它嗎 ? 能幹嘛 ? 確定嗎 ?
目標 :
一輩不會再打開的書
沒開過的海報
沒穿過的鞋子
掛到發霉的衣服
擺到發霉的褲子
抽屜裡的廢物
當兵的雜物
沒用的箱子
沒用...
2019年10月8日 星期二
Python 'a' + 1 = 'b'
在 Python 3 實現 'a' + 1 = 'b'
a = 'a'
print(chr(ord(a)+1)) # b
參考資料 : https://stackoverflow.com/questions/12797067/how-can-i-do-a-1-b-in-pyt...
讀書心得 - 大腦衝浪 - 第十講
第十講
仔細聆聽身邊的故事,思考背後動機
書上寫近一個禮拜的故事,但我是臭宅男兼大嘴巴,所以都是我在講話。但我都是抱怨而已。所以我想到 Daryl Morey。
火箭總管 Morey 在 2019/10/5 在 Twitter 上轉發了 Fight For Freedom. Stand with Hong Kong.
老實說那就是一張圖,而且很快就刪推,加上NBA火箭隊的中國球迷最多,很難想像 Morey 是在深思熟慮後發推,我猜想不經過思考就發的推機率很高。
也許美國人對自由發聲是家常便飯,但顯然他們從沒真正認識過中國人。這顯然跟2016年初那位台灣女孩的事情有異曲同工之妙。對於本...
2019年10月7日 星期一
英文歌詞翻譯 Meghan Trainor - Title
If you want my love
想要得到我的愛
He gotta do what he does
必須要做該做的事
If you want these sweet like sugar Gucci lips
想要得到我甜蜜的Gucci紅脣
He gotta give it up
必須得先放棄
I know you think I'm cool
我知道你覺得我很酷
But I ain't one of the boys
但我是不屬於"男孩"的
No, don't be scared that I'm gon' tie you down
不用擔心我把你綁住
I need a little...
讀書心得 - 大腦衝浪 - 第八講
第八講
用自己最光榮的事情鼓勵別人
用自己最挫敗的事情鼓勵別人
也許我總用最光榮的事情來檢視,而忽略用最挫敗的。回首想想,我的過往好像只有100分跟0分,但我不是天才,沒有所有事情的100分規劃,所以才一直拿0分。從那些不該拿的0分,我理解了,即使是20分的規劃也勝過0分。出了社會發現,評分標準更複雜了,一百分似乎更不存在。但我可以先做20分,因為20分比0分好太多...
2019年10月4日 星期五
讀書心得 - 大腦衝浪 - 第七講
第七講
人生的故事
我是這麼認為的,我的人生無聊又充滿後悔,要我選最光榮的時刻還真的很難。
我的人生高峰大概就是 2017 元旦吧。凌晨三點醒來的我沒絲毫倦意,把眼睛睜得大大看著同袍弟兄,準備迎接 2017 第一個總統府升旗典禮。雖然如臨大敵但絲毫不緊張,因為我把一切交給肌肉,而大腦則慢慢地享受迎來榮耀的時間到數。結束後我只記得最後的"向右轉",因為我知道那是屬於完美結束的標誌...
2019年10月3日 星期四
英文歌詞翻譯 Amber Mark - Mixer
Gonna get in your mind, one fine day
總會有一天,讓我進入你腦海
Gonna figure you out, one fine day
總會有一天,讓我看透你
Dear Lord, maybe I should stay away, stay away
神啊,也許我該離遠點
Little lost, little blind, blind with temptation
一點迷失,一點盲目,在誘惑裡失去方向
Tell me something, do I make you feel the way that I do?
告訴我,要如何讓你感受到我所感受到的
I...
Popular Posts
-
lvalue 、rvalue 基本概念 左值 (lvalue) : 一個佔據某個特定記憶體的值。 右值 (rvalue) : 一個 expression 結束後就消失的值。 基本上這兩個定義包含了全部的值,非左即右,非右即左。 int var = 4; // v...
-
You try to hold me down so I became a soldier 你想要控制所以我成為了戰士 Built up all theses walls and now I'm climbing over 監牢般的城牆如今我已越過 Thos...
-
Ooh, don't we look good together? 我們看起來是不是很棒? There's a reason why they watch all night long 這就是為何他們整晚都看著我們的原因 Yeah, kn...
-
Job Company : Houzz Job : Back-End Software Engineer Source : Recruiter on LinkedIn Result : 止步二面 Summary 1. 英文程度不佳 :...
-
Don't lie, I know you've been thinking it 別說謊了,我知道你一直很渴望 And two times, you let it slip from your lips 兩次了,你那不想讓人聽見的低語 You...
-
報告在製作時,一定會遇到要字串轉數字 在 BCB 裡有方便的函式 常見的有 String str = "123" int x = StrToInt(str); float y = StrToFloat(str); 但有時候...
-
BCB 選擇路徑(資料夾) 工作關係要將各式各樣的資料彙整並輸出 各式各樣的資料都放在同一目錄下 所以在設計程式就必須設計可以給使用者選擇目錄 但BCB10似乎沒有這種元件 (其實有 DirectoryListBox 但我駕馭不了) 於是Google發現大家用的...
-
BCB TDateTime 時間操作及應用 在 BCB 裡有關時間的操作幾乎都是與 TDateTime 這個 Class 相關 若找不到相關資料可以用 BCB 的 HELP ( 游標移到要查詢的函式或Class 並按 F1 ) 介紹幾個個人有在用的函式 TDate...
-
Python Google API - Python 學習筆記 Google API - Python 學習筆記 - Upload post
-
warning: left shift count >= width of type 一般來說,就是 shift 的 bit 大於資料型態的 bit 數。但有時使用 unsigned long 仍然會出錯,因為 unsigned long 會依照系統的不同,有...