<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[积累与分享]]></title><description><![CDATA[技术与生活]]></description><link>https://blog.youkuaiyun.com/pengluer</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; pengluer]]></copyright><item><title><![CDATA[统计代码行数]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/78521796</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/78521796</guid><author>pengluer</author><pubDate>Mon, 13 Nov 2017 16:38:06 +0800</pubDate><description><![CDATA[find . "(" -name "*.java" -or -name "*.html" -or -name "*.xml" ")" -print | xargs wc -l]]></description><category></category></item><item><title><![CDATA[JSP九大内置对象及四个作用域]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/55518369</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/55518369</guid><author>pengluer</author><pubDate>Fri, 17 Feb 2017 17:51:12 +0800</pubDate><description><![CDATA[JSP九大内置对象及四个作用域
九大内置对象  类型
  说明
  类类型
  作用域  request
  请求对象
  javax.servlet.ServletRequest
  Request
  response
  响应对象
  javax.servlet.ServletResponse
  Page
  pageContext
  页面上下文对象
  javax.servlet.Pag]]></description><category></category></item><item><title><![CDATA[linux必备工具]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/39989673</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/39989673</guid><author>pengluer</author><pubDate>Sat, 11 Oct 2014 10:18:14 +0800</pubDate><description><![CDATA[1.官方源中的软件（可以通过apt-get install直接安装）：

apt-get install gnome-tweak-tool

（gnome-shell管理软件可以修改字体、管理插件、管理桌面主题。必备！）

 

apt-get install  gdebi

(有了这个安装软件就不用在终端中dpkg -i 安装了，提供图形化软件安装方式)

 

ap]]></description><category></category></item><item><title><![CDATA[Squid - Ubuntu中文]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/38496473</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/38496473</guid><author>pengluer</author><pubDate>Mon, 11 Aug 2014 18:01:47 +0800</pubDate><description><![CDATA[wiki.ubuntu.com.cn/Squid]]></description><category></category></item><item><title><![CDATA[简单而又深刻的认识：原码、补码、反码]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/26447121</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/26447121</guid><author>pengluer</author><pubDate>Wed, 21 May 2014 09:38:52 +0800</pubDate><description><![CDATA[反码，补码
       反码和补码的目的就是为了解决负数的问题
       在计算机内，定点数有3种表示法：原码、反码和补码


       所谓原码就是前面所介绍的二进制定点表示法，即最高位为符号位，“0”表示正，“1”表示负，其余位表示数值的大小。




反码表示法规定：正数的反码与其原码相同；负数的反码是对其原码逐位取反，但符号位除外。

补码表示法规定：正数]]></description><category></category></item><item><title><![CDATA[Ubuntu12.04安装及环境配置总结]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8830034</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8830034</guid><author>pengluer</author><pubDate>Sun, 21 Apr 2013 01:47:43 +0800</pubDate><description><![CDATA[安装介质：
U盘： 使用linux live usb creator软件将U盘打造成安装“光盘”

1 常用工具与系统安装
（1）删除Unity工具，用回Gnome
sudo apt-get install gnome-sessioin-fallback
注销重新登陆
（2）在官网下载deb包或在软件中心安装Dropbox, Mendely, Truecrypt，Calibre管理电]]></description><category></category></item><item><title><![CDATA[recv 和 recvfrom的区别]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8812333</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8812333</guid><author>pengluer</author><pubDate>Wed, 17 Apr 2013 09:42:53 +0800</pubDate><description><![CDATA[recv 和 recvfrom的区别

recv
不等待是因为使用的是非阻塞socket，换而使用阻塞socket一样需要等待。
recvfrom
同理，也可以使用非阻塞方式


recv的recvfrom是可以替换使用的
只是recvfrom多了两个参数，可以用来接收对端的地址信息，这个对于udp这种无连接的，可以很方便地进行回复。
而换过来如果在udp当中也使用recv，那]]></description><category></category></item><item><title><![CDATA[C++继承中构造函数调用顺序]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8801358</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8801358</guid><author>pengluer</author><pubDate>Sun, 14 Apr 2013 21:37:06 +0800</pubDate><description><![CDATA[////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

简单单继承

class Y {...}
class X : public Y {...}
X one;
构造函数的调用顺序是下面的顺序：]]></description><category></category></item><item><title><![CDATA[VMware - support  Cut, Copy, or Paste to and from VM's]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8797454</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8797454</guid><author>pengluer</author><pubDate>Sat, 13 Apr 2013 17:15:57 +0800</pubDate><description><![CDATA[前提，安装好vmware-tools
如图即可


更详细可见：http://www.petenetlive.com/KB/Article/0000515.htm]]></description><category></category></item><item><title><![CDATA[archlinux 2013-01-04版，最完整的个性化安装与配置大全]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8786073</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8786073</guid><author>pengluer</author><pubDate>Thu, 11 Apr 2013 01:13:59 +0800</pubDate><description><![CDATA[archlinux 2013-01-04版，最完整的个性化安装与配置大全
还是先上图：


启动安装的方法不再多啰嗦，进入安装界面后：
1、cfdisk
进行磁盘分区。这里有两个要点，一是注意分区的磁盘格式，二是指定了格式之后，记得要执行“写入”。
退出磁盘分区后对分区进行格式化。以我的磁盘分区为例，如下：
2、mkfs.ext4 /dev/sda7
3、mkfs.ext4 /d]]></description><category></category></item><item><title><![CDATA[C++类的继承机制]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8741328</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8741328</guid><author>pengluer</author><pubDate>Sat, 30 Mar 2013 22:52:54 +0800</pubDate><description><![CDATA[C++类属性：
public
修饰类，表示为公共类，在程序任何地方可见；
修饰类成员，该成员可以被该类访问（所有修饰都可以被该类访问，后面不再赘述），可以被该类实例化的对象访问；

private
修饰类，表示为私有类，不常见，我没用过；
修饰类成员，该成员可以被该类的成员函数访问，不可以被该类的实例化对下直接访问；


protected
修饰类，表示为保护类型的类，限定只]]></description><category></category></item><item><title><![CDATA[C++ 友元]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8741109</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8741109</guid><author>pengluer</author><pubDate>Sat, 30 Mar 2013 21:25:21 +0800</pubDate><description><![CDATA[友元函数(friend function)
1. 什么是友元函数?
    一个类的私有数据成员通常只能由类的函数成员来访问，而友元函数可以访问类的私有数据成员，也能访问其保护成员
2. 友元函数的用处体现在哪里?
    2.1 使用友元函数可提高性能，如：用友元函数重载操作符和生成迭代器类
    2.2 用友元函数可以访问两个或多个类的私有数据，较其它方法使人们更容易理解程序的逻辑]]></description><category></category></item><item><title><![CDATA[类的私有成员变量和私有成员函数]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8740899</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8740899</guid><author>pengluer</author><pubDate>Sat, 30 Mar 2013 20:22:26 +0800</pubDate><description><![CDATA[私有成员变量：

类的对象不能直接访问类声明的私有成员变量，否则破坏了信息隐藏的目的。 
对象需要调用类的成员函数，达到访问类私有成员变量的目的。
私有成员函数：

一般属于internal的函数，被类中其他函数所调用，不对外提供接口。
类对象是无法直接访问，也不应该直接访问。

在C++中，为了防止某些数据成员或成员函数从外部被直接访问，可以将它们声明为private，这样编译]]></description><category></category></item><item><title><![CDATA[编写程序制作QR Code二维条码名片]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8691117</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8691117</guid><author>pengluer</author><pubDate>Tue, 19 Mar 2013 12:41:35 +0800</pubDate><description><![CDATA[编写程序制作QR Code二维条码名片
QR Code二维条码名片首先是以两个特殊字符打头，第一个字符的ASC码值为1，第二个字符的ASC码值为16，用C语言风格的转义字符表示，则是："\x01\x10"，然后接下来的内容是（实际数据不分行，下面分行只是为了描述方便）：

CARD:N:姓名;TIL:职位头衔;DIV:部门;COR:公司名称;
ADR:地址;ZIP:区号;
TEL:电话如]]></description><category></category></item><item><title><![CDATA[网络校验和计算]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8685574</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8685574</guid><author>pengluer</author><pubDate>Mon, 18 Mar 2013 08:29:31 +0800</pubDate><description><![CDATA[1. 前言

校验和计算是NAT功能和内容修改功能的基本功，这些操作进行后都需要修改数据头中的校验和。

2. 16位校验和计算

2.1 基本原理 
IP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的，采用的都是将数据流视为16位整数流进行重复叠加计算。为了计算检验和，首先把检验和字段置为0。然后，对有效数据范围内中每个16位进行二进制反码求和，结果存在检验和字段]]></description><category></category></item><item><title><![CDATA[ICMP类型]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8682478</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8682478</guid><author>pengluer</author><pubDate>Sat, 16 Mar 2013 23:01:16 +0800</pubDate><description><![CDATA[ICMP类型



TYPE
CODE
Description
Query
Error




0
0
Echo Reply——回显应答（Ping应答）
x
 


3
0
Network Unreachable——网络不可达
 
x


3
1
Host Unreachable——主机不可达
 
x


3
2
Protoc]]></description><category></category></item><item><title><![CDATA[在Visual Studio 2005下配置WinPcap开发环境]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8679928</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8679928</guid><author>pengluer</author><pubDate>Fri, 15 Mar 2013 23:26:42 +0800</pubDate><description><![CDATA[在Visual Studio 2005下配置WinPcap开发环境

http://www.winpcap.org/archive/ 4.1beta5_WpdPack.zip

http://www.winpcap.org/archive/ 4.1beta5_WinPcap.exe

1、安装 winpcap:

      如果没安装这个包，程序即使编译成功也不能运行，会提示找不]]></description><category></category></item><item><title><![CDATA[从RTP到ORTP]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8663470</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8663470</guid><author>pengluer</author><pubDate>Tue, 12 Mar 2013 14:15:32 +0800</pubDate><description><![CDATA[最近使用RTP传语音，使用的是ortp协议栈，没想到在接收的时候收不到数据包，调了半天也没有结果，一怒之下索性废掉了ortp，直接实现rtp。

      老实说，自己实现rtp还是比较简单的。分为接收和发送，接收的时候直接去掉12个字节的报头，然后向下送。而发送的时候稍微麻烦点，我的实现手法如下：


初始化报头：
      char rtppacket[172] = {0x80]]></description><category></category></item><item><title><![CDATA[makefile笔记]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8547844</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8547844</guid><author>pengluer</author><pubDate>Mon, 28 Jan 2013 10:13:54 +0800</pubDate><description><![CDATA[make
-k:即使make程序出错也继续向下运行
-n:将原来执行的命令输出，而不执行
-f:指定makefile的文件名称
-p:打印出系统缺省定义的内部规则


下面放我项目中的一个比较详细的Makefile文件：
#**************************************************************************
#]]></description><category></category></item><item><title><![CDATA[[笔记]Makefile wildcard]]></title><link>https://blog.youkuaiyun.com/pengluer/article/details/8544467</link><guid>https://blog.youkuaiyun.com/pengluer/article/details/8544467</guid><author>pengluer</author><pubDate>Sat, 26 Jan 2013 13:45:11 +0800</pubDate><description><![CDATA[makefile 里的函数跟它的变量很相似——使用的时候，你用一个 $ 符号跟开括号，函数名，空格后跟一列由逗号分隔的参数，最后用关括号结束。例如，在
 GNU Make 里有一个叫 'wildcard' 的函 数，它有一个参数，功能是展开成一列所有符合由其参数描述的文件名，文件间以空格间隔。你可以像下面所示使用这个命令：
 SOURCES = $(wildcard *.c) 这行会产生一个所]]></description><category></category></item></channel></rss>