微信手机网站支付怎么做,丰县网站建设,织梦网站模板安装,做公司官网需要多少钱概述
所谓工欲善其事必先利其器#xff0c;搭环境往往是开发过程中卡出很多初学者的拦路虎。 对于很多老鸟来说#xff0c;很多东西都已经习惯成自然#xff0c;也就没有刻意和初学者说。但对于很多初学者#xff0c;却是受益良多。 这个系列#xff0c;先从操作系统开始…概述
所谓工欲善其事必先利其器搭环境往往是开发过程中卡出很多初学者的拦路虎。 对于很多老鸟来说很多东西都已经习惯成自然也就没有刻意和初学者说。但对于很多初学者却是受益良多。 这个系列先从操作系统开始记录一些在开发中常用的工具和小技巧
操作系统
.NET 和 iOS 开发请绕路这里主要针对的Linux。目前很多开发都需要一台Linux环境来进行编译调试等等。然而公司发给大家的一般都是win的电脑。 考虑到各种安全策略的限制还没发直接安装Linux系统若干年前只能通过Virtualbox等软件来安装虚拟机来曲线救国。 后来有了Microsoft 的Hyper-V 等技术方便了虚拟机的安装但终究是要在不同的系统之间来回切换的还是不是很方便。那么有什么方法可以在windows 下操作linux呢 当然有了不得不提当前Linux最优秀的发行版本,Windows 的 Subsystem Linux(WSL)!!!
曾几何时WSL 还只能支持命令行操作在WSL中使用GUI 应用还需要另外配置RDP。现在已经进化到自带RDP协议Run Linux GUI apps on the Windows Subsystem for Linux只需要一个命令就可以在WSL中使用IDEA敲代码 然你感受丝般顺滑真的不信的去试下在WSL打开IDEA和Win 下打开IDEA的速度。 支持各类Shell 命令再也不用在Git Bash 里敲命令了太爽了。
安装WSL 也极其简单, 参照这里Install Linux on Windows with WSL
检查当前操作系统需要Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11 不满足条件的请升级如果硬件不够不能升级的请打公司老板或者IT一顿。老子10年前的i5 都能升级连这个硬件都没有还搞什么开发进入PowerShell, 查看可安装版本
(base) PS C:\Users\Administrator wsl --list --online
The following is a list of valid distributions that can be installed.
Install using wsl.exe --install Distro.NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed选取所需版本并进行安装我习惯ubuntu了就安装了最新的ubuntu
wsl --install -d Ubuntu-22.04可选切换WSL 版本新系统的WSL 一般是v2, 如果是v1 可以切换为v2。两者主要是IO上有些性能差距做一些特定方向的测试时可能会有影响个人实际开发中一直使用v2感觉良好。具体差异对比见Comparing WSL Versions
wsl --set-version Ubuntu-22.04 2然后就是进入系统设置用户名密码这些和正常安装ubuntu一样。
(可选安装Windows Terminal Terminal工具大家挑个自己顺手的就行都能连WSL。 如果没有这里安利下Windows Terminal毕竟一家的产品集成的比较好。非运维的话日常用足够了。
setup
可选换源
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cat /etc/apt/sources.list EOF
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
EOFsudo apt-get update -y
sudo apt-get upgrade -y安装常用lib
sudo apt-get install vim -y # nano用不惯替换为vim
sudo apt-get remove nano -y
sudo apt-get install curl -y
sudo apt-get install iputils-ping net-tools -y
sudo apt-get install sshpass -y
sudo apt-get install zip unzip -y
sudo apt-get install openssh-server -y安装zsh 和 oh-my-zsh
# install zsh
sudo apt install zsh -y
chsh -s $(which zsh)
## verify
zsh --version# install oh-my-zsh
sh -c $(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)## 国内
# sh -c $(wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh -O -)# set oh my zsh theme
##vi .zshrc
##ZSH_THEMEafowler
## 更多主题参见 https://github.com/ohmyzsh/ohmyzsh/wiki/Themes## plugins 自动补全和加亮
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
## 更多插件查看 https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins## plugin 配置
#vi .zshrc
#plugins(git
#zsh-autosuggestions
#zsh-syntax-highlighting
#)安装SDKMAN SDKMAN 是一个 SDK 管理工具 可以管理多个JDK版本。 除了JDK外还支持Scala, Groovy 等SDKs
curl -s https://get.sdkman.io | bash
sdk install java 8.0.382-amzn
sdk install java 11.0.20-amzn
sdk install scala 3.3.0安装nvm, node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
nvm install latest
npm install --global yarn
#可选换源
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/anaconda
sudo apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6 -ywget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh # 从这 https://repo.anaconda.com/archive/替换为你需要的版本sh Anaconda3-2022.05-Linux-x86_64.sh # 一路yes# 可选换源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitkconda config --remove-key channels # 建议删除defaut的默认源(推荐) 或者 vi ~/.condarcconda config --set show_channel_urls yes
conda info# 创建python 环境
conda create -n mypython python3.10.3docker
# 一键安装docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
sudo systemctl start docker
docker version# 设置Docker 自启动
systemctl daemon-reload
systemctl restart docker.service
systemctl enable docker.service
# 关闭docker 服务自启动
systemctl disable docker.service# 添加docker 用户组
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
sudo systemctl restart docker
docker ps安装vscode, idea等 wsl 已经继承了RDP 协议可以直接在wsl里面起这些有UI的应用
# 查看有哪些可用的
sudo snap search chrome# 安装
sudo snap install --classic code
sudo snap install firefox
sudo snap install pycharm-community
sudo snap install intellij-idea-community# 启动的话只需要 snap run firefox支持中文
# 安装中文语言包
sudo apt install language-pack-zh-hans# 设置中文为默认语言 选择en_US.UTF-8和zh_CN.UTF-8, 选择zh_CN.UTF-8为默认语言
sudo dpkg-reconfigure locales# REF: https://blog.csdn.net/weixin_43589764/article/details/124327175kubectl
curl -LO https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectlall in one script 针对自己的需求可以把常用的写进一个脚本里这样换环境的话就能一键setup了。 这是我常用的setup_dev_env_in_one_shell.sh 配置.zshrc 因为用了zsh 有些调整需要改下.zshrc 才生效。 还有snap 启动应用这些可以写一些alias更加方便
# If you come from bash you might have to change your $PATH.
# export PATH$HOME/bin:/usr/local/bin:$PATH# Path to your oh-my-zsh installation.
export ZSH$HOME/.oh-my-zsh
ZSH_THEMErobbyrussell
plugins(gitzsh-autosuggestionszsh-syntax-highlighting)source $ZSH/oh-my-zsh.sh# conda
export PATH/home/miao18/anaconda3/bin:$PATH# conda initialize
# !! Contents within this block are managed by conda init !!
__conda_setup$(/home/miao18/anaconda3/bin/conda shell.bash hook 2 /dev/null)
if [ $? -eq 0 ]; theneval $__conda_setup
elseif [ -f /home/miao18/anaconda3/etc/profile.d/conda.sh ]; then. /home/miao18/anaconda3/etc/profile.d/conda.shelseexport PATH/home/miao18/anaconda3/bin:$PATHfi
fi
unset __conda_setup
# conda initialize
conda activate spider# nvm
export NVM_DIR$HOME/.nvm
[ -s $NVM_DIR/nvm.sh ] \. $NVM_DIR/nvm.sh # This loads nvm
[ -s $NVM_DIR/bash_completion ] \. $NVM_DIR/bash_completion # This loads nvm bash_completion# alias
alias pycharmsnap run pycharm-community#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR$HOME/.sdkman
[[ -s $HOME/.sdkman/bin/sdkman-init.sh ]] source $HOME/.sdkman/bin/sdkman-init.sh