發表文章

小型聊天機器人www

最近使用了做了一個小機器人 故放上來供大家圍觀(X 目前指令有 /cv - 電腦視覺化 /google - Google 搜尋

[emacs] spacemacs on windows

最近想要學一下 lisp 並有個能在 Shell 上跑的編輯器,所以便找到了 emacs ,而其中最有名的設定檔便是 spacemacs 了 首先,按照 sapcemacs 的 教學 ,她官網上推薦的是  emacs-w64 project  這個計畫的  stable build 版本,下載回來之後並安裝 安裝 the_platinum_searcher  這個軟體 最後 用 git  把spacemacs下載下來並放到 C:\Users\user\AppData\Roaming\.emacs.d 這個路徑就可以了 (注:因為我沒有設定HOME這個Path .emacs.d 是在這邊) 如果有遇到問題可以到 FAQ  這邊查詢 另外,附上我在過程中查到的其他教學 1.  Emacs on Windows 2. Emacs 101 另外,根據前輩的說法 1. spacemacs 目前在 Windows 只要解決開啟時 Ispell 要換成 Aspell (要去下載) 就所有套件應該都沒問題, 快捷鍵這是個好問題.... 2. 一開始會蠻不適應的, 要把 Ctrl 換到 Caps(我覺得這是看個人啦) 3. 剛開始如果沒有特別的工作需求, 可以先多多用 org 寫筆記 (也就是開啟一個檔案副檔名叫做 .org ) , 熟練檔案指令並養成開啟 Emacs 習慣, 然後有時候忘記就看 Emacs101 4.接著慢慢把工作需求帶入, 不用特別逼自己, 可以看 learning spacemacs in 21 days 先看前面 6 集 應該是 11-12 集到 16-17 集可以慢慢看, 主要講 buffer 和 file 還有 layout 的使用方法, 如果時間緊迫18 之後可以先不用看, 會啟發你很多想法, 讓你把自己的工作結合進來 最後附上emacs 101 的優質文章 收藏

[隨筆] 多執行緒 vs 多進程

圖片
最近因為遇到了這方面的問題,便去求助了一下google大神跟認識的大神 便順手把這篇記錄下來,當作備忘使用 首先,先說一下他們的英文名稱 multi-thread  => 多執行緒 multi-process => 多進程 大致上而言,在排程部分,multi-process是比multi-thread更消耗資源的東東(但也因此速度更快),因為multi-thread是全部放在一個process裡面,但multi-process則不是,所以在系統排程時會導致multi-process比multi-thread消耗更多資源。 在記憶體部分,multi-process的記憶體是分開的,所以要溝通的話必須調用系統函數而multi-thread因為他的記憶體都是放一起的,所以不用,但也不是說multi-thread沒有缺點,因為如果他同時對同一個區塊做io的話會造成混亂(如下圖所示),所以這時候便要加上mutex lock來鎖住他,不讓multi-thread能夠同時io,也就是說,當一個記憶體區塊被使用時,其他thread不能去碰它,看是要等他讓cpu空轉還是做其他事情(這也是造成效率高或低的主因,空等太多跟別人比起來會很慢),此外multi-process是每個process都有一份程式碼,但multi-thread則是所有thread都共用一份,而這在大的程式碼中最明顯,如果記憶體吃不消那就會被放到swap裡面,最後導致所有process都在等swap的io。 此外,如果multi-process其中一個當掉其他的還是能夠正常運行(雖然有些小問題,像是像是orphan process(parent process 當掉)或 zombie process (child process當掉,parent process就成了zombie)),但是如果multi-process當掉則是全部都被關掉(因為OS在處理時是以process下去看),舉例而言,就像chrome是多個process所以一個分頁當掉沒差,其他分頁還能正常運作 總而言之 速度方面 multi-process > multi-thread 資源消耗方面 multi-process > multi-thread 記憶體消耗方面 multi-...

[隨筆] email大量寄送

最近在做一些有關短時間大量寄送email的服務,但是往往在寄出幾封信後就失敗了@@ 最後才發現原來是Gmail把它當作廣告信封殺了 後來是修改了信件內容讓他不要那麼像廣告信 以及加上了spf認證情況才好轉一些 我是只有做2 1. 不要同時大量發送郵件 2 . Mail server 要記得用 spf 來做認證 參考連結 https://support.google.com/mail/answer/180707?hl=zh-Hant https://support.google.com/mail/answer/81126 https://support.google.com/mail/answer/2451690 https://ihower.tw/blog/archives/3481 http://www.jianshu.com/p/3c3d4e28da3d

簡易C++教學-基礎

因為最近身旁有很多人想要學習寫程式,而我剛好有學一點點(真的只有一點點www)因此便把他們整理起來,也可以讓我當作複習時的備忘筆記 首先,由於C++是需要編譯的程式語言,因此你需要安裝一個編譯器,最有名的開放原始碼編譯器便是G++了,然而純G++對新手不是那麼的友善,這時你便需要一個IDE(集成式開發環境)來輔助你,在C++這部分,比較有名的就屬Microsoft Visual Studio(僅限Windows平台,不過聽說最近有打算跨出去了) 和 Code::Block兩種,因為自從2015之後前者社區版本已經可以免費使用了,所以目前兩者都是免費的,而我則是比較習慣使用visual studio,不過他的編譯器跟G++不一樣,所以可能有些地方會有些許不同,不過大體上是差不多的 第一步:Hello World 首先,讓我們先用一個小程式來跟世界打招呼吧 接下來.....便是好好休息等待下一次的進度阿XDD