分享下工作PC的环境配置

guide
<1 min
分享下工作PC的环境配置

关于日常使用的一些服务部署和工具链

需要声明的是,工作环境中软件和工具的使用具有一定的局限性,包括不限于:

  1. 上手难度。非必要不会浪费过多精力在一个非主线任务上。
  2. 稳定性和可靠性。软件或服务工具链搭建好后,后续不能有太多的维护投入。
  3. 访问权限。要做的是内网IP的隔离。
  4. 符合公司要求。最大的门槛是网络代理问题。

类似性能要求、监控记录、成本、备份等,不需要考虑太多。

部署逻辑

壹丨工作PC部署的服务&工具链

1. 图床工具链

参考:🍃MinIO搭建本地图床

工具作用备注
MinIO高性能对象存储💊MinIO
🛀.\minio.exe server D:\Bucket
PicGo图床上传工具❤️Herbertzz/picgo-plugin-minio + 手动添加支持媒体格式
TyporaMarkdown写作❤️yiyifengheju/aqua-typora-theme

2. 工作笔记

涵盖技术调研、技术交流、行业动态、问题汇总等方面(保密原因只能写这些)

工具作用备注
Mkdocs构建项目文档的静态站点生成器💊MkDocs
Material for Mkdocs基于Material Design设计语言的MkDocs主题💊Material for MkDocs

3. 导航页O NAV

涵盖经常访问的ChatGPT、部署链接(MkDocs、算法库git、MinIO、Streamlit工具)、参考手册、信息索引、打工导航(内网站点)、摸鱼导航、个人博客等

工具作用备注
hexo快速、简介且强大的静态博客框架🛀npm install -g hexo-cli
hexo-theme-webstack基于webstack的Hexo主题❤️HCLonely/hexo-theme-webstack

4. AutoGit及Windows任务计划

基于Windows任务计划和bat脚本实现

  1. 添加到开机任务:(启动WSL的Apache2服务,启动MinIO服务)
1
2
3
4
5
6
@echo off
wsl --set-default-version 1
powershell -Command "$command = 'echo ''PASSWD'' | wsl sudo -S service apache2 start'; Invoke-Expression $command"

cd /d C:\
.\minio.exe server D:\Bucket
  1. 添加到定时任务:(提交koko-learn改动,更新Rye)
1
2
3
4
5
6
7
8
@echo off
cd /d path/to/koko-learn
set datetime=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%
git add .
git commit -m "upload - %datetime%"
git push http://user:[email protected]/xxx/koko-learn.git

rye self update

❗❗强烈建议使用符合Conventional Commits规范的提交信息(本场景下只用于备份和防剽)

5. WSL及Apache2

家用电脑上大多数编程环境部署在WSL上,工作电脑直接把NPM、Git、前端工具等装在了本机上

工具作用备注
WSLWindows Subsystem for Linux🦢 WSL安装安装指定版本
Apache2开源、跨平台的HTTP服务器软件💊APACHE

6. PPT

  1. 一些放不到PPT上的大尺寸的图片/PyEcharts绘图等,会托管在图床(弃用)或Apache2上,再为PPT添加跳转链接。以Apache2为例:

    第一步,添加新端口,如5000端口,指向本地路径,如D:\ApachePPT。参考:🎄 使用Apache2使用多个端口添加网站

    第二步,将网页或图片复制到目标路径,如D:\ApachePPT\20240823\Scatter_3D.html

    第三步,PPT中添加跳转链接为http://192.168.0.120:5000/20240823/Scatter_3D.html

  2. PPT做一些简单的图像处理,如抠图等,略。参考:☔ 修改PPT图片导出分辨率

贰丨编程工具&环境

1. Jetbrains半家桶:(使用Jetbrains Toolbox管理)

工具编程语言使用频率
Pycharm ProfessionalPython、Jupyter Notebook⭐⭐⭐⭐⭐
CLionC⭐⭐⭐⭐
WebStormHTML、CSS、JavaScript⭐⭐⭐⭐
Fleet文本编辑器
DataSpellJupyter Notebook、Python
RustRoverRust⭐(Rust还没学会)

2. Microsoft半家桶

工具编程语言使用频率
Visual Studio 2019C⭐⭐(只在编译时候用)
Visual Studio Code文本编辑器

3. Python包管理

工具使用原因使用频率
Rye简化依赖管理、包安装速度快、确保开发环境一致性⭐⭐⭐⭐⭐
Anaconda❌团队收费弃用
MiniForge✔️开源免费弃用

Anaconda和MiniForge都基于Conda。Conda无法应对依赖冲突问题,举个简单的例子:

假设A包兼容Python 3.10版本,当将Python版本提升到3.12时,A包不兼容3.12版本,但A包仍可在Py3.12环境安装,当使用时才会报一系列错误

4. 前端相关工具

工作电脑直接安装在了本机系统,包括NPM、Lessc、sass、csso、uglifyjs等,略。

5. 算法&工具库

基于Python开发日常使用一些脚本、算法库。以koko-learn为例,在目标环境执行:

1
2
rye add koko_learn --path /path/to/koko_learn-2024.8.tar.gz
rye sync

6. 分析工具&数据采集工具

(保密原因不能多写)

工具作用备注
Streamlit快速构建和部署数据应用和机器学习应用🛀streamlit run home.py

叁丨常用软件

用途工具使用频率备注
📃 文本工具-临时记录heynote⭐⭐⭐⭐⭐💊heynote
📃 文本工具-文本编辑器Sublime Text⭐⭐💊Sublime Text
📃 文本工具-解析logNotepad++⭐⭐⭐💊Notepad++
📷 截图Snipaste⭐⭐⭐⭐⭐💊Snipaste
👀 看图Honeyview⭐⭐⭐⭐⭐💊Honeyview
👨‍💻 终端Windows Terminal⭐⭐⭐⭐⭐💊Windows Terminal
👨‍💻 终端MobaXterm⭐⭐💊MobaXterm
🌠 流程图draw.io⭐⭐⭐💊draw.io
🌳 思维导图MindMaster⭐⭐⭐💊MindMaster
🌳 思维导图XMind(家用)(⭐⭐⭐⭐⭐)💊XMind
🌐 网页浏览Chrome⭐⭐⭐⭐⭐💊Chrome
🌐 网页浏览Firefox⭐⭐⭐💊Firefox