自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Change for Chance

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

原创 AIOT在数字化转型中的机遇和挑战

到底什么是企业数字化转型呢?所谓企业数字化转型,就是企业运用数字化解决方案,借助于 IOT、大数据、云计算以及 AI 人工智能等新一代信息技术,与企业自身管理、业务运营、产品研发、产品生产等经营活动进行深度融合,从而提升自身工业能力,创造智能化增量价值,以达到降低企业运营成本、为客户创造智能化用户体验以及不断提升自身产品核心竞争力的目的。

2022-11-20 08:00:00 835 29

原创 猿创征文|有了这8个开发工具,程序员可以早点下班了

工欲善其事必先利其器,说的就是工匠要想更加高效的做事情,就得先将工具变得锋利。那么对于程序员来说同样也是如此,如果要想每天早点下班,就必须借助于一些开发工具来提高自己的工作效率,今天慕枫就给大家总结一些工作中常用到的工具。

2022-11-12 16:14:54 1106 17

原创 聊聊那些年遇到过的奇葩代码

代码是程序员的名片,如何写好代码是每个程序猿必须要面对的问题。

2022-10-21 07:45:00 1502 20

原创 同事嫌我改Bug慢,原来是没掌握这些代码Debug技巧

代码Debug调试是研发工程师日常工作中必不可少的重要组成部分。进行代码Debug调试的目的无非就两个,一个是自我检查代码逻辑是否有问题,便于自己将Bug消灭在测试介入之前;另一个是进行线上问题排查定位,找到实际在跑业务的过程中出现的Bug。但是无论是哪个目的,高效率的进行代码Debug调试必定会提高我们码代码的效率以及定位问题解决问题的效率,从而实现代码白盒化自我观测。本文主要罗列了10个常用的Debug技巧,可以让我们定位代码问题事半功倍。

2022-10-04 09:24:17 2359 19

原创 Java服务异常排查定位大图

研发工程师日常的工作除了开发实现新需求之外,排查定位问题也是重要的组成部分。如果在发生线上故障的时能够快速定位线上bug并且修复bug,不仅是研发工程师技术能力的重要体现,同时也可以帮助线上及时止血避免平台故障进一步蔓延,从而导致影响用户体验或者产生不可挽回的资损。

2022-09-25 09:23:52 181 4

原创 技术团队如何高效落地代码CR

代码CR(Code Review)是软件研发活动中保障平台产品质量的重要环节,相信很多技术团队平常都会进行代码CR。就拿阿里来说,一般周二和周四都是发布日,那么在发布上线某项功能之前都要组织进行发布代码CR,CR不通过的代码必须修改检查通过后才能发布上线,可见一线互联网大厂技术团队对于代码CR的重视程度。

2022-09-06 09:00:31 962 18

原创 [云原生时代]如何优雅的消除系统重复代码

在程序猿的日常工作中,不仅要跟随业务侧的发展不断开发新的需求,同时也需要维护老的已有平台。无论是开发新需求还是维护老系统,我们都会遇到同样一个问题,系统中总是充斥着很多重复的代码。.........

2022-08-02 07:47:41 617 58

原创 大厂面试官眼中的好简历到底长啥样

小小简历,大大天地,如何将简历写到面试官心坎里。

2022-07-28 08:00:00 1163 34

原创 DDD领域驱动设计如何进行工程化落地

架构理论或者设计模式到最后都是为了让我们的代码结构更加清晰,扩展性以及维护性更强。从而开发出bug少稳定性更好的应用。因此本文重点介绍如何进行DDD工程化落地。

2022-07-18 08:20:41 536 13

原创 程序员为什么要软一点?

对于程序员来说,编码能力以及计算机专业技能等都属于自己的立身之本,是实打实的硬技能。那我们是不是不断加强这些方面能力的锻炼就可以在职场上有一个不错的发展呢?

2022-06-21 08:00:00 573 19

原创 原来Mysql索引要这么设计才能起飞

引言相信大家都知道索引可以加快数据的查询速度,但是有时候如果索引设计不当,也可能造成索引失效而进行全表数据扫描,从而最终导致系统性能下降。因此我们在索引设计阶段就需要充分考虑各种可能情况,尽量避免由于索引设计缺陷导致的后期出现数据查询性能问题。本文总结了10个实用Mysql索引设计原则,相信在大家进行索引设计的时候可以进行参考。索引设计原则我们在数据库表设计好之后,先不要着急马上就进行表的索引设计,因为这个时候其实你也并不清楚未来在这个表上可能存在的查询条件到底是什么。所以我们需要先根据实际的产

2022-06-01 07:17:10 4834 67

原创 Java技术专家成长路线总结(思维导图)

最近很多读者朋友问慕枫如何能够进行Java入门学习以及构建自己的技术体系,总感觉Java技术知识浩如烟海,网上资料又多如牛毛,根本不知道应该从哪里入手进行学习,另外觉得自己学习的内容零零碎碎不成体系,感觉十分的迷茫。为了解答大家的疑惑,慕枫特意梳理了Java小白到技术专家成长过程中必备的技术体系(这次可是拿出来压箱底的技术总结思维导图)。希望这份技术成长路线总结可以对大家在学习Java的过程中有所帮助,在学习上可以做到有的放矢。

2022-05-07 07:43:01 3010 82

原创 DDD 领域驱动设计落地实践:六步拆解 DDD

相信通过前面几篇文章的介绍,大家对于 DDD 的相关理论以及实践的套路有了一定的理解,但是理解 DDD 理论和实践手段是一回事,能不能把这些理论知识实际应用到我们实际工作中又是另外一回事,因此本文通过实际的业务分析把之前文章中涉及的理论和手段全部带着大家走一遍,我想通过这种方式,让大家实际的感受下 DDD 落地过程中会遇到哪些问题以及我们应该怎样去解决这些问题。

2022-01-11 08:10:13 9271 83

原创 【日拱一卒进击大厂系列】三个月斩获阿里offer,我做对了哪些事情

阿里巴巴这四个字对于一个技术人来说,是一个朝圣对地方,是一个制造梦想对地方。看过无数次马老师对演讲视频以及纪录片,在惊叹于马老师的商业眼光的同时也萌生了去看看阿里巴巴到底是一家什么样的公司的愿望。本文主要阐述了作者如何在繁忙的工作中通过三个月的准备拿到阿里offer的过程,希望对想进入阿里巴巴的同学有所裨益。

2021-07-31 11:06:08 607 25

原创 这样理解Mysql索引,阿里面试官也给你点赞

引言索引是Mysql的一块硬骨头,但是对于开发来说又是十分重要的基础技能。在平常的项目开发中,它是重要的SQL优化手段。在求职面试中,它是面试官常常用来考察求职者数据库性能优化方面的重要考量。因此透彻的掌握索引原理,并将其运用到数据库查询实战是每个程序员必备的能力。本文将从索引原理、索引设计以及如何应对索引失效等方面阐述Mysql索引。索引原理在进行索引设计以及优化之前,我们先深入理解下索引的原理。因为所有的设计以及优化一定是建立在你对原理的透彻理解的基础上。很多人都知道,在进行SQL查询时,同样

2021-05-29 17:12:25 1862 64

原创 在云栖深处见未来

一年一度的云栖大会有哪些振奋人心的科技成果,慕枫带带大家一探究竟。

2022-11-09 17:35:51 264

原创 秋招为什么越来越难了

秋招越来越难,反应的是行业的变革

2022-10-24 12:00:46 548

原创 大厂都在玩的容器技术到底是什么?

著名杂志《经济学人》曾经评价“没有集装箱,就没有全球化”,可以说集装箱的出现重塑了现代货运体系,实现了交通运输行业的标准化,有效降低物流运输成本,极大提升了货物转运效率。而在云原生领域,容器就相当于集装箱,它使得软件发布以及软件运行隔离实现标准化,引领了云原生基础设施的跨越式发展。从某种意义上来说,容器技术重塑了整个软件供应链。今天就和大家聊聊各个大厂都在玩的容器技术到底是个什么。...

2022-07-11 08:08:07 520 42

原创 彻头彻尾理解JVM系列之七:对象在分代模型中的流转过程是怎样的?

今天就和大家聊聊,Java对象在分代模型中流转的过程是怎样的,理解了对象的的流转过程对后续JVM性能优化有非常重要的作用。

2022-06-28 08:03:20 102 1

原创 下一代企业IT架构:云原生架构

随着数字化进程不断在各行各业广泛而深入发展,无论是大公司还是小公司都面临着数字化进程带来的挑战和机遇。而在数字化进程过程中,大部分公司在使用云的方式上是还停留在传统的IDC时代, 比如只是使用虚拟机代替了原来的物理机而没有进行弹性扩缩容、或者依然使用传统的应用打包与发布方式等等,其实在效率方面并没有质的提升,因此实际上很多企业并没有享受到云原生时代带来的技术红利。......

2022-06-08 08:00:00 4346 46

原创 写着简单跑着又快的数据库语言SPL

文章目录数据库语言的目标SQL为什么不行SPL为什么能行数据库语言的目标要说清这个目标,先要理解数据库是做什么的。数据库这个软件,名字中有个“库”字,会让人觉得它主要是为了存储的。其实不然,数据库实现的重要功能有两条:计算、事务!也就是我们常说的OLAP和OLTP,数据库的存储都是为这两件事服务的,单纯的存储并不是数据库的目标。我们知道,SQL是目前数据库的主流语言。那么,用SQL做这两件事是不是很方便呢?事务类功能主要解决数据在写入和读出时要保持的一致性,实现这件事的难度并不小,但对于应用程序的

2022-05-23 07:25:57 587 9

原创 重学数据结构与算法系列:一文讲透贪心算法

人之初性本善,但是随着自身的经历、生活环境等因素的影响,人逐渐会生出贪嗔痴。实际上不光人有贪念,我们的算法也会有贪念,今天就和大家介绍下一个有贪念的算法模型---贪心算法,看看一个算法是怎么产生贪念的。

2022-05-16 08:00:00 838 44

原创 PostgreSQL死锁了怎么办?

在操作系统领域当中,死锁指的是两个或者两个以上的进程在运行的过程中,因为争夺共同的访问资源而相互等待阻塞,最终造成阻碍进程继续执行的一种阻塞现象。那么在数据库领域当中死锁又是怎样的表现形式呢?

2022-05-04 15:05:24 2165 8

原创 重学数据结构与算法系列:这玩意叫跳表?

跳表是一种用于数据查找的数据结构,它虽然不是常见的数据结构,但是在Redis、Hbase等中间件中却被广泛使用,是一款性能比较优秀的底层数据结构,可以支持高速的数据查找、删除以及插入。

2022-04-21 08:00:00 1365 23

原创 30个实用SQL语句,玩转PostgreSQL

PostgreSQL是一款功能非常强大的开源关系型数据库,它支持哈希索引、反向索引、部分索引、Expression 索引、GiST、GIN等多种索引模式,同时可安装功能丰富的扩展包。相较于Mysql,PostgreSQ支持通过PostGIS扩展支持地理空间数据、支持嵌套循环,哈希连接,排序合并三种表连接方式等一系列的强化功能。本文主要整理总结了30个实用SQL,方便大家可以高效利用PostgreSQL。

2022-04-13 08:00:00 1904 33

原创 一文扫清DDD核心概念理解障碍

在前面的几篇文章中分别从DDD概念、核心思想以及代码落地等层面阐述了DDD的落地实践的过程,但是很多同学表示对于DDD的某些概念还是觉得不太好理解,影响了对于DDD的学习以及实际应用。因此本文针对大家反馈的问题进行详细的说明,希望可以用大白话的方式把这些看似复杂的概念形象化、简单化。

2022-04-04 11:35:33 750 18

原创 关于互联网“毕业“的一些思考

今年的三月好像比往年要冷的多,同样在互联网求职市场上以前的金三银色已然变成了铜三铁四,各大公司不是收紧HC就是各种裁员,求职的同学们已经感受到了互联网寒冬的到来,在职的同学们也都人心惶惶。在这样的大环境下,不论是已经被裁员的同学还是在职的同学们,都需要思考如何才能独善其身立于不败之地?

2022-03-31 07:34:06 1074 25

原创 Mysql的explain,你真的会用吗?

数据库性能优化是每个后端程序猿必备的基础技能之一,而Mysql中的explain堪称Mysql的性能优化分析神器,我们可以通过它来分析SQL语句的对应的执行计划在Mysql底层到底是如何执行的,它对于我们评估SQL的执行效率以及确定Mysql的性能优化方向具有重要的意义。但是很多同学对于如何根据explain对已有SQL进行深度的执行分析还是丈二和尚摸不着头脑,因此本文详细阐述通过explain分析定位数据库性能问题。

2022-03-24 07:30:00 2703 33

原创 重学数据结构与算法系列:链表及其应用

链表是非常常用的基础数据结构,本文主要介绍了链表的数据结构特点及其典型的场景应用。我们在实际编程的时候,如果进行数组的定义,那么就需要向系统申请连续的内存空间进行数据数据的存储。但是对于链表来说,它并不需要连续的内存空间。每个链表节点都存在指向下一个节点的地址,基于这种独特的数据结构,链表可以将不连续的内存区域串联起来进行数据存储。本文主要给大家介绍下三种非常常见的链表结构,分别是单链表、循环链表以及双向链表。单链表就如上文讲述的那样,链表数据结

2022-03-12 09:33:34 1012 20

原创 为什么说技术人也要有产品思维

无论是在实际的工作中还是短视频的搞笑段子中,程序猿和产品经理之间似乎总是一对欢喜冤家。我相信大家在现实项目中也经历过程序员和产品经理为了需求吵得脸红脖子粗的场景。造成这种互相不理解的情况的根本原因,实际上就是技术同学与产品同学在面对产品需求的时候所使用的思维模式是不一样的,技术同学使用的是技术思维、产品同学使用的是产品思维,不同的思维方式最终造成了谁都无法理解对方的情况。

2022-03-07 08:00:00 2272 39

原创 大白话讲解JDK源码系列:线程并发协调神器CountDownLatch和CyclicBarrier

我一直认为程序是对于现实世界的逻辑描述,而在现实世界中很多事情都需要各方协调合作才能完成,就好比完成一个平台的交付不可能只靠一个人,而需要研发、测试、产品以及项目经理等不同角色人员进行通力合作才能完成最终的交付。那么在程序的世界中是如何对这种协调关系进行描述的呢?

2022-02-21 08:00:22 625 34

原创 每天都扫的二维码,你知道它的技术原理吗?

二维码已经成为我们日常生活中必不可少的组成部分了,登录需要扫一扫二维码、买东西付钱需要扫一扫二维码、开会签到也需要扫一扫二维码,那么如此使用的二维码技术,背后的原理是怎样的呢?本文将结合二维码的发展历程以及典型应用场景,分析二维码背后的技术原理。

2022-02-11 12:00:53 19268 29

原创 【日拱一卒进击大厂系列】Mysql数据库表中有索引为什么还是查询慢?

时间过得太快了,春节假期感觉光速般就结束了,转眼间就要继续搬砖上班了。紧接着很快就要进入金三银四的求职面试高峰期,程序猿小枫还没有找到令自己感到满意的工作。就算是在过年放假期间也在拼命的准备技术面试,这不他又梳理了下之前面试过程中面试官经常问到的关于数据库方面的一道面试题,我们来一起帮小枫看看有没有遗漏的地方吧。

2022-02-08 08:00:00 1138 40

原创 重学数据结构与算法系列:时间复杂度与空间复杂度

相信大家都听说过程序的本质就是算法加数据结构的说法,因此如果我们想程序跑的速度既快又非常节省资源。那么就需要好好设计程序的执行算法以及数据结构。这就涉及到一个问题,我们在写代码的时候怎么去评判一段代码到底是不是跑得快又省资源的呢?这个时候我们就需要借助于时间复杂度以及空间复杂度分析来进行分析了。

2022-02-04 11:34:41 451 16

原创 支持百万并发高性能网关设计实现系列:什么是网关?

网关是个什么东东?为什么需要网关?随着微服务架构不断兴起,以前的一个大的单体应用根据不同的业务域拆分为不同的微服务系统进行维护和部署。因此各个微服务对外提供的服务接口API会呈现出爆发式的增长,如何对于各个应用服务的接口进行统一管理成为了不可回避的问题。外部的请求想要访问内部的应用服务必须经过一系列的校验、鉴权等操作,如果吧这些操作都放到每个服务中去做明显不合理。不仅造成重复代码同时各个服务也增加了和自身业务逻辑无关的模块变得更重了,一旦增加新的校验规则,每个服务都需要进行修改,明显这不是好的设计。

2022-02-02 16:32:30 3011 7

原创 11张图深入理解分布式锁原理

单体系统中,在高并发场景下想要访问共享资源的时候,我们需要通过加锁的方式来保证共享资源并发的安全性,确保在同一时刻只有一个线程对共享资源进行操作。

2022-01-28 13:08:36 12016 53

原创 大白话讲解JDK源码系列:从头到尾再讲一遍ThreadLocal

其实网上有很多关于ThreadLocal的文章了,有不少文章也已经写的非常好了。但是很多同学反应还有一些部分没有讲解的十分清楚,还是有一定的疑惑没有想的十分清楚。因此本文主要结合常见的一些疑问、ThreadLocal源码、应用实例以注意事项来全面而深入地再详细讲解一遍ThreadLocal。希望大家看完本文后可以彻底掌握ThreadLocal。

2022-01-19 11:35:01 11173 83

原创 2021年度总结:一个普通人的不普通的2021

误打误撞学了计算机笔者本科原来是自动化专业的,自动化专业就是大家说的那种万金油专业,什么微机原理、PLC、机械、控制原理啥都学,但是啥都不精。还记得学校有一次组织去实习的时候,是去一个很偏远的工厂,当时看到工厂的环境以及各种轰鸣的机械设备,我就在内心中不断的问自己,难道自己以后的工作就是找个这样的工厂,然后一辈子在这里面工作吗?显然这不是我想要的工作,也不是自己想要追求的生活。再加上学校本身普通的不能再普通了,对于一个来自农村的娃来说,感觉自己在这座城市根本找不到什么好工作。于是心中萌生了考研的想法,去考

2022-01-12 19:50:44 896 37

原创 Java工程师技术成长路线,看完我悟了

在干任何事情之前,我们都要想清楚做这件事情的目的是什么,这样我们才能做到以终为始。

2022-01-08 12:26:53 5071 45

原创 DDD 领域驱动设计落地实践系列:工程结构分层设计

前面几篇文章中,笔者给大家阐述了 DDD 领域驱动设计的三大过程,重点围绕如何通过战略设计与战术设计进行 DDD 落地实践进行了详细的讨论,但是还没有涉及到工程层面的落地。实际上所有的这些架构理论到最后都是为了使得我们代码结构更加清晰,从而开发出 bug 少、扩展性强、逻辑清楚的应用。因此本文就是为了解决 DDD 领域驱动落地实践最后一公里问题,将我们分析出来的领域模型通过与工程结构的映射实现真正的落地。

2022-01-02 08:35:39 3475 41

空空如也

空空如也

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

TA关注的人

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