分類: 工作雜記隨筆
第 11 屆 iT 邦幫忙鐵人賽參賽系列文章,IT邦文章連結如下:
自我挑戰組 – 工作雜記隨筆
- [LeetCode] Maximum Value of K Coins From Piles發表時間: 2022-10-06 上午 12:07上午 12:07Maximum Value of K Coins From Piles 這是遞迴方式的寫法, 但我可能存太多垃圾資訊,當k值變大之後,會發生heap allocation錯誤的問題,也受限於遞迴的限制當k變大效率非常差..... 看來又要動態規劃(哭), 晚點再來補上改善版 [crayon-642515fae422a356530002/]
- [LeetCode] Coin Change 2發表時間: 2022-10-05 下午 11:59下午 11:59Coin Change2 這也是一題動態規劃的題目,但是比起上一題,上一題每一個暫時儲存的東西是有意義的,我們可以了解說每一個的暫時狀態是某個數字用所給的硬幣列表裡,能用最少數量達成答案的數目,但是這一題的中間狀態所儲存的真的就是『中間的狀態』,我是看著別人的答案去回推理論的,真的很難想像在遇到這樣的問題時,該用什麼角度去把複雜的問題拆分,並找尋出重複步驟並找到可暫存狀態來計算出最終結果。 這是最
- [LeetCode] Coin Change發表時間: 2022-10-05 上午 12:07上午 12:07https://leetcode.com/problems/coin-change 最近開始刷leetcode覺得思考這些邏輯問題還滿好玩的 第一個刷的是這個,他是一個動態規劃的題目 一般我們在思考的時候會去思考以錢幣為基準,例如1,3,5的錢幣要怎麼湊成11元,我們會拿1,3,5去隨機湊硬幣,但是當數值大了以後,要計算最小的錢幣組合就會變成很困難. 像這種極限求值就會需要將思考轉換過來, 我們可
- 使用Charles抓取手機網路使用發表時間: 2019-10-14 上午 3:27上午 3:27使用Charles抓取手機網路使用資訊 將電腦和手機連上同一個WIFI網路 輸入ifconfig(MAC電腦)取得電腦的內網IP,如下圖可得知內網IP為192.168.1.104 設置Charles上的Proxy settings 設置手機上的WIFI的PROXY 此時即可在電腦上看到手機的網路使用狀況
- 好用的API測試工具 – POSTMAN發表時間: 2019-10-13 上午 3:27上午 3:27軟體介紹 官方下載點 : https://www.getpostman.com/ Chrome 擴充功能版 : 下載連結 Postman 是一個可以模擬 HTTP Request 的工具,其中包含常見的 HTTP 的請求方式,例如: GET 、POST、PUT、DELETE,而它的主要功能就是能夠快速的測試你的 API 是否能夠正常的請求資料,並得到正確的請求結果。 使用帳號 使用帳號去同步設定,
- 使用VSCode繪製UML文件發表時間: 2019-10-12 上午 3:26上午 3:26PlantUML介紹 PlantUML是一個VSCode的插件,可以透過直觀的文字描述產生對應 UML 的模型生成工具,官方網站已經提供了詳細的範例以及說明,相關語法其實不用一開始就先死背,需要時至網站查詢即可,上手難度不大,目前提供下列 UML 模型: 循序圖 用例圖 類圖 活動圖 組件圖 狀態圖 對像圖 部署圖 定時圖 安裝方式,. 按下插件ICON 在搜尋名稱打入: PlantUML 按下i
- 好用的Markdown線上共筆工具 – HackMD發表時間: 2019-10-11 上午 3:25上午 3:25HackMD介紹 HackMD網站位置:https://hackmd.io/recent HackMD 是個跨平台的 Markdown 即時協作筆記,可以在電腦、平板甚至是手機與其他人做筆記! 同時也可以透過 Facebook、Twitter、GitHub、Dropbox 登入。 和StackEdit相比,HackMD增加了上傳圖片的功能,將圖片上傳至imgur,我們可以不用煩惱MD文章的圖片要如
- 好用的Markdown線上編輯工具- StackEdit發表時間: 2019-10-10 上午 3:21上午 3:21StackEdit 網址:https://stackedit.io/ StackEdit是一個可以在線上編輯跟預覽 Markdown 文件的工具。除了基本的 Markdown 與 GitHub Flavored Markdown 格式外,還額外支援 LaTeX 數學表達符號與 UML 圖表支援。登入Google 帳號還能自動跟雲端硬碟同步文件,是一套相當不錯的線上筆記工具! Markdown 語法
- ELK介紹發表時間: 2019-10-09 下午 3:43下午 3:43架構簡介 ELK是三個開源項目的首字母縮寫,這三個項目分別是:Elasticsearch、Logstash和Kibana。 Elasticsearch是一個搜索和分析引擎。 Logstash是服務器端數據處理管道,能夠同時從多個來源採集數據,轉換數據,然後將數據發送到諸如Elasticsearch等存儲庫中。 Kibana則可以讓用戶在Elasticsearch中使用圖形和圖表對數據進行可視化。
- Linux 檢查硬碟使用量發表時間: 2019-10-08 下午 10:28下午 10:28檢查硬碟使用量 - df 輸入df指令 df 後面的mounted on指的是這個空間是掛載在那一個分割區 查詢某個分割區的硬碟使用狀況 df /dev 上面是查詢dev這個分割區的使用狀況 改變顯示的空間單位 預設的 df 輸出會以 KB 為單位顯示磁碟用量,但是現在的硬碟容量都很大,這樣的輸出較不好閱讀。 這時可以加上-h,來用適合閱讀的方式顯示資訊 僅顯示本機磁碟 使用 df -l
- nginx 基礎設定教學發表時間: 2019-10-07 上午 12:27上午 12:27安裝 nginx 使用以下指令安裝nginx [crayon-642515fae5248343002736/] 完成之後就可使用 nginx [crayon-642515fae524d016808396/] 若要設定為可以開機自動啟動,則把 nginx 啟動的 bash 檔放到 /etc/init.d/ 設定nginx的設定檔 nginx 的設定檔名為 ngix.conf,設定檔所在的路徑可以透過
- 使用pm2管理伺服器發表時間: 2019-10-06 上午 12:04上午 12:04pm2的操作 1. 安裝PM2 npm 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 ap
- 查看某個Linux裡服務的狀態發表時間: 2019-10-05 上午 12:43上午 12:43程序管理指令ps ps指令可以將某個時間點的程序運作情況擷取下來 僅觀察自己的 bash 相關程序: ps -l 觀察系統所有程序: ps aux 若覺得這個列表太長,可以使用grep來獲取想要知道的服務,例如 [root@study ~]# ps aux | egrep '(cron|rsyslog)' 使用service命令 下面指令可以查詢單個服務的運行狀態 [root@localhost
- 給予使用者帳號sudo權限發表時間: 2019-10-04 上午 1:20上午 1:20創建使用者帳號 使用有root權限的使用者登入系統 使用useradd來創建一個普通的使用者帳號 # useradd USERNAME 設定這個使用者的密碼 # passwd USERNAME Changing password for user USERNAME. New password: Retype new password: passwd: all authentication toke
- Hard Link與Symbolic Link的比較發表時間: 2019-10-03 上午 1:04上午 1:04硬連結 (Hard Link) 其特性如下: 以相同的i-node指向相同的檔案。 主要用於備份。 只能在同一個磁區 (Partition)中建立。 只能連結檔案,不能連結目錄。 指令為ln (原始檔案) (目地檔案) 如果我們對某個檔案做了硬連結,那麼若刪掉了其中一個,另一個仍然會可以讀去,但是,hard link 是有限制的: 不能跨 Filesystem 不能 link 目錄。 使用範例 軟
- 使用 systemctl 操作系統層級發表時間: 2019-10-02 上午 12:14上午 12:14列出所有的系統層級 # systemctl list-units --type target 顯示目前系統預設運作層級 # systemctl get-default 切換運作層級至文字模式(runlevel 3) # systemctl isolate multi-user.target 顯示某個服務的系統層級 若要查看某個服務現在執行的系統層級,可使用下列指令 systemctl show -
- linux管理Service的指令發表時間: 2019-10-01 上午 12:55上午 12:55systemctl命令 systemctl命令是系統服務管理的指令,它將service和chkconfig這兩個命令組合到一起。 systemctl語法使用介紹 [crayon-642515fae5748781907692/] command 主要有: start :立刻啟動後面接的 unit stop :立刻關閉後面接的 unit restart :立刻關閉後啟動後面接的 unit,亦即執行 s
- 目錄刪除rm相關指令發表時間: 2019-09-30 上午 12:36上午 12:36rmdir指令 許多人刪除資料夾時仍會使用rmdir指令,這個指令在刪除空資料夾時是OK的,但是若資料夾內有其他檔案時,便會顯示錯誤 並且這個指令只能刪除資料夾而無法刪除檔案。 rm指令 rm:remove 刪除目錄或檔案 若要完全刪除一個含有內容的資料夾,則應加上-rf參數。 也就是 rm -rf 目錄名字 -r 就是向下遞迴,不管有多少級目錄,一併刪除 -f 就是直接強行刪除,不作任何提示的意
- node.js和npm離線安裝發表時間: 2019-09-29 上午 1:21上午 1:21離線安裝node.js和npm 1.下載官方安裝包並拷貝到離線機器上。 官方下載地址:https://nodejs.org/en/download/ 2.解壓檔案: [crayon-642515fae5985124682562/] 2.放到相應目錄例如/opt/ [crayon-642515fae598a216566956/] 3.建立檔案連結使npm和node命令到系統命令 [crayon-64
- 在Linux離線安裝pm2發表時間: 2019-09-28 上午 1:12上午 1:12事前準備 先在一台能連網的Linux服務器上安裝pm2 npm install pm2 -g 查詢本機npm預設的全域安裝目錄 npm config get prefix 如果顯示/usr/local/node,則npm預設的全域安裝目錄是/usr/local/node/lib/node_modules/ 在預設的全域目錄下找到pm2 cd /usr/local/node/lib/node_mod
- 取得Linux安裝的系統的版本發表時間: 2019-09-27 上午 1:06上午 1:06取得核心版本資訊 uname -a 查看linux 系统核心版本及系統名稱 cat /proc/version 查看目錄/proc下version的信息,也可以知道目前系統的核心版本名稱 取得作業系統版本資訊 查看 /etc/*-release [crayon-642515fae5c4a060375707/] 並可以用下面指令查看更詳細的說明 [crayon-642515fae5c50907855
- Linux網路功能指令介紹發表時間: 2019-09-26 上午 12:00上午 12:00ifconfig 用來查詢系統的網路卡狀態 route 看你的網路通訊包傳送的路由情況 ping 用來察看對方網路是否有通 nslookup 用來查詢或反查詢 DNS 的指令,例如: 也可以用IP來查詢網址 traceroute 追查通訊包傳送的情況,例如我們要從 seednet 的網路上查詢到成大的代理伺服器的通訊狀況
- 線上練習Linux指令發表時間: 2019-09-25 上午 3:56上午 3:56有的時候我們可能需要練習Linux指令,但是又沒有一台Linux的主機 方法之一就是起一台虛擬機器,但是如果單純指是想要測試簡單的指令的話,線上有許多方便好用的工具可以供我們直接操作 JSLinux 網站連結:JSLinux 網站截圖 Copy.sh 網站連結:copy.sh 網站截圖: Webminal 網站連結:webminal 網站截圖: Linux Containers 網站連結:Linu
- 使用Plink快速在Linux伺服器下指令發表時間: 2019-09-24 上午 8:24上午 8:24軟體介紹 下載連結:Download Plink是Putty工具裡面的一個小工具,多被使用在自動執行的部份 若我們可能在自動化部署檔案到伺服器的前後自動執行某些SSH的指令,可以使用PLink來做到這個需求。 Plink可以將連進server並執行某指令用一行指令便做到。 指令介紹 使用介紹 自動連上(包含 username 與 passwd) c:\plink -ssh login.exampl
- Linux切換使用者發表時間: 2019-09-23 上午 12:49上午 12:49使用su切換使用者 使用su指令 $ whoami user1 $ su - user2 Password: $ whoami user2 $ exit logout 使用exit回到原本的使用者 使用sudo切換使用者 $ whoami user1 $ sudo -u user2 zsh $ whoami user2
- Linux 基本操作指令介紹發表時間: 2019-09-22 下午 4:32下午 4:32檔案操作相關 pwd: 顯示目前目錄 cd: 更換目錄 ls: 顯示檔案名稱與內容的指令(-a可顯示隱藏檔,-al同時顯示隱藏檔與詳細資料 ) cat: 將檔案內容列出的指令 more: 檔案太大的話,可以用 more 來一頁頁讀取喔(如: ls -al|more) mkdir: 建立新的目錄 rm: 刪除的指令,如rm test.txt,如果要刪掉整個資料夾下的檔案,則可以加-irf,如rm -
- Linux 設定開機自動執行程式發表時間: 2019-09-21 上午 12:15上午 12:15所有使用者登入自動執行指令 執行以下指令 vi /etc/profile 在裡面打入要執行的指令如下: /home/gtwang/my_script.sh 然後記得要有執行權限 chmod +x /home/gtwang/my_script.sh 個別使用者登入自動執行指令 如果只是要讓個別使用者登入執行的程式,就寫在使用者個人的 ~/.bash_profile、~/.bash_login 或是
- VI文書處理器發表時間: 2019-09-20 下午 9:59下午 9:59Linux的文書處理器 若要使用Linux來管理伺服器,文書處理是很重要的,因此會需要了解如何操作Linux裡的文書編輯軟體VI。 要呼叫VI的方式如下 VI的三種使用模式 因為純鍵盤的操作,又需要可以支持打字,因此VI將操作模式分為下面三種 一般模式:可以使用『上下左右』按鍵來移動游標,您可以使用『刪除字元』或『刪除整行』來處理檔案內容,也可以使用『複製、貼上』來處理您的文件資料 編輯模式: 用
- Linux用pm2來管理伺服器發表時間: 2019-09-19 上午 7:35上午 7:35pm2介紹 pm2 是一個管理 Node.js process 的工具,它可以讓我們用簡單的指令啟動 Node.js cluster 並最大化使用我們的 CPU,可以利用它來簡化很多node應用管理的繁瑣任務,如性能監控、自動重啟、負載均衡等,而且使用非常簡單。 安裝 使用npm安裝 npm install pm2 -g 目錄介紹 pm2安裝好後,會自動創建下面目錄。 $HOME/.pm2 將包含
- 在Linux與Windows間傳送檔案發表時間: 2019-09-18 下午 9:18下午 9:18PSCP介紹 PSCP 是一套使用命令提示列的軟體,是PuTTY相關可選擇使用的軟體。它提供 SCP client 的功能。當我們僅需要將一個或少數檔案從 pc 端 upload 到 server 端時,這套軟體就提供非常安全的方法,使得所傳送的內容不會被其他人給竊聽。倘若遠端有提供 SSH2 建議還是使用 PSFTP 會比較好。 檔案下載:pscp.exe 下載原站:Download PuTTY