Halibaba

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2014年3月2日

摘要: 有空来论坛走走,发现讨论udp可靠传输又热了起来,有人认为udp高效率,有人认为udp丢包重传机制容易控制,还有朋友搞极限测试,当然也有人推销自己的东西,这里写一点我个人的看法。 udp可靠传输其实非常非常的简单,我最开始接触udp可靠传输大约是在2005年,因为那时候开发FtpAnywhere,由于路由的映射和网关nat处理方面,认为udp具有天生优势,因此开始编写自己的udp可靠传输协议,好象那个时候已经有了udt,我也下了源代码看了下,不过很快就看不下去了,因为它用了定时器,加上跨平台处理,导致它的代码,反正我看着很乱,理不出一个完整的逻辑图。但是原理和tcp的基本一样,并没有什么特殊的 阅读全文
posted @ 2014-03-02 19:13 Halibaba 阅读(754) 评论(0) 推荐(0) 编辑

2014年2月18日

摘要: http://netclass.csu.edu.cn/JPKC2007/CSU/02GPSjpkch/jiao-an/2.1.htm 阅读全文
posted @ 2014-02-18 22:10 Halibaba 阅读(639) 评论(0) 推荐(0) 编辑

摘要: 转自:http://blog.gisforum.net/u/93028/archives/2008/2519.html一:坐标系、基准、坐标参照系之间的关系1. 坐标参照系包括坐标系和基准两部分2. 坐标系包括空间直角坐标系、空间大地坐标系、站心直角和极坐标系、曲面坐标系等。若我们从维数上看又分为二维、三维、多维坐标系等。3. 坐标系的选择仅仅决定了表示空间任一点时我们是用(X,Y)还是用(X,Y,Z)还是用(B,L,H)还是用(N,E,U)还是用(R,A,EL)等其中的某一特定的形式来表示。但是,需要特别指出的是-------选择了一种特定的坐标系,仅仅只能说明我们确定了用何种形式来表示点; 阅读全文
posted @ 2014-02-18 20:27 Halibaba 阅读(3335) 评论(0) 推荐(0) 编辑

摘要: 地理坐标:为球面坐标。 参考平面地是 椭球面。坐标单位:经纬度大地坐标:为平面坐标。参考平面地是 水平面 坐标单位:米、千米等。 地理坐标转换到大地坐标的过程可理解为投影。 (投影:将不规则的地球曲面转换为平面)在ArcGIS中预定义了两套坐标系:地理坐标系(Geographic coordinate system)投影坐标系(Projected coordinate system), 1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为 地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geogr 阅读全文
posted @ 2014-02-18 20:21 Halibaba 阅读(1348) 评论(0) 推荐(0) 编辑

摘要: //坐标转换源代码--GPS定位程序(C++) //GPS数据处理中为了满足不同的需要,处理的数据要进行坐标转换,得到在不同坐标系统下的结果,下面是笛卡尔坐标系,大地坐标系,站心地平坐标系(线型和极坐标形式)之间的转换源代码://头文件:#ifndef _COORDCOVERT_H #define _COORDCOVERT_H#include "stdlib.h" //WGS-84椭球体参数 const double a=6378137.0;//长半轴 const double flattening=1/298.257223563;//扁率 const double del 阅读全文
posted @ 2014-02-18 19:51 Halibaba 阅读(624) 评论(0) 推荐(0) 编辑

2014年2月17日

摘要: 堆数据结构是在排序里面讲的,空间复杂度O(1),时间复杂度O(NlogN),但是在实践中还是不如快速排序。堆的意义就在于:最快的找到最大/最小值,在堆结构中插入一个值重新构造堆结构,取走最大/最下值后重新构造堆结构 其时间复杂度为O(logN),而其他方法最少为O(N).堆实践中用途不在于排序,其主要用在调度算法中,比如优先级调度,每次取优先级最高的,时间驱动,取时间最小/等待最长的 等等 ,分为最大堆/最小堆。哈希表主要可以在O(1)时间内对查找对象定位,但是事实上,如果输入集合不确定的情况下,可能出现大量的冲突,虽然有很多好的哈希函数,但是随着随机输入,大量冲突还是不可避免,可能出现最差情 阅读全文
posted @ 2014-02-17 01:45 Halibaba 阅读(264) 评论(0) 推荐(0) 编辑

2013年11月9日

摘要: 1. 场景 假设有如下的场景: 卖pizza的, 可以有很多种pizza(CheesePizza, GreekPizza, PepperoniPizza),我们该如何处理它呢,当然我们可以声明一个类,类中创建每一个种类的pizza。但是这样有什么问题吗?我们没有把需要改变的部分剥离出来。软件设计的一个原则就是“是易于扩充而不是修改”,另一个是“对接口编程而不是对实现编程”。 这里就轮到工厂模式出手了。 工厂模式有三种:简单工厂抽象工厂工厂方法2. 简单工厂模式 1.1 Uml1.2 源代码class Pizza { public: Pizza(){}; virtual ~P... 阅读全文
posted @ 2013-11-09 17:29 Halibaba 阅读(262) 评论(0) 推荐(0) 编辑

2013年11月6日

摘要: 今天做一个小程序,居然发现用vector的删除操作时遇到了问题:考虑,当需要遍历容器,并且对其中某些元素进行删除操作,正确的做法是怎样?首先,容器的删除操作,如vector的erase,其参数为游标类型,直接在遍历过程中利用游标进行删除的话,涉及到游标的移动问题,容易产生越界错误。直接上例子先吧,非常简单://////////////////////////////////////////////////////vector::iterator itr = v.begin();while( itr!=v.end() ){ if( need to delete ) itr = v.era... 阅读全文
posted @ 2013-11-06 19:41 Halibaba 阅读(218) 评论(0) 推荐(0) 编辑

2013年11月4日

摘要: #include #include #include using namespace std; int main(int argc, char** argv) { int a; string Str1, Str2; /*=========================ISTRINGSTREAM=========================*/ /* istringstream 对象用来把一个已定字符串中的以空格隔开的内容提取出来 */ /* istringstream 只支持 >> 操作符 */ string Input =... 阅读全文
posted @ 2013-11-04 11:15 Halibaba 阅读(380) 评论(0) 推荐(0) 编辑

2013年11月3日

摘要: 转自:http://blog.csdn.net/xiajun07061225/article/details/12844801其实我的求职过程在十一之前就已经结束了,总体讲比较顺利。参加面试的几家公司基本都拿到了offer,分别是阿里巴巴、美团网、创新工场涂鸦移动以及华为。当时也参加了其他公司的面试,比如人人,一面过后收到了二面通知,拒了。创新工场豌豆荚一面结束后等消息。十一过后的公司基本都是酱油而过。去哪儿面试拒了。腾讯一面后收到了二面的通知,也拒了。主要是因为自己已经拿到了理想公司的offer。看来人还是需要一点压力,这样才能发挥出自己的潜能。也本着攒RP的原则吧,感觉没必要刷那么多off 阅读全文
posted @ 2013-11-03 22:04 Halibaba 阅读(615) 评论(0) 推荐(0) 编辑