<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[无忧的专栏]]></title><description><![CDATA[每天积累一点点]]></description><link>https://blog.youkuaiyun.com/gary531</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gary531]]></copyright><item><title><![CDATA[ibooking项目设计介绍（一个基于SSH的外卖点餐系统）]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/48261189</link><guid>https://blog.youkuaiyun.com/gary531/article/details/48261189</guid><author>gary531</author><pubDate>Mon, 07 Sep 2015 09:22:53 +0800</pubDate><description><![CDATA[一、源码路径
https://github.com/weiganyi/ibooking
 
二、界面
通过浏览器访问web网站，可以看到界面如下：
 
 
 
三、背景
这两年来O2O的概念越来越火热，O2O因为能够把线下的资源通过线上的信息沟通渠道进行连接，影响着很多实体行业未来的发展。
这个项目就是为餐饮店提供线上外卖订餐服务的web网站，具有O2O网站的特点。网站有顾客和]]></description><category></category></item><item><title><![CDATA[Hadoop学习总结]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/45022163</link><guid>https://blog.youkuaiyun.com/gary531/article/details/45022163</guid><author>gary531</author><pubDate>Mon, 13 Apr 2015 10:12:02 +0800</pubDate><description><![CDATA[最近学习了hadoop这个框架，把自己的理解总结如下：
1、hadoop通过一个jobtracker分派任务到一系列tasktracker来运行，tasktracker同时向jobtracker返回任务运行结果。
jobtracker对作业的输入数据进行分片，然后为每个分片创建一个map任务，同时创建一定数量的reduce任务，并指派空闲的tasktracker来执行这些任务。
tasktr]]></description><category></category></item><item><title><![CDATA[关于SSH框架设计的一些理解]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/40817117</link><guid>https://blog.youkuaiyun.com/gary531/article/details/40817117</guid><author>gary531</author><pubDate>Wed, 05 Nov 2014 08:37:28 +0800</pubDate><description><![CDATA[最近在学习企业开发领域很流行的SSH框架（Struts、Hibernate、Spring），由于之前有做过原生的Servlet+JSP的项目，所以在学习过程中我会跟原生开发模式进行对比，在这里我把自己的一些理解做下小结。
1、Servlet+JSP原生开发
先简要说一下Java Web原生开发模式，Java Web开发通常是使用Tomcat之类的容器，Tomcat容器实现了一套也可以称为框架的]]></description><category></category></item><item><title><![CDATA[浅析Java语言慢的原因]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/37496993</link><guid>https://blog.youkuaiyun.com/gary531/article/details/37496993</guid><author>gary531</author><pubDate>Mon, 07 Jul 2014 08:44:06 +0800</pubDate><description><![CDATA[Java在早期（比如JDK1.2以前）是很慢的，后续版本由于有许多优化手段的加入，Java正变得越来越快，所以现在也有很多关于Java和C/C++孰快孰慢的争论。我想就我自己的理解，谈一下影响Java程序运行速度的因素。
1、 GC回收
众所周知，Java相对C/C++的一个很大进步就是有了GC机制，它能够很大程序的避免C/C++常见的内存泄漏的发生。但是这也是有代价的，那就是因为JVM管理了]]></description><category></category></item><item><title><![CDATA[dr-helper项目设计介绍（一个包含移动端和Web端的点餐管理系统）]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/31344403</link><guid>https://blog.youkuaiyun.com/gary531/article/details/31344403</guid><author>gary531</author><pubDate>Mon, 16 Jun 2014 08:58:59 +0800</pubDate><description><![CDATA[一、源码路径
https://github.com/weiganyi/dr-helper
 
二、界面
通过浏览器访问Web服务，可以看到界面如下：


ADT-Bundle编译工程生成dr-helper.apk，安装后可以看到应用界面如下：

 
三、背景
Java诞生后主要就是用于Web开发，随着Android的兴起，其在移动领域也应用广泛。我在学习了Java相关的一系列]]></description><category></category></item><item><title><![CDATA[Web页面布局方式小结]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/28234073</link><guid>https://blog.youkuaiyun.com/gary531/article/details/28234073</guid><author>gary531</author><pubDate>Tue, 03 Jun 2014 10:07:38 +0800</pubDate><description><![CDATA[Web页面是由块元素组成的，正常情况下块元素一个个按垂直方向排布，构成了页面。但是这种基本的布局方式绝大多时候不能满足我们的需求，所以各种布局方式应运而生，本文就对这些布局方式做个小结。
1、元素漂移
把一个元素从页面流中移走，漂移到某个方向，其它块元素会置于这个元素下面，当有内联元素注入其他块元素时，内联元素会环绕着这个元素
#amazing{
   width: 200px;]]></description><category></category></item><item><title><![CDATA[关于游戏手柄按键的设计]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/24959447</link><guid>https://blog.youkuaiyun.com/gary531/article/details/24959447</guid><author>gary531</author><pubDate>Sun, 04 May 2014 09:21:54 +0800</pubDate><description><![CDATA[一、背景
最近开发了一个空鼠遥控器的外设产品，采用Nordic51822 MCU芯片，基于BLE4.0标准，与OTT盒子连接，同时具有遥控器、空鼠、游戏手柄的功能。其中在按键的设计这块我们走了一些弯路，现总结一下经验教训，以供开发类似产品时参考。
 
二、初始设计
1、结构设计
最初按键在结构设计上采用类似路由器按键的方式，比较简单，在PCB按键位置放置一个波仔片，然后上面加一个橡胶的按]]></description><category></category></item><item><title><![CDATA[浅谈Android系统开发中一些概念的理解]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/23676683</link><guid>https://blog.youkuaiyun.com/gary531/article/details/23676683</guid><author>gary531</author><pubDate>Mon, 14 Apr 2014 14:25:35 +0800</pubDate><description><![CDATA[Android开发分为应用开发和系统开发，本文是《浅谈Android应用开发中一些概念的理解》的姊妹篇。
Android系统基于Linux系统搭建，有其自己的特点，虽然系统开发技术通常只有ROM厂商或深度定制才需要，但对于应用开发人员来说，了解底层的一些实现，对于更好的应用Android应用框架来开发应用，是大有裨益的。下面总结一下我在Andriod系统开发学习过程中对一些概念的理解。
1、a]]></description><category></category></item><item><title><![CDATA[浅谈Android应用开发中一些概念的理解]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/23250571</link><guid>https://blog.youkuaiyun.com/gary531/article/details/23250571</guid><author>gary531</author><pubDate>Wed, 09 Apr 2014 10:06:17 +0800</pubDate><description><![CDATA[Android应用、Window应用和Web应用这3种应用是我们目前比较主流的应用程序开发类型，其实他们之间的设计思路有许多相同的地方，也有不同的地方。在各种技术之间相互借鉴，有助于我们理解Android应用开发模式的一些设计思路。下面我总结一下在Android应用开发中我对一些概念的理解。
1、开发Android应用程序时界面资源通过XML文件来定义，可以与Java源码分离，同时自动在R.ja]]></description><category></category></item><item><title><![CDATA[六种主流编程语言（C、C++、Python、JavaScript、PHP、Java）特性对比]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/19805989</link><guid>https://blog.youkuaiyun.com/gary531/article/details/19805989</guid><author>gary531</author><pubDate>Mon, 24 Feb 2014 09:17:54 +0800</pubDate><description><![CDATA[这些年来我陆陆续续已经学习了六种编程语言，有些人会说语言学到最后不都差不多吗？其实可以这样讲，也可以不这样讲。虽然每种语言的表达能力大部分是重合的，只是语法表现形式不一样，但是由于历史发展的原因，每种语言形成了自己的支撑环境，所以都有其主要的适用范围。
       C、C++、Python和Java四种是通用编程语言，JavaScript和PHP算是Web环境的专用编程语言。C语言由于其底层操]]></description><category></category></item><item><title><![CDATA[Java语言与C++语言的差异总结]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/18547043</link><guid>https://blog.youkuaiyun.com/gary531/article/details/18547043</guid><author>gary531</author><pubDate>Mon, 20 Jan 2014 09:30:09 +0800</pubDate><description><![CDATA[Java的设计者曾说过，设计这门语言的灵感主要来自于C++。
世上先有C++，然后才有Java，整个Java语言的发展历史就是一部对C++的填坑史。所以在Java语言学习过程中，将其与C++语言对比是一件有意义的事情。通过这些对比，我们能够了解到Java语言相对于C++语言有哪些改进，能带给我们哪些进步，这样对于更加深入理解这两种语言是大有裨益的。
 
下面我总结一下Java语言与C++语言]]></description><category></category></item><item><title><![CDATA[tiny-blog项目设计介绍（一个基于LAMP架构的轻量级博客系统）]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/17533343</link><guid>https://blog.youkuaiyun.com/gary531/article/details/17533343</guid><author>gary531</author><pubDate>Tue, 24 Dec 2013 17:31:04 +0800</pubDate><description><![CDATA[一、源码路径
https://github.com/weiganyi/tiny-blog
 
二、界面
把项目代码放到Web服务器路径下某个目录，通过浏览器访问这个目录可以看到如下界面：


 
三、背景
最近学习了LAMP架构开发，想找个东西来练练手，博客程序是一个比较好的选择，大小适中，通过它能够验证许多Web网站的基本功能。
按照LAMP架构，基于Apache服务器的PH]]></description><category></category></item><item><title><![CDATA[Web页面向后台提交数据的方式和选择]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/17392983</link><guid>https://blog.youkuaiyun.com/gary531/article/details/17392983</guid><author>gary531</author><pubDate>Wed, 18 Dec 2013 14:04:29 +0800</pubDate><description><![CDATA[众所周知Web前端页面主要由HTML/CSS/Javascript组成，当要通过与用户的交互实现各种功能时，就需要向后台提交一些数据或者操作。在Web世界里各种实现眼花缭乱，但究其根本，不外乎三种方式，这也是由前端脚本、浏览器与后台交互规则决定的。
1、通过表单提交
这是HTML支持最传统的提交方法，需要创建表单，然后表单包含各种类型的表单元素，还要有一个提交按钮，通过提交按钮来提交到后台，这]]></description><category></category></item><item><title><![CDATA[mini-editor项目设计介绍（一个基于Javascript的Web编辑器）]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/16881213</link><guid>https://blog.youkuaiyun.com/gary531/article/details/16881213</guid><author>gary531</author><pubDate>Fri, 22 Nov 2013 11:46:41 +0800</pubDate><description><![CDATA[一、源码路径
https://github.com/weiganyi/mini-editor
 
二、背景
网上有许多开源的Web编辑器项目可以方便我们使用，但是它们的功能通常都比较丰富，体积也较大，并且很多功能通常都用不到，所以我萌生了做一个轻量级Web编辑器的想法。
Web编辑器的使用环境决定了要使用Javascript来实现，有些开源项目需要前后台代码来配合完成功能，我考虑到编辑器]]></description><category></category></item><item><title><![CDATA[WordPress源码设计解读]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/14451807</link><guid>https://blog.youkuaiyun.com/gary531/article/details/14451807</guid><author>gary531</author><pubDate>Thu, 07 Nov 2013 15:10:21 +0800</pubDate><description><![CDATA[WordPress是一个比较流行的博客CMS，并且不依赖于第三方框架。最近我阅读了它的源码，大体了解了它的整体设计实现，下面我做一些总结。我选取的是2.0版本，虽然比较旧，但总体代码量会少一些，也不会影响对整体流程的了解。
 
一、原理
WordPress是一个CMS，区别于博客的是它带有博客管理功能，方便使用者发布和管理他的博客文章。它整个是基于PHP语言的，当用户通过浏览器访问WordP]]></description><category></category></item><item><title><![CDATA[jphone项目设计介绍（一个基于C++的应用程序框架以及软电话和日志服务器应用）]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/12512693</link><guid>https://blog.youkuaiyun.com/gary531/article/details/12512693</guid><author>gary531</author><pubDate>Wed, 09 Oct 2013 16:30:35 +0800</pubDate><description><![CDATA[一、源码路径
https://github.com/weiganyi/jphone
 
二、背景
最开始做这个项目的时候，是由于发现了一个叫PjSIP的开源SIP协议栈，实现上要比OSIP成熟许多，用它来开发SIP应用也更简单方便，我就考虑基于PjSIP来做一个SIP软电话原型。
我选择用C++语言来实现，原因是我想要在这个项目中实现一些通用机制，C++语言比那些解释语言更适于底层开发，]]></description><category></category></item><item><title><![CDATA[iad-simulator项目设计介绍（一个基于Python的IAD终端模拟器）]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/12219465</link><guid>https://blog.youkuaiyun.com/gary531/article/details/12219465</guid><author>gary531</author><pubDate>Tue, 01 Oct 2013 06:14:42 +0800</pubDate><description><![CDATA[一、源码路径
https://github.com/weiganyi/iad-simulator
 
二、背景
我在工作中有时会要拿我们的IAD产品去对接一些异常SIP报文，通常是用一些UDP发包工具（如UDP Test Tool）来模拟给IAD发SIP异常报文。这种方法一方面没办法把SIP信令流程串起来，因为SIP发送和接收消息的一些字段有依赖关系，另一方面定制过的消息没法保存下来供下次]]></description><category></category></item><item><title><![CDATA[浅析嵌入式Linux系统的构成和启动过程]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/11561859</link><guid>https://blog.youkuaiyun.com/gary531/article/details/11561859</guid><author>gary531</author><pubDate>Wed, 11 Sep 2013 14:08:19 +0800</pubDate><description><![CDATA[在我们的周围，大量的嵌入式设备都是基于Linux系统来构建的，嵌入式Linux与主机Linux相比有着自己的一些特点，本文就嵌入式Linux系统的构成和启动过程做一些总结。
 一、嵌入式Linux系统构成



上图是一个嵌入式Linux系统的典型结构，划分成了4个区：
1、Bootloader区存放的是Bootloader，它负责嵌入式系统最初的硬件初始化、驱动和内核加载。
2、参]]></description><category></category></item><item><title><![CDATA[ACE框架解读 - 特性篇]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/11347823</link><guid>https://blog.youkuaiyun.com/gary531/article/details/11347823</guid><author>gary531</author><pubDate>Sat, 07 Sep 2013 18:04:24 +0800</pubDate><description><![CDATA[ACE是一个很著名的网络服务开发框架，最近学习它，发现里面有一些框架特有的概念，下面我就对这些概念的理解做一下总结。 


1、网络接口的C++包装
通过给网络编程API进行外观模式的封装，向用户提供简单的网络接口对象，简化用户编程。 


2、OS并发机制的OO封装
封装了操作系统的锁对象，并且通过智能指针把锁对象封装起来，以实现在函数任意地方退出时的锁对象自动释放。]]></description><category></category></item><item><title><![CDATA[ACE框架解读 - 源码篇]]></title><link>https://blog.youkuaiyun.com/gary531/article/details/11334405</link><guid>https://blog.youkuaiyun.com/gary531/article/details/11334405</guid><author>gary531</author><pubDate>Sat, 07 Sep 2013 10:07:53 +0800</pubDate><description><![CDATA[最近学习ACE框架的源码，先考虑选取最新版本ACE6.0来阅读，但是发现代码量有30多万行，规模太大了花的时间会比较多，所以考虑选取旧一些的版本，最后选取ACE4.5版本来阅读，代码量13万行比较适中。
下面是我学习时的一些总结，把所有的目录和文件列出来，并针对每个文件里的主要类及其实现，根据自己的理解作了一些总结。




文件


总结




[CORBA]]]></description><category></category></item></channel></rss>