顯示具有 tw 標籤的文章。 顯示所有文章
顯示具有 tw 標籤的文章。 顯示所有文章

2022年8月27日 星期六

Go 開發筆記 - 台灣身分證檢查器/大量產生器

晚上跟數學系的朋友聊幾句,他用個公式算出合法的帳號數字(滿合理的遠大於台灣人口數),於似乎,來用鳥鳥暴力解試試,並且練一下 golang 的 goroutine 用法。當然最後的資料個數是一樣的,共有 5.2億組。總數公式 = 26 (字母) * 2 (男女) * 10^7 (最後一碼是校正碼,只有七種變化)

只是我用暴力解,偷懶用多層 loop 發一下波動拳 XD 理論上還可以優化最後一碼用算的,而不是用暴力算,在一台老電腦上(3.1 GHz 雙核心Intel Core i7),大概花 1小時產出(包括每百萬筆寫到檔案)

最後的成果:

% go run main.go --verify A123456789
A123456789 : PASS, time cost: 23.449µs

% go run main.go --verify A123456780
A123456780 : FAIL, time cost: 25.528µs

% time go run main.go --cpu 4
...
taskID: 0, taskCount:    1000000, totalCount:  510000000, timeCost: 57m56.195527594s, mem: 336 MB
taskID: 2, taskCount:    1000000, totalCount:  511000000, timeCost: 58m12.348436403s, mem: 286 MB
taskID: 1, taskCount:    1000000, totalCount:  512000000, timeCost: 58m17.794134191s, mem: 360 MB
taskID: 0, taskCount:    1000000, totalCount:  513000000, timeCost: 58m18.106069808s, mem: 380 MB
taskID: 2, taskCount:    1000000, totalCount:  514000000, timeCost: 58m33.170090521s, mem: 247 MB
taskID: 1, taskCount:    1000000, totalCount:  515000000, timeCost: 58m39.34318826s, mem: 308 MB
taskID: 0, taskCount:    1000000, totalCount:  516000000, timeCost: 58m39.902875471s, mem: 370 MB
taskID: 2, taskCount:    1000000, totalCount:  517000000, timeCost: 58m50.616989581s, mem: 133 MB
taskID: 1, taskCount:    1000000, totalCount:  518000000, timeCost: 58m55.655774417s, mem: 67 MB
taskID: 2, taskCount:    1000000, totalCount:  519000000, timeCost: 59m3.85291194s, mem: 111 MB
taskID: 2, taskCount:    1000000, totalCount:  520000000, timeCost: 59m14.91097006s, mem: 111 MB
Total verified IDs count: 520000000 , time cost: 59m18.802491746s
go run main.go --cpu 4  9320.09s user 3332.58s system 355% cpu 59:19.56 total

% ls -lah /tmp/ids*
-rw-------  1 user  wheel   1.4G  8 27 08:41 /tmp/ids-0.txt
-rw-------  1 user  wheel   1.4G  8 27 08:41 /tmp/ids-1.txt
-rw-------  1 user  wheel   1.4G  8 27 08:42 /tmp/ids-2.txt
-rw-------  1 user  wheel   1.0G  8 27 08:28 /tmp/ids-3.txt

% wc -l /tmp/ids-* 
 140000000 /tmp/ids-0.txt
 140000000 /tmp/ids-1.txt
 140000000 /tmp/ids-2.txt
 100000000 /tmp/ids-3.txt
 520000000 total

2015年10月12日 星期一

APC Back-UPS ES 500 / BE500TW 電池規格

APC Back-UPS ES 500

在 2009 年秋天買了一台 UPS 把玩,如今 6 年了,前陣子買了台立燈給他插上去,正逢颱風停電倒變成另類的用途 XD 由於習慣出門還是把它當延長線關掉,最近開啟時會出現長叫聲,雖然一開始經過幾次反覆開關可以避開,如今卻也無解了 XD 只要翻翻使用手冊啦

Troubleshooting and Battery Replacement:http://www.apcmedia.com/salestools/ASTE-6Z7V8R/ASTE-6Z7V8R_R0_EN.pdf?sdirect=true

原先想說電池很重要,上個官網買好了,但...沒有台灣 XD 翻出電池想找 spec 倒是一直沒找到,最後才發現被陰了,原因是被貼子蓋掉啦!

這幾年跟越南真有緣 :P 總之,上個露天逛一下,應該加運費 400 可搞定。

規格紀錄一下:

  • 12V 7.2AH
  • 長 151 mm、寬 651 mm、高 94 mm,總高 97mm

2014年3月15日 星期六

存在感、表現慾望與建設性

cocoaheads-taipei

因高手的介紹,第一次在台北參加小型聚會 CocoaHeads.tw 2014 3月聚會,場地是由知名 PicCollage app 的公司 Cardinal Blue 所提供的,也是他們家上班場所,十分舒適啊!

cocoaheads-taipei 2014-03

經過這次小型聚會,讓我想起不少點滴,像是以前在研究單位時,每兩周的技術分享一樣,真的,一個人所能接收的訊息、機會都跟工作有關,有道是男怕入錯行,不是沒有原因的 XD 這次聽到 KKBOX iOS developer 分享 CarPlay 挺有趣的。

心得:
  1. Cardinal Blue 辦公室真漂亮
  2. 不少人正積極尋找舞台,力求發揮(iOS app 派的商業特質?)
  3. 工作著實地影響一個人精進,若在工作上無法吸收到新技術,下班再去做就真的太累了 XD 此時就比較適合挑其他人生目標、舞台?
  4. 早期 iOS app 適合單打獨鬥,小功能就容易吸引人,現況適合打群架,要豐富的應用(如軟硬結合)才比較能有話題。此外,一旦開發週期拉長,產品無法及時曝光商業價值就降低
  5. 雖然 idea 的新穎性是個創業的因素,我自己第一份工作也常會因為看的多&遠,常常對別人開槍,後來某天後來有了新體悟:同樣的路,走 100 遍各有各的滋味 :) 此外,市場規模、地域性仍是個關鍵點,如同台灣現況很夯的 web service (團購、群眾募資等)不少也是從國外引進來... :P 所以,開槍時若多一點建設性方向的分享,應該會提升交流品質
最後,則是著實地提醒自己,該排好時程精實執行!