java后端工程师进修ing(研一版‖day50)

目录

今日总结

详细内容

java随征录

项目开发文档

项目的开发流程

分页插件

解决跨域的问题

科研随探录

八股随笔录

代码随想录


今日总结

  • java随征录------ 项目开发文档,项目的开发流程,分页插件,解决跨域的问题
  • 科研随探录------
  • 八股随笔录------Redis面试篇(4/7)
  • 代码随想录------

详细内容

java随征录

项目开发文档

前后端的开发都是根据接口文档进行的,如下图所示。后端人员别写好接口文档后,转交给前端人员,前端人员更具文档开始进行开发

项目的开发流程

  1. 产品人员设计产品原型 (产品经理)

  2. 讨论需求

  3. 分模块设计接口 (后端工程师)

  4. 出接口文档

  5. 将接口文档给到前段人员,前后端分离开发 (前端工程师)

  6. 发开完毕进行测试 (测试工程师)

7.测试完毕发布项目,由运维人员进行部署安装 (运维工程师)

分页插件

首先分页参数放到ThreadLocal中,拦截执行的sql,根据数据库类型添加对应的分页语句重写sql。

Bean用于将分页拦截器注入到Spring中,同时bean要生效,要由Congiguration注解

MapperScan注解用于扫描到mapper映射文件

java 复制代码
@Configuration
@MapperScan("com.xuecheng.content.mapper")
public class MybatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
        return interceptor;
    }
}

解决跨域的问题

  1. JSONP

通过script标签的src属性进行跨域请求

2.添加响应头

服务端在响应头添加 Access-Control-Allow-Origin:*

java 复制代码
 @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        //允许白名单域名进行跨域调用
        config.addAllowedOrigin("*");
        //允许跨越发送cookie
        config.setAllowCredentials(true);
        //放行全部原始头信息
        config.addAllowedHeader("*");
        //允许所有请求方法跨域调用
        config.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        return new CorsFilter(source);
    }

3.通过nginx代理跨域

由于服务端之间没有跨域,浏览器通过nginx去访问跨域地址。

科研随探录

八股随笔录

  • 过期删除策略和内存淘汰的区别?
  1. 内存淘汰策略是内存满了的时候,redis会淘汰一些不必要的内存资源,用来保存新的内容

  2. 过期删除策略是将已过期的键值对进行删除,redis采用的是惰性删除+定期删除

  • redis主从同步中的增量和完全同步怎么实现的?

完全同步情况如下:

  1. 初次同步:服务器首次连接到主服务器时,会进行一次完全同步

  2. 从服务器数据丢失: 如果从服务器数据丢失会请求进行完全同步

  3. 主服务器数据发生变化:如果从服务器长时间未与主服务器同步,导致数据差异太大,也会发生完全不同。

增量同步:允许从服务器从断点处继续同步,而不是每次都进行完全同步。

  • 哨兵机制的原理

它的作用是实现主从节点故障转移,自动将一个从节点转换成主节点,并把新主节点的相关信息通知给从节点和客户端。

哨兵其是一个运行在特殊模式下的redis进程,所以他也是一个节点。主要负责三件事情:监控、选主、通知。

代码随想录

相关推荐
咖啡啡不加糖1 分钟前
Arthas 使用指南:Java 应用诊断利器
java·spring boot·后端
lead520lyq2 分钟前
Golang Grpc接口调用实现账号密码认证
开发语言·后端·golang
EQ-雪梨蛋花汤2 分钟前
【问题反馈】JNI 开发:为什么 C++ 在 Debug 正常,Release 却返回 NaN?
开发语言·c++
naruto_lnq3 分钟前
高性能消息队列实现
开发语言·c++·算法
小北方城市网3 分钟前
MongoDB 分布式存储与查询优化:从副本集到分片集群
java·spring boot·redis·分布式·wpf
charlie1145141913 分钟前
malloc 在多线程下为什么慢?——从原理到实测
开发语言·c++·笔记·学习·工程实践
想逃离铁厂的老铁5 分钟前
Day60 >> 94、城市间货物运输1️⃣ + 95、城市间货物运输 2️⃣ + 96、城市间货物运输 3️⃣
java·服务器·前端
kyrie学java6 分钟前
SpringWeb
java·开发语言
写代码的【黑咖啡】8 分钟前
Python 中的 Gensim 库详解
开发语言·python
TTBIGDATA1 小时前
【Hue】Ambari 页面启动 Hue 失败 user ‘hadoop‘ does not exist
java·hadoop·ambari