網頁

2017年4月17日 星期一

git grep for a pattern

假如想要找某一行 code 這樣的 pattern 在某個 commit 的 log
可以這樣下:

git grep '[pattern]' [sha]

如果想要找全 history 可以這樣下:

git grep '[pattern]' [sha] $(git rev-list --all)


如果還想要檢查前面 20 行 可以這樣下:

git grep -B20 '[pattern]' [sha] $(git rev-list --all)

2017年4月15日 星期六

[C++] Any input type template function

主題 : Any input type template function

引言 : C++ 11 引入了此功能,讓 function 可以吃同類型任何型態的參數進來,並且還保持原來 type 的樣子。

描述 :
這名字我亂取的,我只是想要說明這樣的 pattern 的寫法可以讓你寫出一個 template function 可以吃所有同類型的 TYPE, TYPE&, TYPE&& ...

這真的很強大,不必再 for reference input 寫一個 function,for right value input 再寫一個 function。

已經有文章寫得很好了,請參照
http://thbecker.net/articles/rvalue_references/section_01.html
~
http://thbecker.net/articles/rvalue_references/section_08.html

一句話解釋,"當你想把 type 忠實的傳入到 func 內使用請使用以下的 pattern"
細節請讀 section_01~section_08

以下是 section_01~section_08 給的 factory design pattern 的範例,
這個 factory template function 的 arg 可能吃 1. value 2. reference 3. right value ...
因為 C++ 很在意 type,type 不對就 compile error
那我們要怎麼寫一個任何 type 都能傳入的 function 呢 ? 如下 function,


template<typename T, typename Arg> 
shared_ptr<T> factory(Arg&& arg)
{ 
  return shared_ptr<T>(new T(std::forward<Arg>(arg)));
} 

當 Arg 是 X 則 new T(X)
當 Arg 是 X& 則 new T(X&)
當 Arg 是 X&& 則 new T(X&&)

很神奇吧,我的說明肯定不會比 section_01~section_08 還好。
如果你想知道為什麼,耐著性子看完你就會知道為什麼了。

2017年4月14日 星期五

[App] iTunes Connect Screenshot Sizes for iPhone and iPad

image:
iPhone 6 Plus(5.5 Inch): 1242 x 2208 px

iPad Pro (12.9 Inch): 2732 x 2048 px

video: (in 15 or 30 seconds)
iPhone 6 Plus(5.5 Inch): 1080 x 1920 (Portrait)

https://developer.apple.com/support/app-previews/

2017年4月8日 星期六

[App] 如何一鍵刪除 iPhone/iPad 裡面所有的照片 ?

【軟體名稱】Photo Trash Can
【程式開發】Chun-Pai Yang
【軟體類別】工具
【軟體大小】13.5MB
【軟體售價】0.99 鎂
【下載連結】點我


【Photo Trash Can 介紹】如何一鍵刪除 iPhone/iPad 裡面所有的照片 ?

Photo Trash Can 是一款刪除所有照片/影像的 App。許多用戶在使用完一些備份軟體如: Synology DS Photo 或是 dropbox .. 將 iPhone/iPad 裡面的照片/影片全部備份完後,這些軟體並不會自動地將 iPhone/iPad 裡面的照片/影片刪除。此時就是使用此軟體的時機。

 若沒有此軟體在相片備份完後必須使用 Mac Book 的 Photo App 匯入並且一次刪除所有照片。
相當的麻煩 ...
Inline image 7
Inline image 5

▼ Photo Trash Can 一開始的畫面,意思就是你真的要想清楚才按下此鍵:
Inline image 1▼ 當點下這個紅色的按鈕後,會要求你輸入你 iPhone/Ipad 裡的 相片:影片 數目,以避免誤操作:
Inline image 3

▼ 當做完一些最終的確認後,你所有的照片和影片就全數被刪除了:
Inline image 4

 刪除後其實全部的照片都可以從 Apple 的內建 Photos App 的 "最近刪除" (Recently Deleted) 相簿中。
若想要回復可要一張張的救回來了。
所以在使用此軟體前可要先確保你所有的照片都已經備份了喲。

但對於像是作者平時很懶,會有幾千張照片才會用 Synology DS Photo 備份一次並在備份完想要刪除所有照片的人真的是相當的方便。


如果您喜歡 Photo Trash Can的話,還請您不吝於給予我們五顆星的評價 (馬上前往)
有任何疑問/功能建議,都歡迎聯絡我們喔!
Photo Trash Can Facebook粉絲團:https://www.facebook.com/Photo-Trash-Can-716543165173369
Photo Trash Can 聯絡Email:phototrashcan@gmail.com
Inline image 2