记录一些简单的运维知识
国内注册域名后要先实名认证后,使用国内的服务器时,网站还需要在工信部,网安备案
在国内域名商购买了域名,解析的主机或服务器也在国内时,则必须备案通过后才能访问
海外域名,就只能用国外或香港主机/服务器,不能解析到国内的服务器
运维知识库大全
运维相关好用工具一个 平台工程(Platform Engineering) 相关的优秀工具与最佳实践的开源资源合集。从源码管理、CI/CD、部署、监控、安全、内部开发门户等多个方面,按类别列出对应工具、规范、参考架构以及学习材料,帮助工程团队系统化构建、管理与演进内部平台
iperf3iPerf是一个支持跨平台部署使用的网络性能测量工具。它可以创建数据流测量两端之间单向或双向的网络吞吐量。
安装官网下载链接
windows版下载链接
linux: apt install iperf3
安卓: Magic iPerf net.he下载地址,内含iperf3功能
IOS: iPerf 3 Wifi Speed Test/HE.NET Network Tools
威联通 参考安装方式
mac ...
盘点常用的硬件通信技术
硬件通信技术有
有线通信技术:包括以太网、USB、HDMI、VGA、串口等有线通信接口。
无线通信技术:包括Wi-Fi、蓝牙、Zigbee、LoRa等无线通信技术。
射频通信技术:包括RFID、NFC、GPS等射频通信技术。
光通信技术:包括光纤通信、激光通信等光通信技术。
传感器技术:包括温度传感器、湿度传感器、加速度传感器等传感器技术。
相关工具盘点硬件通信全能工具RWEverything是一款强大的硬件级调试工具,可以直接读取和写入硬件的I/O端口,内存地址,PCI配置空间,SMBus,SPD等
官网下载地址
p.s. 实测,在x64系统下,无法运行起来
盘点一些使用方式如下:
查看I/O端口映射
在顶部的菜单中,点击Access → I/O Space。
在I/O Space窗口中,您可以输入设备的端口地址范围,例如0x300到0x31F(假设您的ISA设备地址在此范围内)。
点击Read按钮,您会看到这些地址的值。
查看物理内存映射
在菜单中,点击Access → Memory。
在Memory窗 ...
c语言入门学习
C语言基础C语言特点作用
所有大学理工科必修课
名企,外企,高薪程序员面试必考
写外挂,做黑客必须掌握的语言
学习[[数据结构]]和C++的基石
绝对重要的基石语言,Unix,Linux,Windows,JAVA,C++,C#底层实现都靠C
1)优点
代码量效
执行速度快
功能强大
编程自由
2)缺点
写代码实现周期长
可移植性较差
过于自由,经验不足易出错
对于平台依赖较多
中央处理器(CPU)的主要模块
运算器
控制器
寄存器
内存—-(内)存储器
外部设备
输入设备
输出设备
外存—-(外)存储器
C语言关键字
C语言仅有32个关键字,9种控制语句,34种运算符
32个关键字1auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto,if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,unsigned,union,void,v ...
linux基础记录Linux由浅至深的一切知识
熟悉Linux下目录结构和常见目录的作用
熟练使用linux下的相对路径和绝对路径
熟练使用Linux下常用文件和目录操作相关的命令
熟练使用修改用户权限,用户和用户组相关的命令
熟练使用文件的查找和检索相关的命令
熟练掌握Ubuntu下的软件安装和卸载
熟练使用压缩工具完成文件或目录的压缩解压缩
linux详细知识点查询
命令解释器
shell就是命令解释器
作用:对用户输入到终端的命令进行解析,调用对应的执行程序
用户在终端输入命令,由shell命令解释器对命令进行解析(按照$PATH环境变量搜索命令),解析成内核能够识别的指令,然后有内核执行命令,最后由终端显示命令执行的结果给用户
shell在寻找命令的时候是按照$PATH环境变量去查找的,如果找到了就执行对应的命令,若找不到就报错,执行echo $PATH可以查看PATH环境变量的值
常见的命令解析器:
shell – Bourne Shell (/bin/sh) 不支持tab键补全
bash – Bourne Again ...
数据结构学习
数据结构数据结构是计算机存储、组织数据的方式。是相互之间存在一种或多种特定关系的数据元素集合
[[算法]]是特定问题求解步骤的描述,在计算机中表现为指令的有限序列,算法是独立存在的一种解决问题的方法和思想。
对于算法而言,语言并不重要,重要的是思想。
[[算法]]和数据结构区别
算法是为了解决实际问题而设计的。
数据结构是算法需要处理的问题载体。
数据结构与算法相辅相成。
[[算法]]具有五个基本的特性:输入、输出、有穷性、确定性和可行性
输入输出:算法具有零个或多个输入、至少有一个或多个输出。
有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。
确定性:算法的每一步骤都有确定的含义,不会出现二义性。
可行性:算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限次数完成。
数据结构分类逻辑结构集合结构集合结构中的数据元素除了同属于一个集合外,他们之间没有其他关系。各个数据元素是平等的。他们共同属于同一个集合,数据结构中的集合关系类似于数学中的集合。如图:
线性结构线性结构中的数据元素之间是一对 ...
算法是指解决问题的方法(或过程),是若干指令的有穷序列
算法的本质就是「穷举」
算法的本质都是穷举二(多)叉树,有机会的话通过剪枝或者备忘录的方式减少冗余计算,提高效率
利用计算机的速度,解决现实中的抽象问题
穷举要做到两点
无遗漏
无冗余
遗漏会导致算法错误,冗余会拖慢算法运行速度
算法的难点在于两类问题
如何穷举(递归算法往往解决的是这类问题)
如何聪明的穷举
比如后文 Union Find 并查集算法详解,告诉你一种高效计算连通分量的技巧,理论上说,想判断两个节点是否连通,用DFS/BFS 暴力搜索(穷举)肯定可以做到,但人家 Union Find 算法硬是用数组模拟树结构,给你把连通性相关的操作复杂度给干到O(1)了。再比如贪心算法技巧,所谓贪心算法就是在题目中发现一些规律(专业点叫贪心选择性质),使得你不用完整穷举所有解就可以得出答案。动态规划好歹是无冗余地穷举所有解,然后找一个最值,贪心算法倒好,都不用穷举所有解就可以找到答案,所以后文贪心算法解决跳跃游戏 中贪心算法的效率比动态规划还高。再比如大名鼎鼎的KMP算法,KMP 算法的本质是聪明地缓存并 ...
CMake是用于构建,测试,和软件打包的开源跨平台工具
参阅书籍:<<cmake菜谱>>
参考链接
Linux,Windows,和macOS系统中库的名称Windowswindows下的库文件(下面非必须,只是大部分开源库的习惯)
库文件包含静态库和动态库,而windows版本的静态库和动态库又各自有Release
静态库
库名.lib是 release 模式下生成的库文件,用于发布版本;经过了优化的,并不包含调试信息
库名_d.lib或库名d.lib是 debug 模式下生成的库文件,用于调试版本。debug 模式下生成的库文件包含了额外的调试信息,以方便调试程序时进行源码级别的跟踪
动态库
同时生成两个文件,二者是关联的
库名.lib(文件很小,不包含真正的源代码,只在编译阶段需要用到) 函数地址索引
库名.dll 函数二进制代码
在Windows平台上编译动态链接库时,通常会生成一个.lib文件和一个.dll文件。其中,.lib文件用于编译阶段的链接,动态链接库的实际代码和数据存放在.dll文件中。因此,.lib文件只在开 ...