个人笔记¶
vscode相关设置¶
远程SSH编辑编译调试¶
前提条件¶
- 远程系统需要安装openssh,gdb
- 本地系统需要安装git,vscode,Remote-Development扩展
免密登录ssh¶
在git bash中,输入如下指令
1 2 3 | ssh-keygen //如果已经生成过,可跳过
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名字@192.168.x.xxx
ssh 用户名字@192.168.x.xxx // 测试连接
|
调试设置¶
在项目根目录下新建.vscode/setting.json,输入如下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | {
"version": "0.2.0",
"configurations": [
{
"name": "gdb Remote Launch",
"type": "cppdbg",
"request": "launch",
"program": "~/git/hello/a.out",
"args": [
"myarg1",
"myarg2",
"myarg3"
],
"stopAtEntry": true,
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "gdb",
"miDebuggerArgs": "gdb",
"linux": {
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"miDebuggerServerAddress": "192.168.56.101:2333",
},
"logging": {
"moduleLoad": false,
"engineLogging": false,
"trace": false
},
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"cwd": "${workspaceFolder}",
}
]
}
|
本节设置请参考如下网址
ReadTheDoc设置¶
安装miniconda,打开conda CMD
1 2 3 4 | conda create -n py37 python=3.7
conda activate py37
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install flake8 sphinx sphinx-autobuild sphinx_rtd_theme
|
如果遇见找不到python的问题,可以通过ctrl+shift+p,输入python:select interpreter来指定python。
本节设置请参考如下网址
远程开发¶
reStructuredText的网络内容¶
参考资料¶
vscode下使用reStructuredText¶
- 安装vscode
- 安装miniconda
- conda install sphinx sphinx-autobuild sphinx_rtd_theme
- 安装reStructuredText扩展
vbox下arclinux的笔记¶
enp0s8没有ip¶
如果设置完hostonly后,发现enp0s8没有IP,或者有时候会突然丢失IP,那么可以直接通过pacman安装NetManager来解决这个问题,当然要记得启动NetworkManager服务。
1 2 3 4 | pacman -S NetworkManager
systemctl enable NetworkManager
systemctl start NetworkManager
systemctl status NetworkManager
|
zsh下配置.bash_profile不起作用¶
当使用zsh时,如果直接在.bash_profile中配置,是不会工作的,因为zsh加载的是~/.zshrc。所以可以直接在.zshrc中配置。
Node笔记¶
npm包的发布¶
npm publish –access public
Node服务相关笔记¶
PM2使用¶
1 2 3 4 5 6 7 8 9 10 11 | pm2 start (启动服务)
pm2 save (保存当前已经启动了的服务)
pm2 startup (设置开机自启的配置)
# 一般的服务器,执行上面的三个步骤,就可以了,会看下下面命令的反馈
# [PM2] [v] Command successfully executed.
# +---------------------------------------+
# [PM2] Freeze a process list on reboot via:
# $ pm2 save
# [PM2] Remove init script via:
# $ pm2 unstartup systemd
|
如果,你的服务器有异常,那你可能需要自己执行某些命令,往下看
1 2 3 4 | # 执行pm2 startup以后会得到以下提示 设置环境变量
# [PM2] Init System found: upstart
# [PM2] To setup the Startup Script, copy/paste the following command:
# sudo env PATH=$PATH:/opt/bitnami/nodejs/bin /opt/bitnami/nodejs/lib/node_modules/pm2/bin/pm2 startup upstart -u bitnami --hp /home/bitnami
|
粘贴复制 sudo env….这一部分的命令 执行命令
设置完成,sudo reboot 手动重启服务器pm2 list 查看验证
TypeOrm 与 SQL笔记¶
获取join on最新的记录¶
/// @todo 说明没有写
1 2 3 4 5 6 | select * from version_plan a
left join (
select max("id") as id,"versionId" from version_history group by "versionId") b
on a.id=b."versionId"
left join version_history c
on c.id=b.id order by c.stage,a.version
|
ubuntu上配置pgsql¶
- /etc/postgresql/9.x/main下修改postgresql.conf,增加一条listen_addresses = ‘*’
- /etc/postgresql/9.x/main下修改pg_hba.conf,增加一条host all all 0.0.0.0/0 md5
- 修改密码
1 2 3 4 5 6 | sudo -u postgres psql
\password
\q
# sudo /etc/init.d/postgresql start 开启
# sudo /etc/init.d/postgresql stop 关闭
sudo /etc/init.d/postgresql restart 重启
|
查询死锁¶
1 | SELECT * FROM pg_stat_activity WHERE datname='flow' and waiting=true;
|
python笔记¶
conda镜像加速¶
参考如下即可 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
conda更新所有包¶
1 | conda update --strict-channel-priority --all
|
补全问题¶
在vscode+python中,很多时候实例化对象后,无法进行智能提示,原因是vscode不能推测如(wave.open)返回的类型是啥,可以通过注释来告诉IDE
1 2 3 4 | import wave
fo = wave.open(u"test.wav", "wb") # type: wave.Wave_write
fo.setnchannels(1)
fo.setsampwidth(16)
|
Poseidon3笔记¶
打包流程¶
发布版本
- 首先提交代码并合并请求(略)
- git tag v1.0.x
- git push origin v1.0.x
开发版本
- 登录https://passoa.coding.net/p/repertory/ci/job?id=246128
- 点击立即构建即可
flow项目启动¶
1 2 3 4 5 | pm2 list # 查看当前运行的实例
pm2 start dist/main.js # 如果找不到flow实例,可以直接启动
# 如果找到flow实例,可以通过restart/start/stop来重启,启动,停止flow
# 0由pm2 list显示的id替换
pm2 restart/start/stop 0
|
TTS笔记¶
windows sapi¶
windows下的语音合成功能(支持win7和win10),参考如下网址实现。 https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ee125082(v=vs.85)
未完待续¶
docker的笔记¶
docker 指令简介¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 显示所有镜像
sudo docker images
# 显示所有容器
sudo docker ps -a
# 删除所有容器
sudo docker rm $(sudo docker ps -aq)
# 停止并删除所有容器
sudo docker stop $(sudo docker ps -q) & sudo docker rm $(sudo docker ps -aq)
# (例子)启动nsis打包nsis安装包
sudo docker run --name nsis \
-it \
-v /home/passoa/tmp:/container \
flow123d/nsis-3.05-1 \
/container/install.nsi
# 附加到docker交互环境中
sudo docker attach $container_id #container_id 是指docker ps 显示出来的id
|
docker 镜像加速¶
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
1 2 3 | {
"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
|
之后重新启动服务:
1 2 | sudo systemctl daemon-reload
sudo systemctl restart docker
|
esp32的笔记¶
esp32开发环境搭建¶
因为esp32的开发环境搭建较为复杂,所以我们直接使用docker来搭建。 (国内环境,请先设置到镜像加速 docker 镜像加速.)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # 拉取esp32开发环境
sudo docker pull espressif/idf
# 运行容器
sudo docker run -v $PWD:/home/passoa/git/esp -w /home/passoa/git/esp -it espressif/idf
# 更新apt
apt-get update
# 安装openssh-server
apt-get install openssh-server
# 修改/etc/ssh/sshd_config中的如下两项
# PermitRootLogin yes
# UsePAM no
# 启动sshd
mkdir -p /var/run/sshd
/usr/sbin/sshd -D &
# 映射端口号
sudo docker run --rm -p "2020:22" -v $PWD:/home/passoa/git/esp -w ~/esp -it esp32
# 修改后需要保存镜像
sudo docker commit $container_id new_name #container_id 是指docker ps 显示出来的id
|
vscode配合¶
配合vscode设置esp32开发环境,修改~/.ssh/config文件如下。
1 2 3 4 5 6 7 8 9 10 11 | Host linux_esp
HostName 192.168.56.101
User passoa
Port 22
IdentityFile C:/Users/hsae/.ssh/id_rsa
Host docker_esp
HostName 192.168.56.101
User root
Port 2020
IdentityFile C:/Users/hsae/.ssh/id_rsa
|
快速问题¶
1、出现GPG error和NO PUBKEY错误,请下载指定的key¶
1 | apt-key adv --recv-keys --keyserver keyserver.ubuntu.com $PUBKEY
|
2、 apt更新软件慢¶
更新souces.list,并替换/etc/apt/sources.list
1 | cp ./sources.list /etc/apt/sources.list
|
sources.list内容如下:
1 2 3 4 5 6 7 8 9 | # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
|
3、 安装openssh-server不成功¶
安装openssh-server出现如下错误
1 | openssh-server : Depends: openssh-client (= 1:7.4p1-10+deb9u7) but 1:7.6p1-4ubuntu0.3 is to be installed
|
那么需要把client的版本更新或降级到指定版本。
1 | apt-get install openssh-client=1:7.4p1-10+deb9u7
|