实战 管理系统 职工 项目
记一次 .NET某家装ERP系统 内存暴涨分析
一:背景 1. 讲故事 前段时间微信上有一位老朋友找到我,说他的程序跑着跑着内存会突然爆高,有时候会下去,有什么会下不去,怀疑是不是某些情况下存在内存泄露,让我帮忙分析一下,其实内存泄露方面的问题还是比较好解决的,看过这个dump之后觉得还是有一定的分享价值,拿出来和大家分享一下吧。 二:WinDb ......
这样在管理后台里实现 403 页面实在是太优雅了
前言 403 页面通常表示无权限访问,与 404 页面代表着不同含义。而大部分管理后台框架仅提供了 404 页面的支持,但却忽略了对 403 页面的处理,有的框架虽然也有对 403 页面的处理,但处理效果却不尽人意。 那怎么样的 403 页面才是即好用,又优雅呢? 其他框架是怎么做的 1、完全不处理 ......
大规模 IoT 边缘容器集群管理的几种架构-3-Portainer
前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad 大规模 IoT 边缘容器集群管理的几种架构-3-Portai ......
大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge
前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad 大规模 IoT 边缘容器集群管理的几种架构-3-Portai ......
大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介
📚️Reference: IoT 边缘计算系列文章 什么是边缘容器? 边缘容器的概念 边缘容器是分散的计算资源,尽可能靠近最终用户或设备,以减少延迟、节省带宽并增强整体数字体验。 可以访问互联网的设备数量每天都在增加。有包括但不限于: 智能电视 智能家居 智能手机 智能汽车 物联网 IoT 创造的 ......
大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s
前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 📚️Reference: IoT 边缘计算系列文章 Rancher + K3s 简介 Rancher: Kubernetes 统一管理平台, Rancher 是为采用容器的团队提供的一个完整的软件栈。它解决了管理多个 K ......
大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad
前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s 📚️Reference: IoT 边缘计算系列文章 HashiCorp 解决方案 - Nomad + Docker 简介 Nomad: 一个简单而灵 ......
透明多级分流系统(架构扫盲贴)
引子 现代互联网系统,架构设计时避不开的一点就是流量规划、负载均衡。期望做到透明、多级的分流系统。“多级”就是在各个层面的技术组件来分流,“透明”就是业务无感知(甚至是技术无感知)。本文期望能够给各位架构师作为扫盲贴使用。 两条普适性原则: 1.尽最大限度减少到达单点部件的流量。引导请求分流至最合适 ......
【ARM架构】armv8 系统安全概述
ARMv8-A 系统中的安全 一个安全或可信的操作系统保护着系统中敏感的信息,例如,可以保护用户存储的密码,信用卡等认证信息免受攻击。 安全由以下原则定义: 保密性:保护设备上的敏感信息,防止未经授权的访问。有以下几种方法可以做到,比如密码和加密密钥。 完整性:使用公钥来保护敏感信息防止被修改。 可 ......
RabbitMQ 延迟消息实战
RabbitMQ 延迟消息实战 现实生活中有一些场景需要延迟或在特定时间发送消息,例如智能热水器需要 30 分钟后打开,未支付的订单或发送短信、电子邮件和推送通知下午 2:00 开始的促销活动。 RabbitMQ 本身没有直接支持延迟队列的功能,如果您搜索“如何在 RabbitMQ 中使用延迟消息” ......
基于Vue3+TS的Monorepo前端项目架构设计与实现
写在前面 你好,我是前端程序员鼓励师岩家兴!去年在另一个项目https://juejin.cn/post/7121736546000044046中,我向读者朋友们介绍了结合npm包管理工具yarn作vue3项目的monorepo架构设计。今天,在这个风和日丽阳光明媚的钱塘江畔,我心情很好,我打算再写 ......
自己动手从零写桌面操作系统GrapeOS系列教程——1.GrapeOS介绍
为了学习操作系统原理我自己写了一个简单的操作系统,取名叫GrapeOS。 GrapeOS是一个x86多任务桌面操作系统,但非常简单,代码只有4千行。 下面我来简单介绍一下GrapeOS。 一、功能介绍 1.桌面 在桌面上可以通过鼠标双击“My Compuer”来打开资源管理器。 2.资源管理器 资源 ......
自己动手从零写桌面操作系统GrapeOS系列教程——4.GrapeOS开发环境介绍
学习操作系统原理最好的方法是自己写一个简单的操作系统。 1. 开发环境简介 为了减少开发过程中不必要的麻烦,希望大家的开发环境尽量与我的保持一致。 我的开发环境如下: Windows10电脑一台 Visual Studio Code(最好是最新版) VirtualBox 6.0.24 CentOS ......
自己动手从零写桌面操作系统GrapeOS系列教程——5.GrapeOS开发环境测试
学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们已经安装配置了开发环境,在本讲中我们来测试一下开发环境是否正常。 我们的测试流程如下: 1.在Visual Studio Code中编写GrapeOS代码; 2.在CentOS中编译GrapeOS代码; 3.在QEMU中运行Gra ......
vue+.net入门级书签项目
vu3+.net6 webApi 书签管理项目 本项目已接入ChatGpt 前言 Gitee项目地址:https://gitee.com/zyplj/book-marks Github项目地址:https://github.com/ZyPLJ/BookMarks 作为一个bug程序员,保存了很多书签 ......
嵌入式Linux—输入子系统
输入系统 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。 内核中怎样表示一个输入设备 // include/linux/input.h struct input_dev { const char *name; //设备名称 const ch ......
如何将 Autofac 整合进 Net6.0 Core MVC 项目中
一、前言 1、简而言之 Asp.Net Core Mvc,我也用了很长一段时间了,它现在的编程模型和方式还是特别棒的,都是组件开发,什么都可以替换,当然了,您别抬杠,有些还是不能替换的。自从我们进入了跨平台开发的时代,IOC容器也成了一个不可或缺的东西了。微软为我们提供了一个默认实现,那就是 ISe ......
微机原理与系统设计笔记6 | 存储器系统设计
本部分介绍存储器及其扩展方法,基本的存储器芯片功能,8088系统的存储器扩展设计、8086系统的存储器扩展设计以及译码电路的手写画图。 ......
三分钟实战手写Spring Boot Starter
1 背景 在平时的开发中,开发的同学会把一些通用的方法,写成一个工具类,例如日期转换的,JSON转换的等等,方便业务后续调用,使代码更容易维护。 如果一些更常用的方法,例如鉴权的,加解密的等等,几乎每个项目都会使用到,这时候开发的同学就会从以前的项目中再抄过来,随着项目的增多,几乎每个项目都有一份一 ......
.NET微服务系统迁移至.NET6.0的故事
本次迁移涉及的是公司内部一个业务子系统,该系统是一个多样化的应用,支撑着公司的多个业务方向。目前,该系统由40多个基于.NET的微服务应用构成,使用数千个CPU核心和数TB内存,在数百个Linux容器中运行。每天,该系统需要处理数十亿次请求。 该系统其中大部分服务是在2018-2019年左右由老旧. ......
0x04_自制操作系统My-OS实现自定义颜色
前言: 0x03我们提到: 把12(红色)用循环写入显存,每个像素点怎么显示都要看对应的显存地址,比如0xa0000到0xaffff就是每一个像素点的显存 你问为什么12就是红色,这些东西在主板出厂的时候就是规定好的,就是有点调用主板api的味道,这是我的猜测,具体为什么还要你们来查 你会发现12是 ......
国际财务系统基于ShardingSphere的数据分片和一主多从实践
作者:京东物流 张广治 1 背景 传统的将数据集中存储至单一数据节点的解决方案,在性能和可用性方面已经难于满足海量数据的场景,系统最大的瓶颈在于单个节点读写性能,许多的资源受到单机的限制,例如连接数、网络IO、磁盘IO等,从而导致它的并发能力不高,对于高并发的要求不满足。 每到月初国际财务系统压力巨 ......
MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(3)-系统数据集合设计
前言 前几章教程我们把ToDoList系统的基本框架搭建好了,现在我们需要根据我们的需求把ToDoList系统所需要的系统集合(相当于关系型数据库中的数据库表)。接下来我们先简单概述一下这个系统主要需要实现的功能以及实现这些功能我们需要设计那些数据库集合。 MongoDB从入门到实战的相关教程 Mo ......
WAF Bypass 介绍与实战
前言 WAF是英文"Web Application Firewall"的缩写,中文意思是"Web应用防火墙",也称为"网站应用级入侵防御系统"。WAF是集WEB防护、网页保护、负载均衡、应用交付于一体的WEB整体安全防护设备 WAF从形态上可分为硬件WAF、WAF防护软件和云WAF 以下仅介绍软件W ......
基于多云构建监控告警系统
之前有一个系列的文章来讲我们多云系统的设计与落地,多云系统实现了云上资源的统一管理,同时基于关联关系构建了清晰的资源拓扑,其中基于业务的资源拓扑应用最为广泛,也就是我们通常所属的服务树,许多的使用场景都依赖服务树来提供基础数据 如何保证多云系统提供的基础数据是准确的?其中一个非常有效的方式就是让上层 ......
Vue/ React/ Angular 前端项目在 Web 服务器上的部署配置
Web 服务器是一种用于存储,处理和传输 Web 内容的软件。它是一种特殊类型的服务器,具有处理 HTTP 请求并向浏览器返回 Web 页面和其他内容的能力。Web服务器支持多种编程语言,如 PHP,JavaScript,Ruby,Python 等,并且支持动态生成 Web 页面。常见的 Web 服 ......
Vue3 企业级优雅实战 - 组件库框架 - 10 实现组件库 cli - 下
上文创建了一堆 utils、component-info,并实现了新组件模块相关目录和文件的创建。本文继续实现后面的内容。 1 组件样式文件并导入 在 src/service 目录中创建 init-scss.ts 文件,该文件导出 initScss 函数。 由于 .vue 类型的组件的样式就直接写在 ......
Vue3 企业级优雅实战 - 组件库框架 - 11 组件库的打包构建和发布
回顾第一篇文章中谈到的组件库的几个方面,只剩下最后的、也是最重要的组件库的打包构建、本地发布、远程发布了。 1 组件库构建 组件库的入口是 packages/yyg-demo-ui,构建组件库有两个步骤: 添加 TypeScript 的配置文件: tsconfig.json 添加 vite.conf ......
聊聊项目中定时任务的处理方式
一个项目中一般都少不了定时任务,主要用来处理一些特殊的任务,有的是只执行一次的 定时任务,有的是周期循环执行的定时任务。可根据项目需要来选择定时任务类型。自己参与 开发的一个项目中,因为很多定时任务都是需要周期执行的,因此选用按周期循环执行的方式。 比如几分钟重载一次主表数据,重载数据字典表数据,定 ......