poprabbit

学习如何把牛逼落地


  • 首页

  • 标签

  • 归档

mysql

发表于 2020-05-08 | 更新于: 2021-11-17
SQL优化分析SQL执行效率(上)如何定位慢 SQL: 一种方法是查看慢查询日志 一般分为四步:开启慢查询日志、设置慢查询阀值、确定慢查询日志路径、确定慢查询日志的文件名。mysql> set global slow_query_log = on;mysql> set global long_query_time = 1;mysql> show global variables like “datadir”;mysql> show global variables like “slow_query_log_file”; 另一种方法是 show process 查看正在执行的 SQL 通过 explain 分析慢 SQL,explain 会返回很多字段,其中 select_type、type、key、rows、Extra 是重点关注项。 select_type 查询类型:显示本行是简单还是复杂查询type 本次查询的表连接类型key 实际选择的索引rows 预计需要扫描的行数,对 InnoDB 来说,这个值是估值,并不一定准确Extra 附加信息 分析SQL执行效率(下) explain:获取 MySQL 中 SQL 语句的执行计划,比如语句是否使用了关联查询、是否使用了索引、扫描行数等; ...
阅读全文 »

datastructure

发表于 2020-06-12 | 更新于: 2021-11-17
常规数据结构本文总结自 数据结构与算法-js实现数据结构:用来组织数据的结构,方法无非是查找、增加、移除; 常见结构 array:长度固定,使用 index 进行操作方法:push();pop()-移除索引值最大的元素; LinkedList:增加删除很方便,连接查找不方便在计算机科学中, 一个 链表 是数据元素的线性集合。在最简单的形式下,每个节点由数据和到序列中下一个节点的引用(换句话说,链接)组成。方法:prepend(value);append(value);delete(value);find;reverse; doubly linkedlist:双向链表:每个节点包含两个字段,称为链接,它们是对节点序列中上一个节点和下一个节点的引用。 方法:与链表结构一样 queue:队列基本操作有两种:向队列的后端位置添加实体,称为入队;从队列的前端位置移除实体,称为出队。FIFO方法:入队enqueue(value);出队dequeue();peek()访问结构中的当前元素(不删除) stack:栈基本操作有两种:push, 添加元素到栈的顶端;pop, 移除栈最顶端的元素。LIFO方法:push(value);pop();peek() HashTable:依赖LinkedList,哈希表(hashtable 或hashmap) 是一种实现 关联数组(associative ...
阅读全文 »

use springboot

发表于 2020-05-20 | 更新于: 2021-11-05
开源实践initializrio.spring.initializr:initializr-web:0.9.2 自动装配 spring.factories 中 org.springframework.boot.autoconfigure.EnableAutoConfiguration=io.spring.initializr.web.autoconfigure.InitializrAutoConfiguration InitializrAutoConfiguration 中带有注解 @Configuration 等 @Import 与 ImportSelector 结合 1234567(AnnotationConfigApplicationContext)context.register(CoreConfiguration.class);@Configuration@Import(ProjectGenerationImportSelector.class)static class CoreConfiguration {}ProjectGenerationImportSelector 到 ProjectGenerationConfiguration.classspring.factories 中@ProjectGenerationConfiguratio ...
阅读全文 »

ShenYu网关

发表于 2021-11-03 | 更新于: 2021-11-03
版本:org.apache.shenyu:shenyu:2.4.0 请求转发请求在插件里面的链式调用,转发到下游应用; 服务接入客户端服务的接入(注册中心选择,数据同步的选择); 服务的注册http注册,zk注册,会不会变动?新增删除下线;http注册ContextRegisterListener 容器刷新时更新?HttpClientRegisterRepository 具体的注册动作ShenyuClientRegisterEventPublisher 连接刷新到 disruptor 的过程zk注册ZookeeperClientRegisterRepository shenyu-examples-httpControllerWebSocket /echoRouterFunction webfluxPaymentTypeService ?? 结论:即 shenyu网关 不能动态感知代理的服务,服务下线,熔断时不能正常处理。 数据同步admin数据同步gateway ;如下图所示,shenyu-admin 在用户发生配置变更之后,会通过 EventPublisher 发出配置变更通知,由 EventDispatcher 处理该变更通知,然后根据配置的同步策略(http、weboscke ...
阅读全文 »

used spring

发表于 2020-05-09 | 更新于: 2021-11-03
spring日常问题 sofa中 context:property-placeholder 不生效,spring 版本为 5.1.14 BeanDefinition扫描器总结Spring bean注册笔记 BeanPostProcessor 总结内部的BeanPostProcessor接口总结内部的BeanPostProcessor实现总结 接触到的扩展点 BeanFactoryPostProcessor 可以在 bean 正式初始化之前改变其值,该对象会被提前初始化;什么场景下?注意事项? BeanPostProcessor bean 的生命周期中,可用于所有的 bean;如 @PostConstruct 注解。 FactoryBean 创建bean时(MethodLocatingFactoryBean);什么场景下?注意事项? iocioc概述 IOC 总体来说有两处地方最重要,一个是创建 Bean 容器,一个是初始化 Bean ApplicationContext 继承自 BeanFactory,但是它不应该被理解为 BeanFactory 的实现类,而是说其内部持有一个实例化的 DefaultListableBeanFactory。以后所有的 BeanFactory 相关的操作其实是委托给这个实例来处理的。 BeanDefinition ...
阅读全文 »

系统设计

发表于 2020-05-19 | 更新于: 2021-10-19
系统设计实践短链接服务系统开发短链接 系统分库分表改造的注意事项分表改造注意事项 分表位确定规则往报-自己的请求:截取 ipid ;来报-别人的请求:流水号的hashcode对100取余; 系统设计基础知识系统安全对外输出的 web程序 必须要做的安全检测:referer, cors, redirect, fileupload等,可以依赖一些开源的安全包,做个性化配置。 应用模块化的最佳实践1234567891011121314<modules> <module>app/core/service</module> <module>app/core/model</module> <module>app/biz/shared</module> <module>app/biz/service-impl</module> <module>app/common/util</module> <module>app/common/service/facade</module> <module>app/common/service/integration</module> <module>ap ...
阅读全文 »

dev_base

发表于 2020-05-18 | 更新于: 2021-10-18
Java 开发p3c 开发手册&idea plugin Java 语法方法重写以下示例不能称为 方法重写,虽然满足里氏替换,但是不符合子类的思想。 123456789101112class SuperClass { protected List<Integer> func(Animal animal) throws Throwable { return new ArrayList<>(); }}class SubClass extends SuperClass { @Override public ArrayList<Integer> func(Object animal) throws Exception { return new ArrayList<>(); }} 泛型TlensuProjectGenerationController extends DefaultProjectGenerationControllerDefaultProjectGenerationController extends ProjectGenerationController这样写在 idea 中不报 ...
阅读全文 »

front_end

发表于 2021-09-05 | 更新于: 2021-09-05
两种前端部署方案 前端开发完,将内容压缩后复制到后端静态资源中,这样后端需要感知前端的路由地址(浏览器刷新需要后端处理) 前端开发完,单独部署处理浏览器请求,后端不感知任何前端内容(后端仅返回json数据) 前端请求地址的设计为方便以后的扩展 不同应用的地址用统一的开头做区分 静态资源的请求:/.html, /.js, /*.css 路由地址的请求:驼峰(/serviceCenter/serviceDashboard) 数据的请求:/*.json … 浏览器同源政策浏览器同源政策及其规避方法浏览器安全的基石是”同源政策”;所谓”同源”指的是”三个相同”:协议相同、域名相同、端口相同。 限制范围,共有三种行为受到限制。 Cookie、LocalStorage 和 IndexDB 无法读取。 DOM 无法获得。 AJAX 请求不能发送。 跨域资源共享 CORS 详解跨域资源共享 CORS 详解前端CORS浏览器自动完成;只要服务器实现了CORS接口,就可以跨源通信。
阅读全文 »

Hello Hexo

发表于 2019-04-20 | 更新于: 2021-08-25
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. 眼界站点筑视:建筑赏析 Quick Starthexo 中文文档More info: 中文文档 NexT hexo-themesMore info: 中文文档 Create a new post1$ hexo new "My New Post" Run server1$ hexo server Generate static files1$ hexo generate Deploy to remote sites1$ hexo deploy rebuild1$ hexo clean
阅读全文 »

test

发表于 2021-06-17 | 更新于: 2021-06-17
单元测试(Unite Test/UT) UT应由开发人员写,给开发人员使用。 UT测试的应该是小段代码,目的是开发人员确定源代码做了希望它做的事。 一个UT case只能针对一个类。不应该在一个UT case中测试一个以上的类。 常用工具:JUnit/TestNG。(方法上加@Test注解即可)几乎所有常用的 IDE,都能够集成 JUnit,这意味着开发者直接可以在这些 IDE 中编写并运行单元测试。Mockito简单实用 集成测试(Integration Test/IT) IT通常会在指定的环境运行集成测试。 集成测试的目的旨在测试各个组件间是否能互相配合,正常工作。 集成测试往往会涉及外部组件,如数据库,硬件,网络等等。 常用工具:ACTS(蚂蚁金服研发的集成测试框架)/TestNG。(需要启动spring容器) 白盒黑盒测试黑盒:通过指定的输入得到希望的输出。通常情况下,UT是白盒测试,而其他的测试则大部分是黑盒测试。白盒测试下的覆盖率才可靠。 Mock使用场景 对DAO层(访问mysql、oracle、tair、tfs等底层存储)的调用mock等。 对系统间异步交互notify消息的mock。 对method_A里面调用到的method_B 的mock 。 对一些应用里面自己的class(abstract, final, static),interface,anno ...
阅读全文 »
1234
popular rabbit

popular rabbit

java

35 日志
13 标签
0%
© 2021 popular rabbit
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4