首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

手写一个“Spring Boot”

01 重构 JavaGuide 我们经常会对自己早期写的代码感觉恶心,这是导致很多项目烂尾的很重要的一个原因之一。 写作也是一样,也经常觉得自己早期写的文章像一坨翔。造成这个现象的原因很简单!...疫情那会,工作也不是很忙,就想着说自己要不要也写一个 RPC 框架玩玩。 说做就做!...前前后后花了 3 个月,利用业余时间手写一个简单的 RPC 框架(玩具),名字叫做 guide-rpc-framework。...03 写一个简易版的“Spring Boot” 是的!准备开始造下一个轮子了,一个简易版的“Spring Boot”。名字都起好了,叫做“jsoncat”。...是Guide哥,Java后端开发,会一点前端知识,喜欢烹饪,自由的少年。一个三观比主角还正的技术人。我们下期再见!

40520

老板开发一个简单的工作流引擎

第2关 老板又来了:支持会签节点。 又查了一天啥是会签节点,发现会签节点就是一个大节点,里面有很多审批人,当这个大节点里的所有人都审批通过后,才能进入下一个节点。...第3关 老板来了:支持并行节点。 查了一下午啥是并行节点,发现并行节点是一个包含很多审批人的大节点,这个大节点里任何一个人审批通过,则该节点就完成。...第4关 老板又来了:节点支持嵌套,比如会签节点里有个并行节点,并行节点里又有个复杂节点,可以嵌套任意层的那种。 :其实已经支持了~ 能无限扩展的树形结构可以支持任意复杂流程。...第5关 老板又来了:支持条件节点。 工作流附带一个表单,要根据表单的内容确定下一步进入哪个分支。...发现这个需求并不难实现: 不断的驳回上一级,直到Ready状态的节点包含驳回到的节点为止。 老板:嗯。 第10关 老板又来了:在普通节点加一个时间限制,要是在规定时间内没完成就显示已超时。

1.1K30

惊了,老板开发一个工作流引擎!

图片 按顺序添加任意个审批人组成一个链表,最后加一个结束节点 记录当前审批人,当审批完后,审批人向后移动一位 当审批人对应结束节点时,流程结束 老板:简陋了点。 第2关 老板又来了:支持会签节点。...第3关 老板来了:支持并行节点。 查了一下午啥是并行节点,发现并行节点是一个包含很多审批人的大节点,这个大节点里任何一个人审批通过,则该节点就完成。...第4关 老板又来了:节点支持嵌套,比如会签节点里有个并行节点,并行节点里又有个复杂节点,可以嵌套任意层的那种。:其实已经支持了~ ? 图片 能无限扩展的树形结构可以支持任意复杂流程。...第5关 老板又来了:支持条件节点。 工作流附带一个表单,要根据表单的内容确定下一步进入哪个分支。...发现这个需求并不难实现: 不断的驳回上一级,直到Ready状态的节点包含驳回到的节点为止。老板:嗯。 第10关 老板又来了:在普通节点加一个时间限制,要是在规定时间内没完成就显示已超时。

1.3K20

免费开源的第一个原创FlowPortal插件:TaskComment

]的第一个Flowportal插件:TaskComment[/URL],当时卖出了1份,免费送了好友了几份。...之后就销声匿迹了,今年Flowportal的官方人员联系索取源码,美其名曰帮我卖出去一份,就给我一份钱。当时就抱着肉包子砸狗的态度,发了一份源码给他们。...果不其然,至今几个月过去了,他们没有任何人联系过。...于是,今天,趁着心情好,决定在这里免费开源这个插件的源代码,就算你现在没这个需求,保留一份参考一下自己的2次开发也不错,另外也免得被官方再收费。 索取的办法就是在本文留言,并留下您的邮箱。...背景:初衷是要在一个任务管理的流程,在这个流程里面任务负责人、参与者、发起人等随时都可以针对当前任务进行评论,发表建议和意见。

79320

老板开发一个简单的工作流引擎

又查了一天啥是会签节点,发现会签节点就是一个大节点,里面有很多审批人,当这个大节点里的所有人都审批通过后,才能进入下一个节点。...查了一下午啥是并行节点,发现并行节点是一个包含很多审批人的大节点,这个大节点里任何一个人审批通过,则该节点就完成。...第4关 老板又来了:节点支持嵌套,比如会签节点里有个并行节点,并行节点里又有个复杂节点,可以嵌套任意层的那种。:其实已经支持了~ 能无限扩展的树形结构可以支持任意复杂流程。...第5关 老板又来了:支持条件节点。 工作流附带一个表单,要根据表单的内容确定下一步进入哪个分支。...发现这个需求并不难实现: 不断的驳回上一级,直到Ready状态的节点包含驳回到的节点为止。老板:嗯。 第10关 老板又来了:在普通节点加一个时间限制,要是在规定时间内没完成就显示已超时。

1.3K42

新来个技术总监一个 IP 属地功能~

这个功能怎么实现呢?...HttpServletRequest 获取 IP 下面,就来讲讲,Java 中是如何获取 IP 属地的,主要分为以下几步: 通过 HttpServletRequest 对象,获取用户的 「IP」 地址...通过 IP 地址,获取对应的省份、城市 首先需要写一个 IP 获取的工具类,因为每一次用户的 Request 请求,都会携带上请求的 IP 地址放到请求头中。...之前在做的项目中,也有获取 IP 地址归属地省份、城市的需求,用的是:淘宝 IP 库,地址: https://ip.taobao.com/ taobao 的 ip 库下线了,再见 ip.taobao...github 地址: https://github.com/lionsoul2014/ip2region 目前最新已更新到了 v2.0 版本,ip2region v2.0 是一个离线 IP 地址定位库和

35220

的职业是前端工程师:成为一个前端设计师

年轻的时候,是一个前端工程师。那时候,有这样一个传说:美工是最受妹子的欢迎,其次是半个美工的前端工程师。...在学了一段时间 C++ 后,觉得:『用记事本写代码,并运行起来』的故事都是骗人的。为了将代码转变为程序,你还需要一个编译工具。 ? 然而有一天,在网吧里看到一个人在记事本里写代码。...成为一个前端设计师 习惯了大学的生活过后,和好友楚非就一起去租了一个服务器,从此生活就变得有点艰难。不过有了一个服务器,我们就可以去做个网站,并托管别人的网站,然后就可以坐在学校里数钱了。...对于当时的而言,并不想成为一个 Web 开发工程师,还是从心底向往底层的开发。 ? 理想很美好,现实很残酷。虽然我们有了一个服务器,但是它不能立刻地为我们赚钱。...设计是一门脑力活,也是一门模式活,从中能看出一个人的风格,从而了解一个人的水平。 因为认为,前端工程师还应该懂得设计。便花费了很多时间去:学习素描,熟悉一些原型设计软件,了解各种配色原理。

713100

解析一个配置文件,当打开文件的时候崩溃了

猫.jpg 薛定谔的猫 首先,说一些题外话,按照一贯的风格,这篇文章本应该叫《浅谈如何优雅读取特殊格式配置文件》,但是最近被某些网站的推送恶心到了,是不太喜欢这种标题的,所以我一直尽量避免使用这种标题党式的标题...,但是,好奇心驱使,想做一次实验,欢迎大家留言,说出你的想法,你更喜欢哪个标题?...解析一个配置文件,当打开文件的时候崩溃了 | 为人性癖耽佳句,语不惊人死不休 B. 浅谈如何优雅读取特殊格式配置文件 | 少一点套路,多一点真诚 C. ...将文件加载进来,处理成一个特殊的数据结构,标记出来注释,字段,值等信息,直接对这个结构进行操作,然后再落盘回去,即形成如下图结构。...作为一名老CRUD,是这么想的,在原始数据加载时候,引入一个纯数据缓存队列,用于应对读取操作,引入一个辅助元数据队列, 用于协助判断键具体的类型,例如,键值对、键多值对等情况。

40600

解析一个配置文件,当打开文件的时候崩溃了

薛定谔的猫 首先,说一些题外话,按照一贯的风格,这篇文章本应该叫《浅谈如何优雅读取特殊格式配置文件》,但是最近被某些网站的推送恶心到了,是不太喜欢这种标题的,所以我一直尽量避免使用这种标题党式的标题...,但是,好奇心驱使,想做一次实验,欢迎大家留言,说出你的想法,你更喜欢哪个标题?...解析一个配置文件,当打开文件的时候崩溃了 | 为人性癖耽佳句,语不惊人死不休 B. 浅谈如何优雅读取特殊格式配置文件 | 少一点套路,多一点真诚 C....将文件加载进来,处理成一个特殊的数据结构,标记出来注释,字段,值等信息,直接对这个结构进行操作,然后再落盘回去,即形成如下图结构。 ?...作为一名老CRUD,是这么想的,在原始数据加载时候,引入一个纯数据缓存队列,用于应对读取操作,引入一个辅助元数据队列, 用于协助判断键具体的类型,例如,键值对、键多值对等情况。

41020

开发了一个免费】使用微软的文字转语音服务的js库

前言 尝试过各种TTS的方案,一番体验下来,发现微软才是这个领域的王者,其Azure文本转语音服务的转换出的语音效果最为自然,但Azure是付费服务,注册操作付费都太麻烦了。...本文就是记录了这整个探索实现的过程,请尽情享用~ “本文大部分内容写于今年年初一直按在手里未发布,深知这个方法一旦公之于众,可能很快会迎来微软的封堵,甚至直接取消网页体验的入口和相关接口。”...对这个Azure文本转语音的网址发起get请求就可以直接提取到 image.png const res = await axios.get("https://azure.microsoft.com/en-gb...false},"outputFormat":"audio-24khz-160kbitrate-mono-mp3"},"language":{"autoDetection":false}}} 第三次的数据:转语音的文本信息和角色...命令行工具 已经将整个代码打包成一个命令行工具,使用非常简单 npm install -g mstts-js mstts -i 文本转语音 -o .

2.1K30
领券