【中间件】学习记录·RocketMQ(一)
一、简介
官网文档地址:https://rocketmq.apache.org/zh/docs/
RocketMQ是由阿里捐赠给Apache的一款低延迟、高并发、高可用、高可靠的分布式消息中间件。经历了淘宝双十一的洗礼。RocketMQ既可为分布式应用系统提供异步解耦和削峰填谷的能力,同时也具备互联网应用所需的海量消息堆积、高吞吐、可靠重试等特性。
MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。
二、MQ用途
1. 异步
提升用户体验和系统吞吐量,把一部分同步的动作异步化,提高接口响应率(RT)。例如:现在门店用户注册,后台的逻辑中会涉及到发放优惠券,推送环保局,推送云门店,所有业务都是同步执行,接口的响应大概需要2.1秒,随着业务复杂度提高,时间会越来越长。引入MQ之后,注册操作注册成功后,发送消息到MQ。相关的业务自行订阅,各自处理,能够大量降低RT。
2. 解耦
一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主 ...
【Java】学习记录·BigDecimal
一、创建 BigDecimal 对象
创建BigDecimal对象常用的方式有2种:
12BigDecimal a = BigDecimal.new Bigdecimal(1);BigDecimal a1 = BigDecimal.valueOf(1);
不推荐使用new 关键字创建Bigdecimal对象。原因是当new 的值是一个小数的时候,其真实的值并不是我们想要的值
1234BigDecimal b = new BigDecimal(1.1);BigDecimal b1 = BigDecimal.valueOf(1.1);System.out.println("new的值b: "+b);System.out.println("valueOf()的值b1: "+b1);
输出:
12new的值b: 1.100000000000000088817841970012523233890533447265625valueOf()的值b1: 1.1
这在比较大小的时候,很可能出现意想不到的结果。
二、BigDecimal 加减乘除
加法:add( ...
【Markdown】Markdown常用语法总结
一、简介
Markdown是一种轻量级标记语言,它用简洁的语法代替排版,使我们专心于码字。它的目标是实现易读易写,成为一种适用于网络的书写语言。同时,Markdown支持嵌入html标签。
1. Markdown历史:
Markdown由John Gruber在2004年创建。其中在语法上有很大一部分是跟Aaron Swartz共同合作的。
Aaron Swartz就是那位于2013年自杀,有着开挂一般人生经历的程序员。维基百科对他的介绍是:软件工程师、作家、政治组织者、互联网活动家、维基百科人。
他有着足以让你跪拜的人生经历:
14岁参与RSS 1.0规格标准的制订。
2004年入读斯坦福,之后退学。
2005年创建Infogami,之后与Reddit合并成为其合伙人。
2010年创立求进会(Demand Progress),积极参与禁止网络盗版法案(SOPA)活动,最终该提案居然被撤回。
2011年7月19日,因被控从MIT和JSTOR下载480万篇学术论文并以免费形式上传于网络被捕。
2013年1月自杀身亡。
2. Markdown优势:
方便编辑。任何一个文本编辑器就可 ...
【Hexo】Hexo Butterfly魔改参考
一、操作
1. 鼠标样式
参考:偷掉月亮 - 鼠标样式更改
二、导航栏
参考:Ariasakaの小窝 - 导航栏魔改教程
三、归档页卡片
参考:ichikaの小窝 - 归档、标签、分类页卡片
引用站外地址
归档、标签、分类页卡片
ichikaの小窝
四、侧边栏
归档修改
参考:安知鱼 - 侧边栏归档修改
五、最近文章修改
参考:安知鱼 - 侧边栏最近文章修改
六、页脚
参考:ichikaの小窝 - 页脚
七、网址
1. 网址卡片外挂标签
参考:HEO - 网址卡片外挂标签
八、文章
1. 每页单独配置背景图
参考:安知鱼 - 每页单独配置背景图
【工具】实用在线网站推荐(持续更新)
一、综合功能网站
1. 致美化
致美化网内,有非常多的免费资源,包括但不限于壁纸、字体、鼠标样式等
网站地址:https://zhutix.com/
二、图片素材网站
1. 花瓣网
网站地址:花瓣网
2. 二次元随机图
网站地址:举个栗子-二次元随机图片API
三、文件格式转换器
1. Convertio
可对多种文件格式进行在线转换,但未注册买套餐的用户,一天只能进行限量的文件转换
网站地址:https://convertio.co/zh/
有非常多的文件格式可以选择,涉及到的领域也很多
四、配色网站
1. 中国色
http://zhongguose.com/#jianshilan
2. 日本传统配色
https://nipponcolors.com/#tsuyukusa
五、代码相关
1. Linuxize
各种教程类,包括安装和命令行指令
https://linuxize.com/post/ifconfig-command/
2. 技术文章摘要
多种技术文章归总,课程归总
https://learn.lianglianglee.com/
【Java】学习记录·Stream
一、简介
Stream 将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。
Stream 流的概述
Stream 流操作是 Java 8 提供一个重要新特性,它允许开发人员以声明性方式处理集合,其核心类库主要改进了对集合类的 API 和新增 Stream 操作。Stream 类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到 Java 中,能 让代码更加简洁,极大地简化了集合的处理操作,提高了开发的效率和生产力。
同时 Stream 不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java 容器或I/O channel等。在 Stream 中的操作每一次都会产生新的流,内部不会像普通集合操作一样立刻获取值,而是惰性取值,只有等到用户真正需要结果的时候才会执行。并且对于现在调用的方法,本身都是一种高层次构件,与线程模型无关。因此在并行使用中,开发者们无需再去操心线程和锁了。Stream 内部都已经做好了 。
关于对 Stream 流的理解,你可以把他当成工厂中的流水线,每个 Stream ...
【Mysql】学习记录·日期
日期说明
日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用DATE类型的参数外,也可以使用DATESTAMP类型或者TIMESTAMP类型的参数,但是会忽略这些值的时间部分。相同的,以TIME类型值为参数的函数,可以接受TIMESTAMP类型的参数,但是会忽略日期部分。许多日期函数可以同时接收数和字符串这两种参数。
获取当前日期的函数和获取当前时间的函数
CURDATE()函数和CURRENT_DATE()函数的作用相同,将当前日期按照按照YYYY-MM-DD或YYYYMMDD格式返回。
CURTIME()函数和CURRENT_TIME()函数的作用相同,将当前时间以HH:MM:SS或HHMMSS格式返回。
CURDATE()+0 将当前日期值转换为数值型。
案例: 使用日期函数获取系统当前日期;使用时间函数获取当前时间。
命令语句:
1select CURDATE(), CURRENT_DATE(), CURDATE()+0;
执行结果:
命令语句:
1select CURTIME(),CURRENT_TIME(),CURTIME()+0;
执行结果:
获 ...
【Hexo】Hexo常见问题合集(持续更新)
一、hexo d 部署后总需要重新改域名解决
原文:https://blog.csdn.net/qq_38332436/article/details/81907686
在source目录下(不是hexo根目录下),创建一个CNAME文件,可以用sublime创建,然后保存成(All files格式),CNAME文件里写自己新的域名
hexo g重新生成一下
hexo d部署到 github 上
完成
二、hexo 引入图床,图片失效问题
原文:https://www.jianshu.com/p/5b58ecce6443
在/butterfly/layout/includes目录下有一个head.pug文件,修改该文件的meta信息,会使生成的所有页面都带有该head。
在head.pug文件中添加如下内容:
1meta(name="referrer" content="no-referrer")
【Node】Node.js安装配置
一、Node介绍
Node.js发布于2009年5月,由Ryan Dahl开发,是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript 运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。
二、本体安装(Node.js)
1. 下载地址:Node.js
2. 安装淘宝镜像
12// 使用命令安装淘宝镜像npm install -g cnpm --registry=https://registry.npm.taobao.org
3. 常用Node指令
12345// 查看Node版本node -v//查询全局模块npm ls -g --depth=0
4. 卸载Node
1234567891011//删除全局node_modules目录sudo rm -rf /usr/local/lib/node_ modules//删除全局node模块注册的软链cd /usr/local/bin && ls -l grep ...
【Hexo】Hexo常用插件推荐(持续更新)
一、官网插件
所有插件,均可在Hexo官网插件中找到
目前本站已安装插件:
生成永久链接(hexo-abbrlink)
Makedown渲染器(hexo-renderer-markdown-it-plus)
搜索功能(hexo-generator-search)
字数统计(hexo-wordcount)
二、生成永久链接(hexo-abbrlink)
hexo-abbrlink插件通过算法,可以优化博客路径,默认路径https://blog.crygcat.top/2023/03/01/【Hexo】Hexo常用插件推荐,还会带上标题,这款插件可以将路径优化为https://blog.crygcat.top/posts/c0ee085a等等,支持16进制。
1. 安装插件
1npm install hexo-abbrlink --save
2. 配置插件
在_config.yml文件末尾,添加如下配置项(记得把原来的permalink:注释或者删除):
123456789101112131415#设置永久链接permalink: posts/:abbrlink.html ...
