- 博客(68)
- 收藏
- 关注
原创 Azure Blob MD5算法
笔者所在项目采用Azure Blob来作为文件存储解决方案, 上传的大文件需要一种机制来验证文件的完整性, 而业内通用的解决方案就是用MD5来做校验.通过Microsoft Azure Storage Explorer工具右键查看任何文件的Properties时, 可以看到该文件的MD5值。Azure Blob在我们上传文件且没有指定Content MD5时, 就会自动帮我们计算文件的MD5值.通过调查得知Azure Blob的Content MD5有自己的计算方式(WTF?...
2022-08-18 17:16:29 1257 1
原创 Sharding Sphere基于复合分片键分表实战
ShardingSphere为我们提供了4种分片算法和5种分片策略(下面都是官网抄来的,感兴趣可以在文末找到原文链接)4种分片算法精确分片算法对应PreciseShardingAlgorithm,用于处理使用单一键作为分片键的=与IN进行分片的场景。需要配合StandardShardingStrategy使用。范围分片算法对应RangeShardingAlgorithm,用于处理使用单一键作为分片键的BETWEENAND、>、=、...
2022-08-01 18:41:43 3487
原创 JPA Query By Example (QBE) 不支持日期查询
1.2 构建Specification1.3 调用repo.findAll方法时传入Specification二. 问题描述QBE是JPA给我们提供的一个通过样例查询的方式, 我们可以通过构建一个 entity “案例”, 然后JPA会通过这个entity存在的字段为我们构建查询.但是通过查看ExampleMatcher源码发现只有StringMatcher一种实现, 这意味着我们只能对一些字符类型的列进行模糊匹配或者全匹配(也支持REGEX形式的匹配).如果要对日期类型进行比较则不支持, 需要我
2022-07-11 16:29:37 1387 1
原创 Spring Cloud Gateway Session
Spring Cloud Gateway Session文章目录Spring Cloud Gateway Session一、楔子1.1 为什么想要写此文档?1.2 声明二、自底向上的概念讲解2.1 什么是事件驱动模型?2.2 什么是IO多路复用?2.3 什么是WebFlux?三、 Spring Cloud Gateway 实战引用书籍博客&官网一、楔子1.1 为什么想要写此文档?源于一次Zuul to Spring Cloud Gateway的升级,笔者开始大量查阅资料以增加对Spring
2021-08-31 14:51:08 2861
原创 Nacos + Gateway 实现动态刷新路由
Nacos + Gateway 实现动态刷新路由文章目录Nacos + Gateway 实现动态刷新路由一、一次微服务组件的替换二、Nacos + Spring Cloud Gateway + loadbalancer + resilience4j + openfeign 整合Demo2.1 创建工程spring-cloud-gateway-demo2.2 创建工程provider2.3 Nacos Server Setup2.4 启动工程并测试引用一、一次微服务组件的替换原有系统架构中的一些组件因着
2021-08-18 09:15:02 3725
原创 打造完美 Typora
打造完美 Typora文章目录打造完美 Typora一、前言二、样式优化2.1 主题选择2.2 更换字体2.3 文字排版三、功能优化3.1 配置Gitee图床3.2 笔记同步3.3 每日TODO List四、结语一、前言Typora是一款优秀但不完美的MarkDown编辑器。笔者无论是学习笔记的记录或者博客的书写都是用的这款软件,不得不说MarkDown为笔者省去了不少排版优化的时间,即使纯Text仍然能写出优雅的排版。不仅如此,Typora 还为MarkDown文档提供了Mermaid支持,Mer
2021-06-10 11:56:00 1551 13
原创 MySQL 索引机制以及调优
MySQL 索引机制以及调优此文不是特别全,建议和另一篇文章结合着看目录文章目录MySQL 索引机制以及调优开篇基础知识储备局部性原理磁盘预读索引是什么?hash二叉树和红黑树B树B+树InnoDB和MyISAM文件存储和索引区别MySQL文件存储结构索引InnoDBMyISAM存储引擎对比索引的分类索引基本知识开篇一起来看一下我们工作中常见的几个数据库问题数据库常见的慢查询优化方式是什么?为什么加索引能优化慢查询?哪些数据结构可以提高查询速度?众多数据结构中为什么Mysql选择使用B+
2021-06-09 11:54:30 292
原创 高性能MySQL(呕心沥血整理万字长文)
高性能MySQL文章目录高性能MySQL一、 引言二、 架构2.1 谈谈技术选型依据2.2 一次并不特别成功的技术选型2.3 聊聊MySQL的逻辑架构2.4 小结三、 顶层设计3.1 设计表的坑3.1.1 太多的列3.1.2 太多的关联3.1.3 过度使用枚举3.1.4 范式和反范式3.1.5 缓存表、汇总表3.1.6 Alter Table3.1.7 小结3.2 索引设计3.2.1 还是那棵树3.2.2 三星系统3.2.3 聚簇索引3.2.4 覆盖索引3.2.5 索引和排序3.2.6 冗余索引和重复索引
2021-06-08 18:32:54 11358 4
原创 ElasticSearch WorkShop 讲义
Elasticsearch Workshop Session文章目录Elasticsearch Workshop Session一、概述1.1 什么是全文检索?1.2 Why Elasticsearch?1.2.1 技术选型指南1.2.2 Lucene、Solr、ES1.2.3 ES常用模式二、核心概念2.1 "You Know, for Search"三、实战3.1 搭建本地环境3.2 CRUD3.2.1 Restful的增删查改3.2.2 Java的增删查改3.3 复杂的查询3.3.1 聚合(aggr
2021-06-07 14:43:39 1472 2
原创 如何优雅的用MarkDown编写一份简历
如何优雅的用MarkDown编写一份简历背景近期笔者因故离开了上家公司,要回自己的家乡发展。因为前段时间忙于工作和离职等事情,疏于更新博客,为此笔者感到了深深的罪恶感以及发自良心的谴责。2020已经过去大半,自己立的flag看来得加紧完成了…既然是换工作,那么一份优雅的简历是必不可少的。为此笔者搜罗各大网站,希望能找寻到一份符合自己心意的简历模板。但是事与愿违,在笔者花费了89块大洋开通了某平台会员后仍然没有找到合适的简历后,笔者意识到:身为一个技术宅,居然简历还要去找轮子!这让笔者老脸一
2020-07-17 15:37:12 7932 6
原创 程序员“好为人师”有错吗?
程序员“好为人师”有错吗?我很乐于将自己的想法见解分享给他人,却被他人冠上“好为人师”的名头,这不是一个好的形容词,意为喜欢当别人的教师。常常得到这个词的人会被别人以为不谦虚,自以为是,爱摆老资格。出自《孟子·离娄上》。—— 以上释义摘自百度百科但是今天,笔者将揭开这个词的另一层含义,并给大家分享一个学习方法,也是笔者常常使用屡试不爽的学习方式。一、理查德弗曼学习法相信不少人听说过这个学习方法,没有听说过也没关系,以下是理查德弗曼学习法的说明:理查德弗曼学习法通常网络上将这个学习法拆分
2020-07-07 15:28:49 397 1
原创 最后一面挂在volatile关键字上,面试官:重新学学Java吧!
最后一面挂在volatile关键字上,面试官:重新学学Java吧!为什么会有volatile关键字?volatile: 易变的; 无定性的; 无常性的; 可能急剧波动的; 不稳定的; 易恶化的; 易挥发的; 易发散的;从上面的单词本意我们可以知道这个关键词用于修饰那些易变的变量为了让我们更好理解为什么volatile这个关键字的作用以及存在的意义我们先来看一段代码:package com.laoqin.juc;/** * @Description TODO 测试volatile关键字
2020-06-14 16:20:05 720 1
原创 【UniApp】v-for列表渲染不执行方法参考解决方案
【UniApp】v-for列表渲染不执行方法参考解决方案问题描述熟悉Vue的小伙伴一定很熟悉v-for而使用Vue语法做跨端开发的UniApp也对v-for提供了良好的支持以下是一段简单的uniapp使用v-for演示<view v-for="(item,index) of 100" :key="index"> {{item}}</view>效果演示接下来为了更加接近生产环境,我们在页面加载的时候生成一个列表并循环(实际开发一般是请求API接口)附上in
2020-05-09 23:28:59 7716 2
原创 【Java视频学习路线思维导图】这可能是最平滑的学习路线
【Java视频学习路线思维导图】这可能是最平滑的学习路线对于正在学习Java的同学来说,可能最需要的就是一个清晰的学习路线图填鸭式的学习往往不能达到我们预期的效果并且有可能“适得其反”,在学习的过程中丧失学习的动力和信心此文就是结合我自身经历整理的一份Java学习“干货”力争让想要入坑的小伙伴少走弯路同时也勉励自己“温故而知新”一举多得,岂不美哉—— from 老邋遢说在前面...
2020-03-26 15:01:28 695 3
原创 【Hbuilder】用Java开发两个生成代码插件,耗费了我一天半的时间
【Hbuilder】用Java开发两个生成代码插件,耗费了我一天半的时间文章目录【Hbuilder】用Java开发两个生成代码插件,耗费了我一天半的时间缘起scss代码生成插件源码讲解js代码生成插件源码讲解缘起某一天在用Hbuilder编写vue页面的时候,发现无论是方法还是css,都需要自己定义后再去编写相应代码有没有一个插件能自动根据template里的html代码来生成对应的sc...
2020-03-24 17:25:38 1222
原创 Java正则表达式匹配所有字符
Java正则表达式匹配所有字符使用Java在插件开发过程中发现正则表达式[.\n]*并不能达到匹配所有字符的效果正解如下,特此记录可以使用[\s\S]*来匹配其中\s表示匹配任何空白字符\S表示匹配任何非空白字符任何集合加上它的补集就是全集,即所有字符同理,形如以下的也可以达到同样的效果:[\b\B]*[\d\D]*[\s\S]*[\w\W]*也算一个踩小坑的经历吧...
2020-03-24 13:11:19 3388
原创 Java实现印刷体转手写体—妈妈再也不用担心我被罚抄作业了
Java实现印刷体转手写体—妈妈再也不用担心我被罚抄作业了文章目录Java实现印刷体转手写体—妈妈再也不用担心我被罚抄作业了缘起开始开发测试效果开源地址和总结郑重声明因本文中涉及到爬虫程序,该爬虫源码仅用于交流学习如果要使用本文中的技术或源码,请务必严格遵守每个网站根目录下的robots.txt爬虫协议因擅自用作其他用途而产生的法律风险请自行承担!缘起随着人工智能、深度学习的发展...
2020-03-18 17:07:33 9182 9
原创 【代码洁癖症】第2回-策略模式
【代码洁癖症】第2回-策略模式序言在一个宁静的午后,我有幸拜读了程杰大鸟的《大话设计模式》觉得这是一本不可多得的好书奈何里面都是C++代码写的示例,对于学Java的同学不是很友好于是想将书中的核心提炼出来并结合Java示例与大家分享并且加入一些我曾在生产环境下的应用来“学以致用”这是第一次开始写CSDN专栏,内容会持续更新,感兴趣的小伙伴可以来个三连本人水平有限,难免会有不足之处...
2020-03-15 14:17:28 255
原创 Uniapp绘制海报终极解决方案(微信小程序同样适用)
Uniapp绘制海报终极解决方案(微信小程序同样适用)文章目录Uniapp绘制海报终极解决方案(微信小程序同样适用)问题原因与分析解决方案完整代码问题原因与分析背景介绍在微信小程序开发过程中,我们发现分享只能发送给好友,并没有“分享到朋友圈的功能”以下是任意小程序点开分享界面的截图所以我们通常的做法是绘制一个带小程序二维码的海报,然后保存到本地图库最后引导用户把该张图片分享至朋友...
2020-03-13 14:49:21 5857 4
原创 【代码洁癖症】第1回-简单工厂模式
【代码洁癖症】第1回-简单工厂模式序言在一个宁静的午后,我有幸拜读了程杰大鸟的《大话设计模式》觉得这是一本不可多得的好书奈何里面都是C++代码写的示例,对于学Java的同学不是很友好于是想将书中的核心提炼出来并结合Java示例与大家分享并且加入一些我曾在生产环境下的应用来“学以致用”这是第一次开始写CSDN专栏,内容会持续更新,感兴趣的小伙伴可以来个三连本人水平有限,难免会有不足...
2020-03-10 17:49:38 266 3
原创 如何优雅的(不花钱)获取一本技术图书
如何优雅的(不花钱)获取一本技术图书郑重声明知识可能是最值钱也是最不值钱的东西本文旨在进行技术交流分享如果有钱,最好还是花钱买书文章目录如何优雅的(不花钱)获取一本技术图书程序员都应该看什么书程序员都应该看什么书相比于看培训课程和博客,我更推荐大家看一些编程类的书籍原因有以下几点一本书的出版要经历很长的流程,后期还有审校等工作,出错的概率会变小,何况还有二版三版,会不断更新...
2020-03-05 11:57:20 5567 7
原创 头条/抖音小程序内容安全检测(违规词过滤)
头条/抖音小程序内容安全检测(违规词过滤)文章目录头条/抖音小程序内容安全检测(违规词过滤)缘起环境说明开始说在最后缘起头条/抖音小程序在审核的时候都会要求待审核小程序有一项"关键词过滤"功能要求对用户输入的内容进行检测求问度娘无果,于是自己用SpringBoot+RestTemplate简单写了个demo这个示例对于其他平台API请求依然适用废话不多说,进正题环境说明不说明开发...
2020-03-04 14:08:16 17970
原创 Ubuntu 建立Swap分区解决GitLab卡顿问题
Ubuntu 建立Swap分区解决GitLab卡顿问题一般来说运行GitLab需要4GB以上的内存,但是如果要在GitLab上配置CI/CD,k8s等,这点内存就显得尤为吃力,如何能在不升级配置(交钱)的情况下暂时解决燃眉之急?因为是最基本的Linux系统操作,Linux大佬莫笑# 查看 swap 分区cat /proc/swaps# 如果只有标题栏,而查不出来数据,那就是没有sw...
2020-02-26 09:33:34 974
原创 巨坑! CI/CD持续集成环境下Nexus提示 Not authorized 问题
巨坑! CI/CD持续集成环境下Nexus提示 Not authorized 问题今天在部署持续集成环境的时候,前面一路顺风顺水,但是在push代码后流水线秒挂,并且频频出现以下问题Maven:Not authorized踩坑到半夜1点半才发现是Nexus没有开启匿名访问的缘故,为了以后避免再犯此低级错误,特此立帖鞭打一下自己,下顿饭扣个鸡腿!两张图让我老脸一红:...
2020-02-26 01:39:15 1806 3
原创 JRebel+SpringBoot启动失败
记录下开发中热部署遇到的小问题:首先说明下在这之前发生了什么:在做APP后台的时候使用另一台电脑运行(公司里拷贝过来的项目),在用JRebel热部署的时候出现以下错误:Class 'org.springframework.boot.env.PropertiesPropertySourceLoader' could not be processed by org.zeroturnaround....
2020-02-08 19:54:29 6370 2
原创 阿里巴巴是如何优雅的处理分布式事务的?
阿里巴巴是如何优雅的处理分布式事务?文章目录阿里巴巴是如何优雅的处理分布式事务?#前言#阿里Seata#Seata用户群#Seata的前世今生#Seata基本概念码字不易,转载请注明出处前面废话很多,但是多多少少有点用,嫌我啰嗦的可以直接跳到目录里的实战环节#前言博主最近在架构公司项目的过程中,遇到了事务链调用的问题,也就是常常面试里说的分布式事务.知识点补充什么是分布式锁与分布...
2019-12-27 14:09:18 905 2
原创 JVM调优-微服务的内存之痛
#JVM调优文章目录#JVM调优#楔子#开始调优#尾声#楔子最近博主正在为一家创业公司从零开始架构微服务以及建立一套完善的DevOps流水线.因为经费原因,公司前期并没有在局域网搭建测试环境,而是用阿里云ECS作为测试和未来的生产环境.阿里云服务器内存有限(只有8个G),前期所有微服务都是部署到一台机器上进行测试,但是部署了7个服务后,发现内存没了…以下是我已经部署的服务eurek...
2019-12-23 13:51:49 3499 3
原创 Teleport文件名乱码怎么办?我是程序员啊!
Teleport文件名乱码怎么办?我是程序员啊!文章目录Teleport文件名乱码怎么办?我是程序员啊!#说在前面#我的思路#代码实现#说在前面可能很多人还不知道Teleport是什么东西.其实就是个全站下载工具,能够将一些网站完整的克隆到本地存根.因为本人有逛别人自建博客的习惯,当发现一些技术大神的干货的时候忍不住自己在本地留存一份.但是久而久之发现一篇篇的保存也不是长久之计.作为一...
2019-11-27 16:45:28 1873 2
转载 GET,POST,PUT,DELETE请求我都听过,OPTIONS又是什么鬼?!
原文链接#概述在项目中发现ajax中出现两次请求,OPTIONS请求和GET请求。查找原因是浏览器对简单跨域请求和复杂跨域请求的处理区别。XMLHttpRequest会遵守同源策略(same-origin policy). 也即脚本只能访问相同协议/相同主机名/相同端口的资源, 如果要突破这个限制, 那就是所谓的跨域, 此时需要遵守CORS(Cross-Origin Resource Sh...
2019-11-27 10:12:42 322
原创 SpringBoot整合Dubbo踩坑日记:空指针,连接超时,消费者找不到提供者
SpringBoot整合Dubbo踩坑日记:空指针,连接超时,消费者找不到提供者文章目录SpringBoot整合Dubbo踩坑日记:空指针,连接超时,消费者找不到提供者不说明环境的都是流氓问题描述解决方法(服务者消费者都需要更改)不说明环境的都是流氓SpringBoot 2.2.1Dubbo-SpringBoot 0.2.0Dubbo 2.6.2curator 2.12.0jdk ...
2019-11-19 17:15:11 1065 1
原创 Java多线程之volatile关键字
Java多线程之volatile关键字文章目录Java多线程之volatile关键字前言定义特性底层原理语法前言有时候查看jdk或者Spring源码的时候,我们经常能看到volatile关键字,它是什么?能做什么?今天就通过简单的介绍来揭开volatile神秘的面纱.定义首先我们要知道这个单词本身的含义,下面引用百度翻译的结果这里我们可以看到,这个单词本身的含义是容易被改变的.其实...
2019-11-19 10:31:07 282
原创 每天一种设计模式之单例模式(Java实现)
每天一种设计模式之单例模式(Java实现)概述单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单例类只能有一个实例。单例类必须自...
2019-11-18 15:20:13 197
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人