-
【调试技术】Linux桌面客户端C++开发
1. 兼容性1.1. glibc版本号 系统家族 系统大版本 系统子版本 linux内核版本 内嵌gcc版本 glibc最高支持版本 Ubuntu 14.04 14.04 4.14 gcc 4.8 2.19 Ubuntu 16.04 LTS 16.04 LTS 4.14 ...…
-
【调试技术】gdb调试
1. 准备工作# 查看coredump路径。若命令产生的coredump是由apport接管,则crash存在于/var/crash目录cat /proc/sys/kernel/core_pattern# 查看coredump生成大小限制ulimit -a# 设置coredump生成vim /etc/profileulimit -c ulimitedsource /etc/profile# 由apport产生的crash,并非直接coredump文件,而是需要解压出来sudo apt in...…
-
【架构设计】curl原理剖析
1. 源码编译 1.1. Win下源码编译 1.1.1. 准备工作 1.1.2. OpenSSL编译 1.1.3. libssh2编译 1.1.4. libcurl静态库/动态库编译 2. 源码分析1. 源码编译1.1. Win下源码编译1.1.1. 准备工作 环境准备 Windows10 20H2系统 Microsoft Visua...…
-
【网络技术】P2P技术原理浅析
1. 概述 1.1. P2P的概念 1.2. P2P产生的背景 1.3. P2P的优劣势 2. P2P分类 2.1. 根据中央化程度 2.2. 根据网络拓扑结构 3. NAT技术详解 3.1. 概述 3.2. NAT的优劣势 3.3. NAT穿透常见解决方案 3.4. 探针打洞基本原理 3.4.1. 基本原理 ...…
-
【安全技术】关于零信任安全的思考
…
-
优秀资源合集
网站 人人都是产品经理:这里有许多新产品的特性分析,可以通过搜索,帮助深入对一些产品的体验分析 draw.io:一个开源且完全免费的绘图工具,可以在线,也可以下载app,类似processon,只不过processon只有可怜的9个使用限制,这里可以无限制使用 stackshare:帮助了解各大公司技术栈,可以知道一些趋势 simple:这个有点类似番茄钟,非常精简的界面体验,让一天的时间消耗都去哪儿了,展现非常明显新产品体验 slack:一种国外的社交工具,区别于微信和qq,具...…
-
【操作指令】代码阅读可视化
背景最近看一些开源代码,代码量之大需要较多的阅读时间,在梳理开源代码调用关系的时候,通常要花费大量时间,一直想能有一套可视化工具,将阅读的代码关系连接起来,将极大提升阅读效率。开源社区中普遍使用graphviz来进行图形绘制,使用其他工具,生成调用链。codeviz+graphviz(不好用,没有成功过)网址:https://github.com/petersenna/codeviz通过介绍可知,它本来是作者为了分析linux内核源码所设计的,有着与大家一样的困惑的同时,不甘于把时间耗费在...…
-
【音视频】多媒体研究思考
多媒体简述何为媒体?英文Media,也可以理解为媒介,表示连接两个物体之间的手段,在现如今,更多的理解为信息通过信息源传递到接收者的通路。我们生活在这个世界,能接触到的信息有限,有时候我们需要了解外面的世界,就需要借助媒体获得外面世界的信息。传统的媒体通路,包括报纸、杂志、书籍、电视等,甚至在更久远的历史年代,还依靠邮件、火炬等传递。在互联网兴起之后,整个媒体技术手段变得更加数字化,作为媒体的通路,还包括计算机应用,例如:PC时代门户网站、微博等,移动时代的微信、抖音等,让信息的实时性和受...…
-
【音视频】直播的思考
直播的思考进入直播行业已有2个月,在此之前,并没有使用过任何直播工具,一直对直播的概念比较模糊,以为它是一个不正经的网络视频聊天交友工具。为了正式给直播的印象定型,决定来梳理一下这2个月对直播学习的心得。直播行业的历史人无法逾越空间规则吗?还记得曾经2003年,那会儿我还在上初中,《传奇》网游的火爆,也将我带入游戏世界。那会儿跟小时候的玩伴儿一起跑去网吧,就为了打怪升级。大家并排坐,组团组队一起攻入祖玛,行动的一致性靠的是吼。后来又出现公会,大家在公会内组团组队去打怪、攻沙城,跨地域的交流...…
-
【音视频】DX渲染学习总结
1. 环境准备 1.1. 兼容性 1.1.1. 硬件兼容性 1.1.2. 软件兼容性 1.2. 安装说明 2. 计算机图像显示原理 2.1. 图像显示基本原理 2.2. Windows图形系统架构 2.3. 渲染管线 2.3.1. 渲染管线的基本作用 2.3.2. 渲染架构 ...…
-
【音视频】OBS原理分析
1. OBS介绍 2. OBS源码编译与安装 3. 直播系统的本质 4. 视频流捕获机制 4.1. 视频流捕获基本原理 4.2. 窗口图像帧捕获 4.2.1. 基本原理 4.2.2. 窗口捕获代码 4.2.3. 窗口捕获测试 4.2.3.1. GDI窗口测试 4.2.3.2. DX窗口应用测试 ...…
-
【网络技术】代理服务器原理
1. 代理技术原理 2. 代理分类 3. 代理源码分析 3.1. 资料 3.2. httptunnel原理 3.3. httptunnel总结 3.4. tinyproxy原理 4. SSH隧道代理的应用 4.1. SSH隧道转发原理 4.2. SSH隧道代理 - 路由表模式 4.2.1. 使用免费的MobaXterm(Windows下专用) ...…
-
【网络技术】网络技术回顾
计算机网络技术理解回顾为何网络是当前这种结构计算机网络的本质,是将人类社会所有计算机设备连接起来,目的是相互通信,实现信息交换与共享。要想与其他设备进行信息交换,首先要知道交换对象是谁,这是通过每个设备分配的id来决定的,互联网分配此id的统一规则,包括ip、mac地址。在原来,当通信网络还没有这么复杂的时候,只需要唯一标识符mac地址,即可通信。mac地址本身的长度是48位,可以表征万亿台。若在一个网络中,同时包括如此多的设备,想找到目标设备的时间复杂度,都是非常高的,信息通信的实时性将...…
-
【操作指令】Windows命令行
通用语法rem ==================================================================rem 关闭echo命令提示@echo offrem ==================================================================rem ==================================================================rem 获取当前脚本...…
-
【源码片段】leetcode算法题
字符串无重复字符的最长子串题目:https://leetcode-cn.com/explore/featured/card/bytedance/242/string/1012/解法1:暴力搜索func inArray(e int32, s []int32) bool { for _, v := range s { if e == v { return true } } return false}func isRepeat(s string) bool { var tmp []int...…
-
【操作指令】文档版本管理
基于Pandoc的格式化转换命令行示例:https://pandoc.org/demos.htmldocx转pdf安装最小的一个转换工具wkhtmltopdf,下载路径https://wkhtmltopdf.org/downloads.htmlrem 将当前目录下的test.docx转换成test.pdfpandoc -t html --extract-media . test.docx | pandoc --pdf-engine wkhtmltopdf -o test.pdfrd /s ...…
-
【人工智能】算法与应用数学
最常见的数据结构:数组、链表结构,以及最基本的元数据处理算法 查找算法:枚举查找、哈希查找、二分查找。最常见的应用场景是:内存缓存数据查询 排序算法:选择排序、冒泡排序、快速排序、插入排序、归并排序。最常见的应用场景是:内存缓存数据排序查找算法 用处最广的算法,一般而言,使用枚举查找,时间复杂度O(n)。对于大多数场景,是在一个小数据量(通常在内存数组或链表等结构)中存储的数据的查找。 如果还想更快,只能引入散列表(也称为哈希表),通过有逻辑的hash函数,来实现O(1)级别的查找...…
-
【系统原理】CentOS系统定制
1. 环境准备 2. ISO生成 3. 无人值守ISO制作 3.1 获取ks.cfg模板 3.2 以anaconda-ks.cfg为模板,进行修改 3.3 将ks.cfg加入到ISO中 1. 环境准备# 1.宿主系统:CentOS7(随意) # 2.目标镜像:CentOS-7-x86_64-Minimal-1908.iso wget https://mirrors.tuna.tsinghua.edu.cn/centos/7/iso...…
-
【系统原理】Centos系统安装启动原理
一些资料kickstart原理:https://fedoraproject.org/wiki/Anaconda/Kickstart/zh-cn可启动盘原理Step1:BIOS开机检查启动盘的第17个扇区,run初始指令Step2:17扇区的汇编代码,会查找到启动记录卷描述表(Boot Record Volume Descripter)数据结构指针地址,并根据这个索引表,继续查找启动目录(Booting Catalog)Step3:汇编代码继续执行,根据启动目录结构,拿到启动入口(Boot ...…
-
【调试技术】使用vscode做c++项目开发
准备环境编辑器:vscode构建工具:cmakec++标准库:mac上的clang中的libc++vscode插件:cmake、cmaketoolcmake:用于辅助构建,cmakelist用于构建方式和链接库等作用,类似于makefile,但是比makefile简单cmaketool:用于界面命令(shift+command+p,然后cmake quick start),自动生成cmake工程所需文件(主要是cmakelist,以及build目录)…