- 博客(85)
- 收藏
- 关注
原创 Spec实战:不同角色的Spec输出
本文生成的4类Spec,形成了“产品需求→研发落地→测试验证”的完整闭环,每类Spec各司其职、相互关联:产品Spec(详版+简版)明确“做什么”,研发Spec明确“怎么做”,测试Spec明确“怎么验”,三者协同,可彻底解决多角色协同内耗、需求偏离、测试遗漏等问题。同时,4类Spec均遵循“结构化、无歧义”原则,可作为AI开发Agent的核心输入:AI可基于产品简版Spec理解需求,基于研发Spec生成符合规范的代码,基于测试Spec生成适配的测试用例,大幅提升各角色的工作效率,减少重复劳动。
2026-03-24 19:00:00
308
原创 AI 大模型 Java 开发全指南:从知识技能到工具实操(含腾讯开发助手)
摘要: 在AI大模型赋能开发的背景下,Java开发者需掌握"Java基础+大模型概念+技术栈"三维知识体系。本文提供从入门到高级的全流程指南:基础层涵盖Java 8特性、Spring Boot框架及数据处理;大模型层解析Transformer架构和API调用方式;技术栈整合腾讯开发助手、多模型SDK等工具。重点演示了腾讯开发助手的MCP工具调用、Skill规范编写及Agent任务协同,并给出Spec规格说明书框架,帮助开发者快速实现AI+Java工程化落地,完成智能问答、代码生成等场景开
2026-02-13 19:00:00
611
原创 Spec(规格说明书)与Skill(技能库)实操指南
本文系统阐述了软件工程中Spec(规格说明书)的核心作用与分类,分为功能Spec(定义"做什么")和Skill Spec(明确"怎么做")。功能Spec面向全团队,涵盖功能描述、交互逻辑、边界及异常场景;Skill Spec面向开发者,包含技术栈、编码规范、约束要求等。文章通过用户登录功能案例,展示了两种Spec的Markdown模板,并强调两者需保持同步更新。最后提出4个关键技巧:内容精简、同步更新、严格执行、灵活调整,确保Spec成为软件开发全流程的规范基准和落地
2026-02-13 19:00:00
1909
原创 Spec实战:需求编辑与需求评审
摘要:本文提出软件开发中需求编辑与评审的高效实践方案。需求编辑采用"原型+功能Spec"组合:原型聚焦界面流程并标注零散规则,功能Spec则结构化提炼这些规则,形成可落地的开发标准。需求评审采用"单场双环节"模式,40-60分钟内先评审原型流程,再确认Spec规则,避免重复会议。团队实践表明,产品负责原型备注,开发提炼Spec初稿再由产品确认,能平衡效率与准确性。评审后需冻结确认版Spec,确保开发依据明确。这套方法能有效减少需求返工,提升团队协作效率。
2026-02-13 19:00:00
681
原创 Spec实战:需求开发与单元测试如何一一对应?
软件开发中常见的需求返工、开发测试脱节问题,根源在于缺乏以Spec(需求规格说明书)作为统一标准。本文提出通过Spec串联需求开发与单元测试的解决方案: Spec的核心价值:作为开发与测试的桥梁,Spec提供结构化、无歧义的标准,解决开发理解偏差、测试覆盖不全等问题,减少团队协作成本。 实施方法: 开发前使用简化版Spec模板明确规则 开发中严格对照Spec编码并标注对应规则 通过单元测试验证所有Spec条款 典型案例:以登录功能为例,展示了从Spec编写到代码实现的完整过程,每条规则都有对应的代码实现和单
2026-02-13 19:00:00
579
原创 请求后端出现“Content type ‘application/octet-stream‘not supported“错误解决方案
主要的解决思路是,要指定上传文件时其他附加信息的 contentType,那么去FormData对象如何指定某个参数的 contentType属性。Vue应该怎么传递呢?使用 FormData 对象。此报错是Springboot 报错。看看Postman 正确的传递方式。
2023-05-05 10:23:54
11770
转载 AVIATOR——轻量级JAVA表达式求值引擎
Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。现在已经有很多开源可用的java表达式求值引擎,为什么还需要Avaitor呢?Aviator的设计目标是轻量级和高性能 ,相比于Groovy、JRuby的笨重,Aviator非常小,加上依赖包也才450K,不算依赖包的话只有70K;当然,Aviator的语法是受限的,它不是一门完整的语言,而只是语言的一小部分集合。其次,Aviator的实现思路与其他轻量级的求值器很不相同,其他求值器一般都是通过解释的方式运行
2022-06-01 17:25:20
12453
1
原创 分享一个责任链模式通用写法
方式一思路责任链模式,是一个单向链表结构,所以需要记录下一个责任链通过构造器的链式编程方便添加责任链每次添加责任链,都会将最新的责任链记录到构造器里,这里无法找到链首,所以,单独定义一个变量存储第一个责任链的地址。代码public abstract class Handler<T> { /** * 下一次责任链 */ protected Handler<T> next; private void next(Handle
2022-02-24 17:12:58
552
原创 DataStream API 简介 & Flink 出租车实验
该练习的重点是充分全面地了解 DataStream API,以便于编写流式应用入门。什么能被转化成流?Flink 的 Java 和 Scala DataStream API 可以将任何可序列化的对象转化为流。Flink 自带的序列化器有基本类型,即 String、Long、Integer、Boolean、Array复合类型:Tuples、POJOs 和 Scala case classes而且 Flink 会交给 Kryo 序列化其他类型。也可以将其他序列化器和 Flink 一起使用。特别是有良好
2022-01-28 16:26:23
2588
原创 Flink 出租车实验室 ◆ 计算出租车载客次数
这是一个计算每个驾驶员乘坐次数的示例。关键类TaxiRide 出租车乘车事件抽象类DataGenerator 模拟数据生成器Tuple2RideCountExample 代码/** * Example that counts the rides for each driver. * * <p>Note that this is implicitly keeping state for each driver. * This sort of simple, non-win
2022-01-27 00:10:43
1958
原创 Flnk 1.14 QuickStart POM.xml
parent POM.xm.<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apa
2022-01-21 18:47:20
530
转载 windows下安装flink并启动
主要记录下bin目录找不到bat脚本的问题,详细流程看文末参考文档1.直接下载scala版本为2.12的bin目录下自带bat脚本2.官网scala版本2.11的bin目录下没有bat脚本,如果要使用scala2.11的直接把bat脚本copy的bin目录即可start-cluster.bat脚本内容::###############################################################################:: Licensed to
2022-01-20 14:48:51
3368
4
原创 流式数据架构理论 ◆ 基本概念
基本概念流流是一种为无界数据集设计的数据处理引擎,这种引擎具备以下特征:(1)具备强一致性,即支持 exactly-once 语义(2)提供丰富的时间工具,如事件时间、处理时间、窗口(3)保证系统具有可弹性、伸缩性。(4)同时保证高吞吐、低延迟与容错。(5)支持高层语义,如流式关系型API(SQL)、复杂事件处理(CEP,Complex Event Processing)。时间在流式数据处理理论中,经常使用事件或记录表示从所处理的数据集中拉取的数据,在Flink中通常以有结构的对象表示时间
2022-01-19 21:20:48
3738
原创 JUNIT4 + SpringBoot + Parameterized 进行参数化Springboot单元测试
进行 springboot 单元测试@SpringBootApplicationpublic class SpringbootMockStarter { public static void main(String[] args) { SpringApplication.run(ConsumerTest.class, args); }}@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes =.
2022-01-17 09:18:03
700
转载 老酒馆 编写bat、sh脚本运行java程序
创建一个java程序,将代码及依赖打包放入lib目录下,配置文件放入conf目录下,编写run.bat、run.sh脚本,在windows、linux运行程序windows操作系统下在run.bat所在目录下打开dos窗口(cmd.exe),输入run.bat,回车即可运行程序(双击run.bat也可运行程序)@title My APP @echo off setlocal enabledelayedexpansion set JAVA=jre1.6.0_45\bin\java.exe set
2022-01-01 15:44:28
610
原创 软件版本GA,RC,alpha,beta,Build 含义
常见版本概念(1)RC:(Release Candidate)Candidate是候选人的意思,用在软件上就是候选版本。Release.Candidate.就是发行候选版本。和Beta版最大的差别在于Beta阶段会一直加入新的功能,但是到了RC版本,几乎就不会加入新的功能了,而主要着重于除错!是最终发放给用户的最接近正式版的版本,发行后改正bug就是正式版了,就是正式版之前的最后一个测试版(2)GA:(general availability)比如:Apache Struts 2 GA这是Apa
2021-09-27 11:55:08
3463
转载 git clone Filename too long的解决办法
使用git clone -b [url] 时,因目录名称太长,出现以下错误信息:fatal: cannot create directory at ‘XXXXX’: Filename too long解决方法,在Git bash窗口中执行: git config --global core.longpaths true,即可解决
2021-09-10 15:34:18
2261
原创 我读《白话中台战略》
读: https://insights.thoughtworks.cn/what-is-zhongtai/1. 案例案例1: 烟囱式应用案例2:⼤平台炮火支撑精兵作战 - 让听得到炮声的人能呼唤到炮火这句话形象的诠释了大平台⽀撑下小前台的作战策略。这种极度灵活又威力巨⼤的战法,使之可以迅速响应瞬息万变的战场,一旦锁定目标,通过大平台的炮火群,迅速精准对于战场进行强大的火⼒支援。2. 什么是中台中台就是「企业级能力复用平台」这个定义虽然看起来简单,但经过这么长时间对于中台的实践与思考,我觉得
2021-07-19 10:46:25
323
原创 DataX 源码导读
源码调试VM Options: -Ddatax.home=D:\workspaces\DataX\target\datax\dataxArgs Options: -mode standalone -jobid -1 -job D:\datax-jobs\stream2stream.jsonMain Lancher:com.alibaba.datax.core.Enginemysql2stream.json{ "job": { "content": [ {
2021-07-08 11:36:33
373
原创 简单的动态二维码管理服务设计
二维码特性信息生成规则不同的生成规则决定了二维码所使用的场景,也是提供给识别方进行识别的依据生成方唯一标识标明二维码的产出方信息承载的数据提供给识别方的或显示或隐式的信息,如果是隐式信息,则需要识别方识别后调取我方信息进行二次识别展示信息展示信息,识别方可一次性从二维码识别的信息,比如二维码串、URL地址等存活时间每个二维码,都有一定的存活时间,或分钟或永久。根据二维码安全级别来确定...
2021-02-09 13:45:28
513
原创 记一次Kubeadmin搭建K8s环境 • kubeadmin准备和安装
一、 准备机器机器IPkube-admin192.168.88.210kube-node01192.168.88.231kube-kube02192.168.88.113关闭防火墙及selinuxsed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config修改各个主机HOSTNAME# 192.168.88.210hostnamectl set-hostname kub
2021-01-25 12:39:39
531
原创 Kubernetes基本概念和术语 • Replication Controller
概念介绍Replication Controller (简称 RC ) 是 Kubernates 系统中的核心概念之一,简单的说,它其实定义了一个期望的场景,即声明某种Pod的副本数量再任意时刻都符合某个预期值Replication Controller 保证了在所有时间内,都有特定数量的Pod副本正在运行,如果太多了,Replication Controller就杀死几个,如果太少了,Replication Controller会新建几个,和直接创建的pod不同的是,Replication Con
2021-01-22 00:16:08
391
转载 CentOS kubernetes单机部署
1、关闭防火墙systemctl disable firewalldsystemctl stop firewalld2、安装etcd和kubernetes软件(会自动安装docker)yum install -y etcd kubernetes需要修改两处配置:Docker 配置文件/etc/sysconfig/docker , OPTIONS=’–seliunx-enabled=false --insecure-registry gcr.io’kubernetes apiservce
2021-01-21 23:46:04
354
原创 Kubernetes基本概念和术语 • Label
概念介绍Label(标签)是 Kubernates 系统的另外一个核心概念。一个Label 是一个 key=value的键值对。Label可以被附加到各种资源对象上,例如Node、Pod、Service、RC等一个资源对象可以定义任意数量的Label,一个Label也可以被添加到任意数量的资源上。Label 通常在资源对象定义时确定,也可以在对象创建后动态的添加或者删除。主要用途Label相当于我们熟悉的“标签”,给一个资源对象定义一个Label,就相当于给他打了一个标签,随后可以通过 L
2021-01-20 23:44:59
464
原创 Kubernetes基本概念和术语 • Pod
Pod 是 Kubernates 最重要的基本概念,每个Pod都有一个称为“根容器”的Pause容器。Pause容器对应的镜像属于Kubernates平台的一部分,除了Pause容器,每个Pod还包含一个或多个紧密相关的用户业务容器。每个Pod都可以对其能使用的服务器上的计算资源设置限额,当前可设置限额的计算资源有 CPU 和 Memory两种,其中 CPU 的资源单位为 CPU(Core) 的数量,,是一个绝对值而非相对值。对于对大多数容器来说,一个 CPU 的资源配额相当大,所以在 Kubern
2021-01-20 23:06:27
692
原创 常见负载均衡策略
一级因子 二级因子 描述 数量 轮询 i = (i + 1) mod n 随机 random(n) 权重 权重大小 权重越大,被选中的可能性越低 响应时间 根据相应时间分配一个weight,相应时间越长,weight越小,被选中的可能性越低 区域性能 复合判断server所在区域的性能和server的可用性...
2021-01-20 09:46:32
244
原创 Kubernetes基本概念和术语 • 节点
节点Master集群控制节点,负责整个集群的管理和控制;通常占据一个独立服务器主要进程有:Kubernates API Server(kube-apiserver): Kubernates 提供其所有资源增删改查等操作的唯一入口Node
2021-01-20 09:19:42
360
原创 K8S 学习网站
http://lihaoquan.me/2017/2/25/create-kubernetes-single-node-mode.htmlhttps://www.cnblogs.com/spll/p/10033316.htmlhttps://www.qikqiak.com/k8strain/network/service/#ipvs
2021-01-20 09:19:01
1250
原创 IDEA常用插件
Alibaba Cloud ToolkitAlibaba Java Coding GuidelinesFree Mybatis pluginGenerateAllSetterGenerateSerialVersionUIDGsonFormatLombokMavenHelperRestfulToolkit
2021-01-19 21:15:55
186
原创 Chrome常用插件
1. Tampermonkey 油猴2. GitHub加速3. Infinity 新标签页(Pro)4. Chrome版Todoist5. Axure RP Extension for Chrome6. Adblock Plus - 免费的广告拦截器
2021-01-06 16:41:12
182
转载 Linux curl命令详解
curl是一个非常实用的、用来与服务器之间传输数据的工具;支持的协议包括 (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET and TFTP),curl设计为无用户交互下完成工作;curl提供了一大堆非常有用的功能,包括代理访问、用户认证、ftp上传下载、HTTP POST、SSL连接、cookie支持、
2020-12-23 11:10:12
841
原创 记一次MySQL rpm 方式安装
1. 下载MySQL rpm包wget https://cdn.mysql.com/archives/mysql-5.6/MySQL-server-5.6.49-1.el7.x86_64.rpmwget https://cdn.mysql.com/archives/mysql-5.6/MySQL-client-5.6.49-1.el7.x86_64.rpm2. 检查冲突rpm -qa |grep -i mysqlrpm -qa |grep -i mariadb#有冲突删除冲突版本r
2020-12-11 13:24:17
417
1
原创 Nacos 初识 • Nacos实现对ribbon支持
/** * {@link org.springframework.boot.autoconfigure.EnableAutoConfiguration * Auto-configuration} that sets up Ribbon for Nacos. */@Configuration@EnableConfigurationProperties@ConditionalOnBean(SpringClientFactory.class)@ConditionalOnRibbonNacos@Co
2020-08-14 16:15:24
593
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅