摘要:
本文是《Clean C#》一书译文的序言,阅读译文请移步至:《Clean C#》译文。 《Clean C#》的副标题是Readable,Maintainable,Pleasurable,本书旨在提供一些编写具有良好可读性与可维护性代码的建议。虽然书名中带有C#字眼,但书中提供的经验绝不仅限于C#,也 阅读全文
摘要:
这是个人学习笔记,非教程,内容会有些混乱 极简教程 数据类型 我们可以使用type()函数类获取对象的类型,Python3中内置数据类型包括:None,int,float,complex,str,list,dict,tuple,set,frozenset,range等,Python2中还有long类 阅读全文
摘要:
问题描述 EFCore cannot get new value in docker, if use rsync replace sqlite file 基于.NET6开发一个查询SQLite的API,使用Docker进行部署,通过挂载的方式来访问数据库文件:docker run -d --name 阅读全文
摘要:
SSL Provider, error: 31 - Encryption(ssl/tls) handshake failed 在测试环境部署服务后,调用API会抛出以下异常: Microsoft.Data.SqlClient.SqlException (0x80131904): A connecti 阅读全文
摘要:
ASP.NET Core通过IInputFormatter来解析输入的数据,并进行模型绑定(Model Binding);通过IOutputFormatter来解析输出的数据,来格式化响应(format response)。 两个Nuget包 谷歌提供了Google.Protobuf包用于解析Pro 阅读全文
摘要:
本文用于演示如何在本地使用Docker搭建RabbitMQ集群。 erlang cookie erlang节点间通讯需要具有相同的erlang cookie值,erlang cookie的值在.erlang.cookie文件中,位置在家目录下, 通常是/var/lib/rabbitmq。这里通过Do 阅读全文
摘要:
在生产环境中,通常有DBA同事对数据库进行监控,在发现如慢查询等问题时反馈给开发团队进行解决。 .NET平台提供了诊断机制,借助该机制可以实现EFCore记录慢查询日志功能,这样开发团队就可以通过日志告警发现慢查询问题而无需被动依赖DBA同事的反馈。 记录慢查询日志 基于.NET6创建API项目,安 阅读全文
摘要:
Python中的装饰器是一个用于修改类或者函数功能的可调用对象(callable),函数或者实现了__call__方法的类都可以看作是可调用对象。Python中装饰器分为两大类: 函数装饰器 类装饰器 函数装饰器 最简单的装饰器 Python中最简单的装饰器是一个嵌套函数。举例,使用装饰器函数ela 阅读全文
摘要:
在分布式系统中,全局唯一id算是一个基本需求,对于全局唯一id通常要求: 全局唯一 趋势递增 id的值递增但可以不连续 单调递增 后面产生的id值一定大于前面的id值 信息安全 id值不能暴露出业务数据信息 ⚠️ 许多餐馆中的订单号通常是当天唯一且连续递增,通过订单号就可以知道这家餐馆卖出了多少单 阅读全文
摘要:
常用限流算法有漏桶算法和令牌桶算法,本文借助Redis的redis_cell模块来实现令牌桶算法限流。 构建镜像并启动容器 FROM redis:latest ARG cell_dir=/lib/redis_modules/redis_cell RUN mkdir -p ${cell_dir} WO 阅读全文
摘要:
前段时间有同事问了一个问题:JavaScript是单线程运行代码,那么如下代码片段中,同样是执行func1和func2,为什么只用 Promise.all 相比于直接执行 await func1();await func2(); 速度更快: async function func1() { awai 阅读全文
摘要:
使用TypeScript或者ES2015+标准中的extends关键字是很容易实现继承的,但这不是本文的重点。JS使用了基于原型(prototype-based)的继承方式,extends只是语法糖,本文重点在于不使用extends来自己实现继承,以进一步理解JS中的继承,实际工作中肯定还是要优先考 阅读全文