笔记
程序员·小李
不知道要干什么的时候,停一停,想一想;知道想要什么的时候,努努力,拼一拼。
展开
-
Jquery常用代码段儿
【代码】Jquery常用代码段儿。原创 2022-10-23 23:59:02 · 265 阅读 · 0 评论 -
初识Docker
注册中心就是我们存储镜像的地方,有公共的也有私有的,类似于maven仓库。我们可以docker pull拉取镜像,可以先下载再运行docker run。有了模板,生产出来的玩具就是容器,也就是镜像的实例。Docker是CS架构,在客户端上可以通过API下发指令到服务端,完成镜像构建、容器运行等操作,是开发人员直接面对的一个工具。镜像就是模板,就是生产玩具的模子,它规定了一个玩具的外型,还包括填充物。是一个Linux服务,接受指令完成容器的创建、运行、监控,构建并存储镜像。可以查看当前服务端的信息。原创 2022-10-16 16:58:46 · 383 阅读 · 0 评论 -
数据结构复杂度统计
几种排序算法的复杂度统计。数据结构操作复杂度统计。原创 2022-10-07 14:54:37 · 133 阅读 · 0 评论 -
Python数据分析——numpy/pandas
left就是以左侧DataFrame为基准,right以右侧DataFrame为基准,inner是两侧DataFrame的交集,outer是两侧数据的并集。这里使用Series的构造函数又创建了一个Series,并指定了name,最后通过concat方法拼接成了一个DataFrame,通过axis指定了拼接方向为横向。我们经常使用的是DataFrame数据结构,也就是矩阵,实际上,矩阵是由Series组成的,单个列向量就是Series。我们也可以在创建Series的时候,指定索引,而不是默认从0开始。原创 2022-09-27 08:34:56 · 1169 阅读 · 0 评论 -
Python数据分析——基础数据结构
取到的元素个数为b-a个,但取到的最后一个索引是b-1而不是b。通过count方法可以统计指定元素的个数,例如上述语句意在获取"one"在myList中出现了几次。可以通过append方法追加新的元素到list的末尾,元素的顺序与添加的顺序一致。append可以在末尾追加新的元素,使用popleft可以弹出最左侧的元素。元素是从0开始排序的,我们可以通过索引的方式获取指定位置上的元素。可以通过直接赋值的方式创建List,也可以创建一个空的List。省略前面的范围指的是从第一个元素开始取,一直取到b-1。原创 2022-09-24 23:19:45 · 3331 阅读 · 0 评论 -
Python数据分析——数据基础
非结构化数据没有任何规范和格式可言,尤其是图像、声音、视频等信息,一般通过解析帧数据,频谱计算、RGB化等方式提取有效信息。例如这就是一条结构化的数据,按照Company、Date、Stock这样的数据格式进行存储,数据类型是确定的,数据的格式也是确定的。半结构化数据介于两者之间,遵从一定的数据规范和格式要求,但不像结构化数据那么完全统一,也不像非结构化数据那样完全没有规律可言。结构化数据遵从一定的数据规范和格式,一般存储在结构化的文件中,或者结构化数据库中。其中的时序,可以是次序,1,2,3。原创 2022-09-24 12:49:42 · 2451 阅读 · 0 评论 -
【mybatis】Example类的使用
1. startIndex和pageSize参数是基础类型,默认值为0。2. 在底层使用分页参数时,注意limit 0, 0是非法的。3. 在mapper文件中,注意判断参数的有效性。原创 2022-09-16 10:17:30 · 1441 阅读 · 0 评论 -
Optional判空妙用
场景4, result!= null 但是 get(0) == null。场景5,result!场景3, result!= 0, 但是resultList == null。场景2,result!= null 但是 code!场景1, result = null。那么判空就赶紧用起来吧!原创 2022-09-07 19:58:09 · 725 阅读 · 0 评论 -
复杂度计算的几个原则
1. If an algorithm performs a certain sequence of steps f(N) timesfor a mathematical function f, it takes O(f(N)) steps.如果某个算法执行了特定的f(N)次,相等于执行了O(f(N)) 个步骤2. If an algorithm performs an operation that takes O(f(N)) stepsand then performs a second.原创 2022-04-02 20:14:48 · 476 阅读 · 0 评论 -
卡耐基的人际关系
基本技巧Don't criticize, condemn or complain.不要批评、谴责和抱怨。Give honest and sincere appreciation.给予由衷的赞美。Arouse in the other person an eager want.激发他人的欲望。获得他人好感方法Become genuinely interested in other people.真诚的了解对方。Smile.多笑。Re..原创 2022-03-19 22:47:30 · 574 阅读 · 0 评论 -
BigDecimal疑问解答
构造方式new BigDecimal(int)new BigDecimal(long)new BigDecimal(String.valueOf(double)) // 此处防止精度丢失new BigDecimal(String)精度丢失问题BigDecimal a =new BigDecimal(0.1);System.out.println("a values is:" + a);BigDecimal b =new BigDecimal("0.1"..原创 2022-03-02 22:26:21 · 472 阅读 · 0 评论 -
application中的配置问题
使用application.properties文件进行的配置,可以使用@Value注解进行注入。例如:test.testName=123注入:@Value("${test.testName}")private int val;那么,这时候有个疑问,key可以不可以用下划线?可不可以用驼峰?答案是可以的。例如:test.testName=123test.test_name=456可以混用吗?例如配置是test.testName,我可以用te..原创 2022-01-21 18:35:20 · 411 阅读 · 0 评论 -
SpringMVC请求参数的解析问题
GET请求对于GET请求,param参数是拼接到url的后面的,是可以通过如下方式解析的, 此处的@RequestParam是可选的,可加可不加。public Stringtest(@RequestParam String userName){}也可以封装一个对象接收参数public Stringtest(Personperson){}url里的/参数,是可以通过@PathVariable解析的GET请求不支持使用form传递数据,也不支持reque...原创 2022-01-11 17:14:06 · 356 阅读 · 2 评论 -
curl小知识
1. 默认不指定参数是GET请求curl http://localhost:8080/hello等价于curl -X GET http://localhost:8080/hello2. 想要查看请求的一些详细数据,使用-vcurl -v http://localhost:8080/hello会展示请求头等详细信息。...原创 2022-01-09 11:02:55 · 687 阅读 · 0 评论 -
Rest EndPoint需要考虑的几点问题
1. 接口过于繁杂,处理时间太久容易导致调用方超时。2. 一次发送的数据过大,也容易导致超时。最好不要超过1M3. 并发请求数过大,也容易导致接口处理失败。4. 网络不是100%可靠的,虽然TCP是一种可靠的传输协议,避免不了”网络抖动“问题。5. 无论作为请求方还是服务端,你都需要考虑到处理失败会引发什么问题,会导致什么后果。是否需要展示错误页?数据是否会出现不一致的问题?...原创 2022-01-09 10:47:43 · 1225 阅读 · 0 评论 -
Vi常用指令
1. 打开文件(不存在则新建文件)vi [filename]2. 重新加载源文件:e!3. 退出编辑器而不保存:q!4. 进入编辑模式i5. 进入命令模式ESC原创 2021-12-04 18:34:49 · 476 阅读 · 0 评论 -
数据查询优化
在频繁使用的where和order by条件上加索引避免null判断,a is null会导致扫表,建表时保证not null避免使用!=条件,会导致扫表避免使用in和not in,会导致扫表避免使用or查询,会导致扫表模糊查询’%abc%‘也会扫表避免对查询条件进行计算,会扫表,例如select id from t where num/2=100在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才...原创 2021-11-12 22:49:01 · 690 阅读 · 0 评论 -
Exception与RuntimeException
Exception为检查型异常,RuntimeException和Error为非检查异常。检查型异常需要显式地try...catsh方法处理,或者在方法中声明异常类型。非检查类型,则无需声明。何为检查和非检查异常?检查异常是可预见的异常类型,代码中可预见的问题,需要异常捕获,也就是try...catch方法处理非检查异常是非预见的,例如数组越阈,空指针等等。RuntimeException异常示例1、NullPointerException:空指针2、NumberFormat原创 2021-11-12 22:23:41 · 532 阅读 · 0 评论 -
Java内存分页辅助类
import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;/** * page data helper, unsafe in multi-thread environment */public class PageData<T> { // data private List<T> data; // page info pri.原创 2021-11-12 21:29:17 · 463 阅读 · 0 评论 -
Shell基本指令(1)
当前日期:date当前登录的所有用户:who当前用户信息:who am i输出到终端:echo something you want to show罗列当前目录的文件:ls罗列当前文件为一列:ls -1打开文件cat filename# 标识行号cat -n filename计算行数、单词数、字符数wc filename# following is output, 5...原创 2021-11-10 19:38:34 · 295 阅读 · 0 评论 -
Linux环境释放内存
查看内存占用free -g同步数据sync清理内存echo 1 > /proc/sys/vm/drop_caches重新分配内存echo 0 > /proc/sys/vm/drop_caches原创 2021-11-09 19:45:34 · 720 阅读 · 0 评论 -
SpringMVC获取客户端ip
private String getIpAddress() { final String UNKNOWN = "unknown"; try { RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes(); HttpServletRequest request = (HttpServletRequest) reque...原创 2021-10-27 11:19:59 · 1927 阅读 · 0 评论 -
架构选型留存【转载保存】
技术选型网关:Nginx、Kong、Zuul 缓存:Redis、MemCached、OsCache、EhCache 搜索:ElasticSearch、Solr 熔断:Hystrix、resilience4j负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy 注册中心:Eureka、Zookeeper、Redis、Etcd、Consul 认证鉴权:JWT 消费队列:RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka系统监控:Graf转载 2021-10-24 09:34:17 · 107 阅读 · 0 评论 -
word删除表格后的空白页
段落-段间距-固定值-1 磅原创 2021-10-22 11:32:16 · 127 阅读 · 0 评论 -
分库分表数据库脚本
public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); Calendar begin = Calendar.getInstance(); begin.set(2021, Calendar.JANUARY, 1, 0, 0, 0); Date beginDate = begin.getTime();.原创 2021-10-15 11:30:46 · 241 阅读 · 0 评论 -
几个概念:缓存雪崩、缓存击穿、双写一致性
缓存雪崩:缓存不再生效,直接走数据库查询。1. 当Redis集群,或者单Redis节点组成的缓存组件宕机时,缓存不再生效,全部操作会直接走数据库,会造成缓存雪崩。2. 当缓存同时失效(指的是缓存的有效时间设置的相同),所有请求同时需要查询数据库后更新缓存,也会造成缓存雪崩。应对策略:1. 保证Redis集群的高可用性;双缓存机制(Redis+本地缓存);Redis数据持久化及快恢复。2. 针对不同的缓存设置不同的缓存有效时间(例如:在最低缓存有效期的基础上,加一个随机数),避免同时过期原创 2021-09-20 10:39:35 · 255 阅读 · 0 评论 -
杀死指定进程脚本
kill $(ps aux | grep processName | grep -v "grep" | tr -s ' '| cut -d ' ' -f 2)原创 2021-07-22 15:05:17 · 245 阅读 · 3 评论 -
JDBC的批操作
批操作可以一次性提交多条语句,减少io次数,提高效率。Statement:statement.addBatch("INSERT INTO post (title, version, id) " + "VALUES ('Post no. 1', 0, default)");statement.addBatch("INSERT INTO post_comment (post_id, review, version, id) " + "VALUES (1, 'Post comment 1..原创 2021-06-19 21:26:15 · 350 阅读 · 0 评论 -
队列容量与QPS理论
队列的使用是为了解决“削峰填谷”,一般是给队列下游减轻压力,将生产速度较快的地方进行减速,以便于适应下游的处理速度。原则:原创 2021-06-19 20:34:22 · 663 阅读 · 0 评论 -
响应时间与吞吐量
响应时间:从请求进入服务器到离开服务器所需的时间。吞吐量:单位时间内处理的请求数。zai'mou'zhong'cheng'd原创 2021-06-14 22:23:15 · 1232 阅读 · 0 评论 -
整洁代码的原则
1. 能多简单就多简单有更简单的处理方式就采用更简单的处理方式,拒绝繁杂。2. 拒绝冗余代码重复代码是不被允许的,当出现重复代码的时候,需要考虑拆分合并了。3. 拒绝无效代码举个简单的例子,查询数据库的数据,发现下面没有引用。这属于无效代码,目前编译器会有相关的检测和提示。4. 多用组合,少用继承降低代码之间的耦合程度是整洁代码的另外一个原则,低耦合是代码设计的终极目标。组合关系让代码维护起来相对简单一些,避免了继承关系带来的代码修改难度的问题。5. ...原创 2021-05-22 17:03:24 · 231 阅读 · 0 评论 -
整洁代码的定义
1. 优雅命名、错误处理、竞争条件和内存泄漏等等看似微不足道的细节都需要仔细考虑,并以干净的代码优雅地执行。杂乱的代码容易让别人适应杂乱,以至于越来越乱。一直很整洁的代码,一旦出现了非整洁的代码,很容易发现,因为它们看起来很起眼。2. 易读不仅仅是每行代码的理解,命名规则等等,代码块之间的拼装组合也显得尤其重要。当你的代码需要大量的推测才能知道想要达到什么目的,实现什么功能,那么已经违背了易读性原则。3. 简单简单的原则指的是,在大型复杂功能实现的时候,避免功能模块过..原创 2021-05-22 16:28:03 · 260 阅读 · 0 评论 -
一起学Bash脚本:文件操作
复制文件# 多文件复制cp file1 file2... dest# 单文件复制cp file dest# 目录复制cp -r dir dest# 保留所有信息cp -a file dest# 只复制更新或不存在的cp -u file dest目录创建# 单目录mkdir dir# 多目录mkdir dir1 dir2 dir3移动# 单文件移动mv file1 file2# 多文件mv file1 file2 ...原创 2021-05-08 18:48:01 · 371 阅读 · 0 评论 -
一起学Bash脚本:字符串
字符串定义[~]$ str="This is a test text."获取字符串的长度[~]$ echo ${#str}20转大写[~]$ echo ${str^^}THIS IS A TEST TEXT.转小写[~]$ echo ${str,,}this is a test text.字符串截取[~]$ echo ${str:5}is a test text.[~]$ echo ${str:5:2}is[~]$ echo ${s..原创 2021-05-08 17:29:46 · 263 阅读 · 0 评论 -
一起学Bash脚本:输入
使用read直接读取输入[~]$ echo "input something";read input;echo "your input: $input"input somethingtestyour input: test多输入[~]$ echo "input something"; read input1 input2; echo "your input: $input1";input somethinga byour input: a读取文件,每次读一行...原创 2021-05-08 11:46:14 · 770 阅读 · 0 评论 -
一起学Bash脚本:基本输出&&多指令关联
echo 输出文字[~]$ echo hello world; echo bash;hello worldbash不换行输出-n[~]$ echo -n xxx; echo yyy;xxxyyy解释转义符-e[~]$ echo "hello\nworld"hello\nworld[~]$ echo -e "hello\nworld"helloworld多个命令的关联Command1 && Command2# 1号指令执行成功才会..原创 2021-05-08 10:36:02 · 254 阅读 · 0 评论 -
一起学Bash脚本:循环
while循环while [condition]; do# command...# condition controldone使用示例[~]$ test=10[~]$ while [ "$test" -gt 1 ];do> echo "now is $test"> test=$((test-1))> donenow is 10now is 9now is 8now is 7now is 6now is 5now is 4now is原创 2021-05-07 16:14:39 · 1221 阅读 · 0 评论 -
一起学Bash脚本:sed处理文本
使用正则表达式对文件的文本读取并处理:sed 's/pattern/replace/g' xxx.txt# 示例一[~]$ sed 's/[a-z]/0/g' test.sh#!/000/00000000 "000000 00000 0 000 00 000000 000 0000000"0000 000000000 [ "$0000000" = "0" ];0000 0000 00000 [ "$0000000" = "1" ];0000 ...原创 2021-05-06 17:46:02 · 232 阅读 · 0 评论 -
一起学Bash脚本:文件传输SCP
本地文件传输到远程scp SourceFile user@host:directory/TargetFile# 示例scp file.txt remote_username@10.10.0.2:/remote/directory本地完整目录传输到远程scp -r localmachine/path_to_the_directory/* username@server_ip:/path_to_remote_directory/# 示例scp -r /home/user/*..原创 2021-05-06 17:38:13 · 416 阅读 · 0 评论 -
一起学Bash脚本:系统相关
查看最近一次启动时间who -b查看当前已登录用户who原创 2021-05-06 17:09:27 · 118 阅读 · 0 评论