复杂系统 实战 原则 案例

掌握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

看完这一篇,ShardingSphere-jdbc 实战再也不怕了

谈到分库分表中间件时,我们自然而然的会想到 ShardingSphere-JDBC 。 这篇文章,我们聊聊 ShardingSphere-JDBC 相关知识点,并实战演示一番。 1 ShardingSphere 生态 Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两 ......

基于内容的推荐系统算法

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

Java+Redis 通过Lua 完成库存扣减,创建消息队列,异步处理消息--实战

需要完成功能 借助redis Stream 数据结构实现消息队列,异步完成订单创建,其中涉及到了缓存(击穿,穿透,雪崩),锁(Redisson),并发处理,异步处理,Lua脚本 IDE:IDEA 2022 1、读取库存数据 【Lua】 2、判断库存 【Lua】 3、扣减库存 【Lua】 4、创建队列 ......
消息 队列 实战 库存 Redis

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

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

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

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

记一次 .NET某汽车零件采集系统 卡死分析

一:背景 1. 讲故事 前段时间有位朋友在微信上找到我,说他的程序会出现一些偶发卡死的情况,让我帮忙看下是怎么回事,刚好朋友也抓到了dump,就让朋友把 dump 丢给我,接下来用 windbg 探究下到底咋回事。 二:WinDbg 分析 1. 程序真的卡死吗 因为是一个 winform 程序,验证 ......
汽车零件 零件 汽车 系统 NET

Linux系统调优介绍

前言: Linux服务器运行了很多应用,在高负载下,服务器可能会出现性能瓶颈,例如CPU利用率过高、内存不足、磁盘I/O瓶颈等,从而导致系统卡顿,服务无法正常运行等问题。所以针对以上问题,可以通过调整内核参数和系统的相关组件,优化应用程序来提高服务器的性能和稳定性,避免系统崩溃和服务中断。 Linu ......
系统 Linux

在线文本翻译能力新增14个直译模型,打造以中文为轴心语言的翻译系统

经济全球化的今天,人们在工作和生活中经常会与外语打交道。相较传播性较广的英语而言,其他语种的识别和阅读对大多数人来说是一件难事,此时就需要借助语言翻译软件来帮助理解。 华为 HMS Core 机器学习服务(ML Kit)翻译功能提供了多种翻译模式,不仅可以满足应用出行购物、网络社交等日常场景,还提供 ......
直译 以中 轴心 模型 文本

Kustomize 生产实战-注入监控 APM Agent

Kustomize 简介 Kubernetes 原生配置管理工具, 它自定义引入了一种无需模板的方式来定制应用程序配置,从而简化了对现成应用程序的使用。目前,在kubectl中内置了,通过 apply -k 即可使用。 Kustomize 遍历 Kubernetes 清单以添加、删除或更新配置选项, ......
实战 Kustomize Agent APM

Python实战项目-7发送验证码/短信登录/短信注册接口

腾讯云短信开发申请 API和SDK,有SDK优先用SDK SDK: 3.0版本云操作:云操作的sdk,不仅仅有发送短信,还有云功能的其他功能 2.0版本,简单,只有发送短信功能 # 安装sdk -方式一:pip install tencentcloud-sdk-python -方式二源码安装: -下 ......
短信 实战 接口 项目 Python

Python实战项目-10文件存储/支付宝支付/支付成功回调接口

文件存储 视频文件存储在某个位置,如果放在自己服务器上 放在项目的media文件夹 服务器上线后,用户既要访问接口,又需要看视频,都是使用一个域名和端口 分开:问价你单独放在文件服务器上,文件服务器带宽比较高 # 文件服务器:专门存储文件的服务器 -第三方: -阿里云:对象存储 oss -腾讯对象存 ......
实战 接口 文件 项目 Python

Python实战项目6-后端多方式登录接口/手机登录接口

为开源项目共享代码 步骤: 1先fork开源项目 2clone下来,修改代码,进行提交 3提交pr,等作者同意 Pycharm 使用Git 右键文件会列出Git命令 登录注册功能分析 多方式登录接口:用户名/手机号/邮箱 + 密码都可以登陆 发送手机验证码接口 (借助于第三方短信平台) 短信登录接口 ......
多方式 接口 实战 项目 Python

公司某资料子系统定期cpu过高的诊断

背景 公司里的某负责保存用户文档的子系统有时会忽然cpu很高,过了大约5分钟后又恢复正常水平。领导协调让我帮看一下 (我心里是: 不熟悉这个子系统里面的代码,我尽力哈😓) 其实确实是这样的,如果熟悉出问题的系统的代码,会对诊断问题起到很大的帮助,否则就需要更多的利用对底层的理解了。 分析 打听后知 ......
子系统 资料 公司 cpu

docker实战

docker实战笔记 一、安装docker 下面以ubuntu系统举例: 卸载已有的旧版本docker $ sudo apt-get remove docker \ docker-engine \ docker.io 使用apt安装最新版docker $ sudo apt-get update $ ......
实战 docker

Python实战项目5-Git远程仓库/分支合并/冲突解决

Git分支 为什么要有分支 可以保证主分支的版本都是可以查看的版本 我们都在开发分支开发,开发完成 合并代码 分支操作 分支查看 git branch 分支创建 git branch 分支名 分支切换git checkout 分支名 分支删除 git branch -d 分支名 分支合并 创建分支 ......
分支 仓库 实战 项目 Python

vim入门实战

一入编程深似海,从此节操是路人。 前段时间由于业务场景需求,不得不近一步学习 vim 使用方法,提高工作效率,就总结了一些常用快捷键使用方法。满足一般需求,掌握基本增、删、改、查就可以了,近一步学习可以了解多屏操作和宏的使用以及自定义插件功能。 Linux发行版服务器基本上是已经配置好 vi 或者 ......
实战 vim

podman 入门实战

一入编程深似海,从此节操是路人。 最近使用podman,就想着写一篇总结性的笔记,以备后续参考。就如同写代码,不写注释,过了一段时间可能会想这是我写的吗?不会吧,还要理一下逻辑才能读懂,不利于后期维护。 感觉整体体验下来,镜像获取、容器创建、容器监控、容器移除,和docker差不多,感觉可以作为替代 ......
实战 podman

票据系统设计

最近做票据系统,在此做一个总结。下面从几个关键点逐一来阐述。 1. 库存 通俗地讲,票据系统的主要功能是出票、买票、卖票。买卖双方之间的交易就形成了票据的流转。这个过程中,票是最关键的元素。票据库存是整个票据系统的核心,所有业务最终都是对库存进行操作。对应有出库、入库操作。 交易类的库存操作是在结算 ......
票据 系统

自己动手从零写桌面操作系统GrapeOS系列教程——9.实模式介绍

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在GrapeOS中会用到2种CPU模式,一种是实模式(real mode),另一种是保护模式(protected mode)。在本教程中,保护模式特指32位保护模式。这两种模式最主要的不同点是对内存地址的访问方式不同,此外还有其它的不同点。这两 ......
桌面 GrapeOS 模式 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——11.MBR介绍

学习操作系统原理最好的方法是自己写一个简单的操作系统。 前面我们介绍过电脑的启动过程: 上电->BIOS->MBR(boot)->loader->kernel->交互界面(图形/命令行) 本讲我们要介绍的是MBR(Master Boot Record,主引导记录)。在电脑中对磁盘的读写是按扇区为基本 ......
桌面 GrapeOS 教程 系统 MBR

自己动手从零写桌面操作系统GrapeOS系列教程——8.x86介绍

由于GrapeOS目前只支持x86,所以本讲我们简单的介绍一下x86。 百度百科上是这样介绍的:x86泛指一系列基于Intel 8086且向后兼容的中央处理器指令集架构。 中央处理器就是我们平时说的CPU,英文全称是Central Processing Unit。 有人可能对指令集不是很清楚。计算机 ......
桌面 GrapeOS 教程 系统 86

自己动手从零写桌面操作系统GrapeOS系列教程——10.NASM汇编语言

学习操作系统原理最好的方法是自己写一个简单的操作系统。 汇编语法主要有两种:Intel语法和AT&T语法。 由于大部分介绍x86汇编的书籍和资料用的都是Intel语法,毕竟x86就是Intel发明的,大家学过的x86汇编大概率也是Intel语法,所以GrapeOS的汇编也用Intel语法。 支持In ......
桌面 GrapeOS 语言 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——12.QEMU+GDB调试

学习操作系统原理最好的方法是自己写一个简单的操作系统。 写程序不免需要调试,写不同的程序调试方式也不同。如果做应用软件开发,相应的程序调试方式是建立在有操作系统支持的基础上的。而我们现在是要开发操作系统,如何调试操作系统的程序呢?如果操作系统程序直接跑在真机上或虚拟机上(比如VirtualBox)是 ......
桌面 GrapeOS 教程 系统 QEMU

自己动手从零写桌面操作系统GrapeOS系列教程——13.向MBR中写入程序

学习操作系统原理最好的方法是自己写一个简单的操作系统。 前面铺垫了这么久,今天终于开始写程序了。本讲将介绍3个逐步深入但非常简单的程序,一方面是让大家熟悉开发流程,另一方面是顺便解决前面遇到的CPU占用率高的问题。 一、mbr1.asm回顾 mbr1.asm的代码之前我们介绍过,这里我们回顾一下代码 ......
桌面 GrapeOS 程序 教程 系统

自己动手从零写桌面操作系统GrapeOS系列教程——14.屏幕显示原理与文本模式

学习操作系统原理最好的方法是自己写一个简单的操作系统。 一、屏幕显示原理 电脑显示器屏幕是由很多很小的像素组成的。每个像素就像是一个小灯泡,在屏幕上一排一排的整齐排列着。只要能控制每个像素的颜色就能显示出各种各样的图形。如果近距离观察过会场或室外的大屏幕会有更直观的感受,这种大屏幕上每个像素就是一个 ......
文本 屏幕 原理 桌面 GrapeOS

自己动手从零写桌面操作系统GrapeOS系列教程——7.计算机组成与运行原理

学习操作系统原理最好的方法是自己写一个简单的操作系统。 在大学计算机课程中会学到一个叫冯·诺依曼结构的东西,很多同学当时学的也不是很清楚,也就是记住冯·诺依曼结构中五个部分的名称,能应付考试。主要原因还是当时大家的计算机知识比较少,的确不好深入理解。 计算机组成与运行原理和冯·诺依曼结构密切相关,今 ......
原理 桌面 GrapeOS 计算机 教程