Giter Club home page Giter Club logo

blog's Introduction

生命就像一本书,要想体验完整的故事,就必须一页一页地翻阅,不断前行。---张爱玲

个人介绍

  • 爱读书, 截止到目前累计阅读字数超过 3000 万字。
  • 爱编程, 多语言开发者,使用过 C、C++、Python、JAVA, 写过网页、Android APP、PC 桌面应用程序。
  • 爱写作, 截止到目前发表文字数超 3 万字。

网络足迹

技能树

  • 后端: C++/Python/Java/Qt
  • AI: PyTorch/TensorFlow/YOLO
  • 前端: HTML/CSS/JavaScript/Vue/React/Angular
  • 运维: docker/kubernetes
  • 数据库: sqlite/mysql/redis/mongoDB
  • 其他: linux/麒麟系统/FPGA/git

blog's People

Contributors

yhw-miracle avatar

Watchers

 avatar

blog's Issues

git 提交时设置忽略文件

  • 忽略文件未提交:

    • 忽略文件在git文件系统的根目录下.gitignore里设置。

    • 设置为忽略文件,在pycharm等一些支持版本控制系统(VCS)的编辑器里,显示为灰色。

  • 忽略文件已提交,这时忽略文件已被git跟踪,再在.gitignore里设置已无效,需要清除git缓存。

git rm --cached ...
git rm -r --cached ...

ubuntu16.04使用pip命令报错:lsb_release

  • 错误如下:
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

image


  • 查询lsb_release.py文件位置
sudo find / -name 'lsb_release.py'

/usr/share/pyshared/lsb_release.py
/usr/lib/python3/dist-packages/lsb_release.py
/usr/lib/python2.7/dist-packages/lsb_release.py

  • 拷贝到出错地点
sudo cp /usr/lib/python3/dist-packages/lsb_release.py /home/yhw-miracle/software_install/python3/lib/python3.6 

.gitignore 文件使用注意事项

  • .gitignore是一种隐藏文件,用于git文件系统提交时,设置忽略文件。

  • git文件系统中,不同分支相互独立,可以在不同分支设置不同文件忽略提交方式。

  • 注意点;

    • 一些自动生成的文件需要添加到.gitignore文件里,而且同一git文件系统中不同分支的.gitignore文件这部分内容应该相同,如编译器编译生成的文件。
    • 个人在本地建立多个分支,最好.gitignore文件内容要相同。
    • 在进行团队协作时,最好将只有利于个人开发,而对团队开发无作用的文件添加到.gitignore文件里,如编译器自动生成的文件、个人调试的文件。
    • 忽略文件的基本原则是:不是你自己写的文件就可以忽略
    • 查看git文件系统不能只看可视化软件的提示,一定要依据git status命令

create a new VM in proxmox

create a new VM

qm create 10000 --cores 2 --memory 2048 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci
qm set 10000 --scsi0 local-lvm:0,import-from=/root/jammy-server-cloudimg-amd64.img
qm disk resize 10000 scsi0 40G
qm set 10000 --ide2 local-lvm:cloudinit
qm set 10000 --boot order=scsi0
qm set 10000 --serial0 socket --vga serial0
qm set 10000 --ciuser root --cipassword root
qm set 10000 --sshkeys ~/.ssh/id_rsa.pub
qm set 10000 --ipconfig0 ip=192.168.1.2/24,gw=192.168.1.1

给 ubuntu16.04 配置 zsh 环境

  1. 确认wget是否安装;
$ which wget
  1. 安装git
$ sudo apt-get install git
  1. 安装zsh
$ sudo apt-get install zsh
  1. 配置zsh
$ sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

  • 文内资源

程序操作文件的注意事项

  • python 进行文件 I/O 的一些方法

    • open()
    • read()
    • write()
    • 'r','w','b','a','+'
    • tell() ---> 获取文件光标
    • seek() ---> 设置文件光标
    • truncate() ---> 清空文件,风险操作,谨慎!
  • 文件操作的注意事项

    • 注意文件编码,windows 默认编码是 GBK,linux 和 unix 默认编码是 utf-8,最好不要用默认编码,自己制定读写文件时的文件编码;
    • 操作文件应尽可能避免清空文件内容,删除文件等风险较大的操作,至少在操作前做好备份;

docker 安装

1. sudo apt-get update
2. sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. sudo apt-key fingerprint 0EBFCD88
5. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
6. sudo apt-get update
7. sudo apt-get install docker-ce docker-ce-cli containerd.io

ubuntu 系统设置时区

  • 查看当前时间
date

image

  • 查看时区
date -R

image

  • 选择时区
tzselect

image

image

image

image

  • 设置时区
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

LVM

PV(物理卷 physical volume)

pvdisplay
--- Physical volume ---
  PV Name               /dev/sda3
  VG Name               pve
  PV Size               <99.50 GiB / not usable 2.98 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              25471
  Free PE               0
  Allocated PE          25471
  PV UUID               kdqgod-NbTP-k4SL-HwLh-RjAn-quPU-MngDpg

VG(卷组 volume group)

vgdisplay
--- Volume group ---
  VG Name               pve
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  10
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <99.50 GiB
  PE Size               4.00 MiB
  Total PE              25471
  Alloc PE / Size       25471 / <99.50 GiB
  Free  PE / Size       0 / 0
  VG UUID               YCy0eY-TFCV-iW28-c8cV-f2QS-LfR0-tQuMa4

LV(逻辑卷 logical volume)

lvdisplay
--- Logical volume ---
  LV Path                /dev/pve/swap
  LV Name                swap
  VG Name                pve
  LV UUID                y0eZZ8-Qy12-C2dL-hXat-csxb-TKb3-3MC7uY
  LV Write Access        read/write
  LV Creation host, time proxmox, 2023-08-17 09:33:28 +0800
  LV Status              available
  # open                 2
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/pve/root
  LV Name                root
  VG Name                pve
  LV UUID                GorAbn-eZKy-ygLl-aX7k-ktwC-mrlE-Tm866b
  LV Write Access        read/write
  LV Creation host, time proxmox, 2023-08-17 09:33:28 +0800
  LV Status              available
  # open                 1
  LV Size                <95.50 GiB
  Current LE             24447
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
lvremove /dev/pve/data
lvextend -l +100%FREE /dev/mapper/pve-root
resize2fs /dev/mapper/pve-root

how to use jekyll in ubuntu_16.04?

  1. 配置ruby环境;
$ sudo apt-get install ruby ruby-dev build-essential -y

$ echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
$ echo 'export GEM_HOME=$HOME/gems' >> ~/.bashrc
$ echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc

2. 安装nodejs
新版本jekyll不需要安装nodejs

$ sudo tar xJvf node-v10.16.0-linux-x64.tar.xz -C /usr/local/
$ sudo mv node-v10.16.0-linux-x64.tar.xz node
$ node -v
$ echo 'export PATH=/usr/local/node/bin:$PATH'
$ source ~/.bashrc
$ sudo ln -s /usr/local/node/bin/node /usr/bin/node
$ sudo ln -s /usr/local/node/bin/npm /usr/bin/npm
$ sudo ln -s /usr/local/node/bin/npx /usr/bin/npx
  1. 安装jekyll
$ gem install jekyll bundler
$ jekyll --version
  1. 创建demo博客;
$ jekyll new demo
$ cd demo
$ jekyll server
  1. 配置demo博客;
    待补充

  2. 发布demo博客;
    待补充

  3. Ok, enjoy yourself!


远程开发的一点体会

远程开发的两种方式

  • 以远程文件为准,本地存在编辑副本。
  • 直接在本地编辑远程文件。

aria2c 的使用

  • install
sudo apt-get install aria2
  • aria2 可以在命令行中下载文件,可以下载百度网盘中的文件。

  • 解析百度网盘中文件的下载链接

安装 chrome 插件 ---> bypy

折腾centos

折腾centos

下载VMware 16

激活密钥

  • ZF3R0-FHED2-M80TY-8QYGC-NPKYF
  • YF390-0HF8P-M81RQ-2DXQE-M2UT6
  • ZF71R-DMX85-08DQY-8YMNC-PPHV8

下载 centos 系统

CentOS-7-x86_64-DVD-2009.iso

安装 centos

选择最小化安装

不能联网

  • cd /etc/sysconfig/network-scripts/

  • vi ifcfg-ens33

    • ONBOOT=yes
  • systemctl restart network

  • yum update

更换软件更新源

安装 net-tools

  • yum install net-tools -y

配置 zsh

设置时区

  • cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

在 centos7 上安装 python3

下载 Python-3.7.9.tgz

tar zxvf Python-3.7.9.tgz -C ../software_install/

yum groupinstall 'Development Tools'

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel

./configure --prefix=/usr/local/python3 --enable-optimizations

make

make install

配置虚拟环境

[packages]

[dev-packages]

[requires]

python_version = "2.7"

- pipenv install
- pipenv shell
- exit
- pipenv --rm

安装 nginx

yum install yum-utils

vim /etc/yum.repos.d/nginx.repo

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

yum install nginx

service nginx start

安装mysql

wget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm

yum localinstall platform-and-version-specific-package-name.rpm

vim /etc/yum.repos.d/mysql-community.repo

yum install mysql-community-server

service mysqld status

grep 'temporary password' /var/log/mysqld.log

mysql -uroot -p

  • ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

安装redis

wget http://download.redis.io/releases/redis-6.0.6.tar.gz

tar xzf redis-6.0.6.tar.gz

cd redis-6.0.6

make

src/redis-server

src/redis-cli

安装mongoDB

vim /etc/yum.repos.d/mongodb-org.repo

yum install -y mongodb-org

启动服务

  • systemctl start mongod
  • systemctl daemon-reload

安装node

wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz

tar -xJvf node-v10.16.0-linux-x64.tar.xz

vim ~/.zshrc

  • export PATH=/usr/local/node/bin:$PATH

source ~/.zshrc

ln -s node/npm/npx

create ubuntu16.04_yhw-miracle_init

1. sudo usermod -aG docker 用户名
2. sudo chmod a+rw /var/run/docker.sock
3. sudo service docker restart
4. docker pull ubuntu:16.04
5. docker run --name=ubuntu16.04_yhw-miracle_init -it ubuntu:16.04 /bin/bash
6. apt-get update
7. apt-get install vim
8. cd /etc/apt
9. cp sources.list sources.list.copy
10. vim sources.list >>> :%s/archive.ubuntu/mirrors.aliyun/g >>> :%s/security.ubuntu/mirrors.aliyun/g
11. apt-get update
12. apt-get install net-tools wget git zsh -y
13. sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
14. ssh-keygen -t rsa -C '[email protected]'
15. mkdir /data && cd /data
16. git clone [email protected]:powerline/fonts.git
17. cd fonts
18. chmod +x install.sh
19. ./install.sh
20. docket commit {CONTAINER} {REPOSITORY}
21. docker push

ubuntu_16.04 install googlepinyin

  • 安装fcitx-googlepinyin
sudo apt-get install fcitx-googlepinyin 
  • --->System Settings...
    --->Language Support
    --->waiting install dependency package
    --->Keyboard input method system: fcitx

image

  • input reboot in terminal

  • --->System Settings...
    --->Text Entry
    --->+
    --->add Google Pinyin(Fcitx)

image

centos7运行python程序报字符编码错误

  • 错误如下
RuntimeError: Click will abort further execution because Python 3 was configured to use ASCII as encoding for the environment. Consult https://click.palletsprojects.com/en/7.x/python3/ for mitigation steps.
  • 解决
    • 添加环境变量
export LC_ALL=de_DE.utf-8
export LANG=de_DE.utf-8

git 提交空目录

git默认不提交空目录,可以在空目录下添加.gitkeep文件作为占位符。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.