一文搞懂 TS 中 type 和 interface 的区别


说到type和interface,很多时候很多人都是用的很随意,因为有时候可以用 type,也可以用interface。那到底什么时候 type,什么时候用 interface呢? 要搞明白这个问题,就显得搞明白这两者各自的特点 interface interface我们叫他接口,ts设计出来主要用

python 面向对象:元类

Python 

在 Python 中,元类(metaclass)是一种特殊的类,用来控制类的创建和行为。你可以把元类看作是“类的类”,它定义了如何创建类本身。 基本概念 类:类是对象的蓝图,通过类可以创建对象(实例)。 元类:元类是类的蓝图,通过元类可以创建类。 在 Python 中,所有类都是由 type 这个元

gin 框架实现请求参数默认值

gin 

在web开发中一个不可避免的环节就是对请求参数进行校验,通常我们会在代码中定义与请求参数相对应的模型(结构体),借助模型绑定快捷地解析请求中的参数,例如 gin 框架中经常使用validator库对参数进行校验。validator库的具体使用可以参考官网:validator 基本示例 main.go

自建 MySQL 服务被人疯狂试密码?fail2ban 教他做人

运维 

本人的博客系统和 MySQL是阿里云服务器自建的,没有使用第三方云数据库,之前在排查 MySQL 错误的时候,查阅了错误日志,这不查不知道,一查吓一跳。我去,错误日志里面全部都是别人在试 MySQL 的账号密码。 我顿时惊出了一身冷汗,这要是被别人黑进数据库那还得了。赶紧去网上找解决方案,对比了很多

Go 开发神器 Air 的安装和使用

gin 

本人是 python 开发出身的,刚开始学 gin 的时候,每次修改代码都要重新编译执行,很麻烦。python 的 web 框架(Django/Flask/Tornado)都自带热重载,修改代码之后只需要按下保存(Ctrl + S),服务就会自动重启,我想 go 应该也有类似的工具吧,于是我在 gi

消除异步的传染性


背景描述 async function getUser(){ return await fetch("./1.json") } async function m1(){ const user = await getUser(); // other works ret

python 枚举类(Enum)的使用和扩展

Python 

基本用法 在 Python 中,enum 模块提供了一种定义枚举的方法。枚举是一组绑定到唯一常量值的符号名称(成员)。Enum 类是创建枚举的基类。 以下是如何使用 Enum 模块的基本示例: 定义枚举: from enum import Enum class Color(Enum): R

有哪些方式优化慢 SQL?

MySQL 

慢 SQL 的优化,主要从两个方面考虑,SQL 语句本身的优化,以及数据库设计的优化。 避免不必要的列 SQL 查询的时候,应该只查询需要的列,而不是包含额外的列,像select *这种写法应该尽量避免。 分页优化 在数据量比较大,分页比较深的情况下,需要考虑分页的优化。 select * from

数据结构和算法(Python 版)


时间复杂度 用来评估算法运行时间的一个式子(单位) 一般来说,时间复杂度高的算法比复杂度低的算法慢 常见的时间复杂度(按效率排序) O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^2logn) < O(n^3) 复杂问题的时间复杂度 O(n!) O(2