- 博客(378)
- 资源 (1)
- 收藏
- 关注

原创 2020最新-精选基础算法100题(面试必备)
0x01.概述作为一个程序员,算法能力必不可少,虽然不一定是算法工程师,但是算法还是彰显着个人的编码能力,面试中也经常会被问到,甚至会被要求临场做算法题,所以,还是好好积累吧。个人其实对算法挺有兴趣的,从3月份开始,陆陆续续刷了一些算法题,把一些有意义的记录下来了,也顺便写了一些题解,个人认为,还是挺有收获的。之前写了一篇算法文章的目录,不过后来就忘了实时去更新了,于是现在,想把之前做过的一些有意义的算法题分享出来,刚好整理了100篇比较有意义的。希望对大家有所帮助。0x02.说明关
2020-05-18 19:58:16
293787
25

原创 【前端插件推荐】8个实用前端插件 --(个人博客必备)
0x01.MarkDown编辑器(Editor.md)对于个人博客来说,能在线编辑的MarkDown编辑器是必不可少的,它能让你的体验更加美好哦~这里推荐的是 Editor.md 这款插件,原因是简洁且功能强大,并且官网上附有详细的示例。具体可以访问 Editor.md 的官网:http://editor.md.ipandao.com/集成详细步骤:1.下载:官网下拉,点击github下载。2.复制必要文件:3.引入资源:<!-- editormd插件css -->
2020-05-16 19:20:46
32851
11

原创 【Spring-MVC基础】由浅入深-Spring MVC
本文致力于由浅入深的去介绍,使用Spring MVC;细节比较多,希望能对正在观看的你有所帮助!博主水平有限,难免存在缺陷和错误,欢迎大佬的指出与补充,谢谢!0x01.认识Spring MVC1.Spring MVC概述Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能...
2020-04-24 19:19:55
165946
7

原创 【Spring-AOP基础】深入浅出Spring-AOP(从动态代理到Spring AOP)
AOP(Aspect Oriented Programming)1.概念AOP:全称是 Aspect Oriented Programming即:面向切面编程。
2020-04-22 15:50:04
117208

原创 【Spring-IOC基础】深入浅出Spring-IOC
IOC(Inversion Of Control)1.概念:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由一个调控系统...
2020-04-20 16:20:03
40574
3

原创 深度挖掘动态思想
写在前面的话本文从六个经典的股票问题出发,深度挖掘动态的思想,旨在理解动态思想的本质,灵活的处理各类动态规划的问题。这六个股票问题断断续续的耗费了几天的时间,初次解决这些问题,使用的是贪心的思想,时间和空间复杂度还算可以,但是这些思想中的联系不是很大,并不适合解决一系列的问题,在最后一个股票中,发现贪心的思想无从运用,于是最后是以三维的动态规划解决,当然效率方面不是很理想,最终,偶然看到了...
2020-03-19 08:17:11
109077
1
原创 【linux内核分析-存储】EXT4源码分析之“文件删除”原理【七万字超长合并版】(源码+关键细节分析)
EXT4源码分析之“文件删除”原理【七万字超长合并版】(源码+关键细节分析),详细的跟踪了ext4文件删除的核心调用链,分析关键函数的细节,解答了开篇中提出的三个核心疑问。
2025-01-05 17:04:42
17735
原创 【linux内核分析-存储】EXT4源码分析之“文件写入”原理(超长文+源码详解)
EXT4源码分析之“文件写入”原理,详细的介绍文件写入的核心流程,并对EXT4中关于文件写入的关键函数进行了分析。
2025-01-02 16:36:04
14561
原创 【linux内核分析-存储】EXT4源码分析之“创建文件”原理
EXT4源码分析之“文件创建”原理,详细的介绍文件创建的核心流程,并对EXT4中关于文件创建的关键函数进行了分析。
2024-12-30 16:31:25
10075
原创 【linux内核分析-存储】EXT4源码分析之“块分配算法分析”(1)主体流程
EXT4源码分析之“块分配算法分析”(1)主体流程,系列的第一篇文章,主要介绍块分配算法的主要流程以及一些细节点,如快速提交重放、简单分配器、配额文件、延迟分配、分配上下文。
2024-12-26 13:17:43
10162
原创 linux内核中的宏定义之noinline_for_stack
内联(inline)是一种编译器优化技术,它通过将函数的代码直接插入到每个调用点来减少函数调用的开销,从而提高程序的执行效率。但是,在某些情况下,我们可能不希望函数被内联,比如当函数体较大或者为了调试方便时。这个宏的定义可以在内核代码中看到,它提供了一种简洁的方式来应用noinline属性,是一个宏定义,它用于告诉编译器不要将标记的函数内联,即使它们被声明为。是一个函数属性,它的作用是防止编译器将函数进行内联优化。属性可以阻止编译器进行内联。这个宏的定义很简单,就是。在Linux内核代码中,
2024-12-23 18:00:54
225
原创 【S&P 2024】Invisible Plausibly-Deniable Storage
发表在 SP2024 的隐形的合理可否认存储,作者开创性的做了第一个真正意义上的隐形合理可否认存储系统,并首次对隐形合理可否认做了形式化的安全定义和证明。其将隐藏数据存储在 dm-crypt 用于加密公共数据的初始化向量中的思路非常巧妙, 并对向量结构做了特殊设计,解决了一些可能产生的安全问题。虽然存在一些不足,但是其工作是非常有意义的。
2024-10-24 10:42:21
1089
原创 【业务方案设计】高拓展性停车计费能力设计
停过各种各样的停车场,每次从停车场出来总是在想,这里面的计费能力是怎么设计的?有没有一种通用的结构能满足市面上几乎所有的停车计费规则,只需更改少量配置即可修改停车策略。本文从业务问题出发,深入分析停车计费这一场景的业务问题,提出了一种高拓展性的解决方案。
2024-10-22 11:34:52
1004
原创 【技术详谈】纯真社区库的最佳应用实践-利用定时任务和代理对象实现社区库热更新
纯真的社区开源库极大的方便了非商业场景的 ip 定位,且其社区仍然非常活跃,保持着每周一更的频率。本文基于不断更新的社区库,利用定时任务每周获取一次纯真的最新库,再通过代理对象的方式,热更新 Spring 容器中的 bean,保证了项目中所使用到的纯真社区库始终是最新的。
2024-08-22 21:08:29
1060
原创 【技术详谈】如何优雅的从数据库中随机捞取数据
从数据库中随机随机捞取一些数据是一个很常见的需求,在应用场景、运维场景、数据分析场景都会有这样的需求,随机的方法有很多,但要能做到:性能好、接近理想随机性,还是一件比较麻烦的事情,这里给出一些常见场景的处理方案和对比以供参考,具体场景还得具体分析。
2024-08-21 17:57:48
1486
原创 【项目方案】IP地址地理解析方案对比与选型
目前,许多项目在用户发布言论时需要解析其 IP 地址,并且在账号管理中也有查看最近登录地的需求。然而,市面上的相关教程通常缺乏全面性,往往只提供一种简单的方法,导致在技术方案选型时难以进行有效的方案对比。本文旨在对常见的 IP 地址地理位置解析方案进行系统化分析和对比,以期为独立开发者或刚接触该领域的开发者提供指导与帮助。
2024-08-14 10:54:56
1029
原创 解决 MDCFilter 引起的 Shiro UnavailableSecurityManagerException 异常:将过滤器交给 Shiro 管理
若将自定义的 MDCFilter 注册到 FilterRegistrationBean 中,而又在 MDCFilter 中使用了和 Shiro 相关的操作(如获取当前登录用户),此时会因为 MDCFilter 先于 SecurityManager 实例化导致出现 UnavailableSecurityManagerException 的异常,我们只需将 MDCFilter 注册到 Shiro 的过滤器链中即可解决这个问题。
2024-07-25 12:08:15
827
原创 解决 Shiro 重复调用 doGetAuthenticationInfo 导致异常处理错误的问题
遇到一个 Shiro 中反复调用 doGetAuthenticationInfo 导致异常没有被成功处理的问题,经过一些源码调试,发现了问题的所在,只需在继承 BasicHttpAuthenticationFilter 的类中重写 onAccessDenied 方法即可。
2024-07-24 17:09:17
1376
原创 最新 Docker 下载镜像超时解决方案:Docker proxy
现在Docker换源也下载失败太常见了,至于原因,大家懂得都懂。本文提供一种简洁的方案, 利用 Docker 的http-proxy,代理至本机的 proxy。
2024-07-18 14:51:07
1806
1
原创 【产品与技术双视角】初创团队利用小程序云基础设施“低成本试错”
本文从最基础的资源困境出发,用产品和技术的双视角,逐步的分析问题,并利用现有的小程序云基础设施给出一个合理的破局尝试路线。
2024-07-05 14:50:00
848
原创 【密码学原语介绍】PPRF(可穿孔伪随机函数)
在现代密码学中,伪随机函数(PRF)是构建各种加密协议和系统的基石。它们提供了一种方式,通过它,给定一个密钥和一个输入,可以生成一个无法预测的伪随机输出。这种机制对于确保数据加密、身份验证和完整性验证等方面至关重要。然而,在某些应用场景中,如密钥管理和权限控制,我们需要更为灵活的PRF,能够允许在不影响整体系统安全性的前提下,动态地调整其行为。这种需求催生了穿孔伪随机函数(PPRF)的发展。
2024-05-08 17:58:22
1642
原创 【CCS2022】STAR: Secret Sharing for Private Threshold Aggregation Reporting
STAR为数据收集提供了一种新的、更为私密和有效的方法,能够帮助开发者在收集关键的应用使用信息的同时,保护用户的隐私。
2024-03-09 17:15:32
1072
原创 【个人账号体系设计】偏个人功能类账号功能模块设计
本文讨论了针对以个人功能为主的业务系统的账号能力设计,包括账号管理的总体需求、关键属性和设计要点。重点在于如何通过细致的设计实现账号的有效管理和安全性,确保系统既便于用户操作又能维持管理的严密性。
2024-03-07 20:40:49
561
原创 【邀请码体系设计】准入型邀请码的功能模块设计方案
文章讨论了准入型和营销型邀请码的技术需求,强调了管理功能、配置灵活性、数据分析能力和预生成策略的重要性。准入型邀请码的属性包括唯一标识符、生成任务ID、有效时间、使用方式和状态,这些特点确保了其在一次性使用场景中的有效管理和追踪。
2024-03-07 17:05:51
595
原创 【邀请码体系设计】邀请码生成方案的落地实现
这篇文章探讨了邀请码的生成机制,指出邀请码生成与唯一ID生成的区别,并强调了邀请码生成过程中唯一性校验的重要性。文章介绍了一种直观的哈希方法来生成邀请码,并分析了其潜在的容量限制问题,为了解决这个问题,提出了将哈希值转换为36进制的方法,以及在分布式环境下利用分布式ID生成算法(如雪花算法)来优化邀请码的生成,保证其在分布式系统中的唯一性和一致性。
2024-03-06 20:42:12
1961
原创 【邀请码体系设计】深入解析准入限制型邀请码的设计与实现
本文全面探讨了准入限制型邀请码的设计与实现,包括邀请码的构成、存储与派发模式、以及高效的生成策略。文中详细分析了预生成与池化、基于哈希函数的生成、分布式ID生成,以及增量检查与回退机制等生成方案。此外,还探讨了包括定时任务扫描、惰性过期验证,以及混合过期策略在内的多种邀请码过期管理策略,为设计高效、安全的邀请码系统提供了一些可行的建议。
2024-03-04 20:50:57
2023
原创 python random.randint方法底层分析及其逆向
本文主要解释了python random模块中的randint方法的底层原理,并做了简单的逆向,能还原出所使用的随机数的部分,这在对random模块逆向的时候会有一些帮助。
2024-01-23 15:23:39
1073
原创 慎用“from pwn import *”!和re库findall方法重名引发的问题
今天搓一个sage脚本遇到一个很无语的问题,经过调试,发现是pwntools库中的findall方法和re库中的findall方法重名导致的。这两个findall方法的用法完全不一样,稍有不慎就会踩坑。
2024-01-23 14:51:05
558
原创 Macos flatter(用于快速LLL)本地编译安装(解决安装过程各种疑难杂症)
flatter是一个开源项目,能大大提高LLL的速度,项目提供的安装文档适用于Ubuntu,但是在macos上安装,总会遇到各种各样的问题,这里记录下所踩坑,帮助大家快速在macos上安装flatter。
2024-01-18 15:12:37
1529
原创 HomeBrew安装历史版本依赖库(formula)-4.0以后版本通用(以brew安装fplll5.4.2为例)
使用brew install安装依赖时,免不了需要安装一些历史版本依赖,在老版本中通常可以找到历史的tb文件直接brew install进行安装,新版禁止了这种做法,提供了更好的办法,本文分享一下如何HomeBrew安装历史版本依赖库。
2024-01-18 14:48:30
2144
1
原创 Sage运行pwntools库脚本异常解决:OSError: Int or String expected
需要和Oracle交互的密码学脚本一般都需要借助pwn库的帮助,今天切换了python版本后,出现了一个异常(OSError: Int or String expected,详细异常见文章),查阅一下源码后简单的解决了这个问题,在此分享一下。
2024-01-08 17:09:35
684
原创 gmpy2 GMP is_prime函数底层c代码分析
偶然看到一篇paper(2018年发表),说GMP中的素性检测使用的是单独的Miller_Rabin方法,单独的Miller_Rabin素性检测会存在部分安全问题(低概率),然后突然想求证一下最新版本的GMP中是否进行了修改。python中常用的gmpy库的底层实际就是GMP实现的。
2023-11-14 23:12:14
525
原创 带IV的分组加密下密文分散存储且存在混淆密文片段的多项式时间解密方案
在使用带IV的分组加密模式下,考虑这样一个场景:分组加密后,每组密文都被分散保存,且在恢复的时候,每组密文会和n个混淆的密文一起提供,此时,若想完整的恢复明文,需要一个多项式时间的方案来剔除所有混淆密文。本文提出了一种基于可密文前缀的方案,能够在多项式的时间内完成解密。
2023-10-31 20:26:44
237
原创 【密码学代码分享】突破ECDSA算法封装--JS无三方包纯手写ECDSA
ECDSA是一种基于椭圆曲线密码学的数字签名算法。它用于确保数字数据的完整性和身份验证,通常在信息安全和加密通信中使用。在日常使用中,通常会使用一些函数库来实现完成这个算法的功能,但是有部分情况是需要自高度自定义ECDSA相关逻辑的,这里分享JavaScript语言在不借助第三方库的前提下纯手写的ECDSA算法代码,并对其实现原理进行解释。
2023-09-02 21:16:30
55055
1
原创 【CAS定制】定制化密码编码器--支持密码组合编码或加密 PasswordEncoder
CAS中,默认支持的PasswordEncoder只能通过一种密码算法进行编码或加密,但是日常场景经常存在组合编码的需求,这就需要我们去定制一种支持密码组合编码或加密的编码器。
2023-08-09 17:26:39
54520
1
原创 【个人环境问题排查】解决一个离谱的BurpSuite Professional代理问题(无法访问此网站,Whitelabel Error Page)
最近打开Burp的时候,发现内置浏览器访问不任何网站了,用证书的方式在普通浏览器也访问不了,非常疑惑,最后发现竟是一个非常离谱的问题。
2023-08-08 09:32:36
36823
1
原创 【项目排错】谨防不同包下的BeanUtils混用
今天排查项目里一个奇奇怪怪的NPE问题,经过调试,最后竟是混用了不同包的BeanUtils所导致的,这里记录一下。
2023-08-04 16:53:35
33517
原创 【JDK版本差异】Optional.requireNonNullElseGet在JAVA8中的替代表述
`Objects.requireNonNullElseGet` 是 Java 9 引入的方法,不在 Java 8 中可用。但是,可以使用 Java 8 的一些功能来模拟类似的效果。
2023-08-04 11:30:41
33888
原创 【CAS6.6源码解析】ST的默认淘汰策略 MultiTimeUseOrTimeoutExpirationPolicy
本篇文章是对上篇文章【深度解析票据淘汰与过期策略】的一个补充,上篇文章主要分析了TGT的默认淘汰策略配置,ST的配置有TGT的默认配置有一些差异化,特别是ST是基于MultiTimeUseOrTimeoutExpirationPolicy这样一种淘汰策略,本文将详细解析ST的淘汰策略。
2023-08-01 15:00:54
69139
MacOS Arm64下115.0.5790.170版本的chromedriver
2023-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人