摘要:
application.yaml 配置 mybatis-plus: # 配置要扫描的xml文件目录,classpath* 代表所有模块的resources目录 classpath 不加星号代表当前模块下的resources目录 mapper-locations: classpath*:/mapper 阅读全文
摘要:
最近idea的高亮变成了下图这个样子: 找了很久没有找到原因,后面对比了旧版本idea的配置发现: Adjust colors for red-green vision deficiency (调整红绿色视力缺陷的颜色) 这个选项被打上了勾,这个选项是专门为红绿色盲的开发人员设计的,会改变高亮中的红 阅读全文
摘要:
zookeeper: 负责集群元数据管理、控制器的选举等操作 producer: 将消息发送到 broker broker: 将收到的消息存储到磁盘中 consumer: 负责从 broker 订阅并消费消息 topic: 消息主题(逻辑概念),生产者和消费者都以 topic 为单位进行生产和消费 阅读全文
摘要:
正向代理: 客户端先访问代理服务器(比如香港服务器) 代理服务转发请求到目标服务器(比如谷歌) 目标服务器返回数据给代理服务器 代理服务缓存数据然后给客户端返回数据 反向代理: 客户端访问指定域名,域名解析到反向代理服务器(比如负载均衡服务器) 反向代理服务器根据定义好的规则把请求分发到目标服务器 阅读全文
摘要:
安装 ElasticSearch → 参考官方文档,下载压缩包解压即可使用 ElasticSearch head → 相当于一个可视化工具,用来查看数据 → 可以直接安装浏览器插件 kibana (查询工具) → 参考官方文档,下载压缩包解压即可使用 ik 分词器(中文分词器) → GitHub 下 阅读全文
摘要:
自从开始早起,每天一杯咖啡就成了标配,在我的另一篇文章《咖啡+奶》中聊过,从一开始的3+1速溶进阶到黑咖啡+鲜牛奶,这次我的咖啡体验又升级啦。入了一台胶囊咖啡机 Nespresso Inissia C40,爱喝咖啡星人终于有了一台属于自己的咖啡机啦。 起因 在这之前我对胶囊咖啡一无所知,在我的认知范 阅读全文
摘要:
昨天在复习 MySQL 日志相关的知识,学的东西过一段时间后就会遗忘,遗忘后再重新思考,往往会有新的收获。想到几个问题,把它记录下来。 为什么 redo log 具有 crash-safe 的能力,而 binlog 没有? redo log 是什么? 一个固定大小,**“循环写”**的日志文件,记录 阅读全文
摘要:
《深入理解Java虚拟机》第2章读书笔记 运行时内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。 下图为《Java虚拟机规范》 阅读全文
摘要:
什么是LinkedHashMap? LinkedHashMap 是 HashMap 的有序实现。LinkedHashMap 用一条双向链表来维护顺序,迭代的时候也使用自己实现的迭代器。 public static void main(String[] args) { HashMap<String, 阅读全文
摘要:
《深入理解Java虚拟机》第2章读书笔记 本文介绍对象的创建过程,包括如何对内存进行分配和对象中内存的布局,还介绍了如何访问对象。 对象的创建 堆内存的分配取决于内存是否规整: 如果使用 Serial, ParNew 等带 Compact 过程的收集器时,系统采用的分配算法是指针碰撞(Bump th 阅读全文
摘要:
左耳听风《高效学习篇》笔记 端正学习态度 学习所需要具备的能力: 行动力:缺乏行动力的人只会嘴上说说,很少真实践行; 方向和目标:要在前进过程不断修正自己的方向,确立和实现自己的目标; 方法:学习的方法很重要,没有方法论的支持,可能耗费大量的时间却收获很少; 自律和坚持:严格的自律,坚持,有效学习不 阅读全文
摘要:
WordPress 自带的代码块是没有代码高亮的,我们可以通过安装插件,设置代码高亮。 因为都是使用 Markdown 写博客,再用 MWeb 发布到博客上,Enlighter 这种需要依赖谷腾堡编辑器插入额外模块的插件,就不太适合我了,虽然这个插件很强大,有兴趣的朋友可以尝试下。 我只能选择自动美 阅读全文
摘要:
显示文章的阅读次数对 SEO 是有很大好处的,因为每次点击都会对文章进行一次小小的更新,我们可以用 WP-PostViews 这个插件来实现这个功能。 安装插件 在博客后台安装 WP-PostViews 插件。 修改主题代码 方法一:简单的修改。 在外观 → 主题编辑器 中,找到 index.php 阅读全文
摘要:
WordPress 原生的页面导航不好用,我们可以利用插件改成分页导航。 我们使用 WP-PageNavi 插件来替代原生的页面导航。 安装结束后进入主题编辑器,找到首页 index.php,找到 navigation 或者 nav 相关的代码,注释掉相关代码,并在位置上添加如下代码: <?php 阅读全文
摘要:
速溶咖啡 起初,刚开始尝试早起,天刚蒙蒙亮,困意十足。起床第一件事,先烧一壶水,冲一杯速溶咖啡。冬天的早晨,一杯甜甜腻腻的咖啡下肚,清醒。 后来觉得实在是太甜了,都是糖,不健康,就买了无糖的速溶咖啡,也挺好喝的,咖啡味道更浓。那时候买了一大盒,一百包,结果自己很快就不喜欢喝速溶了。这一大盒现在放办公 阅读全文
摘要:
概念 Redis 是内存数据库,数据存储在内存中,一旦服务器进程退出,数据就丢失了,所以 Redis 需要想办法将存储在内存中的数据持久化到磁盘。 Redis 提供了两种持久化功能: RDB (Redis Database):生成 RDB 文件,保存的是 key-value 的形式。 AOF (Ap 阅读全文
摘要:
前言 GTD 作为一种方法论对于个人提升是非常重要的,作为一种个人成长基础设施,可谓越早掌握越能够发挥作用,复利效果显著。 我花了5天左右的时间粗略翻完这本书,主要看了前三章,后面的章节是对前三章介绍的思想的实践和扩展,并不适合我现有的情况,简略的看完了。 我从这本书中获得了三个主要的思想或者说方法 阅读全文
摘要:
被 protected 修饰的成员对于本包和其子类可见: 基类的 protected 成员在包内可见 若继承了基类的子类与基类不在同一个包中,那么在子类中,子类实例可以访问其从基类继承而来的 protected 方法,不能访问基类中的 protected 方法。 /** * 基类 */ packag 阅读全文
摘要:
我们知道 HashMap 的底层是由数组,链表,红黑树组成的,在 HashMap 做扩容操作时,除了把数组容量扩大为原来的两倍外,还会对所有元素重新计算 hash 值,因为长度扩大以后,hash值也随之改变。 如果是简单的 Node 对象,只需要重新计算下标放进去就可以了,如果是链表和红黑树,那么操 阅读全文
摘要:
Photo by picography.co 《MySQL实战45讲》笔记。 简单理解一下可重复读 可重复读是指:一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。 我们可以简单理解为:在可重复读隔离级别下,事务在启动的时候就”拍了个快照“。注意,这个快照是基于整个库的。 这时 阅读全文
摘要:
Photo by hippopx.com 《MySQL实战45讲》笔记。 1. redo log——只是一块粉板 孔乙己又来酒馆喝酒,兜里没钱手机也没电了,只能向掌柜的赊账。掌柜有一块粉板,当客人要赊账的时候就往上写一笔,等客人少的时候或者粉板写满了就记到账本里去。还好有这块粉板,不然每次客人要赊账 阅读全文
摘要:
从2019年大概11月份左右,我开始尝试早起,一直坚持到现在已经有半年左右了。目前工作日和周日5点45分或者6点20分左右起床,具体时间看昨晚的入睡时间。周六关闭闹钟靠生物钟起床。 起因 最初的起因很偶然——女朋友考研到了冲刺阶段,每天5点起床背书,我想着干脆我也陪着早起,一起学习,这样女朋友就不用 阅读全文
摘要:
`HashMap` 的源码很多也很复杂,本文只是摘取简单常用的部分代码进行分析。能力有限,欢迎指正。 HASH 值的计算 前置知识——位运算 按位异或操作符 :1^1=0, 0^0=0, 1^0=0, 值相同为0,值不同为1。按位异或就是对二进制中的每一位进行异或运算。 按位右移补零操作符 :左操作 阅读全文
摘要:
本文简单介绍了 ,并对扩容,添加,删除操作的源代码做分析。能力有限,欢迎指正。 ArrayList是什么? 就是数组列表,主要用来装载数据。底层实现是数组 ,当我们装载的是基本数据类型 int, long, boolean, shot...的时候我们只能存储他们对应的包装类型。 与它类似的是 ,和 阅读全文
摘要:
什么是IoC和DI IoC(Inversion of Control 控制反转):是一种面向对象编程中的一种设计原则,用来减低计算机代码之间的耦合度。其基本思想是:借助于“第三方”实现具有依赖关系的对象之间的解耦。 DI(Dependence Injection 依赖注入):将实例变量传入到一个对象 阅读全文
摘要:
"原文地址" 注解的本质 「java.lang.annotation.Annotation」接口中有这么一句话,用来描述『注解』。 The common interface extended by all annotation types 所有的注解类型都继承自这个普通的接口(Annotation) 阅读全文
摘要:
题目描述 编写一个 SQL 查询,获取 表中第二高的薪水( ) 。 例如上述 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 。 思路 1. 排序,取出排名第二的值 2. group by 过滤掉相同薪水 3. 当不存在第二高的薪水时,会返回空而不是 ,做个 阅读全文
摘要:
《深入浅出Node.js》第五章《内存控制》阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已不再局限在浏览器中。本文不讨论网页应用、命令行工具等短时间执行,且只影响终端用户的场景。由于运行时间短,随着进程的退出,内存会释放,几乎没有内存管理的必要。但随着 Node 在服务端的广 阅读全文
摘要:
题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 示例 2: 思路 每次可以爬 1 或 2 个台阶。当我们爬 4 个台阶时,就是爬 3 个台阶的方法数,加上爬 2 个台阶的方法 阅读全文
摘要:
昨晚做了一个令人痛心疾首的操作, ,把我个人电脑里的重要文件夹给删掉了,懵逼了半天才缓过来。还好是个人文件,不对公司造成影响。这件事也让我意识到 确实是个高风险操作,文件备份也是重中之重。 为了规避这个风险操作,我决定用 替代 ,这样文件就不会直接被删除,而是进入废纸篓。 安装 trash "tra 阅读全文
摘要:
WebSocket 简介 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就 阅读全文
摘要:
微信支付分为JSAPI支付,扫码支付,APP支付,小程序支付等不同的支付方式。但大体的支付过程是一致的,本文以JSAPI支付,也就是微信内的H5支付为例,描述一下支付的整个开发流程。 配置 商户需要提前开通商户平台,并去公众平台或开放平台提交微信支付申请,获得商户号和秘钥。 详细文档可以看这里 支付 阅读全文
摘要:
背景 用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。 配置 1. 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 接口权限 网页服务 网页帐号 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写 阅读全文
摘要:
登录流程 1. 小程序通过 " " 获取 (用户登录凭证,有效期五分钟,使用一次后实效) 2. 服务端拿到 ,调用 " " ,获取用户的 (用户在当前应用的唯一标识)、 (用户在开发平台的唯一标识) (会话秘钥是对用户数据进行 "加密签名" 的秘钥,在获取用户信息时会用到) 等信息。为了安全,服务器 阅读全文
摘要:
背景 前端在调用微信提供的分享、拍照、扫一扫等功能时需要到后台获取配置,主要是签名(signature)。Node 开发可以用朴灵大佬的SDK—— "co wechat api" 。 配置 到微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。前提是该域名的项目目录下有微信提供的 阅读全文
摘要:
背景 在修改前辈留下来的代码时踩到一个坑。简单讲一下代码做了什么事:在 try/catch 里实例化多个类,并调用类的方法为其赋值,catch 到错误也不会中断,而是通过打日志的形式收集报错信息。 我需要在里面新实例化一个类,有样学样,上来就是一顿copy改,可是新增的类的某个属性总是不对,排查了半 阅读全文
摘要:
背景 公司在做付费课程,视频教学为主,需要对视频链接作防盗链处理。 REFERER HTTP referer 是 header 上的一个属性。当浏览器向服务器发起请求时,一般会带上Referer,告诉服务器我是从哪个页面链接过来的。 七牛在融合 CDN → 域名管理 → 高级配置里有一个域名防盗链选 阅读全文
摘要:
花了一天时间翻完了《码农翻身》(跳过了Java部分)。生动有趣的书看起来就是舒服,竟有引人入胜、手不释卷的感觉,一不小心就翻完了。是一本很好的入门科普读物,开阔技术视野。 下面是书中的摘抄和笔记 线程 "我是一个线程" 1. 不知道什么时候会被挑中执行 2. 在执行的过程中随时可能被打断,让出CPU 阅读全文
摘要:
背景 每次到网页里手动发版有点烦,写个脚本来提高开发效率。 CFG 在 jenkins 设置里获取 。 把 host 和账号密码拼接起来就可以通过鉴权。 javascript const token = { user: '', password: '', } const host = 'jenkin 阅读全文
摘要:
RSA RSA加密算法是一种非对称加密算法。 假设 A 与 B 通信。A 和 B 都提供一个公开的公钥。A 把需要传递的信息,先用自己的私钥签名,再用 B 的公钥加密。B 接收到这串密文后,用自己的私钥解密,用 A 提供的公钥验签。 为什么要先签名后加密?如果你先加密后签名,非法用户通过获取的公钥就 阅读全文