自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 资源 (7)
  • 收藏
  • 关注

原创 从0到1用java再造tcpip协议栈:使用责任链模式实现ICMP错误数据报解析

上一节我们讲述了ICMP协议的数据格式,说到了ICMP数据报包含两种类型的信息:错误消息和控制消息。同时我们详细解析了包含错误消息时的数据格式,本节我们使用代码来实现ICMP错误数据报的解析。上图显示的是ICMP数据报包含错误消息时的格式。它一个特点是底层数据格式需要根据上头type和code两个字段指定,这两个字段不同数值的组合对应底层不同数据结构,由于type有125种取值,而对应固定的t...

2018-12-28 07:26:57 437 1

原创 从0到1用java再造tcpip协议栈:ICMP协议的原理和实现

绝大多数TCPIP传输协议基于IP寻址协议,然后建造在IP之上的TCP和UDP两种协议用于控制数据包的传输。问题在于这些协议只关注数据传输,在传输过程中如果出现错误信息,或者是网络出现某种异常情况需要数据发送双方做一些控制操作时,我们就需要在这些协议的控制范围之外传递一些有关数据发送的控制信息,这些数据的发送就必须依赖于控制数据报协议,也就是ICMP协议。ICMP协议在保证数据的准确发送上发挥了...

2018-12-22 17:18:45 1053

原创 深度学习进阶:使用keras开发非串行化神经网络

我们当前所开发的网络都遵循同一个模式,那就是串行化。多个网络层按照前后次序折叠起来,数据从底层输入,然后从最高层输出,其结构如下图:事实上这种形式很不灵活,在很多应用场景中不实用。有些应用场景需要网络同时接收多种输入,有些应用场景要求网络能同时又多种输出,有些需要网络内部的网络层发送分叉,像一颗多叉树那样。有一些更复杂的网络结构是,它同时接收来自不同网络的输出,试想我们想要预测二手车在市场上的...

2018-12-19 12:26:24 516

原创 从0到1用java再造tcpip协议栈:实现ARP协议层

经过前两节的准备,我们完成了数据链路层,已经具备了数据包接收和发送的基础设施,本机我们在此基础上实现上层协议,我们首先从实现ARP协议开始。先简单认识一下ARP协议,ARP是一种寻址协议,它要找寻目标的物理地址,连接在互联网上的设备有两种地址,一种叫IP,也就是我们常见的192.168.2.1这类地址,另一种叫物理地址,例如我们电脑上的mac地址。为何要使用两种地址呢?这类似与个人的名字与身份证...

2018-12-13 17:55:51 919

原创 从0到1用java再造tcpip协议栈:使用jpacap模拟数据链路层

我们上一节成功使用jpcap获得了网卡硬件,我们要重新构造tcp/ip协议栈,那么就需要做两部分工作。一部分由上层协议完成,他们的工作是将要发送的数据进行封装,主要是在数据包上添加包头数据结构,包头里有很多控制字节,用于不同节点间进行数据传送时对传送过程的控制和调整,了解,掌握,实现每层数据协议的包头结构以及数据控制流程是我们系列课程的重点和难点。有了上层数据封装后,剩下的就需要下层硬件将数据准...

2018-12-05 16:34:49 621

原创 使用java自造TCP/IP协议栈:使用JPCAP实现数据发包

从本节开始,我们打算使用java把tcp/ip网络协议栈重新实现一遍。这是一个不小的野心,自然也是一个不小的工程,好在前面顺利完成了操作系统,编译器两门课程的实现,这给了我极大的信心。整个互联网系统分为三大支柱,分别是操作系统,编译器,和网络协议,我们完成了前面三者,还剩第三者一直孤悬在那,直到今天我终于下定决心,尝试着把tcp/ip协议栈也重新实现一遍。对于网络协议栈而言,绝大多数人都是”只见...

2018-12-05 16:33:44 2275 1

一个java实现的简易编译器

这是一个用java实现的简易的编译器,他能将一个具有加法和乘法的算术表达式编译成类汇编语言,这是我博文对应的代码,具体请参看我的博文: http://blog.csdn.net/tyler_download/article/details/50668983 例如输入 1+2*3+4; end end是必须的,表示输入结束,然后程序输出: t0 = 1 t1 = 2 t2 = 3 t1 *= t2 t0 += t1 t1 = 4 t0 += t1

2016-02-18

一个android 文本比对app的实现代码

这是一个android版的beyond comparer, 它的功能是找出两个文本的最大共同子串,其算法思想是LCS, 但我利用Hirschberg 的动态规划算法将存储复杂度由O(n^2)改为O(n), 具体详情请参看我的博文: http://blog.csdn.net/tyler_download/article/details/49820515

2015-11-16

Learning AndEngine

AndEngine 是android开放的经典引擎,它能提供的框架能极大的提高android平台上的游戏开发质量和效率,当然,到现在它已经老了,引擎源代码有两年未更新,但国内有不少开源的游戏引擎,例如OGEngine都是基于AndEngine的,而且OGEngine文档做的很差,要想有效的运用OGEngine,学校AndEngine看似必不可少,这里将描写AndEngine最好的开发书籍共享,但愿起到抛砖引玉的作用

2015-03-26

Information Retrieval: Implementing and Evaluating Search Engines

这是一本讲诉搜索开发技术的书,在亚马逊上评分为五星。众所周知,搜索引擎很多技术都很成熟了,但其实践的成本很高,因此,很多相关书籍讲解的大多是概念,而计算机科学的内核是实践,没法动手做的东西,意义都不大。本书特点在于它基于一个信息检索的开源系统Wumpus,使得理论和实践能够结合起来,这或许是它在亚马逊有五星的原因吧,希望有志于信息检索的各位同仁能充书里获得应有的收获

2015-02-10

Android 4.4 App Development Essential

亚马逊上五星级的android开发入门书,它将android开发的概念,流程娓娓道来,详细讲解了开发环境的搭建,调试,并逐步讲解开发的各个知识点,并提供动手实践的实例和程序,极大地降低了学习曲线,是想进入android移动开发的绝佳入门资料

2014-11-21

NUnit Pocket Reference

该书介绍了.net c# 最成熟和流行的单元测试框架NUnit的技术,微软内部也在用该工具做单元测试,任何想提高代码质量或想转入TDD开发的.net c# 工程师都值得一读,该书在亚马逊上有4.5星,以下是英文介绍: Few .NET developers have the luxury of unlimited code testing once their application is complete, and rushing through the testing process is both problematic and stressful. The open source NUnit framework provides an excellent and efficient way to test and improve .NET code as it's written, saving hundreds of QA hours and headaches.NUnit is one of the most mature and widely-used .NET open source projects even Microsoft uses it internally. NUnit is a unit-testing framework for all .Net languages. Written entirely in C#, NUnit takes advantage of many .NET language features, such as custom attributes and other reflection related capabilities. It automates unit testing and reduces the effort required to frequently test code while developing it. NUint is invaluable for .NET developers in test-driven development under agile methodologies such as Extreme Programming (XP) as well as for developers who use for unit testing for software quality assurance. Unfortunately, some of those valuable hours saved by using NUnit can be wasted trying to master this powerful but under-documented frameworkProof that good things come in small packages, the NUnit Pocket Reference is a complete reference to NUnit, filling in the blanks left by the existing documentation and online discussion. It offers developers everything they need to know to install, configure, and use NUnit; the NUnit user interface; and a reference to the NUnit framework classes in a slim but well-organized package. This handy little book even offers practical, real world NUnit examples. And with the NUnit Pocket Reference, IT managers will know to expect when they implement unit testing in their projects. It is the only book you'll need on this popular and practical new open source framework.

2014-10-29

空空如也

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

TA关注的人

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