- 博客(126)
- 资源 (2)
- 收藏
- 关注
原创 Go 计算Utf8字符串的长度 不要超过mysql字段的最大长度
我有一个mysql的字段,是utf8格式的,但有时候前端传的字符串会超长,为此我需要在后端接口,先判断是否超长,如果超长,则报错提示前端。// 计算utf8下,字符串长度,确保字符串的长度不要超过mysql的字段的最大长度。
2024-12-27 15:48:46
539
原创 字节AB测试 在 AI大模型时代的应用
A/B实验给了我们“变”的底气,赋予了我们”变“的信心。这种以数据为核心的实验方法,是我们在产品发展道路上不断优化和创新的关键。它基于数据驱动的原则,引导我们进行精细化的运营。在这个过程中,我们持续地突破极限、创新思维、提升品质。正确且有效地运用A/B测试,能够使产品变的 “更快“、”更高、“更强”,在大模型时代助力产品勇立潮头!
2024-12-27 15:35:50
1432
原创 Could not install packages due to an EnvironmentError: [Errno 13] Permission denied
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied
2024-04-06 11:49:07
970
原创 Gitlab checkout 分支报错 fatal: reference is not a tree
Gitlab checkout 分支报错 fatal: reference is not a tree
2023-03-10 17:57:27
1646
原创 Go sh : flag provided but not defined
Go sh : flag provided but not defined。将脚本文件里启动时的多余参数去掉。
2023-02-19 16:13:36
2366
原创 Go: expected pseudo-register found R13 error
这个包的作用:以编程(Programatically)的方式检索Go协程的id,所以叫pid。升级pid的版本:go get -u github.com/choleraehyq/pid。github.com/choleraehyq/pid这个依赖包的版本太低,需要升级版本。然后可以看到pid的版本被升级到v0.0.15。
2023-02-19 16:00:44
2544
原创 BAT后台开发 两年工作经历总结
一方面为了总结和提醒自己,另一方面也分享给后来者少走些弯路。制定方案:如实现下载和设计定时任务时,经常没有考虑到失败的情况下怎么办。比如重试、失败时告知谁谁谁,以及要不要保存错误信息,保存什么程度的错误信息。接口的同步异步:除了下载大文件、上传这种必须要同步接口外,其实很多其他耗时较长的接口(>3s),都应该考虑做成异步的。实时性:是否要实时计算,性能能否满足实时计算存储的地方:比如既可以存mysql又可以存hive表的话,要选哪个。既可以离线计算,又可以实时计算存到mysql的话要选哪个
2022-05-04 20:31:30
460
原创 2022年4月学习笔记
记录一些零散的学习笔记1.webClient和restTemplate的区别webClient:异步(非阻塞)restTemplate:同步(阻塞)尤其注意处理大量请求的时候,如果使用同步的restTemplate,而请求链路时间过长或者请求数量过大,会导致机器处理变慢,甚至宕机。2.http连接池常用参数的含义参数含义setMaxTotal最大连接数setDefaultMaxPerRoute每个路由的最大连接数setConnectTimeout等待与远程服
2022-04-23 19:54:03
811
原创 Spark: org.apache.spark.sql.AnalysisException: Resolved attribute(s) ... missing from....
背景:Spark scala代码处理数据。前言:请先检查代码,是否遗漏了字段,也就是要解析的字段XXX不存在。如果真的漏了,补上即可,不需要再往下看了。具体报错日志如下:ApplicationMaster: User class threw exception: org.apache.spark.sql.AnalysisException: Resolved attribute(s) team_id#51L missing from team_id#479L, … in operator !Join
2022-03-19 15:06:49
6596
原创 IDEA java.lang.reflect.inaccessibleobjectexception unable to make jdk.internal.loader.classloaders
背景IDEA启动java项目,报错: java.lang.reflect.inaccessibleobjectexception unable to make jdk.internal.loader.classloaders解决方案1:我的原因是因为IDEA的java的SDK有问题,我手动从java version 11改成了我本地的1.8版本,重启项目就好了。点击IDEA的file-> 点击Project Structure:备注:网上有搜到这个方案,如果方案1不行的话,可以尝试再搜索
2022-03-19 14:42:47
2936
原创 java ebean 用jsonEqualTo 查询mysql的json字段
java ebean 用jsonEqualTo 查询mysql的json字段
2022-01-03 17:28:55
906
原创 java ebean 查询mysql中的json字段中的数组是否包含某个元素
java ebean 查询@DbJson将list转成的json字段是否包含某个元素
2022-01-03 16:38:00
1668
原创 IDEA中gradle查看依赖关系树 去掉重复的依赖 比如log4j和重复的log依赖
IDEA中gradle查看依赖关系树 去掉重复的依赖 比如log4j和重复的log依赖
2022-01-01 22:02:27
11488
2
原创 gradle Cannot set the value of read-only property ‘classDirectories‘ for task *
报错背景:gradle编译时报错提示:Cannot set the value of read-only property ‘classDirectories’ for task ‘…’ of type org.gradle.testing.jacoco.tasks.JacocoReport原因:gradle的classDirectories属性在5.6之后的版本里已经废弃掉了,classDirectories 由classDirectories.from替代了,具体可见:gradle的关于clas
2022-01-01 21:08:10
4269
原创 新服务 平滑替换 旧服务 的注意点
背景最近接触到新的后端服务、接口要替换掉旧服务、接口,整理下需要注意的点重构代码:梳理旧的需求文档、旧的代码逻辑新代码Double check上线:将一次重构拆分成多次“迭代”行为不重要可忽略的接口,一刀切重要的查询接口,发第一版:新老接口查询结果对比校验;充分时间观察后(日志查看技术参数、或写校验程序比对);发第二版:新接口取代老接口重要的编辑接口(日志查看技术参数,编辑效果):开关控制、灰度百分比流量、白名单、黑名单新老接口查询结果对比校验:先新老系统并存,然后老系统的请求,通
2021-05-16 15:23:39
490
原创 Ebean IllegalStateException: Super type class * is not enhanced?
Ebean报错:Caused by: java.lang.IllegalStateException: Super type class ams.crm.microservice.market.domain.bo.BasePurposeDetailBo is not enhanced?原因:父类缺少注解@MappedSuperclass,需要在父类上加上注解@MappedSuperclassebean的官方文档中有做介绍:https://ebean.io/docs/mapping/jpa/mappe
2021-05-03 22:20:01
212
转载 Spark使用 collect_list 将多行合并成一行,用于保存非group by的字段的值
目标:想对某几个字段group by,但聚合以后,还想保留不是group by字段里的字段的数据,此时可以将这些数据组合类似于Java等语言中的list也就是列表或者说是数组,然后将这个列表,新建一个字段来存储。这样,group by之后,想要的非group by字段里的数据,也能保存下来了。步骤:将多个列组成一个struct(非必须,一般用在要保存多个列的值时)使用group by聚合时,将struct组合成list(必需的。通过collect_list实现)val input: DataF
2021-05-03 22:16:07
3823
转载 How do I get the size of a java.sql.ResultSet?
目标:获取Sql查询结果的行数,也就是java.sql.ResultSet的行数方法1:Do a SELECT COUNT(*) FROM … query instead.方法2:int size =0;if (rs != null) { rs.last(); // moves cursor to the last row size = rs.getRow(); // get row id }不管哪种方式,都不需要遍历所有数据,也就是说,时间复杂度不是O(n).引自http
2021-05-03 22:05:23
170
原创 Spark 实现 对mysql的insert or update if exist:有则更新,没有则插入 (ON DUPLICATE KEY)
Spark 实现 对mysql的insert or update:有则更新,没有则插入废话不说,直接上代码:(因为是从已近上线的代码里造了个demo出来,线上代码已经在跑了,但这个demo没有测试,如果有遇到错误还请跟我说一下,我好改一下,但是整体思路是这样的。)import java.sql.{Connection, DriverManager, Statement}import java.util.Propertiesimport org.apache.spark.sql.{DataFra
2021-05-02 11:28:36
1904
6
原创 Spark 按条件 读取 mysql 数据
一、Spark 读取 mysql 数据网上Spark读取mysql数据的资料还是挺多的,这里贴一下我的代码:新建1个Scala的”Object“import org.apache.spark.sql.{DataFrame, SparkSession}object CsdnTest { def main(args: Array[String]): Unit = { val ss = SparkSession.builder .appName("Test") .
2021-05-02 11:08:02
1227
原创 Java 获取 mysql blob类型存储的字符串
用Java从mysql中取出blob时,是二进制形式,最好先转换成byte[],然后转换成String:String json = new String((byte[])(projectDetailMap.get("cost")), StandardCharsets.UTF_8);YourObject yourObject = gson.fromJson(json, YourObject.class);...
2021-05-02 10:51:36
1246
原创 如何通过微信的文字链接,跳转到小程序
步骤一:在小程序里创建一个web-view页面,让文字链接的地址能根据这个web-view的路径,跳转到这个web-view页接下来转载官方文档的内容,建议直接看官方文档来操作:原文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html步骤二:绑定域名登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。步骤三:引入JS文件在需要调用JS接口的页面引入如下JS文件
2020-11-30 20:10:51
4520
2
原创 解决 git 将文本文件视为二进制文件 导致无法查看diff
错误背景开发时,忽然发现自己的一个文件无法查看git的diff了,并且多了一个提示:类似于这种(借用下网上的代码块,我的比这个还严重,我的js文件看不了diff了):$ git diff MyFile.txtdiff --git a/MyFile.txt b/MyFile.txtindex d41a4f3..15dcfa2 100644Binary files a/MyFile.txt and b/MyFile.txt differ解决步骤1:检查有无特殊字符要确保新增加的代码里没有特殊字
2020-11-30 19:57:45
7569
1
原创 RedisTemplate 已经乱码的数据 转换 成不乱码的数据 —— 刷库、不刷库 2种方法
问题背景RedisTemplate默认序列化器造成乱码:使用redisTemplate连接redis数据库,在保存中文时,发现redisTemplate默认使用的是jdkXXX序列化器,它存进去的key和value有乱码,也就是有\xa\xc…之类的前缀,虽然使用redisTemplate读、写redis时不会有问题,但如果通过命令行直连到redis库,就会发现数据带了一些乱码。点击这篇文章可以查看如何通过修改序列化器,解决了新数据的编码问题。旧的乱码数据又不能舍弃:需要把旧的乱码数据,转换成新序
2020-10-07 11:33:53
777
原创 redisTemplate 如何解决乱码问题
问题背景使用redisTemplate连接redis数据库,在保存中文时,发现存进去的key和value有乱码,也就是有\xa\xc…之类的前缀,虽然使用redisTemplate读、写redis时不会有问题,但如果通过命令行直连到redis库,就会发现数据带了乱码前缀,甚至有些中文值全是乱码。原因乱码是因为redisTemplate默认使用的序列化器是JdkSerializationRedisSerializer,从RedisTemplate.java源码中可以看出:它默认的序列化器会带来乱码问
2020-10-07 11:02:05
4184
1
spring session介绍和源代码分享.pptx
2021-05-02
ParseWord07Test(EasyPOi word隐藏边框+图片遍历导出)
2018-05-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人