自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 资源 (17)
  • 收藏
  • 关注

原创 需求分析案例:消息配置中心

本文介绍了一个很常见的消息推送需求,在系统需要短信、微信、邮件之类的消息推送时,边界如何划分和如何设计技术方案。并最终展示了消息服务和消息配置中心服务的设计。

2023-07-29 11:09:07 415

原创 需求分析案例:餐厅排队叫号送券需求

本文介绍一个餐饮系统的排队送券需求,针对该需求进行边界划分和技术实现方案的过程。

2023-07-22 14:51:18 398

原创 需求分析案例:生日送券事故与需求优化

本文介绍一个生日送券需求,因为考虑不充分引发的事故,及后续不使用技术优化方案,改用需求优化方案的过程。

2023-07-15 23:55:30 180

原创 需求分析案例:全局错误码设计

本文介绍了我在一些业务系统中遇到的错误提示问题,以及进行需求分析和设计实现的过程,欢迎进行交流和指点,一起进步。

2023-07-14 01:57:31 1896

原创 需求分析引言:架构漫谈(五)架构师成长之路

对架构师的定义、职责、所需技术,以及学习成长做一些说明。

2023-07-09 11:04:12 1342

原创 前端不暴露ak/sk直接上传阿里云oss的方案

介绍如何在不暴露ak/sk的情况下,使用javascript直接上传阿里云 oss的方案,并小小的吐槽一下

2023-07-07 10:20:37 1958

原创 需求分析引言:架构漫谈(四)性能专题

简要介绍:非功能性需求里的性能指标及相关指标需求如何收集,如何处理。

2023-07-02 17:43:08 386

原创 需求分析引言:架构漫谈(三)可用性专题

本文对需求分析结果:非功能性需求里的可靠性以及可用性进行介绍和举例说明

2023-06-28 23:10:26 560

原创 需求分析引言:架构漫谈(二)非功能性需求

接上一篇文章,本文介绍了常见的非功能性指标的概念和一些示例。

2023-06-22 14:41:17 1386

原创 需求分析引言:架构漫谈(一)

本文主要对架构的概念做一些介绍,并引申出需求分析的重要性,再简介需求分析的过程和一些UML图例。

2023-06-17 10:16:14 1302

原创 Java库Lombok常用注解使用

Lombok已经是很多Java项目最常用的库之一了,本文通过示例代码介绍那些常用的注解。

2023-06-11 09:46:13 938 1

原创 SpringBoot项目登录并接入MFA二次认证

MFA多因素认证():一些需要身份认证的服务(如网站),为了提升安全性,通常会在账号密码登录成功后,要求用户进行第二种身份认证,以确保是正确用户登录,避免用户密码泄露了或其它原因导致用户信息泄露。不过,用户体验就比较差,因为要登录2次嘛。本文只介绍网站的MFA软件接入方案,并采用手机应用进行认证。

2023-06-04 22:13:40 3175 1

原创 SpringCloudConfigServer配置刷新优化方案

Config-Server端:提供管理API,用于开发人员更改 最近配置刷新时间提供客户端API,用于客户端定时拉取最近的配置刷新时间,并判断是否需要重新加载配置和刷新Config-Client端:定时轮询Config-Server端的API,获取自己的最近的配置刷新时间;如果比上一次刷新时间大,则进行配置刷新/*** 客户端使用:获取指定app的配置更新时间} /*** 管理端使用:设置指定app的配置更新时间,以触发该app更新配置if(!

2023-05-29 09:49:18 771

原创 MySQL数据库使用规范

规范是历史经验的总结,可以提前避免问题,减少不必要的沟通,提升质量和稳定性。

2023-05-25 14:05:00 988

原创 IDEA常用提升效率的操作小记

Ctrl+鼠标左键点击方法,会转到方法的定义点击变量,会转到变量的定义注:如果进入了反编译的代码,可以点右上角的【下载源码】看带注释的正常代码。

2023-04-29 22:44:05 985

原创 kafka使用详解、最佳实践和问题排查

kafka常用概念、与RabbitMQ对比、最佳实践、工具推荐、Spring快速使用和问题排查

2023-04-25 20:15:50 2825

原创 分享一个自研的工具项目:代码生成|表结构对比|配置对比

从MySQL读取表结构,并生成对应的Java源码文件和对应的前端VUE编辑/列表页面,可以直接复制到项目中,entitymapperservicecontrollerdtoentity与dto互转的mapstruct-mapper转换类基于VUE2.0的前端html页面点击页面的下载文件, 并解压解压的文件,除html,其它文件复制到你的SpringBoot项目对应的java目录下html复制到你的SpringBoot项目的目录下复制项目根目录下的res.zip。

2023-04-21 19:25:02 494

原创 SpringCloudConfigServer配置中心使用与刷新详解

介绍SpringCloud原生的配置中心部署、使用,以及如何自动刷新配置的完整步骤。

2023-03-22 15:24:15 1298

原创 DevOps-8:需求开发生命周期与DevOps系统能力

简述我使用过的DevOps系统能力和完整需求生命周期流程图,包括需求与代码关联、代码扫描、配置比对、表结构比对等

2023-03-10 10:54:49 465

原创 AWS云服务踩坑记

AWS使用过程的踩坑小记。

2023-03-03 16:09:39 951

原创 DevOps-7:Jenkins API介绍

简要介绍了在Java里使用FeignClient调用Jenkins的API进行构建的具体代码。

2022-12-26 10:34:36 2198

原创 DevOps-6:Jenkins使用技巧

Jenkins的一些并行使用操作步骤

2022-12-19 16:48:24 1768

原创 前端不暴露ak/sk直接上传aws S3的方案

前端通过Javascript直接上传S3的预签名URL,避免暴露ak/sk的方法

2022-12-08 18:42:53 3604 3

原创 DevOps-5:Jenkins配置Java-Maven项目模板Job

介绍在Jenkins里创建Java的Maven项目构建配置和模板配置

2022-11-01 10:47:49 694

原创 DevOps-4:Jenkins配置.Net项目模板Job

介绍了如果有很多项目时,如何创建模板Job,避免重复的配置工作。

2022-10-28 16:39:32 874

原创 DevOps-3:Jenkins使用的Groovy语言介绍

介绍Jenkins里的Groovy脚本语言使用

2022-10-25 20:11:46 4638

原创 DevOps-2:持续集成工具Jenkins构建.Net项目

部署好Jenkins后,如何创建一个.Net项目的构建和发布过程。

2022-10-24 15:02:25 3507

原创 DevOps-1:持续集成工具Jenkins的安装

CI工具Jenkins部署说明

2022-10-21 12:08:24 1034

原创 短信验证码登录需求的坑点整理

短信验证码需求的问题点描述

2022-09-30 19:05:29 1776

原创 SpringBoot的Cacheable缓存问题一则

SpringBoot的缓存无作用问题排除与解决

2022-08-26 21:12:12 953

原创 SpringBoot项目配置明文密码泄露问题处理

在项目开发过程中,需要配置数据库连接密码、Redis密码、网盘上传的AK/SK等敏感信息,都需要保存在配置文件里,或者配置中心。这些信息如果泄露,还是会造成一定的困扰,这里介绍2种处理方案:1、使用系统环境变量储存密码比如K8S的环境变量、Windows的环境变量、Centos的环境变量等等,然后在程序里使用 System.getenv()方法读取。这种方式的好处:只有运维人员知道,连开发都不知道生产的密码。密码变更也简单,运维直接操作就好了。缺点就是部署时,容易遗漏,不过可以通过统一的环境镜

2022-01-20 17:17:50 2596 2

原创 SpringBoot项目日志输出为JSON格式,方便Elastic采集

这段时间,使用K8S部署项目,同时使用Elastic采集日志并提供给开发检索,使用过程中,经常出现换行日志无法完整采集和展示的问题。比如抛出的Exception会有换行,被ES采集后,变成多条日志,极其不方便检索和排错。经运维提示,并参考 https://groups.google.com/g/fluent-bit/c/XoOibAxGGeI改用json输出项目日志,本地调试依然使用旧日志格式。注:本文基于:spring-boot-starter:2.4.11 或 spring-boot-star

2022-01-19 14:56:44 1409

原创 生产问题一则:ThreadLocal使用不当导致的内存泄露

先简单介绍一下 ThreadLocal,它是一个线程级的数据存储对象,生命周期是从一个线程的创建到该线程销毁。ThreadLocal里的数据,只能被所持有的线程读取,所以是线程安全的(前提是该数据不是多线程共享的)。ThreadLocal的get、set、remove等方法,其实是对Thread.threadLocals字段的封装,而Thread.threadLocals的类型是ThreadLocalMap,它维护了一个key/value键值对,ThreadLocalMap.set方法简略代码如下:/

2021-07-28 15:31:29 802

原创 生产问题一则:MySQL隔离级别引发的数据读取失败问题

先简介MySQL的4种隔离级别和解决的3种问题:隔离级别脏读不可重复读幻读读未提交 read-uncommitted是是是读已提交 read-committed否是是可重复读 repeatable-read否否是串行化 serializable否否否脏读:事务A新增或更新数据,还未提交,事务B就能读取到,然后事务A回滚了,导致事务B读取的是脏数据。不可重复读:事务A读取一行数据,事务B更新该数据,事务A再次读取同一行数据,两次读取

2021-06-30 13:03:45 421

原创 SpringCloudGateway限流后,默认返回429的改造:改302跳转或增加响应body

上篇介绍了使用SpringCloudGateway如何在内存中进行限流操作。但是,SpringCloudGateway默认是返回HttpStatus.TOO_MANY_REQUESTS 429状态,可是我们并不希望用户看到这个不友好的提示,而是希望用户看到我们的自定义界面,更好看,或者去一个游戏界面让用户玩玩游戏吧。有一个解决方案,一般在api网关的前面还会部署一个nginx服务,用于网关的负载均衡,那么可以在nginx收到429响应时,转向特定页面进行展示。但是如果我们希望根据不同的服务,转向不同的

2021-03-25 15:06:10 4392 1

原创 SpringCloudGateway内存中基于令牌桶进行限流

研究了一下网上的很多文章,基本都是使用 RedisRateLimiter,即根据Redis来进行限流操作。这样有个好处,就是网关的集群可以使用同一套数据进行限流;当然也有缺点,网关本来就是所有流量的集中出入口,如果每个请求都要往返一次Redis,无疑加重了网关的负担,性能有下降。本文介绍了如何直接在内存中进行限流,内存限流的缺点,当然就是对集群不友好了,比如有3个网关实例在运行,每个网关按每秒1个令牌,令牌桶容量为10,那么实际上就是每秒3个令牌,最大容量是10~30波动,不过基于令牌桶算法的控制,我

2021-03-24 11:52:36 987

原创 生产慢查询记录:MySQL IN 子查询导致的慢查询

嗯,先说结论:MySQL的 in subquery 会导致全表扫描,并不会走索引,即使是用主键id in (子查询)也一样,比如:SELECT id FROM Activity WHERE Id IN (SELECT 1 WHERE 1=1)SELECT id FROM Activity WHERE Id IN (SELECT 1 WHERE 1=0)参考官方对 IN(子查询) 的说明,里面说:先执行外层查询,再匹配子查询生成的数据MySQL evaluates queries “from out

2021-02-05 16:08:56 869

原创 Spring Cache缓存使用问题整理

接上篇,解读了Spring框架的缓存实现原理后,本文记录一些使用过程中的怎么办问题。前言:在没有引入其它类库,也没有自定义配置的情况下,一些默认的缓存实现:CacheManager: org.springframework.cache.concurrent.ConcurrentMapCacheManagerCacheResolver: org.springframework.cache.interceptor.SimpleCacheResolverKeyGenerator: org.spring

2021-01-23 17:06:15 1106 3

原创 Spring框架的Cache缓存实现源码解读与原理解析

项目需要,对Spring的Cache缓存实现做了一次分析,写一篇小结在此。本文基于 spring-context 5.2.12.RELEASE的源码:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.12.RELEASE</version> &lt

2021-01-14 08:00:52 1666 2

原创 Spring项目统一cacheManager出错:No CacheResolver specified, and no unique bean of type CacheManager found

起因,一些基础数据的接口访问量居高不下,在高峰期很容易出现服务性能问题,并经常需要扩容。最早的解决方案,是让各调用方,自己添加缓存,避免频繁访问基础服务接口。该方案存在的问题,就是数据经常不一致,基础数据变了,但是调用方不知道,如果用MQ去通知,技术方案又复杂了。第二期的解决方案,是在基础数据提供方添加缓存,因为这些数据是否变化,只有提供者知道并可以及时过期处理。该方案效果还是比较明显的,但是监控数据上的TPS依旧存在,大量的HTTP请求也依然存在性能浪费的问题。而且各个服务的缓存方案各不一致,比如

2021-01-09 14:35:06 6719 1

redis应用场景简介

去年我写的培训用教材,redis应用场景简介,简单列举了一些Redis的使用场景。 发现下载积分居然无法调整……

2019-05-06

C#的Demo项目:RabbitMQ封装和使用

如题,C#的Demo项目:RabbitMQ封装和使用, 引用了RabbitMQ.Client 版本:3.6.9 RabbitMQ .NET客户端操作类库, 并简单展示了3种Exchange的使用

2018-05-23

android build-tools_r24.0.1-linux

安卓build tools,省得下载了,哈哈

2016-11-01

android build-tools_r24.0.1-windows

android build tools r24.0.1 windows,直接这里下载吧

2016-11-01

2014年驾照科目一考试大图版

自动抓取驾校一点通的考试题目后,生成的.net运行程序,可以自动测试,自动保存历史记录等, 这里只有程序,如果需要源代码,要自己去git上下载 注:程序里已经抓取好了全部的考试题目 和 大图 源码里有2个form,一个是考试的form,一个是抓取考题的form(如果题目变了,需要重新抓取) 代码下载地址是git: https://github.com/youbl/Beinet.cn.DrivingTest

2014-03-07

2014年驾照科目一考试

自动抓取驾校一点通的考试题目后,生成的.net运行程序,可以自动测试,自动保存历史记录等, 这里只有程序,如果需要源代码,要自己去git上下载: https://github.com/youbl/Beinet.cn.DrivingTest

2014-03-06

带进程路径的任务管理器

WinXP或Win2003自带的任务管理器看不到进程路径,查找起来很麻烦,这个是可以替换系统任务管理器的版本,下载后,覆盖到System32\dllcache目录下 注意:有时覆盖后,又变回旧版本了,需要在安全模式下覆盖

2012-02-14

基于C#.net开发的hosts静态域名解析文件修改工具

汗啊汗,刚刚发布,就发现有不足的地方,又修改了几个地方,大家还是去俺的博客下载吧(有做广告的嫌疑,嘿嘿) http://beinet.cn/Blog/BlogShow.aspx?id=ef26b5d8-9bad-4b9a-9e8b-77910e6a6cca 基于工作需要,业余开发了这么一个工具,用于修改hosts文件,并可以创建多种版本的快捷方式,比如:测试项目1用的hosts、测试项目2用的hosts,以便实时切换, 同时也提供了快捷的修改注册表以让hosts快速生效的功能,大概就这么多了,下面是下载地址,如果需要源代码,请向我留言或来信索取吧, 我也很希望得到你们的功能增强版,呵呵。

2010-11-25

ASP.Net做的简易版文件管理器,就一个aspx文件

由于工作中的程序日志,是通过IIS自带的目录浏览功能来查看,不能进行一些处理,比如文件太多,页面显示太慢,想移动一些文件到旧的目录,或一些其它的文件管理操作,就做了一个简单的资源管理器,为了简单,代码和html全在一个文件里,什么压缩解压的功能也没加 注:把文件放到网站目录下即可运行,注意进入时要加一个QueryString来填写进入密码,初始密码为:beinet.cn 请自行修改代码里的密码配置 运行方式:FileManager.aspx?p=beinet.cn 比如你的网站是:http://www.beinet.cn/,你把这个文件放在根目录下,那么进入这个文件方式就是: http://www.beinet.cn/FileManager.aspx?p=beinet.cn 如果你发现有什么bug,请给我留言 或者你增加了什么新功能,希望给我发一个版本,一起进步,呵呵 2010.11.17更新日志: 1、版面修改; 2、增加目录或文件改名功能(使用js的prompt弹出窗口,所以IE8下可能会有提示) 3、增加目录批量删除 和 目录批量移动功能 4、增加目录大小获取功能 最后说明:以后如有更新,直接发布在 http://beinet.cn 谁让csdn不能更新呢

2010-11-17

修正:支持Chrome、FireFox的梅花雨日历控件3.0修正版

今天刚刚又修正了2个问题,但是因为这里不让编辑上传的文件,大家还是去我的博客下载吧: http://beinet.cn/Blog/BlogShow.aspx?id=c1c31322-f824-41a7-bc03-6b5ca98e4906 因为公司需要支持多版本的浏览器,再把我07年修正的那个版本拿来修改了一下, 在IE6,IE7,IE8,chrome谷歌浏览器6.0.472.55,FireFox火狐3.6.8下测试通过 需要说明的是,测试时间不多,所以可能测试不够详细,欢迎大家指出bug,并在我的博客发表回复:http://beinet.cn 注意:刚刚测出一个bug,请用记事本打开:

2010-09-14

小巧的Asp.net分页控件源代码

个人项目中常用的分页控件,跟大家分享,有什么问题大家一起研究探讨 效果大致是这样的: |< < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > >|

2009-12-15

C#版的算24点的算法

C#版的算24点的算法 06年写的,上传上来分享吧。

2009-09-04

支持AJAX的TreeView树例子,使用省市县三级xml作演示

看到网上很多想用ajax的树的例子,很奇怪,明明TreeView自带AJAX功能,取非要自己去写一大堆代码, 工作量增加了,而性能又没有提高多少 正好自己这次用到了,就做了一个例子,供大家一起研究参考 注:顺便下载了一个省市县的3级xml文件,作为ajax树联动展示的例子 这个例子还实现了选中父结点时,选中全部子结点; 取消一个子结点,同时取消全部级别的父结点。

2009-07-06

C#版本和javascript版本的DES加密函数(注:可以交互加解密)

因项目需要,要用js加密后,提交给C#解密,在网上找了半天,无数个版本,却不能互相使用 就随便下载了一个JS版本的,把它改写成C#版本的 这样JS加密后,C#也能解密 反之C#加密后,JS也能解密 共享给大家吧。 注:是VS.Net2008版本,里面包含js的加解密函数和C#的加解密函数

2009-06-24

C#版的贪食蛇程序(使用VS.Net2005重新封装)

用C#编写的一个贪食蛇程序, 以前上传过一个cs文件版的,但是很多朋友都不知道怎么放入到Vs.Net2005中去,而且注释相对也比较少,看的不是很明白,所以我重新写了一下注释,并重新写了部分源代码 大家看看吧,有问题可以mail俺,youbl#126.com 注意修改#为@

2008-09-04

不要下载这个了,又做了一个新的

不要下载这个了,又做了一个新的改进,在Chrome和FireFox下测试通过的 下载地址: http://download.csdn.net/source/2694314

2007-11-14

C#版的贪食蛇程序

用C#编写的一个贪食蛇程序,附上全部源代码,和一家一起研究,希望大家喜欢

2007-11-01

空空如也

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

TA关注的人

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