04 2022 档案
摘要:前言 Vim是Linux下一个功能强大的文本编辑器,这里记录一些常用命令,防止忘记。 使用 Vim有4种模式(可能叫法不同),命令模式,输入模式,底线命令模式,可视模式。 编辑区底部会显示当前处于哪种模式,输入模式为INSERT,可视模式为VISUAL。 命令模式 使用vim a.txt命令进入a.
阅读全文
摘要:前言 scp(Secure Copy Protocol)安全拷贝,使用方式类似于Linux下的cp命令,可以将文件或文件夹在不同的主机之间拷贝,Windows和Linux下都有此命令。 命令格式 scp [参数] [源路径] [目标路径] 常用参数 -r 递归拷贝(拷贝文件夹) -v 打印调试信息
阅读全文
摘要:前言 Git是一个分布式版本控制系统,用于高效的处理或大或小的项目,之前一直使用IDEA整合的Git,对Git的各种命令和原理不是很了解,所以来学习一下。 Git的分布式体现在每台电脑上的Git都包含完整的版本库信息(如历史提交记录),有一个集中式的服务器如GitHub只是为了方便我们交换代码,实际
阅读全文
摘要:前言 Gitea是一个开源的轻量级的代码托管解决方案,和GitHub,GitLab类似。 准备工作 需要先安装Docker,查看Linux下Docker安装及使用 安装Docker Compose Compose是用于定义和运行多容器Docker应用程序的工具,通过Compose,可以使用yml文件
阅读全文
摘要:前言 Docker是一个开源的应用容器引擎,可以让我们很方便的部署我们自己的web应用或MySQL等应用。 安装 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 下载官方脚本并执行(自动安装) 运行 service
阅读全文
摘要:前言 今天在学习maven源码时,发现其中使用到了Plexus框架,它也是一个IOC容器(类似Spring和Guice),在maven中被大量使用。 添加依赖 <dependency> <groupId>org.eclipse.sisu</groupId> <artifactId>org.eclip
阅读全文
摘要:前言 Thrift是一个可以跨平台,跨语言的RPC(远程过程调用)框架,通过IDL(接口描述语言)来定义数据类型和接口,相当于Protobuf和gRPC的结合体。Thrift最开始由Facebook开源,后来贡献给了Apache。 下载编译器 官网,这里我们下载windows版本的编译器thrift
阅读全文
摘要:前言 gRPC是一个谷歌推出的高性能的RPC框架,遵从server/client模型,可以使client调用server的接口就像调用本地方法一样简单,gRPC使用ProtoBuf来定义数据类型和接口,相比RestAPI,传输数据更少,性能更高。 下载proto编译器 不仅需要下载protoc编译器
阅读全文
摘要:前言 在学习Netty时,发现可以整合ProtoBuf相关的处理器,所以先来学习一下ProtoBuf相关知识。 关于ProtoBuf ProtoBuf可以看做一个序列化(对象转成字节数组)和反序列化(字节数组转成对象)工具。相比Java本身的序列化,ProtoBuf可以支持跨语言,如使用Java序列
阅读全文
摘要:前言 今天在学习Apollo(配置中心)的客户端源码时,发现其中使用到了guice,它是谷歌推出的一个轻量级(相比Spring)的依赖注入框架,在很多开源项目中都有用到,如elasticsearch,maven等。 添加依赖 <dependency> <groupId>com.google.inje
阅读全文
摘要:前言 WebSocket也是一种应用层协议,也是建立在TCP协议之上,类似HTTP,并且兼容HTTP。相比HTTP,它可以实现双向通信,如聊天室场景,使用HTTP就必须客户端轮训查询服务器有没有新的消息,而使用WebSocket就可以服务器直接通知客户端。 Tomcat支持 Tomcat自7.0.5
阅读全文
摘要:前言 i18n(其来源是英文单词 internationalization 的首末字符i和n,18为中间的字符数)是"国际化"的简称。对程序来说,可以在不修改内部代码的情况下,根据不同语言及地区显示不同的页面。 准备工作 IDEA中properties文件默认的编码为GBK,需要修改为UTF-8。
阅读全文