- 博客(961)
- 资源 (8)
- 问答 (4)
- 收藏
- 关注

原创 副业,程序猿的第二职业,聊聊我是怎么做的
首先自我介绍一下,我是一名90后,从事的是java开发的工作,和大多程序猿一样,加班熬过夜,赶过项目工期,撕过产品。副业的初衷我知道踏下心来钻研本专业会有收获,但又实在没有太多兴趣。只好努努力,跟着兴致走,多一个选择,多一份抵抗风险的能力。不管从事什么行业,除了做好自己本职工作以外,还会有一些空闲的时间来做一些其他事情,与其说是副业,不如说是一个成年人在生活挤压下的心理疏导。就算不那么成功...
2020-05-05 10:35:33
25206
36

原创 高效率编写Dockerfile需要绕过的一些坑
前言在日常的开发和运维中,我们时长会使用Dockerfile脚本制作镜像。其实编写一个Dockerfile文件用到的标签并不会太多,但是不同的Dockerfile在制作后产生的镜像大小是不尽相同的,这篇文章就来梳理一下,编写脚本过程中,容易犯的错误和躺的坑。一、拉取最新的镜像在从镜像仓库拉取镜像时,不指定任何版本的情况下,默认会拉取最新(latest)的版本。这在我们构建集群和复用时会造成...
2020-03-03 18:11:49
3249
1

原创 【实战】 elasticsearch 写入速度提升的案例分享
文章首发投稿至InfoQ,【侠梦的开发笔记】公众号,欢迎关注https://www.infoq.cn/article/t7b52mbzxqkwrrdpVqD2基本配置基本配置,5台配置为 24C 125G 17T 的主机,每台主机上搭建了一个elasticsearch节点。采用的elasticsearch集群版本为7.1.1。管理工具包括kibana和cerebro。...
2019-10-11 16:10:28
3393
转载 自从用了Mybatis Plus 4+版本新特性:没手写过多表join的sql了
众所周知,Mybatis Plus 封装的 mapper 不支持 join,如果需要支持就必须自己去实现。但是对于大部分的业务场景来说,都需要多表 join,要不然就没必要采用关系型数据库了。那么有没有一种不通过硬 SQL 的形式,通过框架提供 join 能力呢?答案是,可以有。之前在 Mybatis Plus 的详细教程 中也说到这个工具,今天专门拉出来再说一下,确实能提高不少的开发效率!使用方...
2024-11-03 17:42:36
194
转载 希望你别踩,浏览器节能机制导致Websocket断连的坑
你踩过吗?浏览器节能机制导致Websocket断连的坑~~~近期,在使用WebSocket(WS)连接时遇到了频繁断连的问题,这种情况在单个用户上每天发生数百次。尽管利用了socket.io的自动重连机制能够在断连后迅速恢复连接,但这并不保证每一次重连都能成功接收WS消息。因此,我们进行了一些的排查和测试工作。最终发现问题的根本原因:正是浏览器的节能机制,不经意间成为了这一问题的幕后黑手。ws1....
2024-11-02 19:10:10
241
转载 20招!优化SQL必看,告别数据库卡顿!
一、查询SQL尽量不要使用select *,而是具体字段1、反例SELECT*FROMuser2、正例SELECTid,username,telFROMuser3、理由节省资源、减少网络开销。可能用到覆盖索引,减少回表,提高查询效率。注意:为节省时间,下面的样例字段都用*代替了。二、避免在where子句中使用 or 来连接条件1、反例SELECT*FROMuserWHEREi...
2024-11-01 20:00:48
152
转载 腾讯工程师深度解析:万字图文讲透数据库缓存一致性问题
作者:jaskeylin,腾讯 CSIG 后台开发工程师缓存合理使用确提升了系统的吞吐量和稳定性,然而这是有代价的。这个代价便是缓存和数据库的一致性带来了挑战,本文将针对最常见的 cache-aside 策略下如何维护缓存一致性彻底讲透。在真实的业务场景中,我们的业务的数据——例如订单、会员、支付等——都是持久化到数据库中的,因为数据库能有很好的事务保证、持久化保证。但是,正因为数据库要能够满足这...
2024-10-31 19:23:03
58
转载 Redis性能优化必读:全面掌握监控指标与技巧
Redis 作为一个高性能的键值存储数据库,广泛应用于各种缓存、消息队列和实时分析场景。为了确保 Redis 的稳定运行和高效性能,对其进行性能监控是至关重要的。性能监控不仅可以帮助我们了解 Redis 的实时运行状态,还能在出现问题时迅速定位并解决。本文将详细介绍 Redis 的最全性能监控指标,帮助读者全面了解 Redis 的性能状况,从而进行更好的优化和管理。监控指标性能指标:Perform...
2024-10-30 20:00:32
139
转载 全网最详细Mysql慢查询及优化!
定位慢SQL1.首先确认是否开启了慢查mysql> show variables like "%slow%";slow_query_log为OFF,表示未开启慢查询,直接set global slow_query_log=on;slow_query_log_file是存放慢查询日志的地址(set global 只是全局session生效,重启后失效,如果需要以上配置永久生效,需要在mysql...
2024-10-29 20:00:28
325
转载 全网最详细!Nginx全面配置指南
点击上方蓝字关注我们一、nginx.conf 配置worker_processes1;events{worker_connections1024;}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keep...
2024-10-28 20:00:44
2662
转载 震惊!211高校实习程序员月薪800,网友:不如进厂打工?
近日,一则211高校招聘会实习程序员月薪仅800的新闻,引起了网友们的围观和热议。从这则招聘启事上可以看到,本科实习JAVA软件开发工程师,月薪是800-1499元。本来看到有实习软件工程师的招聘信息,很多计算机类专业的学生很感兴趣。而当大家看清楚后面标注的福利待遇后,众多学生表示不满。虽然招聘信息里写着最高月薪能达到1499元。但是一些有过工作经验的同学都很明白,对于刚入职的实习生来讲,最初的月...
2024-10-27 19:26:18
138
转载 Java版秒杀系统思路(Redis队列实现)
写在前面需求是做一个秒杀系统,比如大家来抢100台手机,先到先得。查阅了网上很多用redis实现秒杀的demo(java语言),竟然没一个能用的!!!有些是php的,没闲心研究了,现在说说为什么不能用:绝大多数的DEMO都是基于redis的watch特性的事务实现①,个别是基于redis分布式锁实现②。当然还有些用了脚本的,我也没仔细看是lua还是调用redis指令,哪有那个闲心去研究哇。照顾一下...
2024-10-26 21:01:07
75
转载 Java生产级故障排查:JDK Bug
“01 背景从JDK7 开始OpenJDK已经成为主干开发版本,OracleJDK7 是在OpenJDK7的基础上发布的,其大部分源码相同,只有少部分代码被替换。OracleJDK和OpenJDK的授权协议不同:OpenJDK采用GPL V2协议发布,而OracleJDK采用JRL发布,虽然两个协议都是开源协议,但是不同于GPL V2允许在商业上使用,JRL只允许个人研究使用。OpenJDK只包含...
2024-10-25 20:44:55
148
转载 MySQL中各种日志、缓冲区都是干嘛的?
介绍本篇文章主要以innodb存储引擎为主;在了解mysql的过程中经常能听到它内部有各种log以及缓冲区,他们在mysql中具有重要作用,例如binlog可以进行主从恢复,undo log可以进行数据回滚等。这篇文章主要讲解在mysql运行期间每个区域都是用来做什么的。写入数据流程对于mysql来讲,读写任何数据都是在内存中进行操作的;下图为mysql写入数据的详细流程:写入undo log,为...
2024-10-24 19:55:56
80
转载 为什么:索引可以让查询变快?
点击上方 "DUBBO之家" 关注公众号设为星标 终身学习技术干货 及时送达往期回顾AQS的实现原理(大部分同步类都依赖AQS实现)如何保证缓存与数据库双写时的数据一致性概述人类存储信息的发展历程大致经历如下:由于是个人凭着自己理解总结的,因此可能不一定精确,但是毋庸置疑的是,在当代,各大公司机构部门的数据都是维护在数据库当中的。数据库作为数据存储介质发展的最新产物,必然是具有许多优点的,其中一...
2024-10-23 19:00:19
112
转载 面试官:多线程环境,HashMap为什么会出现死循环?
Java的HashMap是非线程安全的。多线程下应该用ConcurrentHashMap。多线程下[HashMap]的问题(这里主要说死循环问题):多线程put操作后,get操作导致死循环。多线程put非NULL元素后,get操作得到NULL值。多线程put操作,导致元素丢失。1、为何出现死循环?(在多线程下使用非线程安全的HashMap,单线程根本不会出现)HashMap是采用链表解决Hash冲...
2024-10-22 19:14:49
243
转载 阿里开源的新一代单元测试 Mock 工具!
TestableMock是基于源码和字节码增强的Java单元测试辅助工具,包含以下功能:访问被测类私有成员:使单元测试能直接调用和访问被测类的私有成员,解决私有成员初始化和私有方法测试的问题快速Mock任意调用:使被测类的任意方法调用快速替换为Mock方法,实现"指哪换哪",解决传统Mock工具使用繁琐的问题辅助测试void方法:利用Mock校验器对方法的内部逻辑进行检查,解决无返回值方法难以实施...
2024-10-21 18:40:32
170
转载 加强版 Redis,又一款国产高性能 KV 存储数据库开源了!
来源:腾讯开源项目简介Tendis是腾讯互娱CROS DBA团队 & 腾讯云数据库团队自主设计和研发的分布式高性能KV存储数据库,兼容Redis核心数据结构与接口。可提供大容量、低成本、强持久化的数据库能力,适用于兼容Redis协议、需要大容量且较高访问性能的温冷数据存储场景。Tendis目前已经被应用到腾讯内、外部大型项目中。集群架构图片Tendis使用去中心化集群架构,每个数据节点都拥...
2024-10-21 18:40:32
213
转载 Springboot与MQTT集成实战:构建高效消息发布/订阅系统
hi,大家好,我是侠梦,今天给大家分享SpringBoot集成MQTT的实践。MQTT简介MQTT是一种基于发布/订阅模式的轻量级通讯协议,该协议构建在TCP/IP协议上。MQTT最大的有点在于可以以极少的代码和有限的带宽,为远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,MQTT在物联网、小型设备、移动应用等方面有广泛应用。特点开放消息协议,简单易实现发布订阅模式,一对...
2024-10-20 22:41:27
1173
转载 全网最全34张架构师知识图谱(纯干货)
今天送大家一份《全网最全34张架构师完整知识图谱》,各种技术栈应有尽有,非常齐全,很有参考价值,少走弯路,助大家早日成为架构师。公众号上传图片会被压缩,大家关注[侠梦的开发笔记]公众号,在后台回复【34】可以无套路、免费领取完整高清版。部分预览:1.1 架构师图谱1.2 Java架构师图谱1.3 微服务架构秘籍1.4 一致性图谱1.5 互联网大流量的方法1.6 安全秘籍1.7 阿里巴巴常用小框架1...
2024-10-19 11:55:24
94
转载 实习生把https 改成 http,带宽减少了 70%!
起因TLS Handshake是什么来头,竟然如此大?要注意的是起因是一个高并发的采集服务上线后,100m的上行很快就被打满了。因为这是一条专线,并且只有这一个服务在使用,所以可以确定就是它导致的。但是!这个请求只是一个 GET 请求,同时并没有很大的请求体,这是为什么呢?于是使用 charles 重新抓包后发现,一个 request 的请求居然要占用 1.68kb 的大小!其中TLS Hands...
2024-10-19 11:55:24
45
转载 程序员必备的30款IDEA插件,开发效率翻倍!
hi大家好,我是侠梦。很多程序员都想把IDEA打造成一站式开发工具,于是安装了各种各样的插件,今天给大家推荐30款IDEA插件,总有几款适合你!安装插件教程在这里直接搜索就行了强烈推荐的插件Presentation Assistant 快捷键展示录屏或者共享的时候,效果极佳Codota— 代码智能提示还可以搜索相关代码的示例Codota还包含一个网站:https://www.codota.com/...
2024-10-18 18:20:33
1255
转载 接口级故障怎么办?降级、熔断、限流、排队4种策略,点击学习
在实际业务运行过程中,有一种故障影响可能没有那么大,但发生的概率较高,这就是今天聊的接口级的故障。接口级故障的典型表现就是,系统并没有宕机、网络也没有中断,但业务却出现问题了,例如业务响应缓慢、大量访问超时和大量访问出现异常(给用户弹出提示“无法连接数据库”)。这类问题的主要原因在于系统压力太大、负载太高,导致无法快速处理业务请求,由此引发更多的后续问题。最常见的情况就是,数据库慢查询将数据库的服...
2024-10-17 18:51:02
409
转载 雷军自述:我的10年编程生涯!
来源:雷军自述。我并非天生喜欢写程序,上高中时也没有想过程序员的生活。我学电脑非常偶然,小时好友上大学时选择了计算机系,为了和这个朋友有更多的共同语言,我也选择了计算机系,开始步入程序人生的道路。当我学会一些后,发现自己特别喜欢写程序。我是八七年上的武汉大学计算机系,大一下学期才有专业课。当我有资格上机的时候,发现电脑世界太美妙,就一头扎进去。当时用的是 Motorola 68000 (相当 于 ...
2024-10-17 18:51:02
202
转载 大厂都怎么防止重复下单?别说你没试过
点击上方蓝字关注我们一、问题背景二、如何避免重复下单2.1 如何判断请求是重复的三、解决 ABA3.1 什么是 ABA3.2 解决方案四、总结一、问题背景最简单的:DB 事务。如创建订单时,同时往订单表、订单商品表插数据,这些 Insert 须在同一事务执行。Order 服务调用 Pay 服务,刚好网络超时,然后 Order 服务开始重试机制,于是 Pay 服务对同一支付请求,就接收到了两次,而且...
2024-10-16 17:47:46
32
转载 90后程序员炒股4天亏了32万!网友的评论扎心了
10月13日,#90后小伙炒股4天亏损32万元#,这个话题冲上热搜并引发热议。据媒体报道,四川成都的90后程序员杨先生(网名Yapie)称,10月8日入市后,第一天是盈利的,第二天就亏损7万多元,第三天大跳水直接亏损31万元,第四天又回本1.8万元,这四天的交易日下来合计亏损32万元。“很多人劝我去销户,说我是‘韭菜’,但我不这样认为。”杨先生说,自己学习能力比较强,要通过学习股市相关专业知识,实...
2024-10-15 18:36:13
88
转载 多人同时导出Excel把服务器干崩了?后悔没早点知道这个方案
前言hi大家好,我是侠梦。当前的业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队;刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出...
2024-10-15 18:36:13
84
转载 责任链模式真的很难吗?其实不然,2个案例让你印象深刻
hi 大家好,我是侠梦。责任链模式,简而言之,就是将多个操作组装成一条链路进行处理。请求在链路上传递,链路上的每一个节点就是一个处理器,每个处理器都可以对请求进行处理,或者传递给链路上的下一个处理器处理。应用场景责任链模式的应用场景,在实际工作中,通常有如下两种应用场景。操作需要经过一系列的校验,通过校验后才执行某些操作。工作流。企业中通常会制定很多工作流程,一级一级的去处理任务。下面通过两个案例...
2024-10-14 18:00:25
79
转载 Spring 事务的钩子函数,建议一试!
今天,我继续安利一个独门绝技:单纯的讲技术可能比较枯燥乏味。接下来,我将以一个实际的案例来描述Spring事务钩子函数的正确使用姿势。一、案例背景拿支付系统相关的业务来举例。在支付系统中,我们需要记录每个账户的资金流水(记录用户A因为哪个操作扣了钱,因为哪个操作加了钱),这样我们才能对每个账户的账做到心中有数,对于支付系统而言,资金流水的数据可谓是最重要的。因此,为了防止支付系统的老大徇私舞弊,C...
2024-10-13 19:32:10
45
原创 像画画一样做数据库设计,建议收藏(DrawDB)
好的数据库设计可以简化应用代码的研发,减少开发成本,提高效率。当前面对的数据库设计的痛点有:1、业务实体关系繁杂:实际业务中各种实体的关系错综复杂,如何高效的表达这些关系,并且有效的提高查询性能,是在设计阶段需要考虑的。2、设计缺乏标准化;不同的开发同学对于同一实体存在不同的理解和定义方式,在数据库设计环节就需要进行充分的协作,以保障对最终设计的一致性。3、性能调优:很多业务场景下,...
2024-10-11 18:16:28
908
转载 分布式接口防抖,提升稳定性!再也不怕压测了
前言作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握...
2024-10-10 21:26:26
158
转载 拿去就用!Spring Boot 接口数据加解密方案,改动少,通用性强!
今天这篇文章聊一聊接口安全问题,涉及到接口的加密、解密和产品、前端同学对外需求后,梳理了相关技术方案, 主要的需求点如下:尽量少改动,不影响之前的业务逻辑;考虑到时间紧迫性,可采用对称性加密方式,服务需要对接安卓、IOS、H5三端,另外考虑到H5端存储密钥安全性相对来说会低一些,故分针对H5和安卓、IOS分配两套密钥;要兼容低版本的接口,后面新开发的接口可不用兼容;接口有GET和POST两种接口,...
2024-10-09 18:30:04
989
1
转载 XCOPS广州站:解答企业上云下云的疑虑与治理策略
AI时代下,数据库、大模型及算法、云计算这三大核心技术领域都各自呈现出多样化的发展趋势,这些趋势相互交织、相互影响,共同推动着整个AI生态系统的发展和进步。聚焦数据库、大模型及算法、云计算在运维管理中的挑战、对各类运维场景的适配,以及相互结合与赋能的创新应用,今年的XCOPS智能运维管理人年会梳理并精选出以下大会议题,希望能覆盖到更多企业及技术同学的实际发展、进阶所需。多模、实时、智能,数据库花式...
2024-05-21 18:20:36
175
转载 1亿条数据批量插入 MySQL,哪种方式最快?
来源:blog.youkuaiyun.com/q6834850/article/details/73726707利用JAVA向Mysql插入一亿数量级数据—效率测评这几天研究mysql优化中查询效率时,发现测试的数据太少(10万级别),利用 EXPLAIN 比较不同的 SQL 语句,不能够得到比较有效的测评数据,大多模棱两可,不敢通过这些数据下定论。所以通过随机生成人的姓名、年龄、性别、电话、email、地址...
2024-03-25 22:01:01
1343
转载 京东开源框架! JD-hotkey
JD-hotkey 是京东 APP 后台热数据探测框架,历经多次高压压测和 2020 年京东 618 大促考验。在上线运行的这段时间内,每天探测的key数量数十亿计,精准捕获了大量爬虫、刷子用户,另准确探测大量热门商品并毫秒级推送到各个服务端内存,大幅降低了热数据对数据层的查询压力,提升了应用性能。该框架历经多次压测,性能指标主要有两个:1 探测性能:8核单机worker端每秒可接收处理16万个...
2024-03-24 21:54:58
513
转载 SpringBoot接口防抖(防重复提交),轻松搞定
作为一名老码农,在开发后端Java业务系统,包括各种管理后台和小程序等。在这些项目中,我设计过单/多租户体系系统,对接过许多开放平台,也搞过消息中心这类较为复杂的应用,但幸运的是,我至今还没有遇到过线上系统由于代码崩溃导致资损的情况。这其中的原因有三点:一是业务系统本身并不复杂;二是我一直遵循某大厂代码规约,在开发过程中尽可能按规约编写代码;三是经过多年的开发经验积累,我成为了一名熟练工,掌握了一...
2024-03-17 22:00:18
222
转载 支撑每秒600 万订单无压力,SpringBoot + Disruptor 太猛了!
工作中遇到项目使用Disruptor做消息队列,对你没看错,不是Kafka也不是rabbitmq。Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录。Disruptor介绍Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于 Disruptor 开发的系统单线程...
2024-03-16 22:28:13
110
转载 MyBatis使用不当导致程序内存溢出(OOM)
继上次线上 CPU 出现了报警,这次服务又开始整活了,风平浪静了没几天,看生产日志服务的运行的时候,频繁的出现 OutOfMemoryError,就是我们俗称的 OOM,这可还行!频繁的 OOM 直接会造成服务处于一个不可用的情况,最严重的一天,它重启了 5 次。我通过 Skywalking 查看链路调用,基本全报红了,基本处于一个瘫痪状态,因为生产该服务是分布式部署,k8s 故障恢复当即对该服务...
2024-03-15 23:00:08
1076
转载 【建议收藏】通过租户id实现的SaaS方案
概况项目开发到一半,用户突然提出需要多个分公司共同使用,这种需要将系统设计成SaaS架构,将各个分公司的数据进行隔离。SaaS实现的方案独立数据库每个企业 独立的物理数据库,隔离性好,成本高。共享数据库、独立schema就是一台物理机,多个逻辑数据库,oracle叫做schema,mysql叫做database,每个企业独立的schema。共享数据库、数据库表(本次采用):在表中添加“企业”或者“...
2024-03-14 21:30:08
534
1
转载 这是我见过最全的权限系统设计方案!
1为什么需要权限管理日常工作中权限的问题时时刻刻伴随着我们,程序员新入职一家公司需要找人开通各种权限,比如网络连接的权限、编码下载提交的权限、监控平台登录的权限、运营平台查数据的权限等等。在很多时候我们会觉得这么多繁杂的申请给工作带来不便,并且如果突然想要查一些数据,发现没有申请过权限,需要再走审批流程,时间拉得会很长。那为什么还需要这么严格的权限管理呢?举个例子,一家支付公司有运营后台,运营后台...
2024-03-06 20:00:08
845
Dubbo面试题汇集与答案.pdf
2020-04-06
restEasy3.0.18+jboss7案例
2016-11-05
springmvc方法中用hibernate存储一个对象前后,session就变失效了
2016-10-06
部分安卓手机移动端微信网页初始化时不能隐藏多个div
2016-08-15
在微信开发中,一个页面如何跳转到公众号首页?
2016-07-30
使用七牛上传,在手机浏览器中为什么不能预览图片到网页?
2016-07-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人