医院管理 毕业设计 服务系统springboot

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

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

SpringBoot——自定义自动配置与起步依赖

SpringBoot——自定义自动配置与起步依赖 SpringBoot为我们提供了灵活强大的自动配置与起步依赖功能,接下来我们参考其实现原理,实现专属于我们自己的自动配置与起步依赖。 不仅如此,我们对其稍作修改,让它适用于非SpringBoot环境,甚至是低版本的Spring Framework环境 ......
SpringBoot

统一授权认证架构设计及实现

统一鉴权认证是一个基础服务。它几乎在所有企业内部都需要,企业内部只要有两个以上系统存在,就有必要实现一套统一的授权系统,否则用户使用非常地麻烦,需要在不同系统之间来回登录切换。特别是在微服务大行其道的今天,这个统一授权认证服务更是一个基础和关键入口。实现的方案有很多种,但都大同小异。 本文主要介绍授 ......
架构

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

基于Kubernetes(k8s)部署Dubbo+Nacos服务

一、说明 本文介绍基于 Kubernetes(k8s) 环境集成阿里云 私有镜像仓库 来部署一套 Dubbo + Nacos 的微服务系统,并使用 Kubernetes DNS 以及 port-forward 的方式来打通网络访问。 k8s环境搭建参考文章《基于minikube快速搭建kuberne ......
Kubernetes Dubbo Nacos k8s 8s

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

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

23年用vuex进行状态管理out了,都开始用pinia啦!

1 Vue2项目中,Vuex状态管理工具,几乎可以说是必不可少的了。而在Vu3中,尤大大推荐我们使用pinia(拍你啊)进行状态管理,咱得听话,用就完了。 使用之前我们来看一下,使用 pinia 给我们带来哪些好处? **官网介绍:**Pinia 是 Vue 的存储库,它允许您跨组件/页面共享状态 ......
状态 pinia vuex out

浅谈:服务架构进化论

从20世纪七八十年代的原始分布式到如今的单体架构、SOA、微服务、后微服务(云原生),到未来的无服务时代,这里都和你简单聊一聊。 ......
进化论 架构

大道至简的架构设计思想之:封装(C系架构设计法,sishuok)

一起来看看大道至简的一些基本设计思想,首先我们来看一下什么是封装。 封装:也叫做信息隐藏,或者数据访问保护。放到程序上来讲,就是隐藏类的属性,还有实现细节,仅对外公开一些接口。那么外部,就只能通过这个类暴露的这些访问接口,按照这个类提供的方式来访问类的内部信息或者数据。这样子的一种情况就叫做封装。 ......
架构 设计思想 大道 sishuok 思想

深入理解需求分析的目标(C系架构设计法)

需求分析的目标:是尽可能准确、全面、深入的理解业务。 1:理解“尽可能准确” 首先,需求分析,要做的事,肯定是去理解业务,但是要达到什么样的程度,才算是我们理解了这个业务呢? 第一个是“尽可能”,尽可能的意思,就是你不太可能百分之百的、完整的、准确的去理解,做不到。我们只能说是尽自己最大努力去理解, ......
架构 需求 目标

需求分析之道——需求分析要做什么(C系架构设计法,sishuok)

需求分析之道——需求分析要做什么。 需求分析是架构师开始做架构设计的第一步,对架构师来讲非常非常的重要。因为需求分析能够告诉我们,到底我们要做什么,架构设计就是为了去完成这件事情而做的。 接下来,我们就从实战的角度来讲一讲,需求分析的一些方法,都是咱们多年经验的总结,也许听上去或者说大家看上去,没有 ......
需求 架构 sishuok

剖析flutter_download_manager学习如何做下载管理,暂停和取消

前言 内容类应用中图片或文件下载,一般应用中应用更新和升级,这些都是经典的下载场景。下载是项目中基础且重要的模块。 从代码逻辑复用性和人力成本考虑,一直想实现一个纯Dart实现的下载库,作为技术储备。 最近发现了一个纯Dart实现的下载库flutter_download_manager,相对来说各方 ......

模拟浏览器与服务器交互(简易TomCat框架)

模拟浏览器发送请求到服务器获取资源的思想和代码实现 浏览器发送请求到服务器获取资源的流程和概念 日常我们使用的浏览器,底层都是帮我们做了很多事情,我们只需要用,比如输入www.baidu.com,就可以访问百度的首页 那么它是如何做到的呢,其实简单来说就是浏览器在底层利用socket,将我们输入的地 ......
简易 框架 浏览器 服务器 TomCat

设计模式(十五)----结构型模式之外观模式

1 概述 有些人可能炒过股票,但其实大部分人都不太懂,这种没有足够了解证券知识的情况下做股票是很容易亏钱的,刚开始炒股肯定都会想,如果有个懂行的帮帮手就好,其实基金就是个好帮手,支付宝里就有许多的基金,它将投资者分散的资金集中起来,交由专业的经理人进行管理,投资于股票、债券、外汇等领域,而基金投资的 ......
模式 结构型 设计模式 外观 结构

设计模式(十四)----结构型模式之组合模式

1 概述 对于这个图片肯定会非常熟悉,上图我们可以看做是一个文件系统,对于这样的结构我们称之为树形结构。在树形结构中可以通过调用某个方法来遍历整个树,当我们找到某个叶子节点后,就可以对叶子节点进行相关的操作。可以将这颗树理解成一个大的容器,容器里面包含很多的成员对象,这些成员对象即可是容器对象也可以 ......
模式 结构型 设计模式 结构

设计模式(十六)----结构型模式之代理享元模式

1 概述 定义: 运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似对象的开销,从而提高系统资源的利用率。 2 结构 享元(Flyweight )模式中存在以下两种状态: 内部状态,即不会随着环境的改变而改变的可共享部分。 外部状态,指 ......
模式 结构型 设计模式 结构

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

低代码平台前端的设计与实现(四)组件大纲树的构建设计

在上篇文章,我们已经设计了一个简单的设计态的Canvas,能够显示经过BuildEngine生成的ReactNode进行渲染。本文,我们将继续上一篇文章的成果,设计并实现一个能够显示组件节点大纲树的组件。 什么是组件大纲树? 我们希望用户能通过一个地方比较明显的看到当前整个ComponentNode ......
大纲 组件 端的 代码 平台

【Git】代码权限&分支管理

以Gitlab代码托管平台说明,也是目前应用最为广泛的企业搭建私服的选择。 1. 权限管理 [项目] 访问权限有3种::Private、Internal、Public Private:只有组成员才能看到 Internal:只要登录的用户就能看到 Public:所有人都能看到 [项目成员] 有五种权限 ......
分支 权限 代码 Git amp

nacos实现Java和.NetCore的服务注册和调用

用nacos作为服务注册中心,如何注册.NetCore服务,如何在Java中调用.NetCore服务呢?可以分为下面几个步骤: 0.运行nacos 1.开发.net core服务,然后调用nacos提供的.net core sdk注册服务。 2.开发Java服务,然后注册服务。 3.用RestTem ......
NetCore nacos Java

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

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

项目中多级缓存设计实践总结

缓存的重要性 简而言之,缓存的原理就是利用空间来换取时间。通过将数据存到访问速度更快的空间里以便下一次访问时直接从空间里获取,从而节省时间。 我们以CPU的缓存体系为例: CPU缓存体系是多层级的。分成了CPU -> L1 -> L2 -> L3 -> 主存。我们可以得到以下启示。 越频繁使用的数据 ......
缓存 项目

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

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

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

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