笔记ffmpeg mp4 box

程序员修炼之道:从小工到专家阅读笔记4

耦合这个词基本在我的职业生涯中每天都能听到,一个好的程序一定是低耦合的,这本书提出了函数的德墨忒尔法则帮我们更好的界定耦合的边界,怎样编写低耦合的代码,更难能可贵的是这本书不仅仅描述了一般的代码耦合,还花了很大笔墨解释了时间耦合,很多时候一个业务的实现没有必要一定是线性的,它可以是并行的,这在适用的 ......
小工 程序员 笔记 程序 专家

程序员修炼之道:从小工到专家阅读笔记5

程序员所应该遵循的实用主义原则。 我的源码让猫给吃了:出现错误时,要诚实,不要推诿或者找借口。要提供各种可能的解决方案与后果并与他人沟通,而不是提供借口。 软件的熵:这是著名的破窗户原理。项目中一个小的、无人料理的问题可能带来后续编码时的懈怠,从而造成更大的问题。不要容忍任何小的错误,解决它或至少打 ......
小工 程序员 笔记 程序 专家

程序员修炼之道:从小工到专家阅读笔记6

程序需要遵守的实用主义原则。 重复的危害:如果某个事物在代码中重复多次,就可能会在维护过程中带来问题,因为改动了一处而忘记改动另一处造成自相矛盾。这加大了维护难度。要遵守DRY原则,即Don’t repeat yourself。 重复通常由这些东西引起: 强加的重复,由文档或用户需求决定。这通常可以 ......
小工 程序员 笔记 程序 专家

Qt+FFmpeg仿VLC接收RTSP流并播放

关键词:Qt FFmpeg C++ RTSP RTP VLC 内存泄漏 摘要认证 花屏 源码 UDP 本系列原文地址。 下载直接可运行的源码,在原文顶部。 效果 产生RTSP流 比播放文件复杂一点是,为了接收RTSP流,我们需要产生RTSP流。简单搭建一个RTSP推流环境: 用EasyDarwin开 ......
FFmpeg RTSP VLC Qt

算法学习笔记(8.3): 网络最大流 - 模型篇

本文慢慢整理部分模型。 DAG 最小路径覆盖 经典的题目,经典的思想。 网络流常见的将图上的点拆为入点和出点,那么路径由若干 出 - 入 - 出 - 入 的循环构成。 于是在拆好的图上流一流即可。 [CTSC2008] 祭祀 典中祭 黑白染色 利用黑白染色将整个图变成一个二分图是网络流常见的套路,尤 ......
算法 模型 笔记 网络 8.3

Linux 学习笔记

文件及权限与用户相关的文件linux下一切皆文件:一切设备抽象的进程,运行数据甚至CPU等都可以在文件系统中找到相关的文件 /etc/passwd /etc/group ect:全局配置文件夹 其他命令:usermod 、userdel 、id 目录创建:mkdir 文件名目录 空白文件创建:tou ......
笔记 Linux

MAUI开发笔记(二)

今天试了一下,在MAUI上调用WEB API。经常一番努力,终于调用成功。不过这里面还是有很多的坑。 MAUI分了好几个平台,一般来说,最容易成功的是Windows平台。 坑1:HttpClient的方法 总体来说,其实是用HttpClient来调用。 但是HttpClient的方法使用上,也有坑。 ......
笔记 MAUI

阅读笔记8

《程序员修炼之道:从小工到专家》探讨了软件开发的核心理念和实践技巧。阅读完该书后,我对于软件开发的认识有了新的视角,并深受启发。 首先,该书强调了实践至上和自我驱动的重要性。作者提倡持续学习和不断提高自己的技能,强调实践对于成为优秀的软件开发者的重要性。 其次,该书强调以用户为中心的开发理念。作者提 ......
笔记

阅读笔记7

《代码大全》2介绍了软件构建的本质和复杂性。软件开发既是一门艺术,又是一门工程学科,需要在实践中不断改进。接着讲述了在软件构建之前的前期准备活动,包括需求分析、定义解决方案和设计架构等,说明软件开发过程中对需求的分析和解决方案的设计是至关重要的环节。在软件质量和编码实践的部分,书中讲述了如何通过编写 ......
笔记

阅读笔记6

永远以解决问题为导向,而不是仅仅完成任务。从最低级的写好一个功能,到给具体的需求排优先级,甚至到明确真正的需求,到调整开发节奏,一切都由实际的需求和开发能力决定,最终的目的只有一个,那就是解决真正的问题;把程序员当人看,不仅仅是把其他同事当人看,也要把自己当人看。人是会出错的,团队是需要磨合的,人永 ......
笔记

mysql笔记

MySQL数据库 B站资源 网盘资源 sql数据库 提取码:mmmm DB、DBMS、SQL的关系 DB:Database,数据库,数据库在硬盘上以文件的形式存在。 DBMS:Database Management System,数据库管理系统,如:MySQL,Oracle,DB2,Sybase,S ......
笔记 mysql

刷题笔记

1. 有效的括号_20 题目描述 思路 利用栈。 按顺序遍历,遇到左括号直接入栈;遇到右括号,则与栈顶元素进行匹配,如果栈顶元素为空或者与栈顶元素不匹配,则返回false。 遍历结束如果栈非空,则说明还有左括号未被匹配,返回false。 复杂度 时间复杂度O(n):遍历一遍字符串。 空间复杂的O(n ......
笔记

阅读笔记5

《代码大全2》的前两章主要介绍了软件构建的基本概念、原则和流程,使我理解和应用代码的意义和方法产生了深刻的影响。 在第一章中,作者强调了代码的重要性,并指出编程的目标是生成可执行代码。并通过一系列实例阐述了编程过程中的关键要素,如可读性、可维护性和可测试性。 在第二章中,作者进一步展开了构建的概念和 ......
笔记

秦疆的Java课程笔记:78 异常 捕获和抛出异常

异常处理五个关键词:try,catch,finally,throw, throws 写一个会出错的代码: public class Test1 { public static void main(String[] args) { int a = 1; int b = 0; System.out.pr ......
课程 笔记 Java

【笔记】2023.12.19:题目选讲

笔记 2023.12.19:题目选讲 不会的题目没在这里展现。一共 14 道题。 gym103371I Organizing Colored Sheets 猜结论:两个同一行的 sharp 的间隙的 \(\min\) 是 \(W\) 上界,同一列的 sharp 的间隙的 \(\min\) 是 \(H ......
题目 笔记 2023 12 19

c++入门笔记

https://blog.csdn.net/weixin_45564943/article/details/131466769?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~de ......
笔记

打工笔记--------------------winform程序报错CLR20r3签名System.I0.IOException

先看问题 编写了一个程序在我本机运行没有问题,放到别人电脑上就有可能报这种错误 System.I0.IOException 首先我问了一下ChatPgt: 他说: CLR20r3 是一个通用的错误代码,表示在 .NET Framework 中发生了未处理的异常。System.IO.IOExcepti ......
IOException winform 笔记 程序 System

秦疆的Java课程笔记:77 异常 Error和Exception

实际工作中,遇到的情况不可能非常完美。比如:写好的某个模块,用户输入不一定符合要求;程序要打开某个文件,但这个文件可能不存在或者格式不对;你要读取数据库的数据,数据可能是空的;程序在跑着,内存或者硬盘满了……等等情况。 软件程序在运行过程中,这类例外情况,通称“异常”,英文:Exception,意思 ......
Exception 课程 笔记 Error Java

秦疆的Java课程笔记:76 面向对象 N中内部类

内部类就是在一个类的内部再定义一个类。比如,在A类中定义一个B类,那么B类相对于A类来说就是内部类;相反,A类相对于B类就是外部类。 秦疆老师声明,这小节主要是长长见识,实际编程作业中不推荐下列写法。 成员内部类 //先写一个有内部类的类 public class Outer { private i ......
对象 课程 笔记 Java

【多线程笔记】Channel

在面对 生产者-消费者 的场景下, netcore 提供了一个新的命名空间 System.Threading.Channels 来帮助我们更高效的处理此类问题,有了这个 Channels 存在, 生产者 和 消费者 可以各自处理自己的任务而不相互干扰,有利于两方的并发处理,这篇文章我们就来讨论下如何 ......
线程 Channel 笔记

秦疆的Java课程笔记:75 面向对象 接口的定义与实现

区别 普通类:只有具体实现。 抽象类:具体实现和规范(抽象方法)都有。 接口:只有规范,自己无法写方法。专业的约束。约束和实现分离:面向接口编程。 接口就是规范,定义的是一组规则。 OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么讨论设计模式都只针对具备抽象能力的语言(C++、Java、 ......
接口 对象 课程 笔记 Java

【学习笔记】浅谈 RMQ 与 LCA

- $\text{update 2023.11.14}$:增加 $\text{LCA}$ 求解树上最短路的代码。 $\text{RMQ}$ 定义:区间最值查询,功能类 $\text{st}$ 表,预处理 $O(n\log_2n)$,查询 $O(q)$,总复杂度 $O(n \log _2n+q)$。 ......
笔记 RMQ LCA

圆方树学习笔记

今天在做 ABC318G 这道题,要用到圆方树的知识,于是就去学了圆方树。 学习圆方树首先需要学习点双连通分量以及缩点,此处不多赘述。 圆方树中分两种类型的点:圆点和方点。圆点指的是原来的无向图中的所有点,而方点指的是每一个点双连通分量所代表的点。相当于每一个点双连通分量就是一个方点。将每一个方点向 ......
笔记

状压 DP 学习笔记

前言 2023.8.30 开始停课集训。 开始补 \(CSP-S\) 的知识点,先打算来学状压 \(DP\)。 定义 状压 \(DP\) 的全称是状态压缩动态规划,也是动态规划中的一种。但是其与普通 \(DP\) 不同的是它将某种状态(一般为二进制 \(01\) 串,\(1\) 表示选,\(0\) ......
笔记 DP

矩阵学习笔记

前言 蒟蒻刚刚开始学矩阵,有些东西可能理解得不是特别好。 矩阵的定义 在 \(c\)++ 中,矩阵其实就是一个 \(n*m\),可以做运算的二维数组。也是运算的中的一种基本单位。 特殊的矩阵 在矩阵的运算过程中,可能会用到一些特殊的矩阵的名称,以下是比较常见的一些特殊矩阵: 同型矩阵:两个矩阵,行数 ......
矩阵 笔记

分块学习笔记

定义 分块是一种将一些东西分成若干块的一种思想,有分块,数论分块(可能不太算),树分块等等。而分块的这种思想可以优化时间复杂度,一般情况下为 \(O( \sqrt n)\),具体取决于块长的大小。 分块 对数组是分块当中最简单一种。首先我们设块长为 \(s\),那么数组一共就被分成了\(n/s\) ......
笔记

Tarjan 学习笔记

这里讲一下 \(tarjan\) 算法。主要包括有向图的强连通分量,无向图的边双连通分量与点双连通分量以及缩点。 有向图的强连通分量 首先我们需要了解几个定义。(以下说法均针对有向图) 连通分量:在一个块中,任意两个点之间能够互相到达。即 \(u\) 能到 \(v\),\(v\) 也能到 \(u\) ......
笔记 Tarjan

Dijkstra学习笔记

模板题:P4779 Dijkstra算法 \(Dijstra\)算法是一种求解非负权图上单源最短路径的算法,这种算法不可以解决负环问题。 做法 首先要定义松弛操作。对于一条边(\(u,v\)),松弛操作对应下面的运算:\(dis_{v}\) = \(dis_{u}\) + \(w_{u,v}\)。 ......
Dijkstra 笔记

ST表学习笔记

模板题:P3865 定义 \(ST\)表是一种解决可重复贡献的问题的数据结构。可重复贡献问题大致指,对于一种运算,重复这种运算并不影响最终的答案,比如\(max(a,a) = a\),\(gcd(a,a) = a\)。常见的可重复贡献问题有:区间\(max\),区间\(min\),区间\(gcd\) ......
笔记

c#学习笔记-------------------------readonly修饰符

一、ReadOnly关键字 MSDN 官方的解释 readonly 关键字是可以在字段上使用的修饰符。当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中. 具体意思是: readonly是一个修饰字段的关键字:被它修饰的字段只有在初 ......
readonly 笔记