Skip to main content

Command Palette

Search for a command to run...

Latest articles

[c++]浅谈函数重载解析和不明确匹配

[c++]浅谈函数重载解析和不明确匹配

先简单回顾下函数重载需要借助函数中的哪些属性来作为是否是重载函数的依据: 函数的参数类型 函数的参数个数(参数长度) 但是,这只是我们定义函数重载概念中的一部分,编译器在实际的函数重载过程中,还会进行一系列的二次判定和相对繁琐的规则匹配,这, 就是本文的内容。 重载决策 对于非重载函数,也就是具有唯一名称的函数嘛,只有一个函数可能与调用匹配,可以说,这样的函数一调一个准,因为唯一,所以没有选择,因为没有选择,所以无需过多的匹配流程。所以这种情况下,调用该函数只有两种 结果: 匹配 ...

Jan 21, 20252 min read6
提问的智慧-转载

提问的智慧-转载

更新日志 2022-9-15 午时 于 杭州 在原文的基础结构上调整了文章目录结构 简单进行了一下md的格式化 修改封面配图 引 ​ 在黑客世界里,当提出一个技术问题时,你能得到怎样的回答?这取决于挖出答案的难度,同样取决于你提问的方法。本指南旨在帮助你提高发问技巧,以获取你最想要的答案。 首先你必须明白,黑客们只偏爱艰巨的任务,或者能激发他们思维的好问题。 如若不然,我们还来干吗?如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼,可以提高我们的...

Jan 19, 20252 min read2
邪恶的非常量全局变量

邪恶的非常量全局变量

在编程过程中,避免使用全局变量是一个良好的编程实践建议。当然,这里的全局变量主要是指 非常量全局变量; 尽管在小型项目中,这一点似乎看起来人畜无害,但是在大型项目中往往会出现很多问题。 新手程序员往往比较喜欢使用大量的全局变量,因为这样使用起来方便直接,特别是当设计到不同函数的多次调用传递参数时。 若无特别说明,本文后续内容中提到的全局变量均指 非常量全局变量。 全局变量的潜在危险 到目前为止,全局变量危险的最大原因是因为他们的值可以在任何地方被任何调用的函数更改,并且程序员没有简单的方法...

Jan 12, 20252 min read4
详解设计模式|单例的进化之路

详解设计模式|单例的进化之路

概念 单例模式(Singleton Pattern)是设计模式中一个重要的模式之一,是确保一个类在任何情况下都绝对只有一个实例。单例模式一般会屏蔽构造器,单例对象提供一个全局访问点,属于创建型模式。 根据初始化时间的不同,可以将单例模式分为两类: 饿汉式单例 懒汉式单例 当然,除了上面的两个分类之外,处于对性能、安全等方面的考量,单例模式还演化出了各种实现版本,每一种版本的演进,都是单例的一次**进化与升级,**下面就来看看单例模式的进化之路上都经历了哪些挑战与对抗。 饿汉式单例 饿...

Jan 5, 20255 min read4
SpringBoot Web开发精解

SpringBoot Web开发精解

SpringMVC基础回顾 当在 Spring Boot 中引入 Web 模块时,SpringBoot 会帮我们自动配置 Web 相关的组件,其中 Spring MVC 便是最重要的部分。 组件介绍 上图是 SpringMVC 的工作原理图。先介绍一下原理图中涉及的各个组件。 DispatcherServlet:前端控制器,是整个流程的控制中心,由它调用其他组件处理用户请求。 HandlerMapping:处理器映射器,负责根据用户请求的URL找到相应的Handler处理器。 Handl...

Jan 5, 20256 min read5
Spring Security5.x到Spring Security6.x的迁移

Spring Security5.x到Spring Security6.x的迁移

1. 啰里吧嗦 之前有写过一篇关于Spring Security的文章,但那已经是相对比较旧的版本了,就目前Spring Security6.0来说,这其中出现了不少的变动和更新,很多API的使用也是有不小的变化,所以我觉得有必要学习一下。但这篇文章的重点放在SpringSecurity6.x的新变动了解以及SpringSecurity5.x版本的迁移上。 2. 阅读前提 这里写什么呢?SpringSecurity6.0+版本都更新了些什么东西,这里就简单给各位整理一下。注意这里所整理的一些更...

Jan 5, 20252 min read5
关于Lombok鲜为人知的几个奇技淫巧

关于Lombok鲜为人知的几个奇技淫巧

0. 导语 各位芳龄18,工作经验20年的朋友多多少少都用过lombok这个东西,他的注解一用一个不吱声,一用一个巴适。但是这篇文章的重点不是在于教你如何系统的使用Lombok,而是分享几个你可能几乎不知道的 奇技淫巧。 1. Lombox 基本情况 虽然说的具体使用教程不是本文的重点,但是基本的概念和简单的用法还是要提一嘴的,万一真有新人还没来得及发现这个东西呢,岂不是又能嫖到一个宝? Lombok 是一个 Java 库,旨在通过自动生成代码来简化 Java 类的编写。使用 Lombok ...

Jan 5, 20255 min read4
如何写得一手优雅规范的SpringBoot 接口

如何写得一手优雅规范的SpringBoot 接口

导语 优雅的代码赏心悦目,你的代码触目惊心。 当编写 Spring Boot 接口时,优雅和规范是至关重要的。一个良好设计的接口能够提高代码的可读性、可维护性和可扩展性,从而为整个应用程序的开发和维护带来便利。 在本文中,我们将探讨如何通过遵循最佳实践和设计原则,编写出优雅规范的 Spring Boot 你的接口也可以像企业级项目接口一般规范且优雅。 严格遵循RESTful API 设计原则 清晰一致的资源命名:使用准确反映 API 管理的资源的名词(例如,/articles、/user...

Jan 5, 20252 min read3
Rust 生命周期浅谈

Rust 生命周期浅谈

1. 简述 Rust 中的每一个引用都有其 生命周期(lifetime),也就是引用保持有效的作用域。大部分时候生命周期是隐含并可以推断的,正如大部分时候类型也是可以推断的一样。类似于当因为有多种可能类型的时候必须注明类型,也会出现引用的生命周期以一些不同方式相关联的情况,所以 Rust 需要我们使用泛型生命周期参数来注明他们的关系,这样就能确保运行时实际使用的引用绝对是有效的。 生命周期的概念从某种程度上说不同于其他语言中类似的工具,毫无疑问这是 Rust 最与众不同的功能。 2. 秒懂生...

Jan 5, 20252 min read2