算法篇-字符串匹配算法 字符串匹配指的是一个字符串是否包含另一个字符串或者是求它匹配的下标 Brute-force 算法 暴力匹配算法最容易想到但是其复杂度也越高,其实质就是需要枚举所有的结果进行对比,时间复杂度O(m*n) 代码实现 123456789101112public int match(String str1,String str2){ for (int i = 0; i < st 2021-12-22 基础算法 > 算法笔记 #字符串匹配
学习笔记-Protobuf快速入门 简介protocol是谷歌的语言中立、平台中立、可扩展的结构化数据序列化机制——比XML,但更小、更快、更简单。您可以一次定义数据的结构化方式,然后可以使用特殊生成的源代码轻松地使用各种语言在各种数据流中写入和读取结构化数据。 案例1.下载protoc:下载地址 选择对应的版本,下载后将bin目录加入系统环境变量中 2.编写.protoc文件 12345678910syntax = &quo 2021-11-25 学习笔记
算法笔记-前缀和/差分 必备知识前缀和定义:对前面的数进行求和作为当前项 一维前缀和: 有一个一维数组 和该数组的一维前缀和数组 ,则 和 满足以下关系:二维前缀和: 有一个二维数组 和该数组的二维前缀和数组 (其同样是个二维数组),则 和 满足以下关系: 差分定义:当前项减去前一项,d[i] = a[i]-a[i-1] ,差分数组是当前数组项减去数组前一项得出组成新数组。 性质:差分数组求前缀和结果等 2021-11-19 基础算法 > 刷题记录
学习笔记-接口防刷解决方案 应用背景 在后端应用中暴露的对外接口需要考虑爬虫,恶意DDOS,接口防刷等防范。针对不同的系统业务不同,其有的接口需要登入后才能进行访问,有的接口无需。针对不同情况细化其防刷方案。 技术方案防刷功能主要分为两个部分:确定其为恶意用户+确定其盗刷后处理方式 如何确定其为恶意用户细粒度划分:网页>session>ip 1、当前网页优点:无缺点:没有任何意义,一刷新页面用户的身份就变了 2021-11-05 学习笔记 #接口防刷
学习笔记-Spring Data JPA Java Persistence API 应用背景 SpringDataJPA是更大的SpringDataFamily的一部分,它使基于JPA的存储库易于实现。本模块处理对基于JPA的数据访问层的增强支持。它使构建使用数据访问技术的Spring驱动的应用程序变得更加容易。 应用场景JPA:全自动化、面向对象,简单查询无需写SQL,复杂业务下HQL也不一定能满足,不够灵活。结论:当项目业务逻 2021-11-03 编程语言 > Java > 相关框架 #JPA
资源篇-极客时间相关课程 「01专栏课」https://www.aliyundrive.com/s/jMXTeP61Apo 「02视频课」https://www.aliyundrive.com/s/jcy8SedwaFS 玩转Git三剑客https://www.aliyundrive.com/s/3REpchATQC5零基础学Pythonhttps://www.aliyundrive.com/s/tyb8eFpAWfq9 2021-10-31 学习资源 #学习资料
算法笔记-数学/采样 主要用于记录刷题过程中遇到的一些数学题型的求解方法 排列组合1、从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 A(n,m)表示。 2、从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。用符号 2021-10-20 基础算法 > 刷题记录
Java篇-Java新特性概览 背景 持续更新记录Jvav(Java)的新版本特性和使用案例 JDK19新版本总共包含 7 个新的 JEP: 405: Record Patterns (Preview) 422: Linux/RISC-V Port 424: Foreign Function & Memory API (Preview) 425: Virtual Threads (Preview) 2021-10-15 编程语言 > Java > Java基础 #Java新特性
读书笔记-实现领域驱动设计 概览DDD总览早些时候,我讲到了DDD的通用语言(Ubiquitous Language, 1)。通用语言作用于某个限界上下文(Bounded Context, 2) ,它对于领域建模是非常重要的,你应该好好地熟悉一下。 请记住,不管你是在战术上还是战略上设计软件模型,你都应该保证:在一一个特定的限界上下文中只使用一套通用语言,并且保证它的清晰性和简洁性。战略建模限界上下文是一-种概念上的边界, 2021-10-06 架构设计 > 领域驱动 #领域驱动设计
笔记篇-关于DDD的相关笔记 背景何为复杂 业务复杂不易实现,牵扯的范围广,系统的各个模块非常庞大 变更复杂,耦合度高一旦变更将会影响整个系统,同时带了的风险高,时间成本高 介绍领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。 业务对象模型(也叫领域模型domain model)是描述业务用例实 2021-09-20 架构设计 > 领域驱动 #领域驱动