学成在线学习笔记

  1. 非必要的请求参数:required=false
  2. @RestController = @Controller + @ResponseBody
  3. 前端有手机端和PC端,需要用VO,只有一种的话DTO即可
  4. 生成接口稳当“Swaager”
  5. 配置类@Bean生效需要加@Configuration
  6. 1、前端对文件进行分块。

    2、前端上传分块文件前请求媒资服务检查文件是否存在,如果已经存在则不再上传。

    3、如果分块文件不存在则前端开始上传

    4、前端请求媒资服务上传分块。

  7. 5、媒资服务将分块上传至MinIO。

  8. 6、前端将分块上传完毕请求媒资服务合并分块。

    7、媒资服务判断分块上传完成则请求MinIO合并文件。

    8、合并完成校验合并后的文件是否完整,如果完整则上传完成,否则删除文件。

  9. 目前最常用的编码标准是视频H.264,音频AAC

  10. Minio创建的桶需要时public才能被接口调用

  11. Minio上传文件:

  12. //通过扩展名得到媒体资源类型 mimeType
  13. Minio中查询文件并下载
  14. hosts修改
  15. nginx在执行cmd语句nginx.exe -s reload报错"F:\springcloud\data\nginx-1.23.1/logs/nginx.pid" failed,解决办法,直接启动nginx.exe
  16. 页面静态化:使用freemaker

    XML
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>

    @SpringBootTest
    public class FreemarkerTest {

        @Autowired
        CoursePublishService coursePublishService;


        //测试页面静态化
        @Test
        public void testGenerateHtmlByTemplate() throws IOException, TemplateException {
            //配置freemarker
            Configuration configuration = new Configuration(Configuration.getVersion());

            //加载模板
            //选指定模板路径,classpath下templates下
            //得到classpath路径
            String classpath = this.getClass().getResource("/").getPath();
            configuration.setDirectoryForTemplateLoading(new File(classpath + "/templates/"));
            //设置字符编码
            configuration.setDefaultEncoding("utf-8");

            //指定模板文件名称
            Template template = configuration.getTemplate("course_template.ftl");

            //准备数据
            CoursePreviewDto coursePreviewInfo = coursePublishService.getCoursePreviewInfo(2L);

            Map<String, Object> map = new HashMap<>();
            map.put("model", coursePreviewInfo);

            //静态化
            //参数1:模板,参数2:数据模型
            String content = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);
            System.out.println(content);
            //将静态化内容输出到文件中
            InputStream inputStream = IOUtils.toInputStream(content);
            //输出流
            FileOutputStream outputStream = new FileOutputStream("D:\\develop\\test.html");
            IOUtils.copy(inputStream, outputStream);

        }

    }

  17. 接口扩展,如扩展ObjectName

  18. 搭建elasticsearch

    在课前下发的虚拟中已经在docker容器中安装了elasticsearch和kibana。

    kibana 是 ELK(Elasticsearch , Logstash, Kibana )之一,kibana 一款开源的数据分析和可视化平台,通过可视化界面访问elasticsearch的索引库,并可以生成一个数据报表。

    开发中主要使用kibana通过api对elasticsearch进行索引和搜索操作,通过浏览器访问 http://192.168.101.65:5601/app/dev_tools#/console进入kibana的开发工具界面。

    修改虚拟机中的启动脚本restart.sh添加

    Java

    docker stop elasticsearch
    docker stop kibana

    docker start elasticsearch
    docker start kibana

  19. 向auth认证工程集成Spring security,向pom.xml加入Spring Security所需要的依赖

    XML
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-oauth2</artifactId>
    </dependency>

    重启工程,访问http://localhost:63070/auth/r/r1

  20. 什么是OAuth2

    2.3.1 OAuth2认证流程

    在前边我们提到微信扫码认证,这是一种第三方认证的方式,这种认证方式是基于OAuth2协议实现,

    OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH认证服务,任何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP、JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。互联网很多服务如Open API,很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准。

  21. mysql导入脚本

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值