<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lionlins的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lionlins</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lionlins]]></copyright><item><title><![CDATA[ssl 栈]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/144590619</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/144590619</guid><author>lionlins</author><pubDate>Thu, 19 Dec 2024 17:26:34 +0800</pubDate><description><![CDATA[()?()]]></description><category></category></item><item><title><![CDATA[【Linux】 源码安装]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/129382790</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/129382790</guid><author>lionlins</author><pubDate>Tue, 07 Mar 2023 15:06:58 +0800</pubDate><description><![CDATA[Linux源码安装]]></description><category></category></item><item><title><![CDATA[SSH-keygen用法]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/129301884</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/129301884</guid><author>lionlins</author><pubDate>Thu, 02 Mar 2023 15:30:29 +0800</pubDate><description><![CDATA[ssh-keygen]]></description><category></category></item><item><title><![CDATA[详解MySQL---DDL语句、DML语句与DCL语句]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/128806839</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/128806839</guid><author>lionlins</author><pubDate>Mon, 30 Jan 2023 18:21:02 +0800</pubDate><description><![CDATA[DDL,DML,DCL]]></description><category></category></item><item><title><![CDATA[浮点数在计算机中存储方式]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/120329270</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/120329270</guid><author>lionlins</author><pubDate>Thu, 16 Sep 2021 15:08:00 +0800</pubDate><description><![CDATA[作者： jillzhang

联系方式：jillzhang@126.com

 本文为原创，转载请保留出处以及作者， 谢谢

 C语言和C#语言中，对于浮点类型的数据采用单精度类型（float）和双精度类型(double)来存储，float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候，是如何分配内存的呢？如果胡乱分配，那世界岂不是乱套了么，其实不论是float还是double在存储方式上都是遵从IEEE的规范的，float遵从的...]]></description><category></category></item><item><title><![CDATA[单元测试框架GoogleTest]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/120194913</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/120194913</guid><author>lionlins</author><pubDate>Thu, 09 Sep 2021 09:57:00 +0800</pubDate><description><![CDATA[单元测试框架GoogleTest

前段时间学习和了解了下Google的开源C++单元测试框架Google Test，简称gtest，非常的不错。 我们原来使用的是自己实现的一套单元测试框架，在使用过程中，发现越来越多使用不便之处，而这样不便之处，gtest恰恰很好的解决了。

其实gtest本身的实现并不复杂，我们完全可以模仿gtest，不断的完善我们的测试框架， 但最后我们还是决定使用gtest取代掉原来的自己的测试框架，原因是：

1.不断完善我们的测试框架之后就会发觉相当于把gtest重新做了一遍，]]></description><category></category></item><item><title><![CDATA[各种排序算法的稳定性和时间复杂度小结]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/16798475</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/16798475</guid><author>lionlins</author><pubDate>Mon, 18 Nov 2013 02:21:12 +0800</pubDate><description><![CDATA[选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法，
冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法。



冒泡法： 
这是最原始，也是众所周知的最慢的算法了。他的名字的由来因为它的工作看来象是冒泡： 复杂度为O(n*n)。当数据为正序，将不会有交换。复杂度为O(0)。

直接插入排序：O(n*n)

选择排序：O(n*n)

快速排序：平均时间复杂度log2]]></description><category></category></item><item><title><![CDATA[capwap DTSL 加密分析]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/13290443</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/13290443</guid><author>lionlins</author><pubDate>Mon, 28 Oct 2013 11:35:03 +0800</pubDate><description><![CDATA[capwap DTSL 加密分析


1、概述
DTLS即Datagram Transport Layer Security （RFC4347），AP加入AC前，先进行DTLS验证，当AP与AC之间的DTLS握手成功后，AP发出Join请求开始请求加入。这个过程里面的所有报文均为加密报文。以下为报文格式（摘自RFC5418）：
                        
在我们的]]></description><category></category></item><item><title><![CDATA[strcpy完整版 与 strcpy为什么有返回值]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8907431</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8907431</guid><author>lionlins</author><pubDate>Thu, 09 May 2013 20:23:07 +0800</pubDate><description><![CDATA[一个标准的strcpy函数：
原本以为自己对strcpy还算比较了解，结果面试时还是悲剧了。
下面给出网上strcpy的得分版本：
2分




void strcpy( char *strDest, char *strSrc )
{
　 while( (*strDest++ = * strSrc++) != '\0’ );
}





　　4分]]></description><category></category></item><item><title><![CDATA[object_id (N'...')是什么意思？]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8721791</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8721791</guid><author>lionlins</author><pubDate>Tue, 26 Mar 2013 14:44:41 +0800</pubDate><description><![CDATA[这句话是什么意思？if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPer
请问：if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PerPersonData]') and OBJECTPROPERTY(id,]]></description><category></category></item><item><title><![CDATA[一个AJAX的缓存策略]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8706551</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8706551</guid><author>lionlins</author><pubDate>Fri, 22 Mar 2013 15:17:29 +0800</pubDate><description><![CDATA[AJAX应用有能力使得（我们）通过后台的HTTP连接获取小批量的信息，这是现代浏览器API必须装备的强大的工具。对于大多数的浏览器（例如，Firefox 1.5, Safari 2.0, Opera 8.5），这个任务背后的引擎是Windows对象的XMLHttpRequest (XHR)对象。Internet Explorer 5.5-6对于这个对象有不同的表述，例如，XMLHttp，但是IE]]></description><category></category></item><item><title><![CDATA[关于ajax在IE下缓存的问题]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8706453</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8706453</guid><author>lionlins</author><pubDate>Fri, 22 Mar 2013 15:00:33 +0800</pubDate><description><![CDATA[采用AJAX技术的时候 通常我们无刷新页面提交数据后 用同样的url去获取数据的时候会发现是以前的数据~那样就给client端带来假象了~~ 采用以下的方法可以取消缓存 

htm网页  
  
  
  
或者  
asp网页  
response.expires=-1  
response.expiresabsolute=now()-1  
response.cacheco]]></description><category></category></item><item><title><![CDATA[dom4j生成FusionChart所需xml字符串]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8701271</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8701271</guid><author>lionlins</author><pubDate>Thu, 21 Mar 2013 14:39:57 +0800</pubDate><description><![CDATA[见识fusionChart的强大，遂将其与java结合，利用dom4j的强大功能生成fusionChart所需的xml字符串

柱状图已测试。

深夜撰写，转载请注明出处！(yinmang)

public static void main(String[] args) {

Document doc = DocumentHelper.createDocument();
doc.]]></description><category></category></item><item><title><![CDATA[Struts2 中的数据传输]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8694450</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8694450</guid><author>lionlins</author><pubDate>Wed, 20 Mar 2013 00:36:21 +0800</pubDate><description><![CDATA[1. 如何将参数从界面传递到Action？

你可以把Struts2中的Action看做是Struts1的Action+ActionForm，即只需在Action中定义相关的属性（要有getters/setters方法），然后界面传参的名称跟这些属性保持一致即可。普通的数据类型，将可自动转换。(空字符串转换为int类型时将报错)


2. 如何将数据从Action传输到JSP？

可]]></description><category></category></item><item><title><![CDATA[Struts2数据传输的背后机制：ValueStack（值栈）]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8694448</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8694448</guid><author>lionlins</author><pubDate>Wed, 20 Mar 2013 00:34:42 +0800</pubDate><description><![CDATA[1. 数据传输背后机制：ValueStack(值栈)



在这一切的背后，是因为有了ValueStack（值栈）！


ValueStack基础：OGNL

要了解ValueStack，必须先理解OGNL(Object Graphic Navigatino Language)！

OGNL是Struts2中使用的一种表达式语言，它可以用于JSP的标签库中，以便能够方便的访问]]></description><category></category></item><item><title><![CDATA[webwork中,action 中变量的取得]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8693677</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8693677</guid><author>lionlins</author><pubDate>Tue, 19 Mar 2013 21:13:37 +0800</pubDate><description><![CDATA[Action文件:
import com.opensymphony.xwork.ActionSupport;


public class HelloWebWorldAction 
extends ActionSupport { 
String hello; 
public String getHello() {

return hello; 
}
public String]]></description><category></category></item><item><title><![CDATA[js中top、parent、frame]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8674193</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8674193</guid><author>lionlins</author><pubDate>Thu, 14 Mar 2013 17:20:51 +0800</pubDate><description><![CDATA[引用方法top：
该变量永远指分割窗口最高层次的浏览器窗口。如果计划从分割窗口的最高层次开始执行命令，就可以用top变量。
parent：
该变量指的是包含当前分割窗口的父窗口。如果在一个窗口内有分割窗口，而在其中一个分割窗口中又包含着分割窗口，则第2层的分割窗口可以用parent变量引用包含它的父分割窗口。
附：Window对象、Parent对象、Frame对象、Document对象和F]]></description><category></category></item><item><title><![CDATA[Web开发系列 - EcSide]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8662805</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8662805</guid><author>lionlins</author><pubDate>Tue, 12 Mar 2013 11:19:14 +0800</pubDate><description><![CDATA[ecside介绍：
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
ecside是一个开源的列表组件。
他源自著名开源列表组件 eXtremeComponents （http://www.extremecomponents.org），
但现在已经脱离eXtremeComponents,独立发展（仍有大量代码来自 eXt]]></description><category></category></item><item><title><![CDATA[如何使用ECSide列表组件构建列表（内附源码）]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8662374</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8662374</guid><author>lionlins</author><pubDate>Tue, 12 Mar 2013 10:08:17 +0800</pubDate><description><![CDATA[说在前面的话： 
ECSide组件，一个功能丰富,简单易用的列表组件，套用圈子里的一句话：它可能不是最好的，但也许是你最需要的。感兴趣的同志们可以访问ECSide的圈子，里面的资源及文档都很丰富，不在这里做过多的介绍了，圈子地址为http://ecside.group.javaeye.com/
 
实例讲解： 
实现从一张公告表读取公告信息并以列表展示的功能。本文中的源代码可通过这个链接下]]></description><category></category></item><item><title><![CDATA[Action中使用session]]></title><link>https://blog.youkuaiyun.com/lionlins/article/details/8660488</link><guid>https://blog.youkuaiyun.com/lionlins/article/details/8660488</guid><author>lionlins</author><pubDate>Mon, 11 Mar 2013 18:54:49 +0800</pubDate><description><![CDATA[在Struts2里，如果需要在Action中使用session，可以通过下面两种方式得到
   
1.通过ActionContext 
class中的方法getSession得到   
2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作   
下面先看一个采用第一种方式，在action中得到ses]]></description><category></category></item></channel></rss>