自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MingJ的博客

lalala~

  • 博客(79)
  • 收藏
  • 关注

原创 C++面经

1. 语言基础1.1 C++的四种类型转换:const_cast => 用于将const变量转为非const;static_cast => 用于各种隐式转换,比如非const转const,void*转指针等, static_cast能用于多态向上转化,如果向下转能成功但是不安全,结果未知;dynamic_cast => 用于动态类型转换( 适用于包含虚函数的类 ) ,适用于指针和引用;reinterpret_cast => 几乎什么都可以转,比如将int转指针,可能会出问

2022-04-28 09:20:39 1408

翻译 NFD开发指南-5. Strategy API

在NFD转发过程中,转发策略( forwarding strategy )智能地做出决策,决定是否,何时以及在何处转发 Interest 。转发策略( forwarding strategy )与转发管道( forwarding pipelines ,第4节)一起构成了NFD中的数据包处理逻辑。在转发管道( forwarding pipeline )处理过程中,当需要做出有关 Interest 转发的决定时,会触发转发策略( forwarding strategy )中对应的方法进行转发决策。此外,该策略

2022-04-27 15:03:26 352

翻译 NFD开发指南-4. Forwarding

NFD具有智能转发平面( smart forwarding plane ),该平面由 转发管道 ( forwarding pipelines ,第4节)和 转发策略 ( forwarding strategies ,第5节)组成。 转发管道(或管道)由数据包上的一系列处理步骤组成。 此外,当某个事件被触发( an event is triggered )并且匹配一定条件( a condition is matched )时将开启 pipeline 处理流程( a pipeline is entered )。

2022-04-27 14:55:43 816

原创 NDNSIM 在线拓扑生成器

本文主要介绍一个用于在线生成NDNSIM实现所需拓扑的工具,github项目地址:SunnyQjm/ndnsim-topology: This is a ndnsim topology generator (github.com)在线拓扑生成器传送门:ndnsim topology generator (sunnyqjm.github.io)1. 添加节点和链路添加节点添加链路2. 导出拓扑router# node comment yPos

2022-04-27 10:40:31 879

翻译 RFC6298中文翻译——计算TCP的重传计时器

RFC6298摘要本文档定义了传输控制协议(TCP)发送方用于计算和管理其重传计时器的标准算法。它扩展了 RFC1122 第4.2.3.1节中的讨论,并将支持算法的要求从“应该”升级为“必须”。本文件淘汰了 RFC 2988。此 Memo 的状态这是一个互联网标准跟踪文件。本文档是Internet工程任务组(IETF)的产品。它代表了IETF社区的共识。它已经收到了公众的审查,并已批准出版的互联网工程指导小组(IESG)。有关互联网标准的更多信息,请参阅RFC 5741第2节。有关本文件的当.

2021-06-27 10:31:51 914

原创 算法分析与复杂性理论

1. 函数渐进的界1.1 大 OOO 符号定义:设 fff 和 ggg 是定义域为自然数集N上的函数。若存在正数 ccc 和 n0n_0n0​ ,使得对于一切 n>n0n > n_0n>n0​ 有 0≤f(n)≤cg(n)0 \le f (n) \le cg(n)0≤f(n)≤cg(n) 成立,则称 f(n)f (n)f(n) 的渐进上界是 g(n)g(n)g(n),记作:f(n)=O(g(n))f (n) = O(g(n))f(n)=O(g(n))自然数:自然数是指用以计

2020-06-24 23:05:58 999

原创 归并排序

主要思想:将序列分成两部分;对两部分分别递归调用归并排序进行排序;然后对各自有序的两部分进行归并:使用 leftHalf 和 rightHalf 分别存储两个有序的子序列;然后依次对比两个子序列,将其合并到原序列当中成为一个整体的有序序列;def mergeSort(A): def merge(A, l, m, r): leftHalf, rightHalf, i, j, k = A[l: m + 1], A[m + 1: r + 1], 0, 0, l

2020-06-24 23:05:22 136

原创 快速排序

主要思想:从序列中取出一个数作为基准数(pivot);接着将序列中所有比基准数大的放在基准数的右边,把所有小于等于基准数的放在左边,具体流程如下:假设序列A的长度为n,我们选第一个数未基准数(基准数的选择有很多方式,简单起见,每次都选择序列的第一个数作为基准数)用两个指针,left 指向序列的第一个数,right 指向序列的最后一个元素;使用right指针从右往左找到第一个小于pivot的数,使用left指针从左往右找到第一个大于pivot的数;就交换两个指针所指的数,重复上述过程,直到le

2020-06-24 23:04:29 172

原创 插入排序

主要思想:每轮 从未排序部分取一个元素插入到已经排序好的队列中,保证新的元素插入之后的新队列依旧是有序的。3.1 简单演示白色背景表示未排序部分灰色背景表示已排序部分砖红色背景指示其是本轮待插入的目标元素淡黄色背景指示目标元素此次要对比的元素(淡换色背景的元素是上一轮排序的元素)初始状态初始状态有n=7个元素,初始时,第一个元素属于已经排好序的元素,所以 第一轮需要将第二个元素插入到一排序的序列;第一轮第二轮第三轮第四轮第五轮

2020-06-24 23:03:47 137

原创 选择排序

主要思想:每轮依次 从未排序部分选出一个最小的元素放置于未排序序列的第一个位置。注意:PPT中没有统一,其实现刚好是反过来的,它每轮依次 从未排序部分选出一个最大的元素放置于未排序序列的最后一个位置PPT中选择排序反向实现,插入排序又正向实现,这边统一都改成正向实现,比较好对比2.1 简单演示白色背景表示未排序部分灰色背景表示已排序部分淡绿色指示下一个放置本轮最小元素的位置淡黄色指示本轮最小元素初始状态初始状态有n=7个元素,所以 第一轮需要从n个元素选出

2020-06-24 23:03:29 182

原创 冒泡排序

主要思想:每轮依次 从前往后 比较相邻的两个元素,将两个元素中 较大的排在后面 , 每一轮 可以将当前 未排序部分最大的置于最后。(每轮通过冒泡的方式将当前未排序部分最大的元素冒出)提示:有每轮将最大的冒出这种方式冒泡,自然有每轮将最小的冒出到头部这种方式,这边所说的冒泡指的是前者(PPT里面说的也是前者啦)1.1 简单演示白色背景表示未排序部分灰色背景表示已排序部分淡蓝色表示正在进行对比交换的两个元素初始状态初始状态有n=7个元素,所以 第一轮需要对n个元素进行n-1次

2020-06-24 23:02:34 198

原创 高级C与网络编程复习(5)—— TCP C/S程序示例(TCP Client/Server Example)(第五章)

简单回射程序概述客户从标准输入读入一行文本,并写给服务器服务器从网络输入读入这行文本,并回射给客户客户从网络输入读入这行回射文本,并显示在标准输出上TCP 回射服务程序tcpserv01.c#include <unp.h>void str_echo(int);int main(int argc, char** argv){ int listen...

2020-04-26 23:15:08 285

原创 高级C与网络编程复习(4)—— 基本套接字函数(Elementary Sockets Functions)(第四章)

socket 函数#include <sys/socket.h>/*** 该函数用于创建一个socket套接字* @param domin 协议族/地址族* @param type 套接字的类型* SOCK_STREAM ==> TCP套接字* SOCK_DGRAM ==>...

2020-04-24 15:42:19 291

原创 高级C与网络编程复习(3)—— 套接字编程简介(Sockets Introducrion)(第三章)

套接字地址结构(Socket Address Structures)大多数套接字函数(socket function)都 需要一个指向套接字地址结构(socket address structure)的指针作为参数每个协议族(protocol suite)都定义它自己的套接字地址结构这些结构的名字均以 sockaddr_开头,并以对应每个协议族的唯一后缀结尾IPV4 套接字地址...

2020-04-24 15:12:05 250

原创 高级 C 与网络编程复习(2)—— 传输层:TCP、UDP、SCTP(第二章)

总图(Big Picture)UDPUDP 应用程序将数据封装到 UDP 数据报,,并将其写到 UDP socket。进而封装成 IPV4 或 IPV6 数据报(datagram),然后发送到目的地UDP 提供的是无连接的服务(connectionless service)每个 UDP 数据报都有一个长度,如果一个数据报正确地到达目的地,那么数据报的长度将随数据一道传递给接收端...

2020-04-24 15:11:30 261

原创 高级C与网络编程复习(1)—— Introduction(第一章)

IntroductionA Simple Daytime ClientA Simple Daytime ServerA Simple Daytime ClientSteven 源码地址笔者加注释源码地址功能:实现向服务器发起一个 TCP 连接,请求时间信息,并将接收到的信息打印在控制台上#include <unp.h>int mai...

2020-04-24 15:10:59 278

翻译 RFC1929中文翻译——SOCKS v5 Username/Password 认证

rfc1929此备忘录( memo )的状态本文档为Internet社区指定了Internet标准跟踪协议,并请求讨论和改进建议。有关本协议的标准化状态和状态,请参阅当前版本的“互联网官方协议标准”(STD 1)。这份备忘录的分发是无限的。1. 介绍SOCKS版本5的协议规范指定了在初始SOCKS连接设置中使用任意身份验证协议的通用框架。本文档描述了其中一个协议,因为它适合SOCKS版...

2020-04-21 14:45:39 687

转载 RFC1929-Username/Password Authentication for SOCKS V5

rfc1929Status of this MemoThis document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the cu...

2020-04-21 14:18:51 186

翻译 RFC1928中文翻译——第五版SOCKS协议

rfc1928此备忘录( memo )的状态本文档为Internet社区指定了Internet标准跟踪协议,并请求讨论和改进建议。有关本协议的标准化状态和状态,请参阅当前版本的“互联网官方协议标准”(STD 1),这份备忘录的分发是无限的。致谢本备忘录描述了一个协议,该协议是该协议先前版本4[1]的演变。这个新协议源于积极的讨论和原型实现。主要贡献者是:马库斯•利奇:贝尔•北方研究公司...

2020-04-21 13:56:41 711

转载 RFC1928-SOCKS Protocol Version 5

rfc1928Status of this MemoThis document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the cu...

2020-04-21 13:55:21 258

原创 NDN新增tag的方案

本文档展示如何修改ndn-cxx和NFD的源码,添加一个值基本类型的Tag,下面的过程将展示添加一个值为uint64_t类型的Tag SrcAddress。添加Tag的含义在NDNLPv2协议中定义了LpPacket,具体的格式如下:LpPacket = LP-PACKET-TYPE TLV-LENGTH *LpHeaderField [F...

2020-04-20 14:53:22 1072 12

翻译 NFD开发指南-3.Tables

tables 模块提供NFD的主要数据结构( data structures )。转发信息库 (FIB,Forwarding Information Base )(第3.1节)用于将兴趣包转发到匹配数据( matching Data )的潜在源( potential source(s) )。它与IP的FIB表类似,只是它允许列出传出的 face 是一个 face 列表而不是单个 face 。网...

2020-04-20 14:52:28 669

翻译 NFD开发指南-2.Face系统

Face 是广义的网络接口。与物理网络接口类似,可以在 Face 上发送和接收数据包。Face 比网络接口更通用。 它可能是:物理网络接口以在物理链路上进行通信( a physical network interface to communicate on a physical link );NFD与远程节点之间的覆盖通信通道( an overlay communication channe...

2020-04-20 14:51:13 1038 4

翻译 NFD开发指南-1.介绍

原文地址:NFD开发指南-1.介绍NDN转发守护程序( NFD )是一个网络转发器,它与命名数据网络( NDN )协议 [1] 一起实现和发展。 本文档介绍了NFD的内部结构,并且适合有兴趣扩展和改进NFD的开发人员。 有关NFD的其他信息,包括有关如何编译和运行NFD的说明,可在NFD主页上找到 [2] 。NFD的主要设计目标是支持NDN体系结构的各种实验。 该设计强调 模块化 ( mo...

2020-04-20 14:48:44 3645 4

原创 一种用于NDN的安全的链路状态路由协议

原文地址:A Secure Link State Routing Protocol for NDN摘要(Abstract)命名数据链路状态路由协议(NLSR,Named-data Link State Routing protocol)是一个用作NDN网络域内路由的协议。很很多IP网络下的路由协议一样,它也是一个应用层的协议,不同的是NLSR使用NDN的兴趣包和数据包来更新路由信息,直接受...

2019-12-24 16:29:08 2032 1

原创 NLSR: 命名数据链路状态路由协议

paper地址:NLSR: Named-data Link State Routing Protocol摘要(Abstract)本文介绍了一种用于命名数据网络(NDN, Named Data Network)的路由协议——命名数据链路状态路由协议(NLSR,Named-data Link State Routing Protocol)的设计。由于NDN使用名称来标识和检索数据,所以NLSR...

2019-12-19 14:41:09 2398

原创 《你不知道的JavaScript》读书笔记——提升

变量声明和函数声明在编译时会被提示当然是指的用var声明的变量,用let声明的变量不会被提升变量提升console.log(a);var a = 2;上面的代码会输出undefinedvar a;console.log(a);a = 2;实际上,经过提升之后等效于上面的代码let、const定义的变量不会提升console.log(a);let a = 2;...

2018-12-24 20:01:40 166

原创 《你不知道的JavaScript》读书笔记——JavaScript LHS引用和RHS引用

什么是LHS引用和RHS引用LHS 和 RHS 的含义是“赋值操作的左侧或右侧”并不一定意味着就是“ =赋值操作符的左侧或右侧”。赋值操作还有其他几种形式,因此在概念上最好将其理解为“赋值操作的目标是谁(LHS)”以及“谁是赋值操作的源头(RHS)“为什么要区分LHS引用和RHS引用在变量还没有声明(在任何作用域中都无法找到该变量)的情况下,这两种查询的行为是不一样的在变量未...

2018-12-24 19:57:56 182

原创 Ubuntu 启用允许ssh远程登录root用户

原文地址: Ubuntu 启用允许ssh远程登录root用户实现需求本篇博旨在实现让一个ubuntu系统开启远程ssh连接,并且允许用root用户的身份登录首先开启远程连接支持安装 openssh-serversudo apt install openssh-server正常安装好openssh-server之后,你就可以用普通用户的身份进行远程连接了测试假...

2018-12-06 15:02:54 704

原创 Linux jdk安装器

原文地址:Linux jdk安装器jdk_installer项目地址: jdk_installer这是一个简单易用的Linux JDK安装器,默认支持下载jdk8_19_02和最新的jdk11。如果要使用其他版本的jdk,需要收到填写下载链接使用首先拉取本项目git clone https://github.com/SunnyQjm/jdk_installer.git ...

2018-11-14 18:57:39 155

原创 Linux提取匹配指定字符串的进程号

原文地址: Linux提取匹配指定字符串的进程号定个小目标现在提出我们的需求:通常在运维过程中,会有一些进程是在后台运行的,这个时候我们如果 筛选出指定的进程,并kill掉 就是接下来要讨论的问题了。尝试用 grep 和 awk 实现现在有一个进程是通过 nohup java -jar ./CCNController-1.0.jar /router/pku/n1 &amp; 命...

2018-11-14 09:55:41 2813

原创 scp_script_maker,一个生成scp简化版脚本的安装器

原文地址:scp_script_maker,一个生成scp简化版脚本的安装器介绍github地址:scp_script_maker这是一个scp脚本制作器,制作的脚本会被放在 ~/.local/bin 目录下,制作成功之后当前用户可访问该脚本。这个生成的脚本功能简单,只是对linux自带的 scp 命令做了一层封装,使得使用的时候不用反复输入对端IP和用户名使用# 先拉取安装...

2018-09-17 20:06:19 395

原创 ubuntu 16.04 设置 mysql 的编码为 utf8

介绍ubuntu 16.04 mysql 装上之后,数据库的默认编码不全是 utf8,有一些是 latin1 ,这就导致往数据库里面存储中文的时候会出现乱码,所以还是很有必要设置以下数据库默认编码的。通常修改编码的方式有一种是在 mysql 的交互shell中直接修改,但这个修改不是永久的,退出交互shell便会失效,博主下面主要介绍如何 持久性的修改mysql数据库的默认编码 ...

2018-09-15 08:33:43 2023

原创 Ubuntu16.04 18.04 开启截图

原文地址:https://blog.qjm253.cn/?p=551 介绍Ubuntu 16.04 和 Ubuntu 18.04 就算是最精简的安装方式也是自带截图工具的,这个截图工具的名字叫作 gnome-screenshot 。可以通过 man 命令查看一下帮助man gnome-screenshot帮助里面有很多 OPTIONS ,我们这边就讨论几个比较...

2018-09-14 21:25:49 1016

原创 给萌新的小福利——C语言编程环境配置

原文地址:给萌新的小福利——C语言编程环境配置 介绍学院入门用的是C语言,软件方向的下学期还会学C++。一般学长学姐会推荐使用的有:VS、CodeBlocks、CLion。VS是微软出品的,很大,功能很强(装上至少几个G),只是写写C语言C++的话可以不用这个。(经验来讲,我现在大四了也没用上这个)codeblocks是菜鸟大牛必备小工具,不过感觉调试功能用起来不太习...

2018-09-06 23:22:33 469

原创 用NAT方式实现用其它云平台ECS挂载阿里云NAS

原文地址:用NAT方式实现用其它云平台ECS挂载阿里云NAS 参考的文档通过NAT网关实现从用户IDC机房或者跨地域挂载文件系统 需要购买的组件一个专有网络这个创建似乎是不需要收费的共享带宽后付费方式 预付费方式大概 2Mbps =&gt; 0.28/小时,4Mbps =&gt; 0.56/小时。依次类推预付费方式 NAT网关服务按量...

2018-09-06 09:15:59 1500

原创 shell脚本实现连接远程服务器(ECS)

原文地址:shell脚本实现连接远程服务器(ECS) 说明本篇文章主要使用expect脚本来实现自动连接远程服务器并实现交互,不会大篇幅介绍expect的用法,有兴趣的读者可以自己了解,expect是个很强大的实现自动化交互的工具哦~~ 代码示例#!/usr/bin/expectset timeout 10set password 123456spaw...

2018-09-04 16:51:51 11594

原创 Linux下命令与文件名的检索

原文地址:https://blog.qjm253.cn/?p=463 which 通过检索PATH中包含的目录,寻找一个“可执行文件”的位置用法介绍# 用法which [-a] command# 默认行为依次检索PATH中的目录,找到第一个与command名字匹配的文件,将其列出# 参数-a:将所有由PATH目录中可以找到的命令均列出...

2018-08-17 16:22:43 444

原创 Linux文件与目录管理

原文地址:https://blog.qjm253.cn/?p=448 目录与路径相对路径与绝对路径绝对路径:由根目录开始写起,例如:/etc/nginx/xxx相对路径:以当前工作目录为参考,例如:./a.js目录相关操作特殊的目录:. 代表当前目录.. 代表上一层目录- 代表前一个工作目录~ ...

2018-08-16 21:20:26 127

原创 Linux文件权限

原文地址:https://blog.qjm253.cn/?p=436 用户与用户组的概念文件所有者文件所有者拥有对自己所创建文件的所有权限,有权修改所属文件的三类访问者的访问权限(文件所有者,用户组,其他人)用户组同一用户组内的用户可以互相访问各自公开给同组用户的文件,一般来说,属于同一个用户组的用户会比不属于用户组的其他用户对本组成员所属文件拥有更多的访问权...

2018-08-15 14:10:12 225

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除