自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhangsir的博客

非技术类文章在这里:https://www.cnblogs.com/java-zhangshuai

  • 博客(257)
  • 收藏
  • 关注

原创 王东岳-知鱼之乐【边读边记】2

2024-04-16 23:00继续读《知鱼之乐》3、追求完善的遗憾人类都在追求完善,但人类从一开始都未曾完善过,而且必然倾向与越发不完善。每个人都是某一种思想或者某一项技能的残缺载体,还有什么追求完善的余地可谈。好像人人都想当牛顿,贝多芬这种,并且深信只有那样的人才算是人格完美的典型,但实际上这些人反而更不完善。(这章其实还是到家的无为的想法,一个人在某个方面越牛,那他可能在其他某个方面就越弱,那就是越不完善。反而普通人,或者以前的原始人,才是最完善的。这里作者并不是不让大家追求完善,而是只说

2024-04-17 00:10:37 274

原创 王东岳-知鱼之乐【边读边记】1

终于打算开始读这本书了,作者王东岳,第一次听到这个名字,是因为传说王东岳是李善友的师父,我是先从混沌学院知道的李善友,因为李善友还是有东西的,所以我对王东岳起步也是非常尊敬的。所以这本书,能读到哪里,能理解多少,尚且不知。我自认为是一个不惑的人了,但网上很多人对王东岳的评价褒贬不一,好的爱死,不好的看不上。所以先读吧,读哪算哪,尽量读完,算是挑战自己吧。对了,作者其实最著名的书是《物演通论》,最著名的理论是递弱代偿。

2024-04-15 23:00:34 883

原创 李笑来-财富自由之路【边读边记】7

最后7章了,好看!

2024-04-10 23:20:25 907

原创 李笑来-财富自由之路【边读边记】6

这本书总共50章,现在已经看到35章了,感觉良好。以前看书,总是懒的记笔记,但我后来越发觉得,每个人的学习方法都不一样,我是边看边记边想,效果最好,所以干脆后面看书都以这种边看边记的形式来吧。

2024-04-10 00:53:54 689

原创 李笑来-财富自由之路【边读边记】5

今天回来的比较晚,刚吃完饭,赶紧继续往后看。

2024-04-09 01:36:38 804

原创 李笑来-财富自由之路【边读边记】4

之前写了三篇总结了,总共读了22章,今天再往后读几章。

2024-04-08 00:19:49 877

原创 李笑来-财富自由之路【边读边记】3

过去,40%之后是落后现在,你以为20%之后是落后现在,实际上很可能1%之后都是落后将来,有可能千分之一,万分之一之后都是落后(这个章节,作者花了很大篇幅讲知识付费的好处,在我看来貌似是有刻意引导用户付费,但有些总计我还是很认可的,所以如果想读原书的同学,带着自己的思考去读,就像作者之前几章里说的,得有自己的价值观,读者也是,得知道什么的好的,什么是不好的,知道作者说什么是真正的道理,说什么可能是为了其他的目的)今天又看了8章,我感觉这个书看到现在,貌似每8章就是一个大段。

2024-04-02 23:21:22 518

原创 李笑来-财富自由之路【边读边记】2

处理完杂事,已经快12点了,但还是想读完这本书。昨天晚上看完前8章,对李笑来这个同志有了初步的判断,然后不由得去抖音搜了下这个人的资料,果然关于炒币狂转上百亿一下子就出来了,还有就是那个五六十分钟的录音,听完之后,竟然觉得这个人更加立体了,很真实(这里的立体,真实,是中性词,没有夸奖或者欣赏或者贬低的意思)。

2024-04-02 01:19:52 693

原创 李笑来-财富自由之路【边读边记】

所谓个人财富自由,是指某个人再不用为了满足生活必须而出售自己的时间。财富自由根本不是终点站,那只是已做里程碑,在那之后还有很长的路要走。

2024-03-31 23:22:53 236

原创 mysql 使用id in(‘1,2‘) 的时候,只能查到id=1的数据的解决方法

mysql使用idin(‘1,2’)的时候,只能查到id=1的数据的解决方法。

2022-07-29 11:23:49 2003 1

原创 若依前后分离项目,发布在阿里云效中

配置代码源配置构建信息mvn -B clean package -pl ruoyi-admin -am -Dmaven.test.skip=true -Dautoconfig.skip项目名称和pom文件中保持一致,都叫ruoyi-adminpom中的这个,也保持一致指定target下的jar包位置指定deploy.sh的位置将deploy.sh的APP_HOME中的XXX替换成项目目录!/bin/bashPROG_NAME=$0ACTION=$1ENV=$2# 修改

2022-01-24 14:47:24 2377 3

原创 java file.renameTo返回false的原因记录

需要对文件夹下的文件重命名,发现返回false了,先用main方法测试,发现没问题,如下 public static void main(String[] args) throws IOException { File file1 = new File("D:\\aabb.xml"); File file2 = new File("D:\\ccdd.xml"); boolean b = file1.renameTo(file2); Syste

2020-12-19 15:48:37 7776 2

原创 分布式基础

四大基础理论拜占庭将军问题CAP 理论ACID 理论BASE 理论八大分布式协议和算法Paxos 算法Raft 算法一致性 Hash 算法Gossip 协议算法Quorum NWR 算法FBFT 算法POW 算法ZAB 协议

2020-12-14 10:25:45 5518

转载 互联网技术部门该如何管理

互联网技术部门该如何管理一、敏捷开发1.快速开发、快速迭代。2.组件式开发,避免重复造轮子。3.制定代码标准。4.并行开发,高效配合。5.单元测试必须覆盖所有核心业务。二、DevOps流程建立起来1.建立三套环境:测试、SandBox、正式。2.建立自动化流程:CI/CD。3.开发人员需全程参与到开发、测试、运维整个流程。4.建立监控报警、日志收集工具集。5.快速响应,所有项目成员都参与。三、代码版本控制及Code Review1.开发的组件或改动过的第三方SDK都需要加入代码仓

2020-12-05 18:32:24 6055

原创 java 调用groovy脚本,实现多个sql按指定逻辑运行,可做报表预聚合

java 调用groovy脚本,实现多个sql按指定逻辑运行,可做报表预聚合1、引入pom <dependency> <groupId>org.codehaus.groovy</groupId> <artifactId>groovy</artifactId> <version>2.1.6</version> </depende

2020-12-01 14:49:02 6519

原创 报表设计调研分享

公司结算系统要做一个内部报表,想自己开发,调研了市面上一圈报表,快把github翻烂了,也没找到一个合适的。之前给做过一个自定义sql查询的,但最终是因为系统太过复杂,导致最终sql复杂到没法写了,而且超级大的sql,特别不好维护。现在把之前的调研结果分享出来,希望后人少走弯路。收费的:帆软报表目前市场占有率好像最高,功能较为齐全,适应大多数行业的功能,价格较贵,基础版价格:80000元/服务器,高级版价格:500000/服务器软件下载地址:http://www.finereport.com/

2020-11-26 10:42:20 6753

原创 mysql 报错解决思考Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column

mysql报错:[Err] 1055 - Expression #5 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘库名.表名.字段’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by分析发生这个错误,一般是

2020-11-24 20:21:27 14318 3

原创 微信小程序支付流程(新手教程)

微信小程序支付流程:一、前期申请准备工作1、小程序注册,要以公司的以身份去注册一个小程序,才能开通微信支付权限;个人申请的小程序是不具备“微信支付”功能的!但个人小程序可以生成微信支付的那个收款二维码,勉强可以代替下。公司需要开头对公账户,申请小程序的时候要通过小额打款来验证公司和对公账户。2、绑定商户号。小程序注册流程:https://kf.qq.com/faq/170109iQBJ3Q170109JbQfiu.html小程序注册入口:https://mp.weixin.qq.com/cg

2020-11-07 18:47:36 15926 1

原创 vue 每次弹框都初始化

之前弹框都是下图这种:通过detailOpen变量控制是否显示弹框但这种最近在整合tinymce富文本编辑器的时候,发现第二次弹框数据没有回填原因是因为第一次弹框关闭后,没有初始化,从而影响了后面的弹框功能。修改成下图就好了:...

2020-11-03 16:49:03 9071

原创 mysql8.0 线上线下数据库版本不一致导致的问题

问题:线上注册失败,线下测试环境没问题update t_authentication_code set invalid = 0,update_time = sysdate() where email = ‘XXX’ and code = ‘XXX’ and invalid = 1;同样的sql,线下执行成功,线上却一直没有修改成功分析:排除其他原因后,最后发现线上mysql的版本是mysql8,而线下测试数据库是mysql5。再看建表语句,果然也不一样,尤其是排序规则线上:CREATE TA

2020-10-31 11:49:05 7617

原创 mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix

mysql 报错 Specified key was too long; max key length is 767 bytes当mysql数据库的字符集使用了utf8mb4,就很容易在执行建表sql的时候报这个错误。原因:mysql有个系统变量innodb_large_prefix,如果开启了,索引键前缀限制为3072字节;如果禁用了,索引键前缀限制为767字节。当mysql数据库的字符集使用了utf8mb4,每个字符最大的字节数为4,如果建表语句中,有类似varchar(255)的字段,4*

2020-10-19 17:53:04 8617

原创 关于SimpleDateFormat线程不安全的源码分析

SimpleDateFormat,线程不安全,源码分析1、先看SimpleDateFormat类图SimpleDateFormat继承了DateFormatDateFormat中有个成员变量是Calendar,这个先记住,线程不安全主要就是因为这个成员变量2、看下图SimpleDateFormat的parse方法这个方法,主要就两步,第一步是针对入参text做了一系列操作,这里可以省略不看第二步就是下图代码中的红框部分:calb.establish(calendar),这个入参就是上面说的

2020-10-12 17:55:52 7725 1

原创 quartz 本地有效,线上失效的问题

问题:最近开了一个新项目,spring boot 整合了quartz,出现了一个问题,就是当项目连接到本地电脑的数据库时,一切正常。但是当项目连接远程linux上的数据库的时候,发现定时任务不灵了,也不是不执行,比如手动执行一次这个操作,点一下没反应,再点一下,却执行两次。调试:看了下源码,整个手动执行一次的逻辑是这样的:1、当页面点执行一次,后台qrtz_triggers表会插入一条新记录,代表马上要执行了2、在org.quartz.core.QuartzSchedulerThread#run方

2020-09-28 20:54:16 8629

原创 quartz 报错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS‘ doesn‘t exist

问题:spring-boot 整合quartz的时候,连接windows的mysql的时候好好的,然而用linux上的mysql的时候,启动就报了这个错:Failure obtaining db row lock: Table ‘test.QRTZ_LOCKS’ doesn’t exist分析:首先用windows的mysql是没问题的。其实linux的mysql也是有这个表的,但由于是从windows复制过去的,所以表名都是小写的,而quartz启动的时候找的是大写,所以认为test.QRTZ

2020-09-25 21:31:39 18498 6

原创 【读书笔记】--- 《码出高效:java开发手册》

这几天读了几本书,突然觉得可以写点什么,因为我也看了不少书了,于是就有了个想法,我可以在我看过的每本书后,把我的一些想法记录下来,一方面可以供以后回忆,一方面可以让读者看到后,对这本书有一些更详细的了解,然后再确定要不要买。正文:这本书涉及到的知识点比较多,大多数都比较浅一点,整体上适合初入职场1年以上的同学,,但不是很适合新手入门。虽然这样,但本书也有很多地方写的也挺细的,比如讲https的那块,是我看到过的所有相关文章中比较详细且易懂的。但我还是觉得值得一买,因为当你仔细阅读这本书,你会发现这本

2020-09-23 23:08:43 7618 1

转载 【转载】广告系统架构解密

广告、增值服务、佣金,是互联网企业最常见的三种盈利手段。在这3大经典中,又以广告所占的市场份额最大,几乎是绝大部分互联网平台最主要的营收途径,业务的重要性不言而喻。从技术角度来说,广告业务涉及到 AI算法、大数据处理、检索引擎、高性能和高可用的工程架构 等多个方向,同样有着不错的技术吸引力。我从去年开始接触广告业务,到现在差不多一年时间了。这篇文章将结合我的个人经验,同时参考业界的优秀案例,阐述下广告系统的架构实践方案,希望让大家有所收获。内容包括以下3部分:广告业务简介面临的技术挑战广告系统架

2020-09-22 21:50:04 7743

原创 api接口设计

api接口设计健壮性对外提供的接口,最好支持幂等性,即相同的请求重复调用,服务端的操作应该只有一次,并且每次返回的结果应该是一样的。一般的做法是要求客户端在每次调用的时候带上唯一键,服务端第一次正常处理,并缓存唯一键和结果,后面再有重复调用,即可直接获取缓存结果返回。如果客户端没有唯一键的条件,也可以要求传时间戳,用时间戳作为唯一键。对外的接口,粒度能细就细,最好不要是那种入参是type,然后服务端根据type类型返回不同的数据,这样容易被调用方猜到一些服务端不想暴漏的内容。举个例子,比如你要

2020-09-09 16:51:10 7688 1

转载 redis 常见基础面试题

1、在项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?面试官心理分析这个问题,互联网公司必问,要是一个人连缓存都不太清楚,那确实比较尴尬。只要问到缓存,上来第一个问题,肯定是先问问你项目哪里用了缓存?为啥要用?不用行不行?如果用了以后可能会有什么不良的后果?这就是看看你对缓存这个东西背后有没有思考,如果你就是傻乎乎的瞎用,没法给面试官一个合理的解答,那面试官对你印象肯定不太好,觉得你平时思考太少,就知道干活儿。面试题剖析项目中缓存是如何使用的?这个,需要结合自己项目的业务来

2020-08-15 11:51:17 8654

原创 【错误记录】Invalid character found in method name. HTTP method names must be tokens

错误日志[2020-08-14 10:47:11.262] [http-nio-8093-exec-7] [INFO] [o.a.c.h.Http11Processor] [Error parsing HTTP request headerNote: further occurrences of HTTP header parsing errors will be logged at DEBUG level.]java.lang.IllegalArgumentException: Invalid ch

2020-08-14 10:55:44 7823

原创 云服务和serverless

云服务中的一些基础概念IaaS(Infrastructure as a server)基础设施即服务基础设施就是物理服务器云服务厂商把物理服务器搭好,直接卖云端服务器或者虚拟机用户可以自己装系统,然后装软件等等PaaS(Platform as a Server)平台即服务平台就是操作系统云服务厂商把操作系统安装好了,剩下的用户自己装SaaS(Software as a Server)软件即服务云服务厂商把软件都装好了,用户直接用,最多只需要维护产生的数据即可DaaS(Date as a

2020-08-13 19:46:36 8099 1

原创 spring boot maven项目返回值乱码的解决方法

云服务的基础概念IaaS(Infrastructure as a server)基础设施即服务云服务厂商把物理服务器搭好,直接卖云端服务器或者虚拟机用户可以自己装系统,然后装软件等等PaaS(Platform as a Server)平台即服务云服务厂商把操作系统安装好了,剩下的用户自己装SaaS(Software as a Server)...

2020-08-13 10:23:18 7865

原创 java 使用gzip压缩和解压 传输文件必备

java gzip 压缩解压工具类,开箱即用package com.yeahmobi.datacheck.util;import java.io.*;import java.util.zip.GZIPInputStream;import java.util.zip.GZIPOutputStream;public class CompressUtil { public static void main(String[] args) throws IOException { //

2020-08-07 10:27:37 8142

原创 错误记录:Current request is not a multipart request

springboot 报错:Current request is not a multipart request这个一般是controller是带有上传文件的服务,类似@RequestParam MultipartFile[] file解决:首先检查请求头中的Content-Type是否设置对,如果把Content-Type设置成application/json是不行的需要把Content-Type设置成multipart/form-data或着去掉Content-Type。还有一种可能就是你的请

2020-08-04 14:21:25 240600 6

原创 spring boot controller 增加指定前缀的两种方法

1、增加配置server.servlet.context-path: /api这种是最常见的,加上这个配置后,所有的url,必须带上/api的前缀,才能访问到改url2、过滤拦截这种是加上/api也可以访问,不加/api也可以访问,适合项目重构修改的适合用import org.apache.commons.lang.StringUtils;import org.springframework.context.annotation.Configuration;import org.spring

2020-07-25 16:33:19 10593 1

原创 RabbitMQ和Kafka选型用哪个

作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?”基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软件的设计,开发和维护的能力。这篇文章会先介绍RabbitMQ和Apache Kafka内部实现的相关概念。紧接着会主要介绍这两种技术的主要不同点以及他们各自的优缺点,最后我们会说

2020-07-18 15:15:14 7882

原创 关于高考报志愿的一些规划建议

关于高考报志愿,上大学,考研等的一系列个人建议总结,希望有人能因为这篇文章而改变,变好。

2020-07-14 22:49:34 7907

原创 LeetCode删除排序数组中的重复项(Java实现)

原题:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组

2020-07-04 17:14:40 7798

原创 excel导出经验

excel导出经验,供参考

2020-07-01 19:46:47 7621 1

原创 数据库选型经验汇总

数据库选型下面这些都是免费开源的。

2020-06-30 19:16:14 8339

原创 [记录] --- safari浏览器对于yyyy-MM的坑

问题后端给前端返回的带格式的日期类型时,很多时候都是yyyy-MM-dd格式的,在一般浏览器中都没问题,但safari浏览器就会出问题。解决:换成yyyy/MM/dd格式

2020-06-29 19:52:20 7569

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除