- 博客(75)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 【业务编号生成】为了不让用户猜出系统业务量,我用不重复的序列号作为业务编号
利用当天日期作为seed重新生成序列后,在业务表找到创建时间最晚的编号:如果当天没有序号则拿第一个返回;如果有,则循环remove序列到与该编号相同的位置,拿到下一个返回。剩下的序列放回redis中。对这种需求,第一印象是随机数,如果跟系统冲突则+1。但是对于不确定的业务量,这样做容易在达到上限时频繁冲突。当然可以判断冲突n次后报错,那就不太稳定。一是洗牌算法效率很高,二是纯数字不是很占用空间。灵光一现的觉得用散列哈希可以搞定,结果不行。要获取序列号时,发现redis中序列丢失,后来发现最稳妥的办法就是。
2023-05-11 10:18:33 212
原创 【Java快速开发平台】我的低代码平台选型记录
无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升系统稳定性,码出质量。4 代码尽可能复用性和模块化:在保证清晰明了和尽可能少的前提下,能复用的代码尽量复用,能模块的尽量模块。
2023-03-31 16:39:24 555
原创 我对平衡二叉树的理解(比喻的方式)
为了方便表述,成员的两个下属叫做【年上】(年纪较大)和【年下】(年纪较小)我是P1我是别人(P0)的年上下属,但是我的年上下属(P2)链太长了。我就破格的让我的上司(P0)成为我的年下下属,我原先的年下下属(P0.5)给他作为他的年上下属。同理可得。我是别人(P2)的年下下属,但是我的年下下属(P0)链太长了。我就破格让我的上司(P2)成为我的年上下属,我原先的年上下属(P1.5)给他作为他的年下下属。我是别人(P5)的年下下属,但是我的年上下属(P2)链太长了。
2023-02-14 16:23:01 432
原创 我问查特基普特:升级后端服务时,如何保证用户不感知、数据不丢失【ChatGPT】
使用监控工具:您可以使用监控工具,例如 JMX,来监控当前正在处理的请求数量。您可以通过使用 JMX 获取活动线程数量和正在执行的请求数量,并与您设定的阈值进行比较,以确定是否有未完成的请求。使用监控工具:您可以使用监控工具,例如 JMX,来监控当前正在处理的请求数量。您可以通过使用 JMX 获取活动线程数量和正在执行的请求数量,并与您设定的阈值进行比较,以确定是否有未完成的请求。如果有,请等待处理完成。通过以上步骤,您可以确保在升级重启时,所有的用户请求都已经处理完成,并且数据不会丢失。
2023-02-10 12:21:37 455
原创 记一个对循环引用的对象生成hashcode造成堆栈溢出的坑
在子对象中的反向属性上面,加上排除注解@EqualsAndHashCode.Exclude
2022-12-27 10:57:25 294 1
原创 如何像cmd中那样,在输入框中按下【↑】显示上次输入内容?
在系统控制台界面、比如windows的cmd窗口,我们常常会按下上键来重复使用一些命令。那么如何在html代码中简单的实现这个功能呢?
2022-12-27 10:18:49 296
原创 【OAuth2流程图】第三方登录后,如何维护应用自己的过期时间
第三方登录后,维护access_token跟refresh_token就已经很复杂,但是,应用自己也应该有一个登录过期时间。于是我画了一个流程图,尝试弄清楚他们的关系。
2022-12-02 15:40:31 244
原创 【编程语言大比拼】java vs python vs js 如何编制对象数组的映射索引
通过举例比较三种语言编制对象数组索引的能力。用到了java的stream,python的dict、js的map等函数。
2022-12-01 09:32:01 546
原创 用共享文档为例理解mysql事务隔离级别,和“脏读”“不可重复读”“幻读”
共享文档是个神奇的东西,多个用户在同一个窗口可以同时编辑。多亏这种神奇的工具,可以更好的方式来理解软件开发中的一些概念。我们来试试用这种方式理解事务隔离级别。
2022-10-19 13:32:46 249
原创 laydate时间控件高出窗口边缘解决办法
加载完毕后,设置一下top值,如果小于0就改成0laydate.render({ elem: XXX , ready: function(date){ if($(".layui-laydate").css("top")<"0px"){ $(".layui-laydate").css("top", "0px"); } }})
2022-04-25 14:18:35 825
原创 【后门】三段代码实现DB工单后门
查个问题十分钟,走工单一小时。慢!连线上库一分钟,一小时就超时,累!自己写吧!注意:查询必须带上where/limit(强校验)增删改提交工单生成工单地址——>拥有签名的员工可签名执行DbWorkController@Controller@RequestMapping("/dbWork")public class DbWorkController { private final Logger logger = LoggerFactory.getLogger(getClass
2022-04-25 09:58:24 278
原创 可别filebeat了,老实用logstash
filebeat+pipeline跑半个小时处理了一万条数据进es,logstash一秒钟就能跑一万条,真是醉了
2021-11-18 17:42:15 170
翻译 【译】Tests are for the Future (为未来测试)
原文链接:https://dzone.com/articles/tests-are-for-the-future为未来测试。测试提供文档,帮助你避免回归,让你在重构时充满自信。想象一下:你刚写下一些有关新功能的代码,正在用单元测试把它们封装起来。而当你写下这些测试代码的时候,你开始反思这么做的必要性。“我为什么要写这些测试?”你问自己。“我已经手动验证过这些代码,甚至另一个开发也验证过。有什么必要吗?”问题的答案,决定于一个重要的认知:你是为未来而测试。当然,测试也是为了当下,可以帮助你覆盖一些.
2021-11-09 11:05:22 141
原创 一段代码爱上express
router.get('/test', function(req, res, next) { sqlQuery("select * from userinfo", (data) => { let type2num = {} data.forEach(({ id, type, num }) => { if (type2num[type]) type2num[type] += num
2021-09-28 11:25:14 78
原创 缺货原因分配到收货单的算法
一批货有多个收货单,然后发现缺货了。而且有多种缺货原因。缺的是哪个单的货?不太重要,但是尽量多的收货单只要一个原因。所以怎么分配?比如一批货缺70个,首先是按照升序排列:三个收货单,p1缺5、p2缺20、p3缺45这批货给了三个缺货原因,r1包含12、r2包含23、r3包含35先满足较小的收货单,这样可以尽量多的满足需要(贪婪),再把【能满足整单】的【数量最小】的原因分配给他,这样数量大的原因可以满足大量的收货单。【能满足整单】的【数量最小】的原因是r1,分配5个给p1p1分配后:p2缺20
2021-09-26 14:39:45 131
原创 openresty根据请求体中的字段来路由到不同域名
http下面加:client_max_body_size 2m;client_body_buffer_size 2m;server下面加lua_need_request_body on;location / {resolver 8.8.8.8 8.8.4.4;set $route_key ‘’;rewrite_by_lua ’local json = require(“cjson.safe”)local data = ngx.req.get_body_data()ngx.var.rou
2021-09-16 16:31:59 265
原创 shardingsphere执行union语句报错:Must have sharding column with subquery的解决方案
写union语句时,我习惯不对每一张表加别名,导致shardingsphere读取sharding字段读取不到解决方案就是给union的每个表加别名t1、t2、t3
2021-08-24 17:13:05 3278
原创 阿里云效上hsf对切发布(无损上线hsf)的测试记录
项目上线一年多,发布流程还是强行关闭+重启,一问都说hsf做不了优雅下线,我疑惑,阿里再怎么菜,也不会连对切发布都做不到吧?对于软件项目,这应该是跟呼吸同样重要的功能。于是我调查了EDAS文档,发现有无损上线hsf应用的功能,问了下运维,说这不是真的无损,还是会有hsf中断的现象,领导也开始计划要提前灰度环境的实施计划,以完成无损上线的目标(这将是一场资源浪费,但是别无他法)。我不信,一定要眼见为实试一试。发动口才说服了运维,他把文档里面的步骤都做了。这个无损上线归根结底还是多台负载机对切发布。公司里
2021-08-11 10:23:38 463
原创 让IDEA代替手去编程(四)极致速度,关闭代码检查
如果你的项目几乎不用Map传值,方法之间传值都会用DAO、DTO,那么默认的IDEA设置可能会让你卡成乌龟。这是因为,IDEA默认有非常多、非常复杂的代码检查,甚至检测重复代码。如果你用了阿里的插件,他还会给你加装阿里代码规范(来!跟着你阿里哥卷起来!)对于我这种速度为王、佛系开发的人来说,只留ERROR类型的检查就够了。打开Idea配置的Inspections配置完事了,你的Idea就会跑的比notepad还快!(这也是应该的不是吗)...
2021-08-10 18:58:49 1761 1
原创 Jenkins gradle进行processDevelopDebugResources时报错
解决方案仅针对域账号登录(公司局域网)的情况报错内容:* What went wrong:Execution failed for task ':app:processDevelopDebugResources'.> Could not resolve all files for configuration ':app:developDebugRuntimeClasspath'. > Failed to transform design-26.1.0.aar (com.a
2021-07-26 19:04:38 273
原创 No value specified for parameter 1
把日志复制到mysql执行是ok的mybatis执行就报这种问题?可能的一个原因:page是mybatis关键字,而不是mysql的关键字!需要用【`】给装起来!
2021-07-21 14:03:05 498
原创 xshell突出显示集——自定义配置
1. (ERROR|Exception)错误、异常颜色22."[\w\u4e00-\u9fa5\(\)/\\.\-: ]+?"字符串颜色33./[\w-.]+路径颜色12 斜体4.\d{1,2}:\d{1,2}:\d{1,2}时间粗体 下划线5.(INFO|DEBUG|NULL|null)关键字颜色116.(?<=\W)\d+(?=\W)Only number颜色77.\w+\.java.java颜色14...
2021-07-20 16:00:37 1869
原创 各类信息管理工具的区别,选型参考用
论坛 协作文档 问答系统 wiki 作图 看板 项目管理 代表项目 discuz 腾讯文档 OSQA mediaWiki dependOn、xmind trello 禅道、jira 适用范围 大 较大 一般 小 较大 小 一般 解决痛点 团队凝聚 企业文化 项目文档管理 问题记录 术语共识 流程分析 进度控制...
2021-07-14 16:45:29 125 3
原创 <Dev★Ops>Jenkins配置阿里巴巴edas端云互联项目
jenkins的特点是,自动发布端云互联的特点是, 本地服务使用云端注册中心小孩子才做选择,我都要因为公司测试环境由运维管理,用的阿里自带的云效平台,所以在多分支/自动发布之类的运维场景就不太方便,所以申请了一台老主机,搭建Jenkins作为单独的环境,以供提供对外接口/提供非测试环境分支的服务.这次环境搭建跟以往不同的一点是用的windows环境,整个过程就在此记录一下.搭建jenkins和相关环境下载地址http://ftp-chi.osuosl.org/pub/jenkins/wind
2021-05-27 19:04:58 331 1
原创 [傻瓜式教程]手把手教你在虚拟机上, 用docker搭建flowable/all-in-one并使用宿主机上的mysql
跑镜像: docker run -d --name flowable -p 8080:8080 --privileged=true -it flowable/all-in-one加驱动: docker cp /download/mysql-connector-java-8.0.22.jar flowable:/opt/tomcat/lib进镜像: docker exec -it --user root flowable sh改配置: vi conf/context.xmlshift+g移动到文件末.
2021-05-21 18:59:23 1405 1
原创 DOSBOX加速
steam上面买了个枫之舞,玩枫之舞的时候,一开始打算慢慢享受老游戏的。但是后来发现炼化、战斗的时候过场实在太慢了不能忍。于是用ce改速度,失败了。然后网上找到要用ctrl+f12改,还有改配置,都没用。只有alt+f12有用,但是要按住,就很麻烦。其实解决方法很简单。ctrl+f1调出设置界面,把速度锁定改成alt就行了。按起来很方便...
2021-02-14 15:08:54 2228
转载 Clubhouse流行,日本的语音聊天企业是怎么看的?(译)
Clubhouse作为一款现象级的app,在国内评价褒贬不一,为什么火、适合国内市场吗、未来如何发展,都众说纷纭。语音聊天软件我没有使用过所以没有发言权,但是在看日本note网站的时候找到了一篇企业代表撰写的文章,就翻译一下以供参考。(感谢www.deepl.com)Clubhouseの流行、Voicy代表としては「悔しいけど、間違いなく追い風」 【声の履歴書Vol.41】对于Clubhouse的流行,Voicy的代表表示:“虽然不甘心,但毫无疑问搭上了顺风车”《声之履历书vol41》作者:緒方.
2021-02-09 09:20:07 410
原创 从零开始的虚拟机Ubuntu搭建安卓开发环境踩坑记录
目录关于搭建安卓环境的背景选择虚拟机绕了个大圈子使用vmware workstation安装Ubuntu18LTS对于新搭建虚拟机的人,一定要选大点的磁盘空间!出现下划线|光标|小横杠的解决方法安装Android Studio下载添加快捷方式拉代码使用自带模拟器模拟器黑屏关于搭建安卓环境的背景win10使用AndroidStudio时,在启动安卓虚拟机的时候偶尔发生蓝屏(WATCHDOG_TIMEOUT)问题,而且开发项目较多,打算把安卓的开发丢到虚拟机里面隔离开发。选择虚拟机绕了个大圈子我知道w
2021-01-27 14:34:18 531
原创 VMware中,ubuntu18虚拟机输入ifconfig没有ip地址,也无法联网的解决办法
不要手贱随便关vmware的服务,也不要让电脑管家之类的随便关打开任务管理器->开启VMware相关的所有服务(主要是Nat跟DHCP)
2021-01-25 16:19:59 757 3
wms系统中,如何用bpmn描述一个可选的任务?
2022-03-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人