本期介紹我的專案開發系統的建立,見下,
我的專案開發系統建立的原則:All in One;2/3 Backups
本期主推:JupyterLab——一個好用到爆炸的可視化互動開發神器
本期涉及的主要軟體/工具:JupyterLab | GitHub | GitHub Desktop | Git | iTerm2 | MobaXterm | Terminal | Git Bash | CMD | Typora | uPic | PicGo | TinyPNG4Mac | 移動硬碟 | U盤 | Notion | 印象筆記 | iCloud | Google Drive | 百度網盤 | EndNote 20 | MarginNote 3 | Books | Notes | GoodNotes | Notability | Prodrafts | Google Chrome | Safari | Microsoft Edge | XMind
以下是一個以問題/需求為導向,以系統性為原則的工具分享,如果你也感興趣這些軟體/工具是怎么應用到我的專案開發系統的,那就請繼續往下看吧!
專案開發環境
- Windows 系統
- MacOS 系統
- Linux CentOS 系統
下面來說說我為什么要同時使用這3個作業系統呢?那可不就是因為我富有么哈哈哈!開個玩笑啦haa,同時使用這3個系統,是因為我自己的電腦是MacBook Pro,課題組給配的電腦是戴爾臺式機,還有我們做資料分析必備的——實驗室的Linux服務器,
不用說,Linux服務器肯定是用得最多的,畢竟一周7天都在搞科研嘛~~其次就是我的小蘋果,辦公、碼字、敲代碼、跑程式都不在話下,但它有一個“小小的“缺點,就是不能同時開很多個軟體,我也是恨鐵不成鋼啊,,所以我在同時做多個任務時,就需要同時用到實驗室的電腦,
但,這就有一個問題了,我想把幾個設備就當一個設備來用,換句話說,就是讓這三個設備協同作業,彼時的我,就像在一臺電腦上作業,
那怎么讓這三個設備協同作業呢?你想知道嗎?那就跟著小編繼續往下看吧~
JupyterLab
首先從JupyterLab說起,我為什么選擇JupyterLab作為我的專案開發系統的核心軟體呢?其實我之前基本不知道Jupyter,是前段時間外導在面試我的時候,給我推薦的這個軟體,我當時還執著地認為VSCode大法無敵,事實上,我在很長一段時間都是把VSCode、GitHub、GitHub Desktop作為我的專案開發系統的核心工具的,可是自從嘗試了JupyterLab,我便再也不想打開VSCode了,只想說,Jupyter真香!
為什么放棄了VSCode,轉向JupyterLab呢?
首先,VSCode確實有很多吸引我的點:
- 高大上、顏值派,暗黑色的背景,布滿五顏六色的代碼,一眼看上去就逼格滿滿;并且有不同的代碼主題可選,可以按照自己的審美DIY出一幅“大作”哈哈,
- 優秀的寫作工具,在安裝markdown相關插件后,你可以使用markdown陳述句寫稿子,并且實時預覽markdown檔案,這不稀奇,稀奇的是它可以內裝PicGo插件,你只需用快捷鍵粘貼一下你的圖片,它就可以直接被上傳到你的圖床比如GitHub,并即時生成圖片鏈接,你說神不神奇~
- 強大的插件系統,基本上是要啥有啥,我用的最多的是自動補全和代碼高亮的插件,
但是,為什么顏狗的我,放棄了它呢?那還不是因為我變了(不是
在我這么久的親身踐行下,我很遺憾地,把VSCode這么強大的一個開發工具,用成了一個平平無奇的代碼編輯器,,我對不起它???♀?
為什么我放棄了VSCode?
- 遠程Linux服務器不穩定,VSCode是有本地終端和遠程Linux服務器功能的,我最初的時候也用過幾次,但遺憾的是,在遠程Linux服務器的時候,經常連不上或者斷掉,反復幾次之后,我也就不勉強它了,
- Git平時用得不多,雖然它有Git功能,我也配置好了,但這個功能,我自始至終也就只用了一次,,
- 它的Markdown比不上Typora,每當我打開一個markdown檔案時,它總會自動彈出預覽視窗,瞬間占據我一半螢屏,每次都給我氣個半死,,我其實想跟它說,我讓你出現的時候你再出現OK?另外,它并不能實作Typora的“所見即所得”的“即時渲染”效果,事實上,我更想兩步并作一步(帶格式書寫和格式轉換變作一步)地使用markdown,就像直接在白紙上寫字一樣,
- 體系過于龐大,啟動較慢,占用記憶體較大,插件系統強大,這是VSCode的優勢,但也是它的劣勢,龐大的插件系統,讓它只在VSCode就能實作各種各樣的功能,但在實作各種各樣功能的同時,也讓VSCode這個體系變得愈發龐大,拖慢了它的速度,也占用了更大的記憶體,
- 最后,我很遺憾地,把VSCode用成了一個平平無奇的代碼編輯器,因此它不能幫我遠程管理Linux服務器上的資料和檔案,當我想要預覽、查看或編輯Linux服務器上的PDF、CSV、JPG等檔案時,我只能先從Linux服務器把檔案下載到本地,再用本地對應的軟體打開相應的檔案,而我想要的是一個不用下載檔案,可以直接在Linux服務器上預覽和查看的可視化互動工具,
所以整體說來,VSCode對我來說,功能過剩,體系過于龐大,且不能真正實作“All in One”的功能,我需要的,是一個盡可能簡潔、輕便、“All in One”的可視化互動工具,而這,就是我選擇JupyterLab的原因,
JupyterLab——一個好用到爆炸的可視化互動開發神器
安裝
########## Linux服務器上安裝JupyterLab
####### 方法一
##### 01 安裝 Miniconda(此處省略詳細步驟)
##### 02 安裝 Python 3
### 安裝 openssl
cd ./Softwares
tar xzvf openssl-3.0.0-alpha17.tar.gz
cd openssl-3.0.0-alpha17
./config --prefix=/zs32/home/chxia/local/openssl shared
make
make install
# 查看是否安裝成功
openssl version
### 安裝 libressl
cd ./Softwares
tar xzvf libressl-3.3.3.tar.gz
cd libressl-3.3.3
./config
make
make install
### 安裝 Python3
# 關于ssl出錯解決辦法的重要參考:
# https://blog.csdn.net/jeryjeryjery/article/details/77880227
# http://zhang-jc.github.io/2018/11/27/CentOS-6-8-%E5%AE%89%E8%A3%85-Python3-Could-not-build-the-ssl-module/
# https://blog.csdn.net/Aidam_Bo/article/details/112919330
# 下載及解壓
wget https://www.python.org/ftp/python/3.9.5/Python-3.9.5
cd ./Softwares
tar -xzf Python-3.9.5.tgz
cd /zs32/home/chxia/Softwares/Python-3.9.5
# 編譯及安裝
./configure --prefix='/zs32/home/chxia/Softwares/Python-3.9.5' --with-ssl
make
make install
# 配置環境
vim ~/.bashrc
# 使用vim打開.bashrc檔案,并添加python的環境
export PATH=/zs32/home/chxia/Softwares/Python-3.9.5:$PATH
export PATH=/zs32/home/chxia/Softwares/Python-3.9.5/bin:$PATH
# 使生效
source ~/.bashrc
# 查看python版本
python
##### 03 安裝JupyterLab
# Installation with conda
conda install -c conda-forge jupyterlab
# Run JupyterLab
jupyter-lab
####### 方法二
##### 01 安裝 Anaconda
# 如果安裝 Anaconda,就已經安裝了jupyter,可以直接使用,只是版本可能會舊些,需要升級,
# 下載:從官網 https://www.anaconda.com/products/individual 下載 Anaconda3-2021.05-Linux-x86_64.sh
# 安裝
cd ./Softwares
bash Anaconda3-2021.05-Linux-x86_64.sh
# 然后一路確認,等待安裝完成即可
##### 02 升級 JupyterLab 到最新版本
jupyter lab --version
pip3 install --upgrade pip # 先升級 pip
pip install -U jupyterlab
####### 配置 jupyter lab
##### 01 生成jupyter密碼密文
### 進入 python,輸入
from notebook.auth import passwd
passwd()
### 會提示輸入密碼,此時即設定密碼
### 生成密碼密文,將其記錄保存備用
##### 02 生成組態檔
jupyter notebook --generate-config
##### 03 修改組態檔
vi ~/.jupyter/jupyter_notebook_config.py
### 在組態檔中添加下述內容:
c.LabApp.open_browser = False # 禁止打開瀏覽器
c.ServerApp.allow_remote_access = True
c.ServerApp.ip = '*' # 表示所有ip皆可訪問
c.ServerApp.open_browser = False
c.ServerApp.password = 'sha1:XXX' # 前面生成的密碼哈希值
c.ServerApp.port = 8889 # 瀏覽器連接jupyter需要的埠號,可隨便指定一個埠,默認為8888
### 退出保存即可
########## Mac上安裝JupyterLab
### 方法1: 使用 Anaconda 安裝 JupyterLab
# 01 官網(https://www.anaconda.com/products/individual)下載并本地安裝 Anaconda
# 02 直接運行JupyterLab(Anaconda會自帶jupyter notebook和jupyter lab): 打開終端,輸入 jupyter lab,就會自動打開網頁 http://localhost:8888/lab
# 03 然后就可以開始玩了~
### 方法2: 使用 Miniconda 安裝 JupyterLab
# 01 官網(https://docs.conda.io/en/latest/miniconda.html)下載并本地安裝 Miniconda
# 02 使用 conda 安裝 jupyter lab: 打開終端,輸入:
conda install -c conda-forge jupyterlab
# 02 使用 pip 安裝 jupyter lab: 打開終端,輸入:
pip3 install --upgrade pip # 先升級 pip
pip3 install jupyter jupyterlab
# 03 運行JupyterLab: 在終端輸入 jupyter lab,就會自動打開網頁 http://localhost:8888/lab
# 04 然后就可以開始遨游太空了~
########## Windows上安裝JupyterLab(使用 Anaconda 安裝 JupyterLab)
# 01 官網(https://www.anaconda.com/products/individual)下載并本地安裝 Anaconda
# 02 設定 jupyter lab 啟動目錄
# 打開 Anaconda Powershell Prompt 終端,輸入 jupyter notebook --generate-config,生成 C:\Users\Dell18\.jupyter\jupyter_notebook_config.py 檔案
# 打開上述檔案,添加 c.NotebookApp.notebook_dir = 'D:\GitHubDesktop'
# 保存退出即可
# 03 運行JupyterLab(Anaconda會自帶jupyter notebook和jupyter lab): 打開 Anaconda Powershell Prompt 終端,輸入 jupyter lab,就會自動打開網頁 http://localhost:8888/lab
# 04 然后就可以開心地玩耍啦!
########## Windows、Mac、Linux 后臺運行 JupyterLab
# 每次打開網頁版 jupyter lab 時都要打開相應的終端,并在相應的終端輸入 jupyter lab 來重啟,很不方便,所以我直接設定后臺運行,這樣也不用時刻開著終端視窗,
# 01 在 Windows Git Bash 本地終端 或 Mac iTerm2/Terminal 本地或遠程終端 或 Windows MobaXterm 遠程終端輸入:
nohup jupyter lab > jupyterlab.log 2>&1 &
# & 讓命令后臺運行,并把標準輸出寫入jupyterlab.log中;nohup 表示no hang up ,就是不掛起,這個命令執行后即使終端退出,jupyter 也不會停止運行,
# 02 從本地瀏覽器打開網址 localhost:8888 即可后臺運行 本地 jupyter lab
# Mac和Windows本地的 jupyter lab 在后臺運行,只要上面一句命令即可,
# 03 但遠程Linux服務器在本地瀏覽器后臺運行,還需要一個步驟,即在本地終端(Mac iTerm2/Terminal 終端; Windows Win+R 輸入 cmd,在 CMD 終端)輸入:
ssh -N -f -L localhost:8891:localhost:8889 -p Linux服務器外網埠 用戶名@Linux服務器外網IP地址
# 04 方便起見,將 ssh -N -f -L localhost:8891:localhost:8889 -p Linux服務器外網埠 用戶名@Linux服務器外網IP地址 寫入根目錄下檔案 j.sh
# Mac的根目錄在 /Users/xia/j.sh
# Window的根目錄在:
# 001 先找到 Git Bash 的根目錄:
Win + R 輸入 cmd 打開命令視窗,然后在命令列輸入 where git ,就會顯示 Git 的安裝路徑在 C:\Program Files\Git\cmd\git.exe
# 002 將檔案 j.sh 拷貝并放在 Git Bash 的安裝路徑下(訪問 Git 根目錄需要使用管理員權限,所以需要手動操作)
# 05 以后只需在本地終端(Mac Terminal/iTerm2;Windows Git Bash)輸入:
bash j.sh
# 運行完 bash j.sh 命令即可關閉終端,不影響后續 jupyter lab 的運行
# 06 從本地瀏覽器打開網址 localhost:8891 即可后臺運行 遠程Linux服務器 jupyter lab
########## 殺掉后臺程式:https://blog.csdn.net/qq_34385263/article/details/82080575
# 發現有錯誤時也不要緊,后臺運行的jupyter lab也可以隨時關掉~
# 只需在運行后臺程式的終端運行下述命令:
ps -axu xia(用戶名) | grep jupyter
kill -9 501(PID)
運行
##### Windows
# 我在Windows下暫不使用后臺運行 本地jupyter lab,但也可以設定為后臺運行,參考:
# https://blog.csdn.net/weixin_44051608/article/details/109532922
# https://www.jianshu.com/p/46c9a235793f
### Windows下 即時運行 本地 jupyter lab
# 01 在 Anaconda Powershell Prompt 終端輸入:
jupyter lab
# 02 從本地瀏覽器打開網址 localhost:8888 即可即時運行 本地jupyter lab
### Windows下 后臺運行 遠程Linux服務器 jupyter lab
# 01 在 Windows MobaXterm 遠程終端輸入:
nohup jupyter lab > jupyterlab.log 2>&1 &
# 02 在 Windows Git Bash 終端輸入:
bash j.sh
# 03 從本地瀏覽器打開網址 localhost:8891 即可后臺運行 遠程Linux服務器 jupyter lab
##### Mac
### Mac 后臺運行 本地 jupyter lab
# 01 在 Mac iTerm2/Terminal 終端輸入:
nohup jupyter lab > jupyterlab.log 2>&1 &
# 02 從本地瀏覽器打開網址 localhost:8888 即可后臺運行 本地jupyter lab
### Mac 后臺運行 遠程Linux服務器 jupyter lab
# 01 在 Mac iTerm2 遠程終端輸入:
nohup jupyter lab > jupyterlab.log 2>&1 &
# 02 在 Mac Terminal/iTerm2 本地終端輸入:
bash j.sh
# 03 從本地瀏覽器打開網址 localhost:8891 即可后臺運行 遠程Linux服務器 jupyter lab
日常運行
##### 不同作業系統下,日常運行 jupyter lab
### Mac 運行 本地 jupyter lab
# 直接從本地瀏覽器打開網址 localhost:8888 即可后臺運行 本地jupyter lab
### Windows 運行 本地 jupyter lab
# 01 Anaconda Powershell Prompt 終端輸入:jupyter lab
# 02 從本地瀏覽器打開網址 localhost:8888 即可即時運行 本地jupyter lab
### Mac 和 Windows 運行 遠程Linux服務器 jupyter lab
# 01 在本地終端(Mac Terminal/iTerm2;Windows Git Bash)輸入:
bash j.sh
# 02 從本地瀏覽器打開網址 localhost:8891 即可后臺運行 遠程Linux服務器 jupyter lab
JupyterLab 是我專案開發系統的核心軟體,它具有“All in One”的功能,我平時敲代碼、運行代碼/資料處理、查看PDF、CSV、JPG等格式的結果檔案、上傳和下載資料時,都是用它,簡單來說,在配合 GitHub、GitHubDesktop、Typora、uPic/PicGo 使用時,它對于我來說,就是一個把基于Windows、MacOS、Linux CentOS 三個作業系統的三臺服務器同時集成到一個作業空間的可視化互動開發工具,
Git/Git Bash
Git 是目前世界上最先進的分布式版本控制系統,
我安裝 Git 首先是因為我要用GitHub Desktop,而它安裝和運行的前提是系統已經安裝了Git;另一個原因,是為了提交更新我的個人博客網站 touchumind.com ,因為這個網站是基于GitHub Pages靜態網站托管服務進行搭建的,換句話說,這個網站是通過GitHub Pages直接托管在 GitHub 的服務器上的,
不管是基于 GitHub Desktop 將本地代碼提交更新到 GitHub,還是個人博客網站內容的提交更新,都需要用到 Git,原因就是 GitHub 使用的版本控制系統是 Git,
Git Bash 是 Git 自帶的,它在你安裝 Git 的時候也會被同時安裝,可以把 Git Bash 當作類似于 Mac Terminal 終端的 Windows 系統的終端,我用 Git Bash 終端主要做兩件事,第一是執行 Git 命令,第二是在Windows下使用 linux 命令,比如 pwd, ls, ls -l, vi, vim 等,
GitHub/GitHub Desktop
下面就來說說多次提到的 GitHub 和 GitHub Desktop 吧,
簡言之,GitHub 和 GitHub Desktop 是我的代碼管理系統、臨時筆記系統、個人博客網站托管平臺和備份系統、個人博客的免費圖床,
我的代碼管理系統
代碼編輯器
本地JupyterLab
代碼備份平臺
- 本地 GitHub Desktop 檔案夾
- GitHub 網站
代碼提交更新工具
GitHub Desktop
我的臨時筆記系統
臨時筆記包括臨時會議記錄、臨時提醒事項、臨時思路和想法、臨時素材等各種臨時文字,
我的臨時筆記空間
/Users/xia/Documents/GitHub/Notebook
我的臨時筆記備份
-
本地
/Users/xia/Documents/GitHub/Notebook -
GitHub:將 Mac 本地臨時筆記空間檔案夾
/Users/xia/Documents/GitHub/Notebook通過 GitHub Desktop 及時備份到 GitHub
個人博客網站托管平臺和備份系統
個人博客網站托管平臺
https://github.com/CuihuaXia/cuihuaxia.github.io
個人博客網站備份系統
將 Mac 本地的個人博客網站源檔案夾 /Users/xia/Documents/MyBlog 通過 GitHub Desktop 定期備份到 GitHub
個人博客的免費圖床
圖床是專門用來存放圖片(包括動圖),同時允許你把圖片對外連接的網上空間,
圖床是我們在發布帶圖片的在線博客時所必須的存盤空間和流量平臺,
在 GitHub 網站,新建一個公共倉庫,名為 images,然后獲取個人 token 并保存(這個 token 只會顯示一次所以需要及時保存),后面在設定圖床客戶端的時候需要這個token,
此時,位于 GitHub 上的 images 公共倉庫,就是我所說的圖床,
iTerm2/Terminal/CMD/MobaXterm
Terminal
Mac 本地終端
CMD
Windows 本地命令列工具
iTerm2
Mac 本地終端運行和遠程連接 Linux 服務器工具
MobaXterm
Windows 遠程連接 Linux 服務器工具
Typora——最好的Markdown工具
《論語》有言:“吾日三省吾身”,我們很多人可能做不到“日三省”,但“周一省””月一省“甚至“年一省”還是沒有太大難度的,
在一段時間的作業后,我們確實很有必要,回頭對前一段時間的作業和學習,甚至是生活,進行一個系統的總結和復盤,讓我們更加清楚自己這段時間識訓了什么、識訓了多少,有哪些進步,又有哪些不足,為下一階段的作業和生活做出階段目標指導和方向確定/調整,
那么,Typora 就作為了我的正式碼字——各種嚴肅的科研、學習、作業總結復盤工具,
Markdown工具如今已經層出不窮,但我認為Typora之所以能“獨領風騷”“一騎絕塵”,就在于它的極簡主義和“所見即所得”的“即時渲染”效果,當然它還有很多其他優秀“才藝”的加持,比如插入公式、插入圖片的方式等,
我為什么選擇 Typora 作為我的碼字工具呢?最主要是因為它能通過圖床客戶端 uPic 等,自動上傳圖片到圖床,同時將本地的圖片路徑轉換成在線 URL,我不需要做任何特殊操作,不管來自哪里的圖片,只要它在剪貼板上,我只需要執行正常的 Command + V 操作,就能一步實作粘貼圖片、上傳圖片、轉換 URL,另外,Typora 輕量級、簡潔大方、所見即所得、即時渲染的特點,也是我選擇它的原因,
我的碼字工具
Typora
我的碼字空間
/Users/xia/Documents/GitHub/Drafts
即在 GitHub 網站建立一個私人倉庫 Drafts,然后通過本地 GitHub Desktop 克隆這個倉庫到本地路徑 /Users/xia/Documents/GitHub/Drafts
我的碼字文章備份
-
本地
/Users/xia/Documents/GitHub/Drafts -
GitHub:將 Mac 本地碼字空間檔案夾
/Users/xia/Documents/GitHub/Drafts通過 GitHub Desktop 及時備份到 GitHub
個人博客網站文章發布/更新
# 01 使用本地 JupyterLab 打開 Mac 本地終端
# 02 將本地 /Users/xia/Documents/GitHub/Drafts 中寫好的文章(該markdown檔案),拷貝到 Documents/MyBlog/source/_posts/ 檔案夾下
cp Documents/GitHub/Drafts/我的專案開發系統.md Documents/MyBlog/source/_posts/
# 03 vim 打開該檔案
vim Documents/MyBlog/source/_posts/我的專案開發系統.md
# 04 添加如下開頭,然后退出保存
---
title: 我的專案開發系統(文章名稱)
mathjax: false
show_copyright: true
date:
tags: 科研工具
categories: 實用工具
description:
img:
top:
cover:
coverImg:
password:
toc:
summary:
---
> 更新于 XXXX-XX-XX XX:XX
# 05 在終端執行:
cd /Users/xia/Documents/MyBlog
hexo cl && hexo g && hexo d
uPic——一個簡潔的Mac圖床客戶端
uPic 是我為了搭配 Mac Typora 使用而安裝的(Windows Typora 使用的是 PicGo),是為了配合實作 Typora 的上傳圖片功能,
在 Typora 設定里選擇 Image,然后修改第一項為“Upload image”,然后只勾選前兩個復選框,最后“Image Uploader”那里選擇”uPic“,
下載安裝好 uPic 之后,在 uPic 設定里添加 GitHub 為圖床,然后將用戶名、倉庫名、分支名以及Token填好并保存,
分別在 Typora 和 uPic 點擊驗證或測驗按鈕,如果圖片上傳測驗成功,會有成功提示,
TinyPNG4Mac
為了減少博客文章的負載,在上傳圖片之前,通常需要在保證圖片質量的前提下把圖片檔案壓縮為更小,而 TinyPNG4Mac 就是同時滿足這兩個條件的輕量級圖片壓縮軟體,
移動硬碟
用來做專案重要資料(比如原始資料)的第3個備份,專案的非重要資料只做本地和Linux服務器兩個位置的備份,
U盤
用來臨時存放要臨時使用(如列印、不同設備之間拷貝等)的檔案,
專案進度管理系統
Notion
輕量級檔案備份系統
1. 印象筆記
2. iCloud
3. Google Drive
4. 百度網盤
文獻/PDF檔案管理系統
1. EndNote 20
2. MarginNote 3
電子書管理系統
Apple Books
日常筆記管理系統
1. 印象筆記
2. Apple Notes
3. Apple GoodNotes
4. Apple Notability
5. Apple Prodrafts
瀏覽器系統
1. Google Chrome
2. Safari
3. Microsoft Edge
思路整理系統
1. XMind
2. Prodrafts
目前已淘汰軟體
FileZilla,WinSCP,VSCode,Transmit
總結
最后用一張思維導圖總結我平時開發課題專案的流程:

本文章首發于個人微信公眾號 TouchUMind 和個人嗶哩嗶哩賬號 iTouchUMind,備份(終稿)于個人博客網站 touchumind.com,歡迎關注和支持!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/288393.html
標籤:其他
上一篇:使用「語雀」搭建個人博客
