- 博客(29)
- 收藏
- 关注
原创 从0安装并配置Neovim,并配置C,Python,Rust相关插件以及颜色主题
自行去neovim的github下载,apt下载的版本太低(版本至少大于0.8.x,apt下载的版本在0.8之下),后续插件会出问题。Neovim的配置文件有两种风格,一个是init.vim,另一个是init.lua,这里使用init.lua来配置。文件浏览器,这个装上后Neovim和常用IDE差别就不大了。onedark,vsocde转过来的,还是喜欢这个。显示当前编辑器的状态信息,如文件名,光标位置等。创建init.lua并编辑。,添加 LSP 的配置。中的主题也改一下,如下。在packer里添加。
2024-09-20 16:02:57
1152
1
原创 Java七大设计原则(7/7)——迪米特法则
定义迪米特法则(Law of Demeter)又叫作最少知识原则(The Least Knowledge Principle),一个类对于其他类知道的越少越好,就是说一个对象应当对其他对象有尽可能少的了解,只和朋友通信,不和陌生人说话。简而言之,就是与其他类交互越少越好,尽可能减少所受其他类的影响,降低耦合度。代码实现不使用迪米特法则假设现在自己是Host,想玩英雄联盟了,没什么皮肤,想跟朋友John借个号爽爽。定义John类/** * @author John117 * @date 20
2022-05-24 13:34:14
308
原创 Java七大设计原则(6/7)——合成复用原则
定义合成复用原则:尽量使用对象组合,而不是继承来达到复用的目的。合成复用原则同里氏替换原则相辅相成的,两者都是开闭原则的具体实现规范。组合复用可以使系统更加灵活,降低类与类之间的耦合度。而使用继承,会大大增加类与类之间的耦合度,因为假如哪天被继承类的业务需要修改,或者被继承类的业务需要另一个类来代替,那么继承类所继承的父类业务也需要去修改,这样做增大了工程量。并且继承子类还会继承父类一些可能不想暴露的细节,这样并不安全。代码实现不使用合成复用原则假设现在要出门,我们选择一双鞋穿出去。
2022-05-24 12:52:53
428
2
原创 Java七大设计原则(5/7)——接口隔离原则
定义客户端不应该依赖它不需要的接口。一个类对另一个类的依赖应该建立在最小的接口上。实际上就是要求接口细化。代码实现不使用接口隔离原则定义一个猫猫接口/** * @author John117 * @date 2022/05/23 18:24 */public interface Cat { String getName(); String getMiao(); String eatMouse();}定义一个橘猫,实现Cat接口.
2022-05-24 11:58:59
182
原创 Java七大设计原则(4/7)——依赖倒转原则
定义上层模块不应该依赖底层模块,它们都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。代码实现假设现在要叫朋友John上号,选择通过微信发消息。不使用依赖倒转原则定义微信类,用来发消息/** * @author John117 * @date 2022/05/23 17:30 */public class WeChat { public void sendMessage(){.
2022-05-23 17:58:23
193
原创 Java七大设计原则(3/7)——里氏替换原则
定义里氏代换原则,任何基类可以使用的地方,子类一定可以使用。但反过来不一定成立,子类出现的地方,基类不一定能使用。即子类可以拓展父类,但不能更改父类原有的功能。概述子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。子类可以增加自己特有的方法。当子类的方法重载父类的方法时,方法的前置条件(即方法的输入/入参)要比父类方法的输入参数更宽松。当子类的方法实现父类的方法时(重写/重载或实现抽象方法),方法的后置条件(即方法的输出/返回值)要比父类更严格或与父类一样后两句可以概括为:接受的.
2022-05-22 12:49:11
469
原创 Java七大设计原则(2/7)——开闭原则
定义:在面向对象编程领域中,开闭原则规定“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为简而言之,就是开放拓展,关闭修改。开放是对提供方而言,拓展是对调用方而言。代码实现期间查阅到一个例子很好接释了开闭原则。例如有一个需求,购买东西时,需要根据不同的支付方式去支付,当类型为"wechat"的时候使用微信支付,当类型为"alipay"的时候使用支付宝支付。先看不使用开闭原则的代码是怎么写的不使用
2022-05-22 02:34:41
271
原创 Java七大设计原则(1/7)——单一职责原则
定义:单一职责原则的核心就是控制类的粒度大小、将对象解耦、提高其内聚性通俗点说也就是一个类应该干专一的事,不应什么都干。比如public class People{ public void top(){ System.out.println("我绝活就像TheShy"); System.out.println("对线如砍瓜切菜"); System.out.println("名为德莱厄斯AKA劈瘾犯了"); } public void mid(){ System.out..
2022-05-21 22:20:48
362
原创 SpringBoot跨域处理以及使Ajax携带Cookie
通过添加一个过滤器来处理跨域问题@Beanpublic CorsFilter corsFilter() { //创建CorsConfiguration对象后添加配置 CorsConfiguration config = new CorsConfiguration(); //设置放行哪些原始域,这里直接设置为所有 config.addAllowedOriginPattern("*"); //你可以单独设置放行哪些原始域 config.addAllowedOrigin(
2022-05-20 22:08:53
533
2
原创 windows上jdk18控制台输出乱码
经测试,archlinux上jdk18控制台输出不会乱码,windows上jdk18会乱码。windows上怎么设置都不能解决,只有将版本降到jdk17才能解决。
2022-04-30 17:58:51
1054
原创 IDEA同步设置,将设置上传github,换电脑换系统也能用同样设置
每次安装idea都会进行一堆个性化的设置,比如自动导包和取消、maven相关、大小写匹配、方法块显示和git的ignore,而导出导入操作可以避免再次手动操作的麻烦。idea版本:2021.3导出IDE SettingsFile -> Manage IDE Settings -> Export Settings 导出,导出是一个压缩包将刚刚导出的压缩包上传github(可以上传releases,也可以直接放在master分支,看个人喜好)导出就完成了导入IDE Se
2022-03-25 00:21:31
2246
原创 docker之DockerFile理解笔记
定义DockerFile 用来构建docker镜像,实质为命令参数脚本构建构建步骤编写dockerfile文件docker build 构建镜像docker run 运行镜像docker push 发布镜像( DockerHub、阿里云镜像仓库 )构建规则关键字不区分大小写,建议大写指令从上往下执行# 表示注释每一个指令都会创建提交一个新的镜像层DockerFile指令常用指令FROM # 指定基础镜像MAINTAINER # 指定维护者信息,姓名加邮箱.
2021-12-13 21:01:26
530
原创 docker之容器数据卷理解笔记
什么是容器数据卷定义:docker的理念将运行的环境打包形成容器运行,运行可以伴随容器,但是我们对数据的要求是希望持久化,容器之间可以共享数据,Docker容器产生的数据,如果不通过dockercommit生成新的镜像,使得数据作为容器的一部分保存下来,那么当容器被删除之后,数据也就没了,为了能够保存数据,在docker容器中使用卷情景案例:比如,数据存放在容器中,如果将容器删除,数据就会丢失。如果有多个容器,那么它们也可能发生这种情况。所以容器间需要一个数据共享的技术,将容器中产生的数据.
2021-12-08 18:59:53
1299
原创 docker提交一个自己的镜像
commit镜像docker commit # 提交容器成为一个新的副本docker commit -m="commit info" -a="author" containerID ImageName[:TAG] # 命令和git差不多测试# 启动默认tomcatdocker run -it -p 8080:8080 tomcat# 另开一个终端,进入tomcatdocker exec -it [tomcatID] /bin/bash# 当前webapps下是没有东西的,把we.
2021-12-05 18:12:31
737
原创 docker常用命令笔记
帮助命令sudo docker version # 显示docker版本信息sudo docker info # 显示docker系统信息,包括镜像和容器数量sudo docker [command] --help # 查看帮助镜像命令docker images 查看镜像sudo docker images # 查看所有主机上的镜像# 参数-a # 列出所有镜像-q # 只显示镜像iddocker search 搜索镜像sudo search [name] #.
2021-12-04 14:07:30
538
原创 把一个 helloworld.txt git到guthub以及再clone下来,需要做哪些事
默认first things first默认已经创建好github账户默认linux基础命令默认vim基本操作安装首先需要安装git以manjaro linux为例sudo pacman -S git配置全局配置配置user和email来说明等会是谁在commit配置关联用户名git config --global user.name "[name]"配置关联邮箱git config --global user.email "[email address]".
2021-11-05 18:18:04
389
原创 git常用命令
配置设置commit操作关联的用户名git config --global user.name “[name]”设置commit操作关联的邮箱地址git config --global user.email “[email address]”分支创建一个新分支git branch [branch-name]切换到指定分支并更新工作目录(working directory)git switch -c [branch-name]将指定分支的历史合并到当前分支git m.
2021-11-04 02:49:26
232
原创 Archlinux完全安装教程笔记(换源处之后同样适用Manjaro)——基本配置篇(含kde桌面环境、中文输入法)
网络配置ip link 找到自己的无线网卡名,我的是wlp4s0nmtui 进入NetworkManagerTUI进入Edit->Add->wifiDevice 网卡名SSID wifi名Securtity WAP &WAP2 PersonalPassword 密码设置完成后,ping baidu.com 检查一下能不能ping通,不通重新配置vim /etc/hostname 进去后起个主机名,以archlinux举例archlinuxvim /e
2021-10-31 13:46:06
1699
原创 ArchLinux完整安装教程笔记——基本安装篇(无DE)
archiso安装arch1.连接网络iwctl 进入网络连接工具device list 查看网卡,看到有一个wlan0station wlan0 scan 用wlan0扫描无线网络station wlan0 get-networks 查看可用网络station wlan0 connect [Network Name] ,再输入wifi密码exit 退出ping -c 4 baidu.com packet loss为0则为连接成功2.分区准备vim /etc/pacm
2021-10-29 00:25:09
2920
原创 Ubuntu20.04下Redis6.2.5安装及简单的性能测试
环境基于Ubuntu20.04,Redis6.2.5sudo apt-get install update先更新一下,不然可能找不到依赖sudo apt-get install redis-server等待安装完成,提示时直接回车就行service redis status如果看过Active: active就说明装好了,最后三行出现像我这样的Can’t open PID什么的不用,感觉没什么问题不放心可以查看进程ps -ef | grep redis能看到redis的进程
2021-08-19 13:43:04
970
原创 IDEA2021.01版本的show in exploer功能不见了
最近换了新版本的IDEA,找show in exploer这个功能没找到,好好看了下发现变成了open in,只是名字换了,多了新的功能。操作方法是一样的,右键->open in->files
2021-08-15 20:55:26
5789
4
原创 设计模式笔记———单例模式
一、定义单例模式:这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:单例类只能有一个实例2.单例类必须自己创建自己的唯一实例3.单例类必须为其他对象提供这唯一实例二、代码实现饿汉式/** 1. 饿汉式 */public class Singleton1 { private Singleton1(){}; private static Singlet
2021-07-27 00:01:03
124
原创 集合容器笔记(持续更新)
Collection单列集合List接口迭代器iterator因为Collection继承了Iterator迭代器,所以iterator接口提供了遍历Collection的接口。可以从一个Collection中使用迭代器方法来获取迭代器实例使用方法Iterator的接口定义:public interface Iterator{boolean hasNext();Object next();void remove();}其中:hasNext(): 判断容器内是否还有可供访问的元素ne
2021-07-25 22:11:53
115
原创 SpringBoot相似注解说明
注解说明@Autowired和@Resource区别@Autowired与 @Resource都可以用来装配bean. 都可以写在字段上,或写在setter方法上。@Autowired默认按类型装配(此注解属于spring),默认情况下要求依赖对象必须存在,如果要允许null值,可以设置它的属性required为false,比如 @Autowired(required= false),也可以使用 @Qualifier来指定按名称注入;@Autowired () @Qualifier ( "b
2021-07-25 21:41:24
187
原创 解决SpringBoot日期格式转换问题
前端传入时间数据时,在数据库中查看有时候会发现传入的时间是数字,而不是时间格式。这个问题可以在后端解决,方法如下://解决日期转换格式不正确 /* @JsonFormat(pattern = "yyyy-MM-dd") 解决后端传入前端日期格式错误 @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss\", timezone = \"GMT+8") 解决前端传入后端日期格式错误 */需要导入的依赖为<!-- Jackson --&
2021-07-23 20:04:06
690
原创 遇到的一些maven常见报错
遇到的一些maven常见报错整理下以前在学SSM遇到的一些常见maven报错Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.0.0:exec (default-cli) on project解决办法:测试不能用main方法测试,使用junit测试关键字maven-surefire-plugin 解决办法:在plugin中插入 <plugin> <groupId>or
2021-05-20 10:05:06
221
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅