顺子の杂货铺
生命不息,折腾不止,且行且珍惜~

00-SQL高级语法系列博客 – 完整大纲

shunzi阅读(14)

SQL高级语法系列博客 – 完整大纲

本系列涵盖主流数据库(MySQL、Oracle、ClickHouse、HologresSQL、MaxComputeSQL、Hive)的复杂SQL写法


📚 系列目录

第一部分:核心分析函数

序号主题文件名状态
01窗口函数详解(ROW_NUMBER/RANK/DENSE_RANK)01-窗口函数.md✅ 已完成
02累计计算(累计求和/累计均值)02-累计计算.md✅ 已完成
03环比同比分析03-环比同比分析.md✅ 已完成
04分组TOP N(组内取Top)04-分组TOP-N.md✅ 已完成
05首尾/nth值获取05-首尾值获取.md✅ 已完成

第二部分:字符串与JSON处理

序号主题文件名状态
06字符串截取与拼接06-字符串处理.md✅ 已完成
07正则表达式匹配07-正则表达式.md✅ 已完成
08JSON解析与提取08-JSON解析.md✅ 已完成
09模糊搜索与模式匹配09-模糊搜索.md✅ 已完成

第三部分:日期时间处理

序号主题文件名状态
10日期格式转换10-日期格式转换.md✅ 已完成
11日期加减与时间差11-日期加减.md✅ 已完成
12周/月/季度/年聚合12-时间维度聚合.md✅ 已完成
13时区转换13-时区转换.md✅ 已完成

第四部分:数据转换与聚合

序号主题文件名状态
14多行合并(GROUP_CONCAT)14-多行合并.md✅ 已完成
15行列转换(PIVOT/UNPIVOT)15-行列转换.md✅ 已完成
16条件聚合(CASE WHEN)16-条件聚合.md✅ 已完成
17去重计数(DISTINCT COUNT)17-去重计数.md✅ 已完成

第五部分:高级查询技巧

序号主题文件名状态
18递归查询(CTE树形结构)18-递归查询.md✅ 已完成
19分页查询(OFFSET/LIMIT)19-分页查询.md✅ 已完成
20关联更新与删除20-关联更新删除.md✅ 已完成
21虚拟表与临时表21-临时表.md✅ 已完成
22子查询优化22-子查询优化.md✅ 已完成

第六部分:复杂分析场景

序号主题文件名状态
23移动平均23-移动平均.md✅ 已完成
24漏斗分析24-漏斗分析.md✅ 已完成
25留存分析25-留存分析.md✅ 已完成
26RFM分析26-RFM分析.md✅ 已完成
27交叉表与钻取27-交叉表.md✅ 已完成

第七部分:大数据特有语法

序号主题文件名状态
28分区表查询28-分区表查询.md✅ 已完成
29抽样查询29-抽样查询.md✅ 已完成
30UDF自定义函数30-UDF函数.md✅ 已完成
31近似计算(HyperLogLog/Bloom Filter)31-近似计算.md✅ 已完成
32并行查询与优化32-查询优化.md✅ 已完成

第八部分:数据类型与转换

序号主题文件名状态
33数据类型转换33-类型转换.md✅ 已完成
34NULL值处理34-NULL处理.md✅ 已完成
35枚举与映射35-枚举映射.md✅ 已完成

第九部分:大数据与面试

序号主题文件名状态
36大数据SQL语法补充大数据SQL语法补充.md✅ 已完成
37SQL面试高频题SQL面试高频题.md✅ 已完成

🗃️ 数据库支持对照表

功能MySQLOracleClickHouseHologresMaxComputeHive
CTE✅ 8.0+
窗口函数✅ 8.0+✅ 2.1+
JSON函数⚠️
正则表达式⚠️⚠️
递归CTE✅ 8.0+⚠️
分区裁剪
采样⚠️

📖 使用说明

  1. 按需查阅:每个文件独立完整,可单独学习
  2. 数据库切换:文件内按数据库分类,读者可直接定位所需部分
  3. 示例数据:每个案例配有建表语句和示例数据
  4. 注意事项:包含各数据库的特有限制和兼容性问题

已生成文件列表

文件名主题内容概要
01-窗口函数.mdROW_NUMBER/RANK/DENSE_RANK窗口函数基础、排名函数、NTILE、组合使用
02-累计计算.md累计求和/累计均值累计计算、移动平均、窗口帧详解
03-环比同比分析.mdMoM/YoY计算LAG函数、环比同比增长率、时间维度分析
04-分组TOP-N.md组内取Top分组Top-N、ROW_NUMBER/RANK应用
05-首尾值获取.mdFIRST/LAST/NTH_VALUE首尾值获取、IGNORE NULLS
06-字符串处理.md截取/拼接/替换SUBSTR/CONCAT/REPLACE/SPLIT
07-正则表达式.mdREGEXP函数REGEXP_SUBSTR/REGEXP_REPLACE
08-JSON解析.mdJSON提取JSON_EXTRACT/JSON_VALUE
09-模糊搜索.mdLIKE/全文索引模糊匹配、全文搜索、优化技巧
10-日期格式转换.md日期格式转换DATE_FORMAT/TO_CHAR/时间戳
11-日期加减.md日期加减/时间差DATE_ADD/DATEDIFF/INTERVAL
12-时间维度聚合.md按时间维度聚合按年/季/月/周/日分组
13-时区转换.md跨时区处理CONVERT_TZ/AT TIME ZONE
14-多行合并.md多行数据合并GROUP_CONCAT/LISTAGG/collect_set
15-行列转换.mdPIVOT/UNPIVOT行转列、列转行、CASE WHEN
16-条件聚合.mdCASE WHEN聚合多条件统计、分段聚合
17-去重计数.md去重与近似去重COUNT(DISTINCT)/HyperLogLog
18-递归查询.md树形结构查询WITH RECURSIVE/CONNECT BY
19-分页查询.md分页实现LIMIT/OFFSET/ROWNUM
20-关联更新删除.mdUPDATE/DELETE JOINMERGE语句
21-临时表与WITH子句.mdCTE临时表WITH RECURSIVE/MATERIALIZED
22-子查询优化.md子查询性能JOIN替代/EXISTS优化
23-移动平均.md移动平均线窗口帧/EMA
24-漏斗分析.md用户转化漏斗步骤转化率/流失分析
25-留存分析.md用户留存分析同期群/留存曲线
26-RFM分析.md用户价值分群RFM模型/用户分群
27-交叉表与钻取.md多维分析PIVOT/ROLLUP/CUBE
28-分区表查询.md分区表优化PARTITION BY
29-抽样查询.md数据抽样TABLESAMPLE
30-UDF函数.mdUDF自定义函数Java/Python UDF
31-近似计算.md近似计算HyperLogLog/Bloom Filter
32-查询优化.md查询优化EXPLAIN/索引/执行计划
33-类型转换.md类型转换CAST/CONVERT
34-NULL处理.mdNULL值处理COALESCE/IFNULL
35-枚举映射.md代码映射CASE WHEN/DECODE
大数据SQL语法补充.md大数据平台语法Hive/MaxCompute
SQL面试高频题.md面试真题34道高频面试题

ChatGPT注册教程

shunzi阅读(186)

最近ChatGPT真受欢迎,但是有些人注册时会经常面临不服务它们的地区问题,现在我们给你详细问题解决。

准备
代理。要求是韩国,日本,印度,新加坡,美国这些国家的地址都合适。对其他的我们还不太清楚,反正香港或中国的代理肯定不行。

找一个国外手机号码,如果你没有用过接码平台也行,有些接码平台是无法接的,所以我们推荐一个就是 sms-activate.org

准备一个浏览器

开始一步一步注册
第一步是接验证码
打开接码平台 sms-activate.org,注册一个账号

然后要充值余额

充值,这里单位是卢布

一次接码OpenAi的验证码费用是大概11卢布,人民币来看差不多是1块钱,不过只能充美金,就先充直个1美金钱。可以选择对你任何方便方式。支付宝也有

充值完成可能需要等一会,就先放着,直接进行下一步。

第二部是注册一个OpenAI账号
首先打开ChatGPT的账户注册页面。谷歌注册或者邮箱注册都可以,无所谓,我们这里用邮箱注册作为例子。

用邮箱注册后你要验证邮件。进去邮箱,查看email里的链接。

这里你需要输入需要的信息。

当然,有一些人会在这里遇到一个问题,会出现说不能在当前国家服务的提示。

不用怕,我写这文章就是为了解决这个问题

这方面那,给你一招。一般你出现这种问题,就是因为你的代理没有全局,或者位置不对。香港或中国的的代理是100%无法通过的。

这个问题是非常神奇的,只要你出现了这个提示,那么你接下来怎么切换代理,都是没用的。现在提供给你你一招解决。

解决地区问题
先,你要把你的代理切换到任何合适的地区,我们这里选择了韩国。

然后,先复制下面这段代码

window.localStorage.removeItem(Object.keys(window.localStorage).find(i=>i.startsWith(‘@@auth0spajs’)))

接着在地址栏里输入

javascript:

请注意,这里一定要输入,因为你复制的话是粘贴不了的。

然后再粘贴我们第一段复制的内容:

然后按下回车键,刷新页面。如果你的代理没问题,就可以看到正常工作的注册页面了。

输入手机号码

这里选的是韩国,这是因为我们使用韩国的代理,但是我们最好选择印度。然后到我们的接码网站上去。在左侧搜索OpenAi,然后点击印度。

点击”小黄车”。

然后我们复制这个号码,粘贴过去。然后我们点击发送验证码就完成了。

等一会网站会提示验证码,我们复制粘贴。

这里你要选择你打算如何使用OpenAI。随便选择吧。

使用ChatGPT
注册完后,打开ChatGPT网站去登陆。

在下面这个地方就可以开始写你的任何巧妙的句子了。取乐吧!

deepin linux v20.2系统安装

shunzi阅读(511)

安装Deepin V20.2系统

最近因为学习需要,换了一台电脑,完了又是系统的安装。总之,docker环境折腾我了一个多星期。最后完美搞定。

              ............                shunzi@thinkpad
          .';;;;;.       .,;,.            OS: Deepin 20.2
       .,;;;;;;;.       ';;;;;;;.         Kernel: x86_64 Linux 5.10.18-amd64-desktop
     .;::::::::'     .,::;;,''''',.       Uptime: 2h 3m
    ,'.::::::::    .;;'.          ';      Packages: 2107
   ;'  'cccccc,   ,' :: '..        .:     Shell: bash
  ,,    :ccccc.  ;: .c, '' :.       ,;    Resolution: 3840x1080
 .l.     cllll' ., .lc  :; .l'       l.   DE: Deepin 20.2
 .c       :lllc  ;cl:  .l' .ll.      :'   WM: KWin
 .l        'looc. .   ,o:  'oo'      c,   Icon Theme: bloom-classic
 .o.         .:ool::coc'  .ooo'      o.   CPU: Intel Core i9-10885H @ 16x 5.3GHz
  ::            .....   .;dddo      ;c    GPU: GeForce RTX 2070 Super with Max-Q Design
   l:...            .';lddddo.     ,o     RAM: 3808MiB / 63947MiB
    lxxxxxdoolllodxxxxxxxxxc      :l
     ,dxxxxxxxxxxxxxxxxxxl.     'o,
       ,dkkkkkkkkkkkkko;.    .;o;
         .;okkkkkdl;.    .,cl:.
             .,:cccccccc:,.
首先更新系统
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
卸载nano编辑器
sudo apt-get remove nano
修改sudo 无密码
sudo visudo
修改:%sudo ALL=(ALL:ALL) ALL
为:%sudo ALL=(ALL:ALL) NOPASSWD:ALL
修改挂载目录
  • 卸载自动挂载分区
    umount /dev/nvme0n1p5
    umount /dev/nvme0n1p6
  • 挂载分区
    sudo mkdir /data
    sudo mkdir /work
    sudo mount /dev/nvme0n1p5 /data
    sudo mount /dev/nvme0n1p6 /work
  • 配置开机自动挂载fstab

    sudo vi /etc/fstab #在文件后面追加下面的代码
    # /dev/nvme0n1p5
    /dev/nvme0n1p5 /data ntfs defaults,nls=utf8,uid=1000,gid=1000,dmask=022,fmask=022,windows_names 0 0
    
    # /dev/nvme0n1p6
    /dev/nvme0n1p6 /work ntfs defaults,nls=utf8,uid=1000,gid=1000,dmask=022,fmask=022,windows_names 0 0
  • 最终的结果就是下面的,完美~
    shunzi@thinkpad:~$ df -h
    文件系统        容量  已用  可用 已用% 挂载点
    udev             32G  4.0K   32G    1% /dev
    tmpfs           6.3G  3.3M  6.3G    1% /run
    /dev/nvme0n1p1   49G   17G   30G   36% /
    tmpfs            32G  156M   32G    1% /dev/shm
    tmpfs           5.0M  4.0K  5.0M    1% /run/lock
    tmpfs            32G     0   32G    0% /sys/fs/cgroup
    /dev/nvme0n1p6  166G   58G  108G   36% /work
    /dev/nvme0n1p5  600G  154G  447G   26% /data
    /dev/nvme0n1p4   98G  5.3G   88G    6% /opt
    /dev/nvme0n1p2  300M  6.6M  293M    3% /boot/efi
    tmpfs           6.3G   60K  6.3G    1% /run/user/1000
    安装常用软件及设置
  • 安装qv2ray图形化软件

    # Install some prerequisites needed by adding GPG public keys
    $ sudo apt-get install gnupg ca-certificates curl
    
    # Import our GPG key. Notice the hyphen at the end of line.
    $ curl -sSL https://qv2ray.net/debian/pubkey.gpg | sudo apt-key add -
    
    # Add the our official APT repository:
    $ echo "deb [arch=amd64] https://qv2ray.net/debian/ stable main" | sudo tee /etc/apt/sources.list.d/qv2ray.list
    
    # To update the APT index:
    $ sudo apt-get update
    
    # You can install Qv2ray from APT now:
    $ sudo apt-get install qv2ray
  • 命令行代理设置
    export all_proxy=socks5://127.0.0.1:1080
  • 常用软件在系统应用商店下载即可:

    Google浏览器,微信,VLC,TeamViewer,Wine游戏助手,MEGA,Visual Studio Code,VirtualBox,DBeaver,为知笔记,Telegram,Sublime Text,qBittorrent,网易云音乐,WPS Office,Typora

    • 其中大部分软件都是安装系统的时候自带装好了,其他的自己看吧。这些是我必装的。
    • 其中安利一个软件MEGA,全平台同步软件,以前我用百度云同步盘,现在已经不更新了,而且那个没有linux客户端,MEGA是全平台的,免费的有30G的空间,而且免费的也不限速,比百度云良心多了,注册地址:https://mega.nz/#sync/aff=2-Xkbx_8qxo
    • 新增了wine游戏助手软件,替代收费的crossover,用来玩WOW。还是免费的。
  • 修改文件管理区被VSCode接管问题
    gio mime inode/directory dde-file-manager.desktop
  • 添加java环境变量
    sudo tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/
    #添加环境变量到~/.bashrc
    export JAVA_HOME=/opt/jdk1.8.191
    export CLASSPATH=.:$JAVA_HOME/bin.tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
  • 修改系统Downloads目录
    #修改 ~/.config/user-dirs.dirs 
    XDG_DESKTOP_DIR="$HOME/Desktop"
    XDG_DOWNLOAD_DIR="$HOME/Downloads" # > /work/Downloads
    XDG_TEMPLATES_DIR="$HOME/"
    XDG_PUBLICSHARE_DIR="$HOME/"
    XDG_DOCUMENTS_DIR="$HOME/Documents"
    XDG_MUSIC_DIR="$HOME/Music"
    XDG_PICTURES_DIR="$HOME/Pictures"
    XDG_VIDEOS_DIR="$HOME/Videos"
    #执行:xdg-user-dirs-update更新
  • 安装mysql client
    pip install mysqlclient #报错(OSError: mysql_config not found)
    #一般情况是系统没有安装libmysqld-dev
    sudo apt install libmysqld-dev
    pip install mysqlclient
  • 安装系统监控插件
    wget https://gitee.com/q77190858/dde-sys-monitor-plugin/raw/master/bin/libsys_monitor.so && \
    sudo mv libsys_monitor.so /usr/lib/dde-dock/plugins/ && \
    pkill dde-dock
  • 安装SublimeText3

    #软件库安装的时版本2的,不能输入中文
    #Install the GPG key:
    wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
    
    #Ensure apt is set up to work with https sources:
    sudo apt-get install apt-transport-https
    
    #Select the channel to use:
    #Stable
    echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
    
    #Update apt sources and install Sublime Text
    sudo apt-get update
    sudo apt-get install sublime-text
  • megasync安装
    #下载软件
    wget https://mega.nz/linux/MEGAsync/Debian_10.0/amd64/megasync_4.3.8-1.1_amd64.deb
    sudo apt-get install ./megasync_4.3.8-1.1_amd64.deb
    #megasync for deepin v20 bug处理
    #Then run these commands:
    sudo sed -i -r '/^TryExec/d;s|^(Exec=).*$|\1env QT_SCALE_FACTOR=1 megasync|g' /usr/share/applications/megasync.desktop
    cp /usr/share/applications/megasync.desktop ~/.config/autostart/
  • 配置pip国内镜像源
    cat ~/.pip/pip.conf
    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/
  • 配置docker国内镜像源
    #touch /etc/docker/daemon.json  data-root路径最好是ext格式的,我挂载的ntfs磁盘时一直报错,搞了好久解决不了,最后改成/opt目录就好使了
    {
    "data-root": "/opt/docker",
    "registry-mirrors" : [
      "http://ovfftd6p.mirror.aliyuncs.com",
      "http://registry.docker-cn.com",
      "http://docker.mirrors.ustc.edu.cn"
    ],
    "insecure-registries" : [
      "registry.docker-cn.com",
      "docker.mirrors.ustc.edu.cn"
    ],  
    "storage-driver": "overlay2",
    "storage-opts": [ 
      "overlay2.override_kernel_check=true" 
    ],
    "live-restore" : false 
    }
  • 开机自启动脚本
    #!/bin/bash
    #rc.local config file created by use
    cd /data/v2ray/ && nohup ./v2ray & 
    cd /data/Project/ && nohup jupyter notebook &
    cd /data/frp_client/ && nohup ./frpc -c ./frpc.ini &
    exit 0
    安装pyenv环境
  • 安装依赖软件
    sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git libedit-dev
  • 安装pyenv环境
    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  • 配置环境变量
    export PATH="/home/shunzi/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    搭建Jupyter Notebook环境
  • 安装python软件
    pyenv install 3.8.9
    pyenv virtualenv 3.8.9 jupyter
  • 配置jupyter环境

    cd /data/Project
    #给目录/data/Project添加虚拟环境
    pyenv local jupyter 
    #安装python库
    pip install jupyter numpy pandas openpyxl xlsxwriter xlrd matplotlib seaborn SQLAlchemy mysql-connector 
    #设置配置文件
    jupyter notebook --generate-config
    
    c.NotebookApp.ip='*'
    c.NotebookApp.password = u'sha1:a280cdbdfdef:389e854a8101a5c0f852559c3d243bd7ff83a73f'
    c.NotebookApp.open_browser = False
    c.NotebookApp.port =8888
    c.NotebookApp.notebook_dir = '/data/Project'
    #c.NotebookApp.allow_remote_access = True
    #c.NotebookApp.ip = '0.0.0.0'
    安装显卡驱动
  • 安装显卡驱动主要是配合wine游戏助手打魔兽世界
    # 下载mgpu-prime软件包,该软件包用于提供双显卡支持,用于带集显+独显的笔记本。如果你是台式机,也可以不下载安装,但是安装了也没有副作用。
    wget https://file.winegame.net/packages/deepin/mgpu/mgpu-prime_0.2.0_amd64.deb
    # 安装驱动程序。如果你是台式机,没下载mgpu-prime_0.2.0_amd64.deb,就把命令结尾的./mgpu-prime_0.2.0_amd64.deb删掉。
    sudo  apt  install  -y  nvidia-driver  nvidia-smi  nvidia-settings  nvidia-vulkan-icd  vulkan-utils  nvidia-driver-libs:i386  libnvidia-ml1:i386  libxnvctrl0:i386  ./mgpu-prime_0.2.0_amd64.deb
    # 更新启动文件
    sudo update-initramfs -k all -u
安装docker环境
  • 卸载旧版docker
    sudo apt-get remove docker docker-engine docker.io containerd runc
  • 安装依赖
    sudo apt-get install \
      apt-transport-https \
      ca-certificates \
      curl \
      gnupg-agent \
      software-properties-common
  • 添加官方GPG秘钥
    curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
  • 验证秘钥

    # 验证安装:9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88通过搜索指纹的最后8个字符,验证您现在拥有带指纹的密钥。
    sudo apt-key fingerprint 0EBFCD88
    
    # 输出这个结果表示添加成功
    pub   rsa4096 2017-02-22 [SCEA]
        9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
    uid           [ unknown] Docker Release (CE deb) 
    sub   rsa4096 2017-02-22 [S]
  • 添加官方软件源
    echo "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list
  • 安装最新版docker
    sudo apt-get update
    sudo apt-get install docker-ce docker-ce-cli containerd.io
    sudo usermod -aG docker $USER
    sudo systemctl start docker
    sudo systemctl enable docker.service
  • 附带安装docker-compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    docker-compose --version
配置软件快捷启动
  • dbeaver.desktop
    [Desktop Entry]
    Categories=IDE;Development
    Comment=Enterprise Database Manager.
    Exec=/data/dbeaver/dbeaver
    GenericName=UniversaL Database Manager
    Icon=/data/dbeaver/dbeaver.png
    Keywords=Database;SQL;IDE;JDBC;ODBC;MySQL;PostgreSQL;Oracle;DB2;MariaDB
    MimeType=application/sql
    Name=DBeaver Enterprise
    Path=/data/dbeaver/
    StartupNotify=true
    StartupWMClass=DBeaverEE
    Terminal=false
    Type=Application
    Version=1.0
    WM_CLASS=DBeaverEE
    X-Deepin-Vendor=user-custom
  • qv2ray.desktop
    [Desktop Entry]
    Version=0.10.2
    Name=Qv2ray
    Comment=A V2ray GUI
    Exec=/usr/bin/qv2ray
    Icon=/work/Downloads/qv2ray.png
    Terminal=false
    Type=Application
    Categories=Network
  • megasync.desktop
    [Desktop Entry]
    Type=Application
    Version=1.0
    GenericName=File Synchronizer
    Name=MEGAsync
    Comment=Easy automated syncing between your computers and your MEGA cloud drive.
    Exec=env QT_SCALE_FACTOR=1 megasync
    Icon=mega
    Terminal=false
    Categories=Network;System;
    StartupNotify=false
    X-GNOME-Autostart-Delay=60
  • bilihelper.desktop
    [Desktop Entry]
    Name=Bilibili-helper
    Name[zh_CN]=Bilibili弹幕库
    Icon=/data/bilibili-helper/icon1.png
    Exec=/data/bilibili-helper/弹幕库
    StartupNotify=false
    Terminal=false
    Type=Application
    Categories=Application
内网穿透配置
  • ngrok方式
    #ngrok python版的 网上某个大拿写的没有维护了,存在内存泄露,弃用了
    cat ngrok.config
    {
      "server": {
          "host": "ngrok.xxxx.me",
          "port": 8001,
          "bufsize": 1024
      },
      "client": [
          {
              "protocol": "http",
              "hostname": "jupyter.xxxx.me",
              "subdomain": "",
              "rport": 6888,
              "lhost": "127.0.0.1",
              "lport": 8888
          },
          {
              "protocol": "tcp",
              "hostname": "",
              "subdomain": "",
              "rport": 1022,
              "lhost": "127.0.0.1",
              "lport": 22
          }
      ]
    }
  • frp方式(推荐这个,配置简单好用)

    #服务端启动配置
    [root@hk frp_server]# cat frps.ini 
    [common]
    bind_port = 8001
    vhost_http_port=6888
    
    #客户端配置
    cat frpc.ini 
    [common]
    server_addr = ngrok.xxxx.me
    server_port = 8001
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22
    remote_port = 1022
    
    [web]
    type = http
    local_port = 8888
    custom_domains = jupyter.xxxx.me
Git操作
#git 常用操作
git branch -a --查询本地仓库列表
git checkout -b master dev --复制master版本到dev版本 并切换到dev版本
git checkout dev -- 切换本地分支
git merge  --合并指定分支到当前分支

#远程操作
git remote -v --查看远程版本库信息
git remote add   --添加远程版本库
git remote remove   --删除远程版本库
git fetch    --从远程库获取代码
git pull   --下载代码及快速合并
git push   --上传代码及快速合并

#配置 ssh-key
ssh-keygen.exe  -t rsa -C "5030699@qq.com"
cat ~/.ssh/id_rsa.pub
#复制到GithubSessionKey
#配置本地全局信息
git config --global user.name "shunzi"
git config --global user.email "5030699@qq.com"

#更新合并某个代码案例
git branch dev_update
git checkout dev
git pull
git checkout dev_update
git merge dev
git merge old_master --合并配置信息
pip install -r  requirements.txt
python manager.py makemigration
python manager.py migrate

结束语

这个应该是系统安装的最终版吧。反正折腾死我了。其中最大的两点就是最近刚想到的系统磁盘划分规划。
1TSSD 我给划分了几个核心目录,/根目录给了50G,/opt给了100G,这个目录重装系统的时候不需要重启。/data是ntfs格式的,存我的日常使用数据,不需要重新安装。/work也是ntfs格式,存一些临时及下载的数据。
总之deepin v20.2安装完美,蓝牙,wifi全部搞定。以后估计不会再折腾系统了吧。

分享创造快乐

联系我们联系我们