实战 课程 笔记

TypeScript 学习笔记 — 类型兼容 (十)

TS 是结构类型系统(structural type system),基于结构/形状检查类型,而非类型的名字。 TS 中的兼容性,主要看**结构是否兼容**。(核心是考虑安全性),结构化的类型系统(又称鸭子类型检查),如两个类型名字不一样但是无法区分 类型兼容性是基于结构子类型的。 结构类型是一种只 ......
TypeScript 类型 笔记

BootstrapBlazor + FreeSql ORM 实战 Table 表格组件维护多表数据 - OneToOne

OneToOne 垂直扩展表字段是很常见的方法, 主表存商品资料, 分表存每个客户对应商品的备注和个性化的价格等等, 本文使用Blazor一步步实现这个简单的需求. ......

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

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

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

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

JUC源码学习笔记8——ConcurrentHashMap源码分析1 如何实现低粒度锁的插入,如何实现统计元素个数,如何实现并发扩容迁移

源码基于jdk1.8 这一片主要讲述ConcurrentHashMap如何实现低粒度锁的插入,如何实现统计元素个数,如何实现并发扩容迁移 系列文章目录和关于我 一丶ConcurrentHashMap概述 支持高并发读写的哈希表,ConcurrentHashMap中每一个方法都是线程安全的,并且读数据 ......

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

「学习笔记」平衡树基础:Splay 和 Treap

「学习笔记」平衡树基础:Splay 和 Treap 点击查看目录 知识点 平衡树概述 二叉搜索树(BST)的简单定义: 根节点的左子树权值 $<$ 根节点权值 $<$ 根节点的右子树权值; 左子树和右子树均为二叉搜索树。 这样的数据结构可以维护一个集合的以下操作: 查找最小/最大值; 插入一个元素; ......
基础 笔记 Splay Treap

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

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

Zip Slip漏洞审计实战

前言 最近看到许少的推有说到Zip Slip这个漏洞导致的RCE,其实我在代码审计的时候确实发现有不少功能模块都是使用ZIP来解压,其实还是在真实系统中经常见到的。 于是想着好久没有写过博客了,想借着这次机会更新一下吧,免得读者以为我在偷懒没学习了~ Zip Slip是什么漏洞 Zip Slip是一 ......
漏洞 实战 Slip Zip

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

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

Qt开发技术:Q3D图表开发笔记(一):Q3DScatter三维散点图介绍、Demo以及代码详解

前言 qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的。 其中就包括华丽绚烂的三维图表,数据量不大的时候是可以使用的。 Demo:Q3DScatter散点图演示效果 Q3D提供的三维图表 依赖QtDataVisua ......

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

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

算法学习笔记(18): 平衡树(一)

平衡树 建议在清楚二叉搜索树的所有操作之后食用本文。本文将略过部分基础知识 本文主要会讲到4中较常用的平衡树: Treap FHQ-Treap(无旋Treap) Splay WBLT 其实WBLT不怎么常用,但是我个人最喜欢用 我将会在另一篇文章中讲述其他的平衡树,如AVL,红黑树,替罪羊树等。 可 ......
算法 笔记 18

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

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

计网学习笔记三 MAC与LAN

在上一讲中,我们学习了链路层可以提供的服务😶:framing,link access,reliable delivery,error detection&correction。这一讲我们从link access中的broadcast接入方式深入,学习这种接入方式下的协议,以及衍生出的MAC地址,最 ......
笔记 MAC LAN

计网学习笔记二 Link Layer Service

在上一周的计网学习了network和Internet的总论。在这一周开始的未来几讲将集中在链路层link layer,并且会有相应的计网lab完成。在这一讲中,我们主要关注链路层提供的服务。 课程资料地址:https://cs.nju.edu.cn/lwz/networks/CH2-Direct%2 ......
Service 笔记 Layer Link

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

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

Qt 学习笔记 - 第二章 - 添加图片、布局、界面切换

Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始、信号与槽 【本章】Qt 学习笔记 - 第二章 - 添加图片、布局、界面切换 Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口编程 + 程序打包成Windows软件 Qt 学习笔记 - 第四章 - Qt的三驾马车之二 ......
布局 界面 第二章 笔记 图片

vim入门实战

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

podman 入门实战

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

从源码MessageSource的三个实现出发实战spring·i18n国际化

从源码去看MessageSource的几个实现类的源码出发,基于spring的国际化支持,实现国际化的开箱即用,静态文件配置刷新生效以及全局异常国际化处理。 ......
MessageSource 实战 源码 三个 spring

MySQL查看数据库性能常用命令和实战教学

MySQL查看数据库性能常用命令 # 列出MySQL服务器运行各种状态值 show global status; # 查询MySQL服务器配置信息语句 show variables; # 慢查询 show variables like '%slow%'; # MySQL服务器最大连接数 show v ......
实战 命令 性能 常用 数据库

组合数学笔记-排列与组合

排列与组合 排列 排列的定义与基本性质 定义 设一个集合 $S$ 中有 $n$ 个元素,从中有序地取出 $m(0\leq m \leq n)$ 个元素排成一列, 称为 $S$ 的一个 $m$ 排列。两个排列相同,当且仅当元素相同且顺序相同。我们记 $\text{P}_n^m$ 、 $\text{A} ......
组合数学 数学 笔记

组合数学笔记-特殊计数数列

特殊计数数列 斐波那契数列 斐波那契数列的定义与基本性质 历史背景 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。 定义 斐波那契数列 $F_n$ 有递推定义 $ ......
组合数学 数列 数学 笔记