iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 21
0
自我挑戰組

M157q 的待業程式生活日誌系列 第 21

[2018 iThome 鐵人賽] Day 21: 我平常在電腦上用了哪些程式

  • 分享至 

  • xImage
  •  

OS & VM & VPS


Editors


Terminal


CLI Tools

  • screen & tmux
    • 這兩個指令基本上拿來做相同的事,可以在一個 terminal 裏面開多個分頁。
    • 除了方便管理以外,在遇到某些程式要跑很久的時候也很好用,可以把該程式掛在某個分頁,然後再另外開一個分頁去做其他事,不用等到程式跑完。
    • screen 和 tmux 各有擁護者,偶爾會見到兩派使用者開戰。
    • 但我自己是開 screen 再在每個 screen 的分頁裏面開 tmux,這樣我覺得很好管理,比如說在不同的 project 開發的話,我就會一個 project 用一個 screen。因為如果在 screen 裏面再開 screen 或 tmux 裏面再開 tmux 的話,會沒辦法控制到裏面那層。
  • htop
    • 可以拿來監控系統資源的工具
    • 我通常都是開著掛在 tmux 的第一個分頁
  • speed-test
    • 直接在 CLI 測網路速度,不用開 SpeedTest 的網頁,挺方便的。
  • ag
    • 名字叫 The Silver Searcher
    • 類似 grepack 的工具,但效能比較好,要下指令也很方便,只有 ag 兩個字。
  • virtualenv + virtualenvwrapper
    • 因為很常用 Python,然後裝東西的時候又不想影響到系統用的 Python,所以就會使用 virtualenv 來把環境隔開。
    • 搭配 virtualenvwrapper 可以用更簡單的指令一次處理數個 virtualenv 的指令,挺方便的。
    • 例如要新增一個新的 virtualenv 的話,只要 mkvirtualenv py2 --python=python2 這樣就行了。
    • 我自己基本上都是切成 py2, py3 來使用,然後各個用 Python 的專案也都會有各自的 virutalenv。
  • wicd-curses
    • wicd 的 CLI 介面,我都用這個來選擇無線網路。
    • 如果是圖形化介面的話則有 wicd-gtk 可以使用。
  • alsamixer
    • 可以用來調整 ALSA 裝置的音量,操控挺容易的,也有基於文字的圖形化介面。
  • bluetoothctl
    • 可以用指令來管理藍牙裝置
  • youtube-dl
  • pidof
    • 因為這篇文章才知道的:使用 pidof 找出此程式的所有 process id - Tsung's Blog
    • 以前找 process 都要用 ps aux | grep xxx 來找,用這個指令的話只要用 pidof xxx 就行了
    • Arch Linux User 的話可以用 sudo pacman -S procps-ng 來安裝。
      • 但我發現 pidof 之前是被放在不同的 package 裡頭,所以之後有變的話,可以用 pkgfile pidof 來找 pidof 被包含在哪個 package 裡頭。
      • 如果沒有 pkgfile 這個指令的話,可以透過 sudo pacman -S pkgfile 來安裝

GUI Tools

  • wicd-gtk
    • 因為 wicd-curses 有些 bug,例如遇到新的且需要輸入密碼的 SSID 時會無法設定密碼,所以偶爾會用到 wicd-gtk,顧名思義,就是 GTK 介面的 wicd。
  • PulseAudio Volume Control
    • 指令為 pavucontrol
    • alsamixer 的功能在普通使用下算夠用,但比較複雜的操作就會顯得麻煩了點,這時候 pavucontrol 就派上用場了。
  • PCManFM
    • 由台灣人 PCMan 撰寫的開源檔案瀏覽器,嗯,就是那位撰寫瀏覽 BBS 程式 PCMan 的 PCMan (真繞口)
  • Chromium
    • 算是去除了非開放原始碼部份的 Google Chrome,所以整個專案的程式碼都是公開的。
    • 和 Google Chrome 比起來也比較輕量一些些。
  • Firefox Nightly
    • 2017 年 10 月左右,為了先體驗 Firefox 57 的 Quantum engine 就先裝了,之後就一直使用到現在。
    • 剛從 Firefox 55 切換過來的時候真的覺得快了不少,但後來因為使用上覺得還是有 Memory Leak 的問題,所以就比較少用了。
    • 加上最近又出了這個問題:Firefox is on a slippery slope | Drew DeVault’s Blog,所以就換去使用 qutebrowser 了。
  • qutebrowser
    • 一個基於 QtWebEngine 並使用 Python 開發的開源瀏覽器。
    • 所有的操作基本上都以 Vim 的使用習慣為主,有點類似 dwb,很適合我這種 Vim user,畢竟在 Chrome, Chromium, Firefox 上我都有裝 Vimium 這個瀏覽器套件,可以讓我不太需要移動右手去使用滑鼠。
    • 輕量化瀏覽器,比 Chrome 或 Firefox 都省資源。

Version Control & DevOps

  • Git
    • 應該不用多說了,算起來從 2012 年開始接觸,也快 6 年了。
    • 雖然也用過 svnbzr,但還是覺得比較習慣 git
    • 現在連寫 blog 都用 git 作版本控制了。
  • Docker
    • 目前最主流的 Container 格式。
    • 開源的部份在 2017 年改名叫 Moby 了,但大家還是習慣叫 Docker 就是。
    • Docker 現在專指這間公司,如果是企業版的話叫作 Docker EE,社群版的話叫作 Docker CE。
    • 從 2016 年 4 月左右開始接觸,和 Microservices 息息相關。
  • Kubernetes

Online Services

  • Gmail
    • 這應該不用多介紹了,雖然知道隱私會被侵犯得很嚴重,但目前還是離不開。
    • 之後其中一個計劃應該就是換到自架的 Mail Server 吧。
  • Google Calendar
    • 這個應該也不用多做介紹,覺得真的不錯用,尤其以前辦社團活動的時候被成功提醒了不少次。
    • 無論是個人、分享或團體的時間安排都挺方便的。
    • 應該就只有比較不適合一次性使用吧。
    • 雖然有用 iPhone,但還是沒用 Apple 的 Calendar。
  • Google Maps
    • 這個應該也不用多說了,現在出門去很多人都是靠這個在導航的吧。
  • IFTTT
    • IFTTT 的意思是:"If it, then that."
    • 和多家公司合作,可以很簡單設定一些跨服務的觸發條件,除了 API 提供的觸發條件以外,還可以在這之上自己撰寫 JavaScript 做一些彈性化的設定。
    • 每個人也可以分享自己設定的腳本供他人使用,大多數都是用來做一些提醒或是自動備份的事。
    • 我目前是拿來把我在 Twitter 分享或在 Pocket 儲存一些我覺得不錯的文章時,會幫我自動在:Issues · M157q/m157q.github.io · GitHub 開個新的 Issue 紀錄,以方便我日後查詢,解決常常和人分享時想起看過某篇不錯的文章卻搜尋不到的問題。
  • Pocket
    • 用來將文章暫存以供日後閱讀的服務。
    • 目前我的使用方式比較像是用來儲存與分類看過的文章,再加上使用了 IFTTT 的關係,說穿了其實就只是不用自己接 API,透過 IFTTT 把我看過的文章存到 GitHub Issues 而已,連搜尋也不太會在 Pocket 作搜尋。
    • 但因為使用 Pocket 的時間早於我把文章存到 GitHub Issues 的時間,所以一些比較舊的文章還是會來 Pocket 找就是。
  • Feedly
    • 一個不錯用的 RSS Reader,目前就拿來追蹤個人與企業的技術 blog。
    • 現在免費版的上限好像只能到 100 個來源的樣子,但我自己好像因為比較早使用,所以即便是免費版卻沒有受到這個限制。
  • GitHub
    • 基本上自己已經是每天都會使用 GitHub 了。
    • 目前全球最大的程式碼管理平台,許多開放原始碼的專案都在上面,真的是有很多非常有趣的專案,也可以很輕易得和國外的開發者交流。
    • 雖然大家私底下好像都戲稱成「全球最大同性交友平台」(ry
    • 因為一掛掉就會導致很多工程師沒事幹,所以也有不少公司選擇使用 Bitbucket 或是使用 Gitlab 自己架設程式碼管理平台。
  • Trello
    • 一套基於「看板」(KanBan) 設計的任務管理平台,可供個人或團體使用。
    • 我自己是用來紀錄自己做過的事情、幫自己的要做的事排定時間以及快速整理一些新學到的東西,以便之後可能可以整理成一篇文章來紀錄。個人覺得免費版就很夠用了。
    • 最近這幾天開始使用 KanbanFlow 這套類似的工具,好處應該就是多了個番茄鐘可以幫你紀錄時間,如果是番茄鐘的愛好者且還沒使用過 Trello 的話,可以直接試試看 KanbanFlow。我自己是因為 Trello 已經紀錄不少東西了,要搬挺麻煩了,所以目前是兩個搭配使用。
  • Travis CI
    • 一個僅和 GitHub 作整合的 Continuous Integration 平台,目前還是 GitHub 上市佔率最大的 CI 平台。可以參考這篇 2017 年 11 月的文章:GitHub welcomes all CI tools · GitHub,列出了 GitHub 上使用的 CI 平台市佔率由多至少依序為:Travis CI, Circle Ci, Jenkins, AppVeyor, CodeShip, Drone, Semaphore CI, Buildkite, Wercker, TeamCity。
    • 好處是所有 Public repo 都可以免費使用,而且搜尋一下就有很多設定檔可以參考。我目前是用來自動 build 並發佈我的個人部落格:用 Travis CI 自動化發佈 Pelican blog 到 GitHub Pages 上 | Just for noting
  • CloudFlare
    • 2016 年 6 月租了自己的 domain 之後,就拿來個人使用。在這之前是因為公司的服務有在使用,所以才接觸到,覺得設計的很簡單易用且功能又很強大。
    • DNS 代管設定很方便,而且加上 proxy 之後就有免費的 CDN 和 HTTPS 可以使用。有很多其他的功能,可以設定 Cache、簡單的流量分析、免費的網站資安防護等等等。
    • 詳細一點的介紹可以參考這篇文章:買了一個叫作 m157q.tw 的域名 | Just for noting
    • 不過 2017 年 2 月的時候也有出過 CloudBleed 這個大包就是:Incident report on memory leak caused by Cloudflare parser bug
  • Gandi
    • 因為很常出現在台灣的社群會議,所以就在上面租了域名。
    • 但我覺得使用上沒有很方便,而且因為 DNS 的管理已經被我轉到 CloudFlare 了,所以基本上只有在續租域名的時候才會開啟。
    • 其他類似的服務有 NameCheap, GoDaddy,GoDaddy 我覺得好用一些,但也沒有認真比較過就是。
    • 如果要用 Gandi 的服務的話,記得要開啟 "Private Domain Registration" 就是,不然個資直接被人用 whois 看光光。
  • Slack
    • 就是一個針對團隊協作而開發的平台,台灣不少新創公司與社群都有使用。
    • 基本上就是功能更多元的 IRC 聊天室,可以整合許多 API,做到 CI, CD 的通知,甚至可以做到 ChatOps。
    • 只是我沒有很喜歡一個 workspace 就要重新註冊一組帳號密碼的設計,但可以理解為什麼要這樣設計就是。
  • Discord
    • 最近才開始使用的服務,主要是針對 Gamer 設計的即時語音通訊平台。
    • 我個人是覺得像是 Slack + RaidCall,可以即時多人語音通訊(無上限),在 2017 年 11 月也開放了和好友視訊通話與螢幕畫面分享的功能(最多 10 人)。
  • Medium
    • 一個算新的部落格平台,乾淨簡潔無廣告,採用付費訂閱制,國外已經滿多人使用了,最近台灣也愈來愈多人使用。
    • 我自己其實沒在使用,因為已經厭倦使用部落格平台了,一旦平台一倒的話要搬文章又是件痛苦的事。追蹤文章也是用 Feedly 去追。
    • 至於為什麼有辦 Medium 的帳號,主要是有時候想要留言回覆,加上可以使用其他服務登入不用註冊帳號也還算方便,附加功能應該是可以幫別人的文章拍拍手(?)
  • Social Network Service
    • Facebook, Twitter, Line, Telegram, LinkedIn, Google+ (?)
    • 這邊用來紀錄時代的眼淚(?)

Eating My Own Dog Food

  • zdict
    • 一個 CLI 的字典查詢工具,預設支援 Linux, FreeBSD 和 macOS,也可以透過 Docker 在 Windows 上面執行。
    • 預設是使用 Yahoo 字典,也有萌典、Urban Dictionary 等等可以查詢。
    • 當初是在看美劇的時候常常要查單字,覺得開網頁很麻煩,所以找到了 ydict,但不盡理想而且開發者也停止維護了,所以就 fork 出來大改,後來身邊也有幾個朋友加入開發,所以就弄了個 organization。
    • 現在變成我每天會使用的工具了,之後應該會寫一篇介紹這個工具。
  • gettitle
    • 寫文章的時候附上參考連結的時候常常不想要只附上網址,而是連網頁標題也一起附上,覺得要自己手動複製很麻煩,所以就寫了個小程式來做這件事。
    • 使用 Selenium,所以支援使用 JavaScript 的網頁(例如:Dcard),不過也因為這樣所以速度有點慢,但目前是沒有什麼不能等的狀況,所以算是夠用。
    • 基本上已經是我寫文章的時候必定會使用到的工具了。
  • M157q_News_RSS
    • 一個每小時發科技新聞 tweet 的機器人,主要來源是我有追蹤的科技新聞網站的 RSS feed。
    • 之前是把科技新聞類的 RSS 放在 Feedly 裏面,但會造成未讀量暴增,常常幾天沒消未讀就會衝到 999+,後來覺得這樣不是辦法,而且很多其實不一定要看。
    • 所以就想說能不能用個會發科技新聞的 Twitter bot,有看到的話就看,沒看到的話就算了。
    • 是 fork 別人的程式碼來改的:GitHub - M157q/py-feedr: A Python parser to tweet the latest updates from multiple RSS feeds.
    • 後來自己加上了訂閱事件的功能,當初是針對 Golang Taiwan Gathering 報名要搶票這件事,所以用來針對某些 KKTIX 的網頁新增事件時,會用 Twitter 的私訊通知我,讓我不會錯過報名的時間,甚至可以第一時間報名。

參考來源


如果覺得我的文章不錯的話,
請幫我按讚、追蹤、訂閱、留言、分享,
有任何問題也都歡迎留言討論,
也可以利用像是 Feedly 等 RSS Reader,
直接訂閱我的部落格:https://blog.m157q.tw
iThome 這邊我應該只有鐵人賽的時候會使用。


上一篇
[2018 iThome 鐵人賽] Day 20: 如何在 Linux 上使用 Miracast
下一篇
[2018 iThome 鐵人賽] Day 22: Docker + Travis CI + Kubernetes + GKE
系列文
M157q 的待業程式生活日誌31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言