Token认证方案

常用的有两种:传统的token+redis、jwt

jwt本质上只用来做签名校验和一次性的临时令牌,但现在被广泛用于登录认证方案,因为时效问题还延申出了双token,其实大可不必

带自环的有向图

也叫“有限状态转移系统”

核心定义

  • 节点:数组中的元素 0、1、2、3、4(共 5 个节点)。
  • 边:有方向的连接(比如 “1 可以到 2” 是从 1 指向 2 的边,记为 1→2)。
  • 自环:所有节点最终都能指向 0(0 可看作 “终点 / 公共节点”),且部分节点有双向连接(如 1↔0、2↔0 等)。

关键特征

  1. 有向性:连接有明确方向,比如 “1 能到 2” 不代表 “2 能到 1”(题目中 2 只能到 3 和 0,确实不能到 1)。
  2. 多路径性:部分节点有多个输出方向(如 1 可到 0 和 2,3 可到 0 和 4)。
  3. 收敛性:所有节点都有指向 0 的路径,0 是 “公共可达节点”。

常见应用场景

  • 状态机:比如程序中的状态切换(如 0 是初始 / 结束状态,1-4 是中间状态)。
  • 图论基础模型:用于描述节点间的定向关联(如网络路由、逻辑流程)。
  • 路径搜索问题:比如寻找从某个节点到 0 的最短路径、所有可能路径。

My Phone History

魅蓝note1:我第一台意义上的智能机,是那时期颜值最好的手机,白盖黑屏,经典小圆圈(兼顾了呼吸灯与home、返回于一体),魅族系统很漂亮,可惜被踩爆屏了,小圆圈款式现在也没了。

小米MAX1:大屏手机,看电视玩游戏很爽,小米系统功能多,摔了几次按键出问题。

荣耀9:小机型,腰圆home键(集成指纹模块),华为系统体验中规中矩,质量也一般(先是后盖掉了,然后屏幕也分了,后来开机也有问题,开一下就关机)

iPhone 8 Plus:苹果最后一代实体home键机型(且后代机型变成了刘海屏),完美,IOS系统体验不错,就是有些时候不方便,信号也不行。

一加7T PRO:左右微曲、全面屏(很喜欢升降升降前置的设计,可惜流行了一阵就被放弃了),系统一般,后置对焦垃圾。

努比亚 Z60 Ultra:直面、全面屏,隐藏式前置(虽然我对前置要求不高,但挺垃圾的),系统一般,NFC功能有些问题,弄了好久。配置挺高,目前在用

下一台手机,想体验一下折叠屏,目前考虑的是OV这俩牌子,算是和一加一个爹的

朴朴

因为时间上的不协调,加上预感到天气变冷我无法忍受,遂有了辞职的念头。

在上个月的某天,有点下雨,又弄得很晚,申报休息没人管,各种因素夹杂终于爆发,提报流程。

国庆之后,主管跑路,我惊呆了,我的申报被丢给了下一任,还能这样玩!

新来的主管没什么心思工作,还和骑手吵架,牛批。

等明年春暖花开时,如果还没什么正经工作,那就再做回这个吧,到那时努力些,争取月入过万,还完欠款

朴朴日记

今天是入职的第65天。

还是那样,每天都好累,重物加爬楼,使得我的膝盖越来越不行了,难受。

之前想着每天回来写写代码,也没行动,太累了(其实也有点懒,哈)

就定个启动计划吧,下周休息日或者哪天没啥事儿了,把那个OA整整

配送

最近做了朴朴配送,好累啊。每次回家都累的想睡觉,烦!

朴朴超时配送员的一天

前天还在幻想着,当配朴朴配送员过度几个月,既能瘦下来,也能赚点钱。结果昨天做了9.5小时,差点崩溃

车子是临时找了一辆给我,很难骑。车头还是歪的,搞得骑车的时候姿势很差。车辆过于薄弱,骑起来有些摇摇晃晃的,特别是载重时明显,倒车时还刮伤脚,破烂玩意儿。车灯不太亮、喇叭太小声都不算啥了。最难受的是后面的大保温箱,太大了,搞得我撞了好几次,这个距离感没习惯

衣服半新半旧,小背心和头盔是新的,雨衣好像是别人的,味道好臭。昨天时不时的下大雨,换雨衣后整个人都很臭,难受。本来不想穿雨裤的,但雨太大了,裤子淋湿又不能回家换,他妈的这个单子死命派。到头来整个人都臭烘烘的

基本上都是老小区,分布混乱,没有电梯。找门口崩溃一次,送上去又崩溃一次,太难了。虽说超时不过30分钟不怎么管,但是拉低了单数不挣钱。就那片地方分布了好几个小区,兜兜转转,手机都整没电了。有些小区看着挺新的,怎么也没电梯呢。扛着三桶水加鸡蛋是我最累的一次,7楼步梯,基本上走一两层就得休息,手到现在都还疼

各种难受夹杂,而且要坐满一个半月才有工钱,就感觉这个不适合我,还是换一个吧,免得白费力气还没钱

变态老板

昨天下午面试了一份前端开发工作。到那之后发现所有工作人员都白衣刺头,感觉不太妙。然后老板过来当着我的面对员工掏鸡儿,卧槽,妈的变态老板。还想拉我入伙,死变态

最近情况

今年过了一半了,还没什么正经工作。欠了别人5千块钱,这个月花呗两千多,下个月房租加花呗大概两千多。哇,合起来大概一万了

今天两个面试,一个仆仆配送,一个健身房前端。技术上我想去前端,但是不知道他要求怎么样,而且路程有点远。仆仆应该可以去,满足白班加减肥的需求。

总之先还钱吧,再存点,搞客户端

HTTP状态码

HTTP状态码是HTTP协议中用于表示请求结果的三位数字代码。它们由Internet Engineering Task Force(IETF)在RFC 2616中定义,并在后续的RFC文档中进行了扩展。HTTP状态码分为五个类别,每个类别代表不同类型的响应状态。

以下是HTTP状态码的分类及其常见状态码的详细说明:

1. 1xx – 信息性状态码

这些状态码表示临时的响应,通常用于表示请求已被接收,但仍在处理中。

  • 100 Continue:服务器已接收到请求的头部,客户端可以继续发送请求体。
  • 101 Switching Protocols:服务器已接收到请求,并同意切换到客户端请求的协议。
  • 102 Processing:服务器已接收到请求,正在处理中(WebDAV扩展)。

2. 2xx – 成功状态码

这些状态码表示请求已成功处理。

  • 200 OK:请求成功,响应体中包含请求的资源。
  • 201 Created:请求成功,服务器创建了新的资源,通常用于POST请求。
  • 202 Accepted:请求已接受,但尚未处理完成。
  • 203 Non-Authoritative Information:请求成功,但响应体中的信息不是权威的。
  • 204 No Content:请求成功,但响应体中没有内容。
  • 205 Reset Content:请求成功,客户端应重置文档视图。
  • 206 Partial Content:请求成功,响应体中包含部分资源(支持范围请求)。
  • 207 Multi-Status:请求成功,响应体中包含多个状态信息(WebDAV扩展)。
  • 208 Already Reported:请求成功,但状态已被报告(WebDAV扩展)。
  • 226 IM Used:请求成功,响应体中包含IM协议的使用信息。

3. 3xx – 重定向状态码

这些状态码表示客户端需要采取进一步的操作来完成请求,通常需要重定向到另一个URL。

  • 300 Multiple Choices:请求有多个可能的响应,客户端需要选择一个。
  • 301 Moved Permanently:请求的资源已永久移动到新的URL。
  • 302 Found:请求的资源已临时移动到新的URL。
  • 303 See Other:请求的资源可以通过另一个URL访问。
  • 304 Not Modified:请求的资源未修改,客户端可以使用缓存的版本。
  • 305 Use Proxy:请求必须通过代理访问。
  • 306 Switch Proxy:已废弃,不再使用。
  • 307 Temporary Redirect:请求的资源已临时移动到新的URL,但请求方法不变。
  • 308 Permanent Redirect:请求的资源已永久移动到新的URL,但请求方法不变。

4. 4xx – 客户端错误状态码

这些状态码表示客户端请求有误,服务器无法处理。

  • 400 Bad Request:请求格式错误,服务器无法理解。
  • 401 Unauthorized:请求需要用户认证。
  • 402 Payment Required:保留用于未来使用,目前未定义。
  • 403 Forbidden:服务器拒绝执行请求。
  • 404 Not Found:请求的资源未找到。
  • 405 Method Not Allowed:请求方法不被允许。
  • 406 Not Acceptable:服务器无法提供符合客户端要求的响应。
  • 407 Proxy Authentication Required:请求需要代理认证。
  • 408 Request Timeout:请求超时。
  • 409 Conflict:请求与服务器的状态冲突。
  • 410 Gone:请求的资源已永久删除。
  • 411 Length Required:请求需要指定内容长度。
  • 412 Precondition Failed:请求的先决条件失败。
  • 413 Payload Too Large:请求体过大。
  • 414 URI Too Long:请求的URI过长。
  • 415 Unsupported Media Type:请求的媒体类型不被支持。
  • 416 Range Not Satisfiable:请求的范围无法满足。
  • 417 Expectation Failed:请求的期望无法满足。
  • 418 I’m a teapot:服务器是一个茶壶,无法泡咖啡(RFC 2324,幽默性质)。
  • 421 Misdirected Request:请求被错误地发送到服务器。
  • 422 Unprocessable Entity:请求无法处理(WebDAV扩展)。
  • 423 Locked:请求的资源被锁定(WebDAV扩展)。
  • 424 Failed Dependency:请求失败,因为依赖的资源失败(WebDAV扩展)。
  • 425 Too Early:请求被拒绝,因为服务器尚未准备好。
  • 426 Upgrade Required:请求需要升级到更高版本的协议。
  • 428 Precondition Required:请求需要先决条件。
  • 429 Too Many Requests:请求频率过高,被限制。
  • 431 Request Header Fields Too Large:请求头字段过大。
  • 451 Unavailable For Legal Reasons:请求的资源因法律原因不可用。

5. 5xx – 服务器错误状态码

这些状态码表示服务器在处理请求时发生了错误。

  • 500 Internal Server Error:服务器内部错误,无法完成请求。
  • 501 Not Implemented:服务器不支持请求的方法。
  • 502 Bad Gateway:服务器作为网关或代理时,从上游服务器收到无效响应。
  • 503 Service Unavailable:服务器暂时无法处理请求。
  • 504 Gateway Timeout:服务器作为网关或代理时,上游服务器没有及时响应。
  • 505 HTTP Version Not Supported:服务器不支持请求的HTTP版本。
  • 506 Variant Also Negotiates:服务器无法选择最佳的响应变体(WebDAV扩展)。
  • 507 Insufficient Storage:服务器没有足够的存储空间(WebDAV扩展)。
  • 508 Loop Detected:服务器检测到无限循环(WebDAV扩展)。
  • 510 Not Extended:服务器需要扩展请求才能处理。
  • 511 Network Authentication Required:客户端需要进行网络认证。

总结

HTTP状态码是HTTP协议中用于表示请求结果的重要机制。它们分为五个类别,每个类别代表不同类型的响应状态。了解这些状态码可以帮助开发者更好地调试和优化Web应用程序。