基础 笔记ipv6 ipv

OpenResty学习笔记02:为服务增加waf功能

一. WAF简介 Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。 目前国内的几大云服务商都提供了企业级的WAF产品,且均价格不菲。 好消息是,在 OpenResty 生态中,有一款开源的WAF可供我等学习,开源万岁! 二 ......
OpenResty 功能 笔记 waf

「学习笔记」Floyd 的应用

求最短路 for (int k = 1; k <= n; ++ k) { for (int i = 1; i <= n; ++ i) { for (int j = 1; j <= n; ++ j) { f[i][j] = min(f[i][j], f[i][k] + f[k][j]); } } } ......
笔记 Floyd

人月神话阅读笔记3

第十三章涉及软件开发中普遍性的问题。尽管每个软件项目都有其独特之处,但是软件开发中也存在许多普遍性的问题,如进度管理和技术选型等。作者提出了一些建议,如制定标准的进度计划和技术选型标准等,用以避免类似的问题在未来出现,并使软件开发工作变得更加高效、可靠和可预测。第十四章提出了两种软件开发文化之间的对 ......
神话 笔记

树上启发式合并学习笔记

最近几天了解到一个很神奇的算法——dsu on tree,看上去没多快实际上很快,这叫低调。 好久不更了,至于反演,5 月再更吧,4 月的最后一天分享一下 dsu on tree。顺便闲话一句,4/26 是我生日,也是历史二模。 重链剖分 dsu on tree 这类 dsu on tree 适用于 ......
笔记

计算机基础概念

1,为什么需要计算机 随着时代的发展,每个人需要处理的信息越来越多,如果此时单纯靠人脑来计算,那效率是非常低的,因此也慢慢有了电子计算设备,也就是计算机 2,计算机的定义 所谓的计算机是一种电子计算的高效的电子设备,我们称之为电脑, ......
概念 计算机 基础

构建之法阅读笔记

读完《构建之法》这本书,深感其中所承载的思想和方法对于现代软件开发具有极大指导意义。这本书不仅让我们认识到复杂系统构建过程中的挑战,更提供了一种可行的应对方式——构建之法。这个方法的核心是奉行简单、健壮、可维护、可升级的设计准则,强调用集成测试的方式逐步构建高度模块化、可重用性的代码,从而优化整个系 ......
笔记

数学学习笔记

学习了基础的数学,发现我的数学还(fei)算(chang)可(la)以(ji),不多说了,开启美妙的数~~xiao~~学之旅吧。 进制转换 首先是我们熟悉的进制转换,就是n进制转m进制。 要把n进制数转化十进制数,再把十进制数转化为m进制数。把n进制数转换为十进制数要先模再除,具体过程就不赘述了,把 ......
数学学习 数学 笔记

构建之法阅读笔记2

《构建之法》这本书有哪些优点?又有哪些不足之处? 优点:1、语言生动有趣,采用情景式、对白式的方式对在软件工程相关的学习中重现场景,更好的解决了读者所遇到相类似的问题。 2、注重实践。在大部分时候,大学的计算机专业,理论和实践是分离的,甚至只注重理论,讲一堆概念,定义,然而这本书与现实项目接轨,既讲 ......
笔记

构建之法读书笔记03

第二章 个人技术和流程 2.1 单元测试 ①重要的单元测试:有效解决程序员对模块功能的误解、疏忽或不了解模块的变化之类的问题,使自己负责的模块功能定义尽量明确,模块的质量得到稳定的、量化的保证。 ②好的单元测试的标准: 在最基本的功能/参数上验证程序的正确性 单元测试必须由最熟悉代码的人(程序的作者 ......
笔记

构建之法读书笔记-4月-2

《构建之法》一书共分四部分,详细介绍了具有创新性、高度可靠性的软件架构设计的方法及工具, 这里主要介绍第三部分和第四部分的内容。 第三部分介绍了如何针对不完美的现实环境进行系统设计,并以适应环境变化和不确定性为目标,最大限度地减少风险并提升可靠性。 本部分重点关注于“鲁棒性”的概念,在深入分析现实环 ......
笔记

java基础-算术运算符(加减乘除取余),隐式转换、强制转换

一、运算符和表达式的定义 运算符:对字面量或者变量进行操作的符号。 表达式:用运算符把自变量连接起来,符合java语法的式子就可以称为表达式。 例如: int a=10; int b=20; int c=a+b; 其中,+,是运算符,并且是算术运算符;a+b是表达式,由于+是算数运算符,所以这个表达 ......
加减乘除 运算符 算术 基础 java

NOI / 1.8编程基础之多维数组

11:图像旋转 1.描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。 2.输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素 ......
数组 基础 NOI 1.8

NOI / 1.8编程基础之多维数组 11:图像旋转

描述 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。 ......
数组 图像 基础 NOI 1.8

构建之法阅读笔记03

软件架构是什么?软件架构是指对软件系统的整体结构和组织方式的定义。它包括系统的各个组成部分、它们之间的关系、以及系统的行为和性能等方面。软件架构的重要性软件架构是软件开发的基础,它决定了系统的可维护性、可扩展性、可靠性和安全性等方面。良好的软件架构能够降低系统维护的成本,提高开发效率,同时也能够为系 ......
笔记

时序逻辑基础

时序逻辑基础 1 简单概要 同步 所有触发器的状态变化都是在同一时钟信号作用下同时发生的。 非同步 没有统一的时钟脉冲信号,各触发器状态的变化不是同时发生,而是有先有后。 米利 输出状态不仅与存储电路的状态Q有关,而且与输入也有关。 摩尔 输出状态仅与存储电路的状态Q有关,而与输入无关。 注意对于输 ......
时序 逻辑 基础

堆与二叉搜索树学习笔记

部分内容来自 OI-WIKI。 1. 堆 堆的定义 堆是一棵二叉树,满足每个节点的键值都大于等于它的父亲节点或者小于等于它的父亲节点。每个节点的键值都大于等于它的父亲节点的叫小根堆,每个节点的键值都小于等于它的父亲节点的叫大根堆。 优先队列是一种抽象数据类型,它是一种容器,里面有一些元素,这些元素也 ......
笔记

字符串-Runs学习笔记

runs学习笔记 学习链接 定义 Run 有一个三元组run=(l,r,p),其中l,r表示在字符串的s[l,r]区间,p表示在s[l,r]中字符串的字串的最小循环节 注意: 不存在扩展性,也就是说s[l-1]!=s[l+p-1],s[r+1]!=s[r-p+1],如果成立的话整个三元组会整体右移或 ......
字符串 字符 笔记 Runs

以点类Point及平面图形类Plane为基础设计圆类Circle

class Circle : public Plane,public Point {public: Circle(double x = 0, double y = 0, double r = 0) : Point(x,y), radius(r) { cout<<"Circle Constructor ......
图形 平面 基础 Circle Point

嵌入式学习笔记汇总

本文整理STM32、STM8和uCOS-III的所有文章链接。 STM32学习笔记目录 源码:mySTM32-learn STM32学习笔记(1)——LED和蜂鸣器 STM32学习笔记(2)——按键输入实验 STM32学习笔记(3)——时钟系统 STM32学习笔记(4)——NVIC中断优先级管理和外 ......
嵌入式 笔记

C/C++《程序设计基础II》[2023-04-30]

C/C++《程序设计基础II》[2023-04-30] 2022级计算机专业《程序设计基础II》小组项目作业 作业要求: 1.分小组完成,2-4人一组(每个题目后面有人数要求,见附件1); 2.任课老师按小组分配任务; 3.作业时长为1周; 4.提交内容为:WORD文档,内容包括:题目内容、算法分析 ......
程序设计 基础 程序 2023 04

分块思想基础莫队

分块 将数组分成sqrt(n)块,每次进行区间操作或者查询的时候,对于完整的块可以通过预处理的信息o1得到, 不完整的块直接暴力跑,所以最坏复杂度是sqrt(n)。 分块模板 const int N = 100010, B = sqrt(N); int block; int st[B], ed[B] ......
思想 基础

Linux入门操作基础

一、配置虚拟机NAT网络连接 查看vmware的NAT网络默认配置 vmwarestation软件点击 上方“编辑”,选择“虚拟网络编辑器” 找到vmnet10,是NAT模式,子网地址是172.25.2.0,子网掩码是:255.255.255.0. 再点击“NAT设置”,可看到它的网关:172.25 ......
基础 Linux

Vulnhub靶机笔记2——matrix-breakout-2-morpheus

一、介绍 一个以《黑客帝国》为背景的靶场 涉及内容 主机发现 端口服务扫描 1.2不用工具实现 ffuf目录爆破 一句话木马 反弹shell msf,蚁剑使用 图片隐写 CVE-2022-0847漏洞利用 二、环境 攻击机:kali 靶机:matrix-breakout-2-morpheus 三、过 ......

python基础语法

变量和数据类型 # 变量名可以由字母、数字、下划线组成,但不能以数字开头 name = 'Lucy' age = 18 is_student = True score = 95.5 变量:用于存储数据或者引用对象的标识符。 数据类型:Python中有多种数据类型,如字符串(str)、整数(int)、 ......
语法 基础 python

计算机网络基础

计算机及网络基础 一、C/S架构 C:client(客户端软件) S:server(服务端软件) python程序员是应用开发程序员,开发的软件都是应用软件,应用软件必须运行于操作系统之上,操作系统则运行于硬件上,应用软件不能接操作硬件,应用软件对硬件的操作。 必须调用操作系统接口,由操作系统操作硬 ......
网络基础 计算机 基础 网络

基于C#的excel笔记

一、引用的excel库 1、Microsoft.Office.Interop.Excel库 效果不好,代码繁琐。 在执行语句时出现不能解决的BUG, using Excel = Microsoft.Office.Interop.Excel; ... Excel.Workbook workbook = ......
笔记 excel

数据结构与算法基础复习--(1)

#基本术语 ##1.数据(Data) 数据 是能输入计算机且能被计算机处理的各种符号的集合 信息的载体 是对客观事物符号化的表示 能够被计算机识别、存储和加工 包括: 数值型的数据:整数、实数等 非数值型的数据:文字、图像、图形、声音等 ##2.数据元素 数据元素 是数据的基本单位,在计算机程序中通 ......
数据结构 算法 结构 基础 数据

外设驱动库开发笔记53:MAX31856热偶变送器驱动

在我们的产品中经常有需要温度检测的地方,而热电偶温度检测电路是我们常用的。热电偶温度检测的方法很多,有时出于简单方便的考虑我们会选择热偶温度变送器来实现,这一篇我们就来讨论使用MAX31856热电偶温度变送器实现温度的检测。 1、功能概述 MAX31856可以对任何类型热电偶的信号进行冷端补偿和数字 ......
变送器 外设 笔记 31856 MAX

树分治学习笔记

一、 点分治 一、概述 前置知识:数的重心。 假设我们要统计一棵有 $n$ 个节点的树上所有点对之间距离是 $k$ 的有多少对。注意树上的边有长度。 $n\le 10^5,k\le 10^6$。 一个朴素的算法是遍历树上的所有点对,处理出距离(也就是链的长度)。 时间复杂度 $O(n^2)$。 考虑 ......
笔记

3 第2章 Python语言基础、IPython及Jupyter notebook

IPython基础 运行IPython: 在终端输入ipython 运行Jupyter notebook: 在终端输入jupyter notebook Shift+Enter来执行命令 当在命令行输人表达式时,按下Tab键即可为任意变量(对象、函数等)搜索命名空间; 当输入任意路径(甚至是Pytho ......
语言基础 notebook IPython Jupyter 语言