统一抽取,制定规范;一、概述模板方法模式,又叫模板模式,属于23种设计模式中的行为型模式。在抽象类中公开定义了执行的方法,子类可以按需重写其方法,但是要以抽象类中定义的方式调用方法。总结起来就是:定义一个操作的算法结构,而将一些步骤延迟到子类中。在不改变算法结构的情况下,子类能重定义该算法的特定步骤。下面是模板模式的UML图,抽象类(AbstractClass)定义公共的步骤和方法,依次调用实际的模板方法,当然每...
冷静下来,不吹不黑。01最近半年,互联网一款现象级的应用诞生:「ChatGPT」;其火爆的程度,不输前面的羊了个羊;最初了解到ChatGPT还是春节的时候,但那时网上的测评还没引起足够的好奇心;对于纯文本式的聊天,试了几次之后就无感了;虽然很神奇,但是太客观,太套路了;但是从「ChatGPT4」开始,AI加工具的深度集成,这就有点绷不住了;这里强调一下;把「ChatGPT」当工具,不是单指聊天,或者搜索引擎;果断折腾个账号,蹲...
区块链、低代码、元宇宙、AI智能;01【先来说说背景】这个概念由来已久,但是在国内兴起,是最近几年;低代码即「LowCode」;指提供可视化开发环境,可以用来创建和管理软件应用;简单的说;就是可以通过各种组件的拖拽,实现页面的创建,交互流程和逻辑,以及数据层面的管理,更加高效的实现需求;早先在数据公司时;见识过低代码的应用,也参与过部分研发,比如元数据平台,BI分析等;不过,当时还是以数据管理的工具来定义项...
主打一手结果导向;一、背景在系统中,异步执行任务,是很常见的功能逻辑,但是在不同的场景中,又存在很多细节差异;有的任务只强调「执行过程」,并不需要追溯任务自身的「执行结果」,这里并不是指对系统和业务产生的效果,比如定时任务、消息队列等场景;但是有些任务即强调「执行过程」,又需要追溯任务自身的「执行结果」,在流程中依赖某个异步结果,判断流程是否中断,比如「并行」处理;【串行处理】整个流程按照逻辑...
是它,是它,就是它,并发包的基石;一、概述闲来不卷,随便聊一点。一般情况下,大家系统中至少也是JDK8了,那想必对于JDK5加入的一系列功能并不陌生吧。那时候重点加入了java.util.concurrent并发包,我们简称JUC。JUC下提供了很多并发编程实用的工具类,比如并发锁lock、原子操作atomic、线程池操作Executor等等。下面,我对JUC做了整理,大致分为下面几点:基于JDK8,今天重点来聊下JUC并发包下的一个类,Abstr...
IO流模块:经常看、经常用、经常忘;一、基础简介在IO流的网络模型中,以常见的「客户端服务端」交互场景为例;客户端与服务端进行通信「交互」,可能是同步或者异步,服务端进行「流」处理时,可能是阻塞或者非阻塞模式,当然也有自定义的业务流程需要执行,从处理逻辑看就是「读取数据业务执行应答写数据」的形式;Java提供「三种」IO网络编程模型,即:「BIO同步阻塞」、「NIO同步非阻塞」、「AIO异步非阻塞」;二、同步阻塞...
个人习惯称之为【OKRKPI】组合;01从进厂实习那天开始,就接触了KPI的概念;互联网公司,年初入职,可能因为那天是周五,又赶上月底,少不了要把KPI搬出来折腾一番;天时,地利,人和;不对,人和应该不确定吧;换个城市,换家公司之后,从此OKR模式席卷而来;OKR是什么?O:是目标,KR:是关键结果;KPI是什么?绩效的指标体系,从上到下,层层拆解细化,最终落在各个员工头上;OKR和KPI有什么区别吗?理念上肯定有,实践中有...
和三方的关系要处好;01如果你看到这个话题,并不知道是什么意思,那么祝贺你,安安静静的当个小码农也挺好;不过我敢说,随着职业生涯的慢慢发展,大家都得碰到,到时候就细细体会吧;那年,我双手插兜,不知道什么叫三方对接;直到入职了一家金融公司后,承接了一个需求:跟银行对接数据流水;从此就一发不可收拾,踏上了漫漫对接路,之后跟三方对接的活,都被我全部承包了;直到我后来办理离职手续,写的交接文档上,除了跟x...
只想写单表和文件的搬运,数据不过百最好;一、业务背景最近遇到这样一个场景:在业务正式开始前12天,需要导入一批来自合作渠道的数据,在业务周期结束后,再将同一批数据导出,交付给渠道方;简单理解,就是数据的「导入」和「导出」;但是场景复杂度的高低与否,与实现流程和逻辑的复杂度并无什么必然联系,数据在「导入」和「导出」之间,通常还会横着复杂的「业务逻辑」;数据如果只是在文件和单表直接来回捣腾,解决的方...
积累和总结,是长期持续的过程01最近,很多朋友微信私聊关于「buttejavanote」仓库的话题;这个「Git仓库」每年都会基于总结和思考,进行一次分类体系的改动;多数朋友都比较好奇,整理的思路是什么?关于「buttejavanote」仓库,其实就是个人对知识的积累和框架体系的迭代;这个仓库所记录的内容,就是在工作中不断遇到的各种「知识点」、「知识块」、「知识体系」;在工作中,忽然接触到新的知识,自然需要下意识的去熟悉了解...
打破常规,重立新规;01开始想聊这个话题的时候,我是打算放弃的;因为这个话题涉及范围之广,内容之多,让我犯怵;近几年,待过两家公司;一家经历过重构,另一家也打算重构......其实要下定决心,推翻重来,是一个很有勇气的决定;归根结底,不到万不得已,谁想这么玩,谁愿意花费大精力去做这些脏活、累活;所以究其原因,也只能说是一种综合因素吧,就像古话说的,天时、地利、人和;至于为什么这是个很有勇气的决定,因...
订单,业务的核心模块;一、背景简介订单业务一直都是系统研发中的核心模块,订单的产生过程,与系统中的很多模块都会高度关联,比如账户体系、支付中心、运营管理等,即便单看订单本身,也足够的复杂;业务在发展的过程中,必然会导致订单量的持续增加,订单自身、数据体量、实现流程,都需要不断的迭代更新,如果在订单流程的研发初期,没有相对全面的考量,那么很有可能导致中后期的重构;从实践经验上说,围绕订单业务:建...
降本手段一招鲜,增效方法吃遍天;01互联网行业里;降本策略千奇百怪,手段却出奇一致;增效方法五花八门,手段更是花里胡哨;对于企业来说;商业的基本形式,就是围绕供需产生的利益关系;很多决策的执行,都是基于利益最大化考虑的;什么是利益最大化?更低的成本、更高的效率、更优的质量、更好的结果,没有最的说法,只有更的追求;好听的讲,叫降本增效;不好听的讲,叫唯利是图;企业对于降本增效的追求,感性上说底线没...
一、Netty简介Netty是一个异步的,事件驱动的网络应用框架,用以快速开发高可靠、高性能的网络应用程序。传输服务:提供网络传输能力的管理;协议支持:支持常见的数据传输协议;核心模块:包括可扩展事件模型、通用的通信API、零拷贝字节缓冲;二、Netty入门案例1、服务端启动配置Netty服务器端程序,引导相关核心组件的加载;publicclassNettyServer{publicstaticvoidmain(String[]args){EventLoop组,处理事件和IOEventLoopG...
边线业务与主线角色被困外包;012022年,最后一个工作日,裁员的小刀再次挥下;商务区楼下又多了几个落寞的身影,办公室内又多了几头暴躁的灵魂;随着裁员的结束,部门的人员结构简化到了极致,至少剩下的人是这么认为的;说实话,对于当下的互联网行业来说,个人感觉两极分化的有点严重;卷的,卷到鼻青脸肿,不知道BUG和需求哪个会先来;不卷,感觉随时失业,不知道明天和裁员哪个会先来;最近这几年,裁员的故事已经不新奇了...
使用的成本越低,内部封装越复杂;一、Tomcat集成1、依赖层级在SpringBoot框架的web依赖包中,引入的是内嵌Tomcat组件,基于SpringBoot的版本,Tomcat集成的是9.0版本;<!1、项目工程依赖><dependency><groupId>org.springframework.boot<groupId><artifactId>springbootstarterweb<artifactId><version>2.2.5.RELEASE<version><dependency><!2、starterweb依赖><dependency><groupId>org.springframework.boot<groupId><artifa...
意识不到误区的存在最为离谱;01生活中,职场上,游戏里,都少不了正面对喷过:意识太差;在个人的认知中意识即思维,意识太差即思维中存在的误区比较多;每个人或多或少都存在思维上的误区;思维影响行为;行为效应会带来很多显而易见的问题;问题多了自然就是各种鸡飞狗跳;思维误区作为成长的第一大阻力,认清误区并尽快走出,直接决定成长的速度;误区最妖娆的地方,在于会让人有自我认同的决心,坚定的相信自己思维的正确...
一、概述1、曾几何时,知了在一家小公司做项目的时候,都是一个服务打天下,所以涉及到数据一致性的问题,都是直接用本地事务处理。2、随着时间的推移,用户量增大了,发现一个Java服务扛不住了,于是技术大佬决定对于系统进行升级。根据系统的业务对于单体的一个服务进行拆分,然后对于开发人员也进行划分,一个开发人员只开发和维护一个或几个服务中的问题,大家各司其职,分工合作。3、当然服务拆分不是一蹴而就的,这是一个...
01【优先做设计方案】职场中的那些魔幻操作,研发最烦的是哪个?作为一个数年且资深的互联网普通开发,可以来说明一下为什么是:缺乏设计;面对业务需求的时候,可能都听过这样一句话:这个很简单,直接开发,三天内上线;产品听了流泪,测试见了崩溃,研发眉头一皱直呼什么鬼;如果没有听过,那么职场的经历可能是不完美的,但是幸运爆棚;这种魔幻般的神奇操作,逻辑在哪里?底线在哪里?唯独离谱在这里;从实践经验上来看,...
01【什么是业务?】对于那些久经职场的人,也很难一句话说明白;业务,作为工作中绝对的核心点,即便在一个公司待的足够久,对业务足够熟悉,也很难简单直接的说清概念;业务,立足在一个行业的范畴内,比如物流、金融、电商等;从行业向下看,延伸到工作中经常说的业务需求和价值,进行结构化的梳理;从个人的经验中来描述业务的定义:行业的基本模式,运作的流程,具体的事务执行;对于业务这种结构化的概念分析,只能作为了...