
工作日志
工作日志
Java程序员廖志伟
《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)作者、清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、阿里云专家博主、51CTO专家博主。研究过Spring、SpringBoot、SpringMVC、SpringCloud、Mybatis、Dubbo、Zookeeper、RabbitMQ、RocketMQ、Kafka、Redis、MySQL、ElasticSearch、MongoDB、ShardingSphere、DDD、Kubernetes等技术。
展开
-
【项目管理】
开发测试规范文档一定要反复查看,特别是发给第三方的文档,哪怕不是你写的,否则后面对接的人每个都问你一遍累个半死。代码一定要按照文档上的来,每个字段都要和代码仔细查验,不能多不能少,实体类最好新建,每个字段属性和文档保持一致修改的代码最好要在测试环境测试一下,让测试人员确认通过之后,增量更新代码,改了那些文件就更新那些文件,每个环境不一样,哪怕是同样的程序,同样的库,同样的静态文件,也会出现不一样的问题。代码一定要规范,不要急,之前我是偷懒以为没人查看代码,随意写,命名不规范这种低级错误哪怕知道,也原创 2022-02-16 14:13:42 · 869 阅读 · 22 评论 -
实战:第二十六章:Idea启动项目报错解决方案
较新版idea执行时,如果没有识别出Lombok生成的方法(我是2021.1)在File–>Settings–>Build,Execution,Deployment–>Compiler中的Shared build process VM options增加参数-Djps.track.ap.dependencies=false 然后就能正常处理Lombok注解了如果遇到"Can’t assign requested address" (疑似电脑网卡配置问题)可在运行配置的VM O.原创 2021-11-11 15:46:56 · 2657 阅读 · 0 评论 -
实战:第二十五章:HttpUtil代理
package com.common.entity.utils;import okhttp3.*;import org.springframework.http.HttpStatus;import java.io.IOException;import java.net.SocketTimeoutException;import java.util.concurrent.TimeUnit;/** * @author zhiwei Liao * @version 1.0 * @Date 2原创 2021-11-02 16:04:37 · 1804 阅读 · 0 评论 -
Linux系统:第十五章:gitlab集成CI
.gitlab-ci.yml文件配置(可做参考)# 定义一些变量, 下面各阶段会使用variables: ssh_name: root #远程连接服务器的用户 uat_server_ip: xx.xx.xx.xx #远程连接的服务器ip uat_ssh_password: /usr/local/pem/qt_dev_cert.pem #从密码文件读取文件内容作为密码去远程连接主机 jar_name: community-fragrant-starter.jar #项目打包成jar j原创 2021-10-15 17:09:36 · 965 阅读 · 31 评论 -
实战:第二十四章:ip:port改成域名的方式,并将http自动转https
第一步:获取SSL证书11种免费获取SSL证书的方式:https://www.toolmao.com/1069.html我选择的是阿里云的SSL免费版证书我选择的是Nginx下载第二步:配置内容分发网络我这里使用的是内容分发网络,对境外的进行加速,境内的需要备案搜索内容分发网络,进入域名管理,添加域名这里会提示境外的需要开通服务需要把区域访问控制打开,除此之外还需要申请一下,ECDN全站加速网络——全球加速资格申请:https://cloud.tencent.com/apply/p/4q95原创 2021-09-24 19:13:37 · 2261 阅读 · 16 评论 -
实战:第二十二章:i18n国际化(已实现中文,英文,波兰文)
创建一个maven模块pom.xml:<?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://ma原创 2021-08-12 14:33:53 · 779 阅读 · 20 评论 -
实战:第二十一章:实现微博微信关注模型
业务实现层: @Override public ResultData<RelationshipUsersAndFansDto> getRelationshipUsersAndFans(String userId, String followId) { List<B8UserUserinfoEntity> myself = userinfoMapper.getRelationshipUsersAndFans(userId); List&l原创 2021-06-08 20:02:36 · 544 阅读 · 0 评论 -
实战:第二十章:社交类用户登录功能
一个社交类的app,它登录功能,没想象中那么简单。匿名用户操作的用户数据需要记录下来,登录第三方账户之后还需要将匿名的用户数据同步过来,退出登录,需要还原匿名用户登录之前的数据,除此之外同一用户具备多设备,多账户,同时在线同时使用的情况,这个时候设计登录功能就比较复杂了。...原创 2021-07-15 10:19:46 · 1326 阅读 · 0 评论 -
实战:第十九章:存入Long类型对象,在代码中使用Long类型接收,结果报类型转换错误
使用雪花算法随机生成的id,使用Long类型存储到redis的时候,反序列化为Object类型,对于数值类型,取出后统一转为Object,导致泛型类型丢失,数值自动转为了Integer类型,range of int (-2147483648 - 2147483647)。解决方案:...原创 2021-07-15 10:08:53 · 543 阅读 · 0 评论 -
实战:第十八章:facebook和google免登接入
后端接入facebook其实很简单,后端仅仅需要三步:第一步:通过前端给的access_token获取用户信息https://graph.facebook.com/me第二步:获取应用口令https://graph.facebook.com/v2.8/oauth/access_token第三步:校验前端传入的access_token是否为本应用的access_tokenhttps://graph.facebook.com/debug_token参考链接:https://blog.csdn.n原创 2021-05-19 10:01:30 · 1200 阅读 · 11 评论 -
实战:第十七章:xlsx文件导入数据入库
直接上代码,先是页面,这里用jsp页面,导入的页面,后面的js发送请求通过后台controller跳转到这个页面<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><% String path = request.getContextPath();%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Tr原创 2021-01-22 14:27:58 · 2507 阅读 · 37 评论 -
实战:第十六章:判断Mysql库中是否存在某表
SHOW TABLES IN dreamweb_gjfgw WHERE Tables_in_dreamweb_gjfgw ='g_app_data_service_log'SHOW TABLES IN 数据库名称 WHERE Tables_in_数据库名称 ='表名称'Sql sql = new Sql("SHOW TABLES IN dreamweb_gjfgw WHERE Tables_in_dreamweb_gjfgw ='g_app_data_service_log';");Dat...原创 2020-12-22 19:27:53 · 2532 阅读 · 20 评论 -
实战:第十三章:工作中熬夜加班学到的
2020年8月到9月这段时间,我不停的在反思,我适不适合继续在这家公司待下去,我是不反对为了项目赶进度公司加班的,但是长期的通宵熬夜,让我感觉到身体吃不消,记忆力下降,掉发,暴躁,抗拒通宵加班,为什么这么说?八九月份平均每天的工时在15小时左右,假期只有二天,其余时间不是在家远程办公到凌晨,就是在公司通宵到第二天早上七点半,过着没有生活的日子,二点一线,和我对接的一位非常优秀的产品经理已经熬不下去了,提了离职,而我还在继续熬着。如果在公司提升空间较大的话,哪怕是这样我都不会觉得累,为什么这么说,公司每个人负原创 2020-09-15 11:17:12 · 15617 阅读 · 30 评论 -
实战:第十五章:摸爬滚打这些年的心路历程
心路历程:恍然间,发现自己在这个行业里已经摸爬滚打了几年了,从入行,那时的我技术不行(毕竟入行的菜鸟,能强到哪里去),面试技巧也不会,基础也不是那么强,出去面试总是被拒绝,心里很是难受,后面心态改变了,把面试当做工作,面试很多家,总算混进第一家外包公司了,当时拿着8k,心里还是挺开心的,入职前三个月感觉啥都不懂(那个时候做java后端还需要做页面数据绑定,有时一些样式都是自己调),那三个月是过的最难受的。后来有意识的做总结,一开始我是用脑图记录的,本地写了十几篇,后面觉得没啥动力了,就放弃了,好长一段时原创 2020-11-19 14:49:29 · 13636 阅读 · 20 评论 -
实战:第十四章:Springboot集成jsp页面报404四种解决方案
Springboot集成jsp页面报404。最近搭建一个简单的Springboot+maven+jsp的项目时,出现访问jsp页面时一直出404,错误信息是:This application has no explicit mapping for /error, so you are seeing this as a fallback.Wed Apr 15 10:44:30 CST 202...原创 2020-04-15 13:30:08 · 3530 阅读 · 2 评论 -
实战:第十二章:txt文件转xml文件
controller@RequestMapping("/DataDistributionController")@RestControllerpublic class DataDistributionController { @Autowired DataDistributionService dataDistributionService; @PostM...原创 2020-04-21 14:52:37 · 2793 阅读 · 30 评论 -
实战:第十一篇:StringRedisTemplate获取redis信息
需求:解答:导入相关的pom.xml然后给配置: 最后在给上api:Properties info = stringRedisTemplate.getRequiredConnectionFactory().getConnection().info("memory");可选参数: server:有关Redis服务器的常规信息 clients:客户...原创 2020-03-17 18:08:51 · 4249 阅读 · 30 评论 -
实战:第十篇:使用Java代码获取Linux系统执行命令后的结果
import java.io.*;import java.lang.management.ManagementFactory;import java.lang.management.MemoryMXBean;import java.util.*;import java.util.concurrent.CountDownLatch;import java.util.regex.Matc...原创 2020-03-17 18:05:11 · 2073 阅读 · 29 评论 -
实战:第九章:关于tk.mybatis只查询字段类型为string类型
tk.mybatis只查询字段类型为string类型引入依赖:继承tk实体类表业务控制台打印sql 断点查看 表数据好像只查询String类型的字段现在将实体类的类型改为包装类注意getter\setter方法也要改结果...原创 2019-12-02 20:29:27 · 2065 阅读 · 31 评论 -
实战:第八章:支付宝Native,JSAPI支付与微信Native,JSAPI,MWEB支付实现
首先是H5的支付,先看控制层的代码 @Autowired AliPayH5Bean aliPayH5Bean; @Autowired WxPayH5MWEB wxPayH5MWEB; @Autowired WxPayH5JSAPI wxPayH5JSAPI; @LoginRequired(isNeedLogin = true) ...原创 2019-11-22 15:57:05 · 2791 阅读 · 25 评论 -
实战:第七章:微信H5支付时用户有微信分身停留5秒后未选择哪个微信分身,也未支付就被动回调到商户支付是否完成的页面...
三种问题:微信H5支付时用户有微信分身停留5秒后未选择哪个微信分身,也未支付就被动回调到商户支付是否完成的页面 安卓H5支付设置了redirect_url后调起微信收银台5秒后回退到了原始界面 微信支付中间页调起微信收银台后超过5秒答案:由于设置redirect_url后,回跳指定页面的操作可能发生在:1,微信支付中间页调起微信收银台后超过5秒 2,用户点击“取消支付“或支付...原创 2019-11-18 09:30:00 · 1475 阅读 · 2 评论 -
实战:第六章:H5微信与支付宝调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions
H5支付宝支付接人H5手机网站支付宝支付时,已经将表单发给页面了,支付宝响应调试错误,请回到请求来源地,重新发起请求。错误代码insufficient-isv-permissions错误原因:ISV权限不足,建议在开发者中心检查对应功能是否已经添加。遇到这种问题,我查了一遍,这里给上几个链接:https://blog.csdn.net/ys_healone/article/d...原创 2019-11-13 20:23:00 · 7477 阅读 · 1 评论 -
实战:第五章:EZDML修改数据类型
解释一下INI配置,菜单:工具|修改INI配置,在INI中添加或修改以下内容:[DefaultFieldTypes] ——修改缺省数据类型对应的物理类型1=String:VARSTR(2000) ——修改逻辑类型名为String的物理类型名为VARSTR,默认长度为20002=Integer:DECIMAL ——修改逻辑类型名为Integer的物理类型名为DECIMAL,无默认长度[Cus...原创 2019-11-08 12:17:46 · 1216 阅读 · 0 评论 -
实战:第四章:java后端日志埋点实现
前段时间架构让我弄日志埋点,因为其他工作不断延期,而且到现在也没给明确的需求,这里自己手写一套简单的日志埋点:第一步:引入依赖<!--aop--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st...原创 2019-10-31 18:16:19 · 13121 阅读 · 27 评论 -
实战:第三章:更新数据只能是下月修改,当月不能修改
第一种:可以利用缓存,commissionMerchantsBean是传入的参数对象 //将合作对象更改后,应该在下个月份才生效 //根据merchants_id查询tst_commission_merchants表获取import_partner_employee_id CommissionMerchantsBean me...原创 2019-10-26 20:30:03 · 918 阅读 · 0 评论 -
实战:第二章:关于EZDML工具使用踩的坑
我使用的是一款EZDML的数据库表结构制作设计工具最开始在数据库创建数据库名为personalmall,基字符集为默认,数据库排序规则也是默认,创建完成之后去EZDML生成SQL点击执行sql报错了看看sql语句-- tb_sellercreate table `tb_seller`( `Id` INTEGER(20...原创 2019-06-30 21:48:24 · 901 阅读 · 0 评论 -
实战:第一章:防止其他人通过用户的url访问用户私人数据
解决思路:防止其他人通过用户的url访问用户私人数据思路一:url中放入userId,根据url中的usrId和session中保存的userId 进行匹配判断是否是本人访问,这样会将userId暴漏在url中,不安全。解决方案:url做成通用的,数据请求需要用户自己主动触发(百度的)(不建议使用)思路二:访问都需要登陆操作,session中放入userId, 记录中放入userId,每次访...原创 2019-09-26 20:29:13 · 1459 阅读 · 28 评论 -
个人职场经历(都是些吐槽的事)
真实案例:小公司老板(Boss)信任自己的老员工(A),让他学七八个月的java然后当主管,让他招人弄一个垂直领域的电商项目。介绍时说他是介于架构和产品经理之间,老板夸他在其他软件公司和别的技术主管(B)聊的挺嗨的,主管(A)一开始花钱买了黑马的学员毕业的项目,有部分功能有异常,他自己改不了,让手底下员工(C),员工(D)开始弄。后端员工(C)和后端员工(D)把异常改好了之后并没有做优...原创 2020-07-02 09:30:43 · 2661 阅读 · 21 评论