發表文章

目前顯示的是 2019的文章

我平常在用的保溫瓶 - Klean Kanteen 寬口保溫鋼瓶

我平常在用的保溫瓶 - Klean Kanteen 寬口保溫鋼瓶 《開箱文》Klean Kanteen 不鏽鋼水壺 @ 米小兔の吐窩 :: 痞客邦 :: https://miffyhouse.pixnet.net/blog/post/68779589-%E3%80%8A%E9%96%8B%E7%AE%B1%E6%96%87%E3%80%8Bklean-kanteen-%E4%B8%8D%E9%8F%BD%E9%8B%BC%E6%B0%B4%E5%A3%BA 美國兩大寬口/廣口不鏽鋼保溫瓶比較 klean kanteen . s'well 16oz/473ml @ 魯西@部落格 :: 痞客邦 :: https://lucybabe15.pixnet.net/blog/post/403192637

機器人產品

NAO https://zh.wikipedia.org/wiki/NAO_(%E6%9C%BA%E5%99%A8%E4%BA%BA) Pepper https://zh.wikipedia.org/zh-tw/Pepper Telenoid robot https://robots.ieee.org/robots/telenoid/ Anki Vector anki/vector-python-sdk: Anki Vector Python SDK https://github.com/anki/vector-python-sdk https://github.com/open-ai-robot/awesome-anki-vector Anki宣佈自2019/5/1起停止營運 Sphero 的編程坦克車 RVR https://chinese.engadget.com/2019/10/23/sphero-rvr-available/

Android Platfrom libbase => libc++

old platform/system/core/base/Android.mk https://android.googlesource.com/platform/system/core/+/da21ac0/base/Android.mk # Device # ------------------------------------------------------------------------------ include $(CLEAR_VARS) LOCAL_MODULE := libbase LOCAL_CLANG := true LOCAL_SRC_FILES := $(libbase_src_files) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_CPPFLAGS := $(libbase_cppflags) LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_STATIC_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := libbase LOCAL_CLANG := true LOCAL_WHOLE_STATIC_LIBRARIES := libbase LOCAL_SHARED_LIBRARIES := liblog LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include LOCAL_SHARED_LIBRARIES := libcutils LOCAL_MULTILIB := both include $(BUILD_SHARED_LIBRARY) new platform/system/core/base/Android.bp https://android.googlesource.com/platform/system/core/+/refs/heads/master/base/Android.bp cc_library_s

從 Youtube 學英文

Learn English in 3 Hours - ALL You Need to Speak English - YouTube https://www.youtube.com/watch?v=kCMYfcjqlvI Learn English in 30 Minutes - ALL the English Basics You Need - YouTube https://www.youtube.com/watch?v=juKd26qkNAw 2 Hours of Daily English Conversations - English Practice for ALL Learners - YouTube https://www.youtube.com/watch?v=7B2nkwGAoUc Learn English in 90 minutes - The Best of 2017 - YouTube https://www.youtube.com/watch?v=G5dViczwTXo Learn English in 90 minutes - The Best of 2018 - YouTube https://www.youtube.com/watch?v=p9SL2TuxC38 English with Lucy - YouTube https://www.youtube.com/channel/UCz4tgANd4yy8Oe0iXCdSWfA

OpenCV 玩 RTSP

使用 VideoCapture 的方式 use opencv to streaming RTSP @ 071's blog :: 隨意窩 Xuite日誌 https://blog.xuite.net/antony0604/blog/518478321-use+opencv+to+streaming+RTSP capturing rtsp camera using OpenCV python - Stack Overflow https://stackoverflow.com/questions/40875846/capturing-rtsp-camera-using-opencv-python

什麼是WSGI(Web Server Gateway Interface)

Web 框架,Gunicorn/flup/uWSGI 程序, CGI/FastCGI/WSGI 標準 的關係 - 知乎 https://zhuanlan.zhihu.com/p/25181849 解釋了CGI,FastCGI,WSGI 的由來與發展歷史 Let’s Build A Web Server. Part 2. - Ruslan's Blog https://ruslanspivak.com/lsbaws-part2/ 化整為零的次世代網頁開發標準: WSGI | 程式設計 遇上 小提琴 http://blog.ez2learn.com/2010/01/27/introduction-to-wsgi/ python中WSGI是什麼,Python應用WSGI詳解 │ 程式前沿 https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/362704/ 如果問你 WSGI 是什麼?0歲Web後端開發必看 - 每日頭條 https://kknews.cc/zh-tw/code/kbam28v.html

ESP8266 Projects專案

ESP8266 WIFI Remote Relay Switch ESP8266 WIFI Remote Relay Switch: 9 Steps (with Pictures) https://www.instructables.com/id/ESP8266-WIFI-Remote-Relay-Switch/ ESP8266 WIFI Remote Relay Switch - Hackster.io https://www.hackster.io/adachsoft_com/esp8266-wifi-remote-relay-switch-9f4ef5 ESP8266 WiFi Remote Relay Switch - Arduino Project Hub https://create.arduino.cc/projecthub/adachsoft_com/esp8266-wifi-remote-relay-switch-027139 [發案] Arduino+ESP8266家教(已結案) - 看板 CodeJob - 批踢踢實業坊 https://www.ptt.cc/bbs/CodeJob/M.1574436927.A.5C6.html 原來也有人徵家教,會了這個就可以去教人了~ ESP8266 WebServer 物聯網-wemos D1 Mini (esp8266)實驗四 -- 實驗二中的丟失尋找器改進為手機控制水泵 - IT閱讀 https://www.itread01.com/content/1545621139.html Arduino/ESP8266WebServer.h at master · esp8266/Arduino · GitHub https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WebServer/src/ESP8266WebServer.h

Android 開發

編譯 AOSP 編譯aosp模塊 - 知乎 https://zhuanlan.zhihu.com/p/33817525 bionic [bionic源碼解讀]Android線程棧大小 - 知乎 https://zhuanlan.zhihu.com/p/33562383 Gradle 安卓Gradle repository庫搜索順序 - 知乎 https://zhuanlan.zhihu.com/p/32108827 NDK NDK版本變遷 - 知乎 https://zhuanlan.zhihu.com/p/33666019 使用的libcxx android https://android.googlesource.com/platform/ndk/+/5de42e6621b3d0131472c3f8838b7f0ccf3e8963/sources/cxx-stl/llvm-libc++/libcxx/include/__config https://android.googlesource.com/platform/ndk/+/5de42e6621b3d0131472c3f8838b7f0ccf3e8963/sources/cxx-stl/llvm-libc++/Android.mk 5de42e6 這 commit 是6年前了 chromium https://chromium.googlesource.com/android_tools/+/7aa54b450fb756fecafb327faa03ae336fea3671/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/__config https://chromium.googlesource.com/android_tools/+/7aa54b450fb756fecafb327faa03ae336fea3671/ndk/sources/cxx-stl/llvm-libc++/Android.mk 7aa54b4 這 commit 是4.5年前了 其他 Android性能檢測工具 - 知乎 https://zhuanlan.zhihu.com/p/31828854 Systrace TraceVi

三個常用的Python Web框架:Django、Flask、Tornado

三個最常用的Python Web框架:Django、Flask、Tornado https://kknews.cc/zh-tw/code/r3q3n5v.html 介紹的不錯,使用者可以對這三個框架有個入門的知識。 Python Web 框架:Django、Flask 與 Tornado 的性能對比 - 簡書 https://www.jianshu.com/p/9960a9667a5c Top 13 Python Web Frameworks to Learn in 2020 https://steelkiwi.com/blog/top-10-python-web-frameworks-to-learn/

OpenCV Video I/O 架構總覽

以下為 OpenCV Video IO 的架構總覽,以及可以使用的 backends OpenCV: Video I/O with OpenCV Overview https://docs.opencv.org/3.4.8/d0/da7/videoio_overview.html 裡面有一張架構圖,能夠比較了解 video io 整體的架構 https://docs.opencv.org/3.4.8/d4/d15/group__videoio__flags__base.html 這篇有列出VideoCaptureAPIs有哪些backends可以使用 cv::CAP_ANY = 0, cv::CAP_VFW = 200, cv::CAP_V4L = 200, cv::CAP_V4L2 = CAP_V4L, cv::CAP_FIREWIRE = 300, cv::CAP_FIREWARE = CAP_FIREWIRE, cv::CAP_IEEE1394 = CAP_FIREWIRE, cv::CAP_DC1394 = CAP_FIREWIRE, cv::CAP_CMU1394 = CAP_FIREWIRE, cv::CAP_QT = 500, cv::CAP_UNICAP = 600, cv::CAP_DSHOW = 700, cv::CAP_PVAPI = 800, cv::CAP_OPENNI = 900, cv::CAP_OPENNI_ASUS = 910, cv::CAP_ANDROID = 1000, cv::CAP_XIAPI = 1100, cv::CAP_AVFOUNDATION = 1200, cv::CAP_GIGANETIX = 1300, cv::CAP_MSMF = 1400, cv::CAP_WINRT = 1410, cv::CAP_INTELPERC = 1500, cv::CAP_OPENNI2 = 1600, cv::CAP_OPENNI2_ASUS = 1610, cv::CAP_GPHOTO2 = 1700, cv::CAP_GSTREAMER = 1800, cv::CAP_FFMPEG = 1900, cv::CAP_IMAGES = 2000, cv

irasutoya 免費插畫素材圖庫

網路上常常看到一個日式風格的插畫,經過搜尋後發現是個叫做irasutoya的素材網站所提供的, 可以進入他的官網看看有各式各樣情境的插圖, かわいいフリー素材集 いらすとや https://www.irasutoya.com/ 其他參考 irasutoya 日本高品質 PNG 插畫素材圖庫,免費下載可商業使用|Zi 字媒體 https://zi.media/@ez3c/post/3aWrBc [素材] irasutoya 原創插畫圖庫@商用版權高清 PNG 圖片免費下載 - Funtory設計生活 https://funtory.tw/irasutoya/

Heroku 免費的主機服務

Heroku 免費的主機服務,參考下列幾篇文章 Heroku | 搭配 Git 在 Heroku 上部署網站的手把手教學 - Enjoy life enjoy coding - Medium https://medium.com/enjoy-life-enjoy-coding/heroku-%E6%90%AD%E9%85%8D-git-%E5%9C%A8-heroku-%E4%B8%8A%E9%83%A8%E7%BD%B2%E7%B6%B2%E7%AB%99%E7%9A%84%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E5%AD%B8-bf4fd6f998b8 用 Heroku 部署網站 | Django Girls Taipei https://djangogirlstaipei.herokuapp.com/tutorials/deploy-to-heroku/ 網站部署(使用 Heroku) 為你自己學 Ruby on Rails | 高見龍 https://railsbook.tw/chapters/32-deployment-with-heroku.html 讓免費的heroku永不休眠 | 只是個打字的 https://blog.typeart.cc/%E8%AE%93%E5%85%8D%E8%B2%BB%E7%9A%84heroku%E6%B0%B8%E4%B8%8D%E4%BC%91%E7%9C%A0/ 我用過並且值得推薦的主機服務(持續更新 2019–08–28) - Shi-Ken Don - Medium https://medium.com/@shikendon/%E6%88%91%E7%94%A8%E9%81%8E%E4%B8%A6%E4%B8%94%E5%80%BC%E5%BE%97%E6%8E%A8%E8%96%A6%E7%9A%84%E4%B8%BB%E6%A9%9F%E6%9C%8D%E5%8B%99-%E6%8C%81%E7%BA%8C%E6%9B%B4%E6%96%B0-2016-12-30-ca82791c35c2

std::thread 學習筆記

使用 std::thread 為什麼要加 -pthread g++ - Why do I have to pass "-pthread" option while using std::thread? - Stack Overflow https://stackoverflow.com/questions/46994982/g-why-do-i-have-to-pass-pthread-option-while-using-stdthread g ++ - 爲什麼我必須在使用std :: thread時傳遞「-pthread」選項? http://hk.voidcc.com/question/p-vzpcieap-vh.html (上面Stack Overflow的中文版) std::thread是C++中的一個抽象,可以使用pthread或OS的本機線程來實現

C++11 學習筆記

從 pthread 轉換到 C++11 的 std::thread 從 pthread 轉換到 std::thread https://www.cntofu.com/book/46/linux_system/cong_pthread_zhuan_huan_dao_std__thread.md 每個都有提到 Thread、Mutex、Condition variable、future、atomic pthread_create => std::thread pthread_mutex_lock => std::mutex.lock() 重新命名 std::thread 執行緒的名字 std::thread - naming your thread https://stackoverflow.com/questions/10121560/stdthread-naming-your-thread 有 linux 與 windows 的方式 如何設定windows執行緒名稱的方式 https://docs.microsoft.com/zh-tw/visualstudio/debugger/how-to-set-a-thread-name-in-native-code?view=vs-2019 Windows 10 1607 版或 Windows Server 2016 開始,支援使用 SetThreadDescription 之前的版本請用 RaiseException 的方式

如何開始經營一個部落格

參考 如何建立一個還不錯的部落格(blog) http://www.5233.space/2017/09/whyblog.html

網路上共同開發專案團隊會遇到的問題

主題:非營利遊戲團隊與動機 提到大部分非營利遊戲團隊解散或無疾而終的原因,以及如何讓一個遊戲團隊的菜鳥 融入團隊。 大部分非營利遊戲團隊解散或無疾而終的原因 經過我自己的統計,很遺憾的說,百分之九十的非營利/自願遊戲開發都終結於這種情形(人員離開)直到有群很努力又充滿狂熱的天才出現.而且這些團隊通常因為以下狀況解散: 1. 過於低估分派的工作,過份高估自己或其他人能持續完成(他們的)工作的技能. 2. 決定加入前,以為一些繁雜/底層的工作已經被別人做完了.但是進入狀況後才發現一堆事 情都還沒具體成型. 3. 想要被指導. 4. 都想做設計,使得每個人實做的方向都不一樣. 5. 都想做設計,但發現其他人(包含美術)不照他們的想法做事. 6. 絲毫感覺不到專案期限,以至於工作停留在原地. 7. 因為專案沒有回報,因此延遲沒關係,作任何(其他的)事都好過於進行專案. 8. 隨意的跳槽到另一個比較有前景的專案. 9. 成員分佈在世界各地,而且也擁有不同的時程表.導致每個人似乎都獨立運作. 10. 覺得自己是唯一認真的人.其他人只會指揮分派工作. 11. 真的下去作之前都以為那部份要等別人先完成.(比如說引擎要先完成才能開始製作美術內容) 12. 不知道從何處開始.或是隨意抓取那些自認為重要的元件. 13. 僅因為原則否定其他人的寫作風格. 14. 工作經驗差距太大. 15. 專案的組成只是靈光一閃(即興)的idea. 16. 專案發起人總是想管理. 17. 不接受有經驗人員的意見.(譬如說不要重新造輪子) 18. 看到有成果能玩才會繼續留下來,尤其是那些技術能力較低的成員. 19. 只想製作一個好引擎.卻導致專案無法完成. 20. 只是想獲取名聲. 21. 花太多時間在研究銀子彈(無法完成的技術方法).導致於什麼也沒作. 22. 只想等人員到齊才開始. 21. 只想等個專家來幫他們解決問題. 24. 目標太高,而從未將專案解構為小工作,以至於每個人都沒辦法接下工作. 25. 只是因為一個"其他人都該知道該怎麼作"想法(而發現其他人沒有)而離開. 26. 從未參與小組工作或完成專案過. 27. 成員間年齡相差過大導致溝通不良,因此造成代溝或

如何挑選新家家電,選購前該住意的事項

新家購買家電通常令人傷透腦,以下分享我的家電選購經驗與技巧,電視、冷氣、洗衣機、冰箱 電視 電視要看你客廳深度,不用一味地求大尺吋,目前主流尺寸為40吋、42吋、50吋、55吋。 不一定要買4k電視,你影片源要有4k,不然白花錢。 擔心電視的距離問題的話,就帶捲尺去賣場試距離。 電視品牌 電視牌子的話,要好就買 SONY,要便宜 BENQ 不錯。 冷氣 變頻 vs 非變頻 冷氣選購關鍵是要選變頻,雖然比較貴,長時間吹例如一次吹4~8小時,用電量少,比起非變頻,溫度降到設定溫度時,它還是一直都是火力全開的吹,相較之下,變頻冷氣幾年下來電費比較省,也可以參考節能標章是幾級的。 可以的話就買冷暖兩用,有暖氣比較好。 主臥跟客廳選購可能也不同。 冷氣品牌 冷氣牌子就 國際 日立 大金 比較多人討論,台灣日立冷氣已經不是日本的那個日立了,所以沒有想像中的日系品質,我家是買大金。 洗衣機 變頻 vs 非變頻 洗衣機就不一定要變頻 如果是放在戶外陽台容易風吹雨淋,洗衣機變頻的容易壞在控制板,而修理變頻控制板並不便宜,在於維修通常是換掉控制版主板,無修理可能性。 所以洗衣機挑CP值好 維修方便 我洗衣機買三洋媽媽樂 CP值高,要更好的可選 東芝,洗衣機日立則是很貴。 冰箱 冰箱是一直插電狀態,長期都會用電,除非是冰箱裡沒有東西,應該沒有人會三不五時會拔冰箱插頭吧!有沒有節能跟電費成高度相關,以節能標章1級為優先。 冰箱品牌 冰箱牌子我沒有研究到,我家買的是國際牌393公升,上凍下藏雙門冰箱,基本上兩人來說200~300公升,不過還是以下廚次數為主,兩天下廚一次+100~200公升,可參考 這篇 。 其他 熱水瓶/飲水機 (可選) 熱水瓶與飲水機見仁見智,我是買象印熱水瓶。 洗碗機(可選) 小兩口兩個人是有多少碗可以洗,我認為那算是孝親的商品,家裡人口多才值得考慮買。 吸塵器/掃地機器人(可選) 懶人專用,在沒錢的前提下,還是多多運動掃地有益身心健康~ 空氣濾淨機(可選) 想不到購買理由。 總結 以上這些電器都要以5~10年使用壽命去選購,畢竟沒人年年在換家電的XD 冰箱跟你家廚房大小最好要量一下,還有洗衣機跟陽台大小,買了放不進去就冏了。

C++ thread pool

C++ 並沒有提供 ThreadPool 的實作,但 boost 有實作(請看參考[1]),Github 上找到一個簡單用C++11 std::thread 時做出 ThreadPool 的例子,如下︰ C++11 ThreadPool A simple C++11 Thread Pool implementation https://github.com/progschj/ThreadPool ThreadPool.h Step 1. 透過 ThreadPool::ThreadPool() 建構子後,裡面會建立執行緒(workers.emplace_back)並放入執行緒池,並且等待事件通知(condition_variable) Step 2. 透過 ThreadPool::enqueue() 放入 task 的函式後會去通知(condition.notify_one)該開始執行了 Step 3. 收到通知(condition.wait)後就開始執行該task 用法:將你的 task 函式放進去,不用自己建立執行緒。 其他值得學習的地方:std::forward 用法 與 std::future 用法 參考 [1] boost::threadpool https://www.boost.org/doc/libs/1_66_0/doc/html/boost_asio/reference/thread_pool.html [2] 基於C++11的線程池(threadpool),簡潔且可以帶任意多的參數 https://www.cnblogs.com/lzpong/p/6397997.html [3] c++ thread pool 使用解析 https://blog.csdn.net/carbon06/article/details/78171588

使用 fbs 來打包 PyQt5 apps

fbs 是一個跨平台打包 PyQt5 的工具,支援 Windows、Mac and Linux。 fbs 是一位叫 fman 的外國人寫的,這個專案可以在 Github 上找到。 fbs官網︰ https://build-system.fman.io/ PyPI︰ https://pypi.org/project/fbs/ 馬上就來用 fbs 來打包 PyQt5 的程式吧! 參考 https://www.mfitzp.com/article/packaging-pyqt5-apps-with-fbs/

Python 螢幕截圖存檔

Python 螢幕截圖有兩種方式, 1. 使用windows API     原生的api 2. 使用 PIL 中的 ImageGrab 模組     PIL模組提供的 api,猜想內部也是轉換到底層的 api,使用PIL模組好處是還可以在其他平台下使用。 用 Python 寫一個自動截圖存檔的軟體 https://eriasa.wordpress.com/2015/08/20/用-python-寫一個自動截圖存檔的軟體/ 使用 ImageGrab 模組 Python實現螢幕截圖的兩種方式 https://codertw.com/程式語言/360002/ 使用 win32gui 模組 使用 ImageGrab 模組 使用 Selenium 模組 python學習——截圖工具編寫 https://blog.csdn.net/dalongyes/article/details/10476561 使用 ImageGrab 模組 使用 win32gui 模組 幾個 Python 寫成的螢幕截圖存檔工具 TBD...

Python 學習資源

以下為Python 的影音學習資源,目錄與影片連結,以及一些我學習後的重點筆記。 目錄: 2018 python全棧3期高級開發工程師 獨家完整版 day95 多線程,異步 ✔ python全栈3 day95 01 多线程实现并发请求 https://www.youtube.com/watch?v=EDxcIPpUEoA     from concurrent.futures import ThreadPoolExecutor     pool = ThreadPoolExecutor(5)     練習 ThreadPool (Q2Day81 - 2.多线程执行) ✔ python全栈3 day95 02 多进程实现并发请求 https://www.youtube.com/watch?v=8czSKq9eKXA     協程 Coroutine     練習 協程的範例 (yield, asyncio) Q2Day81 - asyncio示例1     asyncio+request ✔ python全栈3 day95 03 异步IO模块的使用(一) https://www.youtube.com/watch?v=u89AvrO5-Mg ✔ python全栈3 day95 04 异步IO模块的使用(二) https://www.youtube.com/watch?v=r-uiR-gq1t4     Twisted 簡單範例介紹 (6.Twisted示例)     Tornado 簡單範例介紹 (7.Tornado)     gevent > Twisted > Tornado > asyncio ✔ python全栈3 day95 05 自定义异步IO模块前戏 https://www.youtube.com/watch?v=LMlgDuBm4u8     sockect client/server         connect 會阻塞(預設)         setblocking(0) 設定阻塞模式, 無數據(連接無反應, 數據未返回)會報錯     IO 多路復用 (Multiplexing),又稱「多工」         select.select() 用法與觀念 ✔

螢幕截圖軟體

列出幾個開源的螢幕截圖軟體 flameshot 官網︰ https://flameshot.js.org/ https://github.com/lupoDharkael/flameshot - 使用 Qt - 使用 C++ - 支援  Ubuntu、Other Linux 其他非開源的螢幕截圖軟體 Skitch - 支援 mac OS/Win - 由Evernote出的

濾波器 Filter 筆記

一些濾波器的雜亂筆記 Python filter https://blog.csdn.net/cookie_friends/article/details/79232595 https://blog.csdn.net/luckywang1103/article/details/80283431 lowpass filter in SciPy https://stackoverflow.com/questions/25191620/creating-lowpass-filter-in-scipy-understanding-methods-and-units python 数字信号的滤波器设计 signal.buffer https://blog.csdn.net/baidu_38804282/article/details/78288206 Python 低通滤波器 https://blog.csdn.net/daiyinger/article/details/48289587 Apply Low pass Butterworth filter in Python https://dsp.stackexchange.com/questions/49460/apply-low-pass-butterworth-filter-in-python Python Lowpass Filter https://gist.github.com/junzis/e06eca03747fc194e322 http://lpsa.swarthmore.edu/Fourier/Series/WhyFS.html Image Processing - Sobel 邊緣偵測 http://honglung.pixnet.net/blog/post/85485346 scipy doc https://docs.scipy.org/doc/scipy-0.14.0/reference/signal.html https://docs.scipy.org/doc/scipy/reference/tutorial/signal.html https://docs.scipy.org/doc/scipy-0.14.0/reference/g

Systrace 使用

Android 提供一個 systrace.py,systrace.py 是用 python 寫成的,接下來介紹如何使用 systrace。 systrace.py 位於 platform-tools 目錄 platform-tools/systrace 下 安裝 pyserial systrace.py 依賴 pyserial 模組,所以需要先安裝 pyserial。 輸入下列指令安裝 pyserial,以下列出python 2 與 python 3 的方法︰ $ pip install pyserial or $ pip3 install pyserial or $ apt-get install python-serial or $ apt-get install python3-serial 錄製資料 假如執行 systrace.py 會出現 No module serial 的話,請安裝 python 的 pyserial 模組。 這邊只能使用 python2。 $ sudo python systrace.py -o xxx.html HTML 操作 m 顯示當前選取的區塊 w s 放大 縮小 a d 向左 向右 f zoom in 到選取區塊 參考 理解和使用systrace | 風中老狼的博客 https://maoao530.github.io/2017/02/06/systrace/ 寫的很詳細 Define custom events  |  Android Developers https://developer.android.com/studio/profile/systrace/custom-events systrace/systrace.py at master · ganadist/systrace · GitHub https://github.com/ganadist/systrace/blob/master/libs/python/systrace.py pyhton 版本的 traceBegin 和 traceEnd systrace/trace.h at master · ganadist/systrace · GitHub http

Reactor 和 Proactor 的差異

以下將我學習到 reactor 和 proactor 的差異重點列出, 異步情況下(Proactor),當回調handler時,表示IO操作已經完成;同步情況下(Reactor),回調handler時,表示IO設備可以進行某個操作(can read or can write)。 首先它們都是IO復用下的事件驅動模型,然後就從同步異步這兩個點來切入概念。注意關鍵區別在於何時IO,reactor是關心就緒事件,比如可讀了,就通知你,就像epoll_wait 。proactor關心的是完成比如讀完了,就通知你。 Reactor模式,本質就是當IO事件(如讀寫事件)觸發時,通知我們主動去讀取,也就是要我們主動將socket接收緩存中的數據讀到應用進程內存中。Proactor模式,我們需要指定一個應用進程內的buffer(內存地址),交給系統,當有數據包到達時,則寫入到這個buffer並通知我們收了多少個字節。 函式庫 Reactor: libevent/libev/libuv/ZeroMQ/Event Library in Redis 底層使用 epoll Proactor IOCP (Windows IO completion port) / Boost.Asio 圖解 reactor和proactor主要是用來解決高並發的問題(ppc和tpc不能應對高並發),reactor的時序圖如下(這是最簡單的reactor,後面還有父子reactor,一個處理連接請求,一個做具體的請求操作)。 這張圖很仔細,在[1] 的回覆裡 [1] 如何深刻理解reactor和proactor? - 知乎 https://www.zhihu.com/question/26943938 [2] Reactor 和 Proactor 模式 - 程序園 http://www.voidcn.com/article/p-qeehqukm-bgd.html [3] GitHub - song0071000/SimpleReactorImplemention: Reactor Pattern Implemention https://github.com/song0071000/SimpleReactorImplemention 簡單的 Rea

Android logd 與 logcat

以下整理出 Android Logd 背後的程式流程與原理。 LogReader: 監聽/dev/socket/logdr, 當client連接上則將buffer 訊息息寫入client. 所對應的執行緒名稱為"logd.reader" LogListener: 監聽/dev/socket/logdw, 新日誌添加到LogBuffer, 並且LogReader發送更新給已連接的client. 所對的執行緒名稱為"logd.writer" 參考 Android logd日誌原理 - Gityuan博客 | 袁輝輝的技術博客 http://gityuan.com/2018/01/27/android-log/ 原始碼分析,trace 的不錯 Android log 機制 - logd 如何接收 log 數據(上) | 程序員蝦餃 https://jekton.github.io/2018/05/16/logd-writing-part1/ Android log 機制 - logd 如何接收 log 數據(下) | 程序員蝦餃 https://jekton.github.io/2018/05/17/logd-writing-part2/ logd - platform/system/core - Git at Google https://android.googlesource.com/platform/system/core/+/master/logd/main.cpp https://android.googlesource.com/platform/system/core/+/master/logd/LogListener.cpp https://android.googlesource.com/platform/system/core/+/master/logd/LogReader.cpp https://android.googlesource.com/platform/system/core/+/master/logd/LogBuffer.cpp

Android 支援的 C++

關於AndroidL到androidM的STLC++庫的改變 - 沉默寡言的騎士 - CSDN博客 https://blog.csdn.net/flytothesun/article/details/52160754 不要在ndk中使用系統預編譯好的C++庫 https://zhuanlan.zhihu.com/p/31025055 std::ndk1 與 std::__1 的差異?差別?

部落格如何寫作

部落格要如何寫作 標題要下好 寫出具有參考價值的文章 要有自己的特色 參考 為什麼我寫的部落格都沒有人看?真的只是寫爽、寫辛酸的? | 跟著工作熊玩賺部落格 https://www.blogfuntw.com/2019/10/why-writing-blog/ [替代解決方案]用FTP來解決Open Live Writer不能上傳圖片的問題 | 跟著工作熊玩賺部落格 https://www.blogfuntw.com/2019/06/ftp-olw/

在Google移除過舊的內容

想要在Google搜尋結果中移除過舊的內容,例如:這網頁url已經不存在或換了,前往Search Console的 移除網址 參考 過去掰掰 – 如何移除被Google收錄的網頁? http://msniuzi.com/how-to-remove-page-from-google/ 在Google移除過舊的內容 | 網站管理員 移除Google搜尋結果 – 金之豬 https://livejinju.com/remove-outdated-content-in-google-search-results/ 移除過舊的內容 - Google | .NET筆記 - 布嘔斯網頁工廠6.0 - 開發筆記 | RWD http://tw.ge-orz.com/DealData.aspx?sn=E9CFCB2BAC9892FB 如何移除在搜尋引擎結果頁面裡的過舊網頁及資訊 - GOOGLE ANALYTICS專業分析, 響應式網頁製作(RWD), 多國語系SEO關鍵字排名, SEO網站優化 http://www.alltradelead.com/%E5%A6%82%E4%BD%95%E7%A7%BB%E9%99%A4%E5%9C%A8%E6%90%9C%E5%B0%8B%E5%BC%95%E6%93%8E%E7%B5%90%E6%9E%9C%E9%A0%81%E9%9D%A2%E8%A3%A1%E7%9A%84%E9%81%8E%E8%88%8A%E7%B6%B2%E9%A0%81%E5%8F%8A%E8%B3%87%E8%A8%8A.html

如何判斷一個網站是不是blogger架的

如何判斷一個網站是不是blogger架的,檢視原始碼 > 搜尋 "blogger" 關鍵字, 發現有下列資訊應該就是  blogger 架設的 <link rel="service.post" type="application/atom+xml" title="xxx - Atom" href="https://www.blogger.com/feeds/000/posts/default" /> 其他類似的討論 How do I identify a blogger? https://www.makeuseof.com/answers/how-do-i-identify-a-blogger/ Find owner’s information on Blogger / Blogspot blogs https://techably.com/find-blogspot-owner/9851/

Ubuntu 下 Chrome cache 的路徑

Ubuntu 下 Chrome cache 的路徑在 $HOME/.cache/google-chrome 參考 linux - what is the path to Chrome cache on Ubuntu? - Stack Overflow https://stackoverflow.com/questions/28973025/what-is-the-path-to-chrome-cache-on-ubuntu

Linux 的 find 指令使用範例與教學

檔案size大小 找檔案大於500Kb,並且列出來查看 find ./ -type f -size +500k | xargs ls -alh or find ./ -type f -size +500k -exec ls -alh {} \; 其他選項有100M 參考 Unix/Linux 的 find 指令使用教學、技巧與範例整理 https://blog.gtwang.org/linux/unix-linux-find-command-examples/

Google Analytics 分析技巧

離開率 Exit rate 與跳出率 Bounce rate (不錯的解釋,後面還有範例說明,理解數據統計方式,以便後續作正確的判斷決策。) 簡介 深入探討 離開率與跳出率在 Google Analytics 之間的差異 跟官方說明雷同,更白話一些。 正確理解跳出率、離開率,與Google Analytics分析應用 這篇有圖文解釋,解釋得不錯。 跳出率 的說明 認識跳出率 跳出率偏高是壞事嗎? 降低您的跳出率 「工作階段數」的計算方式 簡介 深入探討

陷入貧窮,無法致富的心態

致富需要長期的累積,想快速致富就容易採取高風險的行動,這種投機心態成功率低且容易失敗。 追求財富的過程別忘了是什麼讓你想要追求財富,那個追求財富後的最終目標是什麼,而不是最終目標是追求財富,一味地盲目追求財富。想想你追求財富同時失去了什麽,如果是失去了健康這樣值得嗎?如果是失去了時間這樣值得嗎?這裡沒有標準答案,因人而異,有些值得有些不值得。 替代折衷方案 例如,想要環遊世界的話,想要等到致富時,到那時還有健康的身體嗎? 很多人生目標不需要致富才能去做,可能是馬上就可以做,短期就可以做,中期就可以做。所以想想你的人生目標是什麼? 人生目標現在想不到沒關係 需要的時人生經歷,人經歷了一段,通常會改變想法,這時會有了新的人生觀與看法,這時就可能想到人生的目標。 人生目標不會永遠不變,也可能永遠視同一個 所以不用擔心煩惱現在的人生目標,以後就改變了 人生目標有很多個怎麼辦? 這也很正常,但有人生目標有大中小之分,或短中長之分,根據這些分類逐一實現夢想吧! 看影片學人生 這一個心態,讓很多人失去了致富的機會 | 好葉原創故事 讀後感, 故事主角從加密貨幣裡賺到了錢,但也在加密貨幣 故事的兩大點: 積極主動 積極地去學習相關知識,為了達成長遠目標而付出行動。少抱怨,不以被動角色思考,主動去採取行動改善現況。 長期心態 以長期經營的心態看待這件事,不要以投機心態,讓時間來累積努力成果進而實現夢想,。

Ubuntu 19.10 新特色

Ubuntu 19.10 新特色 發行代號:Eoan Ermine (黎明的白鼬) 支援結束時間:2020-07 新特色 使用 GNOME 3.34 桌面環境 使用 Linux 5.3 支援 ZFS檔案系統 NVIDIA 驅動程式 graphic driver in ISO 內含的開發工具版本 GCC 9.2.1 Glibc 2.30 Python 3.7.5 OpenJDK 11 PHP 7.3.8 Golang 1.12.10 參考 https://youtu.be/4YywtDfnDI8 https://zh.wikipedia.org/wiki/Ubuntu

工程師只能 996 嗎?三個老工程師教你如何在程式界開心存活 20 年

工程師只能 996 嗎?三個老工程師教你如何在程式界開心存活 20 年 https://buzzorange.com/techorange/2019/04/19/3-stories-of-elderly-engineers/

Google Blogger Mobile App 發布更新,有了新介面!

在2019/10/07,Google 發布了 Blogger Mobile App 發布更新,有了新介面耶! 舊介面看起來實在是太陽春,而且很久都沒有更新,更新後試用五分鐘,這新介面看起來功能跟原本一樣陽春,一樣沒有編輯HTML的功能(攤手),文字編輯的選項還是只有粗體、斜體和下底線(再度攤手),文字超連結的功能還是沒有!

Google Cloud Platform

Google Cloud Platform 簡稱 GCP, Google 提供的雲端伺服器服務, 與 Amazon 的 AWS 類似。 12 個月免費試用‎ https://cloud.google.com/free/?hl=zh-tw

五分鐘就懂台灣 IC 產業

搞不清楚台積電是做什麼的嗎? 搞不清楚半導體是做什麼的嗎? 搞不清楚 IC design 是做什麼的嗎? 看完下篇文章就懂了~~~ 一看就懂的 IC 產業結構與競爭關係 https://www.inside.com.tw/article/9029-structure-of-ic-industry

俄羅斯駭客的日常生活腳本

可以在宿醉的時候給公司發請假條, 可以在適當的時候給老婆發晚歸短信,也可以發短信哄老婆! 可以遠程煮咖啡! 有興趣者請進入下方連結 hacker-scripts https://github.com/NARKOZ/hacker-scripts

我愛 Esclipse

「工欲善其事必先利其器」,曾經我也愛用vim,也用ctag cscope trace code,但現在我習慣用Eclipse,trace c, c++ code 也很方便,反而更能把心思放在trace整個大型專案的程式,人的精力有限,專注在想專注的事物上,才能騰出更多時間做其它事啊~~~

各家廠商維修費用

華碩維修費用 https://www.asus.com/tw/support/article/584/ 技嘉維修費用 https://service.gigabyte.tw/Home/Content/70?type=v&menuid=84 微星維修費用 https://tw.msi.com/page/fee 顯示卡 過保原板維修 850元 因為我的MSI R5770顯示卡壞了,所以拿去微星維修中心修了@@ https://tw.msi.com/wheretobuy/service_tw 全家便利商店代收維修品服務 https://tw.msi.com/page/rmatw

Windows 10 的安全模式

以前開機按 F8 可以進入選單選擇安全模式,現在 Windows 10 拿掉了, 用系統管理員身份開啟 cmd, 輸入下列指令即可生效, 再重開機按F8就有效了 bcdedit /set {default} bootmenupolicy legacy 另外 Windows 10 還提供了兩種方式進安全模式,參考 這篇 文章。 其他參考 一列命令可以在Windows 10實現F8鍵進入 安全模式

Windows 10 內建的重灌功能

系統還原 Windows會在安裝應用程式、驅動程式、以及系統更新的同時自動建立還原點。如果遭遇到應用程式、驅動程式或者系統更新產生的問題時,就可以用系統還原的方式回溯到系統變更之前的狀態。 這種還原方式並不會影響到個人檔案,所以當問題是發生在個人檔案時,因為系統並不會針對個人檔案的變動產生還原點,所以還原並無法解決問題,這也是為什麼由惡意程式導致的系統錯誤,用系統還原可能無法解決問題。 總之系統還原是針對新安裝的應用程式、驅動程式,還有系統更新建立還原點。那如果最近沒有安裝新的應用程式、驅動程式還有系統更新,但電腦還是出了問題,那很明顯就不是系統還原可以處理的範圍,這時候我們就需要依賴Windows 8以後新增的「重設此電腦」這項功能 重設電腦 「重設此電腦」並不依賴系統所建立的還原點,而是重新安裝Windows,使用者所安裝應用程式、驅動程式以及使用者進行的系統設定變更都被將移除。但如果是由電腦製造商(套裝電腦、筆記型電腦的廠商)所提供的隨機版Windows,當初電腦製造商預設安裝的應用程式還是會重新安裝。 詳細重設電腦細節請看[1] [1][How To] 認識Windows 10內建的重灌功能 ─ 「重設此電腦」 https://blog.timshan.idv.tw/2018/01/how-to-windows-10_28.html

C++11 std::chrono

system_clock 現在真實時間,記錄從1970-01-01 00:00:00 UTC的經過時間,(warps GetSystemTimePreciseAsFileTime/GetSystemTimeAsFileTime) steady_clock 刻度是1納秒,一般是系統啟動後經過多少時間,它是不隨著系統時間修改而變化的時間間隔,(warps QueryPerformanceCounter) 當前系統實現的一個穩定時鐘。表示的是單調時鐘,隨著物理時間向前,這個時鐘的時間點不會減少,最適合進行間隔的測量。 high_resolution_clock high_resolution_clock是system_clock或steady_clock之一,(我的經驗是steady_clock,linux and windows 驗證過) 當前系統實現的一個高解析度時鐘。 名詞解釋 固定時刻(epoch) 長度(duration) rep 算術類型,表示時間長度的嘀嗒(tick)數 period 一個std::ratio類型,表示一個時間嘀嗒的單位 其他參考 https://www.cnblogs.com/zhongpan/p/7490657.html https://zh.m.wikibooks.org/zh-tw/C%2B%2B/STL/Chrono

mac 筆電電池檢測軟體

這六款Mac應用可以監控和改善MacBook電池壽命 https://kknews.cc/digital/8zraav4.html 6 Apps to Monitor and Improve Your MacBook’s Battery Life   https://www.makeuseof.com/tag/apps-macbook-battery-life/ [MAC] 使用coconut Battery 查詢Macbook 與iPhone 的電池健康狀態 http://www.fox-saying.com/blog/post/45681918 battery health 2  官網 https://fiplab.com/apps/battery-health-for-mac 20190903為止最新版是battery health 2 v1.8 coconutBattery 官網 https://www.coconut-flavour.com/coconutbattery/ 20190903為止最新版是v3.8 適用於macOS 10.11 - 10.14

C++17 std::filesystem::create_directories

Since C++17 Visual Studio 要才比較新一點的才有支援, 且要去選項裡打開c++17的開關 用法參考下列文章 https://en.cppreference.com/w/cpp/filesystem/create_directory

黑蘋果與支援的硬體

為了少走彎路,列舉一些不支持macOS Mojave的桌機硬體 https://ihackintosher.wordpress.com/2019/04/24/%e7%82%ba%e4%ba%86%e5%b0%91%e8%b5%b0%e5%bd%8e%e8%b7%af%ef%bc%8c%e5%88%97%e8%88%89%e4%b8%80%e4%ba%9b%e4%b8%8d%e6%94%af%e6%8c%81macos-mojave%e7%9a%84%e6%a1%8c%e6%a9%9f%e7%a1%ac%e9%ab%94-2/ MACOS CATALINA台式機黑蘋果硬件選購指南 https://ihackintosher.wordpress.com/2019/06/15/macos-catalina%e5%8f%b0%e5%bc%8f%e6%a9%9f%e9%bb%91%e8%98%8b%e6%9e%9c%e7%a1%ac%e4%bb%b6%e9%81%b8%e8%b3%bc%e6%8c%87%e5%8d%97/ [教學]踏上黑蘋果(Hackintosh)之路:從購買至安裝macOS系統教學 2018-05-05by 瘋先生 https://mrmad.com.tw/hackintosh-macos-high-sierra 【心得】黑蘋果其實蠻簡單的 https://m.gamer.com.tw/forum/C.php?bsn=60030&snA=518841 PHINEXT Workstation 3 https://www.pcstore.com.tw/xphinext/M56551226.htm

二手電腦選購技巧

挑選桌機時 檢查風扇出入口,挑灰塵最少的那一台,比較有高的機率挑到好電腦,因為可能是該電腦很少用,灰塵最多絕對不是放很久,而是常常長時間電腦運轉所累積出來的灰塵, 挑選螢幕時 tbd 挑選筆電時 tbd

C++11 Smart Pointer

避免 memory leak:C++11 Smart Pointer(上) https://kheresy.wordpress.com/2012/03/03/c11_smartpointer_p1/ 避免 memory leak:C++11 Smart Pointer(下) https://kheresy.wordpress.com/2012/03/05/c11_smartpointer_p2/amp/ C++中的智能指針(1):shared_ptr的介紹和用法 https://blog.csdn.net/thinkerleo1997/article/details/78754919 作法:建立及使用 shared_ptr 執行個體 https://docs.microsoft.com/zh-tw/cpp/cpp/how-to-create-and-use-shared-ptr-instances?view=vs-2019

Python 實作發送 LINE Notify 訊息

使用 Python 實作發送 LINE Notify 訊息 https://bustlec.github.io/note/2018/07/10/line-notify-using-python/ 透過 Python 發 Line Notify 三部曲 - 發圖圖圖片 http://pythonorz.blogspot.com/2017/12/python-line-notify_18.html?m=1 透過 Python 發 Line Notify http://pythonorz.blogspot.com/2017/12/python-line-notify-line-notify-line.html?m=1

練習 Android 開發

要是閒閒想練練 Android 開發,可以參考下列文章 20個很棒的android開源項目幫助你提升開發技能 https://kknews.cc/news/z6xkr2a.html