自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 《计算机网络》笔记-第6章链路层和局域网

title: 《计算机网络》笔记-第6章链路层和局域网date: 2020-11-02 11:00:05文章目录0. 前言1. 概述2. 差错检测和纠正技术2.1. 奇偶校验2.2. 校验和方法2.3. 循环冗余检测3. 多路访问链路和协议3.1. 信道划分协议3.2. 随机接入协议3.2.1. 时隙 ALOHA3.2.2. 载波侦听多路访问(CSMA)3.2.3. 具有碰撞检测的载波侦听多路访问(CSMA/CD)3.3. 轮流协议4. 交换局域网4.1. 链路层寻址——MAC地址4.2. 地址解析.

2021-01-31 09:05:31 406

原创 《计算机网络》笔记-第4/5章网络层

title: 《计算机网络》笔记-第4/5章网络层date: 2020-06-18 20:58:25文章目录0. 前言1. 网络层概述2. 网际协议 IP 及其相关2.1. IPv4 编址2.1.1. 接口2.1.2. 点分十进制记法2.2. 划分网络2.2.1. 分类的 IP 地址2.2.2. 划分子网2.2.3. 无分类编址 CIDR2.3. IPv4 数据报格式2.4. IPv4 数据报分片2.5. DHCP2.6. NAT2.7. VPN2.8. IPv62.9. ICMP3. 路由器结构与.

2021-01-30 17:48:42 1071

原创 《计算机网络》笔记-第3章运输层

title: 《计算机网络》笔记-第3章运输层date: 2020-03-12 13:07:28文章目录0. 前言1. Introduction and Transport-Layer Services(概述和运输层服务)2. Multiplexing and Demultiplexing(多路复用和多路分解)2.1. 套接字2.2. 无连接(UDP)的多路复用和多路分解2.3. 面向连接(TCP)的多路复用和多路分解3. Connectionless Transport: UDP(无连接运输:UD.

2021-01-30 17:48:04 381

原创 《计算机网络》笔记-第2章应用层

title: 《计算机网络》笔记-第2章应用层date: 2020-01-28 14:31:18文章目录0. 前言1. Principles of Network Applications(应用层协议原理)1.1. Network Application Architectures(网络应用程序体系结构)1.2. Client and Server(客户与服务器)1.3. 套接字1.4. 可供使用的运输服务和因特网提供的运输服务1.5. Application-Layer Protocols(应用层.

2021-01-30 17:47:28 444

原创 《计算机网络》笔记-第1章计算机网络和因特网

title: 《计算机网络》笔记-第1章计算机网络和因特网date: 2020-01-19 10:21:14文章目录0. 前言1. What Is the Internet1.1. A Nuts-and-Bolts Description(用具体构成描述因特网)1.2. A Services Description(用服务描述因特网)1.3. What Is a Protocol2. The Network Edge(网络边缘)2.1. Access Networks(接入网)2.1.1. DSL(.

2021-01-30 17:46:59 1358

原创 递归与非递归的转换(树的非递归遍历)

title: 递归与非递归的转换(树的非递归遍历)date: 2018-11-27 20:42:150. 前言递归是计算机中基本而实用的算法思想。主要用于解决有边界的重复性操作问题,即满足数学归纳法特性的问题。比如斐波那契数列。可递归却有不少缺陷:运行效率低下、递归过多容易栈溢出等等。但作为一把锋刃的解题利器,我们也不能抛弃它。众所周知,递归的本质即为栈,它运行在内存中,受操作系统控制,一个函数就是栈中的一个单位(栈帧)。递归的过程,就是内存中栈的入栈出栈操作。因而,我们必然可以用自定义的.

2021-01-30 17:45:41 271

原创 图的最小生成树算法

title: 图的最小生成树算法date: 2018-11-27 20:45:29文章目录0. 前言1. 最小生成树2. 并查集3. Kruskal算法4. 示例0. 前言对于稀疏图(边较少),用Kruskal(克鲁斯卡尔)算法求最小生成树,无疑是上上之选。1. 最小生成树什么是最小生成树?一个连通图的极小连通子图 对不起,请先学好黄老师的离散数学。2. 并查集并查集是Kruskal算法的关键。它代表着集合中的等价类、图中的连通点。在计算机中,其数据结构为数组。那数组应该如何表示等.

2021-01-30 17:45:22 695

原创 KMP模式匹配算法

title: KMP模式匹配算法date: 2019-02-10 21:56:42文章目录前言普通模式匹配算法KMP模式匹配算法假设next数组利用next数组进行模式匹配详细代码前言KMP是一种模式匹配算法,什么是模式匹配呢?就是,现有一个模式串(字符串),要在另一个主串中查找是否存在与模式串相等的子串(主串中任意连续字符组成的子序列)。该算法的用处广泛,是正则表达式的基础。例如,有一个字符串为"ababcabcacbab",我们想知道该字符串中有没有一个"abcac"的字符串,这就叫模式.

2021-01-30 17:44:25 224

原创 图的最短路径算法

title: 图的最短路径算法date: 2019-02-12 19:33:29文章目录0. 前言1. 迪杰斯特拉 Dijkstra2. 弗洛伊德 Floyd3. 贝尔曼-福特 Bellman-Ford4. 参考0. 前言本文将介绍求解图最短路径的三个经典算法:迪杰斯特拉 Dijkstra、弗洛伊德 Floyd、贝尔曼-福特 Bellman-Ford。1. 迪杰斯特拉 Dijkstra迪杰斯特拉算法,用于解决 “给定起始点到其余点的最短路径” 问题,即单源最短路径算法。时间复杂度为 O(n.

2021-01-30 17:43:43 1786

原创 八大排序算法

title: 八大排序算法date: 2019-02-12 21:14:39文章目录0. 前言1. 插入排序2. 希尔排序3. 冒泡排序4. 快速排序快排核心5. 选择排序6. 堆排序7. 归并排序8. 基数排序9. 八大排序时间复杂度比较10. 代码0. 前言众所周知,对于顺序表,以二分法查找一个数,算法时间复杂度为O(nlongn)。因而,一次排好序,便可以节约很多查找的时间。由此可见,排序算法尤为重要。以下介绍八大排序算法,都是从小到大排序。1. 插入排序i从1到n-1,每次将第i.

2021-01-30 17:41:54 139

原创 bootstrap4框架使用总结

title: bootstrap4框架使用总结date: 2019-01-31 10:31:51文章目录前言CSS布局常用篇屏幕自适应内外边距块级元素与行内元素的转换栅栏布局基础配合外边距偏移规范子元素的flex水平布局垂直布局充满增长缩短作用当前元素当前元素水平布局当前元素垂直布局CSS元素规范篇规范字体字体样式包裹字体字体过长省略字体水平位置规范列表规范表格CSS组件篇块引用前言bootstrap 是一个开源的前端框架,主要应用于页面的布局。官网介绍:the world’s most .

2021-01-30 17:41:33 488

原创 vue请求接口获取数据及跨域问题

title: vue请求接口获取数据及跨域问题date: 2018-11-28 16:44:08文章目录0. 前言1. 通过api接口获取数据1.1. vue-source1.1.1. 安装1.1.2 使用1.2. axios1.2.1. 安装1.2.2. 使用1.2.3. 补充2. 跨域问题2.1. 问题2.2. 补充2.3. 解决2.3.1. CROS(跨域资源共享)2.3.2. Vue代理2.3.3. nginx反向代理0. 前言本文基于vue-cli3。1. 通过api接口获取数据在.

2021-01-29 21:42:04 1872

原创 通过highlight.js在vue中实现代码高亮

title: 通过highlight.js在vue中实现代码高亮date: 2019-05-04 19:18:16文章目录0. 前言1. 安装2. 封装成vue插件3. 全局引入自定义插件4. 使用0. 前言在 vue-cli3 项目中,通过highlight.js,实现页面中代码高亮。请先了解highlight.js官网中的使用说明。1. 安装npm install highlight.js --save2. 封装成vue插件官方文档—自定义插件官方文档—自定义指令新建hig.

2021-01-29 21:35:18 415 1

原创 nasm汇编实现贪吃蛇

title: nasm汇编实现贪吃蛇date: 2019-12-20 18:43:10文章目录0. 前言1. 需求分析2. 数据结构设计3. 程序流程架构4. 难点分析5. 具体实现6. 心得0. 前言出于汇编语言课程设计要求,设计一个由nasm汇编语言编写的贪吃蛇程序,可在“裸机”上运行。详细代码见github。1. 需求分析一个正常的贪吃蛇程序由nasm汇编语言编写在“裸机”上单独运行,或由自创加载器加载运行2. 数据结构设计需要设定的全局变量如下:snake: 蛇.

2021-01-29 21:31:16 2124 5

原创 中断、异常与并发

title: 中断、异常与并发date: 2019-12-29 22:19:12文章目录0. 前言1. 中断1.1. 解释1.2. 中断向量表(Interrupt Vector Table,IVT)1.3. 中断向量1.4. 中断处理程序1.5. 中断响应过程1.6. 中断类型2. 异常2.1. 异常的由来2.2. 异常的分类2.3. 中断描述符表(Interrupt Descriptor Table,IDT)3. 并发3.1. 并发的本质3.2. 定时器中断3.3. 浅析多进程并发0. 前言记.

2021-01-29 21:26:47 616

原创 简单入门 MIPS

title: 简单入门 MIPSdate: 2020-05-27 09:20:42文章目录0. 前言1. 指令1.1. MIPS指令概览1.2. 3种指令中各字段的含义1.3. 各指令的 OP 字段的编码/解码表1.4. R-Type 指令中,func 字段的编码/解码表1.5. MIPS 寻址方式1.6. 二进制与汇编间的转换举例1.7. 运算指令1.8. 数据传送指令1.9. 跳转指令2. 寄存器3. 存储器4. 过程调用4.1. MIPS的过程调用4.2. MIPS的栈4.3. MIPS过程调.

2021-01-29 20:58:51 867

原创 浅入浅出语义分割

title: 浅入浅出语义分割date: 2020-05-21 17:31:02文章目录0. 前言1. CNN1.1. LeNet - 51.2. AlexNet1.3. VGG - 162. 语义分割2.1. FCN2.1.1. 转置卷积2.1.2. 性能指标2.1.3. 转置卷积(解码)后的输出0. 前言与祁老师一同参加2020年软件杯,选择了一个有关语义分割的题目。(项目完成一大半的时候,由于出题方很 nt 地中途把题目改成了目标识别和检测,我们最终被迫放弃。。。)语义分割具体是什么就不.

2021-01-29 20:58:34 336

原创 专治面试疑难杂症

title: 专治面试疑难杂症date: 2020-02-27 13:11:09文章目录0. 前言1. 技术性问题1.1. 操作系统1.1.1. 同步 异步 阻塞 非阻塞1.1.2. select, poll, epoll1.1.3. 进程之间的通信方式以及优缺点1.1.4. 线程之间的数据同步1.1.5. 孤儿进程与僵尸进程1.1.6. 程序加载过程1.1.7. gdb调试的本质1.1.8. fork() 函数的返回1.1.9. 死锁1.2. Mysql + 数据库1.2.1. 三大范式1.2.2.

2021-01-29 20:58:15 350

原创 OCaml从入门到放弃

title: OCaml从入门到放弃date: 2020-01-04 13:28:47文章目录0. 前言1. 注释与输入输出2. 编译与运行3. 变量3.1. 基本类型3.2. let 定义3.3. 多态类型4. 表达式4.1. 算术运算4.2. 逻辑运算4.3. 比较运算4.4. 位运算4.5. if 表达式4.6. while 表达式4.7. 模式匹配表达式5. 函数5.1. 简单函数5.2. function 和 fun5.3. 高阶函数5.4. 递归函数6. 数据结构6.1. 类型的显式定义.

2021-01-29 20:57:31 784

原创 数据库复习小记

title: 数据库复习小记date: 2020-07-06 09:48:28文章目录0. 前言1. 关系数据库1.1. 关系1.2. 关系操作1.3. 关系的完整性1.4. 关系代数1.5. 关系演算2. 关系数据库标准语言 SQL2.1. 数据定义2.2. 数据查询2.3. 数据更新2.4. 视图2.5. SQL 示例2.5.1. SQL定义功能、数据插入2.5.1.1. 建立教学数据库的三个基本表2.5.1.2. DROP TABLE、ALTER TABLE、CREATE INDEX、DROP.

2021-01-29 20:57:09 187

原创 docker构建与运行grpc-gateway项目

title: docker构建与运行grpc-gateway项目date: 2020-08-10 17:05:01文章目录0. 前言1. 简单介绍 Docker1.1. Docker 三大组成部分1.2. docker 命令1.3. Dockerfile2. 用 docker 构建和运行 grpc-gateway 项目2.1. 编写 Dockerfile2.2. 根据 Dockerfile 生成镜像2.3. 容器运行2.4. 运行结果3. 总结参考0. 前言趁着实习摸鱼(啊不是)之际,简单学习一.

2021-01-28 18:14:55 847 1

原创 grpc进阶-HTTP/2

title: grpc进阶-HTTP/2date: 2020-08-22 14:39:55文章目录0. 前言1. HTTP/1.0 和 HTTP/1.11.1. HTTP/1.0 存在的问题1.2. HTTP/1.1 存在的问题2. HTTP/2 简史3. HTTP/2 简介3.1. 头部压缩3.2. 同一连接上请求并发3.2.1. 二进制分帧层3.2.2. 帧3.2.3. 多路复用3.2.4. 优先级3.2.5. 流量控制3.3. 服务端推送4. HTTP/1.1 与 HTTP/2 性能对比参考博.

2021-01-28 18:11:33 384

原创 grpc入门

title: grpc 入门date: 2020-07-21 19:26:19文章目录0. 前言1. 微服务概述2. RPC 概述3. gRPC 概述4. gRPC-go 尝试5. gRPC-Gateway 概述6. gRPC-Gateway 尝试0. 前言实习期间,公司项目使用 gRPC 框架。因此,简单入门一下 grpc。项目代码地址:gitee1. 微服务概述在提起 GRPC 之前,不得不提起微服务。long long ago,互联网还未繁荣起来,当时的网站应用功能较为简单,用户.

2021-01-28 18:09:01 284

原创 浅谈领域驱动设计DDD

title: 浅谈领域驱动设计DDDdate: 2020-08-19 10:19:19文章目录0. 前言1. 简介1.1. 贫血模型1.2. 充血模型2. 基本概念2.1. 战略设计2.2. 战术设计3. 总结参考0. 前言实习期间,组长布置的作业。1. 简介2003年,Eric Evans 在 《Domain-Driven Design: Tackling Complexity in the Heart of Software》 一书中提出了 领域驱动设计(DDD) 的重要概念。如果说.

2021-01-28 18:05:45 219

原创 聊聊CI/CD与DevOps

title: 聊聊CI/CD与DevOpsdate: 2020-08-04 09:55:27文章目录0. 前言1. 从瀑布模型谈起2. 敏捷开发3. DevOps4. CI/CD5. 总结参考0. 前言实习期间,组长给每位实习生布置了一份作业——关于CI/CD,devops的个人理解和可行性。实话实说,我最喜欢带薪学习了。1. 从瀑布模型谈起在谈起CI/CD、DevOps等之前,不得不提起软件工程开发模型的鼻祖——瀑布模型。20世纪70年代,软件工程概念刚刚被提出,温斯顿·罗伊斯(Win.

2021-01-28 18:02:53 511

原创 go语言进阶-并发

title: go语言进阶-并发date: 2020-09-01 19:58:37文章目录0. 前言1. 并发与并行2. 进程 线程 协程3. Goroutine4. Go 并发调度器模型 G-P-M5. Go 并发应用6. Go 并发同步模型 CSP7. channel 通道7.1. 无缓冲通道7.2. 有缓冲通道8. Go 实现同步8.1. 实现互斥8.1.1. 未实现互斥的后果8.1.2. 锁实现互斥8.1.3. 通道实现互斥8.1.4. 用通道实现互斥性能并不佳8.2. 同步通信9. 总结参.

2021-01-28 17:56:11 136

原创 python实现BP神经网络

title: python实现BP神经网络date: 2019-10-29 21:54:21文章目录0. 前言1. 神经网络基本模型1.1. 单神经元模型1.2. 多层神经网络1.3. 神经网络学习过程2. BP误差反向传播算法2.1. 算法推导2.2. 梯度下降的理解2.3. 算法步骤2.4. 算法流程2.5. 算法实现2.6. 算法检验2.6.1. 预测y=x2y=x^2y=x2模型2.6.2. 预测mnist手写数字图片数据集3. 参考0. 前言有幸,在软件可靠性课程的实验中,被要求实现B.

2021-01-28 17:51:11 4787

原创 linux命令学习

title: linux命令学习笔记date: 2018-12-09 00:26:21文章目录0. 前言1. 文件管理cdlsmkdirrmdirrmmvcppwdcatfilemoreless./可执行文件touchchmodchownchgrpwcfindtarln硬链接软链接区别2. 内存管理pskilltop3. 用户管理linux多用户概念suuseraddpasswd赋予用户管理员权限userdel4.网络管理netstat5.磁盘管理blkidmountumountdu6. 杂项gre.

2021-01-28 17:40:49 262

原创 go语言入门

title: go语言入门date: 2019-02-12 22:03:27文章目录前言一、Hello world二、基础语言1. 变量1.1. 基本变量类型1.2. 变量声明1.3. 变量零值1.4. 强制类型转换1.5. 类型推导1.6. 变量输出2. 常量3. 运算符4. 语句4.1. if语句4.2. switch语句4.3. select语句4.4. for语句5. 函数 引用-数据类型6. 包6.1. 包的特性6.2. main包6.3. 导入包6.4. 命名导入6.5. init()函.

2021-01-28 17:39:43 98

原创 用go实现聊天室(WebSocket方式)

title: 用go实现聊天室(WebSocket方式)date: 2019-01-30 12:30:05文章目录前言一、WebSocket协议二、go语言并发特性三、beego框架四、实现步骤1.需求分析1)数据分析2)功能分析2.数据结构3.功能实现1)前端`WebSocket`连接实现:2)后端`WebSocket`连接接口3)后端广播功能五、参考文档前言刚入门go语言和beego框架,通过一个简单聊天室的实现,来趁热练习。详细代码见github。一、WebSocket协议在实现之.

2021-01-28 17:35:44 1406 2

原创 微信网页获取用户信息(PHP、python实现)

title: 微信网页获取用户信息(PHP、python实现)date: 2018-11-14 20:31:440. 前言准备:微信认证公众号(要求企业才能认证),或微信测试号(推荐)PHP需要准备Apach服务器,python则准备Flask即可调式工具:微信开发者工具(微信推出的IDE)大致阅读微信公众平台文档中的微信网页授权在本文中,笔者将简述微信网页获取用户信息的三个主要步骤,并附上后端PHP/python代码。1. PHP实现第一步:重定位到微信提供的.

2021-01-26 23:05:51 512

原创 C++虚函数

title: 理解C++虚函数date: 2018-11-11 15:31:26文章目录1. 简单介绍2. 虚函数的作用3. 虚函数的实际意义4. 浅谈虚函数的原理4.1. 自己定义了虚函数的类4.2. 既包含覆盖虚函数,又包含继承虚函数的类1. 简单介绍C++虚函数是定义在基类中的函数,子类必须对其进行覆盖。在类中声明(无函数体的形式叫做声明)虚函数的格式如下:virtual void display();2. 虚函数的作用虚函数有两大作用:(1)定义子类对象,并调用对象中未被子类.

2021-01-26 22:58:01 627

空空如也

空空如也

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

TA关注的人

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