- 博客(142)
- 收藏
- 关注

原创 自动化编程的边界、程序员的转型与教育的革新
例如,AI可以根据简单的“排序”需求生成排序算法代码,但对于“如何根据业务规则对特定数据集进行高效排序”的复杂需求,AI难以独立解决,需要程序员深入理解数据特性和业务逻辑。例如,AI可以生成一些基本的数据库架构,但是对于复杂的、高性能要求的数据库架构,如分库分表,缓存设计等方案,仍然需要架构师的专业知识才能设计出来。程序员与AI协同工作,共同解决更复杂的问题,程序员负责设计、分析、创新,AI负责代码实现、测试、优化。将AI工具作为程序员的助手,辅助完成日常的编码任务,如代码生成、代码补全、代码检查等。
2025-01-10 17:37:32
1055

原创 AI浪潮下的IT从业者:挑战与机遇并存
引言人工智能(AI)的飞速发展正以前所未有的速度重塑各行各业,IT行业首当其冲。作为一名从业多年的程序员,我亲身感受到了AI带来的机遇与挑战。本文将从传统IT程序员的职业发展、AI对IT行业的影响、程序员的不可替代性,以及未来IT从业方向(AI+行业)等多个角度进行分析,旨在帮助IT从业者更好地理解当下,规划未来。
2025-01-10 17:34:36
1129
原创 从码农到船长:程序员的技术领导力养成记
技术领导力不是一蹴而就的,而是需要在实践中不断摸索和提升。从“代码执行者”到“团队掌舵人”,这是一条充满挑战和机遇的路。希望每一位程序员都能在这条路上找到自己的方向,带领团队乘风破浪,驶向成功的彼岸。
2025-01-11 22:18:27
833
原创 AI时代程序员的转型之路:从代码到无限可能
在AI时代的浪潮中,程序员们不再局限于传统的编程工作,而是有了更多元的职业转型选择。以下是一些热门的转型领域和岗位,以及它们的工作内容和行业前景:1. **编程老师**:如果你对教育充满热情,那么成为一名编程老师是个不错的选择。你可以将自己丰富的编程经验传授给下一代,帮助他们掌握这门关键技能。随着编程教育在各个年龄段的普及,编程老师的需求也在不断攀升。2. **专业书籍作者**:如果你善于总结和表达,那么撰写技术书籍或在线教程可能会是你的舞台。
2025-01-11 22:13:41
762
原创 制作仪表盘
以互联网金融为例思考:业务目标有没有达成?挣到钱没?我们有利润么?没有利润的原因是什么?利润有没有被击穿?用户大盘是怎样的?用户规模如何,质量如何?用户转化情况如何?逾期风险和占比是多少?
2025-01-10 17:40:46
225
原创 tableau-练习制作30个图表
报表制作基础报表直接拖拽想要在报表上值(拽到值的区域)对报表进行筛选筛选器中添加日期和战区,并对筛选器进行显示右键-合计-设置在列顶部分析-合计-增加合计内容将成交额放在颜色里,设置图形为方形,成为条件格式类型多维度报表1、拖拽城市,小组,日期 到列,成交额为值功能1:增加行标签操作:在行尾-增加index标签函数,把它改为离散,拖拽到最前面功能2:分区排序在成交额例-表计算-排序区向下后,再对成交额进行排序,就得到分区
2024-11-27 18:27:26
418
原创 tableau-制作30个图表
制作饼图饼图:饼图需要数值占比,拖动城市和成交额,展示每个城市成交额的占比饼图如何制作?1、将城市和成交额拉到标记里,城市拖入颜色,成交额拖入大小2、对图形进行标签,再次将城市和成交额拖入标签3、对标签数值设置百分比展示,标签-成交额-右键-快速表计算-合计百分比4、调整数值百分比小数点,图表-右键-设置格式5、排序,点击排序健,对大小进行排序(饼图不排序就没有分析意识)6、调整饼图大小,上方,把标准-改为整个视图有多种可视化展示标记改为圆,是气泡图改为方形改为文本,展示词云。
2024-11-27 17:02:17
586
原创 tableau-制作30个图表
步骤:1、横轴是数值,对应了某一个度量值,纵轴是一个标签战区的成交额,条形图横轴是战区,纵轴是成交额1、增加业务架构-战区右键点击,分层结构,增加分层结构调整业务架构,将战区,城市,小组移动到业务架构下方此时的条形图上方有➕号展开后就看到战区,城市小组的组合下钻设计在其他图里也可以使用此为逾期金额在利息中占比多少,对业务盈利进行判断,看是否有风险1、将逾期金额和应收利息一起放在列中,就可以看到多个维度,同战区,同小组的图。
2024-11-27 00:10:04
969
原创 tableau练习-制作30个图表
1、导入数据-添加-添加连接-到文件-excel格式用第一个excel导入,csv格式用第二个文本格式导入2、连接数据-从旁边这里直接拖到中间标头连接-日期若不一致需调节日期格式3、保存数据点击数据提取-再保存数据,保存为twbx格式。
2024-11-25 23:51:20
1222
原创 tableau的实用
因为是有轴图行,所以需要添加列和行,柱状图就是-横轴对应列,纵轴对应行。纬度在上方进行排列,左边是度量,度量可以直接拖拽到表内。在系统中tableau蓝色的是纬度,绿色的是度量。把日期放在页面,可以做以天纬度查看饼图变化。标记卡里可以进行组合操作,添加逾期率。对表格,图表进行数据整改,可以更丰富。所以横轴是日期,是在列,纵轴是值。条形图,把横轴/纵轴调换。从城市进行区分,总和。
2024-11-25 19:56:33
298
原创 自动化报表怎么写
1、先筛选战区+日期=sumifs(纯数值-注册人数,纯数值-战区列,周报-战区单元格,纯数值-日期,周报-日期单元格)2、不筛选战区+直接算总和=sumifs(纯数值-注册人数,纯数值-日期,周报-日期单元格)3、条件判断嵌套=if(当周报-战区单元格=“总和”时,返回总和,否则返回战区数值1)1、用xlookup函数,搜索的范围选第一行,返回整列,目标:更直观的看到数据,对这些数据进行迷你图展示。环比是需要周环比,月环比,数据进行对比,再找不同。需要的值是:月第一天到月当前天成交额的总和。
2024-11-17 23:53:40
808
原创 excel-VLOOKUP函数使用/XVLOOKUP使用
运行逻辑:线输入一个战区单元格,然后回到战区信息表中找到输入的单元格,找到西部战区,然后再从左到右找到编号2,返回对应数值。要写城市编号引用这张表内容,需要在要查找的值城市列,查找的区域在新的列中城市名称列中查找,并返回城市编号列。有4个参数(必须要查找的值, 要查找的区域,要返回区域的第几列数据,一个可选参数查找匹配的方式)=VLOOKUP(战区单元格,选择战区信息表,返回区域内的战区编号列2,精准匹配0)=VLOOKUP(战区单元格,选择战区信息表,返回战区编号列2,精准匹配0)
2024-11-12 19:48:04
1604
原创 excel使用
基于城市/日期的发展趋势,用折线图,如果在加上每天的成交额,逾期金额,多维度的数据展示需要用数据透视表(灵活的聚合)1、量级不同时,使用不同的条件格式,如果数值和百分比在一起使用条件格式,百分比会趋于零。问题:当从左插入列时,列的格式与原本一致,当我们想看数值时,发现为日期。可以使用sumif函数,参数为求和的区域,使用的范围,单元格区域,不求上中下旬,用天数,判断8月上旬所在城市逾期金额。逾期金额,城市,北京,上中下旬,上旬。逾期金额,城市,北京,天数,<=10。输入负数,-1,上个月的最后一天。
2024-11-12 16:40:22
649
原创 【excel基本操作-sumif绝对引用和相对引用
低量级数据的存储复杂且无法优化的数据报表怎么学excel?一、输入与输出二、计算与处理三、可视化四、连接匹配与自动化。
2024-11-08 20:25:11
855
原创 【无标题】
自己梳理出当前课程框架,把算法领域/测试领域的知识也总结出来,找到两个框架间相似的部分和联系。方法:比较两种知识框架在解决同一种问题时,5、甚至放弃原有框架,重新搭建一个。若新增一个ai智能,怎么结合?2、看已有框架能不能解决问题。3、果断学习新知识去解决问题。4、学会后归纳到自己的框架里。1、先充分理解别人的框架。如何正确的学习数据分析。如何正确的使用数据分析。数据分析价值如何最大化。搭建起自己的知识框架。
2024-11-07 20:27:14
195
原创 怎么做数据分析 ?
收集数据,分析数据,制作图表,描述问题,输出结论。设计实验,验证策略,对比策略,讨论方案,输出报告。思考问题,拆解问题,量化问题。
2024-11-06 21:32:05
195
原创 怎么验证主从库是否已经同步数据?
在从库表中看账号是否存在,若从库没有此账号,那则主库肯定也没有此账号,此时可注册;反之从库表中有此账号就不能注册。在主库机器上建库及建表并插入1条数据,在从库查询是否有这条数据。思路:注册过的账号就不能再注册。
2024-10-28 20:01:43
141
原创 性能需求笔记
但请求到代码服务器的动态请求40w请求数,得看看接口是否会挂掉,服务是否会扛不住,该怎么进行优化,基于2/8原则将40w的并发请求集中在12分钟内完成tps ,相当于每个接口承受444次并发(tps),响应时间是在1s以内(rt),那系统稳定。所以压测时先用1个线程压这次活动的接口,,1个线程每秒请求数时40个,整体用11个线程压测,完成444次并发,24h压测总并发请求数38361600。pv:用户浏览页面的次数 UV:登录系统的用户,uv课产生多个pv。系统用户:所有注册过的用户;
2024-10-28 20:01:32
224
原创 【无标题】
意思是这里src-java下的代码不能被其他人改动,方法基于lonback日志框架,增加skywallking配置(poml文件)以及日志文件的配置在resources下配置。使用的是skywalking服务-服务内有UI,collecter,agent,数据存储,所以需要进行apm服务下载,端口配置,数据库配置并进行服务启动,在浏览器访问。创建指定路径的目录,进入这个目录,wget是网络下载,根据这个路径进行下载。apm监控是什么,基于skywalking平台请求后的数据形成。使用apm服务端进行开发,
2024-10-17 15:57:29
349
原创 mysql集群-主库从库配置--主从库分离
cp /usr/share/mysql/my-default.cnf /etc/my.cnf,就是说将my-default.cnf这个文件移动到/etc/my.cnf下面,要在根目录底下执行。A.从库my.conf配置同master服务器配置一样,但server-id=2,取消#binlog-ignore-db配置,保存退出。主从同步是通过二进制的日志文件来进行,故须开启MySQL的日志功能记录增删改,每次服务启动就会产生新的日志文件。设置2个数据库,为主库从库,主库存储,从库查询。
2024-10-14 21:12:23
772
1
原创 spring boot 项目配置文件
格式类型:spring boot支持3种配置文件,分别是xx.properties,xx.yaml,xx.yml;1、创建application--test.yml---application--dev.yml---application--prod.yml,分别代表测试环境,开发环境,生产环境的配置文件。环境:测试环境,开发环境,生成环境;默认是8080,项目中端口是否要修改酌定决定,由研发总监指定,---也可以指定端口。3、作为开发人员根据实情用哪个环境的配置文件--在主要文件下增加使用的环境名称。
2024-10-12 17:55:35
442
2
原创 spring boot项目日志怎么加?
1、在每个类上添加注解,可自动生成private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(LogExample.class);3、定义日志文件路径logging.file.path就会在指定目录下生成spring.log;2、logger.info/logger.error/logger.debug酌情处理。2、logger.info/logger.error/logger.debug酌情处理。
2024-10-11 20:48:26
1038
原创 退出系统接口代码开发
从controller层开始开发代码,因为每个接口都需要增加接口防刷拦截,不然会恶意攻击,所以在这里增加退出系统接口防刷拦截;并退出系统接口没有header和token所以不需要操作拦截。3、resultcode增加退出系统成功的返回值,不增加退出失败的返回值(原因为退出失败会在防刷拦截时就出现,所以不需要增加退出失败)返回值resultcode开发,增加退出成功的返回值并进行调用,而退出失败是在防刷拦截时就会返回结果。2、因为退出系统不需要传入参数,也不需要增加token拦截。退出系统不需要传入参数。
2024-09-28 19:33:07
216
原创 注册接口开发
8、检查逻辑- controller层-调service层- 调mapper层--并进行测试-请求数据检查是否写入数据库成功,返回结果是否正确。接口防刷拦截,需要每个新增接口都拦截;接口header喝token拦截是除注册和登录不拦截(因为注册+登录不需要token)2、接口防刷拦截+token和header拦截白名单配置(在接口内增加接口名称)service层代码调用mapper,注册接口对应的数据库需要写入账号密码。在controller层先进行注册接口的开发,因注册接口不需要token。
2024-09-28 18:38:00
289
原创 借用连接2-得到主库或从库池子连接
b、这个源码类的方法有setdatasource方法,传入myRoutingDataSource(数据源对象,这个主从池子对象),进行事务管理,数据源和SqlSessionFactory进行匹配,连接和数据源绑定。3、如果要调用user mapper的方法,设置的mapper方法是一个接口类,调用接口里的方法,弄个子类对这里的方法实现,让mapper文件随着项目初始化。1、导入数据源链接的这个类,并导入它的父类datasource,因为需要和数据源绑定,所以导入数据。
2024-09-26 20:10:13
621
原创 借用连接1-怎么从目标数据源借用连接
---targetDataSources-->类中的set方法给其赋值,入参是map-->开发方法myRoutingDataSource+@Qualifier targetDataSources结果是{"master"=masterDataSource,"slave"=slaveDataSource}----targetDataSources-->类中的set方法给其赋值,入参是map-->池子已经随项目启动,所以需要新建类也随项目启动,再给这个方法赋值。
2024-09-23 20:21:49
1038
原创 操作数据库
映射到一个对象上,需要新建一个model包-这里存放的是模型,所以设置user,对应数据库里表内容(列),因为这三个属性对应的数据类型如下。UserService的getinfo---->借用连接---->UserMapper操作数据库sql的getinfo。UserService的login---->借用连接---->UserMapper操作数据库sql的login。字符串列,用一个新的注解@tableField是表字段标识,就是列的标识,代码中的name对应数据库的name。
2024-09-20 19:56:10
1077
原创 线程局部变量
因为service想操作数据库,但数据库有主库和从库,先通过aop提前算出service层下的方法是走主库还是从库,所以使用线程变量提前算出,是走主还是从。使用的方法是containsAny(包含任何)里面包含的是查询相关的,查询表,查询count,查询list,查询login。查询-----走从库--- login接口。想要登录接口走从库,所以会涉及的以下参数,如果包含就走从库,如果不包含就走主库。第一次分配的是1号线程,走的是slave,第二次分配的是3号线程,先看到这两个库,目前都是走从库。
2024-09-19 17:19:21
219
原创 springboot-创建连接池
目前在封装的代码中,要解决的问题就是,定义属性,然后写入参数,因为现在是主库和从库两份方法,如果只定义属性calssname,主库从库都需要使用,所以需要在方法中加入@value注解。把config注解去掉代码也可以配置成功,因为有@value注解就可以配置,并且value是全路径,如果value是只有url路径,就会报错,但也可以增加config注解。增加数据库驱动类,增加url,增加数据库用户名/密码,增加连接池,增加连接池最大数,增加连接池最小空闲值。需要在参数里增加注解,同事主库和从库代码修改。
2024-09-12 19:28:16
1834
原创 单例模式的总结
单例模式:因为需要为单例模式,所以在创建时,需要判断是否只创建1个,再次创建就无效,所以无论调用多少次,对象只有1个,内存也只占用1次。其中初始化对象时,因为创建的类方法就是static代码块,所以对象也需要是static的,不然无法使用。redis连接池、数据库连接池都是唯一的,所以只有1个数据库连接池,无论是多少个线程,都不会代码出错。常规模式:因为只新建一个类,所以在调用时,调用几次就创建几个对象,存储不同的内存。使用场景:实际业务只有1个对象的场景,如数据库连接池,redis连接池等。
2024-09-06 16:51:15
623
原创 UI自动化-元素动作WebElement源码类
1、往输入框里输入内容,元素单击后输入内容:key的值是要查找的值。UI自动化设计元素动作所用到的源码是WebElement源码类。离左边位置是多少,上下变宽,可以直接调用tostring方法。其中用的最多的为前9个,后续是前端开发时常用。元素动作都是webelement源码类中。元素宽高,返回值是dimension。是否被选择,用在单选按钮/复选按钮。得到元素的宽高,赋值给size。tagname就是input。是否可见,看元素是否可见。可以得到坐标点+元素宽高。是否可用,用在按钮置灰。
2024-09-03 20:26:42
370
原创 UI自动化如何建立+如何进行元素定位
抽象类里有类方法,其中有By (返回值)id(String id),所以我们用By调用id方法,得到by对象,将对象传入find element,将结果赋值给web element对象。先用driver调find element,方法内的入参是By by,所以查看By的源码类。所以示例化这个对象后可以调父类的方法,接口的方法,调很多方法,按照自己的想要的去设计。id的内容填什么呢,在浏览器打开页面,需求是找到搜索的id,点击搜索后id为kw。使用源码:ChromeDriver,父类是webDriver。
2024-09-03 18:26:31
731
原创 延迟消息使用
两个队列两个交换机,发送时设置时间,如果第一个队列无人消费,就成死信队列,在下订单未支付,自动倒计时的业务就是延迟消息。什么场景下会使用延迟消息。怎么代码实现这个延迟消息。
2024-08-27 16:52:39
300
原创 如何保证支付服务和交易服务订单状态一致?
其次为了保证mq消息的可靠性,采用生产者确认机制,消费者确认,消费者失败重试等策略,确保消息投递和处理的可靠性,同时也开启了mq的持久化,避免因服务宕机导致消息丢失,非幂等业务表单重复提交,在进入表单之前生成唯一标识,未token,携带token进行请求,执行表单提交,把token删掉,重复提交就无法识别就请求失败了。如果订单已经支付过就不需要再重复支付,所以在先要做订单状态查询,然后判断是否未支付,如果未支付才需求修改业务状态。首先,支付服务会在用户支付成功后利用mq消息通知交易服务,完成订单状态同步,
2024-08-24 20:15:32
323
原创 mq可靠性
消息持久化,不是默认,需要在发送时对delivery_mode改为2(持久),默认是1(临时)纯内存存储消息,过段时间就会出现配置out消息处理速度降到到0,短暂的暂停。队列持久化-mq在设置时默认就是持久化,spring默认也是持久化。交换机持久化-可以在配置的时候配置durable。再次重启后,临时消息就不在了,持久的不会丢失。没有做配置out,在内存和磁盘中都会处理消息。查看结果-消息在内存中展示,每5s刷新一次。为了解决阻塞可以采用数据持久化。发送消息-循环发送1百万条消息。java代码怎么实现。
2024-08-24 19:41:36
275
原创 生产者消息可靠性
表单填完后提交时,表单携带这个token到服务端,在服务端进行判断,若没有问题就执行表单提交,把消息保存到数据库,在可以在表单请求前,生成唯一标识发送给前端,类似于token,这个标识在服务端存一份在redis。,所以导致发送者不可靠,mq本身不可靠,消费者不可靠,消息延迟,针对以下问题。支付服务和mq之间有可能连不上,连不上怎么办,可以增加失败重连。表单重复提交/抢购商品的时候,多次提交多次请求,但业务只能1次。卡在那里等着,不会再请求其他内容,阻塞式的重试。测试结果-重试后请求3次,间隔1s。
2024-08-22 16:36:17
219
测试方案-xx需求-模版
2024-01-31
事故复盘模版-璇嘟嘟专属
2024-01-31
Jmeter了解与打开方法
2024-01-28
IDEA常用的快捷键-mac版 网上很多都是win版本,虽然大部分键通用,但还是有mac的版本和最方便的使用
2024-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人