Generated by All in One SEO v5.0.0.1, this is an llms.txt file, used by LLMs to index the site. # Yuyy ## Sitemaps - [XML Sitemap](https://yuyy.info/sitemap.xml): Contains all public & indexable URLs for this website. ## 文章 - [可控的线上变更:Deployment 批次部署](https://yuyy.info/?p=2315) - 前言 K8S原生Deployment支持滚动更新和重建两种发布模式。 滚动更新模式 Pod升级自动进行,失败自 - [有状态服务同城双活](https://yuyy.info/?p=2296) - 服务介绍 serverA是一个数据仓库服务,提供数据的版本管理,储存和下载等功能。 线上服务变更大致可分为代码 - [k8s node CPU 毛刺问题排查](https://yuyy.info/?p=2305) - 现象 k8s node 出现周期性cpu毛刺,每10分钟整出现,cpu.sys 占用峰值高于正常水位 10% - [华硕主板灯光控制,Aura Sync 不显示设备](https://yuyy.info/?p=2302) - 背景 华硕主板装机后,cpu风扇和机箱风扇的灯光控制线,都插到主板的LED接口上。但是开机后,系统自带的Arm - [一、单例模式](https://yuyy.info/?p=1453) - 解决的问题 有些数据在系统中只应该保存一份,比如系统的配置信息类 资源访问冲突的问题,比如多个logger写入 - [剖析zookeeper sdk,高效的多路复用](https://yuyy.info/?p=2286) - 背景 最近遇到zk无法使用,zk断开后无法重连等问题,排查了下用到的zk sdk,顺便写文章记录下这个sdk是 - [如何debug minikube里的golang容器?](https://yuyy.info/?p=2283) - 问题背景 在学习开源项目时,很多时候光看代码是搞不清楚实际运行时会走哪个逻辑分支,或者无法推测方法参数值。最简 - [重复创建软链接产生的奇怪现象](https://yuyy.info/?p=2276) - 问题现象 当前有个目录 a,需要对其创建一个软链接 b。 tree . `-- a |-- a1.txt `- - [程序员办公用品推荐](https://yuyy.info/?p=2258) - 20240810更新 降噪耳机 降噪耳机是我觉得买得比较值的电子产品,因为我经常用到。在前一家公司时,每天午休 - [Mac 软件推荐](https://yuyy.info/?p=2251) - 20240725更新 heynote 平时工作中,经常出现需要临时记录下,打个草稿之类的场景,我一般是用 su - [K8s面试题](https://yuyy.info/?p=2262) - K8s 如何通过 kubeproxy 保证两个 Pod 之间的相互通信? kubeproxy 会监听 pod - [Golang面试题](https://yuyy.info/?p=2264) - Go基础 切片 通过 make 方法去声明一个 int 32 类型的一个slice,指定它的长度为10,容量为 - [Chrome 插件推荐](https://yuyy.info/?p=2256) - OneTab 标签页打开太多的情况下,一键关闭并整理到列表。后续用到哪个标签页再重新打开。 关闭浏览器时,很多 - [Goland、Idea 插件推荐](https://yuyy.info/?p=2253) - Copilot Github 开发的智能代码编写工具,可以代码提示,直接提问。它写的代码基本能用,特别是结合本 - [【笔记】Operator课程(7-9)](https://yuyy.info/?p=2111) - client-go 架构图 Indexer原理 Indexer缓存k8s资源对象,并提供便捷的方式查询。例如获 - [利用 Apisix 网关解决跨域问题](https://yuyy.info/?p=2142) - 背景 运营同学经常需要将运营系统上的url拷贝到virustotal去查询安全性,这个重复操作想优化下,提高效 - [博客迁移,开始省钱之路](https://yuyy.info/?p=2148) - 搭建博客的服务器还有半年就要过期了。以前都是到期了再去买一个,后来发现,即使是用新用户,优惠也比不上双十一。想 - [Github Copilot 是如何提升我的工作效率?](https://yuyy.info/?p=2155) - 最近字节的朋友要在公司分享Copilot,但是他们公司当前是禁止使用Copilot的,所以找到了我。正好总结下 - [Docker 容器应用构建 deb 包](https://yuyy.info/?p=2129) - 背景 我们的应用发布都是以镜像为基础,git打tag触发cicd,发布对应version的镜像。现在有个应用需 - [Go进阶训练营 - 微服务概览与治理一:微服务概览](https://yuyy.info/?p=1911) - 同系列文章:Go 进阶训练营 业务场景各有不同,分享内容时不要太具体到哪个业务场景,应该找到变化中不变的部分。 - [《Go语言精进之路》1-3章笔记](https://yuyy.info/?p=1884) - 第一部分 熟知Go语言的一切 第1条 了解Go语言的诞生与演进 1.1 Go语言的诞生 1.2 Go语言的早期 - [《Go语言精进之路》4-6章笔记](https://yuyy.info/?p=1887) - 第4条 使用Go语言原生编程思维来写Go代码 经过十几年的演进和发展,Go语言在全世界范围内已经拥有了百万级别 - [《Go语言精进之路》7-9章笔记](https://yuyy.info/?p=1998) - 第7条 使用Go命名惯例对标识符进行命名 计算机科学中只有两件难事:缓存失效和命名。 ——Phil Karlt - [《Go语言精进之路》10-12章笔记](https://yuyy.info/?p=2000) - 第10条 使用iota实现枚举常量 Go的const语法提供了“隐式重复前一个非空表达式”的机制,来看下面的代 - [Go进阶训练营 - 微服务概览与治理三:gRPC & 服务发现](https://yuyy.info/?p=1965) - 同系列文章:Go 进阶训练营 服务调用:gRPC 什么是gRPC? A high-performance, o - [分布式系统的 CAP 定理](https://yuyy.info/?p=2224) - 分布式系统的三大指标,Eric Brewer 说,这三个指标不可能同时做到。这个结论就叫做 CAP 定理。 P - [HTTP 协议演进](https://yuyy.info/?p=2222) - Http 1.0 存在的问题 无法复用链接:每个请求都需要建立TCP链接。 对头阻塞:第二个请求必须等第一个请 - [Go 进阶训练营 – Go 工程化实践二:API 设计](https://yuyy.info/?p=2056) - API 定义文件放在哪? 放在当前项目 使用时,需要import此项目,造成API和源码绑定,不好单独管理权限 - [在 K8S 节点上使用非 Nodeport 默认端口范围暴漏服务](https://yuyy.info/?p=2218) - 需求背景 服务 A 部署在 K8S 中,集群外的服务 B 需要调用服务 A,同时调用服务 A 的端口是指定了的 - [在 K8S 中利用 sidecar 控制 Pod 重启](https://yuyy.info/?p=2216) - 需求一 A 容器负责授权管理,当用户更改了授权时,需要重启 B 容器生效。 解决方案 通过 sidecar 启 - [十三、Kubernetes Services](https://yuyy.info/?p=1841) - 为什么需要服务发现 Pod 生命周期不等于应用的生命周期,Pod 创建和销毁会导致它的 ip 地址发生变化 S - [六、应用编排与管理: Deployment](https://yuyy.info/?p=1818) - 背景问题 如何保证集群内可用 Pod 数量 运行期间宿主机故障 更新时,需要停止之前的节点 为所有 Pod 更 - [Gitlab CI/CD 实践五:基础镜像 Dockerfile 仓库 CI 流水线配置](https://yuyy.info/?p=1956) - 基础镜像Dockerfile集中管理 完整代码:https://github.com/EchoGroot/do - [Gitlab CI/CD 实践七:公共脚本仓库](https://yuyy.info/?p=2047) - 前言 之前将流水线脚本所有内容都放到项目里,使用一段时间后,发现存在一些问题。 不好维护,当我发现流水线可以优 - [Gitlab CI/CD 实践三:Docker 安装 Gitlab Runner](https://yuyy.info/?p=1925) - 和k8s部署runner相比,Docker部署runner的优势 缓存,项目里用到的各种依赖,不可能每次都重新 - [Gitlab CI/CD 实践二:Rook Ceph 创建 S3 bucket 用于 Gitlab Runner 缓存](https://yuyy.info/?p=1918) - 创建账号 进入ceph-tools pod kubectl -n rook-ceph exec -it roo - [Gitlab CI/CD 实践一:Gitlab Runner 安装到 K8S 集群](https://yuyy.info/?p=1921) - 背景 最近负责公司的 Devops 改造,使用 Gitlab CI/CD 替代之前的Jenkins。 为什么选 - [Gitlab CI/CD 实践四:Golang 项目 CI/CD 流水线配置](https://yuyy.info/?p=1946) - 概要 通过gitlab CI/CD,可实现提交代码时触发golang应用的单元测试、代码检查、构建镜像、推送镜 - [利用golang-migrate,实现 Golang 项目启动时自动维护数据库变更](https://yuyy.info/?p=2087) - 前言 数据库变更管理是软件发布必不可少的环节,理想状态是只需发布一个镜像,就能更新应用和数据库。我们项目使用g - [kettle(六):基于Kettle的数据库全量备份](https://yuyy.info/?p=80) - 基于Kettle的数据库全量备份 通过kettle,把MYSQL中的一个表数据全部备份到另外一个表中。 - [5.Url表达式-thymeleaf](https://yuyy.info/?p=699) - th:href 绝对路径 - [尚硅谷李玉婷经典版MySQL基础](https://yuyy.info/?p=995) - 登录: mysql 【-h主机名 -P端口号 】-u用户名 -p密码 查看当前库的所有表 show table - [使用Kubebuilder实现自定义Controller](https://yuyy.info/?p=2182) - 背景 还是之前的需求,上一篇文章:Operator示例:通过Operator+CRD实现部署自动化是基于官方的 - [Pod里的容器如何设置IP?](https://yuyy.info/?p=2178) - 背景 最近遇到一个docker compose部署的产品(旧版本)想部署到k8s中,而该产品应用的多个容器都在 - [Operator示例:通过Operator+CRD实现部署自动化](https://yuyy.info/?p=2165) - 前言 在上一篇通过Operator自动暴露集群内部服务中,遗留了一个问题:开发人员or业务上游是需要关注k8s - [十一、可观测性——你的应用健康吗](https://yuyy.info/?p=1834) - 需求来源 当把应用迁移到 K8S 后,如何保障应用的健康与稳定? 提高应用的可观测性 资源使用情况 应用自身的 - [邮件系统原理](https://yuyy.info/?p=2145) - 前言 邮件已成为日常工作中必备的工具,常常作为正式交流的一种方式,那发送一封邮件是如何到达目标邮箱的呢? 相关 - [通过Operator自动暴露集群内部服务](https://yuyy.info/?p=2123) - 需求背景 运维团队希望管控部署在k8s集群里对外暴露的服务,开发团队无需关心服务如何暴露给用户。 红色部分 开 - [LeetCode:355_设计推特](https://yuyy.info/?p=2119) - 思路 在推送给用户的推特,是该用户关注的人发的推特,并通过时间顺序合并在一起。采用多路归并的方式合并,在归并时 - [LeetCode:496_下一个更大元素I](https://yuyy.info/?p=2117) - 思路 这类题有套路,需要用到单调栈。 上图中绿色item想找到下一个比它大的值,只需要和红色item比较就行, - [Kafka 并发消费单个 partition](https://yuyy.info/?p=2114) - 背景 kafka可以通过多个partition实现并发,但是针对单个partition,必须顺序提交。假如消息 - [【笔记】分布式缓存(1-2)](https://yuyy.info/?p=2107) - 300分钟吃透分布式缓存——陈波 分布式缓存 01 业务数据访问性能太低怎么办? 缓存的定义 狭义缓存 加速C - [【笔记】Operator课程(1-6)](https://yuyy.info/?p=2104) - 白丁云原生:k8s编程-operator篇【已完结】 clientgo架构 以前以为client-go只是通过 - [Kubernetes的client-go库](https://yuyy.info/?p=1865) - 前言 client-go是一个调用kubernetes集群资源对象API的客户端,即通过client-go实现 - [玩玩NAS、软路由,搭建家庭影音系统](https://yuyy.info/?p=2097) - 背景 我平时爱看一些高清电影,4k、HDR之类的,还有很多国内视频软件没有的电影。我媳妇也喜欢看剧,平时做饭的 - [SmartAdmin——2、注解+拦截器实现权限控制](https://yuyy.info/?p=1342) - 一、定义注解 @Retention(RetentionPolicy.RUNTIME) @Target(Elem - [SmartAdmin——1、Maven构建配置和激活SpringBoot配置文件](https://yuyy.info/?p=1331) - SmartAdmin 是由【1024创新实验室】使用SpringBoot2 和 Vue3 Setup 语法糖、 - [Leaf——美团分布式ID生成系统](https://yuyy.info/?p=2092) - Leaf——美团点评分布式ID生成系统 https://github.com/Meituan-Dianping - [Go 进阶训练营 – 并行编程一:Goroutine](https://yuyy.info/?p=2082) - Processes and Threads 进程 操作系统会为该应用程序创建一个进程。作为一个应用程序,它像一 - [Go 进阶训练营 – 评论系统架构设计四:可用性设计](https://yuyy.info/?p=2078) - Singleflight 对于热门的主题,如果存在缓存穿透的情况,会导致大量的同进程、跨进程的数据回源到存储层 - [强大的序列化工具:Protocol Buffers](https://yuyy.info/?p=1875) - 概述 Protocol Buffers 为结构化数据的序列化向前兼容,向后兼容,提供了语言中立、平台无关、可扩 - [跳表:为什么Redis一定要用跳表来实现有序集合?](https://yuyy.info/?p=2074) - 前言 时间复杂度O(logn)的二分查找很高效,但是依赖数组随机访问的特性,如果是链表,如何做到O(logn) - [Go 进阶训练营 – 评论系统架构设计三:存储设计](https://yuyy.info/?p=2069) - 存储设计 comment_subject 抽象的主题表,把评论的主体抽象出来,包含专有属性,例如state。 - [Go 进阶训练营 – 评论系统架构设计二:详细设计](https://yuyy.info/?p=2067) - 详细设计 comment-service 专注在评论数据处理(认真想下 Separation of Conce - [Go 进阶训练营 – 评论系统架构设计一:概要设计](https://yuyy.info/?p=2065) - 评论系统架构设计 这节课程是结合实际业务场景,来做系统架构设计。 架构设计 做架构设计前,需要深度理解产品的业 - [Go 进阶训练营 – Go 工程化实践三:配置管理](https://yuyy.info/?p=2058) - 配置分类 环境变量(配置) 在部署、运行时能获取到的信息,没必要放到配置文件里。可通过K8S注入到容器或者物理 - [Gitlab CI/CD 实践八:同步文件到其他 Git 仓库](https://yuyy.info/?p=2051) - 背景 项目里存放了部署到测试环境的k8s资源定义文件,这部分文件需要提交到一个资源定义文件集中仓库,给运维部署 - [Go 进阶训练营 – Go 工程化实践一:工程项目结构](https://yuyy.info/?p=2039) - 工程项目结构 序言 go工程的项目结构多种多样,不同的框架对应不同的结构,即使是同一个框架,也有可能出现不同的 - [Golang 优雅实现责任链](https://yuyy.info/?p=2037) - 前言 在微服务框架kratos中,通过中间件对请求进行扩展处理。有点像java里的servlet,也是用的责任 - [Go 进阶训练营 – 错误处理一:最佳实践](https://yuyy.info/?p=2003) - 同系列文章:Go 进阶训练营 Go error/panic VS java exception 和java相比 - [Go 进阶训练营 – 错误处理二:错误定义与处理](https://yuyy.info/?p=2032) - error type: 错误定义与判断 Sentinel Error 哨兵错误,就是定义一些包级别的错误变量, - [fmt.Println()和println()的区别](https://yuyy.info/?p=2023) - 背景 在测试error.is时,发现一个奇怪的现象,同时使用fmt.Printf和println,输出顺序无法 - [《代码整洁之道》笔记(7-9章节)](https://yuyy.info/?p=1440) - 错误处理 使用异常而非返回码 多个条件分支记录错误信息,可以封装进一个方法,在记录异常信息的地方抛出异常,并给 - [《代码整洁之道》笔记(10-12章节)](https://yuyy.info/?p=1442) - 类 类的组织 标准的Java约定,类结构定义如下: 公共静态变量 私有静态变量 私有实体变量 公共函数 私有函 - [《Maven实战》笔记](https://yuyy.info/?p=1160) - 第一章 Maven简介 1.1何为Maven maven翻译为“知识的积累”,“内行”,“专家” 作为Apac - [《代码整洁之道》笔记(1-3章节)](https://yuyy.info/?p=1429) - 序言:这是一本很多前辈推荐的书,阅读这本书后,我最大的感想就是:特别实在。书中时不时的出现一个句子,戳中你的内 - [《代码整洁之道》笔记(4-6章节)](https://yuyy.info/?p=1438) - 注释 什么也不会比陈旧,提供错误信息的注释更有破坏性。 若编程语言有足够的表达力,就根本不需要注释。 注释的恰 - [《底层逻辑:看清这个世界的底牌》第1章笔记](https://yuyy.info/?p=1901) - 序言 如何用底层逻辑看清世界的底牌 2012年,马云和王健林设了一个“亿元赌局”——如果10年之后,电商在中国 - [《人性的弱点》第一章笔记](https://yuyy.info/?p=1913) - 使用本书的九个建议 那就是强烈的学习欲望,以及提高人际交往能力的坚定决心。 请反复提醒自己:“人际交往能力决定 - [Go进阶训练营 – 微服务概览与治理四:多集群 & 多租户](https://yuyy.info/?p=1977) - 同系列文章:Go 进阶训练营 为什么需要多集群? L0 服务,一旦故障影响巨大,所以需要保障高可用。 单一集群 - [Go进阶训练营 - 微服务概览与治理二:微服务设计](https://yuyy.info/?p=1940) - 同系列文章:Go 进阶训练营 API Gateway B站进行了 SOA 服务化的架构演进,按照垂直功能进行了 - [Gitlab CI/CD 实践六:统一管理 protocol buffer,API 大仓设计与实现](https://yuyy.info/?p=1980) - 背景 目前公司采用 protocol buffer 作为 IDL,虽然可以根据 API 定义,轻松生成客户端和 - [LeetCode:一和零_474](https://yuyy.info/?p=1937) - 思路 多维的动态规划,属于背包类问题,只是穷举多了个背包。 strs里的每个元素就是物品,m为装1的背包数量, - [开发规范四:设计文档](https://yuyy.info/?p=1935) - 发布版本-需求标题 文档变更记录 日期 版本号 修订内容 修订人 目 录 [TOC] XXX功能详细设计 【 - [开发规范三:项目版本号定义](https://yuyy.info/?p=1933) - 依据Semver2版本标准,和业界保持基本一致。 🐤主版本号 版本号使用三位版本号,X.Y.Z,不足三位的补齐 - [开发规范二:Git Commit 规范](https://yuyy.info/?p=1931) - 基于约定式提交 1.0.0 🐱commit message格式 [范围]: - [开发规范一:Git Flow + Gitlab 工作流](https://yuyy.info/?p=1929) - 分支说明 main 分支 发布分支。 包含最新稳定版本,每个版本都是该分支上的一个tag。 长期分支。 保护分 - [打破信息茧房](https://yuyy.info/?p=1916) - 前言 ​ 算法推荐,即利用算法和大数据,对用户进行画像以实现信息的个性化精准推送,目前在购物、社交、短视频、新 - [远程过程调用系统gRPC](https://yuyy.info/?p=1889) - 简介 gRPC 可以将 Protocol buffers 用作其接口定义语言 ( IDL ) 和底层消息交换格 - [Deepin使用Wallpaper Engine的壁纸](https://yuyy.info/?p=1896) - 前言 Wallpaper Engine大家都知道吧,动态壁纸界的扛把子,壁纸质量高,种类多,总有一款是你喜欢的 - [Protocol Buffers的扩展工具:Buf](https://yuyy.info/?p=1877) - 解决的问题 API 设计通常不一致 依赖管理通常是事后才想到的 不强制执行向前和向后兼容性 proto文件分发 - [定时备份容器部署的MySQL、MongoDB并上传到阿里云OSS](https://yuyy.info/?p=1871) - 备份脚本 #!/bin/sh echo "----------------------------- - [服务器cpu高导致ssh无法连接](https://yuyy.info/?p=1869) - 正文 近期ssh连不上服务器,找服务器厂商客服得知是cpu高导致的,但是没法看到进程信息,不清楚是哪个进程导致 - [三、Kubernetes 核心概念](https://yuyy.info/?p=1809) - 什么是 Kubernetes 企业级的容器编排平台。 Kubernetes 这个单词是希腊语,它的中文翻译是“ - [二、容器基本概念](https://yuyy.info/?p=1806) - 容器与镜像 什么是容器? 操作系统里的进程 进程之间可以相互看到、相互通信; 使用的是同一个文件系统,可以对同 - [一、云原生介绍](https://yuyy.info/?p=1804) - CNCF 云原生基金会,2015 年,由Google、Redhat 以及微软等大型云计算厂商以及一些开源公司共 - [Google的 DI 框架 Wire](https://yuyy.info/?p=1856) - 前言 以下内容来自 Wire 官方文档,花了一天把英文的 readme 啃了遍,发现存在几个问题: 记住的不多 - [A/B测试vs灰度测试vs蓝绿部署](https://yuyy.info/?p=1851) - A/B测试 简单来说,A/B测试是一种比较两个版本的测试,以确定哪个版本的性能更好。 在A/B测试中,部分用户 - [LeetCode:所有可能的路径_797](https://yuyy.info/?p=1849) - 思路 很基本的深搜,还没有环,省了isVisited判断 go的数组还是不太熟悉,在求得一条路线时,需要加入到 - [LeetCode:特殊等价字符串组_893](https://yuyy.info/?p=1846) - 思路 第一次用Go刷题,主要熟悉下Go的语法 这题有窍门,奇数下标的字符可以交换,如何判断交换后的字符是否相等 - [蓝桥杯 算法提高 9-1九宫格](https://yuyy.info/?p=21) - 问题描述 九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等, - [十二、可观测性——监控与日志](https://yuyy.info/?p=1837) - 背景 在 Kubernetes 中,监控和日志属于生态的一部分,它并不是核心组件,因此大部分的能力依赖上层的云 - [十、应用存储和持久化数据卷 - 存储快照与拓扑调度](https://yuyy.info/?p=1832) - 快照 锁定某一个磁盘的状态,被锁定的数据无法修改 如果需要修改被锁定的数据,就复制一份,再进行修改 未修改的数 - [九、应用存储和持久化数据卷 - 核心知识](https://yuyy.info/?p=1830) - Volumes 介绍 Pod Volumes 场景一:如果 pod 中的某一个容器在运行时异常退出,被 kub - [学习Linux](https://yuyy.info/?p=614) - ssh免密登录 传送门 系统目录 /etc目录:系统配置文件 /home目录:用户对对应的文件夹有绝对权限 / - [八、应用配置管理](https://yuyy.info/?p=1823) - 需求来源 可变的配置不能放到容器里,否则配置改变,需要重新构建镜像 ConfigMap —— 资源 敏感信息的 - [四、理解 Pod 和容器设计模式](https://yuyy.info/?p=1812) - 为什么需要 Pod 容器的本质 一个视图被隔离、资源受限的进程 容器里 PID = 1 的进程就是应用本身 管 - [七、应用编排与管理:Job 和 DaemonSet](https://yuyy.info/?p=1820) - Job 背景问题 我们如何保证 Pod 内进程正确的结束? 如何保证进程运行失败后重试? 如何管理多个任务,且 - [五、应用编排与管理:核心原理](https://yuyy.info/?p=1815) - 资源元信息 资源对象 Spec 部分用来描述期望的状态 Status 部分用来描述观测到的状态 元数据 Lab - [动态代理+读写锁实现线程安全的HashMap缓存工具类](https://yuyy.info/?p=1280) - 背景 jdk1.8之前是没有线程安全的集合工具类,例如currentHashMap,那怎样实现高效、线程安全的 - [查找第K小/大数据,千万数据排序](https://yuyy.info/?p=1422) - 思路 刚开始我以为这题的考点是如何快速读取文件(因为这是公司多线程学习分享后布置的作业),我就用多线程来解题。 - [HashMap源码解读:扩容](https://yuyy.info/?p=1496) - HashMap源码解读:扩容 引言 HashMap的扩容是个很重要的操作,jdk1.7往前这里会发生死链问题, - [使用双花括号初始化集合,可别这么干](https://yuyy.info/?p=1500) - Double Brace Initialization should not be used 前言 最近在修改 - [实战代理模式,模拟Mybatis](https://yuyy.info/?p=1595) - 实战代理模式,模拟Mybatis 在使用mybatis操作数据库时,我们只需要定义一个接口,然后在xml里编写 - [利用 Spring Boot Admin 对 Spring Boot 应用监控以及配置认证](https://yuyy.info/?p=1801) - 前言 Spring Boot Admin 是一个优秀的 Spring Boot 应用监控,可以查看应用的各项性 - [Java垃圾回收(一)](https://yuyy.info/?p=1356) - GC 一、定义 1. 什么是垃圾 没有引用的对象(注意Java引用分为强软弱虚) 2. 怎么找到垃圾 引用计数 - [ComparisonChain-文件名排序](https://yuyy.info/?p=584) - 实现Comparable接口 @Getter @Setter @Builder @ToString publi - [Java引用:强、软、弱、虚](https://yuyy.info/?p=1295) - Java引用分为强引用、软引用、弱引用、虚引用 一、强引用 public class M { @Overrid - [Java:ThreadLocal](https://yuyy.info/?p=1297) - ThreadLocal结构图 结构变化后带来的好处 早期ThreadLocalMap里的Entry较多,每个线 - [Hello Word](https://yuyy.info/?p=1) - 刚搭好环境,目前网站备案初审也过了,正在送往管局,不过WordPress更新还在报错504 Gateway T - [利用脚本定时提交笔记](https://yuyy.info/?p=1292) - 使用Markdown来做笔记,但每次在家里要使用时,都要远程公司,提交笔记到git,再在家里电脑上拉取,这是个 - [博客又搬家了](https://yuyy.info/?p=1308) - 迁移博客 ​ 刚开始时,我的博客和及应用都是直接部署服务器的。在去年,由于服务器中了挖矿病毒( 老李 帮我解决 - [代码重构,消灭if](https://yuyy.info/?p=1411) - 最近工作中,开发一个功能,可以参照已有类似的功能。二话不说,CtrlCV,修修补补,完事。 写完后,看着这段代 - [JMH基准测试](https://yuyy.info/?p=1447) - 前言 我们写的代码性能如何?用StopWatch来监控方法得出方法执行时间就是准确的? 使用JMH就可以回答第 - [三、责任链模式](https://yuyy.info/?p=1463) - 责任链模式 定义 在职责链模式中,多个处理器依次处理同一个请求。一个请求先经过 A 处理器处理,然后再把请求传 - [单一职责原则](https://yuyy.info/?p=1628) - 单一职责原则 定义 单一职责原则的英文是 Single Responsibility Principle,缩写 - [利用Mybatis拦截器,全局处理入库字段](https://yuyy.info/?p=1687) - 利用Mybatis拦截器,全局处理入库字段 场景 需要对某张表的个别字段删除全部空格、替换半角括号,但是项目里 - [全局日志记录traceId](https://yuyy.info/?p=1684) - 全局日志记录traceId 单体应用为了更方便的排查问题,使用过滤器+日志框架的MDC功能,实现每个请求产生的 - [Spring Boot多任务并发处理](https://yuyy.info/?p=1682) - Spring Boot多任务并发处理 创建公共线程池 @ConfigurationProperties(pre - [【SpringCloud】一、微服务架构简介](https://yuyy.info/?p=1655) - 什么是微服务 微服务是2014年提出的概念 微服务是一种架构风格 一个应用拆分为一组小型服务 每个服务运行在自 - [【SpringCloud】二、项目基础搭建](https://yuyy.info/?p=1660) - IDEA搭建项目必要操作 字符编码 Settings - File encoding-utf8 勾选Trans - [【SpringCloud】三、Eureka](https://yuyy.info/?p=1662) - Eureka Eureka停更说明 https://github.com/Netflix/eureka/wik - [【SpringCloud】四、Eureka集群](https://yuyy.info/?p=1666) - Eureka集群 高可用、故障容错 负载均衡 节点之间相互注册,相互守望 cloud-eureka-serve - [【SpringCloud】五、Ribbon](https://yuyy.info/?p=1673) - Ribbon 简介 Spring Cloud Ribbon也是基于Netflix Ribbon实现的一套客户端 - [【SpringCloud】六、Open Feign](https://yuyy.info/?p=1675) - Open Feign Feign Feign声明式WebService客户端,旨在使编写Java Http客户 - [LeetCode:扁平化嵌套列表迭代器_341](https://yuyy.info/?p=1658) - 思路 这题我使用了两种解法 遍历N叉树 首先分析题目得知,该数据结构是N叉树,需要的是所有叶子节点 迭代器惰性 - [联想NAS A1调研](https://yuyy.info/?p=1565) - 优点 网速快 相比百度云,上传下载速度快,上传网速一般在10M到50M左右,下载50-100M,看个人网络 B - [接口隔离原则](https://yuyy.info/?p=1641) - 接口隔离原则 定义 Interface Segregation Principle:客户端不应该被强迫依赖它不 - [依赖倒置原则](https://yuyy.info/?p=1639) - 依赖倒置原则 定义 高层模块不要依赖低层模块,应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体 - [里式替换原则](https://yuyy.info/?p=1636) - 里式替换原则 定义 Liskov Substitution Principle:子类对象能够替换程序中父类对象 - [开闭原则](https://yuyy.info/?p=1634) - 开闭原则 定义 英文全称是Open Closed Principle,软件实体(模块、类、方法等)应该“对扩展 - [第一章、JVM和Java体系架构](https://yuyy.info/?p=1623) - 第一章、JVM和Java体系架构 JVM整体结构 方法区和堆是线程共享的 Java栈、本地方法栈、程序计数器是 - [十九、迭代器模式](https://yuyy.info/?p=1620) - Iterator Design Partern 作用 遍历容器实现复杂,并且方式有多种,例如遍历二叉树时,有前 - [五、装饰器模式](https://yuyy.info/?p=1468) - 装饰器模式 定义 通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。 实现方式 IA 需要增强的功 - [LeetCode:把二叉搜索树转换为累加树_538](https://yuyy.info/?p=1617) - 思路 首先二叉搜索树需要中序遍历,但如果是中序遍历,计算前面节点依赖于后面节点的结果。所以将中序遍历倒过来即可 - [LeetCode:二叉搜索树中第K小的元素_230](https://yuyy.info/?p=1614) - 思路 利用二叉搜索树的特征:中序遍历后是个递增的序列,很容易就AC了。 这样的时间复杂度是O(n),如果节点已 - [LeetCode:寻找重复的子树_652](https://yuyy.info/?p=1603) - 思路 问题一:如果遍历比较 遍历所有节点,然后两两比较。时间复杂度O(n)。一看性能就不行。 利用set来判断 - [LeetCode:二叉树的序列化与反序列化_297](https://yuyy.info/?p=1607) - 思路 使用前序遍历序列化,遍历的元素往链表末尾添加,根节点先添加,再左子节点,右子节点。所以根节点在链表头部, - [十八、代理模式](https://yuyy.info/?p=1590) - Proxy Design Pattern 作用 对原有功能进行增强,注意这里的增强是增加额外的功能,和原有功能 - [十七、访问者模式](https://yuyy.info/?p=1587) - Visitor pattern 因为它难理解、难实现,应用它会导致代码的可读性、可维护性变差,所以,访问者模式 - [十六、备忘录模式](https://yuyy.info/?p=1583) - Memento Design Pattern 定义 在不违背封装原则的情况下,捕获一个对象的内部状态,并在该对 - [LeetCode:回文链表_234](https://yuyy.info/?p=1580) - 思路 简单的方法是遍历一边链表,存入数组,再从首尾往中间判断是否相等。但是题目说了,进阶的解法是空间复杂度为O - [十五、状态模式](https://yuyy.info/?p=1576) - State Pattern 有限状态机 简称状态机, 由三部分组成:状态、事件、动作。事件触发状态转移,执行动 - [LeetCode:最长回文子串_5](https://yuyy.info/?p=1574) - 思路 算是入门题了,运用双指针即可。 题目 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: - [Leetcode:验证回文串_125](https://yuyy.info/?p=1572) - 思路 判断是否为回文字符串,最开始想到的是找到中点,利用双指针往外扩。后来发现直接从头尾往中间收就行了。 有两 - [LeetCode:K个一组翻转链表_25](https://yuyy.info/?p=1555) - 思路 反转链表II_92的进阶,主要是利用递归思想,拆解重复问题。 题目 给你一个链表,每 k&nb - [LeetCode:反转链表II_92](https://yuyy.info/?p=1551) - 思路 这种题就很烦,你说它难吧,它就是在反转链表_206的基础上增加了个数量限制。你说它不难吧,边界问题折磨死 - [十四、桥接模式](https://yuyy.info/?p=1548) - Bridge Design Pattern 两种理解方式 GoF的《设计模式》 桥接模式定义为:让抽象和实现解 - [十三、门面模式](https://yuyy.info/?p=1546) - Facade Design Pattern 前言 之前遇到过一个场景,绩效分为标注绩效,质检绩效,不同的公司展 - [LeetCode:相交链表_160](https://yuyy.info/?p=1506) - 思路 这题的解法有些独特,可能是我太久没接触几何相关的问题了,要是放在初中,应该还是能想出来。 两个链表都需要 - [LeetCode:反转链表_206](https://yuyy.info/?p=1520) - 思路 基础的递归思维,再一次用到了虚拟头结点。 题目 给你单链表的头节点 head ,请你反转链表,并返回反转 - [十二、命令模式](https://yuyy.info/?p=1531) - Command Design Pattern 定义 将命令(函数)封装成对象。 实现方式 Command pu - [十一、组合模式](https://yuyy.info/?p=1526) - Composite Design Patten 定义 使用树形结构来表示业务场景里的数据,业务逻辑通过递归来实 - [十、享元模式](https://yuyy.info/?p=1524) - Flyweight 定义 共享存储单元,节约内存空间。 使用场景 例如文本编辑器里,每个字符都有字体大小,显示 - [LeetCode:删除链表的倒数第N个结点_19](https://yuyy.info/?p=1518) - 思路 利用快慢指针,快指针先走n步,慢指针才开始走,快指针走到终点时,慢指针所在的位置就是倒数n节点。 题目 - [LeetCode:环形链表II_142](https://yuyy.info/?p=1514) - 思路 环形链表_141的升级版,根据上一题已经能求出快慢指针在C点相遇,接下来就是求B点。 假设环形周长为m - [LeetCode:环形链表_141](https://yuyy.info/?p=1510) - 思路 龟兔赛跑的套路,使用快慢指针,相遇即有环。 注意:是慢指针正常速度,快指针两倍速度。不是快指针正常速度, - [九、原型模式](https://yuyy.info/?p=1494) - Prototype Design Pattern 适用场景 创建对象过程复杂,消耗性能。但内存中已有一个对象, - [八、建造者模式](https://yuyy.info/?p=1492) - 建造者模式 适用场景 创建对象的参数很多 如果参数为非必填的话,可以使用set方法,必填的通过构造方法传入,并 - [LeetCode:链表的中间结点_876](https://yuyy.info/?p=1490) - 思路 一次遍历链表,寻找中间节点。两个信息,一、要遍历完,二、遍历完时需要遍历到中间节点。所以需要两个指针,并 - [LeetCode:合并K个升序链表_23](https://yuyy.info/?p=1488) - 思路 这题是21的升级版,从两路归并到多路归并,其中运用了优先队列来优化。感觉这题谈不上困难,只是运用了两个知 - [LeetCode:合并两个有序链表_21](https://yuyy.info/?p=1486) - 思路 基础班双指针,还有归并的思想 题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定 - [LeetCode:二叉树展开为链表_114](https://yuyy.info/?p=1484) - 思路 最终需要的结果是前序遍历,最简单的方式就是递归前序遍历,结果存到队列里,最后再组装。难一点的就是一边遍历 - [六&七、工厂模式](https://yuyy.info/?p=1482) - 工厂模式 作用 唯一的职责就是创建对象,将复制的创建过程,获取对象的逻辑与对象的使用进行解耦。 分为简单工厂、 - [LeetCode117. 填充每个节点的下一个右侧节点指针_II](https://yuyy.info/?p=1478) - 思路 116题还能通过画图看出规律,但这是升级版,非完美二叉树。这题很容易想到用层次遍历,但是是中等难度,肯定 - [LeetCode560. 和为K的子数组](https://yuyy.info/?p=1476) - 思路 首先想到的是暴力求解,双重循环得出所有连续子串,但是多半要超时。没想到其他办法。看了题解,学到了前缀和的 - [LeetCode18. 四数之和](https://yuyy.info/?p=1374) - 一、思路 分治:将问题拆解为两数之和加第三个数和第四个数 二、问题 给定一个包含 n 个整数的数组 nums - [LeetCode15. 三数之和](https://yuyy.info/?p=1372) - 一、思路 分治:将问题拆解为两数之和加第三个数 二、问题 给你一个包含 n 个整数的数组 nums,判断 nu - [四、观察者模式](https://yuyy.info/?p=1466) - 观察者模式 定义 在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。 - [二、适配器模式](https://yuyy.info/?p=1461) - 适配器模式 定义 适配器模式的英文翻译是 Adapter Design Pattern。顾名思义,这个模式就是 - [排序算法(冒泡,快排,插入)](https://yuyy.info/?p=1433) - 冒泡排序 @Test public void test() { int[] arr = new int[]{3 - [线程池(一)What Is ThreadPool](https://yuyy.info/?p=1416) - 一、写在前面 1.1 线程池是什么 线程池(Thread Pool)是一种基于池化思想管理线程的工具,经常出现 - [IDEA的使用以及快捷键](https://yuyy.info/?p=604) - IDEA快捷键 alt+f1 打开于 ctrl+shift+f7 高亮当前变量、方法在此文件里所有使用的地方 - [LeetCode1114. 按序打印](https://yuyy.info/?p=1409) - 一、思路 多个线程顺序执行,方法有很多,例如CountDownLatch,wait,volatile,join - [LeetCode877. 石子游戏](https://yuyy.info/?p=1403) - 一、思路 第一时间想到的是动态规划,后来看题解发现,这玩意没那么复杂。 A和B比赛,没有平局,有两种结局。一、 - [LeetCode986. 区间列表的交集](https://yuyy.info/?p=1384) - 一、思路 这个区间问题,在两个列表里,互相比较。采用双指针是实现这个过程。 分为两种情况,相交和不相交。相交情 - [LeetCode198. 打家劫舍](https://yuyy.info/?p=1364) - 一、思路 这是典型的动态规划问题。要想得到最优策略,就得在每个选择时刻最出最优决策。选择产生状态,合并状态得到 - [LeetCode213. 打家劫舍II](https://yuyy.info/?p=1366) - 一、思路 相比打家取舍一,不能同时偷第一家和最后家。就是多了个选择,要不偷第一家,要不偷最后家。 动态规划问题 - [LeetCode337. 打家劫舍III](https://yuyy.info/?p=1368) - 一、思路 与前两道打家取舍相比,结合了二叉树。 选择变成了,偷当前节点,下一步就去偷孙子节点。不偷当前节点,就 - [LeetCode1. 两数之和](https://yuyy.info/?p=1370) - 一、思路 利用哈希表优化O(n)复杂度的查找,这是工作中常见优化点。 二、问题 给定一个整数数组 nums 和 - [LeetCode167. 两数之和II_输入有序数组](https://yuyy.info/?p=1376) - 一、思路 题目凸显了有序,一般来说,有序和双指针关联,无序和哈希表关联。 这里就是用双指针解决的 二、问题 给 - [LeetCode1288. 删除被覆盖区间](https://yuyy.info/?p=1378) - 一、思路 通过画图分析出区间覆盖的条件 区间问题一般通过排序,才能更好的处理 二、问题 给你一个区间列表,请你 - [LeetCode56. 合并区间](https://yuyy.info/?p=1382) - 一、思路 通过画图找规律 区间问题先排序 二、问题 以数组 intervals 表示若干个区间的集合,其中单个 - [LeetCode188. 买卖股票的最佳时机IV](https://yuyy.info/?p=1392) - 一、思路 选择是有上限的,10张彩票让你买,你最多也只能买10张。 为什么在乎这个选择的数量呢?因为我将题目中 - [LeetCode123. 买卖股票的最佳时机III](https://yuyy.info/?p=1390) - 一、思路 找出选择和状态 二、问题 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计 - [LeetCode122. 买卖股票的最佳时机II](https://yuyy.info/?p=1388) - 一、思路 找出选择和状态 二、问题 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 - [LeetCode121. 买卖股票的最佳时机](https://yuyy.info/?p=1386) - 一、思路 找出选择和状态 二、问题 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示 - [LeetCode226. 翻转二叉树](https://yuyy.info/?p=1362) - 一、思路 我还想着二叉树遍历(非递归)忘了呢,转念一想,这儿又没有要求不能用递归,递归它不香吗? 二、问题 翻 - [LeetCode116. 填充每个节点的下一个右侧节点指针](https://yuyy.info/?p=1360) - 一、思路 经过画图发现,儿子之间连接没问题。但是不同父亲的孙子连接有问题,解决一个倒还好,巧妙的是经过递归,可 - [Java多线程(一)](https://yuyy.info/?p=1353) - 一、线程 1. 线程方法 new T1().run() 调用run方法,同步的 Thread.yield() - [LeetCode3. 无重复字符的最长子串](https://yuyy.info/?p=1349) - 一、思路 这题也是滑动窗口类型,判断窗口内是否有重复值时,我使用的是集合+队列。集合判断是否重复,队列记录窗口 - [LeetCode438. 找到字符串中所有字母异位词](https://yuyy.info/?p=1346) - 一、思路 这题虽然也是滑动窗口,但是是属于比较“死板”的滑动窗口,因为它的窗口是固定的,所以有相对简单的解法。 - [LeetCode76. 最小覆盖子串](https://yuyy.info/?p=1344) - 一、思路 熟悉下滑动窗口算法,虽然能理解,但细节问题还是遇到很多。调试了很多遍才通过。 最后个用例过不了,用例 - [LeetCode704. 二分查找](https://yuyy.info/?p=1326) - 一、思路 这是最基本的二分,easy! 说一下这里:int mid = left + ((right - le - [LeetCode46. 全排列](https://yuyy.info/?p=1324) - 一、介绍 这是基础的回溯题了。 二、题目 给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输 - [LeetCode111. 二叉树的最小深度](https://yuyy.info/?p=1322) - 一、介绍 这题居然可以用广搜,感觉自己对广搜的理解还是太狭隘了,多刷点这方面的题吧。 二、题目 给定一个二叉树 - [LeetCode51. N皇后](https://yuyy.info/?p=1320) - 一、介绍 这题看似简单的回溯,却有很多边界问题,足足搞了3-4个小时才通过。 二、题目 n 皇后问题 - [LeetCode752. 打开转盘锁](https://yuyy.info/?p=1318) - 一、认识 最近跟朋友聊到刷题,朋友建议我先将思路写下来,理清楚了再开始写代码。这样做确实有好处,因为写思路时, - [软件设计第一步——需求分析之用例图](https://yuyy.info/?p=1310) - 用例图 一、介绍 用例图是需求分析的重要部分,细化用例图就能得到类图,后续根据类图开发程序。用例图由参与者、用 - [LeetCode509. 斐波那契数](https://yuyy.info/?p=1301) - 一、介绍 斐波那契数应该是动态规划的入门题,看到过很多次了。解法一般分为两种,自下而上和自上而下+备忘录(优化 - [转载:中国程序员容易发音错误的单词](https://github.com/shimohq/chinese-programmer-wrong-pronunciation#new_tab) - [剑指 Offer 16. 数值的整数次方](https://yuyy.info/?p=1287) - 1. 要点 这道题一看就是考优化,尝试了很多次才过了,要点的话,就是用数组存结果时(打表),创建的数组太大,空 - [LeetCode99. 恢复二叉搜索树](https://yuyy.info/?p=1285) - 1. 要点 二叉搜索树的特点:中序遍历结果递增,可用来做验证 复习下中序遍历(太久没写,写成前后序遍历的先pu - [转载:代理模式(动态代理、静态代理)](https://www.cnblogs.com/zhai1997/p/12257150.html#new_tab) - [转载:cglib动态代理](https://www.cnblogs.com/wyq1995/p/10945034.html#new_tab) - [LeetCode105.从前序与中序遍历序列构造二叉树](https://yuyy.info/?p=1271) - 1. 要点 利用Map来优化For循环,减少时间复杂度 2. 题目 根据一棵树的前序遍历与中序遍历构造二叉树。 - [转载:Docker基本使用(尚硅谷)](http://yuyy.info/file/Docker.html#new_tab) - [转载:解决Maven冲突](https://segmentfault.com/a/1190000023446358#new_tab) - [JavaIO笔记](https://yuyy.info/?p=1245) - 1. 什么是流 内存与存储设备之间传输数据的管道 2. 流的分类 按方向 输入流 输出流 按单位 字节流 以字 - [MySQL使用笔记](https://yuyy.info/?p=980) - CREATE VIEW AS 存储过程 mysql> de - [数据库基础笔记](https://yuyy.info/?p=1247) - 涵盖内容 ACID,NULL,MVCC,约束、概念模型、第三范式、连接 1. ACID 数据库管理系统中事务( - [CSS(初级)笔记](https://yuyy.info/?p=1241) - 涵盖内容 1.熟悉css基本语法,以及css工作原理 2.熟练使用css selector 常规选择器clas - [HTML(初级)笔记](https://yuyy.info/?p=1229) - 涵盖内容 基本语法、标签、声明、属性 标签属于什么元素,内联/内联-块级/块级元素 元素 + "HTML 标签 - [学习Java注解](https://yuyy.info/?p=1209) - 转自黑马程序员 代码地址 1.介绍 概念:说明程序的。给计算机看的 注释:用文字描述程序的。给程序员看的 定义 - [HTTP请求幂等性](https://blog.csdn.net/kepengs/article/details/82706721#new_tab) - [restful 对于REST中无状态(stateless)的一点认识](https://blog.csdn.net/indieinside/article/details/39671561#new_tab) - [Eclipse使用以及快捷键](https://yuyy.info/?p=602) - 快捷键 Ctrl+Shift+i debug时查看变量的值 Ctrl+L 跳转到指定行 alt+shift+x - [常用工具类与commons 类库](https://yuyy.info/?p=1200) - Commons类库 commons: 一套开发源码、免费使用、商业友好的优秀API作为Java自带API的补充 - [SpringBoot缓存使用](https://yuyy.info/?p=1196) - SpringBoot缓存使用 JSR-107 什么是JSR-107 JSR是Java Specificatio - [LeetCode:98.验证二叉搜索树](https://yuyy.info/?p=1193) - 1.要点 搞清楚搜索二叉树和中序遍历的关系 看看甜姨的递归(直接用答题的函数,一直往上return) 2.题目 - [剑指Offer:面试题07.重建二叉树](https://yuyy.info/?p=1190) - 1.要点 二叉树遍历 重复在数组中查找某个数时(重复+查找=二重循环),应考虑是否可以用map 2.题目 输入 - [剑指Offer:面试题10-II.青蛙跳台阶问题](https://yuyy.info/?p=1185) - 1.要点 动态规划思想 斐波拉奇数列变种 2.题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙 - [剑指Offer:面试题09. 用两个栈实现队列](https://yuyy.info/?p=1173) - 1.要点 使用java的同学请注意,如果你使用Stack的方式来做这道题,会造成速度较慢; 原因的话是Stac - [剑指Offer:面试题10-I. 斐波那契数列](https://yuyy.info/?p=1177) - 1.要点 Java中基本类型的取值范围 斐波拉奇数列从后往前递归时会有大量重复运算。例如 fn(10)=fn( - [12种Java中常用的语法糖深度解析](https://blog.csdn.net/u013452337/article/details/90171881#new_tab) - [前端培训二:前端代码规范](https://yuyy.info/?p=1167) - html规范 实用为王,减少标签的数量 尽量遵循 HTML 标准和语义,但是不要以牺牲实用性为代价。任何时候都 - [剑指Offer:面试题06.从尾到头打印链表](https://yuyy.info/?p=1157) - 要点 场景是先进后出,栈或递归都可以 题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回) - [剑指Offer:面试题05.替换空格](https://yuyy.info/?p=1152) - 题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are - [Quartz定时任务触发器启动时设置](https://yuyy.info/?p=1149) - 需求 为了将触发器的Cron表达式放在数据库里,方便维护。所以需要在项目启动时去数据库获取Cron表达式,并配 - [设计模式:责任链模式](https://www.cnblogs.com/lazyegg/p/12696157.html#new_tab) - [LeetCode:1011.在D天内送达包裹的能力](https://yuyy.info/?p=1145) - 题目 传送带上的包裹必须在 D 天内从一个港口运送到另一个港口。传送带上的第 i 个包裹的重量为 weight - [剑指Offer:面试题04. 二维数组中的查找](https://yuyy.info/?p=1141) - 面试题04. 二维数组中的查找 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都 - [水哥的代码](https://yuyy.info/?p=1135) - 学习下大佬的代码风格 - [LeetCode:11. 盛最多水的容器](https://yuyy.info/?p=1127) - 题目描述 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内 - [MyEclipse从目录里移除所有项目](https://yuyy.info/?p=1125) - 1.进入工作空间 2.进入.metadata\.plugins\org.eclipse.core.resour - [编码规范](https://yuyy.info/?p=1120) - 为什么要有编码规范 编码规范对于程序员而言尤为重要,有以下几个原因: 一个软件的生命周期中,80%的花费在于维 - [50道SQL练习题](https://yuyy.info/?p=965) - 数据库准备 在服务器上创建好数据库后需要配置访问权限,否则会报错Access denied for user - [MySQL变量](https://yuyy.info/?p=1099) - 一、系统变量 说明:变量由系统提供的,不用自定义 语法: 查看系统变量 show 【global|sessio - [面试官:反射都不会,还敢说自己会Java?](https://blog.csdn.net/Mr_wxc/article/details/105812627#new_tab) - [代码复查](https://yuyy.info/?p=1088) - new Date(xx.getTime() + 5 * 1000) 时间操作,请用日历类或 java 8 的时 - [@Convert注解:将List等不是基本数据类型的变量存入的数据库中](https://blog.csdn.net/wanping321/article/details/82670753#new_tab) - [Java 编程思想、On Java 8中文版](https://lingcoder.github.io/OnJava8/#/sidebar#new_tab) - [Spring Boot Demo](https://github.com/xkcoding/spring-boot-demo#new_tab) - [中文技术文档的写作规范-阮一峰](https://github.com/ruanyf/document-style-guide#new_tab) - [SQL脚本里的go语句](https://www.cnblogs.com/cbattle/p/8784537.html#new_tab) - [LeetCode:1162. 地图分析](https://yuyy.info/?p=1011) - 题目描述 你现在手里有一份大小为 N x N 的『地图』(网格) grid,上面的每个『区域』(单元格)都用 - [Ego(电商项目)复盘](https://yuyy.info/?p=990) - 1.分析sql文件 1.1 tb_content 内容(门户广告) id bigint(20) categor - [数据结构一](https://yuyy.info/?p=982) - 数据项 数据项(data item)具有原子性,是不可分割的最小数据单位。 数据元素 数据元素(data el - [MySQL关键字](https://yuyy.info/?p=972) - RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_n - [数据库事务的隔离级别](https://yuyy.info/?p=970) - 数据库事务的隔离级别有4个,由低到高依次为Read uncommitted 、Read committed 、 - [Java数字表达式](https://yuyy.info/?p=968) - 八进制有一个前缀 0,例如 010 对应十进制中的 8; 十六进制有一个前缀 0x,例如 0xCAFE; 从 - [LeetCode:892. 三维形体的表面积](https://yuyy.info/?p=963) - 题目描述 在 N * N 的网格上,我们放置一些 1 * 1 * 1 的立方体。 每个值 v = grid[ - [Git-Api](https://yuyy.info/?p=961) - [01配置相关](https://yuyy.info/?p=947) - 1.介绍 这是一位大佬的写的,内容质量很高,而且也没有太深奥,不会导致我这种小白看不懂。没有采用收藏夹等方式来 - [Spring表达式语言:SpEL表达式](https://yuyy.info/?p=955) - 传送门 - [二十一.Vue解决跨域问题](https://yuyy.info/?p=942) - 1.问题描述 由于前后端分离开发,所以肯定会遇到跨域问题,一是开发环境中,二是生产环境中。 2.解决开发环境跨 - [Java集合](https://yuyy.info/?p=934) - Map 主要用于存储健值对,根据键得到值,因此不允许键重复(重复了就覆盖),但允许值重复。java为数据结构中 - [Array和ArrayList的不同点](https://yuyy.info/?p=932) - Array和ArrayList的不同点 Array可以包含基本类型和对象类型,ArrayList只能包含对象类 - [简单介绍一下java8的新特性](https://yuyy.info/?p=930) - 简单介绍一下java8的新特性 Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参 - [二十.接口调用](https://yuyy.info/?p=925) - 接口调用方式 原生ajax 基于jQuery的ajax fetch axios async 和 await 异 - [十九.使用Vue脚手架](https://yuyy.info/?p=922) - 1.Vue脚手架 Vue脚手架可以快速生成Vue项目基础的架构。 1. 安装3.x版本的Vue脚手架: npm - [十八.Webpack中使用Vue](https://yuyy.info/?p=911) - 1.Webpack中使用Vue 运行cnpm i vue -S将vue安装为运行依赖; 导入vue impor - [十七.Webpack的使用](https://yuyy.info/?p=904) - 网页中引入的静态资源多了以后有什么问题??? 网页加载速度慢, 因为 我们要发起很多的二次请求; 要处理错综复 - [十六.Vue监控数据](https://yuyy.info/?p=902) - vue-监控数据 方式一:@keyup - [十五.Vue路由](https://yuyy.info/?p=897) - 什么是路由 后端路由:对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源; - [十二.Vue组件](https://yuyy.info/?p=877) - 定义Vue组件 什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同 - [二.Vue基础使用](https://yuyy.info/?p=844) - 基本语法 {{value}}插值表达式 - [十四.组件案例-评论列表](https://yuyy.info/?p=887) - [十三.Vue父子组件传值](https://yuyy.info/?p=885) - 父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 - [十一.Vue过渡动画](https://yuyy.info/?p=874) - 1. 使用过渡类 .v-enter,.v-leave-to{ opacity: 0 - [十.vue-resource实现get, post, jsonp请求](https://yuyy.info/?p=872) - vue-resource 实现 get, post, jsonp请求 methods:{ getInfo(){ - [九.Vue实例的生命周期](https://yuyy.info/?p=870) - 什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期! 生命 - [一.Vue介绍](https://yuyy.info/?p=842) - 什么是Vue Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站 - [八.自定义命令](https://yuyy.info/?p=864) - 使用自定义命令 搜索名字关键字: - [七.键盘修饰符](https://yuyy.info/?p=862) - 1. 使用默认的(enter,tab,ctrl...) - [六.过滤器](https://yuyy.info/?p=860) - 过滤器 - [五.品牌管理案例](https://yuyy.info/?p=858) - [四.双向数据绑定](https://yuyy.info/?p=855) - v-model双向数据绑定 只适用于表单元素(input,select,checkbox,textarea) - [三.跑马灯效果练习](https://yuyy.info/?p=849) - [二.SpringBoot整合Quartz框架](https://yuyy.info/?p=839) - 1. pom - [一.使用Scheduled 定时任务器](https://yuyy.info/?p=835) - 1. pom &l - [二.使用Redis](https://yuyy.info/?p=832) - 1. pom - [1.介绍-thymeleaf](https://yuyy.info/?p=672) - 简介 Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发,模板引擎是一个技术名词,是跨领域 - [一.使用Ehcache](https://yuyy.info/?p=827) - 1. pom net.sf.ehcache - [Maven 中optional.true和scope.provided之间的区别](https://yuyy.info/?p=797) - 1. 介绍 在添加依赖项时,我们可以使用optional标志,或将scope设置为“provided”。在这两 - [秋招要点](https://yuyy.info/?p=804) - 悲观锁 每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block - [SpringBoot快速部署](https://yuyy.info/?p=795) - 1. 热部署 < - [SpringBoot 整合 Junit 单元测试](https://yuyy.info/?p=792) - 1. pom.xml Eclipse创建时需要手动加依赖坐标 - [4.强大的 Stream API](https://yuyy.info/?p=764) - 1. 了解 Stream Java8中有两大最为重要的改变。第一个是 Lambda 表达式;另外一个则是 St - [1.Lambda表达式](https://yuyy.info/?p=755) - 为什么使用 Lambda 表达式 Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可 - [2.函数式接口](https://yuyy.info/?p=759) - 什么是函数式接口 只包含一个抽象方法的接口,称为函数式接口。 可以通过 Lambda 表达式来创建该接口的对象 - [3.方法引用与构造器引用](https://yuyy.info/?p=762) - 方法引用 当要传递给Lambda体的操作,已经有实现的方法了,可以使用方法引用!(实现抽象方法的参数列表,必须 - [MyBatis](https://yuyy.info/?p=735) - 1. 简介 原名叫ibatis 底层是对JDBC封装 数据访问层框架 2. 使用 配置文件 context.x - [JUnit-单元测试的简单使用](https://yuyy.info/?p=732) - 1. 安装JUnit File-->settings-->Plguins-->Browse - [1.Hibernate-Validate校验框架](https://yuyy.info/?p=661) - 1. 介绍 SpringBoot对表单数据校验采用了Hibernate-Validate校验框架 2. 实现 - [2. 整合 Filter](https://yuyy.info/?p=578) - 通过注解扫描完成 Filter 组件的注册 在servlet3.0之后,我们可以使用注解@WebFilter的 - [2.实现增删查改](https://yuyy.info/?p=722) - 1. 目录 2. mapper public interface UsersMapper { void ins - [1.建立项目](https://yuyy.info/?p=719) - 1. pom.xml org.springfram - [4.实现 HandlerExceptionResolver 接口处理异常](https://yuyy.info/?p=714) - 1. 介绍 优点:实现简单,可以注入异常信息到页面 2. 实现 @Configuration public c - [2.使用@ControllerAdvice+@ExceptionHandler 注解处理异常](https://yuyy.info/?p=706) - 1.介绍 建立一个专门负责处理异常的类 缺点:实现过程复杂 2.实现 @ControllerAdvice pu - [3.配置 SimpleMapingExceptionResolver 处理异常](https://yuyy.info/?p=710) - 1.介绍 @Configuration启动容器 @Bean注册Bean 缺点:无法注入异常信息到页面 2.实现 - [1.自定义错误页面](https://yuyy.info/?p=701) - 1.SpringBot 默认的处理异常的机制 一旦程序中出现了异常,SpringBoot会向/error的ur - [4.域对象操作-thymeleaf](https://yuyy.info/?p=692) - 1.request 对应的接口:javax.servlet.http.HttpServletRequest 概 - [3.语法详解-thymeleaf](https://yuyy.info/?p=679) - 1. 变量输出 th:text 输出内容 th:value 输出到value属性,例如input标签 2. 字 - [Wordress博客代码显示异常](https://yuyy.info/?p=674) - 自己写的代码显示出来总感觉很别扭 但是我明明安装了显示代码的插件 今天实在忍不住想弄清楚,然后发现 原来是和主 - [2.新建项目-thymeleaf](https://yuyy.info/?p=665) - 1. pom.xml - [iterator中的next()为什么要强转?](https://yuyy.info/?p=586) - List myFileList=new LinkedList(); - [StringUtils的常用方法](https://yuyy.info/?p=618) - 介绍 org.apache.commons.lang.StringUtils中方法的操作对象是java.lan - [学习分享一](https://yuyy.info/?p=616) - 1. 尽量封装代码,避免冗余 2. 常量比较直接使用equals,而不用StringUtils.equals - [PostMan-接口测试](https://yuyy.info/?p=645) - PostMan介绍 postman 是一款强大网页调试工具的客户端,postman为用户提供强大的 Web A - [3. 整合 Listener](https://yuyy.info/?p=580) - 通过注解扫描完成 Listener 组件的注册 1.1 编写 Listener /*** springBoot - [1. 整合 Servlet](https://yuyy.info/?p=567) - 通过注解扫描完成 Servlet 组件的注册 1.1 编写 servlet //SpringBoot 整合 S - [2.构建SpringBoot项目及启动器的讲解](https://yuyy.info/?p=556) - 构建springboot项目及启动器的讲解 使用maven构建springboot项目 create a si - [Python制作快递查询系统](https://yuyy.info/?p=187) - import json from tkinter import * import requests def g - [Dijkstra算法堆优化java版本](https://yuyy.info/?p=191) - public class DijkstraHeap { public static final int INF - [机场可视化监控系统](https://yuyy.info/?p=180) - Github https://github.com/EchoGroot/air.git 效果 http://y - [Java爬虫 web版](https://yuyy.info/?p=521) - Github https://github.com/EchoGroot/fourth_spring_simfy - [Java 登陆API开发](https://yuyy.info/?p=529) - Github https://github.com/EchoGroot/fourth_spring_simfy - [Java开发聊天室](https://yuyy.info/?p=535) - Github https://github.com/EchoGroot/training_2.git 效果 h - [4. 访问静态资源](https://yuyy.info/?p=582) - SpringBoot 从 classpath/static 的目录 classpath=src/main/re - [3. SpringBoot启动类](https://yuyy.info/?p=563) - springboot启动类 @SpringBootApplication public class App{ - [1.SpringBoot介绍](https://yuyy.info/?p=551) - SpringBoot介绍 Springboot设计目的是用来简化新spring应用的初始搭建以及开发过程。 嵌 - [员工薪资管理系统](https://yuyy.info/?p=500) - Github https://github.com/EchoGroot/EIMS.git 背景资料: 某单位现 - [Python 实现可视化抽奖](https://yuyy.info/?p=497) - 代码 from tkinter import * import threading import time r - [Python 练习册,每天一个小程序,第 0003 题](https://yuyy.info/?p=494) - 要求 将 0001 题生成的 200 个激活码(或者优惠券)保存到 Redis 非关系型数据库中。 代码 im - [Python 练习册,每天一个小程序,第 0002 题](https://yuyy.info/?p=492) - 要求 将 0001 题生成的 200 个激活码(或者优惠券)保存到 MySQL 关系型数据库中。 代码 imp - [Python 练习册,每天一个小程序,第 0001 题](https://yuyy.info/?p=490) - 要求 做为 Apple Store App 独立开发者,你要搞限时促销,为你的应用生成激活码(或者优惠券),使 - [Python 练习册,每天一个小程序,第 0000 题](https://yuyy.info/?p=487) - 要求 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图 - [Python利用Kmeans算法实现聚类分析](https://yuyy.info/?p=484) - http://yuyy.info/big_data/class_5_Kmeans算法实现聚类分析/9kmean - [Python爬取重庆交通大学官网](https://yuyy.info/?p=481) - 爬取重庆交通大学官网首页的时政要闻,并提取信息,将时政要闻的时间、标题全部导出显示 代码 import req - [Python处理Json文件](https://yuyy.info/?p=476) - 要求 (1)采用iTunes API做个小实验,利用关键词来生成JSON数据结果集。iTunes是由Apple - [Python利用Toshare:给上证50的股票是否值得投资评级](https://yuyy.info/?p=453) - http://yuyy.info/big_data/class_4_Toshare:给上证50的股票是否值得投 - [Python实现房价预测](https://yuyy.info/?p=451) - http://yuyy.info/big_data/class_1_PredictHousePrice/Hou - [Tableau的可视化实践](https://yuyy.info/?p=444) - 要求 使用Tableau,将sakila中的每个城市的客户统计信息,采用地图的方式可视化。 步骤 连接数据库 - [基于kettle的数据转换及可视化](https://yuyy.info/?p=434) - 要求 通过Kettle连接mysql数据库,在kettle建立job,将house中的一个表,增量备份到另外一 - [Excel的可视化实践](https://yuyy.info/?p=427) - 要求 采用excel,对sakila数据库中,每个城市的客户信息进行统计分析; 步骤 建立kettle转换 从 - [基于Python的数据可视化](https://yuyy.info/?p=424) - 针对贷款数据集,采用Python实现对贷款的风险预测 http://yuyy.info/big_data/cl - [kettle实现全量备份](https://yuyy.info/?p=414) - 要求 安装KETTLE+DEBEAVER+MYSQL,在mysql数据库上建house数据库,并将house数 - [最小生成树test1](https://yuyy.info/?p=411) - #include #include #define INF - [最小生成树test](https://yuyy.info/?p=409) - #include using namespace std; #define INF - [最小生成树Prim](https://yuyy.info/?p=407) - #include using namespace std; #define MAX - [最短路径test](https://yuyy.info/?p=405) - #include using namespace std; #define INF - [最大比例](https://yuyy.info/?p=403) - #include #include using namespac - [字符串处理_密文解密](https://yuyy.info/?p=401) - #include #include #include - [字符串处理_Soundex编码](https://yuyy.info/?p=399) - #include #include using names - [移动距离](https://yuyy.info/?p=397) - #include #include using namesp - [杨辉三角](https://yuyy.info/?p=395) - #include using namespace std; int a[35][35 - [完美正方形](https://yuyy.info/?p=393) - #include #include using namesp - [图形周长(Image Perimeters)_搜索](https://yuyy.info/?p=391) - #include #include using namesp - [算法提高新建MicrosoftWord文档](https://yuyy.info/?p=389) - #include #include #include - [算法提高逆序排列](https://yuyy.info/?p=387) - #include using namespace std; int main(){ - [算法提高快乐司机](https://yuyy.info/?p=385) - #include using namespace std; int main(){ - [算法提高9-1九宫格](https://yuyy.info/?p=383) - #include using namespace std; int main(){ - [四平方和](https://yuyy.info/?p=381) - #include #include #include - [水仙花](https://yuyy.info/?p=379) - #include int main() { for(int i=100;i - [数组初始化](https://yuyy.info/?p=377) - #include using namespace std; int main(){ - [数字金字塔](https://yuyy.info/?p=375) - #include int main() { int i,j,n; printf("请输 - [生日蜡烛](https://yuyy.info/?p=373) - #include using namespace std; int sum=236; - [三羊献瑞](https://yuyy.info/?p=371) - #include using namespace std; int main(){ - [入门训练Fibonacci数列](https://yuyy.info/?p=369) - #include #include using namespa - [日期问题](https://yuyy.info/?p=367) - #include #include using namesp - [任意次方的最后三位数](https://yuyy.info/?p=365) - #include int main() { int x,y,z=1; scanf("% - [取数位test](https://yuyy.info/?p=363) - #include int len(int x){ if(x - [取数位](https://yuyy.info/?p=361) - #include int len(int x){ if(x - [取法](https://yuyy.info/?p=359) - #include int main() { int sum=0; for(int i= - [求字符串中的字母数字数量1](https://yuyy.info/?p=357) - #include #include using namespa - [求闰年](https://yuyy.info/?p=355) - #include int main() { int year,month; print - [求话费](https://yuyy.info/?p=353) - #include int main() { double min,s; printf( - [判断奇偶数](https://yuyy.info/?p=351) - #include int main() { int a; scanf("%d",&a - [牌型种数](https://yuyy.info/?p=349) - #include #include using namesp - [模拟_城市网络](https://yuyy.info/?p=347) - #include using namespace std; int main() { - [密文搜索](https://yuyy.info/?p=345) - #include using namespace std; int main(){ - [煤球数目检测](https://yuyy.info/?p=343) - #include #include usin - [煤球数目](https://yuyy.info/?p=341) - #include using namespace std; int main(){ - [马虎的算式](https://yuyy.info/?p=339) - #include using namespace std; int main() { - [螺旋折线](https://yuyy.info/?p=337) - #include using namespace std; int main(){ - [菱形图案](https://yuyy.info/?p=335) - #include int main() { for(int j=0;j - [连号区间数](https://yuyy.info/?p=333) - #include using namespace std; int arr[5000 - [历届试题蚂蚁感冒](https://yuyy.info/?p=331) - #include using namespace std; int main(){ - [历届试题连号区间数](https://yuyy.info/?p=329) - #include using namespace std; int main(){ - [历届试题翻硬币](https://yuyy.info/?p=327) - #include using namespace std; int main(){ - [历届试题错误票据](https://yuyy.info/?p=325) - #include #include using namesp - [蓝桥杯C++B组剪邮票](https://yuyy.info/?p=323) - #include #include int chess[6] - [交换瓶子](https://yuyy.info/?p=321) - #include #include using namesp - [奖券数目](https://yuyy.info/?p=319) - #include using namespace std; int main(){ - [剪邮票](https://yuyy.info/?p=317) - #include #include #define MAX - [剪邮票(bfs + dfs)别人的](https://yuyy.info/?p=315) - #include #include #include&l - [剪邮票(bfs + dfs)](https://yuyy.info/?p=313) - #include #include #include - [加法变乘法](https://yuyy.info/?p=311) - #include #include using namesp - [基础练习特殊回文数](https://yuyy.info/?p=309) - #include using namespace std; int main(){ - [基础练习特殊的数字](https://yuyy.info/?p=307) - #include using namespace std; int main(){ - [基础练习数列排序](https://yuyy.info/?p=305) - #include using namespace std; int main(){ - [基础练习十六进制转八进制](https://yuyy.info/?p=303) - #include #include #include< - [回文数字](https://yuyy.info/?p=301) - #include #include #include - [黄金分割](https://yuyy.info/?p=299) - #include #include using namespa - [关联账户](https://yuyy.info/?p=297) - #include #define N 100 int connected(int* - [购物单](https://yuyy.info/?p=295) - #include using namespace std; int main(){ - [分巧克力](https://yuyy.info/?p=293) - #include using namespace std; int arr[1000 - [分解质因数](https://yuyy.info/?p=291) - #include bool oj(int n) { for(int i=2;i - [方形硬币(Square Coins)](https://yuyy.info/?p=289) - #include #include #include - [方格填数](https://yuyy.info/?p=287) - #include #include using namesp - [方格分割](https://yuyy.info/?p=285) - #include #include using namesp - [第一周_算法训练_前缀表达式](https://yuyy.info/?p=283) - #include #include #include - [第四周_算法训练_删除数组零元素](https://yuyy.info/?p=281) - #include #include using namespa - [第四周_算法提高_约数个数](https://yuyy.info/?p=279) - #include using namespace std; int main(){ - [第四周_算法提高_9-3摩尔斯电码](https://yuyy.info/?p=277) - #include #include using namesp - [第四周_算法提高_01背包](https://yuyy.info/?p=275) - #include #include using namesp - [第四周_历届试题_危险系数](https://yuyy.info/?p=273) - #include #include using namesp - [第十周算法训练出现次数最多的整数](https://yuyy.info/?p=271) - #include #include using namesp - [第十周算法训练Anagrams问题](https://yuyy.info/?p=269) - #include using namespace std; bool judge(c - [第十周算法提高9-2文本加密](https://yuyy.info/?p=267) - #include using namespace std; int main(){ - [第十周历届试题小朋友排队](https://yuyy.info/?p=265) - #include #include using namesp - [第十周历届试题剪格子](https://yuyy.info/?p=263) - #include #include using namesp - [第三周_算法训练_图形显示](https://yuyy.info/?p=261) - #include using namespace std; int main(){ - [第三周_算法提高_周期字串](https://yuyy.info/?p=259) - #include using namespace std; int main(){ - [第三周_算法提高_简单加法](https://yuyy.info/?p=257) - #include using namespace std; int main(){ - [第九周算法训练6-1递归求二项式系数值](https://yuyy.info/?p=255) - #include using namespace std; int dg(int a - [第九周算法提高十进制数转八进制数](https://yuyy.info/?p=253) - #include using namespace std; int main(){ - [第九周算法提高复数归一化](https://yuyy.info/?p=251) - #include #include using namespac - [第九周算法提高盾神与条状项链](https://yuyy.info/?p=249) - #include #include #include - [第二周_算法训练_寻找数组中最大值](https://yuyy.info/?p=247) - #include using namespace std; int main(){ - [第二周_算法提高_上帝造题五分钟](https://yuyy.info/?p=245) - #include using namespace std; int main(){ - [第二周_算法提高_日期计算](https://yuyy.info/?p=243) - #include using namespace std; int judge(in - [第二周_算法提高_矩阵相乘](https://yuyy.info/?p=241) - #include #include using namespa - [第二周_算法提高_递推求值](https://yuyy.info/?p=239) - #include using namespace std; class functi - [第二周_历届试题_数字游戏](https://yuyy.info/?p=237) - #include using namespace std; int main(){ - [第八周一历届试题拉马车](https://yuyy.info/?p=235) - #include #include #include - [第八周一历届试题九宫幻方](https://yuyy.info/?p=233) - #include #include using namesp - [第八周一历届试题Excel地址](https://yuyy.info/?p=231) - #include using namespace std; char ch[20]; - [第八周算法训练关联矩阵](https://yuyy.info/?p=229) - #include #include using namesp - [第八周算法提高求最大值](https://yuyy.info/?p=227) - #include #include using namesp - [第八周历届试题带分数](https://yuyy.info/?p=225) - #include #include using namesp - [递增三元组](https://yuyy.info/?p=223) - #include using namespace std; int arrA[100 - [大臣的旅费](https://yuyy.info/?p=221) - #include #include #include - [错误票据test](https://yuyy.info/?p=219) - #include #include #include - [错误票据](https://yuyy.info/?p=217) - #include #include #include - [凑算式](https://yuyy.info/?p=215) - #include using namespace std; int main(){ - [抽签](https://yuyy.info/?p=213) - #include #include using names - [乘积尾零](https://yuyy.info/?p=211) - #include #include using namespac - [乘法九九表](https://yuyy.info/?p=209) - #include int main() { for(int i=0;i - [承压计算](https://yuyy.info/?p=207) - #include #include #include - [产生随机数](https://yuyy.info/?p=205) - #include #include #include< - [包子凑数](https://yuyy.info/?p=203) - #include using namespace std; int n; int a - [Torry的困惑(基本型)](https://yuyy.info/?p=201) - #include #include using namesp - [test_串结束符标志](https://yuyy.info/?p=199) - #include #include using namesp - [Prim算法实现_桂平ppt](https://yuyy.info/?p=197) - #include #include #define INF - [P3366模板最小生成树](https://yuyy.info/?p=195) - #include #include using namespa - [k倍区间](https://yuyy.info/?p=193) - #include using namespace std; int main(){ - [Python做数据处理:Olympics Data Procession](https://yuyy.info/?p=73) - http://yuyy.info/big_data/class_3_Python做数据处理:Olympics - [dp最长非降序子串](https://yuyy.info/?p=159) - #include using namespace std; int main(){ - [dp二维求苹果](https://yuyy.info/?p=157) - #include using namespace std; int arr[10][ - [dp背包](https://yuyy.info/?p=155) - #include using namespace std; int arr[][4] - [39级台阶](https://yuyy.info/?p=153) - #include using namespace std; int count=0; - [求最大公约数](https://yuyy.info/?p=151) - // 求最大公约数.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" # - [洛谷P1187 3D模型](https://yuyy.info/?p=149) - // 洛谷P1187 3D模型.cpp : 定义控制台应用程序的入口点。 // #include "stdaf - [洛谷P1014 Cantor表](https://yuyy.info/?p=147) - // 洛谷P1014 Cantor表.cpp : 定义控制台应用程序的入口点。 // #include "st - [洛谷P1014](https://yuyy.info/?p=145) - // 洛谷P1014.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" - [洛谷1723 高手过愚人节](https://yuyy.info/?p=143) - // 洛谷1723 高手过愚人节.cpp : 定义控制台应用程序的入口点。 // #include "stda - [洛谷1002优化算法_加法定理](https://yuyy.info/?p=141) - // 洛谷1002优化算法_加法定理.cpp : 定义控制台应用程序的入口点。 // #include "st - [洛谷1002深搜dfs](https://yuyy.info/?p=139) - // 洛谷1002深搜dfs.cpp : 定义控制台应用程序的入口点。 // #include "stdafx - [洛谷_P1017 进制转换](https://yuyy.info/?p=137) - // 洛谷_P1017 进制转换.cpp : 定义控制台应用程序的入口点。 // #include "stda - [构造哈夫曼树的哈夫曼算法](https://yuyy.info/?p=135) - #include "stdafx.h" #include "stdio.h" #define maxval 1 - [zoj3124 Celebrity jeopardy](https://yuyy.info/?p=133) - // zoj3124 Celebrity jeopardy.cpp : 定义控制台应用程序的入口点。 // # - [zoj2812 Quicksum 数学题](https://yuyy.info/?p=131) - // zoj2812 Quicksum 数学题.cpp : 定义控制台应用程序的入口点。 // #includ - [ZOJ2176 SpeedLimit 数学题](https://yuyy.info/?p=129) - // ZOJ2176 SpeedLimit 数学题.cpp : 定义控制台应用程序的入口点。 // #incl - [ZOJ-1948-团队队列](https://yuyy.info/?p=127) - // ZOJ-1948-团队队列.cpp : 定义控制台应用程序的入口点。 // #include "stda - [ZOJ-1405Tanning Salon](https://yuyy.info/?p=125) - // ZOJ-1405Tanning Salon.cpp : 定义控制台应用程序的入口点。 // #inclu - [ZOJ1295 Reverse Text](https://yuyy.info/?p=123) - // ZOJ1295 Reverse Text.cpp : 定义控制台应用程序的入口点。 // #includ - [ZOJ1251 Box of Bricks(POJ1477) 很简单 数学题](https://yuyy.info/?p=121) - // ZOJ1251 Box of Bricks(POJ1477) 很简单 数学题.cpp : 定义控制台应用 - [zoj1099html_2](https://yuyy.info/?p=119) - #include "stdafx.h" #include #include - [zoj1099_html格式转换](https://yuyy.info/?p=117) - // zoj1099_html格式转换.cpp : 定义控制台应用程序的入口点。 // #include "s - [ZOJ1045HangOver](https://yuyy.info/?p=115) - // ZOJ1045HangOver.cpp : 定义控制台应用程序的入口点。 // #include "st - [ZOJ Problem Set - 1016-S (((()()())))](https://yuyy.info/?p=113) - // ZOJ Problem Set - 1016-S (((()()()))).cpp : 定义控制台应用程 - [ZOJ - 1130 Ouroboros Snake](https://yuyy.info/?p=111) - // ZOJ - 1130 Ouroboros Snake.cpp : 定义控制台应用程序的入口点。 // # - [P1322 logo语言](https://yuyy.info/?p=109) - // P1322 logo语言.cpp : 定义控制台应用程序的入口点。 // #include "stdaf - [P1096 Hanoi双塔问题](https://yuyy.info/?p=107) - // P1096 Hanoi双塔问题.cpp : 定义控制台应用程序的入口点。 // #include "st - [20180507设计性实验2](https://yuyy.info/?p=105) - // 20180507设计性实验2.cpp : 定义控制台应用程序的入口点。 // #include "std - [2839. The last digit](https://yuyy.info/?p=103) - // 2839. The last digit.cpp : 定义控制台应用程序的入口点。 // #includ - [2838. 元音字母](https://yuyy.info/?p=101) - // 2838. 元音字母.cpp : 定义控制台应用程序的入口点。 // #include "stdafx. - [2837. The total number of teams](https://yuyy.info/?p=99) - // 2837. The total number of teams.cpp : 定义控制台应用程序的入口点。 - [2788.Cifera](https://yuyy.info/?p=97) - // 2788.Cifera.cpp : ¶¨Òå¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄÈë¿Úµã¡£ // // - [2342](https://yuyy.info/?p=95) - // 2342.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #in - [2280.Cupboards](https://yuyy.info/?p=93) - // 2280.Cupboards.cpp : 定义控制台应用程序的入口点。 // //#include "s - [1002_20181019](https://yuyy.info/?p=91) - // 1002_20181019.cpp : 定义控制台应用程序的入口点。 // //#include "st - [100人成绩的平均](https://yuyy.info/?p=87) - #include "stdafx.h" #include using namespace - [PythonSelenium实现QQ空间自动登陆](https://yuyy.info/?p=71) - 代码 from selenium import webdriver browser = webdriver.C - [蓝桥杯 历届试题 蚂蚁感冒](https://yuyy.info/?p=62) - 问题描述 长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速 - [Python遍历目录内的所有.mp4文件并存到指定目录](https://yuyy.info/?p=15) - import ospath = 'C:\Users\Yuyy\Desktop\ShortVideo' # 要遍 ## 页面 - [归档时间轴页面](https://yuyy.info/?page_id=1794) - [其他站点](https://yuyy.info/?page_id=1225) ## 分类目录 - [日常](https://yuyy.info/?cat=1) - [Python](https://yuyy.info/?cat=2) - [算法训练](https://yuyy.info/?cat=4) - [Java Web](https://yuyy.info/?cat=5) - [大数据可视化](https://yuyy.info/?cat=6) - [Java 基础](https://yuyy.info/?cat=7) - [Spring Boot](https://yuyy.info/?cat=8) - [SpringBoot一-入门](https://yuyy.info/?cat=9) - [SpringBoot二-整合Web开发](https://yuyy.info/?cat=11) - [SpringBoot三-视图层技术](https://yuyy.info/?cat=12) - [SpringBoot四-整合持久层技术](https://yuyy.info/?cat=13) - [SpringBoot五-服务端表单数据校验](https://yuyy.info/?cat=14) - [SpringBoot六-异常处理](https://yuyy.info/?cat=15) - [SpringBoot七-单元测试](https://yuyy.info/?cat=16) - [SpringBoot八-热部署](https://yuyy.info/?cat=17) - [SpringBoot九-缓存技术](https://yuyy.info/?cat=18) - [SpringBoot十一-定时任务](https://yuyy.info/?cat=20) - [知识分享](https://yuyy.info/?cat=24) - [Java8 新特性](https://yuyy.info/?cat=30) - [Vue](https://yuyy.info/?cat=37) - [SpringBoot十二-一灰灰博客](https://yuyy.info/?cat=39) - [数据库](https://yuyy.info/?cat=41) - [读书笔记](https://yuyy.info/?cat=43) - [开源项目学习](https://yuyy.info/?cat=46) - [设计模式](https://yuyy.info/?cat=55) - [精华](https://yuyy.info/?cat=60) - 质量好一点的文章 - [JVM 笔记](https://yuyy.info/?cat=61) - [设计原则](https://yuyy.info/?cat=62) - [Spring Cloud](https://yuyy.info/?cat=63) - [Java](https://yuyy.info/?cat=71) - [其他](https://yuyy.info/?cat=72) - [云原生](https://yuyy.info/?cat=74) - [Go 基础](https://yuyy.info/?cat=75) - [Go](https://yuyy.info/?cat=78) - [Go 进阶训练营](https://yuyy.info/?cat=79) - [Gitlab CI/CD](https://yuyy.info/?cat=80) - [《Go语言精进之路》](https://yuyy.info/?cat=81) - [《人性的弱点》](https://yuyy.info/?cat=82) - [《底层逻辑:看清这个世界的底牌》](https://yuyy.info/?cat=83) - [《代码整洁之道》](https://yuyy.info/?cat=84) - [《Maven实战》](https://yuyy.info/?cat=85) - [分布式缓存](https://yuyy.info/?cat=86) - [我的好物推荐](https://yuyy.info/?cat=91) ## 标签 - [thymeleaf](https://yuyy.info/?tag=thymeleaf) - [restful](https://yuyy.info/?tag=restful) - [SpringBoot](https://yuyy.info/?tag=springboot) - [Mybatis](https://yuyy.info/?tag=mybatis) - [JUnit](https://yuyy.info/?tag=junit) - [Java8](https://yuyy.info/?tag=java8) - [Lambda](https://yuyy.info/?tag=lambda) - [Ehcache](https://yuyy.info/?tag=ehcache) - [Redis](https://yuyy.info/?tag=redis) - [Scheduld](https://yuyy.info/?tag=scheduld) - [Quartz](https://yuyy.info/?tag=quartz) - [Vue](https://yuyy.info/?tag=vue) - [Spring](https://yuyy.info/?tag=spring) - [MySQL](https://yuyy.info/?tag=mysql) - [Maven](https://yuyy.info/?tag=maven) - [动态规划](https://yuyy.info/?tag=动态规划) - [分治](https://yuyy.info/?tag=分治) - [双指针](https://yuyy.info/?tag=双指针) - [多线程](https://yuyy.info/?tag=多线程) - [线程池](https://yuyy.info/?tag=线程池) - [IO](https://yuyy.info/?tag=io) - [多路归并](https://yuyy.info/?tag=多路归并) - [Jmh](https://yuyy.info/?tag=jmh) - [源码](https://yuyy.info/?tag=源码) - [回文字符串](https://yuyy.info/?tag=回文字符串) - [快慢指针](https://yuyy.info/?tag=快慢指针) - [链表](https://yuyy.info/?tag=链表) - [微服务](https://yuyy.info/?tag=微服务)