跳至主要內容

KSJ

——「」

自动机
自动机
智能车循迹
北京邮电大学创新创业智能车循迹python版
设计与架构是什么

架构图实际上包含了所有的底层设计细节,这些细节共同支撑着顶层的架构设计。底层设计信息与顶层架构设计相辅相成,共同构成了完整的系统架构文档。

软件架构的终极目标,是以最小的人力成本,满足系统的构建与维护需求。

混乱的架构带来的成本变化:


KSJ小于 1 分钟架构架构设计软件工程
两个价值维度

行为价值:让机器按照指定方式运转,为系统使用者创造或提升利润。

架构价值:降低变更成本。

理论上,没有什么程序是不能修改的。但在现实中,某些系统的变更成本可能远远高于变更本身带来的价值,导致系统实际上无法更改。

提示

如果你问业务部门是否希望能够变更需求,他们通常会肯定地回答,并补充一句:完成当前功能比实现未来的灵活性更重要。但讽刺的是,当业务部门事后提出新需求,而你的工作量预估远超他们预期时,他们往往会因系统混乱、难以变更而愤怒。


KSJ大约 1 分钟架构架构设计软件工程
加密与签名原理详解

加密

加密是将明文信息通过算法和密钥转换为密文的过程,只有拥有正确密钥的人才能解密恢复原文。

对称加密

  • 加密和解密使用同一个密钥。
  • 常见算法:AES、DES。
  • 优点:速度快,适合大数据量。
  • 缺点:密钥分发困难。

非对称加密

  • 使用一对密钥:公钥加密,私钥解密。
  • 常见算法:RSA、ECC。
  • 优点:密钥分发简单,适合安全通信。
  • 缺点:速度慢,常用于加密小数据或密钥。

KSJ大约 2 分钟
Nginx 架构设计与原理

Nginx 是什么?Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。它以高并发、高可靠、低内存消耗著称,被广泛应用于网站架构中。

本地浏览器如何获取远端服务器上的 HTML 文件?

当你在浏览器输入网址并回车时,浏览器会向远端服务器发起 HTTP 请求,服务器返回 HTML 文件,浏览器解析并渲染页面。Nginx 作为中间层,能够高效地处理这些请求。

没有什么是加一层中间层解决不了的,如果有就再加一层。Nginx 就是这样一个强大的中间层。


KSJ大约 5 分钟架构师
CORS(跨域资源共享)

CORS(Cross-Origin Resource Sharing,跨域资源共享)是一种浏览器的安全机制,用于允许服务器声明哪些源可以访问资源,从而实现跨域访问控制。

为什么需要 CORS

浏览器的同源策略(Same-Origin Policy)限制了不同源之间的资源访问,防止恶意网站窃取数据。但实际开发中,前后端分离、API 网关等场景常常需要跨域访问,这时就需要 CORS。

CORS 工作原理

  1. 预检请求(OPTIONS):对于非简单请求,浏览器会先发送 OPTIONS 请求,询问服务器是否允许跨域。
  2. 响应头:服务器通过设置 Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Allow-Headers 等响应头,告知浏览器允许的跨域策略。
  3. 实际请求:预检通过后,浏览器才会发送实际的跨域请求。

KSJ大约 2 分钟前端
CSRF(跨站请求伪造)

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种攻击方式,攻击者诱导已登录受信任网站的用户,在不知情的情况下发送恶意请求,从而在用户已认证的情况下执行非本意的操作。

原理

攻击者通过构造与受害网站相同的请求,诱导用户点击链接或访问页面,利用用户已登录的身份在后台发起请求,达到攻击目的。

错误编码示例

如下是易受 CSRF 攻击的 Kotlin 后端代码示例:

// 未做任何 CSRF 防护的 Spring Controller
@RestController
class TransferController {

    @PostMapping("/transfer")
    fun transfer(
        @RequestParam to: String,
        @RequestParam amount: Int
    ): String {
        // 直接处理转账请求,未校验 CSRF Token
        // 实际业务逻辑略
        return "转账成功"
    }
}

KSJ大约 1 分钟安全
XSS(跨站脚本攻击)

XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的 Web 安全漏洞,攻击者通过在网页中注入恶意脚本,使脚本在用户浏览器中执行,从而窃取用户信息、冒充用户操作等。

分类

XSS 攻击主要分为三类:

1. 反射型 XSS

攻击代码作为请求参数提交,服务器端将其原样返回并在页面中立即执行。

示例:

https://example.com/search?q=<script>alert('xss')</script>

KSJ大约 2 分钟安全
markdown-folding

笔者在使用vscode 编写md时,发现子标题 or 代码块过长,但无法折叠,又在agicy的教唆下,于是决定在假期后开发此插件。

Create Project

TS yyds, 这里创建项目后选择第一个, 不知道怎么创建的看这里忽略警告

名字就叫markdown-folding


KSJ大约 1 分钟
第十五届大学生数学竞赛第六题解析

由于今天要备战第十六届,故把第十五届的题做了一下。 其中第六大题(最后一题)的题解比较抽象(“注意到”,是我注意力涣散了), 如下给出一种更容易理解的思路过程。


KSJ大约 1 分钟