自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帝都码农

通讯录上有个女孩儿的备注是const

  • 博客(46)
  • 资源 (2)
  • 收藏
  • 关注

原创 浅谈TCP/IP协议栈(一)入门知识

说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋。 万事开头难,然后中间难,最后结尾难。。。哈哈,不扯这种心灵砒霜了,讲讲我这个小菜鸟是如何从对网络一窍不通到现在可以完整的说出一个报文是如何转发的初级水平,先看一下TCP/IP的介绍: Transmission

2016-04-15 23:08:26 22453 7

原创 详解C语言判断系统的大小端问题

今天突然就想到,之前在面试时被问到的一个问题,如何判断计算机的大小端,先来说一下什么是大小端吧,其概念如下: 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。 小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址

2017-10-20 16:27:26 8300 1

原创 Chrome是如何实现TLS协议的

chromium是如何实现TLS协议的说起TLS(Transport Layer Security) 协议大家可能不是那么熟悉,但是说起HTTPS协议,大家肯定都或多或少听过。记得之前有个梗,要把服务器的应用层协议从HTTP切到HTTPS,有人说了,加个“S”不就可以了,一句话的事情……,实际上我一开始我也以为HTTPS只不过比HTTP多了一个“S”而已,这句话还真毛病,但并不是简单的在后面加个“S

2017-09-28 15:38:21 12966

原创 浅谈TCP/IP协议栈(十)TCP的连接和状态迁移

上一节讲了TCP报文头的格式以及其中一些字段的含义和作用,相信大家对于TCP协议已经有了初步的了解,下面我们还是围绕TCP协议的概述,也就是面向连接的可靠的字节流服务来进一步介绍TCP协议虽然只有3个关键字:面向连接、可靠、字节流,但实际上真正理解TCP还是有一定难度的,不过也不要紧,让我们分解关键字,一个一个细细道来,今天为大家介绍TCP面向连接的特性提起TCP协议,相信大家也都听过三次握手和四次

2017-09-27 18:27:12 7646

原创 chromium是如何实现http解析的

上一节我们介绍了Chrome对于DNS协议的解析,今天我们继续介绍一个更为大家所熟知的协议,HTTP协议。 HTTP协议是一种很常见的协议,在chromium网络库中,对HTTP的解析主要是分为两部分,一部分是去缓存数据的获取,另外一部分则是重新加载网络资源。简单点说就是当我们在浏览器中输入 http://www.bytedance.net 的时候,优先去浏览器中的缓存数据查找是否存在相应的资源,

2017-03-27 17:22:53 10326

原创 Chrome是如何实现DNS的解析

DNS解析是一种非常常见的解析方式,来看一下百度百科的说明:DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对

2017-03-15 18:10:02 14158

原创 浅谈TCP/IP协议栈(九)初始TCP协议

上一节介绍了传输层的UDP协议,这一节开始介绍它的兄弟——TCP协议,通常计算机网络中最常见的一个名词就是TCP/IP协议栈,我们已经介绍过了IP协议,也知道IP协议是整个网络转发的基石,而TCP协议竟然还能排在IP之前,可见其重要性,因此我们会用较多的篇幅来介绍TCP协议。接触活血益一个协议之间,先弄清楚该协议的作用和特点,可以让我们很快上手,先来看看TCP协议的官方介绍: TCP(Transm

2016-10-15 13:17:36 6899

原创 浅谈TCP/IP协议栈(九)初始TCP协议

附上博客链接,欢迎大家前来交流学习。 上一节介绍了传输层的UDP协议,这一节开始介绍它的兄弟——TCP协议,通常计算机网络中最常见的一个名词就是TCP/IP协议栈,我们已经介绍过了IP协议,也知道IP协议是整个网络转发的基石,而TCP协议竟然还能排在IP之前,可见其重要性,因此我们会用较多的篇幅来介绍TCP协议。接触活血益一个协议之间,先弄清楚该协议的作用和特点,可以让我们很快上手,先来看看TC...

2016-10-15 13:10:09 479

原创 数据结构与算法(三)两个数组实现MIN栈问题

附上博客链接,欢迎大家来交流和学习。 上一节介绍了合并两个有序链表的操作,带大家简单的熟悉了链表这一数据结构以及通过递归来实现链表的合并,这一节为大家带来一道求栈中最小元素的问题,先看题目要求: 题目:定义栈的数据结构,请在该栈中实现一个能够得到栈中最小元素的MIN函数。在该栈中,调用MIN、PUSH、POP的时间复杂度均是O(1)。 根据题目可以看出,本次我们涉及的数据结构是栈(Sta...

2016-10-11 22:16:32 345

原创 数据结构与算法(三)两个数组实现MIN栈问题

上一节介绍了合并两个有序链表的操作,带大家简单的熟悉了链表这一数据结构以及通过递归来实现链表的合并,这一节为大家带来一道求栈中最小元素的问题,先看题目要求: 题目:定义栈的数据结构,请在该栈中实现一个能够得到栈中最小元素的MIN函数。在该栈中,调用MIN、PUSH、POP的时间复杂度均是O(1)。 根据题目可以看出,本次我们涉及的数据结构是栈(Stack),先看一下栈的介绍:栈又名堆栈,它是一种

2016-10-07 21:31:50 8026

原创 数据结构与算法(二)合并两个有序链表

附上博客链接,欢迎大家前来交流学习 本系列的第一节概括性地简单介绍了一下数据结构和算法的概念,说实话有点虚,因为谁都知道链表和数组是什么,也都能说出散列和二叉树,但真正有难度的是,在实际开发中如何去用这些数据结构,根据不同的开发需求选择不同的数据结构和算法,才是真正需要并且很难掌握的。以后的章节中,我都会通过一道实际编程题目或者一个场景,针对一种数据结构或者算法来解决问题,只有将数据结构和算法用...

2016-09-24 21:13:44 1751

原创 数据结构与算法(二)合并两个有序链表

本系列的第一节概括性地简单介绍了一下数据结构和算法的概念,说实话有点虚,因为谁都知道链表和数组是什么,也都能说出散列和二叉树,但真正有难度的是,在实际开发中如何去用这些数据结构,根据不同的开发需求选择不同的数据结构和算法,才是真正需要并且很难掌握的。以后的章节中,我都会通过一道实际编程题目或者一个场景,针对一种数据结构或者算法来解决问题,只有将数据结构和算法用来解决实际问题,才有意义,这一节我们要解

2016-09-23 23:40:50 13354

原创 浅谈TCP/IP协议栈(八)UDP协议简述

附上博客链接,欢迎大家一起来交流和学习。 介绍完网络层的协议后,今天开始为大家介绍网络层之上的传输层协议。如果把网络层中的IP协议看成是TCP/IP协议栈中的顶梁柱,那么UDP和TCP就好比是IP协议最亲密的两个儿子,尽管UDP和TCP是传输层中最为重要的的两兄弟,但是这两兄弟可以说是截然不同,这一章先介绍UDP协议。UDP是一个简单的面相数据报的运输层协议,进程中的每个输出操作都正好产生一个U...

2016-09-16 08:48:46 814

原创 浅谈TCP/IP协议栈(八)UDP协议简述

介绍完网络层的协议后,今天开始为大家介绍网络层之上的传输层协议。如果把网络层中的IP协议看成是TCP/IP协议栈中的顶梁柱,那么UDP和TCP就好比是IP协议最亲密的两个儿子,尽管UDP和TCP是传输层中最为重要的的两兄弟,但是这两兄弟可以说是截然不同,这一章先介绍UDP协议。UDP是一个简单的面相数据报的运输层协议,进程中的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报,一

2016-09-15 22:31:38 8677

原创 浅谈TCP/IP协议栈(七)网络层常见协议汇总

不知不觉这个系列已经写了6章,虽然都是写比较基础和简单的知识,但是整理起来还是用了不少时间,相信能够坚持看完前面几节的同学,已经对TCP/IP协议有了大致的了解,至少几个关键的知识点,比如说协议栈、IP地址、路由和转发的关系等等,这些知识业也许不足以让你全面了解网络知识,但作为入门知识却也是绰绰有余了。 大家还节的第一节讲的网络分层协议栈么?我们来回顾一下: 物理层——链路层——网络层——传输层

2016-08-28 12:00:48 9074

原创 浅谈TCP/IP协议栈(七)网络层常见协议汇总

附上博客链接,欢迎大家前来交流和学习。不知不觉这个系列已经写了6章,虽然都是写比较基础和简单的知识,但是整理起来还是用了不少时间,相信能够坚持看完前面几节的同学,已经对TCP/IP协议有了大致的了解,至少几个关键的知识点,比如说协议栈、IP地址、路由和转发的关系等等,这些知识业也许不足以让你全面了解网络知识,但作为入门知识却也是绰绰有余了。 大家还节的第一节讲的网络分层协议栈么?我们来回顾一下...

2016-08-28 11:52:30 2213

原创 浅谈TCP/IP协议栈(五)路由分类和路由优先级

附上博客链接,欢迎大家一起来学习与交流! 转眼间就到了八月份,日子过得可真快,当初三月份开博客时,目标是一周一篇,现在看来这个目标还没有达成,还需要继续努力,言归正传,上一章介绍了路由的分类和优先级,这一章我们将更为深入地介绍路由,主要聚焦两张表项:路由表和FIB表。 上一节提出了路由的概念,并且为大家介绍了路由的分类以及如何选择合适的路由进行转发,还是要强调一句话,网络层中最主要的概念就是...

2016-08-10 21:45:06 2069

原创 浅谈TCP/IP协议栈(六)路由表与FIB表

转眼间就到了八月份,日子过得可真快,当初三月份开博客时,目标是一周一篇,现在看来这个目标还没有达成,还需要继续努力,言归正传,上一章介绍了路由的分类和优先级,这一章我们将更为深入地介绍路由,主要聚焦两张表项:路由表和FIB表。 上一节提出了路由的概念,并且为大家介绍了路由的分类以及如何选择合适的路由进行转发,还是要强调一句话,网络层中最主要的概念就是路由和转发,而路由器作为网络传输的载体,其最核心

2016-08-01 22:47:43 20859 2

原创 浅谈TCP/IP协议栈(五)路由分类和路由优先级

附上博客链接,欢迎大家前来学习交流! 还记得之前介绍路由器基础知识介绍过的么,路由器的两大职责分别是路由、转发,那么究竟路由是怎样在路由器,或者说在整个IP转发中是如何实现的呢? 首先我们先介绍一下路由的基础概念,何为路由?简单点说就是选择合适的路,这里我们不会去介绍最佳路径之类的算法问题,因为对于路由器来说,逾期费时间选择最佳路径,倒不如选择一条最为熟悉的线路,这就是所谓的选路,而路由器的工...

2016-07-08 21:38:27 490

原创 浅谈TCP/IP协议栈(五)路由分类和路由优先级

还记得之前介绍路由器基础知识介绍过的么,路由器的两大职责分别是路由、转发,那么究竟路由是怎样在路由器,或者说在整个IP转发中是如何实现的呢?首先我们先介绍一下路由的基础概念,何为路由?简单点说就是选择合适的路,这里我们不会去介绍最佳路径之类的算法问题,因为对于路由器来说,逾期费时间选择最佳路径,倒不如选择一条最为熟悉的线路,这就是所谓的选路,而路由器的工作就是对于每一个经过它的报文,为它选择合

2016-07-08 20:58:25 12360 2

原创 浅谈TCP/IP协议栈(四)IP协议解析

附上博客链接,欢迎大家前来交流学习! 通过之前的网络层基础知识,IP地址以及路由器的简介,大家应该对于TCP/IP有一个大致的了解,在脑海里应该对于网络的几个基础概念有个大概的了解,简单点说整个协议栈就是在做一件事,规定网络报文(网络传输中的数据报)的发送和接收,而整个协议栈内的协议,也是可以分为之前介绍过的链路层-》网络层-》传输层-》应用层,在这每一层中都有很多不同的协议,但是最常用的协议,...

2016-07-02 14:33:44 506

原创 浅谈TCP/IP协议栈(四)IP协议解析

通过之前的网络层基础知识,IP地址以及路由器的简介,大家应该对于TCP/IP有一个大致的了解,在脑海里应该对于网络的几个基础概念有个大概的了解,简单点说整个协议栈就是在做一件事,规定网络报文(网络传输中的数据报)的发送和接收,而整个协议栈内的协议,也是可以分为之前介绍过的链路层-》网络层-》传输层-》应用层,在这每一层中都有很多不同的协议,但是最常用的协议,每一层就是一到两种,所以想学协议,先从每一

2016-07-02 14:12:29 2146

原创 Redis学习笔记(三)

附上个人博客,欢迎大家一起来交流和学习! 经过前两节的学习,我们已经可以在本地搭建Redis环境,并且可以通过简单的命令行来对Redis进行操作,当然这离实现完全掌握Redis,并且将其用作工业用途,那要走的路还有很多很多,今天换个角度来继续学习Redis。 再回顾一下Redis的简介:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value...

2016-06-11 19:25:10 168

原创 Redis学习笔记(三)Redis源码解读

经过前两节的学习,我们已经可以在本地搭建Redis环境,并且可以通过简单的命令行来对Redis进行操作,当然这离实现完全掌握Redis,并且将其用作工业用途,那要走的路还有很多很多,今天换个角度来继续学习Redis。 再回顾一下Redis的简介:Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API 可以看到

2016-06-09 23:55:35 11867

原创 浅谈TCP/IP协议栈(三)路由器简介

首先祝大家端午节快乐!附上个人博客,欢迎大家前来交流学习。 读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个TCP/IP协议中,在封装报文时就相当于是压栈操作,而在报文解析过程中,则是一个出栈的过程,在封装是最先被压进栈中的应用层协议,在解析报文时...

2016-06-09 10:38:18 230

原创 数据结构与算法(一)概念梳理篇

附上博客链接,希望能和大家一起学习交流 程序 = 数据结构 + 算法,至于我们平时用的语言,无论是C、C++、JAVA、Python、Golang等等,都肯定会用到各式各样的算法和数据结构,数组,链表,排序,搜索等等,可以说数据结构和算法就是程序的灵魂,同样的,也是程序员基本素养最直观的体现,只有拥有扎实的数据结构和算法知识,才能够成为一名合格的程序员。 写这个系列是因为觉得无论学哪门语言,...

2016-06-06 21:50:48 271

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建环境 搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能...

2016-06-05 20:50:33 97

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧,但如果在...

2016-06-05 11:10:12 77

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧,但如果在...

2016-06-05 11:09:54 73

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧,但如果在...

2016-06-05 11:09:14 87

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建环境 搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧...

2016-06-05 11:09:09 103

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建环境 搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧...

2016-06-05 11:08:51 89

原创 Redis学习手册(二)

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建环境 搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧...

2016-06-05 11:08:46 102

原创 浅谈TCP/IP协议栈(二)IP地址

读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适的时间掌握应该掌握的知识,循序渐进方能进步。 先简单回顾一下,TCP/IP协议栈: 数据链路层->网络层->传输层->应用层 如果为每一层加上一个ID,就像每个人都有身份证那样,...

2016-06-03 08:06:34 448

原创 浅谈TCP/IP协议栈(三)路由器简介

读完这个系列的第一篇浅谈TCP/IP协议栈(一)入门知识和第二篇浅谈TCP/IP协议栈(二)IP地址,在第一篇中,可能我对协议栈中这个栈的解释有问题,栈在数据结构中是一种先进后出的常见结构,而在整个TCP/IP协议中,在封装报文时就相当于是压栈操作,而在报文解析过程中,则是一个出栈的过程,在封装是最先被压进栈中的应用层协议,在解析报文时,也是最后从栈中读取出来并解析的。 这一节我们来讲网络层转发最

2016-05-29 23:47:47 11430

原创 浅谈TCP/IP协议栈(一)入门知识

说来惭愧,打算写关于网络方面的知识很久了,结果到今天才正式动笔,好了,废话不多说,写一些自己能看懂的入门知识,对自己来说是一种知识的总结,也希望能帮到一些想了解网络知识的童鞋。 万事开头难,然后中间难,最后结尾难。。。哈哈,不扯这种心灵砒霜了,讲讲我这个小菜鸟是如何从对网络一窍不通到现在可以完整的说出一个报文是如何转发的初级水平,先看一下TCP/IP的介绍: Transmission Co...

2016-05-29 11:18:09 174

原创 Redis学习笔记(二)快速掌握命令行

上一节我们学习了如何在windows平台搭建Redis,想温习的同学可以点这儿Redis学习笔记(一)搭建环境 搭建好环境后,我们正式开始Redis学习之旅。先打开Redis的客户端和服务器端: 这是两个窗口叠加在一起,我们只需要操作客户端的信息即可,还记得我们上一节用的set命令和get命令么?在Redis里,像这样的命令有一百多条,听上去不少,但实际上常用的也就二十多条的样子,都说孰能生巧,但

2016-05-28 23:16:34 7335 2

原创 Redis学习手册(一)

最近开始学习redis,一是出于兴趣,觉得redis作为一款高性能数据库,想看看它和MySQL之间的区别在哪儿,二是掌握一门新技术,为以后转服务器端做知识储备。由于redis的源码是用C语言写的,这倒方便我直接从源码的角度去学习redis,当然学习一门新技术更好的办法就是搭建环境去用它,所以我学习的方法就是两条,一是阅读源码,透过源码看业务逻辑的实现最为直接,二是上手去使用,最为直观的学习方法。 ...

2016-05-14 20:47:24 255

原创 Redis学习笔记(一)搭建环境

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

2016-05-13 23:36:44 860

原创 浅谈TCP/IP协议栈(二)IP地址

上一节大致了解TCP/IP协议栈是个啥东西,依旧是雾里看花的状态,有很多时候学一门新知识时,开头总是很急躁,无从下手,刚学会一点儿,却发现连点皮毛都不算,成就感太低,所以任何时候学习最重要的是要在合适的时间掌握应该掌握的知识,循序渐进方能进步。 先简单回顾一下,TCP/IP协议栈: 数据链路层->网络层->传输层->应用层 如果为每一层加上一个ID,就像每个人都有身份证那样,那么可以这样标记:

2016-04-30 20:16:40 9548 1

TCP/IP协议详解卷一(协议篇)

本书是TCP/IP领域的经典之作!书中主要讲述TCP/IP协议,不仅仅讲述RFC的标准协议,而且结合大量实例讲述了TCP/IP协议族的定义原因,以及在各种不同的操作系统中的应用及工作方式,使读者可以轻松掌握TCP/IP的知识。本书内容详尽,几乎每章都提供精选的习题,并提供了部分习题的答案

2017-10-31

OpenGl实现粒子雪花效果

很不错的关于opengl开发的粒子系统,很有借鉴价值。

2014-05-16

空空如也

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

TA关注的人

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