Caching
CachingServer Side https://redis.io/glossary/distributed-caching/ 流行的分布式缓存解决方案 Redis、Memcached、Hazelcast 和 Apache Ignite CDN https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/ Client Side
DB
ORMs And ACID ORMs ACID Atomicity: the “all or nothing” rule — the transaction either happens completely or doesn’t happen at all Consistency: data is consistent before and after a transaction without any missing steps Isolation: multiple transactions can happen concurrently without reading the wrong data Durability: transactional success is robust to system failure Transactions rollback commit N+1 查询:运行一个查询来获取类别列表,然后运行另一个查询来获取每 N 个类别
JWT And Authentication
Authentication JWT Authentication Token based Authentication Session based Authentication Basic Authentication OAuth - Open Authorization OAuth 是: 应用程序请求用户授权 用户授权 App 并交付证明 应用程序向服务器提供授权证明以获取令牌 Token 仅限于访问用户为特定 App 授权的内容 OAuth 2.0 摘要 OAuth 2.0 是一个授权框架,用于委派对 API的访问。它涉及请求资源所有者授权/同意的范围的客户端。授权授权将交换访问令牌和刷新令牌(取决于流程)。有多个流程可以处理不同的客户端和授权场景。JWT可用于 Authorization Server 和 Resource Server 之间的结构化令牌。 OAuth 具有非常大的安全外围应用。确保使用安全的工具包并验证所有输入! OAuth 不是身份验证协议。OpenID Connect 扩展了 OAuth 2.0...
REST
learn REST https://roadmap.sh/backend?r=backend-beginner https://restapitutorial.com/introduction/whatisrest curl -i “https://itunes.apple.com/search?term=radiohead&media=music&limit=3“ https://restapitutorial.com/introduction/restconstraints.html https://restapitutorial.com/introduction/restquicktips 幂等性 Idempotence Making multiple identical requests has the same effect as making a single request. “Top 10” HTTP Status Code
gradle-learn
gradle 学习网站汇总 gradle Gradle User Manual Learn Gradle basics Training Courses Tutorial gradle init –type java-application –dsl kotlin Gradle wrapper Invoking the Gradle Wrapper differece of build and project: A build: Represents a bundle of related software that you can build, test, and/or release together. Can optionally include other builds (i.e. additional software such as libraries, plugins, build-time tools, etc). A project: Represents a single piece of your architecture - a...
flutter基础
flutter 中文网StatefulWidget 与 StatelessWidget 如果一个 Widget 会变化(例如由于用户交互),它是有状态的。然而,如果一个 Widget 响应变化,它的父 Widget 只要本身不响应变化,就依然是无状态的。
KMP
KMP 有什么用 KMP 主要应用在字符串匹配上。 KMP 的主要思想是当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。所以如何记录已经匹配的文本内容,是 KMP 的重点,也是next 数组肩负的重任。 next 数组就是一个前缀表(prefix table)。 文本串和模式串 前缀表是如何记录的呢 首先要知道前缀表的任务是当前位置匹配失败,找到之前已经匹配上的位置,再重新匹配,此也意味着在某个字符失配时,前缀表会告诉你下一步匹配中,模式串应该跳到哪个位置。 什么是前缀表:记录下标 i 之前(包括 i)的字符串中,有多大长度的相同前缀后缀。 文章中字符串的 前缀是指不包含最后一个字符的所有以第一个字符开头的连续子串。 后缀是指不包含第一个字符的所有以最后一个字符结尾的连续子串。 最长公共前后缀==最长公共前后缀==最长相等前后缀 下标 5 之前这部分的字符串(也就是字符串 aabaa)的最长相等的前缀 和 后缀字符串是 子字符串 aa...
ComposeLearn
Jetpack Compose 教程 声明性的函数 定义可组合函数 在可组合项中添加不同的元素 使用布局可组合项构建界面组件 使用修饰符扩展可组合项 创建高效列表 跟踪状态以及修改状态 在可组合项上添加用户互动 在展开消息时显示动画效果
寒假做了什么?
寒假和女朋友一起做了很多事 疯狂玩游戏,TTF2,POE,PUBG 注重生活,和爷爷奶奶过年,有只小猫咪 去看了满江红 后来又去爬泰山 回来了吃好吃的小包子 明天吃元宵吃涮锅子,还有城里放好多好多烟花,村里还表演节目,明天一起看. 元宵节晚上看超级多的烟花,满城的人都去看了,堵车堵了好久,烟花放了一个小时,超级好看 准备开始做毕设 小程序学习 前端 demo 已经会跑了 后端也已经有思路了 支持加餐的 temporary order 结账 final order 推荐系统的书要开始看喽 todo 新功能:随账号的个性化体验 毕设规划 2 月 4 日-2 月 10 日 微信小程序入门与实战 完成前端设计稿图 2 月 10 日-2 月 15 日 Spring Boot 双版本(1.5/2.1) 打造企业级微信点餐系统 完成后端设计稿图 2 月 15 日-2 月 20 日 微信小程序前端 demo 后端逻辑 demo
SSM相关
Spring 基础 什么是 Spring 框架? Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发 IoC AOP 快速访问数据库 集成第三方组件(电子邮件,任务,调度,缓存等等) 对单元测试支持比较好 支持 RESTful Java 应用程序的开发 Spring 最核心的思想就是不重新造轮子,开箱即用,提高开发效率。 语言的流行通常需要一个杀手级的应用,Spring 就是 Java 生态的一个杀手级的应用框架。 Spring 提供的核心功能主要是 IoC 和 AOP。 Spring,Spring MVC,Spring Boot 之间什么关系? Spring 包含了多个功能模块(上面刚刚提高过), 其中最重要的是 Spring-Core(主要提供 IoC 依赖注入功能的支持) 模块, Spring 中的其他模块(比如 Spring...