程序 系统core asp

Asp-Net-Core开发笔记:使用RateLimit中间件实现接口限流

前言 最近一直在忙(2月份沉迷steam,3月开始工作各种忙),好久没更新博客了,不过也积累了一些,忙里偷闲记录一下。 这个需求是这样的,我之前做了个工单系统,现在要对登录、注册、发起工单这些功能做限流,不能让用户请求太频繁。 从 .Net7 开始,已经有内置的限流功能了,但目前我们的项目还在使用 ......

《操作系统导论》读书笔记1——CPU虚拟化,进程

系列文章目录和关于我 一丶CPU的虚拟化 一个桃子,我们称之为物理(physical)桃子。但有很多想吃这个桃子的 人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜。我们把给每个 人的桃子称为虚拟(virtual)桃子。我们通过某种方式,从这个物理桃子创造出许多虚拟桃子。重要的是,在 ......
导论 进程 笔记 系统 CPU

不存在百分百的安全,该给你的系统上个保险了

故障,是每个技术人都不愿遇到,但却总会遇到的事件。程序Bug、安全漏洞、黑客攻击、服务器宕机、网络中断等诸多因素都有可能引发系统故障,使我们的业务面临瘫痪的窘境。这样的例子,国内外都在不断的发生,比如: 2020年,由于严重的全澳性IT故障,Coles的收银机全部不能联网,down机瘫痪。收银员扫不 ......
百分 系统

学习ASP.NET Core Blazor编程系列三十——JWT登录(4)

JWT只是缩写,全称则是JSON Web Tokens,是目前流行的跨域认证解决方案,是基于开放标准RFC7519,提供一种身份认证与信息交换的解决方案,是一种基于JSON的用于在网络上声明某种主张的令牌(token)。今天的文章使用API接口来实现使用JWT登出功能。 ......
Blazor Core ASP NET JWT

聊一聊系统重构

打破常规,重立新规; 01 开始想聊这个话题的时候,我是打算放弃的;因为这个话题涉及范围之广,内容之多,让我犯怵; 近几年,待过两家公司;一家经历过重构,另一家也打算重构...... 其实要下定决心,推翻重来,是一个很有勇气的决定; 归根结底,不到万不得已,谁想这么玩,谁愿意花费大精力去做这些脏活、 ......
系统

自己动手从零写桌面操作系统GrapeOS系列教程——19.硬盘读写理论知识

学习操作系统原理最好的方法是自己写一个简单的操作系统。 一、硬盘控制器 我们前面已经讲过硬盘控制器是一种I/O接口,CPU通过它就能间接的读写硬盘。硬盘控制器主要有IDE和SATA两种,我们这里只考虑IDE控制器。 电脑里硬盘控制器有2个,一个叫主控制器,另一个叫从控制器。而每个硬盘控制器能连接两个 ......
桌面 硬盘 GrapeOS 理论 教程

自己动手从零写桌面操作系统GrapeOS系列教程——20.汇编语言读硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 本讲我们设计一个简单的读硬盘实验。通过一定的方法使硬盘第二个扇区的前3个字节依次为1、2、3,最后3个字节依次为3、2、1,中间的506个字节全为0。然后通过读硬盘程序将硬盘第二个扇区的数据读取到内存0x7e00-0x7fff的地方,也就是内存 ......
实战 桌面 硬盘 GrapeOS 语言

自己动手从零写桌面操作系统GrapeOS系列教程——21.汇编语言写硬盘实战

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们学习了用汇编语言读硬盘,本讲我们来学习用汇编语言写硬盘。同样也是设计一个简单的实验,实验内容为: 在内存中准备一段有特征的512字节数据,地址为0x7e00~0x7fff,其特征是前3个字节依次为4、5、6,最后3个字节依次为6、 ......
实战 桌面 硬盘 GrapeOS 语言

自己动手从零写桌面操作系统GrapeOS系列教程——18.外设和IO

学习操作系统原理最好的方法是自己写一个简单的操作系统。 一、外设和I/O接口 前面我们介绍过冯·诺依曼结构包含5部分,其中输入设备和输出设备统称为外部设备,简称外设。常见的外设有鼠标、键盘、显示器、硬盘等。由于外设种类多、差异大、速度慢等原因,导致CPU无法直接与外设沟通。于是在CPU和外设之间产生 ......
外设 桌面 GrapeOS 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——16.封装打印字符串函数

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们向屏幕打印字符串“GrapeOS”用了十几行汇编代码,如果要输出的字符比较多,这种方法太繁琐了。本讲我们将打印字符串封装成一个函数,使用时就方便多了。 一、mbr7.asm mbr7.asm代码如下: org 0x7c00 ;如果 ......
字符串 函数 字符 桌面 GrapeOS

自己动手从零写桌面操作系统GrapeOS系列教程——17.用汇编语言清空屏幕

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在QEMU中会默认输出一些字符,有时候会干扰我们自己输出的字符。一个比较好的办法是向将屏幕清空,再输出我们想要输出的字符。下面就来学习如何清空屏幕。 一、清空屏幕 其实清空屏幕的原理很简单,就是将屏幕写满空格就行了。 下面来实战。mbr8.as ......
屏幕 桌面 GrapeOS 语言 教程

使用python自动监控程序运行过程数据

工作中会遇到需要监控程序运行过程数据的情况,比如定时执行监控的cmd并记录执行结果,本文提供一种实现方式,便于后续排查问题。 ......
过程 程序 数据 python

设计一款可扩展和基于windows系统的一键处理表格小工具思路

原创总结/朱季谦 设计一款可扩展和基于windows系统的一键处理表格小工具思路 日常开发当中,业务人员经常会遇到一些重复性整理表格的事情,这时候,就可以通过一些方式进行自动化程序处理,提高工作(摸鱼)效率。 例如,业务人员有这样需要,日常需要手工整理以下原始xlsx表格数据,这些数据格式都是固定死 ......
表格 思路 windows 工具 系统

ASP.NET Core - 配置系统之配置提供程序

3. 配置提供程序 上面提到,通过 IConfigurationBuilder 的实现类对象,我们可以自由地往配置系统中添加不同的配置提供程序,从而获取不同来源的配置信息。.NET Core 中,微软提供了以下这些内置的配置提供程序: 文件配置提供程序 环境变量配置提供程序 命令行配置提供程序 Az ......
程序 系统 Core ASP NET

ASP.NET Core - 配置系统之自定义配置提供程序

#4. 自定义配置提供程序 在 .NET Core 配置系统中封装一个配置提供程序关键在于提供相应的 IconfigurationSource 实现和 IConfigurationProvider 接口实现,这两个接口在上一章 ASP.NET Core - 配置系统之配置提供程序 中也有提到了。 I ......
程序 系统 Core ASP NET

ASP.NET Core - 配置系统之配置添加

2. 配置添加 配置系统可以读取到配置文件中的信息,那必然有某个地方可以将配置文件添加到配置系统中。之前的文章中讲到 ASP.NET Core 入口文件中,builder(WebApplicationBuilder 对象) 中有一个 Configuration 属性,这里就是我们扩展添加额外的配置的 ......
系统 Core ASP NET

ASP.NET Core - 选项系统之选项配置

1. 选项 前面讲完了.NET Core 下的配置系统,我们可以通过 IConfiguration 服务从各种来源的配置中读取到配置信息,但是每次要用的时候都通过 Iconfiguration 读取配置文件会比较不方便,而且效率低。.NET Core 体系下提供了一个选项系统,该功能用于实现以强类型 ......
系统 Core ASP NET

ASP.NET Core - 配置系统之配置读取

一个应用要运行起来,往往需要读取很多的预设好的配置信息,根据约定好的信息或方式执行一定的行为。 配置的本质就是软件运行的参数,在一个软件实现中需要的参数非常多,如果我们以 Hard Code(硬编码)的方式写在应用代码中,这样配置就会很乱,而且后续也不容易修改。乱而多,而且不容易修改,这就需要一个统 ......
系统 Core ASP NET

ASP.NET Core - 依赖注入(三)

4. 容器中的服务创建与释放 我们使用了 IoC 容器之后,服务实例的创建和销毁的工作就交给了容器去处理,前面也讲到了服务的生命周期,那三种生命周期中对象的创建和销毁分别在什么时候呢。以下面的例子演示以下: 首先是新增三个类,用于注册三种不同的生命周期: public class Service1 ......
Core ASP NET

ASP.NET Core - 依赖注入(四)

4. ASP.NET Core默认服务 之前讲了中间件,实际上一个中间件要正常进行工作,通常需要许多的服务配合进行,而中间件中的服务自然也是通过 Ioc 容器进行注册和注入的。前面也讲到,按照约定中间件的封装一般会提供一个 User{Middleware} 的扩展方法给用户使用,而服务注册中也有一个 ......
Core ASP NET

工业控制应用程序二进制的秘密

​ 本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 源码:https://github.com/momalab/ICSREF 原论文:ICSREF: A Framework for Automated ......

ICSFUZZ:操纵I/O、二进制代码重用以及插桩,来Fuzzing工业控制应用程序

​ 本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 源码:GitHub - momalab/ICSFuzz 原文:ICSFuzz: Manipulating I/Os and Repurposing B ......

vivo全球商城:库存系统架构设计与实践

作者:vivo官网商城开发团队 - Xu Yi、Yan Chao 本文是vivo商城系列文章,主要介绍vivo商城库存系统发展历程、架构设计思路以及应对业务场景的实践。 一、业务背景 库存系统是电商商品管理的核心系统,本文主要介绍vivo商城库存中心发展历程、架构设计思路及应对各种业务场景的实践。 ......
架构 库存 商城 全球 系统

顺应潮流,解放双手,让ChatGPT不废话直接帮忙编写可融入业务可运行的程序代码(Python3.10实现)

众所周知,ChatGPT可以帮助研发人员编写或者Debug程序代码,但是在执行过程中,ChatGPT会将程序代码的一些相关文字解释和代码段混合着返回,如此,研发人员还需要自己进行编辑和粘贴操作,效率上差强人意,本次我们试图将ChatGPT直接嵌入到代码业务中,让ChatGPT生成可以直接运行的代码。 ......
废话 双手 潮流 ChatGPT Python3

.NET应用系统的国际化-多语言词条服务

上篇文章我们介绍了 VUE+.NET应用系统的国际化-整体设计思路 系统国际化改造整体设计思路如下: 提供一个工具,识别前后端代码中的中文,形成多语言词条,按语言、界面、模块统一管理多有的多语言词条 提供一个翻译服务,批量翻译多语言词条 提供一个词条服务,支持后端代码在运行时根据用户登录的语言,动态 ......
词条 应用系统 国际 系统 NET

推荐系统[八]算法实践总结V2:排序学习框架(特征提取标签获取方式)以及京东推荐算法精排技术实战

0.前言 「排序学习(Learning to Rank,LTR)」,也称「机器排序学习(Machine-learned Ranking,MLR)」 ,就是使用机器学习的技术解决排序问题。自从机器学习的思想逐步渗透到信息检索等领域之后,如何利用机器学习来提升信息检索的性能水平变成了近些年来非常热门的研 ......
算法 实战 框架 特征 标签

【ASP.NET Core】修改Blazor.Server的Hub地址后引发的问题

Blazor Server,即运行在服务器上的 Blazor 应用程序,它的优点是应用程序在首次运行时,客户端不需要下载运行时。但它的代码是在服务器上执行的,然后通过 SignalR 通信来更新客户端的 UI,所以它要求必须建立 Web Socket 连接。 用于 Blazor 应用的 Signal ......
地址 Blazor Server 问题 Core

.NET应用系统的国际化-整体设计思路

近期产品要支持国际化多语言,主要涉及前端界面国际化以及后端提示信息、异常信息的国际化多语言支持。 目前我们的开发技术栈:前端VUE、后端.NET。面向前端界面和后端服务,分别涉及对应的国际化多语言支持方案。 一、前端界面国际化多语言支持 前端VUE界面的源码如下: 上述代码中,我们将需要多语言支持的 ......
应用系统 思路 整体 国际 系统

ASP.NET Core Web API 接口限流

一. 前言 ASP.NET Core Web API 接口限流、限制接口并发数量,我也不知道自己写的有没有问题,抛砖引玉。 二. 需求 写了一个接口,参数可以传多个人员,也可以传单个人员,时间范围限制最长一个月。简单来说,当传单个人员时,接口耗时很短,当传多个人员时,一般人员会较多,接口耗时较长,一 ......
接口 Core ASP API NET

ASP.NET Core Web API Swagger 按标签Tags分组排序显示

需求 swagger页面按标签Tags分组显示。 没有打标签Tags的接口,默认归到"未分组"。 分组内按接口路径排序 说明 为什么没有使用GroupName对接口进行分组? 暂时不需要,以及不想点击swagger页面右上角那个下拉框。 当然Tags和GroupName不冲突,不影响通过GroupN ......
Swagger 标签 Core Tags ASP