發表文章
[shell] Mac Terminal Commands Notes
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
運算符號 | 可以把左邊指令的輸出傳給右邊的指令,舉例: pwd | pbcopy pwd 是顯示目前路徑, pbcopy 是複製到剪貼簿,用上面的指令就可以把目前路徑複製到剪貼簿。 運算符號 && 常用來做 AND 的判斷,這裡的意思是如果左邊的指令成功了才執行右邊的指令。 mkdir test && cd test 建立資料夾 test 成功了的話才進去 test 資料夾。 運算符號 || 只有在左邊的指令傳回 false 或失敗的時候才會執行右邊的指令...目前還沒有用過。 分隔符號 ; 用來接續執行幾個指令。 cd test;cd .. 符號 > 會輸出傳回值並以覆蓋方式寫入檔案。 pwd > test.txt 符號 >> 會輸出傳回值並寫入在檔案內容最後面。 pwd >> test.txt 計算資料夾中檔案總數 ls | wc -l 顯示目錄下所有資料夾 ls -d */ 計算資料夾中符合條件檔案數目 ls *.txt | wc -l 顯示所有符合條件檔案中文字行數和行數加總 wc -l *.txt 顯示資料夾大小 du -sh */ 顯示資料夾中檔案大小(顯示B/MB/GB) ls -lh 顯示硬碟剩餘空間 df -h 想到再來加。
[python] django + virtualenv 虛擬環境
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
參考 djangogirls Python 3.3 之後已經加入 venv 模組,可以直接使用。 (昨天新開的 GCP 虛擬主機系統選的是 CentOS 8 似乎沒有裝 python 2 ,預設的 python 版本是 3.6.8) python3 -m venv django-venv 這裡的 django-venv 是我給虛擬環境取的名稱,執行指令後會在目錄中建立一個名為 django-venv 的資料夾。 如果取了其他名稱,在接下來的指令中也要把 django-venv 替換掉。 啟動虛擬環境 source django-venv/bin/activate 如果看到前面多了 (django-venv),就是已經成功切換至該虛擬環境。 (django-venv) [joremy@instance-1 django-test]$ 這裡的 django-test 是我所在的目錄名稱。 輸入 deactivate 退出虛擬環境。 (django-venv) [joremy@instance-1 django-test]$ deactivate 發現虛擬環境中有把 python 加入 path 會直接指向 python 3.6.8 ,這樣就不用再多打一個 3 了 XD 接下來就可以在虛擬環境中安裝 django 了。 pip install django 或者安裝指定版本。 pip install "django<1.9" 安裝完成後來檢查一下,先進入 python 互動環境。 (django-venv) [joremy@instance-1 django-test]$ python 引用 django 然後檢查版本。 import django django.VERSION (3, 0, 4, 'final', 0) 最後一行顯示的是版本,看到這個就是安裝成功了。
[centos] uwsgi 操作指令
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
因為現在在測試的環境帳號沒有 root 權限只好都加上 sudo 使用 ini 配置檔案啟動 uwsgi sudo uwsgi --ini uwsgi.ini 啟動後會出現的前幾行會類似這樣 [uWSGI] getting INI configuration from uwsgi.ini *** Starting uWSGI 2.0.17.1 (64bit) on [Wed Mar 11 18:31:24 2020] *** compiled with version: 4.8.5 20150623 (Red Hat 4.8.5-36) on 08 March 2019 03:58:40 os: Linux-3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 停止 uwsgi sudo uwsgi --stop uwsgi.pid 重載 uwsgi sudo uwsgi --reload uwsgi.pid 列出 uwsgi 行程 i forgot hahaa 檢視目前開啟的 uwsgi 行程 ps -aux | grep uwsgi 列出所有行程 ps -aux | less 停止所有 uwsgi 行程 sudo pkill -f uwsgi -9 這些是目前用過的。
[python] nginx + uwsgi + django 環境部署
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
第一次做 web server 環境部署,從週一開始至少看了超過100篇文章了吧... 一堆文章不是排版很差,就是程式碼直接貼到文章裡,沒有排版沒有上色,看得眼睛很累,所以就來轉貼整理其中一篇。 原文在這裡: 點我 pip3 install uwsgi 安裝 uwsgi ,安裝成功後,用下面的指令來確認 uwsgi 是否能正常啟動 web 服務。 uwsgi --http :8000 --wsgi-file ProjectName/wsgi.py (注意 ProjectName 要換成自己的項目名稱,並確認檔案位置正確) uwsgi 支持通過 ini 等配置檔案來啟動的,所以我們將使用配置檔案來啟動 uwsgi ,專案目錄下新建一個目錄 script (這個看個人喜好,也可以不用,為了方便管理,只要確認檔案位置正確就行),在新目錄 script 下新增 uwsgi.ini 配置檔案,配置內容如下 # uwsig 使用配置文件啟動 [uwsgi] # 專案目錄 chdir = /home/path/to/project/example/ # 指定專案的 application module = example.wsgi # 指定 socket 的檔案路徑 # socket = :8000 # 要用 browser 連的時候用這個 http = :8000 # 啟用主線程 master = true # 自動移除 unix Socket 和 pid 檔案,當服務停止的時候 vacuum = true buffer-size = 32768 這是主要的配置,還有更多選項可以設定,不過這些已經足夠正常啟動 uwsgi 了。 這裡需要注意的一點的是,前面提到過 uwsgi 也是一個 web 服務器同樣能完成 nginx 的工作,在這裡 nginx 並不是必須的,但是為了生產環境的性能和服務穩定經常和 nginx 搭配使用, nginx 和 uwsgi 使用 socket 來保持聯繫,因此如果想單獨使用 uwsgi 作為 web 服務器或者測試 uwsgi 服務器的話,上面配置項中的 socket 需要改為 http ,等配好了 nginx ,又需要要改回 socket 連線。 現在使用 uwsgi.ini 來啟動 uwsgi 服務(...
[面試] 2019年上海特斯拉 Tesla 面試 Software Engineer 經驗
- 取得連結
- X
- 以電子郵件傳送
- 其他應用程式
這次是面試 Factory Software Engineer 的職位,從獵頭推薦、人資聯絡、線上測驗、線上面試、現場面試、到結果,總共是三週時間。 其中有一週是在等公司跑流程發 offer 所以到面試完的時間是兩週,應該算短的,因為他們現在好像很缺人。 一開始是跟獵頭電話溝通完以後,要我用他們的履歷格式寫一份讓她給公司。因為是仔細針對職缺訊息下去改寫的,花了我一個晚上的時間。 (遇到的這個獵頭真的很菜 = = ,溝通能力很差...電話跟她講聽不懂留言還不看。要談薪水的時候也是,比我開的期望薪資低了一大截,我都懷疑她是公司找來壓價碼的了。) 1. 線上測驗 過了一個週末的週一我就收到特斯拉透過 Codility 寄過來的 online coding test 邀請,要在 48 小時內做完,那兩天剛好因為上海進口博覽會公司調整休假,收到當天我是先把 Codility 範例題做了一下,隔天才開始做正式的題目。 題目總共五題,開始寫題目之後要在約三個半小時內做完,我拿到的分別是考 SQL & behavioral question & Javascript & 兩題演算法。 SQL 題目很簡單,Javascript 很久沒有用了在查 jQuery 指令花了不少時間,還好這題不要求效能,兩題演算法都是類似 Leetcode medium 看過的題目。 Codility 在提交之前可以自己寫 test case 去測試程式碼,另外在全部提交以後會另外跑很多 case 測試正確性和速度,除了 behavioral question 不會馬上算分數以外,其他題目都會用正確性和效能馬上算出一個分數給你看。雖然兩題演算法我寫的效能測試一題只有過 33%,另一題過 66% 不過總分聽獵頭說算是蠻高的。 2. 線上面試 寫完 Codility 隔天早上九點(週三)我還在搭地鐵的時候,特斯拉 HR 就打電話過來了...說 Codility 分數不錯要儘快安排線上和現場面試,然後就安排了週四早上七點跟美國工程師線上面試,超級早!! 本來還說週四早上面試完要我再跑去辦公室跟主管現場面試,後來下午又打來說主管沒時間,現場要再改其他時間,但是我也有其他面試安排,喬了一陣子最後安排下週一下午到現場去。 面試安...