nginx
基本概念反向代理对客户端隐藏服务器的真实位置,与正向代理(vpn)相反
负载均衡轮询,加权轮询,iphash
动静分离动态页面与静态页面交给不同的服务器解析
默认的配置文件123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { w ...
React
虚拟DOM
本质是object类型的一般对象
虚拟DOM属性较少(相对于真实DOM),因为虚拟DOM是React的内部使用,无需真实DOM的那么多属性
虚拟DOM最终会被React转换为真实DOM呈现在页面上
1234567891011121314151617181920<!DOCTYPE html><html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.4.2/react-dom.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalo ...
office
excelexcel中取消合并单元格并填充
选中区域,点击取消合并单元格
键盘“f5”,定位条件选择空值
此时所选区域为刚才所选区域中的空值区域,也就是取消合并单元格之后空出来的地方
键盘输入“=”,键入公式,点击空值上方单元格(合并单元格中的值)
“ctrl”+“enter”批量赋值
定位快捷键ctrl+G,方便在选中数据集中选出符合条件的单元格
MATCHmatch函数可以比较某个值在某个数据集中是否存在,如果存在返回其行,不存在则显示“#N/A”,藉由此可以筛选出某个数据集中在指定数据集中不存在的值,配合excel的定位功能中的公式部分(错误),可以删除不存在的整行数据。
12=MATCH(A1,J:J,0)=MATCH(要查找的值,数据集:J,J表示整个J列,0表示完全匹配)
excel中生成SQL语句12345678910=CONCAT("UPDATE amer_model SET description='",C6,"',sender='",D6,"',rec ...
Spring
一些经验构造方法注入Spring 团队提倡使用基于构造方法的注入,因为这样一方面可以将依赖注入到一个不可变的变量中 (注: final 修饰的变量),另一方面也可以保证这些变量的值不会是 null。
ApplicationContextAware接口一个bean实现该接口,spring会自动调用该类中实现的setApplicationContext接口。
参考案例:quartz中的AutowiringSpringBeanJobFactory
123456789101112131415161718/** * 负责生成job实例 */public class AutoWiringSpringBeanJobFactory extends SpringBeanJobFactory implements ApplicationContextAware { private AutowireCapableBeanFactory beanFactory; @Override public void setApplicationContext(final Applicatio ...
响应式架构
问题传统架构
线程池预先创建大量线程,一个请求绑定一个线程
一般一个线程需要1M左右的内存
且线程切换需要耗时
所以,内存开销与时间开销会随着线程量而增大
大量资源开销在线程的管理上
异步调用
发生阻塞后告诉系统,让当前线程先做别的事情,阻塞结束再提醒系统
Callback
回调地狱
响应式编程
发布和订阅
backpressure 背压
控制流速,避免大量数据的接受
协商
订阅者通过自己的能力来通知发布方的通知数量
一些知识函数式接口可有多个重载
使用lambda表达式时可指定参数类型来判断使用哪个方法
常用函数式接口
supplier 0输入,1输出
consumer 1输入, 0输出
function 1输入,1输出
unaryOperator 同类型的1输入1输出
BiFunction 2输入,1输出
流编程注意中间操作是不会执行的, 只是一个声明, 一个流编程必须有一个终止操作才会执行
且在流编程中,终止操作只能有一个, 中间操作0-n个
Project Reactorpublisherflux发布0-n个对象
创建方式
1234567Flux.just(1,2,3,4, ...
Linux
常用快捷键
按键
作用
ctrl+d
键盘输入结束或退出终端
ctrl+s
暂停当前程序
ctrl+z
当前程序放到后台运行,恢复到前台为fg
ctrl+a
将光标移到行头,相当于home
ctrl+e
相当于end
ctrl+k
删除从光标到行末的内容
alt+Backspace
删除一个单词(不是字母)
shift+PgUp
终端向上
shift+PgDn
终端向下
Shell中常用的通配符
字符
含义
*
匹配0或多个字符
?
匹配任意一个字符
[list]
匹配list中任意单一字符
[^list]
匹配list之外的字符
[c1-c2]
匹配c1到c2中任意单一字符如 [0-9]
{s1,s2,……}
匹配其中一个字符串
{c1..c2}
匹配全部字符
Linux的目录结构
/bin
Binary的缩写,存放着最经常使用的命令
/sbin
super bin, 存放系统管理员使用的系统管理程序
/home
存放普通用户的主目录,其中每个linux用户都有自己的 ...