vim
vim 大家好,今天我们来讲解一下vim。有人可能要问我们为什么要学习vim呢,我们不是都有文本编辑软件了吗,因为我们在使用服务器时或者搭建虚拟机(不要图形化界面,节省空间,并且使用终端可以让别人认为你很nb)时,都是没有图形界面的,给我们的都是一个黑乎乎的命令行终端。有的同学可能会说,我一般都是使用服务器建站之类的,使用服务器商提供的一键建站或者使用宝塔之类的,也不会使用什么vim,平时也使用不到。好像说的有点道理,那这期就不讲了?怎么可能,就算你现在使用不到,你以后工作时也会使用的,而且你也可以跟比人装13说你vim用得贼六。而且,当你完全掌握了vim之后,你就可以不使用鼠标了,这样可以大大提升你的开发效率。 模式 在学习vim之前,我们需要知道vim的三种模式(或者说是四种模式,加一个视觉模式): 正常模式 编辑模式 命令行模式 首先我们需要下载vim,在linux系统中,vim的下载十分简单,这里以ubuntu为例,输入sudo apt-get install vim -y,等待安装完成即可。 vim操作严格区分大小写,更不要使用中文符号 首先我们使用vim打开一个文件: ...
git
git 工作流 首先我们看一下git版本控制的基本流程: 一般我们会把项目放到远程仓库(github,gitee等)里,所有人都以这个远程仓库的文件作为最新版本(正本),。个人都有自己的工作区,这个工作区也就是自己本地电脑里的一个文件夹,每个人都可以用 clone 把最新版本的文件复制到本地,在自己电脑里操作文件就不会影响远程仓库,而且每个人都可以负责不同的板块。假设现在我们更新了一些文件想要提交到远程仓库,比如新增的4个文件里,我们只有2个文件需要添加到远程仓库,这个时候就可以把这2个文件添加到暂存区,也就是 add 。如果暂存区我们也觉得没有问题了,可以提交到本地仓库,也就是 commit ,本地仓库其实也就是本地版本区。如果本地仓库可以去更新远程仓库了,我们就可以用 push 把内容推过去。这里有几个状态要特别注意,如果文件还在工作区里,那文件就是 Untracked -未追踪状态,也可以用Unstage表示,已追踪状态用stage表示。如果远程仓库有更新内容,我们可以使用 pull 来进行更新,pull会直接更新到工作区,把你工作区的内容更新掉。所以,我们可以用 fetch ...
Gradle依赖管理-基于KotlinDSL
Gradle依赖管理(基于Kotlin DSL) Gradle构建工具是一个快速、可靠和适应性强的开源构建自动化工具,具有优雅和可扩展的声明性构建语言,Gradle包含许多优势: Gradle是JVM平台最受欢迎的构建系统,也是Android和Kotlin多平台项目的默认选择,它拥有丰富的社区插件生态系统。 Gradle可以使用其内置函数、第三方插件或自定义构建逻辑自动执行各种软件构建场景。 Gradle提供了一种高级、声明式和富有表现力的构建语言,使阅读和编写构建逻辑变得很轻松。 Gradle快速、可扩展,可以构建任意规模和复杂度的项目。 Gradle产生可靠的结果,同时受益于增量构建、构建缓存和并行执行等优化。 Gradle支持Android、Java、Kotlin Multiplatform、Groovy、Scala、Javascript和C/C++等热门语言的构建工作: Hello Gradle 首先,我们来学习Gradle的安装和初始化。 安装Gradle环境 在使用Gradle之前,我们先来看看如何安装,这里演示Ubuntu环境下如何进行安装,其他平台请参考官方文档: ...
Kafka3.7.0:3.SpringBoot集成
HelloWorld 项目搭建 首先新建一个空项目,然后添加一个模块 Kafka相关依赖,不是starter依赖 1234<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId></dependency> 配置文件 修改配置文件后缀为.yml,添加如下配置: 12345678spring: # kafka连接地址(ip+port) kafka: bootstrap-servers: localhost:9092 # 生产者配置 # producer: # 消费者配置 # consumer: 程序编写 生产者(写入事件) 向hello Topic发送一个Events 123456789@Componentpublic class EventProducer { @Resource private KafkaTempla ...
Kafka3.7.0:2.Kafka操作
Topic和Events 创建主题Topic 主题(Topic)类似于文件系统中的文件夹,它用来存储事件(Events)。 事件(Events)也称为纪录或消息,比如支付交易、手机地理位置更新、运输订单、物联网设备或医疗设备的传感器测量数据等等都是事件(Events);事件(Events)被组织和存储在主题(Topic)中。 简单来说,主题(Topic)类似于文件系统中的文件夹,事件(Events)是该文件夹中的文件。 创建主题使用:kafka-topics.sh 脚本 不带任何参数会告知该脚本如何使用:./kafka-topics.sh 创建主题:./kafka-topics.sh --create --topic <主题名> --bootstrap-server localhost:9092 列出所有的主题:./kafka-topics.sh --list --bootstrap-server localhost:9092 删除主题:./kafka-topics.sh --delete --topic <主题名> --bootstrap- ...
Kafka3.7.0:1.安装Kafka
运行环境前置要求 Kafka是使用Scala语言编写而成,Scala运行在Java虚拟机上,并兼容现有的Java程序,因此要部署Kafka需要先安装JDK环境,建议安装Java8+(Java8、Java11、Java17、Java21都可以,这里使用Java17)。 Kafka官网 Scala官网 JDK下载地址 你也可以使用jenv管理多版本jdk,具体操作参考我之前的文章: 引用站外地址 jenv管理多版本jdk https://www.yuanyuan.blog/posts/9f01ffa.html Kafka安装 前往Kafka官网下载最新3.7.0版本 解压缩:tar -zxvf kafka_2.13-3.7.0.tgz 进入bin目录:cd kafka_2.13-3.7.0/bin/ 启动Kafka Apache Kafka可以使用ZooKeeper或者KRaft启动,但只能使用其中一种方式, ...
修改docker访问权限
问题一:非root用户无法访问root 描述: 解决: 1sudo chmod 666 /var/run/docker.sock 问题二:vscode docker插件无法访问docker 描述: 解决: 按照官网修改docker权限 1、创建docker 组 1sudo groupadd docker 如果提示groupadd: group 'docker' already exists,表示这个组之前已经创建好了,可以直接进行下一步 2、添加你的用户到docker组中,将$USER替换成终端中@前面的用户名,如liaojie314@liaojie314: /home/liaojie314则修改为liaojie314 1sudo usermod -aG docker $USER 我使用的是ubuntu系统,可以直接在终端中输入下面的命令更新组,其他非linux系统或者虚拟机需要重启才可以更新组 1newgrp docker 其他问题 WARNING: Error loading config file: /home/user/.docker/config.json: open ...
修改docker默认存储位置
方法1. 修改docker默认存储位置 docker默认存储路径在/var/lib/docker下 12docker info | grep -i dir#Docker Root Dir: /var/lib/docker 修改默认路径:修改docker的systemd的配置文件 12#移动文件位置cp -a /var/lib/docker /home/ 编辑 /etc/docker/daemon.json 文件 如果不存在得手动创建,如果你写了国内源的话,就在这下边在加一行就行,注意:添加"data-root": "/data/docker"前面要添加逗号",",避免json格式不正确,报错 12345{ "registry-mirrors":["http://docker.mirrors.ustc.edu.cn"], "exec-opts": ["native.cgroupdriver=systemd"], "d ...
安装ffmpeg
ffmpeg FFmpeg是一个开源免费的多媒体计算机程序,可以用来记录、转换数字音频、视频,并能将其转化为流,能让用户访问几乎所有的视频格式,包括mkv、flv、mov等。同时FFmpeg是一个自由的开放源代码工具集,用于处理多媒体文件。它包含一组共享的音频和视频库,例如libavcodec,libavformat和libavutil。 使用FFmpeg,您可以在各种视频和音频格式之间转换,设置采样率,捕获流音频/视频以及调整视频大小。 FFmpeg具有非常强大的功能,包括视频采集、视频格式转换、视频抓图、给视频加水印等,同时还能兼容多个操作系统,比如Windows、Linux、Mac。ffmpeg可以在任意采样率之间进行转换,并使用高质量的多相滤波器动态调整视频大小。 官网:FFmpeg Windows安装 下载 到ffmpeg官网下载安装包Download FFmpeg 解压文件并将其中bin目录添加到环境变量中 点击“系统属性->高级系统设置->环境变量->系统变量”,选择“Path”条目,点击“编辑->新建”,把bin文件夹路径复制粘贴进去,然 ...
ubuntu安装cuda和cudnn
安装显卡驱动 方法一(推荐)ubuntu自带 在软件和更新应用中选择附加驱动,选择带server结尾的驱动进行安装(应用更改) 方法二官网下载 英文地址:Official Advanced Driver Search | NVIDIA 中文地址:官方驱动 | NVIDIA 更新软件列表和安装必要软件、依赖 终端输入以下命令: 1234sudo apt-get update sudo apt-get install g++sudo apt-get install gccsudo apt-get install make 禁用默认驱动 在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau 在终端输入命令打开blacklist.conf文件。 1sudo gedit /etc/modprobe.d/blacklist.conf 或者新建一个单独的blacklist-nouveau.conf文件。 1sudo gedit /etc/modprobe.d/blacklist-nouveau.conf 在打开的文件末尾输入并保存: 12blacklist nouveauopt ...
Ubuntu高版本安装低版本GCC
Ubuntu高版本如何安装低版本GCC (以Ubuntu 22.04安装GCC5为例) 默认安装GCC 通过如下命令安装的gcc版本太高 123sudo apt updatesudo apt install build-essential # 安装 GCC、G++ 和 make 等工具# sudo apt install gcc #只安装gcc 使用gcc --version查看gcc版本 添加源 如果想用低版本的gcc,比如gcc5,尝试输入命令 sudo apt-get install gcc-5。会提示找不到gcc5的安装包,那么就需要添加较低版本的源。 网上搜索得到gcc5对应的Ubuntu版本为16,接下来就对Ubuntu22.04的源文件source.list进行编辑,增加Ubuntu16的源 123456789101112131415sudo gedit /etc/apt/sources.list #通过命令用gedit编辑器(也选择其他编辑器,如vim,mousepad等)打开sources.list文件# 添加如下内容deb http://mirrors.aliyu ...
ubuntu搜狗输入法无法输中文
搜狗输入法linux下载地址 根据官方教程安装成功后发现只能输入英文,无法输入中文 原因 主要原因是缺少依赖包导致的。 解决方式 12sudo apt-get install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2sudo apt install libgsettings-qt1