Blog Cannot get/
我靠终于跑出来了😭
可恶可恶可恶改了快两天
极大严重影响了我这两个月写blog的心情!
mark一下排查思路!
首先线上点击网址显示404,其他页面访问正常
线下运行首页显示cannot get/
排查了快半个小时定位到是hexo g没有生成index.html
非常奇怪
于是按照网上的方法npm audit fix检查
but有个审计的接口一直显示404
考虑到可能是换过淘宝镜像显示不全
于是换成原始镜像但又显示timeout
这里开始疯狂怀疑自己的网络试了好多次
都不行于是放弃,继续在网上搜刮issus
加了后缀–loglever=silly起码知道了它在fix什么东西
但还是timeout!无休止的timeout!
再把modules和packjson全删掉重装
这次fix出了两个high bug但是感觉没什么关系
npm ls –depth 0也完全没error
本来都想写个issus问问了
看到好久之前的一篇博客写他ls出来少装的是hexo-generator-index(https://blog.csdn.net/weixin_41290516/article/detai ...
Elastic Search 学习笔记
Elastic Search 学习笔记
参考教程:https://golangguide.top/%E4%B8%AD%E9%97%B4%E4%BB%B6/es/%E6%A0%B8%E5%BF%83%E7%9F%A5%E8%AF%86%E7%82%B9/elasticSearch%E6%9E%B6%E6%9E%84%E6%98%AF%E6%80%8E%E4%B9%88%E6%A0%B7%E7%9A%84.html#%E4%BB%80%E4%B9%88%E6%98%AF%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95
简介是一个开源的搜索引擎。
它介于应用和数据之间,只要将数据写入 es,应用就可以通过一些关键词搜索到数据。效果就像某度搜索一样。
原理基础概念正排:依次遍历文本匹配是否含有关键词
倒排:遍历关键词去搜索对应原始数据的id
分词:对文本进行切分
词项term:分词后的每部分。词项非常多,时间复杂度为O(N),按字典序从小到大排序,二分查找O(lgN)
排好序的词项Term Dictionary:包括term(词项)和对应的文档id(其实还包括词频、偏移 ...
实现多级缓存的策略方法
实现多级缓存的策略方法
保证多级缓存数据一致性是一个复杂的任务,尤其是在分布式和高并发环境中。以下是一些常见的方法和策略,可以帮助实现多级缓存的数据一致性
1. 缓存失效策略1.1 主动失效在更新数据库时,主动使相关缓存失效。
步骤:
更新数据库
删除或失效缓存public class CacheService { private LocalCache localCache; private RedisCache redisCache; private Database database; public void updateData(Data data) { // 更新数据库 database.update(data); // 删除相关缓存 String cacheKey = "data:" + data.getId(); localCache.delete(cacheKey); redisCache.delete(cacheKey); }}
1.2 延迟双删(La ...
OpenSSL 学习笔记及项目应用
OpenSSL 学习笔记及项目应用OpenSSL官方命令手册:OpenSSL commands - OpenSSL Documentation
参考教程:
操作:OpenSSL的基本使用教程(一)_openssl.exe使用教程-CSDN博客
操作:Linux和Shell回炉复习系列文章总目录 - 骏马金龙 - 博客园 (cnblogs.com)
网站应用:最新OpenSSL简明教程_openssl使用教程-CSDN博客
项目应用:spring-boot-sign: SpringBoot请求响应加签、验签 (gitee.com)
最详细的SpringBoot实现接口校验签名调用_springboot接口签名验证-CSDN博客
概念公钥和私钥
公钥:可以公开分享,用于加密数据或验证数字签名。
私钥:必须保密,用于解密数据或创建数字签名。
关系:公钥和私钥是成对出现的,使用公钥加密的数据只能由对应的私钥解密,反之亦然。
一个完整的RSA私钥包含了以下几个关键参数:
模数(Modulus,N)
公钥指数(Public Exponent,e)
私钥指数(Private Exponent,d ...
动态规划算法刷题记录
动态规划简单介绍动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题,使用动态规划是最有效的。
所以动态规划中每一个状态一定是由上一个状态推导出来的。这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。【动规是由前一个状态推导出来的,而贪心是局部直接选最优的】
所以贪心解决不了动态规划的问题
解题思路
确定dp数组(dp table)以及下标的含义
确定递推公式
dp数组如何初始化【根据第2步判断】
确定遍历顺序
举例推导dp数组
一维入门【简单】509. 斐波那契数509. 斐波那契数 - 力扣(LeetCode)
分析:当前状态由前两个状态推出,可以使用动规
五步走:
确定dp数组(dp table)以及下标的含义:dp[i]表示第i个数字为多少
确定递推公式:dp[i] = dp[i-1] + dp[i-2]
dp数组如何初始化
根据上一步进行初始化
注意题目也给了:dp[0] = 0,dp[1] = 1
确定遍历顺序:dp[i] = dp[i-1] + dp[i-2]可知从前往后遍历
举例推导dp数组
class S ...
让万物穿过自己
【播客】让万物穿过自己刷到xhs说这一期很治愈就去听了
一边在图书馆一楼写数据库实验报告一边听
可能是更多把注意力放在实验报告上了
也可能是这期播客就是这种风格
这一期听得挺平淡的
感觉就是允许一切发生,坦然地面对所有
心态已经从21年的想拼命卷到出人头地
到现在的珍惜当下过好此刻就行
虽然也还保持着之前卷的惯性
但是也变得更加不在乎别人的看法了
所以也会直接在宿床下敲代码到两点多而不是在床上偷偷学
可能也真的是前两年到处折腾累了吧
总说青春和对青春的感悟无法同时拥有
因为在这句话的青春是同一时间段的
总得长大才能回忆以前的自己
我还是可以拥有对这个时间段之前的感悟
这就够了
为什么精英都是时间控
充分利用早上的大好时光,因为那是大脑的黄金时间
早晨起床之后的大脑是最为清醒的,就像收拾后干净整洁的办公桌
上班最初的30min是最重要的
比如说九点钟上班,对于日本人来说是开始准备上班(进行泡咖啡、查看邮件等活动),而对于美国人来说,九点是开始全力以赴投入工作了
早上的30min ≈晚上的2h
几个轻松起床术
早上冲个澡(通过提高体温、加快心跳、呼吸的速度,让控制身体从放松神经变成活动神经)
开着窗帘睡觉(阳光促进分泌血清素,不想起床的话就是血清素分泌不够)
睁眼5min(也是合成血清素)
有节奏的运动持续5min(散步、慢跑、上楼梯、扭脖子运动、广播体操、游泳、高尔夫球挥杆练习、深呼吸、大声朗读、发声练习、唱歌等)
细嚼慢咽吃早餐(吃一口,嚼20次再咽下去。咀嚼也算一种有节奏的运动,但是很多人为了吃得快节省时间,早餐大多数是牛奶、麦片等不需要咀嚼的东西,也难以刺激血清素的分泌)
早上一定不要看电视(你的话就是刷wb了),这会让往你的大脑塞进很多有用无用的信息,就想把很多资料、文件胡乱地堆放在办公桌上【为了让黄金之间持续更长时间,造成不要接收多余的信息,尽量与外界隔绝,专心工作】 ...
掌控习惯
缓慢的转变速度让好习惯难以保持,也让坏习惯驻留不去
忽略目标只关注体系还是能成功,但是反过来却不行
你毫无必要认定只有某个特定场景的出现,才能让你对自己的人生感到满意…当你爱上过程而不是结果时,你不必等待容许自己享受快乐的那一刻的到来。只要你创建的体系在正常运行,你就会在整个过程中感受到快乐
身份——过程——结果。基于结果重点在于你想要达到的目标;基于身份重点在于你想成为谁
在戒烟vs不抽烟了
与身份不相符的行为不会持续太久
决定你想成为哪类人——用小赢证明自己【通过结果回推什么样的人才能得到这些结果】
基于身份的习惯 反馈回路
习惯不是为了让你获得什么,而是为了让你成为什么样的人
第三章:培养良好习惯的四步法提示——显而易见渴求——有吸引力反应——简便易行奖励——令人愉悦
习惯不会限制自由,它们会创造自由
如果缺乏良好的理财习惯,你将永远为生计苦苦挣扎
没有良好的健康习惯,你似乎总会觉得肾虚气短
没有良好的学习习惯,你会觉得自己跟不上时代进步前进的步伐
如果你总是被迫做简单的决定,诸如我改什么时候去健身,我去哪里写文章比较好等等,你自由支配的时间相对应的就会减少只有让生 ...
浅析 JWT
对jwt总是一知半解,而且项目打算写个关于JWT登录的点,所以总结关于JWT的知识及面试考察过的点
参考资料:
Cookie、Session、Token、JWT_通俗地讲就是验证当前用户的身份,证明-CSDN博客
JSON Web Token 入门教程 - 阮一峰的网络日志
https://cloud.tencent.com/developer/article/2231547
JWT详细讲解(保姆级教程)-阿里云开发者社区
JWT双令牌(双token)实现登录验证_双token三验证-CSDN博客
零、前置知识cookie、session、token的区别
cookie:用于在客户端存储会话信息,并在之后每个请求中都会通过HTTP头部再将cookie发给服务器 ==》对于敏感信息不安全(跨站脚本、跨站请求伪造)
session:是基于 cookie 实现的,session 存储在服务器端,sessionId 会被存储到客户端的cookie 中,然后请求服务器的时候只发送Sessionid==》用户量特别大时,服务器容易分配。
token:可以存储在客户端或者服务器端,具体取决于实 ...
被讨厌的勇气
原因论:如果一味地关注过去的原因,企图仅仅靠原因去解释事务,那就会陷入决定论。也就是说,我们的现在甚至未来全部都由过去的事情决定,而且根本无法改变
心理创伤学:感到痛苦是因为过去的事情,进而简单安慰地错不在你,在于那些抽象的“过去的事情” ==>很多心理咨询都是这样的?还是只是偏安慰型的心理咨询是这样的?
目的论:比如说,发怒是一种工具,而不是结果是先产生大发雷霆的目的,作为对应手段,捏造了愤怒这种感情,希望通过发怒这种工具迫使他人屈服你的权力,并不是不可控制的情绪最简单的例子就是当家长对小孩生气时,如果此时被班主任的电话打断,会马上转换心态去进入一个新的对话场景除了发怒我们还有许多有效交流工具
怎么理解利己的善
我的性格是悲观的 —— 我具有悲观的世界观前者的性格带有”不可改变“性的感觉但如果是世界观,那就有改变的可能性
那为什么不喜欢改变呢因为感觉现在的生活方式更好,如果一致保持现在的我,那么如何应对眼前的事情以及结果等问题都可以更具经验进行推测,即使遇到状况也能够想办法对付过去 ==》【我趣这不就是拖延症的根本原因:就算拖延我也可以在ddl前干完所有事请】
如果我有时间的 ...