自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ellen的博客

知识积累

  • 博客(27)
  • 收藏
  • 关注

原创 Annotated Controllers - Exception handler

Annotated controllers provide flexible method signatures and don't have to extend base classed nor implement specific interfaces. In this blog, I tend to investigate one of those expressions - exception handling.

2024-06-03 01:05:36 666

原创 入门Golang

最近抽空了解了下Golang这门语言,它是一种由Google开发的编程语言。总结下来,优势是小而简单,编译快,性能与C媲美;也终于清楚了协程的概念。类似的多语言的学习可以巩固一些相似的语言特性,也可以带来新的编程视角。这篇文章主要是对Golang的语言特性做一个系统的梳理,增强记忆。

2024-06-02 23:23:41 728

原创 python实现线性表

前几年经历过python从入门到放弃,最近重拾python的体会是,如果熟悉或精通类C语言,整体上可以快速、轻松的掌握基本特性。因为既然是编程语言,很多特性都是举一反三、触类旁通的,上手成本较小。工作上有了用武之地,也可以用它来巩固数据结构。

2022-09-15 18:55:40 708 1

原创 分布式中如何保证ID的全局唯一性

之前经常听到、看到关于分布式系统中,唯一ID如何选择的讨论,应用系统中常见的全局唯一的序列号有数据库表的主键、request ID、有业务含义的交易号。不论支持哪种论点,大多数论据都是业务层面的,这篇文章从理论开始,希望从最佳实践的角度看下如何选择ID的生成方式。

2022-09-10 15:55:01 574

原创 AWS - developing start with permission & S3

公司开展了一系列AWS的training,最近参加了关于developing on AWS的session。课程内容安排丰富,讲师专业、耐心,互动也蛮多。总之听下来收获颇多,这篇文章就算是一个开端吧~

2022-09-09 22:23:31 480

原创 微服务授权认证及实践

OAuth2.0是当前业界标准的授权协议,它的核心是若干个针对不同场景的令牌颁发和管理流程;而JWT是一种轻量级、自包含的令牌,可用于在微服务间安全地传递用户信息。OAuth 2.0的模式一共有四种,这里只假设客户直接访问公司自己的门户网站,即第一方Web应用,可以选择OAuth 2.0的资源拥有者凭据模式。 OAuth2令牌 + JWT混合模式,IDP(Identity Provider)要支持OAuth 2.0 授权协议处理,及从OAuth2令牌到JWT令牌的转换。最后以代码方式实现了授权、认证过程。.

2022-08-31 20:36:45 1358

原创 Actuator 实验

Actuator通过一系列HTTP端点提供监控能力。本文首先尝试了定义已有的endpoint,以及自定义endpoint,并实验通过prometheus对暴露的endpoint进行数据收集,Grafana进行数据展示。

2022-08-30 17:13:26 305

原创 Leetcode丑数题解

年初时参加了一场面试,第一轮比较顺利,英文聊了一个小时技术,外加做了两道coding题目。第二轮遇到一个求丑数的题目,其实这道题明明是做过的Leetcode原题,无奈已经不记得具体思路,结果非常痛心。...

2022-07-17 12:34:59 253

原创 blockchain浅谈

了解支撑区块链的底层基础技术,掌握区块链技术的本质。

2022-06-12 22:25:17 3008

原创 Kafka 之 - controller 脑裂

之前被问到Kafka的脑裂问题,知道“脑裂”,知道“Kafka controller”,合并在一起,还真是很难一时想清楚,所以决定借机温故而知新,进而深入了解下Kafka在实践中可能出现的问题。

2022-06-12 10:22:36 1424

原创 容器应用优雅关闭

平台层要能够将应用从负载均衡中去掉,确保应用不会再接受到新的请求连接,并且能够通知到应用要进行优雅停机处理。应用自身需要实现优雅停机的处理逻辑,确保处理中的请求可以继续完成,资源得到有效的关闭释放,等等。...

2022-06-11 16:04:19 288

原创 AWS - 网络服务组件

一直以来在用AWS搭建一些分布式的服务,要知其然,知其所以然,抽空对相关的理论进行了梳理和总结,特在此记录和分享。

2022-02-07 23:33:57 2433

原创 Add unit tests using SpringBoot

添加maven dependency<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope></dependency>spring boot中集成了junit测试Sample:import org.sp

2022-01-31 17:29:27 627

原创 Kafka 之 - Producer

why Kafka支持多个生产者,分布式系统中往往有多个微服务向一个kafka集群发送消息;支持多个消费者从一个Kafka集群中消费消息,可以通过消费者组实现多个消费者同时协作消费消息。允许消费者非实时读取消息partition同一个partition中的消息顺序消费不同partition中的消息消费顺序不保证ISRcontrollerKafka集群中第一个启动的broker会通过在zookeeper中创建临时节点/controller 来试图让自己成为controller,其他节点会在该

2022-01-12 12:09:07 1277

原创 Gradle项目build报错解决

问题最近在看Kafka,从网上download最新版本3.0.0源码后需要用gradle进行项目的build,但在build过程中一直报错:Starting Gradle Daemon… Gradle Daemon started in 2 s 127 msConfigure project : Starting build with version 3.0.0 using Gradle7.1.1, Java 1.8 and Scala 2.13.6<ij_msg_gr>Gradle

2021-12-05 11:59:07 14940 1

原创 aws 搭建zookeeper cluster

先申请aws账号,aws云服务有一个一年的免费套餐,超好用。主要是翻墙软件跑路了,欲哭无泪。。。这篇主要记录如何搭建zookeeper的cluster,所以如何申请云服务的实例请自行查阅aws的使用手册。假设我们已经有了4个实例分别为:Server-1Server-2Server-3Server-41. 安装jdkcd到/opt/tools 目录下下载jdk: wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b0

2021-11-17 16:24:56 400

原创 记录一次Swagger升级

swaggerSwagger open source and pro tools have helped millions of API developers, teams, and organizations deliver great APIs.Swagger是一套开源的API工具包,它已经帮助数百万API开发人员、团队和组织交付了出色的API。Swagger EditorSwagger Editor是一个在Swagger 规范中设计、定义和文档化 restful api的开源编辑器。sw

2021-10-24 15:31:18 942

原创 Spring bean的创建

Bean的创建overview入口 AbstractBeanFactoryBean的实例化Bean的属性填充BeanPostProcessorInstantiationAwareBeanPostProcessorBean的初始化Bean的循环依赖DefaultSingletonBeanRegistrypublic class DefaultSingletonBeanRegistry extends SimpleAliasRegistry implements SingletonBeanR

2021-10-17 19:14:58 207

原创 多线程 - 线程池ThreadPoolExecutor

前言随着计算机行业的飞速发展,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。1. 线程池线程池(Thread Pool)是一种基于池化思想管理线程的工具。使用线程池可以带来一系列好处:降低资源消耗:重用已存在的线程,降低线程创建和销毁造成的消耗;提高响应速度:无需等待新线程的创建便能立即执行;提高线程可管理性

2021-10-11 17:34:05 449

原创 算法 - 排序

排序算法最近在面试过程中发现很多人对排序算法了解不多,排序成了面试的重灾区之一。所以特此整理下自己的学习笔记,分享给大家。1. 快速排序分而治之: 在快排中最重要的过程叫partition, 然后分别对左右两个区间进行递归进行快排1.1 稳定性不稳定1.2 时间复杂度快速排序最坏运行情况是顺序数列,时间复杂度为 O(n²)。但快排的平均时间复杂度是 O(nlogn),且 O(nlogn) 中隐含的常数因子很小,比复杂度稳定等于 O(nlogn) 的归并排序要小很多。对绝大多数顺序性较弱的随

2021-10-02 22:26:23 263

原创 Springboot embedded Tomcat

​Springboot内置Tomcat启动过程最近工作中需要在Tomcat端口启动后立即获取随机的端口号,所以研究了下Springboot相关的源码,在此记录下。1. maven dependency<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <v

2021-08-29 14:37:14 850

原创 数据结构-手撕红黑树

手撕红黑树1. 红黑树的性值1.1 平衡条件每个节点非黑即红根节点是黑色叶节点(NIL)是黑色如果一个节点是红色,则它的两个子节点都是黑色从根节点出发到所有叶节点路径上,黑色节点数量相同1.2最长路径和最短路径长度关系?根据平衡条件第4、5点,最短路径都是黑色;最长路径红黑相间;最长是最短的两倍;1.3平衡调整的终极法门插入调整站在祖父节点看删除调整站在父节点看插入和删除的情况处理一共五种1.4新插入的节点的颜色红色,因为插入黑色会引发失衡;插入红色不一定会失衡。2.

2021-08-22 11:35:33 219

原创 数据结构 - AVL树

手撕AVL树在开始正式学习之前,引用一句很经典的话,介绍给大家,也给自己留一个mark:数据结构 - 定义一种性值并且维护这种性值1. 二叉排序树性值:左子树 < 根节点右子树 > 根节点用途:解决与排序相关的搜索问题操作:插入:删除:* 删除度为0的节点:直接删除即可* 删除度为1的节点:删除后,将唯一子树连接到父节点* 删除度为2的节点:找到前驱节点(小于当前节点的最大节点),将当前删除节点值替换为前驱节点值,并在左子树中删除前驱节点(该前驱节点一定是度为0或

2021-08-12 20:50:29 137

原创 JVM - 彻底掌握类加载

类加载前言加载类加载时机类加载器自定义类加载器双亲委派破坏双亲委派链接验证准备解析初始化前言Learn and forget and learn again and then forget anther time… it is so stupid and time consumming.学了忘,忘了又学,反反复复不胜烦脑,究其原因还是不透彻,此次重温类加载,力求在温故而知新的基础上,查漏补缺,彻底掌握关键过程,真正做到知识内化。加载类加载时机类加载器自定义类加载器双亲委派破坏双亲委派链接

2021-08-10 09:25:57 90

原创 深搜(DFS)& 广搜(BFS)

深搜(DFS)& 广搜(BFS)

2021-08-08 11:53:19 977 2

原创 单调队列和单调栈

概念一种具有单调性的队列,分为单调递增队列和单调递减队列。适合场景维护区间最值,即,适合解决RMQ(rang maximum/minimum query)问题,也称之为滑动窗口区间最值问题。若维护区间最小值,则需要维护一个单调递增的序列;若维护区间最大值,则需要维护一个单调递减的序列。维护单调队列性值的操作入队操作:队尾入队,会把之前破坏单调性的元素都从队尾移出(维护单调性)。出队操作:如果队首元素超出区间范围,就将元素从队首出队。1.1 习题1) 239. 滑动窗口最大值一个整数数组

2021-07-25 22:01:04 501 1

原创 正则表达式 (Regular Expression) 及 爬虫实战

正则表达式Overview匹配规则分组匹配非贪婪匹配搜索和替换使用正则表达式分割字符串使用正则表达式搜索字符串替换字符串后记Overview记得两、三年前的一天早上听广播,有一句话让我印象深刻:The best time to plant a tree was 10 year ago. The second best time is now.这句话曾在我最depressed的时候鼓舞过我,现在也记录下来,这也是我鼓起勇气在工作十多年后第一次开播想到的话,与大家共勉!第一次博客的内容就从正则表达式开

2021-07-10 23:23:43 253

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除