使用Charles抓取手機網路使用資訊
- 將電腦和手機連上同一個WIFI網路
- 輸入
ifconfig
(MAC電腦)取得電腦的內網IP,如下圖可得知內網IP為192.168.1.104
- 設置Charles上的Proxy settings
- 設置手機上的WIFI的PROXY
- 此時即可在電腦上看到手機的網路使用狀況
第 11 屆 iT 邦幫忙鐵人賽參賽系列文章,IT邦文章連結如下:
自我挑戰組 – 工作雜記隨筆
ifconfig
(MAC電腦)取得電腦的內網IP,如下圖可得知內網IP為192.168.1.104
官方下載點 : https://www.getpostman.com/
Chrome 擴充功能版 : 下載連結
Postman 是一個可以模擬 HTTP Request 的工具,其中包含常見的 HTTP 的請求方式,例如: GET 、POST、PUT、DELETE,而它的主要功能就是能夠快速的測試你的 API 是否能夠正常的請求資料,並得到正確的請求結果。
使用帳號去同步設定,可以選擇新創一個帳號或者使用google帳號去同步在不同電腦裡的POSTMAN設定
這樣在不同電腦裡面,使用紀錄或者儲存的Collection等都可以被同步。
在登入帳號後,按下左上方的+New按鈕,會可以看到一個創建Request的畫面
有些API的網址會有變數,這時可以使用https://api.library.com/:entity/
並且藉由下面這樣的設定來取代變數entity
在發送Request時,正確的header資訊非常重要,可在下面這個頁籤做設定
也可以選擇發送的模式是要使用POST或GET
更多詳細的教學請見:官方教學
如果我們希望每一次打出的某個變數能夠不一樣,這時可以撰寫pre-request scripts
來達到這個目的,如下圖:
這時可以在傳送的參數裡用{{timestampHeader}}
來存取timestampHeader
這個變數
在POSTMAN測試的資料可以轉換成精美的HTML API文件
更多資料請見官網
在下面的畫面裡按下『Get API Key』的按鈕可以取得呼叫API測試的密鑰
PlantUML是一個VSCode的插件,可以透過直觀的文字描述產生對應 UML 的模型生成工具,官方網站已經提供了詳細的範例以及說明,相關語法其實不用一開始就先死背,需要時至網站查詢即可,上手難度不大,目前提供下列 UML 模型:
HackMD網站位置:https://hackmd.io/recent
HackMD 是個跨平台的 Markdown 即時協作筆記,可以在電腦、平板甚至是手機與其他人做筆記!
同時也可以透過 Facebook、Twitter、GitHub、Dropbox 登入。
和StackEdit相比,HackMD增加了上傳圖片的功能,將圖片上傳至imgur,我們可以不用煩惱MD文章的圖片要如何處理,並且它非常適合用來做為大型研討會的線上共筆,Agile Summit及JSDC等大型研討會都是使用這個網站來做為線上共筆平台。
官方功能介紹:功能介紹
線上協作時可以設定不同使用者有不同的讀寫權限:
也支援讓所編輯出的文件以投影片的方式做展示:
slide-example
按下右上角的分享裡的簡報模式,便可以以投影片方式展示
這邊有HackMD支援的語法介紹,按下編輯可以看到成果與語法的比較圖
HackMD支援的語法介紹
同樣支援MathJax
數學符號功能,UML 圖表,還支援五線譜語法,功能非常強大
更多關於 循序圖 語法 在這裡.
更多關於 流程圖 語法 在這裡.
更多關於 graphviz 語法 在這裡
更多關於 mermaid 語法 在這裡
更多關於 abc 語法 在這裡
StackEdit是一個可以在線上編輯跟預覽 Markdown 文件的工具。除了基本的 Markdown
與
GitHub Flavored Markdown
格式外,還額外支援 LaTeX
數學表達符號與 UML
圖表支援。登入Google 帳號還能自動跟雲端硬碟同步文件,是一套相當不錯的線上筆記工具!
一打開StackEdit,會有一個預設的歡迎頁
歡迎頁裡面使用的所有較常被使用到的Markdown語法展示
標準常用的格式如下:
*星號*
或是 _底線_
**兩個星號**
或是 __兩個底線__
,也可以用 **星號
與 _底線_**
~~兩個波浪~~
> 引言內容
# H1
;## H2
;### H3
;#### H4
;##### H5
;###### H6
[連結標題](http://網址)

歡迎頁會有打字區與最後效果的對比呈現
中間那條可以選擇變更現在的編輯版面顯示樣式
$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
會有這樣的呈現
$$ \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. $$
會變這樣
2. UML diagrams
要畫UML流程圖時,可以直接用文字來畫出圖片,相關語法請參考:Mermaid
```mermaid sequenceDiagram Alice ->> Bob: Hello Bob, how are you? Bob-->>John: How about you John? Bob--x Alice: I am good thanks! Bob-x John: I am good thanks! Note right of John: Bob thinks a long
long time, so long
that the text does
not fit on a row. Bob-->Alice: Checking with John... Alice->John: Yes... John, how are you? ```
會顯示右邊的圖
按下右上角的Icon,右側會跳出一個選單
我們可以在這邊將檔案同步至Google雲端或者匯出成HTML/PDF檔案
點選左上角的資料夾,則可以開啟許多不同的文件
ELK是三個開源項目的首字母縮寫,這三個項目分別是:Elasticsearch
、Logstash
和Kibana
。
Elasticsearch
是一個搜索和分析引擎。Logstash
是服務器端數據處理管道,能夠同時從多個來源採集數據,轉換數據,然後將數據發送到諸如Elasticsearch
等存儲庫中。Kibana
則可以讓用戶在Elasticsearch
中使用圖形和圖表對數據進行可視化。請參考此篇文章,非常的詳細
ELK 教學 – 從無到有安裝 ELK (CentOS/Red Hat)
大致簡述一下:
請參考下面這些文章
使用grok教學
使用mutate教學
https://blog.csdn.net/cromma/article/details/52919742
grok測試工具
http://grokdebug.herokuapp.com/
輸入df指令
df
後面的mounted on指的是這個空間是掛載在那一個分割區
df /dev
上面是查詢dev這個分割區的使用狀況
預設的 df 輸出會以 KB 為單位顯示磁碟用量,但是現在的硬碟容量都很大,這樣的輸出較不好閱讀。
這時可以加上-h
,來用適合閱讀的方式顯示資訊
使用
df -l
使用以下指令安裝nginx
brew install nginx
完成之後就可使用 nginx
# 啟動 nginx
nginx
# 加上 -s option 來下指令
# 停止 nginx
nginx -s stop
# 重新讀取設定檔
nginx -s reload
若要設定為可以開機自動啟動,則把 nginx 啟動的 bash 檔放到 /etc/init.d/
nginx 的設定檔名為 ngix.conf
,設定檔所在的路徑可以透過 nginx -t
來獲得
伺服器根據用戶端的請求,從其關聯的一組或多組後端伺服器(如Web伺服器)上取得資源,然後再將這些資源返回給用戶端,用戶端只會得知反向代理的IP位址,而不知道在代理伺服器後面的伺服器叢集的存在。
1. 安裝PM2npm install pm2 -g
2. 啟動服務pm2 start app.js
3. 啟動N個名為SERVICE_NAME的服務的進程pm2 start app.js -i N --name SERVICE_NAME
4. 重啟服務npm restart SERVICE_NAME
5. 設定記憶體使用超過多少後自動重啟伺服器pm2 start app.js --max_memory_restart 1024M
6. 監控服務pm2 monit
1. 查看物理CPU个数cat /proc/cpuinfo| grep "physical id" | sort| uniq | wc -l
2. 查看每個物理CPU中的核數cat /proc/cpuinfo| grep "cpu cores"| uniq
3. 查看邏輯CPU的個數cat /proc/cpuinfo| grep "processor"| wc -l
nginx的主要功能如下
日誌系統對於任意應用而言,通常都是必不可少的一個輔助功能。pm2的相關文件默認存放於$HOME/.pm2/
目錄下,其日誌主要有兩類:
pm2 ecosystem:生成配置文件ecosystem.json
pm2 startOrRestart /file/path/ecosystem.json :通過配置文件啟動服務
如下是開發時ecosystem.json的內容:
{
apps : [
{
name : "nova",
max_memory_restart: "300M",
script : "/root/nova/app.js",
out_file : "/logs/nova_out.log",
error_file : "/logs/nova_error.log",
instances : 4,
exec_mode : "cluster",
env: {
NODE_ENV: "production"
}
}
]
}
採用cluster模式啟動了4個服務進程;如果服務佔用的內存超過300M,會自動進行重啟。
更多相關知識請見官網:ecosystem-file
一個簡單的process.json範例
{
"apps" : [{
"name" : "HTTP-API",
"script" : "http.js"
}],
"deploy" : {
// "production" is the environment name
"production" : {
"user" : "ubuntu",
"host" : ["192.168.0.13"],
"ref" : "origin/master",
"repo" : "git@github.com:Username/repository.git",
"path" : "/var/www/my-repository",
"post-deploy" : "npm install; grunt dist"
},
}
}
/bin/bash:
# Setup deployment at remote location
$ pm2 deploy production setup
# Update remote version
$ pm2 deploy production update
# Revert to -1 deployment
$ pm2 deploy production revert 1
# execute command on remote machines
$ pm2 deploy production exec "pm2 reload all"
更多介紹請見官網:simple-deploy
ps指令可以將某個時間點的程序運作情況擷取下來
僅觀察自己的 bash 相關程序: ps -l
觀察系統所有程序: ps aux
若覺得這個列表太長,可以使用grep
來獲取想要知道的服務,例如
[root@study ~]# ps aux | egrep '(cron|rsyslog)'
下面指令可以查詢單個服務的運行狀態
[root@localhost ~]# service sshd status
請參考這篇文章:linux管理Service的指令