- 博客(9)
- 收藏
- 关注
翻译 基于循环队列的BFS的原理及实现
1.故事起源有一只蚂蚁出去寻找食物,无意中进入了一个迷宫。蚂蚁只能向上、下、左、右4个方向走,迷宫中有墙和水的地方都无法通行。这时蚂蚁犯难了,怎样才能找出到食物的最短路径呢?2.思考蚂蚁在起点时,有4个选择,可以向上、下、左、右某一个方向走1步。如果蚂蚁走过了一段距离,此时也依然只有4个选择。当然要排除之前走过的地方(不走回头路,走了也只会更长)和无法通过的墙和水。蚂蚁想,还好我会影分身。如果每一步都分身成4个蚂蚁,向4个方向各走1步,这样最先找到食物的肯定就是最短的路径了(因为每一步都把能走的
2021-01-27 17:30:53 635
翻译 Spring Security,没有看起来那么复杂(附源码)
权限管理是每个项目必备的功能,只是各自要求的复杂程度不同,简单的项目可能一个 Filter 或 Interceptor 就解决了,复杂一点的就可能会引入安全框架,如 Shiro, Spring Security 等。其中 Spring Security 因其涉及的流程、类过多,看起来比较复杂难懂而被诟病。但如果能捋清其中的关键环节、关键类,Spring Security 其实也没有传说中那么复杂。本文结合脚手架框架的权限管理实现(jboost-auth 模块,源码获取见文末),对 Spring Secur
2021-01-27 17:29:55 177
翻译 浅析Asp.Net Core框架IConfiguration配置
一、建造者模式(Builder Pattern)二、核心接口与配置存储本质三、简易QueryString配置源实现四、宿主配置与应用配置五、文件配置源配置更新原理一、建造者模式为什么提建造者模式?在阅读.NET Core源码时,时常碰到IHostBuilder,IConfigurationBuilder,ILoggerBuilder等诸如此类带Builder名称的类/接口,起初专研时那是一头愣。知识不够,勤奋来凑,在了解到Builder模式后终于理解,明白这些Builder类是用来构建相对应类的
2021-01-27 17:27:06 1295 1
翻译 那些编程高手是如何练成的?
每个人都有成长的渴望,也都会遇到成长的瓶颈。下面这个问题是一个读者问我的:如何才能训练成为一个编程高手?先简单说下这个读者的背景:工作 3 年多,目前在大厂做后台开发,身边有不少编程高手,是他想要追赶的目标。最近半年时间,他花了一些精力在研究源码和底层原理上,但总觉得这些知识和实际工作衔接不好,提升很慢,学习动力也越来越差,希望我能给点建议。我和他语音聊了半个小时,讲了一些我个人以及身边同事的案例。交流下来后,双方都有所启发。所以再次整理下,分享给大家。何谓 “编程高手” ?我觉得能分成这样 3
2021-01-27 17:22:41 154 1
翻译 使用remix实现给合约账户转账
实现内容:从remix上的虚拟账户上转账给自己编写的智能合约账户前提基础:对solidity有一些基础了解,对以太坊的账户机制有一定了解。账户在以太坊中账户的唯一标识是地址(address)。在solidity中即地址类型。但是地址类型也分为两种:address 和 address payable 。地址类型最常用的成员变量有balance,即当前账户余额。具体成员变量可查看文档而address payable 和 address 相同,不过还具有成员transfer() 和 send()这样使得
2021-01-27 17:20:06 2139
翻译 COLMAP简易教程(命令行模式)
完整的 multi view stereo pipeline 会有以下步骤structure from motion(SfM)==> camera parameters, sparse point cloudmulti view stereo(MVS)==>depth map, dense point cloudsurface reconstruction(SR)==>poisson or delauny reconstruction, meshtexture mapping™==
2021-01-27 17:19:15 2627 1
翻译 使用注解的形式对token进行验证
前言现在很多系统都是都用上了springboot、springcloud,系统也偏向分布式部署、管理,最早的用户令牌方案:session、cookie已经不能够满足系统的需求,使用一些特殊操作完成令牌的生成及校验会造成更多的服务器开销及客户端开销,为此许多项目都使用上了token。token的原理即为将一串加密字符,寄存在请求头中,随着请求头往返与前后端,以校验该访问是否有权限。如果每一个系统都去写一套token的生成和验证,是一个很繁琐的重复造轮子,让人有点难受。所以趁着空隙,生成了我使用注解就可以
2021-01-27 17:18:09 802
翻译 动态规划系列之六01背包问题
法外狂徒张三是一个探险家,有一次巧合之下进入到一个有宝藏的洞穴里。这个洞穴有很多个不重复的宝贝,同时每个宝贝的重量也不一样。具体来说有:A 重 2 价值为 2B 重 3 价值为 6C 重 4 价值为 4D 重 4 价值为 5E 重 1 价值为 3现在张三就只有一个背包,这个背包承重为10,张三想知道如何装才能带走价值最大的宝藏?在这个问题里其实有两个变量,第一:物品 ABCDE,是一种变量;第二:背包的承重为另个变量。所以首先假设一种最极端的状态:物品只有0个,背包的重量也为0。这就是边界值
2021-01-27 17:17:13 160
翻译 小白也能看懂的ACID与隔离级别
前言现如今JAVA开发工程师的数量越来越多,但大多数工程师平时做的工作都是简单的CRUD,当你一直处于这种舒适的环境中不追求进步的时候,如果哪一天你突然想要改变环境,换个工作,去与面试官当面聊技术的时候,你会发现自己什么都不会!可能我们经常会被面试官问到:“你懂事务的ACID吗?”你回答:“ACID不就是原子性、一致性、隔离性和持久性嘛,这有什么好说的。”当你这么回答的时候,面试官微微一笑,又问到:“说的不错,那你能具体解释一下吗?”你支支吾吾半天也没有说的特别清楚。面试官有些不耐烦:“好了,我
2021-01-27 17:16:05 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人