网络通信 系统 网络

自己动手从零写桌面操作系统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 语言 教程

无处不在的边缘网络感知

01 引子 CDN 服务了互联网的大部分场景,是互联网业务背后重要的基础组件。CDN 的访问异常有可能造成大面积的互联网业务影响,如何应对访问异常是衡量 CDN 服务质量好坏的一个重要标准。比如某某电信大楼着火事件造成了某些地区的网络不可访问,阿里云 CDN 通过技术手段,保障了客户业务的正常运转。 ......
边缘 网络

能快速构建和定制网络拓扑图的WPF开源项目-NodeNetwork

大家好,我是沙漠尽头的狼,今天介绍一个WPF开源项目-NodeNetwork,它可以帮助我们快速构建和定制网络拓扑图。 一、前言 在现代软件开发中,数据可视化和可交互性越来越受到关注。为了实现这一点,通常需要使用各种图表、表格、网络拓扑图等控件。然而,对于某些特殊的场景,这些控件可能无法满足需求,此 ......
拓扑图 拓扑 NodeNetwork 项目 网络

几种类型神经网络学习笔记

跟随【导师不教?我来教!】同济计算机博士半小时就教会了我五大深度神经网络,CNN/RNN/GAN/transformer/LSTM一次学会,简直不要太强!_哔哩哔哩_bilibili了解的五大神经网络,整理笔记如下: 视频是唐宇迪博士讲解的,但是这个up主发的有一种东拼西凑的感觉,给人感觉不是很完整 ......
神经网络 神经 类型 笔记 网络

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

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

网络问题定位工具记录

网络问题定位工具记录 老王内网发了一篇使用各种工具定位网络丢包问题的文章。 里面的工具我发现都没用过。。。惭愧。。。赶紧补充linux命令知识。 linux的nstat命令是做什么的?输出格式是什么意思? nstat是一个Linux命令行工具,用于显示网络接口的统计信息,包括TCP、UDP、IP和I ......
工具 问题 网络

Flutter 下载篇 - 叁 | 网络库切换实践与思考

前言 本文是关于使用flutter_download_manager下载功能的实践和探索。我们将基于flutter_download_manager的功能扩展,改造成自己想要的样子。在阅读本文之前,建议先了解前两篇文章: Flutter 下载篇 - 壹 | flutter_download_mana ......
Flutter 网络

Flutter 下载篇 - 贰 | 当下载器遇上切换网络库

需求背景 继上篇《Flutter 下载篇 - 壹 | flutter_download_manager 源码解析》中详细介绍了 flutter_download_manager 用法和原理。在优缺点中提到,该库纯 Dart 实现,支持下载管理,暂停,恢复,取消和断点续传。其中有个缺点是网络库与 di ......
Flutter 网络

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 - 配置系统之配置提供程序

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 - 配置系统之配置读取

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

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

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

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

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

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

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

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

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

掌握4C原则,设计高效的系统架构

hi,我是熵减,见字如面。 在软件开发中,设计一个好的架构是非常重要的,好架构能够影响整个系统的质量和可维护性。 而要设计出好架构,就需要遵循一些设计原则。 其中,架构设计的4C原则是一种常用的架构设计基础原则,4C原则强调架构设计的清晰性、简洁性、一致性和可改性。 这些原则可以帮助我们评估和优化架 ......
架构 原则 系统

一文带你吃透操作系统

文章字数大约1.9万字,阅读大概需要65分钟,建议收藏后慢慢阅读!!! 1. 进程、线程管理 进程和线程基础知识 进程:进程是系统进行资源分配和调度的一个独立单位,是系统中的并发执行的单位。 线程:线程是进程的一个实体,也是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,有时又 ......
系统

AIR32F103(十) 在无系统环境和FreeRTOS环境集成LVGL

LVGL是嵌入式设备中常用的图形显示库, 这篇基于 256K Flash 的 AIR32F103CCT6 和 SPI接口的 ST7735 128x160 LCD屏, 介绍 LVGL 在无系统环境和FreeRTO环境, 带DMA和不带DMA方式的集成步骤 ......
环境 FreeRTOS 系统 F103 LVGL

Linux系统下祼机安装mysql8.0和docker mysql 8.0 性能差异对比~

环境准备 准备两台服务器环境,配置相同,分别安装Centos7,mysql8.0,docker mysql 8.0 准备测试代码 public class Chat { public static long Count = 0; public Chat() { } public static voi ......
mysql 差异 性能 mysql8 docker

linux网络编程中的errno处理

在网络编程中,处理网络连接、连接收发数据等经常会涉及到errno的处理。经过查阅了很多资料,发现没有一个系统的讲解,在不同阶段会遇到哪些errno,以及对这些errno需要如何处理。因此,本文将分为三个部分来讲解。 ......
网络编程 linux errno 网络

基于内容的推荐系统算法

基于内容的推荐算法是一种常用的推荐算法,它主要通过分析物品的特征(如文本、图片、视频等)来实现推荐。其核心思想是利用物品属性的相似性,将已经喜欢的物品的特征作为输入,推荐与该物品相似度高的其他物品。 基于内容的推荐算法仅考虑了单个用户对物品的偏好,而未考虑多个用户之间的交互和影响。此外,该算法在特征 ......
算法 内容 系统

【RSocket】使用 RSocket(二)——四种通信模式实践

Source Code: https://github.com/joexu01/rsocket-demo 0. 四种通信模式 让我们来简单复习一下 RSocket 的四种通信模式: 即发即忘 - FireAndForget:立即发送一个请求,无需为这个请求发送响应报文。适用于监控埋点,日志上报等,这 ......
RSocket 模式

sqlite3数据库Linux 系统移植和使用

sqlite3数据库是一个小型的数据库,当数据量不大,要求不是特别高的时候,是个不错的选择。 在Linux上移植和使用也非常的方便。 本示例是在硬件全志r528 .linux5.4 上验证的。 移植操作: 1、源码下载 去官网进行下载源码SQLite Download Page,根据自己的选取选择不 ......
sqlite3 数据库 数据 sqlite 系统

AI 大战 AI,一个深度强化学习多智能体竞赛系统

小伙伴们快看过来!这是一款全新打造的 ⚔️ AI vs. AI ⚔️——深度强化学习多智能体竞赛系统。 这个工具托管在 Space 上,允许我们创建多智能体竞赛。它包含三个元素: 一个带匹配算法的 Space,使用后台任务运行模型战斗。 一个包含结果的 Dataset。 一个获取匹配历史结果和显示模 ......
深度 大战 智能 系统 AI