自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(31)
  • 资源 (110)
  • 收藏
  • 关注

原创 主战场在这里

这里不是主战场,主战场在这里: http://www.jyguagua.com勤奋的小青蛙 单片机,Linux,Web,IT个人博客站点

2013-04-30 17:45:43 735

原创 RedHat NFS环境搭建_学习备忘

NFS服务简介NFS是Network FileSystem的缩写,即网络文件系统。NFS是由Sun开发并发展起来的一项用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS server也可以看作是一个FILE SERVER,用于在UNIX类系统之间共享文件,可以轻松的挂载(mount)到一个目录上,操作起来就像本地文件一样的方便。服务器端配置在Redhat Linux下N

2013-04-30 17:45:41 661

原创 Ubuntu 10.10安装Eclipse

参考文章1来源于:http://www.linuxdiyf.com/viewarticle.php?id=171268参考文章2来源于:http://www.enet.com.cn/article/2008/0828/A20080828351133.shtml参考文章3来源于:http://www.fengying.org/system/Linux/2010110810453.html

2013-04-30 17:45:39 685

原创 Flv在线播放器

学习备注,分享:参考:http://yeegoo.blog.163.com/blog/static/29051050200941944638496/ 测试播放器效果  Flvplayer.rar (61 KB)下载次数: 14

2013-04-30 17:45:36 672

原创 jQuery新闻列表动态显示效果

这个效果在很多论坛,贴吧上应用,我给整理了下,将最简单的demo做出,仅作札记学习备用。效果图如下:   只显示3(可控制)个,每条新闻动态下落 均测试过:兼容IE6、7、8,FF。源代码如下:引入jQuery.js;其中text.js如下$(function(){ var t = 2000 ; var g = 0 ; //k定义显示多少条

2013-04-30 17:45:34 1178

原创 Ubuntu 10.10 3D效果

记录学习:参考:http://www.ylmf.net/ubuntu/tips/201011048478.html一、设置Ubuntu 10.10下的3D效果前配置  说到特效,往往第一感觉都是显卡要牛逼,内存要大。但是在Ubuntu时,特效的要求远远没有Windows里变态。在Ubuntu里集成显卡一样可以感受到梦幻般的桌面特效,兴奋吧,那就开始准备一下吧:  首先确保你的显卡驱

2013-04-30 17:45:32 655

原创 js时间

function initArray(){  for(i=0;i  this[i]=initArray.arguments[i];}var isnMonths=new initArray("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");var isnDays=new initArray("星期日

2013-04-30 17:45:30 624

原创 编程语言

今天整理其他的博客,找到自己大学期间做的一个Swing版的记事本,很简单,但是觉得值得留个纪念,就贴这里了。界面如下: 源代码如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import javax.swing.JPopupMenu;impo

2013-04-30 17:45:28 663

原创 simplemodal 弹出对话框

今天小小的摸索了下simplemodal,用着挺不错的,官方地址是:http://www.ericmmartin.com/projects/simplemodal/#examples我自己做个小小的demo,留个纪念。simplemodal.rar (75.1 KB)下载次数: 74

2013-04-30 17:45:26 615

原创 head区的其他设置

参考:http://www.w3cn.org/article/step/2004/30.html 这些技巧主要讲meta标签设置的,其实与符合web标准关系不大,只要注意在最后加"/"关闭标签就可以,但是既然是入门教程,就写得详细一点吧。收藏夹小图标如果你将本站加入收藏夹,可以看到在收藏夹网址之前的IE图标变成了本站特别的图标。要实现这样效果很简单,首先制作一个16x16的icon

2013-04-30 17:45:24 606

原创 event.keyCode与event.which及FF下对event.keyCode支持

IE下JS可以使用event.keyCode.但是在FF下则不行。只能使用event.which.这样就可以用这样的格式来判断if (event.which == null                     keyCode= event.keyCode;    // IE               else if (event.which > 0)

2013-04-30 17:45:22 877

原创 VIM编辑教程(转载)

标题: VIM教程 坛子上有很多关于VI的教程但不是很系统故发此帖,VI与VIM的命令差不多希望对大家有所帮助这是从VIM的系统教程中复制过来的你也可以运行代码:$ vimtutor就会出来和下面一样的教程。本教程只是为了简明地介绍一下vim编辑器,但已足以让您很容易学会使用本编辑器了。毋庸质疑,Vim还有很多很多的命令,本教程

2013-04-30 17:45:20 858

原创 css margin值 学习备注

参考:http://www.w3school.com.cn/css/pr_margin.asphttp://www.w3school.com.cn/css/css_margin.asp定义和用法margin 简写属性在一个声明中设置所有外边距属性。该属性可以有 1 到 4 个值。说明这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度。块级元素的垂直相邻

2013-04-30 17:45:17 610

原创 CSS选择器(学习备忘)

Css选择器常用5种类型: 1:标签选择器,例如p { font:12px;}em { color:blue;}dl { float:left; margin-top:10px;} 2:id选择器定义一个层:对这个层加入样式:#menubar {margin:0 auto; background:#ccc; color:#c00;}

2013-04-30 17:45:15 618

原创 Ruby on Rails环境搭建笔记

历经一天的摸索,终于把Ruby on Rails的环境给搭建起来了。看似简单,其实中间我还真遇到不少问题。之前一直做Grails,没接触过ROR,听说Grails是从ROR全部学过来的,今天弄好之后,发现果然如此,不过现在比较起来,还是Grails对java开发者上手更快。ROR搭建过程,其实一点都不难,要说遇到问题,可能就是今天我忙活一天才给通融好的版本匹配问题。下面的图片是我搭建成功后

2013-04-30 17:45:13 1010

原创 JS操作option

删除select中的所有OPTIONdocument.getElementById("select的ID").options.length = 0;为select添加一个optiondocument.getElementById("select的ID").options.add(new Option(text,value));移除一个指定的OPTIONdocument.getE

2013-04-30 17:45:11 570

原创 SpringSourceTool Suite 2.3.3.集成Grails开发

SpringSource Toolsuite下载地址,需要简单填个信息,免费的。http://www.springsource.com/products/springsource-tool-suite-download然后就是一步步安装了,很简单,这里省略。下面就介绍打开STS工具后,怎么去集成Grails。1:点击Help-->Dashboard; 2:点击扩展;

2013-04-30 17:45:09 580

原创 Extjs+Grails教程系列2(Extjs组件大致介绍)

教程1补充:如果跟着教程1做完后,你肯定会既激动又纳闷,网页里面的脚本到底是什么意思?比如Ext.onReady(function(){...}) ;这个Ext.onReady()意思就是只有在Ext框架全部加载完后才能在客户端的代码中使用Ext,而Ext的onReady正是在Ext框架及页面的html代码加载完后用来注册所要执行的函数。具体参考信息的话,大家可以参考这里:1:ht

2013-04-30 17:45:07 816

原创 Extjs+Grails教程系列1(Extjs环境搭配及HelloWorld程序)

这一些列的博文,权当是我对自己学Extjs的路子的一个回顾总结了。如今,在上海这家公司,我学了两个星期,把Extjs学了差不多,后来跟着工程师多多少少的积累了很多Extjs这块的经验,现在准备写篇系列博文,将自己学Extjs的历程分享给大家。由于本人涉世不深,难免诸多错误,所以,文章的Bug,还请各路高手不吝指出,谢谢。    Extjs简介:http://baike.baidu.com/vi

2013-04-30 17:45:05 944

原创 自己遭遇不幸

没毕业的时候,我在上海开始找工作,刚开始接到的是SoftVan的offer,之前在学校的时候,这个公司一直通知我去面试,说的意思就是可能直接上班,因为我是通过一个培训部门过去的,我的技术还不错对于其他应届生,至少java的SSH我是用着够熟练的。可是,当我赶过去那家公司的时候,前台竟然说没有此事,我很生气,看来网上对此公司的评价是一点都不假。后来,没办法,再接着找,一个晚上,我在网吧采用海投战略,

2013-04-30 17:45:02 608

原创 最快捷测试Ext对象属性的方法

最快捷测试Ext对象属性的方法1:前言你已经听过Ext,在网上也看了很多例子,而且决定从读API开始学习Ext。好吧,我们言归正传,你渴望去学习演示Ext,但是,如果我们没有一个服务器,或者一个环境去演示,那我们怎么办?现在,我就告诉你。2:准备你研究了API并且你看到了很多有趣的方法你想去立马试试,但是,你总不希望就为了看那一点的功能,我得把Ext的所有的可用的配置搭建起来,仅仅

2013-04-30 17:45:00 842

原创 Permission denied to access property 'dom' from a non-chrome context

这几天在做Ext的时候,用firefug调试程序的时候老是提示错误,错误信息如下:Permission denied to access property 'dom' from a non-chrome context上网google了一下,中文的解析没找到,经过一番折腾,在一个老外的帖子里了解到一知半解。似乎只是firefug的的一个bug,3.5版本的火狐就会有这个问题,由于网

2013-04-30 17:44:58 970

原创 Ext的datefield在火狐下面显示过长解决办法

在页面CSS中加入如下代码即可解决.x-date-middle{padding-top:2px;padding-bottom:2px;width:130px;}

2013-04-30 17:44:56 648

原创 Intellij9中Grails环境搭建

最近学习Grails,发现网上关于Intellij9中关于Grails的环境搭建的文章真的很少,有也是一些Intellij7的版本的关于Grails的环境搭建,后来经过我的琢磨,终于给整合了出来,下面给大家看下,仅供参考:首先是安装Intellij9,中间的具体过程有省略 至此,我们的Intellij9安装完成了,我们新建立一个项目,选择Create New Project

2013-04-30 17:44:54 585

原创 解决Address Already in use:JVM_Bind错误

这段时间,接触了些Grails框架编程,而且我也在学习SSH的框架。因为Grails框架本身也是默认使用Tomcat的8080端口进行服务,这样一来,我时常在MyEclipse或者在Grails开发工具中发生这样的错误,即:Address already in use...情况如下图这个问题的解决办法是:开始菜单运行输入:cmd,打开命令提示符,接着输入:netstat -ano

2013-04-30 17:44:52 691

原创 Struts2中多文件上传

文件上传大体我给分这么几步。1:在WEB-INF/lib下面添加commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,这两个文件全部在Struts2提供的lib包下面;2:在文件上传的表单处做设置,将form表单的enctype设置成为:“multipart/form-data”,提交方式设置为post;3:做Action。具体代码如下:

2013-04-30 17:44:50 541

原创 Struts2校验学习

最近学习了Struts2的输入校验,然后自己总结了下,以后可能还会回头看看自己的学习札记,就当给复习做个准备了。对于输入校验,Struts2提供了两种方式,1:采用手工编写代码实现;2:基于XML配置方面实现 。 1:采用手工编写代码实现。通过继承ActionSupport类,然后重写vlidate方法,validate方法会校验跟execute同样签名的方法,当某个数据校验失败时

2013-04-30 17:44:48 595

原创 开发板ping不通虚拟机或者Looking up port of RPC 100005/1 on 192.168.1.x解决办法

假如开发板ping不通虚拟机或者无法挂载nfs网络根文件系统的话,首先一定要检查下系统的设置,这个很多人折腾到最后发现竟然是一开始的系统设置导致的,不免浪费了很多时间.在调试nfs网络根文件系统前,一定要注意如下几点:1:windows系统防火墙一定要关闭!!2:Linux系统,也就是宿主机的防火墙一定要关闭!!3:还有就是windows下的各种杀毒软件,安全卫士之类的系统软件,一定要

2013-04-25 14:59:38 1327

原创 Qt采用Qextserialport 接收发送16进制数据

为了配合项目的使用,需要写个Qt的串口工具,后来发现Qextserialport 这个库很强大,参考网络霍亚飞的一篇doc,很快就搞定了界面以及基本的一些功能,不过由于项目里面需要16进制的数据收发,所以,需要支持16进制的收发,百度+谷歌下,搞定了,代码贴下,只贴核心代码:接收16进制://串口接收数据void YComWindow::readYpfCom() { QByteA

2013-03-04 17:18:36 3559 1

原创 Qt动态进度条[根据值大小改变进度]

首先看下效果图:部分核心代码如下:类声明:class psshowslider : public QFrame{ Q_OBJECTpublic: explicit psshowslider(QWidget *parent = 0); ~psshowslider(); //设置最大值 void setMaxValue(double

2012-11-23 09:32:16 6165 5

原创 Qt制作的动态颜色渐变表盘

项目里面需要一个控制流速的表盘,最大速度为40ml/s,然后经过我的一番努力,画了个表盘,然后可以根据速度所占最大速度的比例,动态显示表盘,颜色渐变.中间用到了颜色渐变,还有Qt 2D绘图的一些小技巧,大家可以参考下.源代码下载:http://www.jyguagua.com/?p=623在博文的下角处有下载地址.

2012-10-21 18:00:35 5268 5

Cython封装C++代码示例

参考Cython官方文档编写而来的一个Cython封装C++的示例demo,可入门学习。

2017-03-22

综合交易平台CTP Linux Double Free解决方案

CTP开发中,如果把Trade,Market的so放在一起开发,如果不做处理,会遇到double free or corruption(!prev)的错误,基本如下: *** glibc detected *** ./bin/quant_ctp_XTrader_no_debug_2017-03-16_15-36-20: double free or corruption (!prev): 0x0000000001d71120 *** ======= Backtrace: ========= /lib64/libc.so.6[0x32b4a75f3e] /lib64/libc.so.6[0x32b4a78dd0] /usr/lib64/libthosttraderapi.so(+0x184612)[0x7f3d1e503612] /lib64/libc.so.6(__cxa_finalize+0x9d)[0x32b4a35e7d] /usr/lib64/libthosttraderapi.so(+0x104b46)[0x7f3d1e483b46] 开发中我也遇到该问题,后辛苦找到解决办法。方案附送在该附件里,仅供参考。 仅供参考!仅供参考!仅供参考! 重要的事情说三遍! 使用此代码引起的任何损失,笔者不承担任何责任。

2017-03-16

laravel up and running a framework for building modern php apps

《laravel up and running a framework for building modern php apps》英文版 Laravel版本:Laravel 5

2017-01-17

Modern PHP+PHP Programming两本经典书籍必藏

内含两本电子书:《Modern PHP中文版(美)洛克哈特著_完整目录.pdf》+《PHP编程_第3版 高清带书签.pdf》

2016-12-15

Laravel 5.x for beginners

三本电子书,Laravel初学者强烈推荐的tutorial laravel_tutorial.pdf, laravel-5-2-for-beginners-laraboot.pdf, laravel-5-3-for-beginners.pdf 辛苦收集,请尊重劳动成果。

2016-12-15

RapidJson解析和创建复杂嵌套数组JSON文本

代码基于RapidJson v1.1 (2016-8-25)。 代码示例是本人项目中用到的解析和创建嵌套json文本格式的C++代码,已用于项目中。 RapidJson是一套非常优秀的C++ JSON解析创建框架,可以通过本demo入门。

2016-10-24

【整理】pandas教程

辛苦整理的,非常不错,可以用来学习pandas的基本操作。 正文目录: pandas教程:[1]DataFrame入门 pandas教程:[2]DataFrame选择数据 pandas教程:[3]DataFrame切片操作 pandas教程:[4]Dataframe筛选数据 pandas教程:[5]读取csv数据 pandas教程:[6]计数统计 pandas教程:[7]筛选计数统计 pandas教程:[8]数据分组 pandas教程:[9]MultiIndex用法 pandas教程:[10]groupby选择列和迭代 pandas教程:[11]aggregate分组计算 pandas教程:[12]transformation标准化数据 pandas教程:[13]agg分组多种计算 pandas教程:[14]按月分组 pandas教程:[15]移动复制删除列 pandas教程:[16]字符串操作 pandas教程:[17]字符串提取数据 pandas教程:[18]匹配字符串 pandas教程:[19]读写sql数据库 pandas教程:[20]广播 pandas教程:[21]带有缺失值的计算 pandas教程:[22]填充缺失值 pandas教程:[24]删除缺失数据 pandas教程:[25]插值法填补缺失值 pandas教程:[26]值替换 pandas教程:[27]散点图和抖动图 pandas教程:[28]散点图添加趋势线 pandas教程:[29]柱形图 pandas教程:[30]直方图 pandas教程:[31]箱形图

2016-08-29

【实例涵盖各种组件样式】PyQt QSS应用

资源是我辛苦搜集来的,评论即可返还下载积分。 运行环境: Python 2.76 + PyQt 4 涵盖了多种主题界面,非常不错,源码可以拿来参考。

2016-08-19

PyQt实现的360安全卫士界面

资源是我辛苦搜集来的,评论即可返还下载积分。 运行环境: Python 2.76 + PyQt 4

2016-08-19

boost_1_49_0.tar.gz

官方源码下载,个人使用。

2016-08-16

Linux gcc-4.8.0.tar.bz2

gcc-4.8.0.tar.bz2,个人备用,也提供给大家下载。

2016-07-08

图书馆管理系统UML设计

本人曾经写过的一个图书馆管理系统的UML设计,非常具有参考价值。

2016-06-26

知更鸟begin主题

知更鸟begin最新主题2016年5月版本

2016-06-18

betterzip for mac 破解版

亲测可用,betterzip for mac。破解方法: 1.先安装Betterzip,装完之后先不要打开 2.运行CORE Keygen这个破解文件,先点patch,选择应用程序里选择已安装的Betterzip文件 3.点击generate,这时serial后面出现了一串代码,双击此处拷贝 4.打开Betterzip,自动注册成功

2016-05-20

阿里云一键安装包v1.5

从阿里云官网10块钱买的专业的一键安装包,非常不错,非常稳定可靠,针对不同发行版本都支持的,亲测可用。

2015-09-04

USB Dongle驱动

BLE开发中用到的USB Dongle驱动

2015-05-21

win7cdc驱动无法安装解决办法

win7 cdc驱动无法安装解决办法,usb dongle CDC驱动安装

2015-05-21

Samsung Galaxy Note3 Eclipse DDMS USB驱动

Samsung Galaxy Note3 Eclipse DDMS USB驱动,下载安装即可,重新启动Eclipse,打开DDMS即可发现设备。

2015-05-01

阿里云服务器一键部署文档

阿里云官方提供的一键部署环境的文档,放到CSDN上共享,方便以后自己下载。

2015-04-05

[分享]分享曾经做过的一个嵌入式系统application框架

分享下自己曾经开发过的一个嵌入式Linux+Qt的系统应用层开发框架,只是分享出来,算不上什么高深的东西,希望可以给需要的人一些帮助吧。本文侧重的是应用层(Linux串口和Qt应用程序通信)这块的框架。

2015-03-26

【绝对能用】STC89C52_NRF24L01系统板资料(带1602+)

STC89C52_NRF24L01系统板资料(带1602+),内附资料,只要引脚正确,绝对工作,本人亲自验证!

2014-03-30

【精品资源】高质量程序设计指南 第三版 修订版

本书是第三版的修订版,网络上流传的多是第三版。 高质量程序设计是软件行业的薄弱环节,大部分企业为此付出了高昂的代价,只能通过大量的测试和改错来提高软件产品的质量。因此,如何让程序员熟练地掌握编程技术和编程规范,在开发过程中内建高质量代码,是IT 企业面临的主要挑战之一。

2018-06-22

Visual Assist X FOR VS2017

亲测VS 2017可用,使用方法: 1:如果已安装,那么请卸载再开始; 2:安装下载文件中的exe; 3:拿安装包中的VA_X.dll 替换 C:\Users\电脑名称\AppData\Local\Microsoft\VisualStudio\15.0_8ada5bbc\Extensions\gewnk5lq.u4i (ps:路径不适用所有电脑,请自行查找安装路径)推荐使用everything搜索软件进行快速搜索。

2018-05-14

张永强翻译_C++高级编程第3版中文版本pdf高清包含源码

【中】【英】高清pdf均包含在内;附带源码从官方下载整理。 作者:格莱戈尔(Marc Gregoire) 翻译:张永强 C++高级编程(第3版) 是设计和构建C++应用程序的实用指南,代码丰富,并根据C++14版本做了全面更新。本书强调良好编程风格的重要性,阐述如何设计可充分利用C++语言功能的高效解决方案;深入探讨C++语言功能集的更复杂元素,并披露避开常见陷阱的技巧。本书醒目显示了新的C++14信息,使你快速了解影响应用程序构建的显著变化。

2018-03-14

【精品资源】c++高级编程第三版包含中英文版本涵盖源码

作者:格莱戈尔(Marc Gregoire) 翻译:张永强 C++高级编程(第3版) 是设计和构建C++应用程序的实用指南,代码丰富,并根据C++14版本做了全面更新。本书强调良好编程风格的重要性,阐述如何设计可充分利用C++语言功能的高效解决方案;深入探讨C++语言功能集的更复杂元素,并披露避开常见陷阱的技巧。本书醒目显示了新的C++14信息,使你快速了解影响应用程序构建的显著变化。 主要内容   ◆ 提供富有挑战的、紧贴实用的、可供下载的示例代码段供读者学习   ◆ 研究详明案例,案例中包含已在Windows和Linux上测试的丰富工作代码   ◆ 列出保持良好编程风格的提示、技巧和方案,包括很好调试实践   ◆ 使用C++14的全新语言功能,包括函数返回类型推断、二进制字面量、泛型lambda和lambda捕捉表达式   ◆ 使用全新标准库功能,例如make_unique、透明函数对象,通过类型寻址的元组、共享mutex和锁类

2018-03-13

http-ping工具

http-ping是一个小型的,免费的,易于使用的Windows命令行实用程序,它可以探测给定的URL并显示相关的统计信息。 它与流行的ping工具类似,但是通过HTTP / S而不是ICMP工作,并且使用URL而不是计算机名/ IP地址。 http-ping支持IPv6地址。 http-ping提供了一组丰富的命令行选项,可以通过运行“http-ping.exe /?”来查看。从DOS提示符下: http-ping [-t] [-n count] [-i interval] [-f file-name] [-s] [-v] [-q] [-c] [-r] [-w timeout] [-p] [-d] [-o data | -of file-name] [-ua user-agent] [-h header-line] [-e | -et | -eb] [-ipv4 | -ipv6] URL Where: URL The URL you wish to check. For example, http://www.kiva.org, http://209.191.122.70, or http://www.yourhost:8080. Be sure to surround an IPv6 address with square brackets. For example, http://[2a00:1450:4007:800::1014]. Options: -t Ping the specified URL until stopped. To see statistics and continue - type Control-Break; To stop - type Control-C. -n count Send 'count' requests. Supercedes -t. -i interval Wait 'interval' seconds between each request. There is a 1-second wait if this option is not specified. -f file-name Save responses to file 'file-name'. Please specify the full path, and use quotes around file names with spaces. -s Silent. Print no output. -v Verbose. Print detailed output. Supercedes -s. -q Quick. Perform HTTP HEAD requests instead of GETs. This will retrieve headers only, and bytes reported will be 0. -c Perform a full connection on each request; ignore keep-alive. -r Follow HTTP redirects. -w timeout Wait 'timeout' seconds for a response before timing out. Specify 0 to avoid timing out. If not specified, the default timeout is 30 seconds. -p Use the proxy defined in the Windows Internet settings. -d Print the date and time of each ping attempt. -o dat

2017-12-03

【精品资源】Linux高性能服务器编程清晰PDF+源码

本书是Linux服务器编程领域的经典著作,由资深Linux软件开发工程师撰写,从网络协议、服务器编程核心要素、原理机制、工具框架等多角度全面阐释了编写高性能Linux服务器应用的方法、技巧和思想。不仅理论全面、深入,抓住了重点和难点,还包含两个综合性案例,极具实战意义。 全书共17章,分为3个部分:第一部分对Linux服务器编程的核心基础——TCP/IP协议进行了深入的解读和阐述,包括TCP/IP协议族、TCP/IP协议,以及一个经典的TCP/IP通信案例;第二部分对高性能服务器编程的核心要素进行了全面深入的剖析,包含Linux网络编程API、高级I/O函数、Linux服务器程序规范、高性能服务器程序框架、I/O复用、信号、定时器、高性能I/O框架库Libevent、多进程编程、多线程编程、进程池和线程池等内容,原理、技术与方法并重;第三部分从侧重实战的角度讲解了高性能服务器的优化与监测,包含服务器的调制、调试和测试,以及各种实用系统监测工具的使用等内容。 目录: 前言 第一篇 TCPIP协议详解 第1章 TCPIP协议族 1.1 TCPIP协议族体系结构以及主要协议 1.1.1 数据链路层 1.1.2 网络层 1.1.3 传输层 1.1.4 应用层 1.2 封装 1.3 分用 1.4 测试网络 1.5 ARP协议工作原理 1.5.1 以太网ARP请求应答报文详解 1.5.2 ARP高速缓存的查看和修改 1.5.3 使用tcpdump观察ARP通信过程 1.6 DNS工作原理 1.6.1 DNS查询和应答报文详解 1.6.2 Linux下访问DNS服务 1.6.3 使用tcpdump观察DNS通信过程 1.7 socket和TCPIP协议族的关系 第2章 IP协议详解 2.1 IP服务的特点 2.2 IPv4头部结构 2.2.1 IPv4头部结构 2.2.2 使用tcpdump观察IPv4头部结构 2.3 IP分片 2.4 IP路由 2.4.1 IP模块工作流程 2.4.2 路由机制 2.4.3 路由表更新 2.5 IP转发 2.6 重定向 2.6.1 ICMP重定向报文 2.6.2 主机重定向实例 2.7 IPv6头部结构 2.7.1 IPv6固定头部结构 2.7.2 IPv6扩展头部 第3章 TCP协议详解 3.1 TCP服务的特点 3.2 TCP头部结构 3.2.1 TCP固定头部结构 3.2.2 TCP头部选项 3.2.3 使用tcpdump观察TCP头部信息 3.3 TCP连接的建立和关闭 3.3.1 使用tcpdump观察TCP连接的建立和关闭 3.3.2 半关闭状态 3.3.3 连接超时 3.4 TCP状态转移 3.4.1 TCP状态转移总图 3.4.2 TIME_WAIT状态 3.5 复位报文段 3.5.1 访问不存在的端口 3.5.2 异常终止连接 3.5.3 处理半打开连接 3.6 TCP交互数据流 3.7 TCP成块数据流 3.8 带外数据 3.9 TCP超时重传 3.10 拥塞控制 3.10.1 拥塞控制概述 3.10.2 慢启动和拥塞避免 3.10.3 快速重传和快速恢复 第4章 TCPIP通信案例:访问Internet上的Web服务器 4.1 实例总图 4.2 部署代理服务器 4.2.1 HTTP代理服务器的工作原理 4.2.2 部署squid代理服务器 4.3 使用tcpdump抓取传输数据包 4.4 访问DNS服务器 4.5 本地名称查询 4.6 HTTP通信 4.6.1 HTTP请求 4.6.2 HTTP应答 4.7 实例总结 第二篇 深入解析高性能服务器编程 第5章 Linux网络编程基础API 5.1 socket地址API 5.1.1 主机字节序和网络字节序 5.1.2 通用socket地址 5.1.3 专用socket地址 5.1.4 IP地址转换函数 5.2 创建socket 5.3 命名socket 5.4 监听socket 5.5 接受连接 5.6 发起连接 5.7 关闭连接 5.8 数据读写 5.8.1 TCP数据读写 5.8.2 UDP数据读写 5.8.3 通用数据读写函数 5.9 带外标记 5.10 地址信息函数 5.11 socket选项 5.11.1 SO_REUSEADDR选项 5.11.2 SO_RCVBUF和SO_SNDBUF选项 5.11.3 SO_RCVLOWAT和SO_SNDLOWAT选项 5.11.4 SO_LINGER选项 5.12 网络信息API 5.12.1 gethostbyname和gethostbyaddr 5.12.2 getservbyname和getservbyport 5.12.3 getaddrinfo 5.12.4 getnameinfo 第6章 高级IO函数 6.1 pipe函数 6.2 dup函数和dup2函数 6.3 readv函数和writev函数 6.4 sendfile函数 6.5 mmap函数和munmap函数 6.6 splice函数 6.7 tee函数 6.8 fcntl函数 第7章 Linux服务器程序规范 7.1 日志 7.1.1 Linux系统日志 7.1.2 syslog函数 7.2 用户信息 7.2.1 UID、EUID、GID和EGID 7.2.2 切换用户 7.3 进程间关系 7.3.1 进程组 7.3.2 会话 7.3.3 用ps命令查看进程关系 7.4 系统资源限制 7.5 改变工作目录和根目录 7.6 服务器程序后台化 第8章 高性能服务器程序框架 8.1 服务器模型 8.1.1 CS模型 8.1.2 P2P模型 8.2 服务器编程框架 8.3 IO模型 8.4 两种高效的事件处理模式 8.4.1 Reactor模式 8.4.2 Proactor模式 8.4.3 模拟Proactor模式 8.5 两种高效的并发模式 8.5.1 半同步半异步模式 8.5.2 领导者追随者模式 8.6 有限状态机 8.7 提高服务器性能的其他建议 8.7.1 池 8.7.2 数据复制 8.7.3 上下文切换和锁 第9章 IO复用 9.1 select系统调用 9.1.1 select API 9.1.2 文件描述符就绪条件 9.1.3 处理带外数据 9.2 poll系统调用 9.3 epoll系列系统调用 9.3.1 内核事件表 9.3.2 epoll_wait函数 9.3.3 LT和ET模式 9.3.4 EPOLLONESHOT事件 9.4 三组IO复用函数的比较 9.5 IO复用的高级应用一:非阻塞connect 9.6 IO复用的高级应用二:聊天室程序 9.6.1 客户端 9.6.2 服务器 9.7 IO复用的高级应用三:同时处理TCP和UDP服务 9.8 超级服务xinetd 9.8.1 xinetd配置文件 9.8.2 xinetd工作流程 第10章 信号 10.1 Linux信号概述 10.1.1 发送信号 10.1.2 信号处理方式 10.1.3 Linux信号 10.1.4 中断系统调用 10.2 信号函数 10.2.1 signal系统调用 10.2.2 sigaction系统调用 10.3 信号集 10.3.1 信号集函数 10.3.2 进程信号掩码 10.3.3 被挂起的信号 10.4 统一事件源 10.5 网络编程相关信号 10.5.1 SIGHUP 10.5.2 SIGPIPE 10.5.3 SIGURG 第11章 定时器 11.1 socket选项SO_RCVTIMEO和SO_SNDTIMEO 11.2 SIGALRM信号 11.2.1 基于升序链表的定时器 11.2.2 处理非活动连接 11.3 IO复用系统调用的超时参数 11.4 高性能定时器 11.4.1 时间轮 11.4.2 时间堆 第12章 高性能IO框架库Libevent 12.1 IO框架库概述 12.2 Libevent源码分析 12.2.1 一个实例 12.2.2 源代码组织结构 12.2.3 event结构体 12.2.4 往注册事件队列中添加事件处理器 12.2.5 往事件多路分发器中注册事件 12.2.6 eventop结构体 12.2.7 event_base结构体 12.2.8 事件循环 第13章 多进程编程 13.1 fork系统调用 13.2 exec系列系统调用 13.3 处理僵尸进程 13.4 管道 13.5 信号量 13.5.1 信号量原语 13.5.2 semget系统调用 13.5.3 semop系统调用 13.5.4 semctl系统调用 13.5.5 特殊键值IPC_PRIVATE 13.6 共享内存 13.6.1 shmget系统调用 13.6.2 shmat和shmdt系统调用 13.6.3 shmctl系统调用 13.6.4 共享内存的POSIX方法 13.6.5 共享内存实例 13.7 消息队列 13.7.1 msgget系统调用 13.7.2 msgsnd系统调用 13.7.3 msgrcv系统调用 13.7.4 msgctl系统调用 13.8 IPC命令 13.9 在进程间传递文件描述符 第14章 多线程编程 14.1 Linux线程概述 14.1.1 线程模型 14.1.2 Linux线程库 14.2 创建线程和结束线程 14.3 线程属性 14.4 POSIX信号量 14.5 互斥锁 14.5.1 互斥锁基础API 14.5.2 互斥锁属性 14.5.3 死锁举例 14.6 条件变量 14.7 线程同步机制包装类 14.8 多线程环境 14.8.1 可重入函数 14.8.2 线程和进程 14.8.3 线程和信号 第15章 进程池和线程池 15.1 进程池和线程池概述 15.2 处理多客户 15.3 半同步半异步进程池实现 15.4 用进程池实现的简单CGI服务器 15.5 半同步半反应堆线程池实现 15.6 用线程池实现的简单Web服务器 15.6.1 http_conn类 15.6.2 main函数 第三篇 高性能服务器优化与监测 第16章 服务器调制、调试和测试 16.1 最大文件描述符数 16.2 调整内核参数 16.2.1 procsysfs目录下的部分文件 16.2.2 procsysnet目录下的部分文件 16.3 gdb调试 16.3.1 用gdb调试多进程程序 16.3.2 用gdb调试多线程程序 16.4 压力测试 第17章 系统监测工具 17.1 tcpdump 17.2 lsof 17.3 nc 17.4 strace 17.5 netstat 17.6 vmstat 17.7 ifstat 17.8 mpstat 参考文献

2017-11-23

C++ MongoDB 连接池代码实现

该代码是C++ MongoDB的连接池代码实现。代码封装了一个连接池类对象,通过该对象提供的连接池来操作MongoDB,提升了性能,减少了数据库连接资源的开销。

2017-10-08

Complete_NGINX_Cookbook

Nginx官网下载,《Complete_NGINX_Cookbook》 辛苦收集,请尊重码农劳动成果。 该电子书主要内容:了解Nginx如何配置缓存,负载平衡,安全性,WAF,云部署以及了解其他重要的NGINX功能。

2017-09-28

begin主题包_20170815

begin主题,适合学习wordpress主题开发人员参考学习。

2017-09-28

【精编版】Python_3.4.1官方教程超级详细

静心整理的非常不错的Python 3.4.x教程,初学者可以快速入门学习。

2017-07-24

Qt 4.8开发的动态变色表盘源码及演示

本程序是Qt开发的根据输入值表盘自动变颜色的程序,非常不错。可以作为参考学习使用。

2017-07-20

适合做个人介绍的Bootstrap 3模板

这个模板是不经意间下载到的,非常不错,适合做个人博客介绍页,也适合做个人项目介绍。 想提前看下效果

2017-06-04

VC动态链接库大全_微软常用运行库合集v2016.11(32&64位)

所有的安装文件全部来自微软官方网站,且为最新数字签名版本。 这些运行库都是采用Microsoft Visual Studio 20XX编写的软件必须使用的公用DLL运行库,相当于程序的字典文件。 某些网上和论坛的部分精简软件没有附带这些公用DLL,所以安装这些运行库是系统安装后第一件要做的事情。 由于Microsoft Visual C++ 2008 SP1(9.0.30729.6161)已经包含Microsoft Visual C++ 2008 ATL Update kb973924 (9.0.30729.4148),所以2008 SP1的ATL升级文件不提供。 某些程序在64位系统下运行任然需要32位版本的运行库,因为程序是基于32位Visual Studio开发的,典型的例子比如QQ。

2017-05-11

Golang Gin RESTFul API with SQLite

【翻译】基于Go框架Gin开发RESTFul API,参考博客:http://www.jyguagua.com/?p=3038

2017-05-09

GolangRESTful API开发

请参考博客内容进行学习: 【翻译】用Go开发RESTful JSON API(Making a RESTful JSON API in Go) http://www.jyguagua.com/?p=2979 采用Go语言开发RESTFul API

2017-04-18

Manning.Go.in.Practice.1633430073

Manning.Go.in.Practice.1633430073

2017-04-17

Manning.Go.Web.Programming

Manning.Go.Web.Programming 2016

2017-04-17

NoSQL Manager for MongoDB v3.7.0.5(2016/9/14) 破解版

Windows版本。亲测可用,破解版本的NoSQL Manager for MongoDB,版本:v3.7.0.5(2016/9/14)

2017-04-12

第一本Docker书_PDF电子书下载_带书签目录_完整版

《第一本Docker书》PDF电子书下载 带书签目录 完整版

2017-03-21

空空如也

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

TA关注的人

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