
随手笔记
工作中的随手笔记,或者遇到的问题记录
编程者说
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
idea编译报错:Error:Kotlin: Module was compiled with an incompatible version of Kotlin.
1. idea 编译报错信息Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16.2. 解决办法重新编译项目Build->Rebuild Project原创 2022-05-17 11:17:33 · 7806 阅读 · 15 评论 -
windows下pyinstaller安装
pyinstaller安装原创 2022-03-23 08:44:47 · 2571 阅读 · 2 评论 -
Mybatis报错ORA-00911: 无效字符
今天在开发过程中遇到这么一个错误,1. ORA-00911: 无效字符Caused by: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符2. 原因是 sql 语句中加了一个分号。把分号去掉就可以了。原创 2022-03-22 15:05:56 · 3714 阅读 · 2 评论 -
elastic安装报错:max file descriptors [4096] for elasticsearch process is too low, increase to at least
一、现象因为 es 不允许使用root用户安装,在使用新建的es用户安装的时候报错如下,max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]ERROR: [3] bootstrap checks failed. You must address the points described in the following [3] lines before sta原创 2022-02-07 13:55:17 · 8717 阅读 · 0 评论 -
安装docker环境报错:Could not resolve host
今天在centos上安装docker环境的时候遇到这个报错,curl: (6) Could not resolve host: get.docker.com; Unknown error解决办法:1. 编辑文件vi /etc/resolv.conf2. 新增如下nameserver 119.29.29.29nameserver 8.8.8.83.重启网络service network restart...原创 2022-01-28 13:52:36 · 12339 阅读 · 2 评论 -
Git 常用基本操作命令
git基本操作原创 2022-01-27 09:26:10 · 324 阅读 · 0 评论 -
Nginx在Linux下的日志分割脚本
以下是分割脚本,需要日环对应的路径和日志名称,然后使用Linux自己的crontab定时任务调用sh脚本。## Nginx相关目录log_path=/home/apps/nginx/logspid_path=/home/apps/nginx/logs/nginx.pid##获取当天的 yyyy-MM-ddtoday=$(date -d "now" +%Y-%m-%d)## 执行mv操作mv ${log_path}/access.log ${log_path}/daily/access.原创 2021-12-20 17:19:16 · 1579 阅读 · 0 评论 -
Nginx在Windows下的日志分割脚本
以下是分割脚本,需要日环对应的路径和日志名称,让后用Windows自己的定时任务调用bat脚本。@rem 关闭脚本的每行输出@echo off@rem 获取当前时间set ToDay=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%@rem nginx安装路径set NginxHome=D:\dev\servers\nginx-1.16.1@rem 关闭nginx@rem net stop nginx@rem 重命名日志文件move %NginxHome%\.原创 2021-12-20 15:35:36 · 1644 阅读 · 0 评论 -
springboot外部配置文件的加载顺序
springboot外部配置文件的默认加载顺序原创 2021-12-10 21:22:50 · 625 阅读 · 0 评论 -
FastJson的坑:JSON.toJSONString 关于null值不序列化
在使用fastjson中JSON.toJSONString去转json字符串的时候遇到一个坑。1.现象null值不会被序列化,导致转出的json字符串里面丢失存在null值的字段。JSON.toJSONString(dto);转换前的实体,- dto: VisitTaskDto(actId=123, actName=xxx, prodCode=null, prodName=null)转换后,null值的字段丢失为{"actId":"123","actName":"xxx".原创 2021-09-08 13:49:53 · 2793 阅读 · 0 评论 -
Rest API设计时,POST和GET如何区分
在做API设计时,纠结新增的时候用POST还是PUT,更新的时候用POST还是PUT,到底改如何选择。具体还要看使用场景,这里面涉及一个幂等性的问题。PUT方法还是POST方法?这取决于这个REST服务的行为是否是幂等的,假如我们发送两个http://xxx/xxx/test请求,服务器端是什么样的行为?如果产生了两条记录,那就说明这个服务不是幂等的,因为多次使用产生了副作用了;如果后一个请求把第一个请求覆盖掉了,那这个服务就是幂等的。不要求接口幂等(比如insert),应该使用POST方法,对原创 2021-08-27 09:58:11 · 884 阅读 · 0 评论 -
Oracle 字符串批量替换
项目迁移,原来数据库中存储的 IP 地址变化了,需要批量替换下。使用 Oracle 的 replace 函数来操作,replace 函数说明replace(source,str1,str2),把 source 中 str1 字符串替换为 str2 字符串。若 str2 为 null 或空时,相当于把 str1 字符串剔除。 replace(source,str1) ,把 source 中的 str1 字符串剔除。 regexp_replace(source,pattern_str,rep_str原创 2021-03-04 09:50:05 · 3422 阅读 · 1 评论 -
谷歌浏览器安装 elasticsearch-head 插件
谷歌浏览器安装Elasticsearch-head 插件下载该插件,地址:https://github.com/liufengji/es-head/blob/master/elasticsearch-head.crx 下载后的文件名是:elasticsearch-head.crx 打开谷歌浏览器,找到扩展程序,然后打开开发者模式,拖拽上一步的插件进来进行安装。 若提示:程序包无效:“CRX_HEDER_INVALID”,则按下面的步骤进行操作将文件elasticsearch-head.crx直接原创 2021-02-08 16:14:29 · 5602 阅读 · 0 评论 -
springcloud中fegin第一次跨模块调用超时
问题springcloud架构的项目中,偶尔出现fegin第一次调用超时的问题,该怎么处理?现象项目是个后端接口服务,接口调用链路会涉及到多个模块间fegin的调用。现象是:有时候重启部署后或者经过很长一段空闲时间,第一次调用网关接口不成功,第二次调用的时候就好了,建立连接之后调用都正常,并且是偶发性的,不好重现。解决通过分析日志文件,多方排查,确认是fegin第一次调用超时,从源码点进去查找,发现fegin的默认超时时间是2s,这对于第一次调用来说,初始化连接的时间不够,导致超时。尤其原创 2020-12-04 10:58:59 · 1532 阅读 · 2 评论 -
CentOS7 安装 MySQL8
一、msql安装1、下载mysqlwget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm2、安装rpm包rpm -ivh mysql-community-release-el7-5.noarch.rpm3、安装mysql-serveryum install mysql-server4、重启mysqlservice mysqld restart 这时会提示:Redirecting原创 2020-11-24 12:08:41 · 175 阅读 · 0 评论 -
CentOS JDK环境安装配置
centos7.5,JDK1.8,1、修改配置文件,vim /etc/profileexport JAVA_HOME=/usr/local/Java/jdk1.8.0_261export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH2、使环境变量生效(重要)source /etc/profile原创 2020-11-20 18:58:23 · 157 阅读 · 0 评论 -
HiveSQL和普通SQL的区别
HiveSQL和普通SQL的区别总结如下,HiveSQL对分号识别不是很智能,只要出现分号就认为是语句结尾。 HiveSQL不支持等值连接,即不支持where a.id = b.id的连接方式,HiveSQL使用join连接。 HiveSQL中没有not null,当字段为null时,使用Empty空值代替。即长度为0, 那么对它进行IS NULL的判断结果是False。 HiveSQL不支持将数据插入现有的表或分区,仅支持覆盖重写整张表。即不支持insert into,而需要使用insert原创 2020-11-19 09:30:48 · 4712 阅读 · 0 评论 -
Oracle 查找被锁的表并解锁
1、查看被锁的表select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;2、查看那个用户那个进程照成死锁select b.username, b.sid, b.serial#, b.lo...原创 2020-04-28 10:35:49 · 1122 阅读 · 0 评论 -
查询数据库中某个表的列名并输出为一行,MySql 和 Oracle
一、mysql1、查询某个库中某个表的所以列名。SELECT COLUMN_NAME as cols FROM information_schema.COLUMNSWHERE TABLE_SCHEMA = 'mydb' AND TABLE_NAME = 'employee'2、查询某个库中某个表的所以列名,并以逗号分隔输出为一行。select group_conc...原创 2020-04-15 10:46:12 · 1344 阅读 · 1 评论 -
Oracle 查询当前用户下的所有表
项目中在用 Kettle 做数据表同步的时候,需要查询当前用户下的所有相关的表。select db.table_namefrom all_tables dbwhere db.owner='DB_PRO' and db.table_name like 'TEMP_%'order by db.table_name查询当前用户下所有表,可以先用select * 来查看下所有字...原创 2020-01-07 13:54:09 · 1154 阅读 · 0 评论 -
Oracle常用函数之多行数据合并成一行
今天在做一个跑批任务中,需要在oracle函数里把多行数据合并成一行,顺道发挥下常用的几种方法。一、wm_concatwm_concat函数是是oracle中常用的函数,功能:行转列,可以将查询出的多行某列值使用逗号进行隔开拼接,成为一条数据。示例,现在有一张风险表,每个风险项(risk_id)对应有多条规则(risk_rule),现在我要按照风险项把对应的规则都查询出来。s...原创 2020-01-03 16:18:23 · 14897 阅读 · 0 评论 -
SQL 中的 (+)用法
今天在代码review的时候,发现sql中很多 (+)的写法,看得头晕,记录下。对于sql逻辑比较复杂的场景不推荐是有 (+),容易自己晕掉。Oracle sql 中 (+)号可以理解为补充的意思,即哪个表有加号,这个表就是匹配表。加在右表的列上代表右表为补充,为左外连接。加在左表的列上代表左表为补充,为右外连接。注:完全外连接不支持(+)写法;在MySQL中不能作为左右连接标识。举例...原创 2019-12-26 09:38:22 · 7367 阅读 · 0 评论 -
搞定Windows下的Hadoop环境安装
Hadoop集群肯定还是要在linux下使用好些,但是对于想尝鲜的开发者或者上层应用开发来说,在windows下搭建一个单节点的应用也是蛮有必要的,当然只作为开发测试环境。一、环境准备JDK安装 Hadoop安装包(官网下载) hadooponwindows-master(可使配置更简洁)二、安装配置1、以管理员身份解压Hadoop安装包,2、配置Hado...原创 2019-11-21 12:49:02 · 351 阅读 · 0 评论 -
简单聊聊Redis的两种持久化方式
Redis是我们常用的key-value数据库,其中可持久化的特性也是被各路开发者喜爱。接下来,我们来简单聊聊Redis的两种持久化机制RDB和AOF。一、RDB1、RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。RDB是Redis默认的持久化方式,会在对应的目录下生产...原创 2019-11-22 11:26:18 · 294 阅读 · 0 评论 -
Linux 下的定时任务管理 Crontab
一、Crontab在linux服务器端,有时候我们往往有定时任务的需求,系统内置的cron进程能满足我们的需求,cron搭配shell脚本功能非常强大哦。crontab命令是cron table的简写,是cron的配置文件,又叫作业列表。crontab [-u username] //省略用户表表示操作当前用户的crontab -e (编辑工作表) -l ...原创 2019-12-27 14:55:21 · 422 阅读 · 0 评论 -
linux之赋予当前用户Root权限
在开发过程中,为了安全起见,我们尽量不用root权限去登录服务器,但是有时候在安装一些软件时候又必须有root权限才能执行,这个就比较烦。这时,我们就可以对非root的当前用户针对某个文件夹赋予root权限,su rootchown -R zszq /myzszq 是指当前登录的用户,/my 是需要授权的文件夹。这样就可以了。...原创 2019-12-18 14:05:08 · 1632 阅读 · 0 评论 -
Linux下sh文件执行权限不够,该怎么做
今天在部署公司大数据上层服务的时候,发现自己的微服务脚本是白色的,汗,没法执行。原来是没有 .sh 的执行权限,用 chmod 授权下就可以了。chmod是 Linux 中权限管理命令change the permissions mode of a file的缩写。一、为所有 .sh 脚本添加执行权限chmod u+x *.sh,表示对当前目录下的file.sh文件...原创 2019-11-22 11:18:08 · 51284 阅读 · 1 评论 -
程序员需要懂的一些Linux基本命令
Linux操作在开发和部署过程中,使必须掌握的一项技能,熟知一些基本的操作命令对我们大有裨益。1、命令:cd切换当前目录至目标目录destdir。(1)要进入的目录:cd /destdir(2)回用户主目录:cd ~(3)回根目录:cd /(4)返回上一级目录:cd ..2、命令:lsls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出...原创 2019-11-21 10:49:09 · 249 阅读 · 0 评论 -
Redis的持久化机制,你了解吗
Redis是我们常用的key-value数据库,其中可持久化的特性也是被各路开发者喜爱。接下来,我们来简单聊聊Redis的两种持久化机制RDB和AOF。一、RDB1、RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。RDB是Redis默认的持久化方式,会在对应的...原创 2019-04-28 17:41:38 · 286 阅读 · 0 评论 -
请自觉收藏,Linux常用基本命令
1、命令:cd切换当前目录至目标目录destdir。(1)要进入的目录:cd /destdir(2)回用户主目录:cd ~(3)回根目录:cd /(4)返回上一级目录:cd ..2、命令:lsls -a 列出目录所有文件,包含以.开始的隐藏文件ls -A 列出除.及..的其它文件ls -r 反序排列ls -t 以文件修改时间排序ls -S 以文件大小...原创 2019-04-28 17:34:12 · 1204 阅读 · 0 评论 -
java char类型可以存储一个汉字
java采用unicode,2个字节(16位)来表示一个字符, 无论是汉字还是数字字母,或其他语言。char 在java中是2个字节,所以可以存储中文。Java八种基本数据类型1)四种整数类型(byte、short、int、long): byte:8 位,用于表示最小数据单位,如文件中数据,-128~127 short:16 位,很少用,-32768 ~ 3276...转载 2018-08-21 08:23:53 · 4467 阅读 · 1 评论 -
性能指标:QPS、TPS、系统吞吐量理解
一、QPS,每秒查询QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。二、TPS,每秒事务TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是...原创 2019-11-24 16:20:55 · 18927 阅读 · 0 评论 -
搞清 适配器模式、代理模式和装饰者模式的不同
适配器模式、代理模式和装饰者模式是设计模式中的高频设计模式,三者非常相似,需要重点区分下。适配器模式一般使用的情况包括:系统需要使用现有的类,但此类已经不符合系统的需要。想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的的类一起工作。适配器模式在系统升级的时候使用的频率很高,对旧系统的一些功能方法在新系统中引用。代理模式:在直接访问对象时带来的问...原创 2019-11-24 16:51:09 · 473 阅读 · 0 评论 -
完整的项目管理流程,看清PMP42个过程的执行顺序
项目管理有五大过程组,十大知识领域,42个过程。其中42个过程记忆起来比较抽象,下面我们通过一个完整的项目管理,来分解下各个过程组的过程执行顺序,能帮助大家理解,有助于记忆的加深。一、启动过程组1、制定项目章程制定项目章程是制定一份正式批准项目或阶段的文件,并记录能反映干系人的需要和期望的初步要求的过程。在多阶段项目中,这一过程可用来确认或优化在以前的制定项目章程过程中所做的相关决策...原创 2019-11-23 19:52:13 · 5777 阅读 · 1 评论 -
程序员需要掌握的一些网络协议汇总
今天我们来看下各层的网络协议,虽然开发过程中写代码不会直接涉及,但是理解好网络协议对编程和理解系统的整个运行过程是非常有帮助的哦。一、应用层协议1、HTTPHTTP(HyperText Transfer Protocol,超文本传输协议)用于从万维网(WWW)服务器传输超文本到本地浏览器,是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)的协...原创 2019-11-21 10:50:40 · 852 阅读 · 0 评论 -
揭底JVM,怎么能不了解G1垃圾收集器
G1垃圾收集器并非横空出世,早在JDK1.7的时候就已经存在了。随着后续的优化,终于在JDK1.9的时候被Oracle付以重任,替换CMS成为默认的垃圾收集器。G1相较于CMS的显著特点是,减少了空间碎片。CMS的空间碎片很严重,Mark-Sweep之后的空间,有很多小碎片,但是都比要分配的小,然后触发一次Full GC,让人崩溃。一、啥是G1垃圾收集器Garbage-Fir...原创 2019-11-20 10:27:00 · 338 阅读 · 0 评论 -
JVM面试要点:G1 垃圾收集器和如何做到可预测的停顿
CMS垃圾回收机制 参考:图解 CMS 垃圾回收机制原理,-阿里面试题CMS与G1的区别 参考:CMS收集器和G1收集器优缺点写这篇文章是基于阿里面试官的一个问题:众所周期,G1跟其他的垃圾回收算法差别很大,你了解G1的垃圾回收架构吗?为什么G1可以做到回收时间用户可以设定?G1垃圾回收器其实是JDK7的特性,在目前JDK10都已经发布的情况下,已经不是什么新特性了,而我到它现在才关注...转载 2019-11-20 06:42:27 · 2922 阅读 · 0 评论 -
HTTP 与 HTTPS 的区别
基本概念HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。HTTP 默认工作在 TCP 协议 80 端口,用户访问网站http://打头的都是标准 HTTP 服务。HTTP 协议以明文方式发送...转载 2019-11-24 21:40:50 · 171 阅读 · 0 评论 -
深入理解Apache Flink核心技术
Apache Flink(下简称Flink)项目是大数据处理领域最近冉冉升起的一颗新星,其不同于其他大数据项目的诸多特性吸引了越来越多人的关注。本文将深入分析Flink的一些关键技术与特性,希望能够帮助读者对Flink有更加深入的了解,对其他大数据系统开发者也能有所裨益。本文假设读者已对MapReduce、Spark及Storm等大数据处理框架有所了解,同时熟悉流处理与批处理的基本概念。Fli...转载 2019-11-23 19:16:23 · 177 阅读 · 0 评论 -
搞定Java面试中的数据结构问题
Java面试过程中,经常会被问到数据结构和算法相关的知识。对于工作多年的程序员来说,这些理论的知识可能已经忘得差不多了吧,所以面试前还是有必要临时抱抱佛脚的。其实面试官的要求也很简单,只要大体懂得其原理即可,并不太会深究,尤其对社招。校招在此不做讨论,毕竟刚出校园,理论知识正值巅峰,哈哈。一、线性表(重点)线性表是由N个元素组成的有序序列,也是最常见的一种数据结构。...原创 2019-11-22 21:47:00 · 315 阅读 · 0 评论