自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

《windows编程零基础》__1 Hello,World

第一个工程1)打开Visual Studio,如下地建一个工程2)选择一个空的工程3) 新建一个文件这个不解释了吧,你肯定会添加一个cpp文件的。4)输入如下代码#include <windows.h>#pragma comment(linker, "/entry:\"main\" /subsystem:\"windows\...

2013-07-31 23:28:00 132

《Windows编程零基础学》__0

首先很开心申请到了这一个专栏《Windows编程零基础学》这是第一篇文章,在这里,我将讲述一些基础的知识。什么是Windows编程所谓Windows编程就是在Windows平台上开发,并且运行于Windows平台上的程序,当然,开发的时候运用的东西是Windows API或者封装之后的WindowsAPI。为什么要学Windows编程有人说,我学的是Java,我不需要跟系统...

2013-07-31 15:06:00 123

UDP怎么会返回Connection refused错误

有时候,写UDP socket程序的时候,在调用sendto或者recvfrom的时候,会发现有Connection refused错误返回,错误码是ECONNREFUSED。对于懂得socket接口但是不很很懂网络的人,可能这根本就不是个问题,他会根据错误码知道远端没有这个服务端口,正如socket api的man手册中描述的那样:ECONNREFUSED A remote host refus...

2013-07-28 21:26:00 1524

这就是所谓的历史剧?

今天晚上看了一集《精忠岳飞》,之后就把电视关了!我并不是不喜欢看国产的历史剧,是感觉拍得太假,历史剧感觉跟唱戏的一样。总结下来,国产历史剧就两个特点:1.主人公都是儿女情长;2.主人公都会飞檐走壁。如果西方的历史剧也拍成这样,第一,凯撒不会和克里奥佩特拉就那么点事,第二,凯撒不会在完全清醒状态下被捅那么多刀身亡,那么会是什么呢?我都能想出来。 凯撒来到了埃及,被克里奥佩特拉迷住了,面对国家的使...

2013-07-27 14:47:00 94

微信被光缆所断-脆弱的行业

脆弱的是网络设计,而不是网络本身!我不晓得为何挖断一根线就能宕机数个小时,这明显是一个物理灾难,为何会影响业务逻辑那么久?网络是分层设计的,一个TCP段丢失了,协议层就会重传,一个有连接链路帧丢失了,甚至IP都感觉不到,不影响上层在于下层提供的冗余!如果说应用服务器不堪重负或者其它原因宕机数个小时,那可以理解,毕竟问题就是出在应用层,但是光缆挖断是物理层的事故,应该由物理层的高可用性来解决才对!事...

2013-07-27 14:46:00 125

C/C++中内联(inline)函数的优点和缺点

优点缺点1. 内联函数代码被放入符号表中,在使用时进行替换,和宏展开一样,效率很高;1. 不允许过多的代码,代码过多的话会造成大的内存消耗,最好在5行以内;2. 编绎器在调用一个内联函数,首先会检查参数问题,保证调用正确,与对待普通的函数一样,消除了隐患及局限性;2. 不允许有循环或者开关语句,如果有的话,执行函...

2013-07-21 16:59:00 858

Linux系统如何平滑生效NAT-DNAT改进以及解释

在《Linux系统如何平滑生效NAT》中,我介绍了如何在Linux中让NAT瞬间生效的patch,提到了那个patch只在SNAT环境中测试过,没有在DNAT环境中测试过,实际上,DNAT中也是可以使用的,只需要将nf_nat_rule_find做以下修改即可:int nf_nat_rule_find(struct sk_buff *skb, unsign...

2013-07-21 14:29:00 261

Linux系统如何平滑生效NAT

1.Linux实现的NAT概述以及问题所在Linux的NAT基于ip_conntrack。iptables设置的nat规则仅仅对一个流的第一个数据包有效。当然xtables-addons实现的rawnat除外!即便是rawnat,它也必须设置两条规则。真正好的设计是,有个选项可以自定义nat的行为,而不是依赖配置者的能力,否则就可能酿成大祸,在我自身的产品研发以及实施过程中,就曾经碰到了这种情况,...

2013-07-21 01:25:00 269

Lucene核心--构建Lucene搜索(上篇,理论篇)

2.1构建Lucene搜索2.1.1 Lucene内容模型 一个文档(document)就是Lucene建立索引和搜索的原子单元,它由一个或者多个字段(field)组成,字段才是Lucene的真实内容。每一个字段有都有一个名字来标识它,一个文本或者一个二进制值以及一系列的详细的选择项。为检索到你原生态的内容,你必须首先将其解释成Lucene的文档和字段。然后,在搜索时,字段值被检索到...

2013-07-19 14:29:00 138

Lucene核心--构建Lucene搜索(下篇,理论篇)

2.1.6 截取索引(Indextruncate) 一些应用程序的所以文档的大小先前是不知道的。作为控制RAM和磁盘存储空间的使用数量的安全机制,你可能想要限制每个字段允许输入索引的输入数量。一个大的二进制文档偶尔被错误地划分为文本文档,或者包含嵌入在它中的二进制被你的过滤器错误地处理,这些都是可能的。另外一些应用程序处理知道文档大小,但是你想索引仅仅是其中的一部分内容。例如,你...

2013-07-19 14:28:00 116

Lucene简介(理论篇)

Lucene 是一个软件程序的库或者说是一个工具套件,而不是一个完全的具有搜索特性的应用程序。它关注于自己的文本检索和搜索功能,提供API来完成商业中所涉及到的搜索功能。在搜索功能中,Lucene的功能如图深色框所示。 外围的功能组要主要由一些比较流行的框架来实现,比如Solr、ElasticSearch、Sphinx等。 说道Lucene,不得不提它的创始人Dong C...

2013-07-18 23:06:00 152

Operation not permitted引发的惊魂72小时

0.问题及描述在测试产品的时候,莫名其妙发现了我们的主进程VPNd会出现以下的报错:2013-07-18 13:05:13 www.1.com/192.168.200.220:65527 write UDPv4 []: Operation not permitted (code=1)2013-07-18 13:05:13 www.1.com/192.168.200.220:65527 write ...

2013-07-18 22:30:00 597

必须熟记英语短语

英语越来越重要,所以,学习英语真的有必要先学好基本的词汇。本人收录一些:1. it is not likely that : 这时不大可能。It is not likely that you will actually do it , but it is important to understand the concept.2. in all likelihood : 十有八...

2013-07-15 07:25:00 504

子PID namespace中获取父namespace中pid的方法

在那篇《使用独立PID namespace防止误杀进程》中的最后,我碰到了一个难题,那就是父PID namespace中的进程无法使用进入子PID namespace中通过echo $$ >$pidfile写入的pid值,进程发信号时,目标pid是和自己处于同样的PID namespace的。当时我的方法是使用ps+grep的方式去寻找,然而如果遇到多个同名进程的时候,这一招也将碰壁。那么有...

2013-07-14 23:47:00 194

setjmp, longjmp用法简介

setjmp和longjmp其实就是goto的升级版,goto只能在同一个函数中跳转,但是setjmp和longjmp可以实现在不同的函数之间跳转。下面是一个简单的示例演示,代码+运行结果,几行注释应该足以说明setjmp和longjmp的用法。#include <stdio.h>#include <setjmp.h>#define TOK_ADD 5...

2013-07-14 16:51:00 382

使用独立PID namespace防止误杀进程

一段错误的代码首先看一段错误的代码:#!/bin/bashSLICE=100;slppid=1;pidfile=/var/run/vpnrulematch.pid# 停止之前的sleepkill_prev() { pid=$1; /bin/kill -0 $pid;exist=$? ppid=$(/bin/cat /proc/$pid/...

2013-07-14 16:46:00 160

cURL安装和使用笔记

0.前言cURL是一个利用URL语法在命令行下工作的文件传输工具。它支持文件上传和下载,所以是综合传输工具,但习惯称cURL为下载工具。cURL还包含了用于程序开发的libcurl。cURL支援的通讯协定有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。(来自维基百...

2013-07-14 12:41:00 459

linux下踢出已登录用户

通过xshell登录到linux,看到如下所示,有3个用户,但是前面两个不知在哪登录的了,那就踢出吧。先确认一下自己是哪个顺便注意一下“whoami”和“who am i”的不同然后踢出前面两个用户本文旨在用于自己日后查阅方便,也希望能帮助到看到此篇文章的朋友...

2013-07-13 21:34:00 517

静态数组表示的有限状态机

前段时间搞无状态的TCP conntrack,发现其中一个静态数组表示的TCP状态机很是不错,希望这种思想以后可以用在实际的工作中,直说吧,就是这个状态机数组:static const u8 tcp_conntracks[2][6][TCP_CONNTRACK_MAX] = { {/* ORIGINAL *//* sNO, sSS, sSR, sES, sFW, sC...

2013-07-13 16:18:00 253

无状态TCP的ip_conntrack

Linux的ip_conntrack实现得过于沉重和精细。而实际上有时候,根本不需要在conntrack中对TCP的状态进行跟踪,只把它当UDP好了,我们的需求就是让系统可以将一个数据包和一个五元组标示的流相关联,因为很多的基于流的策略都设置在conntrack结构中,所以当关联好之后,就可以直接取出策略来作用于数据包了,不再需要为每一个数据包都来一次策略匹配。 TCP的状态本就不应该在途中被...

2013-07-13 16:03:00 483

maqetta

maqetta做出来的·.有点意思

2013-07-12 09:32:00 166

MinGW安装和使用总结

0.前言最近对开源编译平台和编译器产生了兴趣,借博客平台总结一些东西(包括minGW,eclipse,sourcery和GDB调试等内容)。总感觉时间一长某些东西自己都会忘记,过段时间回头看看自己的博客也会有很多的收获。突然想起来初中和高中老师的教导——要多做总结,就这样总结来了。1.MinGw下载和安装【下载地址】http://sourceforge.net/projects/m...

2013-07-11 09:43:00 269

在浏览器中执行Kettle job或者transformation

通过URL执行Kettle的转换或者任务,这个功能可以Kettle的web service。假如有这样的一种情形:第三方想从你这里读取数据,然而,你又不要写web service代码。任何人都可以从web service中读取数据,Kettle也提供了这样的功能。下面的这里例子展示这个功能。 1. 组件连接图,创建这个transformation. 2. 数据源csv文件...

2013-07-07 11:12:00 778 1

Kettle调度和监控

Kettle调度和监控的理论知识介绍,具体内容如下:1 调度 在这个指导文档中,主介绍两种类型Kettle任务和转换的调度方式。Ø 操作系统级别的调度器:对于ETL来说,调度不是独一无二的。这是操作系统能够提供标准调度的一般性需要,如UNIX衍生系统上的Cron以及Windows系统上的任务调度器。这些调度器能够拥戴调度Kettle命令行程序来运行任务和转换。Ø Qu...

2013-07-06 22:43:00 204

Kettle 简介和实例

1.1 基本概念 Kettle 是”Kettle E.T.T.L. Envirnonment”只取首字母的缩写,这意味着它被设计用来帮助你实现你的ETTL 需要:抽取、转换、装入和加载数据;翻译成中文名称应该叫水壶,名字的起源正如该项目的主程序员MATT 在一个论坛里说的哪样:希望把各种数据放到一个壶里然后以一种指定的格式流出。Spoon 是一个图形用户界面,它允许你运行转换或者任务,其...

2013-07-06 22:21:00 101

关于iptables的u32匹配

前面一篇文章----阐释了iptables最新的bpf match,说它将多个matches并成了一个经过编译的解释型bytecode bpf match,早在bpf match之前,u32 match也可以做到matches合并,虽然语法让人费解没有分离match可读性强之外,效率还真是高!它可以做到无状态检测的很多事情,不能做到有状态检测比如基于conntrack的检测是因为IP协议本身就是无...

2013-07-06 15:10:00 863

阿里面试需了解

对于Hibernate这类ORM而言,缓存显的尤为重要,它是持久层性能提升的关键.简单来讲Hibernate就是对JDBC进行封装,以实现内部状态的管理,OR关系的映射等,但随之带来的就是数据访问效率的降低,和性能的下降,而缓存就是弥补这一缺点的重要方法.缓存就是数据库数据在内存中的临时容器,包括数据库数据在内存中的临时拷贝,它位于数据库与数据库访问层中间.ORM在查询数据时首先会根据自身的缓存管...

2013-07-06 10:57:00 71

中缀表达式求值与LL(1)方法

EMAIL:1025679612@qq.com Blog: http://my.csdn.net/wind_2008_06_29显然如下的方法生成的语言是算术表达式E->TGG->+TG | -TG|eT->FSS->*FS | /FS | eF->(E) | number注:e表示空所以我们可以根据这个式子写出相应...

2013-07-05 17:47:00 112

如何优化JAVA代码

通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。1.对象的生成和大小的调整。JAV...

2013-07-02 12:26:00 91

tomcat启动的内存溢出解决

如果要在myeclipse中启动,上述的修改就不起作用了,可如下设置:Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m我使...

2013-07-02 12:05:00 111

数据库集群与数据库分割

一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。大型网站设计注意事项1、HTML静态化其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个...

2013-07-02 09:59:00 61

Sharding

事关数据库扩展性 说起数据库扩展性,这是个非常大的话题。目前的商业数据都有自己的扩展性解决方案,在过去相对来说比较成熟,但是随着互联网的高速发展,不可避免的会带来一些计算模式上的演变,这样很多主流商业系统也难免暴露出一些不足之处。比如 Oracle 的 RAC 是采用共享存储机制,对于I/O 密集型的应用,瓶颈很容易落在存储上,这样的机制决定后续扩容只能是 Scale Up(向上扩展) 类型,...

2013-07-02 00:42:00 73

Oracle宣布即日起提供NoSQL数据库下载

Oracle10月27日宣布,Oracle NoSQL数据库即日起可以在Oracle技术网下载。大家可以尝试甲骨文NoSQL数据库了。甲骨文公司10月27日宣布,Oracle NoSQL数据库即日起可以在Oracle技术网下载。这是继10月Oracle OpenWorld宣布拥抱NoSQL数据库的首个新动向。Oracle NoSQL数据库是Oracle大数据产品线的关键...

2013-07-02 00:36:00 61

在云计算的环境中,部署NoSQL的优缺点是怎样的呢?

NoSQL,指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人...

2013-07-02 00:35:00 142

Oracle数据库查询高效分页

今天我们将谈到Oracle数据库查询高效分页,分页的控件实在很方便,以前的处理方式就是数据都拿出来,然后由控件进行处理,一般数据量不大的时候应该说感觉不出来优劣,但由于每次从数据库取的时候都是取所有的数据,肯定会增加数据库的压力,传输的数据库多了对网络带宽也会产生压力的。由于网页渲染速度的影响,在C/S程序中那种一个Grid包含几千、上万行的数据基本上在网页是无法展现的,因...

2013-07-02 00:01:00 57

rownum between连用为什么得不到数据呢?

rownum在使用select查询的时候,自动生成的一串顺序号。在每返回一条数据结果的时候,rownum就自动加一。简单的说,是对结果集加的一个伪列,是oracle数据库从数据文件或缓冲区中读取数据的顺序。用>,>=,=,between...and这几个条件结果是没有数据的,因为你从缓冲区或数据文件中查询得到的第一条记录的rownum为1,则会被删除的,接着读取下一条数据,可是它的ro...

2013-07-01 23:59:00 174

20个数据库设计最佳实践

能够最佳的使用好数据库需要扎实的基础,下面文章详细的说明了20个数据库设计的最佳实践,很适合是实习的程序员学习。使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必...

2013-07-01 23:43:00 58

让数据库变快的10个建议

大多数网站的内容都存在数据库里,用户通过请求来访问内容。数据库非常的快,有许多技巧能让你优化数据库的速度,使你不浪费服务器的资源。在这篇文章中,我收录了十个优化数据库速度的技巧。0. 小心设计数据库第一个技巧也许看来理所当然,但事实上大部分数据库的问题都来自于设计不好的数据库结构。譬如我曾经遇见过将客户端信息和支付信息储存在同一个数据库列中的例子。对于系统和用数...

2013-07-01 23:24:00 64

我们该如何设计数据库(五)

这次的需求是在Mongo的使用中碰到的,但是我觉得把这个需求放进传统的RDBMS中更易于理解。需求是这样的:假设你数据库使用的是Sqlserver,有一张表,500W条数据,你要做一个随机在表中选择一条数据的功能。最近真是忙翻天了,该是有三个月没写博客了。这次的需求是在Mongo的使用中碰到的,但是我觉得把这个需求放进传统的RDBMS中更易于理解。需求是这样的:假设...

2013-07-01 22:56:00 74

我们该如何设计数据库(四)

其实我一直在准备另一篇博文的基础资料,但是和朋友聊天,他问我最近在做什么,我说在做系统Log模块,并和他交流了一下,于是这篇博客就应运而生。其实我一直在准备另一篇博文的基础资料,但是和朋友聊天,他问我最近在做什么,我说在做系统Log模块,并和他交流了一下,于是这篇博客就应运而生。所有数据都可以用如下形式表述:ID,表名,列名,Value。比如...

2013-07-01 22:16:00 126

空空如也

空空如也

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

TA关注的人

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