Skip to content

Commit

Permalink
1
Browse files Browse the repository at this point in the history
  • Loading branch information
YiRanCN committed Oct 30, 2023
1 parent 4cdd519 commit 94f97e1
Show file tree
Hide file tree
Showing 8 changed files with 72 additions and 2 deletions.
3 changes: 3 additions & 0 deletions docs/study/net/IPV6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### IPV6 连接测试

https://www.test-ipv6.com/
3 changes: 2 additions & 1 deletion docs/study/net/p2p.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
### 参考

- [P2P 网络 NAT 穿透原理(打洞方案)](https://blog.csdn.net/yangowen/article/details/125787199)
- [P2P打洞技术详解](https://blog.csdn.net/u013051748/article/details/115413454)
- [P2P 打洞技术详解](https://blog.csdn.net/u013051748/article/details/115413454)
- [内网穿透-nConnect 与 zerotier 如何搭建我的远程私人服务器](https://post.smzdm.com/p/allr4ngp/)
33 changes: 33 additions & 0 deletions docs/study/program/C/C语言标准库.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
### C 语言标准库

C 语言标准库是一组预定义函数、宏和文件的集合,这些函数和文件提供了一些基本的功能和操作,可供 C 语言程序使用。C 语言标准库由 C 语言的制定者定义,并包含在 C 语言的编译器中。

C 语言没有官方网站,ISO 的官方网站和 ANSI 的网站,提供了 C 语言标准的相关信息。

不同编译器对 C 语言标准的支持程度是不同,在进行开发的时候,不仅要选择适当的编译器,可能还需要手动指定 C 语言标准。

### C 语言有多少个标准头文件呢呢?

不确定:这和编译器、编译器的版本和配置有关。

常用的 C 语言标准库有:

- stdio.h:提供输入输出函数,如 printf()和 scanf()等。
- stdlib.h:提供通用工具函数,如 malloc()和 free()等。
- string.h:提供字符串处理函数,如 strcpy()和 strcat()等。
- math.h:提供数学函数,如 sin()和 cos()等。
- time.h:提供时间处理函数,如 time()和 clock()等。
- ctype.h:提供字符处理函数,如 isalpha()和 isdigit()等。
- assert.h:提供断言宏,用于调试程序。
- stdarg.h:提供可变参数列表的函数,如 printf()和 scanf()等。
- errno.h:提供错误码宏,用于标识错误类型。
- setjmp.h:提供非局部跳转函数,如 setjmp()和 longjmp()等。
- signal.h:提供信号处理函数,如 signal()和 raise()等。
- locale.h:提供本地化处理函数,如 setlocale()和 localeconv()等。
- float.h:提供浮点数处理宏,如 FLT_DIG 和 DBL_MAX 等。
- limits.h:提供整数处理宏,如 INT_MAX 和 LONG_MAX 等。
- stddef.h:提供基本类型定义,如 size_t 和 ptrdiff_t 等。

### 参考

- [CSDN-C 语言标准库、Windows 与 Linux 平台下常用的 C 语言标准库](https://blog.csdn.net/weixin_43764974/article/details/130892554)
22 changes: 22 additions & 0 deletions docs/study/program/C/虚拟网卡.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
### TUN/TAP(Linux)

在计算机网络中,TUN 与 TAP 是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。

TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN 模拟了网络层设备,操作第三层数据包比如 IP 数据封包。

操作系统通过 TUN/TAP 设备向绑定该设备的用户空间的程序发送数据,反之,用户空间的程序也可以像操作硬件网络设备那样,通过 TUN/TAP 设备发送数据。在后种情况下,TUN/TAP 设备向操作系统的网络栈投递(或“注入”)数据包,从而模拟从外部接受数据的过程。

服务器如果拥有 TUN/TAP 模块,就可以开启 VPN 代理功能。

### WinTun

https://www.wintun.net/

WinTun 是 Windows 内核的一个非常简单和最小的 TUN 驱动程序,它为用户空间程序提供了一个简单的网络适配器,用于读取和写入数据包。

### 参考

- [CSDN-Golang Window TUN 虚拟网卡](https://blog.csdn.net/q1009020096/article/details/123842293)
- [官网-WireGrard](https://www.wireguard.com/)
- WireGuard 是一款极其简单但快速的现代 VPN,采用最先进的加密技术。
- [华为云-Wintun:一款惊艳的 WireGuard 虚拟网卡接口驱动](https://huaweicloud.csdn.net/63566923d3efff3090b5e317.html)
5 changes: 5 additions & 0 deletions docs/study/program/Golang/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,14 @@
4. 数据库操作;
5. 开发云平台;

### 标准库

https://pkg.go.dev/std

### 信息

- 官网:https://golang.google.cn/
- API 文档:https://golang.google.cn/doc/
- 教程:http://www.w3cschool.cn/go/go-tutorial.html
- 下载:https://golang.google.cn/dl/
- 标准库:https://pkg.go.dev/std
4 changes: 4 additions & 0 deletions docs/study/program/Rust/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息,

Rust 不像 Go,Java 以及.NET Framework 那样使用自动垃圾回收系统。不同的是 Rust 通过 RAII 来管理内存和资源,还可选引用计数。Rust 以低开销提供资源确定性管理。Rust 也支持值的栈分配并不表现暗箱。

### 标准库

https://doc.rust-lang.org/std/index.html

### 参考

- [官方网站](https://www.rust-lang.org/zh-CN)
Expand Down
2 changes: 2 additions & 0 deletions docs/study/program/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
sidebar_position: 1
---

# 编程语言/工具

### 概述

写代码用到的一套规范及其延伸工具。
Expand Down
2 changes: 1 addition & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ const sidebars = {
},
{
type: "category",
label: "DOCKER",
label: "Docker",
items: [
{
type: "autogenerated",
Expand Down

0 comments on commit 94f97e1

Please sign in to comment.