985研一学习日记 - 2024.10.16

news2024/10/18 17:11:37

一个人内耗,说明他活在过去;一个人焦虑,说明他活在未来。只有当一个人平静时,他才活在现在。

日常

1、起床6:00√

2、健身1个多小时

今天练了二头和背部,明天练胸和三头

3、LeetCode刷了3题

  1. 旋转图像:矩阵、中
    • 1.创建一个辅助二维矩阵,可以发现旋转数组后,第一行元素变为最后一列元素,第二行元素变为倒数第二列元素
    • 故可以根据该规律对新创建的辅助数组进行赋值,nums(i,j)会变为nums(len-i-1,j),故遍历一遍数组后就得到了旋转后的数组,此时再遍历一遍对原来的数组进行赋值即可
    • 2.还可以使用S(O(1))的算法,将矩阵分为四个区域,每次旋转四个区域中对应的各一个元素,首先要找出各个区域对应位置的替换关系,然后使用一个辅助元素即可实现四个元素的旋转,然后遍历其中一个区域即可实现矩阵的旋转
  2. 搜索旋转排序数组:二分查找、中
    • 先遍历数组找到拆分位置k,然后判断target的大小来决定在哪部分进行二分查找,要判断target是否超出某部分的边界,只有未超出时才使用二分查找
    • 二分查找可以通过递归来实现,当l == r时说明找到了位置,当l>r时说明未找到target则返回-1,否则就令mid=(l+r)/2,然后判断mid位置上元素与target的大小,并递归遍历左右某个部分,要注意l,r的赋值规则,可以均是左闭右闭
  3. 删掉一个元素以后全为1的最长数组:不定长数组、中
    • 不定长数组,使用双指针定义一个滑动窗口,直接遍历先找到长度全为1的子数组,然后向右移动一位继续找长度为1的数组,此时找到两个后,将长度相加,然后对max进行赋值,对指针进行更新,从第二个长度为1的数组开始继续上述操作,最后仍要再对max进行一次赋值

4、复盘22:00√

不复盘等于白学!!!

学习和感想

1、SpringCloud Alibaba Nacos

1. 入门简介

  1. 由阿里提供的微服务开发的一站式解决方案(服务注册和发现、服务调用、服务熔断和降级、服务限流、网关)
  2. 介绍:阿里推出的致力于微服务开发的一站式解决方案,包含开发分布式应用必需组件
  3. 版本选择与说明:以github上的版本为主(官网更新不及时)
  4. 主要功能

2. Nacos

  1. 简介:服务注册中心和配置中心(Consul)(独立于第三方
    1. Nacos:Dynamic Naming and Configuration Service;官网:**www.nacos.io
    2. 介绍:一个更易于构建云原生应用动态服务发现、配置管理和服务管理中心
    3. Nacos默认是AP(性能),服务注册中心不是微服务,而是一个独立的微服务的第三方的服务注册中心项目,要在windows下运行开启,如consul agent -dev
    4. 服务注册组件的比较
  2. 下载和安装
    1. 去github上下载源码压缩包,要在windows上独立运行
    2. 解压安装包,直接运行bin目录下在命令行执行命令startup.cmd进行启动默认服务器端口是8848,启动后直接输入localhost:8848进行访问,默认账号密码都是nacos,在命令行输入shutdown.cmd进行关闭
  3. Nacos Discovery服务注册中心
    1. 注册微服务进入Nacos
      1. 建项目
      2. 改POM:引入Nacos的依赖,在官网找到正确的版本
      3. 写YML:配置自己的微服务端口号和名称对Nacos微服务进行配置,端口号是8848,如果使用配置中心,则必须要把Nacos的配置放到bootstrap.yml中,其会优先于application.yml进行配置
      4. 主启动:在主启动类上使用@EnableDiscovery注解进行标注以注册进入Nacos服务中心
      5. 业务类:使用方法根据微服务的名字调用服务提供者的方法
    2. 负载均衡
      1. Nacos是支持负载均衡的,可以使用RestTemplate+LoadBalancer(用@LoadBalancer注解标注方法)或者OpenFeign(在yml中进行配置)来进行实现
      2. 复制微服务时可以不用copy代码,而是直接对微服务进行copy,右键微服务并点击copy,然后修改微服务名配置一个参数即端口号就可实现微服务的复制![[Pasted image 20241016125650.png]]
  4. Nacos Config配置中心:实现中心化全局配置的动态变更动态刷新RefresnScope全局广播通知
    1. 通过Nacos微服务spring.cloud.alibaba.config实现全局配置动态变更,动态刷新
    2. 先从配置中心拉取配置,当使用配置中心时,会有两个配置文件,一定要将与Nacos有关的配置文件放到bootstarp.yml中将与微服务有关的配置放到application.yml中,先读取bootstarp.yml中Nacos的配置并读入全局配置
    3. 配置步骤
      1. 建项目
      2. 改POM:要引入discovery、config、bootstarp的POM依赖
      3. 写yml:bootstrap.ymlapplication.yml
        1. 要配置两个配置文件bootstarp和application,先从配置中心拉取配置
        2. 当要引入全局配置中心时,必须要在bootstarp的配置文件中对Nacos进行配置,因为其先从bootstarp.yml中读取配置文件,故一定要将Nacos的配置文件放到bootstrap文件中,然后将与微服务有关的配置放到application.yml中
      4. 主启动:要将微服务注册进入Nacos
      5. 业务类:使用 @RefreshScope注解标注业务类以实现动态刷新配置
    4. 在Nacos中添加配置:要在Nacos的微服务网站8848上创建配置信息(根据DataIa的格式创建,一个DataId对应一组相同名字的微服务),然后写了bootstarp.yml的微服务会自动读取对应的DataId
      1. DataId的组成格式每一个微服务名对应唯一的一个DataId,一个DataId对应一组名字相同的微服务,必须根据DataId的格式来创建配置中心
        2. 在Nacos的配置中心添加配置信息时,必须根据提供的格式来创建DataID,该配置会被自动加载到对应的微服务中,通过@Value(${config.info})来加载配置信息20241016132415.png]]
      2. 在Nacos中添加配置信息
        1. 创建好配置信息后点击发布,此时对应DataID的微服务就可以从Nacos中读取配置信息,并在业务类中通过@Value(“{config.info}”)来读取配置文件中的信息
        2. 创建配置信息时,配置格式DataID以及bootstrap中配置的格式必须三者相同三码合一
      3. 自动动态刷新:使用**@RefreshScope**注解在业务类上进行标注
      4. 历史配置:Nacos会记录配置文件的历史版本并默认保留30天,且支持一键回滚功能一键回滚后会出发配置刷新
      5. 流程
        1. 微服务配置了配置中心时,会创建两个配置文件bootstrap.yml和application.yml必须将与Nacos相关的信息放入bootstrap.yml中,其余的放入application;当微服务启动时,会先读取bootstrap中的配置信息,且将配置中对应DataId的配置信息加载进入微服务,注册进入Nacos并根据DataID找对应的配置信息,如果存在则将配置信息读入微服务,然后再读取application中的配置,使用@Value(“${config.info}”)来读取Nacos中配置的信息
  5. Nacos数据模型之Namespace-Group-DataId(三元组唯一确定)
    1. 问题描述
      1. 多环境多项目时,怎么对配置信息进行管理![[Pasted image 20241016134022.png]]![[Pasted image 20241016134014.png]]
    2. Namespace-Group-DataId三元组
      1. 在多项目多服务场景下,可以使用Namespace-Group-DataId对每个微服务的配置信息进行分类管理
      2. 不同的Namespace之间是隔离的通过Group对微服务进行分组每一个DataId对应一组微服务名相同的微服务
      3. 一个DataId对应一组名字相同的微服务,Namespace可以用来区分部署环境(dev\prod\test),Group可以对微服务进行分组
      4. 三者的作用
    3. Namespace-Group-DataId三种方案
      1. DataId方案:一个DataId对应一组名字相同的微服务
        1. DataId的格式:spring.cloud.application.name}-${spring.profile.active}.&{}
        2. 通过DataId的格式来配置每个微服务对应的DataId,并在Nacos中进行创建

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2217915.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC之 文件上传和下载

1. 文件上传 1.1 前端注意事项 文件上传操作,前端的表单项需要如下三项设置: (1)input标签的type属性应设置为file,并且注意不要在input标签中设置value属性,因为这可能导致文件上传不成功; …

轻触节点,链表里的悄然邂逅

公主请阅 1. 移除链表元素1. 题目说明示例 1示例 2示例 3 1.2 题目分析1.3 代码部分1.4 代码解析 2. 反转链表2. 1题目说明示例 1示例 2示例 3 2.2 题目分析2.3 代码部分2.4 代码分析 1. 移除链表元素 题目传送门 1. 题目说明 给你一个链表的头节点 head 和一个整数 val &…

无头浏览器测试:如何使用 Puppeteer 和 Browserless?

什么是无头浏览器测试? 无头浏览器测试通常指没有头的物体或东西,在浏览器的语境中,它指的是没有 UI 的浏览器模拟。无头浏览器自动化使用 Web 浏览器进行端到端测试,而无需加载浏览器的 UI。 无头模式是一个功能,它…

SpringBoot1~~~

目录 快速入门 依赖管理和自动配置 修改自动仲裁/默认版本号 starter场景启动器 自动配置 修改默认扫描包结构 修改默认配置 读取application.properties文件 按需加载原则 容器功能 Configuration Import ​编辑 Conditional ImportResource 配置绑定Configur…

一款AutoXJS现代化美观的日志模块AxpLogger

简介 Axp Logger是一款基于autox.js的现代化日志模块,具备窗口事件穿透、拖拽和缩放功能。 Axp Logger文档 特性现代化的UI设计支持点击穿透模式(不影响脚本运行)监听音量-键切换模式支持窗口操作模式窗口拖拽移动窗口自由缩放清空日志关闭日…

高精-阶乘和-保姆级教程

提供50的阶乘30414093201713378043612608166064768844377641568960512000000000000; 显然要做这题,int 或者 long long 类型的整型放不下这么长的数据所以我们要使用数组用高精度实现; 然后容易想到这题 肯定要用到高精度乘法和高精度加法&…

外包干了3周,技术退步太明显了。。。。。

先说一下自己的情况,大专生,21年通过校招进入武汉某软件公司,干了差不多3个星期的功能测试,那年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了3周的功…

Qt(10.11)

数据表 源代码&#xff1a; #include "widget.h" #include "ui_widget.h" #include<QMessageBox>//消息对话框 #include<QDebug> #include<QSqlRecord> Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-&g…

十、pico+Unity交互开发教程——射线抓取与更多交互功能

一、回顾与引入 回顾上一篇直接抓取的教程&#xff0c;VR交互一般需要可交互的对象&#xff08;Interactable&#xff09;和发起交互的对象&#xff08;Interactor&#xff09;。直接抓取和射线抓取的可交互对象无区别&#xff0c;可参考上一篇教程设置组件。两者区别在于发起…

【Vercel】Vercel静态部署踩坑

背景 在现代的软件开发中&#xff0c;自动化部署是一个不可或缺的环节。Vercel作为一个流行的前端部署平台&#xff0c;提供了与GitHub的无缝集成&#xff0c;使得开发者能够在每次提交代码后自动触发部署流程。然而&#xff0c;自动化部署过程中可能会遇到一些挑战&#xff0…

性能测试:流量回放工具-GoReplay!结合一款无需CA证书即可抓取HTTPS明文的工具,简直无敌

性能测试&#xff1a;流量回放工具-GoReplay&#xff01;结合一款无需CA证书即可抓取HTTPS明文的工具&#xff0c;简直无敌。 GoReplay 是一个开源网络监控工具&#xff0c;可以将实时 HTTP 流量捕获并重放到测试环境。 应用成熟的过程中&#xff0c;测试所需的工作量往往会成…

学习干货小白女友看完这篇文章后,面试工作和护网蓝队初级竟然秒通过!

小白女友看完这篇文章后&#xff0c;面试工作和护网蓝队初级竟然秒通过&#xff01; 前言&#xff1a;本文中涉及到的相关技术或工具仅限技术研究与讨论&#xff0c;严禁用于非法用途&#xff0c;否则产生的一切后果自行承担&#xff0c;如有侵权请联系。 还在学怎么挖通用漏…

【Linux】<互斥量>解决<抢票问题>——【多线程竞争问题】

前言 大家好吖&#xff0c;欢迎来到 YY 滴Linux系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

Axure树形菜单展开与折叠

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;Axure树形菜单展开与折叠 主要内容&#xff1a;树形菜单制作——层级关系——隐藏与显示——值的变化——多层交互 应用场景&#xff1a;关系树、菜…

老机MicroServer Gen8再玩 OCP万兆光口+IT直通

手上有一台放了很久的GEN8微型服务器&#xff0c;放了很多年&#xff0c;具体什么时候买的我居然已经记不清了 只记得开始装修的时候搬家出去就没用了&#xff0c;结果搬出去有了第1个孩子&#xff0c;孩子小的时候也没时间折腾&#xff0c;等孩子大一点的时候&#xff0c;又有…

MongoDB查询操作

&#x1f337;启动mongo &#x1f388;启动mongo shell &#xff08;1&#xff09;在指定目录下创建mongodb文件夹、其子文件夹data、log以及文件mongodb.log cd /home/ubuntu mkdir -p mongodb/data mkdir -p mongodb/log touch mongodb/log/mongodb.log(2)先执行mongodb命…

《计算机视觉》—— 疲劳检测

文章目录 一、疲劳检测实现的思想二、代码实现 一、疲劳检测实现的思想 了解以下几篇文章有助于了解疲劳检测的方法 基于dlib库的人脸检测 https://blog.csdn.net/weixin_73504499/article/details/142977202?spm1001.2014.3001.5501 基于dlib库的人脸关键点定位 https://blo…

基于开源Jetlinks物联网平台协议包-MQTT自定义主题数据的自动回复

目录 1.根据需要自动回复某些主题 2.调用doReply方法进行自动回复 1.根据需要自动回复某些主题 根据主题判断&#xff0c;哪些主题是需要自动回复的&#xff0c;比如设备登录&#xff0c;需要自动回复。 2.调用doReply方法进行自动回复&#xff08;代码不一定全部正确&#xf…

第 5 章:vuex

1. 理解 vuex vuex 是什么&#xff1a; 概念&#xff1a;专门在 Vue 中实现集中式状态&#xff08;数据&#xff09;管理的一个 Vue 插件&#xff0c;对 vue 应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件间通信的方式&am…

安乃达:用CRM构建从销售到管理到售后的全链路数字化运营平台

安乃达驱动技术(上海)股份有限公司((简称&#xff1a;“安乃达”,股票代码为&#xff1a;“603350”))自2011年以来&#xff0c;公司通过多年的研发与积累现有直驱轮毂电机、减速轮毂电机和中置电机三大系列产品&#xff0c;并具备与电机相匹配的控制器、传感器、仪表等电驱动成…