Ubuntu 22.04 LTS 入门安装配置优化、开发软件安装一条龙

news2024/11/29 12:39:18

Ubuntu 22.04 LTS 入门安装配置&优化、开发软件安装


例行前言
  最近在抉择手上空余的笔记本(X220 i7-2620M,Sk Hynix ddr3 8G*2 ,Samsung MINISATA 256G)拿来运行什么系统比较好,早年间我或许还会去继续使用Win10的LTSC,但是后续版本升级后后台总多了些奇奇怪怪的进程,无端占用了很多的CPU和内存,哪怕它确实简洁,去掉了所有的微软捆绑的冗余程序,但是对我这台14年的小黑来说,无端50%的CPU使用与额外30%的内存占用太伤了。(这点询问过官方,也问过专业的师傅,无解)
  徘徊了所谓的国产的UOS、Deepin、Hackintosh等诸多系统,最终还是决定回归Ubuntu的怀抱(主要是可以改成自己喜欢的样子,而不是去适应设计者的喜好)。
  事先说明,Ubuntu并不影响日常的开发工作,IDEA、VS code、WPS等都是有的,但是和Mac一致,打游戏是不现实的,很少的适配,适合极客党和折腾党。
  写这个文档也主要是先前18和20的文档不适用了,很多地方出现了完全不同的操作,部分软件的包也取消了,配置方面不能完全照着以前的copy了,所以上新,20的弃了TAT

1.安装

步入正体,第一步先是安装,当然,我是已经安装好了(为了截图又装了n遍QAQ),现在写文档就已经是在linux下进行的了

1.1 下载镜像

Ubuntu的官网一般不会被墙,但偶尔政治原因总也会抽点风.它的官网https://ubuntu.com/
  截至2022.9.22,它的官网长这样:
Ubuntu官网  正常下载它家的镜像就是点击上面的Download然后就得到了下图:
下载界面演示
  之后直接点22.04 LTS就可以直接下载镜像。

1.2 制作启动盘

安装系统的话,启动盘是必须的,这东西也就是所谓的介质。
  目前看的话,Ubuntu官方推荐的是balenaEtcher,这个工具可运行于win、mac、linux,用于直接将镜像写入U盘,官网如下:
balenaEtcher官网
  根据你的原系统环境,它会自动推荐对应的版本供下载,下载出来的界面就和官网长一样,操作也很简单,第一步选择镜像(刚刚下的),第二步选择一个你的U盘,这将会清空你的U盘,所以提前备份好文件,U盘需大于4G,且不能是SD卡;然后就直接Flash!等就可以了。
  使用rufus等其他写入工具,原理都是一样的,个人更喜欢rufus:

rufus官网
  截止发文编辑时间,rufus最新的版本是3.20,下拉直接下载便携版就可以(通过Github下载,网络寄的回头我把用得到的工具打个包上传吧)。下载后打开:
rufus操作示范
  之后想恢复正常U盘的话像下图那样操作就可以了(恭喜你学会了制作启动盘,WinPE、Linux、Mac都是一个道理的)。

u盘恢复

1.3 修改BIOS以支持从U盘启动

安装肯定是要你的主板BIOS允许从BIOS启动的,因此需要进BIOS修改,具体如何进BIOS视机型与主板而定,需自行百度“XXXX电脑如何进BIOS”

进入BIOS主要是使SATA为AHCI模式,关闭安全启动,现在的主板商搞出了一堆各式各样的BIOS界面和功能设置,故不能提供详细教程,请自行百度,见谅。

1.4 通过介质安装

修改好BIOS并使用U盘进入引导后,你的电脑就会进入一个黑底白字的选择界面,第一行是尝试进行安装,第二行是进安全模式(低分辨率),不用操作等它自己进入第一个选项就可以了。

漫长等待后(时间视U盘读写速度和主板芯片而定,一般不会超过5分钟,小阿凡友情提示你该去喝点水,远眺一下而不是继续盯着它 ~ ),进入图形化操作界面,左侧第一栏是系统语言选择,默认操作语言是英语,拉到底就有中文了,这时候旁边的试用(体验操作,进系统后桌面也可以进行安装)和安装就都能看得懂。这里上的是试用的图(主要还是为了方便截图 ~ 直接安装就可以的):
试用桌面示例
  安装并没有太多的步骤,从18到22的安装都是一致的。第一步都是例行欢迎 ~ :

安装-欢迎界面

接下来挑选键盘布局,你应该没有什么奇奇怪怪的键盘吧…有也没关系!点击探测键盘布局跟着提示走就可以了,一般用的都是US键盘

选择键盘布局

由于我是点的试用,中间截图编辑此文档是提前就连接网络了的,所以这一步之前应该还有一个连接网络,建议连接,能省不少事的。之后便是安装细节问题,由于个人并不喜欢自带的那些小游戏(连连看之类)以及本地化音乐播放器等软件,所以我选择最小安装,其他里的下载更新看个人,你感觉不急这一时就选上,这无非就是将后续系统更新的时间放到了安装这里(然而之后还是会有更新的),同时,如果你是使用独立显卡的用户,那么建议你勾上最后一个选项以避免硬件驱动异常和显示异常。

安装细节

然后就需要决定安装类型了,由于我早就安装好了,所以这里显示已经安装,只是为了截图留个过程干脆重新装了,如果你之前用的是Win那么就会有与Win共存的选项,Mac同理。共存就是所谓的双系统,还是提一嘴吧,与win构成的双系统需提前安装好Win,之后会顶替掉win的启动项,以后都是通过Ubuntu的引导(就是最开始要你选择尝试安装还是安全启动的黑底白字界面)去决定启动哪个系统,之前有试过三系统共存(安装顺序win-linux-hacintosh),有一说一,只有黑苹果的Colver四叶草引导和OC引导比较舒适,其他的多少都有点不尽人意。
  回归正题,这里因为我是选择完全独立使用一个系统,因此选择格盘安装,其他选项就是自定义分区和安装方式,这个涉及到Linux的分区格式,可以参考我之前的文章,看不懂就看后面再详写一下各系统的文件系统吧(阿巴阿巴,下次一定 ~ )

安装方式选择

选择好安装方式后就会提醒你它将对硬盘文件系统作出以下改动:

安装提醒示例

接下来是对时区的设定,一般来讲,你应该是在东八区,所以不用改动,如果不是,那么我很荣幸你能看到它,请设置到你所在的区域。

时区设定

最后一个设定,设置你的个人登陆信息,建议全英文,中文用户名不管是win还是linux都存在很大弊端

用户信息

接下来就静等安装结束即可。

在这里插入图片描述

值得一提的是,安装完成后需要重启,机器会黑屏告诉你需要拔掉介质再回车(enter),所以看到黑屏不要慌。

2. 配置

安装完成后的第一次启动,输入你刚刚设定的密码进入桌面,系统会自动检测一次更新和提示对机器进行一次初始化配置,先进行初始化配置。

2.1 初始化

首先是登陆Ubuntu的单点登陆账号,这将用于后面的更新和应用商店等操作,没有的话建议注册一个Ubuntu的单点账户进行登陆。
开机欢迎界面
  然后是设置Livepatch,这个程序的意义在于可以免重启安装更新,十分建议开启:

Livepatch界面
  Livepatch是需要Ubuntu账号进行激活的:

开启Livepatch提示

然后,嗯,失败。不用管,继续前进吧(网络问题)

开启Livepatch失败
  决定是否帮助改进:(处于隐私,俺不!)

帮助改进实例
  决定是否开启定位功能:

定位
  完成!开始使用吧~

完成初始化
  中间应该会弹出一个更新窗口,现在再来处理它,立即安装:

更新提示

一路继续就可以了:

更新跑代码示例

重启吧,而且由于后续更新问题,建议重启后再打开软件更新器再检查一次更新,避免出问题。

提示重启

2.2 配置Livepatch

更新完了嘛,就再来看刚刚开启失败的Livepatch,打开软件和更新程序看到Livepatch这一栏:
软件和更新

之所以建议前面登陆单点登陆账户就是因为它是需要和你的Ubuntu账户绑定的(22前的版本是直接登陆就可以开启),此时的你并不能直接开启其功能,它还需要你提供你的账户令牌(token):

提示输入token

token的获取需登陆这个网址https://ubuntu.com/advantage#livepatch,服务器原因会比较卡:

livepatch详情
  通过Register进入登陆界面以获取免费的Token:

登陆界面示例
  确认登陆信息:

确认登陆
之后获取到的页面下拉就可以看到你的token,每个免费账户的token只能绑定3台设备:

Token示例

这时候复制(Ctrl+C)再打开软件和更新程序,找到Livepatch进行关联,令牌就是Token,处于网络问题,失败后关掉再打开看看可能就是关联好的:

关联成功演示

每个账户最多可免费激活三台设备,不过除了我估计一般人也不会搞那么多设备在手上装着玩。

至此,初始化阶段告一段落。

2.3 开启root

因为默认下我们只是普通用户,对linux来说,系统文件是只允许root用户去修改的,所以我们开启root用户的密码,这样在root权限下,我只需要输入命令就可以了,不再需要sudo增设权限。(主要是懒得多打)开启命令为:

sudo passwd

密码需要连续输入两次以确保无误,提示不符合规定等可以无视,保证密码一致即可。请记住你设置的密码!

3 优化

对个人用户而言,linux 与 win 最大的区别就是 linux 使用命令行远比图形化操作简便,因此使用终端的操作是一定要会的。

对Ubuntu而言,在任何页面都可以使用Ctrl + Alt +T唤起终端:

终端示例

这里显示的是 用户名@主机名:路径(权限符),对linux来讲,~表示当前用户的根目录,即/usr/home/(用户名)/,权限符$表示普通用户,#表示root用户,也就是超级管理员权限。这些后面用多了也就逐渐理解了。

首先进行更新软件列表操作,处于一些原因,并不推荐去使用国内的软件源,快了点但是问题也多,更新不及时,隐藏病毒等都是可能的,当然像阿里之类的大源也是不太可能出问题的。个人更喜欢用原版源睡前丢一边慢慢更。
  在终端中输入:

sudo apt-get update

之后需要输入你的登陆密码(开机的那个),然后就会跑一大段命令(高级起来了)。更新完软件列表(检测有没有可以更新的程序)后再输入:

sudo apt-get upgrade

3.1 修改Dock

早先版本的Dock,也就是“任务栏”部分一直不合口味,因此早先版本的我都会直接卸载掉自带的Dock换成自己喜好的,但是!22自带的Dock就已经很好看了:

Dock演示

在设置里就可以直接改成这样了:

修改Dock
  嗯哼 ~ 我很满意!
  打住!,如果你对现在的结果已经很满意了,那么换个自己喜欢的壁纸就可以了,往后的操作适合折腾党。

3.2 安装Tweaks

Ubuntu最合我心意的就是他可以高度自由化的定义UI,你所看到的都可以去自定义,例如我的桌面现在长这样:

桌面示例

它所依赖的就是Tweaks,通过命令进行安装,在终端中输入:

sudo apt intall gnome-tweaks

为了方便管理和添加,还需添加:

sudo apt install gnome-shell-extension-prefs gnome-shell-extension-manager -y

然后你的程序列表里就多了下图的拓展:

拓展图表

打开第二个英文名称的程序进行管理和添加拓展

管理拓展

emmm…我事先添加了User Theme,在旁边的Browse添加,第一个就是:

添加User Theme

之后便可以在拓展中使用自定义的主题了。

3.3 更改主题

嗯,我从来没想到打脸会来得这么快,一调主题Dock就寄了,所以先去刚刚下User Theme拓展的Browse再去搜索一个Dash to Dock:

安装Dash to Dock

然后在左边Installed栏关掉Ubuntu Dock,然后恭喜,系统卡死,强制关机重启即恢复正常。
  这时再去下载GNOME主题,有一说一,下载的时候那不是一点点卡,是直接进不去,建议使用GitHub进行安装。

个人的话,比较喜欢WhiteSur的窗口设计与Fluent的图标设计,组合下来能达到这个效果:桌面示例  出于兼容性,从github上git下来的项目再适配主题是最舒心的,除了实在找不到合适的方法优化Firefox的样式,算是一块较为惋惜的瑕疵。总的来说,就是通过命令生成主题文件或将现有的主题文件分别添加到"/usr/share/"下的"themes"和"icons"里,最后再通过程序菜单里的工具文件夹的优化去修改主题,我的最终设定如下:
  主题改动算是比较深度的操作了,感兴趣的话回头可以再专门出一篇细讲(嗯,再挖个坑,会填的)。

4. 开发配置

并不清楚各位常用的开发领域都是些什么,以下仅为个人软件工程阶段所需要的开发配置(应该全了吧,。后续有了会补充 ~ )

Node.js

首先是选择你要的版本,也就是确定源,8.x版本需在终端(Ctrl+Alt+T)中输入:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

嗯,。如果你需要使用9.x版本的话,可以使用另一段指令:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

以上是指定版本的安装,还有LTS版本,现在是16.17.0:

curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

以及最新版,当下为18.8.0:

curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -

之后再执行安装指令(加个y是静默同意安装):

sudo apt-get install -y nodejs

安装完成后可以使用node -vnpm -v核验安装并查看版本

VS Code

虽然Ubuntu的snap商店自带,但是据说功能不全,所以这边还是建议通过指令安装,首先也是添加源:

sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg

之后就可以通过包资源管理器去安装了:

sudo apt install apt-transport-https
sudo apt update
sudo apt install code

Open-JDK

开发为避免版权纠纷,一律推荐使用开源的程序。
  open-jdk版本同正常的jdk,安装命令都是sudo apt-get install openjdk-X-jdk格式,需要什么版本就把X换成对应的版本就可以了,截至发文时间,有8、11、17、18供选择。示例:

sudo apt-get install openjdk-8-jdk

最后通过java -version核验安装和确定版本。

Python

这个直接默认上最新的吧

sudo apt install python3-pip

一样可以通过命令查看版本:pip --version

MySQL

先用命令安装mysql:

sudo apt-get install mysql-server

之后需要配置才能使用,第一步,进入数据库的root账户:

sudo mysql -u root

随后便进入了mysql,第二步给root用户添加密码为root(BY后面那个,可以自定义成自己的,注意别少英文半角的引号和分号):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

其后的是启动mysql服务,现在的你应该还在mysql里,输入exit退出mysql命令工具,第三步启动mysql service:

sudo service mysql start 

(下面的我就直接搬之前写的过来改进啦)

允许MySQL 被远程连接

这一点,还是由于实际开发中你不可能一直使用自己本地的数据库,也不可能自己设置了数据库只能给自己用,所以这个还是很有必要的。

  1. 开放3306端口并关闭防火墙
    打开3306号端口:

    sudo ufw allow 3306
    

    查看端口状态(allow就是开放的。):

    sudo ufw status
    

    关闭防火墙:

    sudo ufw disable
    

    开启的防火墙的指令是这个,这里不用开 :

    sudo ufw enable
    
  2. 允许其他IP访问
    进入到 /etc/mysql/mysql.conf.d 目录:

    cd /etc/mysql/mysql.conf.d
    

一般mysql默认会安装在这个目录下。如果不是,可以使用这个命令来查找文件位置:

sudo find / -name “mysql.cnf”
  1. 修改mysqld.cnf文件:
sudo gedit mysqld.cnf

两种选择:

  • 把bind-address从127.0.0.0改为0.0.0.0
    (0.0.0.0表示的是默认路由,即当路由表中没有找到完全匹配的路由的时候所对应的路由。)
  • 把bind-address这一行前加#注释掉
  1. 允许root用户在其他IP上登录

    1. 使用root用户登录mysql数据库:
    mysql -u root -p
    
    1. 进入到mysql数据库:
    use mysql;
    
    1. 查看user表的host和user数据:
    select host, user from user; 
    

    ( 会发现root用户允许的host是localhost)
    4. 修改数据:

    update user set host='%' where user='root'; 
    

    ( 把user为root的host改为通配符%,表示允许root用户在所有IP上登录。)
    5. 刷新权限:

    flush privileges;
    
    1. 退出mysql:
      exit
    2. 在终端中重启mysql:
    sudo service mysql restart
    

额外操作

  1. 新增用户(在mysql中)

    CREATE USER 'admin'@'localhost' IDENTIFIED BY '你要设置的密码'; 
    
  2. 卸载(在终端中)

    sudo rm /var/lib/mysql/ -R
    sudo rm /etc/mysql/ -R
    sudo apt-get autoremove mysql* --purge
    

DBeaver-CE

数据库管理器,类似navicat

添加源:

sudo add-apt-repository ppa:serge-rider/dbeaver-ce

更新源:

sudo apt-get update

安装程序:

sudo apt-get install dbeaver-ce

JetBrains系列

JetBrains家的软件对Linux都是一样的安装方式,下载对应压缩包解压,通过压缩包里bin下的.sh文件运行。所以我还是选择之前的方法,创建图标文件指定路径,以后更新文件就可以了。方法如下:

统一路径型(不方便后期更新)

这种方法适合某些原因不能更新的用户,官网下载压缩包后直接在下载里解压并提取,然后重命名为idea、pycharm、webstorm(要求这几个文件夹下就直接是软件的bin文件夹等的上一级目录,不能出现多级目录。),最后把这三个文件夹放进新建的jetbrains文件夹里面,使用这个命令一键挪进/usr/local/去 (前面的地一个路径是你整理出来的文件夹的位置。)

sudo mv ~/下载/jetbrains/ /usr/local/jetbrains/

特别注意,文件夹的命名一定要正确,不然你后面在启动器中会找不到应用图标。
  接下来在启动器中创建各自的应用程序图标(只示例了IDEA、WebStorm、Pycharm的,其他程序原理相同)

  1. 通过终端进入启动器目录下:

    cd /usr/share/applications
    
  2. 创建WebStorm的图标快捷方式:

    sudo gedit webstorm.desktop
    

    输入内容:

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Name=WebStorm
    GenericName=Web IDE
    Exec=/usr/local/jetbrains/webstorm/bin/webstorm.sh %f
    Icon=/usr/local/jetbrains/webstorm/bin/webstorm.png
    Terminal=false
    Type=Application
    Categories=Development;IDE
    Comment=The Drive to Develop
    StartupWMClass=jetbrains-webstorm
    

    右上角保存后关闭文本编辑器。

  3. 创建IDEA的图标快捷方式:

    sudo gedit idea.desktop
    

    输入内容:

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Name=IntelliJ IDEA
    GenericName=Java IDE
    Comment=IntelliJ IDEA is a code-centric IDE focused on developer    productivity. The editor deeply understands your code and knows its way around the codebase, makes great suggestions right when you need them, and is always ready to help you shape your code.
    Exec=/usr/local/jetbrains/idea/bin/idea.sh %f
    Icon=/usr/local/jetbrains/idea/bin/idea.png
    Terminal=false
    Type=Application
    Categories=Development;IDE
    StartupWMClass=jetbrains-idea
    

    右上角保存后关闭文本编辑器

  4. python:

    sudo gedit pycharm.desktop
    

    输入内容:

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Name=Pycharm
    GenericName=Python IDE
    Exec=/usr/local/jetbrains/pycharm/bin/pycharm.sh %f
    Icon=/usr/local/jetbrains/pycharm/bin/pycharm.png
    Terminal=false
    Type=Application
    Categories=Development;IDE
    Comment=The Drive to Develop
    StartupWMClass=jetbrains-pycharm
    

    保存后推出

这时候你的程序列表里就有你刚刚添加的图标了,直接双击图标就可以运行对应的程序,就很 nice~

但是问题也是有的,由于权限问题,后期的更新文件你都需要用sudo前缀的命令去删除和增加新文件。所以比较适合那些用了插件和手段不能正常更新的用户。

直接放在用户根目录,后期更新直接文件夹里删除旧文件换新的,不用命令去更改文件

这个方法要求你能经常顺利激活软件,学生、老师就去申请免费使用(我就是这么干的!),开源项目也能申请,尽管他这正版属实贵,十月据说还要涨价就离谱。
  类似的操作,官网下载程序压缩包后解压,然后改名丢到新建的jetbrains文件夹里,最后再把jetbrains文件夹移到用户根目录(主目录)下,这里你是有操作权限的,所以可以直接鼠标拖动或者CV。然后一样的,创建图标快捷方式:

  1. 通过终端进入启动器目录下:

    cd /usr/share/applications
    
  2. 创建WebStorm的图标快捷方式:

    sudo gedit webstorm.desktop
    

    输入内容,注意了,Exex和Icon的值要根据你的用户名来确定我的用户名是rob,所以我的输入值为:

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Name=WebStorm
    GenericName=Web IDE
    Exec=/home/rob/jetbrains/webstorm/bin/webstorm.sh %f
    Icon=/home/rob/jetbrains/webstorm/bin/webstorm.png
    Terminal=false
    Type=Application
    Categories=Development;IDE
    Comment=The Drive to Develop
    StartupWMClass=jetbrains-webstorm
    

    右上角保存后关闭文本编辑器。

  3. 创建IDEA的图标快捷方式:

    sudo gedit idea.desktop
    

    输入内容,注意了,Exex和Icon的值要根据你的用户名来确定我的用户名是rob,所以我的输入值为:

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Name=IntelliJ IDEA
    GenericName=Java IDE
    Comment=IntelliJ IDEA is a code-centric IDE focused on developer    productivity. The editor deeply understands your code and knows its way around the codebase, makes great suggestions right when you need them, and is always ready to help you shape your code.
    Exec==/home/rob/jetbrains/idea/bin/idea.sh %f
    Icon==/home/rob/jetbrains/idea/bin/idea.png
    Terminal=false
    Type=Application
    Categories=Development;IDE
    StartupWMClass=jetbrains-idea
    

    右上角保存后关闭文本编辑器

  4. python:

    sudo gedit pycharm.desktop
    

    输入内容,注意了,Exex和Icon的值要根据你的用户名来确定我的用户名是rob,所以我的输入值为:

    [Desktop Entry]
    Encoding=UTF-8
    Version=1.0
    Name=Pycharm
    GenericName=Python IDE
    Exec==/home/rob/jetbrains/pycharm/bin/pycharm.sh %f
    Icon==/home/rob/jetbrains/pycharm/bin/pycharm.png
    Terminal=false
    Type=Application
    Categories=Development;IDE
    Comment=The Drive to Develop
    StartupWMClass=jetbrains-pycharm
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/331146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

urllib基础+xpath基础(爬虫基础_1)

文章目录1 urllib库的使用1.1 urllib.request发送请求获得响应数据一个类型六个方法内容下载定制请求对象1.2 urllib.parseget请求编码post请求编码1.3 ajax的get请求示例1.4 ajax的post请求示例1.5 Handler处理器1.6 代理服务器2 解析2.1 xpath2.2 JsonPath2.3 BeautifulSoup1…

自动驾驶感知——多传感器融合技术

文章目录1. 运动感知类与环境感知类传感器2. 为什么需要这么多传感器?2.1 从需求侧分析2.2 从供给侧分析3. 多传感器硬件系统的设计思路4. 多传感器系统的时序闭环4.1 传感器时钟闭环构建4.2 成像同步机制5. 多传感器融合算法5.1 多传感器融合问题建模5.2 后融合5.2…

OpenAI ChatGPT 人工智能机器人注册使用,能以中文对答如流的机器人

文章目录一、什么是 ChatGPT二、宇宙最强技术狂魔 马斯克 与 ChatGPT三、在中国大陆如何注册 ChatGPT1. 注册前准备(只适用于中国大陆)2. 注册方法与步骤四、GhatGPT 的使用方法1. 网页直接使用2. 使用 Google Chrome 浏览器插件3. CSDN 已经接入 ChatGP…

创业平台推荐 ⌈ 适和全部开发者 ⌋ | 成为一名开发者原来那么简单 | 获取收益不再困难 | 快来加入这个大家庭吧

💛 前情提要💛 本文是番外篇:在当今生活中,我们都想在业余时间通过不断学习去充实自己、提高自己 而本文就是为大家拓宽一种思路🤩,从身为开发者的角度出发,为大家提供一个全面的平台去开启“…

const在C和C++中的区别

昨天有个学生去做C/C软件工程师的笔试题,遇到了这么一个题目,来问我结果是多少? 看似非常普通的一道C语言题目,如果不指定编译器,还真不知道结果是多少。 不信我来演示给你看下。 首先是用gcc来编译,就是…

Linux系统安全:安全技术和防火墙

目录 一、安全技术 1、安全技术 2、防火墙分类 二、防火墙 1、iptables五表五链 2、黑白名单 3、iptables基本语法 4、iptables选项 5、控制类型 6、隐藏扩展模块 7、显示扩展模块 8、iptables规则保存 9、自定义链使用 一、安全技术 1、安全技术 ①入侵检测系统…

Node.js http 模块详解(1)

http 模块 使用 Node.js 中创建 Web 服务,主要依赖内置的 http 模块。经典的 express.js、koa.js 框架都是以 http 模块为核心,进行的不同程度的封装。 创建一个最简单的 Web 服务只需要几行代码。新建一个 index.js 文件,输入以下内容&…

【GCC】3: webrtc带宽(预估调整)和GCC模块

webrtc源码分析(8)-拥塞控制(上)-码率预估 bandwidth bitrate estimator 整体码控流程 webrtc源码分析(8)-拥塞控制(上)-码率预估 大神绘制的: TWCC TCC算法的流程 TccEstimator 大神用go写的:Transport-CC Algorithm Description This is a Goog

python小游戏——打砖块代码开源

♥️作者:小刘在这里 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的,绽放,愿所有的美好&#…

Redis单线程还快的原因

Redis单线程还快的原因 Redis Server是多线程的,Redis单线程指的是请求处理整个流程是单线程的! 单线程还快的原因 纯内存操作: Redis数据存储在内存中,速度很快。 非阻塞IO多路复用机制: Redis 采用了多路复用机制&a…

从事互联网行业,考一个PMP会有帮助吗?

PMP是项目管理类证书,不要求工作岗位,只要涉及项目、项目管理岗位,就可以考PMP证书,就会有帮助。但这里先说一下PMP的报名条件,先看能不能考,再说考了是否有帮助。 条件如下图,有两个&#xff…

睿智的目标检测64——目标检测中的MixUp数据增强方法

睿智的目标检测64——目标检测中的MixUp数据增强方法学习前言代码下载什么是MixUp数据增强方法实现思路全部代码1、数据增强与MixUp2、调用代码学习前言 哈哈哈!我再来一次数据增强! 代码下载 https://github.com/bubbliiiing/object-detection-augm…

HTML5+CSS3(八)-全面详解(学习总结---从入门到深化)

领取详细资料 请关注一下公众号 !!! 目录 领取详细资料 请关注一下公众号 !!! 关系选择器 关系选择器分类 后代选择器 定义 语法 子代选择器 定义 语法 相邻兄弟选择器 定义 语法 通用兄弟选择…

Python爬虫教你爬取视频信息

大家好,我是拉斯,今天分享一个爬取某音视频的一个小案例,大家一起学习 目录前言基本环境配置爬取目标视频获取视频链接1.查看网页源代码2.抓包工具捕捉下载视频(以mp4格式进行保存)获取其他信息并打印(作者名,作品名,…

沁恒CH32V307使用记录:GPIO与EXTI

文章目录目的GPIO(通用输入输出接口)基础说明初始化输出输入与电平读取锁定机制EXTI(外部中断)基础说明使用演示总结目的 GPIO是单片机最基础的功能,EXTI最常用的场景就是GPIO用于输入时使用。这篇文章将对CH32V307中…

【i18n】使用 vue-i18n 实现国际化多语言切换

学习关键语句: i18n 进行多语言国际化 使用 vue-i18n 语言切换 写在前面 由于以前没有过国际化的经验 , 所以第一次遇到的时候还是有点懵逼的 , 赶紧在网上转了一大圈 , 分享给大家一点点我的使用经验 我写这篇文章的目的是大家看了之后跟着步骤走就能完成多语言切换的任务 …

闭眼时长标准差脚本

闭眼时长标准差脚本 闭眼时长标准差 平均闭眼时长:识别一分钟内闭眼次数以及每次闭眼的时长,将每次闭眼的时长进行累计相加,最终再取平均值 闭眼标准差公式 闭眼标准差((n1−navg)2(n2−navg)2...)∗1/n闭眼标准差\sqrt{((n_1-n_{avg})^2(…

【广度优先搜索】N叉树的层序遍历 | 腐烂的橘子 | 单词接龙 | 最小基因变化 | 打开转盘锁

🌠作者:阿亮joy. 🎆专栏:《数据结构与算法要啸着学》 🎇座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉…

jenkins打包构建springboot项目为docker镜像并上传nexus私服

前提:jenkins,docker,nexus都已经搭建完毕 一. 开启docker远程访问 1.修改docker.service文件 Docker 安装成功之后,首先需要修改 Docker 配置来开启允许远程访问 Docker 的功能。     文件位置:/lib/systemd/system/docker.service    …

JVM(Java虚拟机)详解(JVM 内存模型、堆、GC、直接内存、性能调优)

JVM(Java虚拟机) JVM 内存模型 结构图 jdk1.8 结构图(极简) jdk1.8 结构图(简单) JVM(Java虚拟机): 是一个抽象的计算模型。如同一台真实的机器,它有自己…