自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 聊聊Greenplum的那些事

有时候真的感叹人生岁月匆匆,特别是当一个IT人沉浸于某个技术领域十来年后,蓦然回首,总有说不出的万千感慨。笔者有幸从04年就开始从事大规模数据计算的相关工作,08年作为Greenplum 早期员工加入Greenplum团队(当时的工牌是“005”,哈哈),记得当时看了一眼Greenplum的架构(嗯,就是现在大家耳熟能详的那个好多个X86框框的图),就义无反顾地加入了,转眼之间,已经到了第8个年头...

2018-04-04 17:25:39 887

转载 Java 接口和抽象类区别

原文:http://blog.csdn.net/sunboard/article/details/38318231.概述一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说

2016-07-07 15:00:42 538

转载 如何学好C++,用好类库很重要

现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看。如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想;平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念;最后别忘了经常上机自己调调程序,这是谁也

2015-09-10 18:05:58 700

转载 SQL进行排序、分组、统计的10个新技巧

今天在新客网看到一片好文章,是关于sql排序,分组和统计的技巧方面的!特拿来与大家分享!呵呵1.使用排序使数据有序通常,你的所有数据真正需要的仅仅是按某种顺序排列。SQL的ORDER BY语句可以以字母或数字顺序组织数据。因此,相似的值按组排序在一起。然而,这个分组时排序的结果,并不是真的分组。ORDER BY显示每条记录而分组可能代表很多记录。2.进行分组除去重复值

2015-09-10 17:49:35 499

转载 SQL查询入门

SQL查询入门(上):http://blog.csdn.net/arau_sh/article/details/7572624SQL查询入门(中):http://blog.csdn.net/arau_sh/article/details/7572629SQL查询入门(下):http://blog.csdn.net/arau_sh/article/details/7572629

2015-09-10 17:47:17 588

转载 数据库范式那些事

简介      数据库范式在数据库设计中的地位一直很暧昧,教科书中对于数据库范式倒是都给出了学术性的定义,但实际应用中范式的应用却不甚乐观,这篇文章会用简单的语言和一个简单的数据库DEMO将一个不符合范式的数据库一步步从第一范式实现到第四范式。 范式的目标      应用数据库范式可以带来许多好处,但是最重要的好处归结为三点:      1.减少数据

2015-09-10 17:44:33 443

转载 MySQL索引类型一览 让MySQL高效运行起来

本文介绍了七种MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。通过善用这些索引,可以令MySQL的查询和运行更加高效。AD:索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。下面介绍几种常见的MySQL索引类型。在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表:

2015-09-10 17:43:19 417

转载 常见的数据库基础面试题大全

1. 数据抽象:物理抽象、概念抽象、视图级抽象,内模式、模式、外模式2. SQL语言包括数据定义、数据操纵(Data Manipulation),数据控制(Data Control)数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵:Select ,insert,update,delete,数

2015-09-10 17:38:37 445

转载 MYSQL 开发实用知识集合

其实项目应用的瓶颈还是在db端,在只有少量数据及极少并发的情况下,并不需要多少的技巧就可以得到我们想要的结果,但是当数据量达到一定量级的时 候,程 序的每一个细节,数据库的设计都会影响到系统的性能。这里就数据库开发及优化的话题和大家做个讨论和分析,也请大家完善,这里就以下几个话题,我先发表自 己的见解。1.存储引擎的选择2.索引的设计及使用3.大批量插入时SQL语句的优化

2015-09-10 17:37:18 408

转载 MySQL优化

thread_concurrency数量设置为CPU核心数量的两倍.thread_cache_size按照内存大小来设置, 1G=8, 2G=16, 3G=32, >3G=64wait_timeout超时时间,如果连接数比较大,可以减少此参数的值,我使用的是10max_connections最大连接数,mysql实际允许连接数的值是max_connections+1,按

2015-09-10 17:34:49 528

转载 数据库设计规范化的五个要求

通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明 这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。  要求一:表中应该避免可为空的列。  虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。数据库在处理的时

2015-09-10 17:32:53 542

转载 SQL大总结——转载经典

一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:mssql7backupMyNwind_1

2015-09-10 17:26:29 502

转载 HTTP协议详解

以下转自 cnblog 的小坦克1. HTTP协议详解2. HTTP协议 (二) 基本认证3. HTTP协议 (三) 压缩4. HTTP协议 (四) 缓存5. HTTP协议 (五) 代理6. HTTP协议 (六) 状态码详解7. HTTP协议 (七) Cookie以下转自农夫庄园1. 深入理解HTTP协议(一)

2015-09-10 16:34:47 379

转载 Crypto++ 入门 AES

在我们上一篇文章中,我们介绍了如何安装Crypto++,以及用它完成我们第一个程序。这篇文章主要用来介绍上一篇中的AES程序。首先让我们来了解一下AES是什么。这部分是准备给对AES不熟的读者看的,了解的读者可直接跳到后文的程序部分。AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。1998年N

2015-09-10 15:11:07 1154

转载 Nginx负载均衡

1.普通的Http代理:  注意:在upstream中不要使用http://backend1.example.com,而在proxy_pass中则要加上http://backend  upstream backend  {    server backend1.example.com weight=5;    server backend2.example.com:8080;

2015-09-10 14:41:41 417

转载 Python装饰器学习(九步入门)

这是在Python学习小组上介绍的内容,现学现卖、多练习是好的学习方式。第一步:最简单的函数,准备附加额外功能?12345678# -*- coding:gbk -*-'''示例1: 最简单的函数,表示调用了两次'''def myfunc():print("myfunc() called.")

2015-07-09 11:50:33 580 1

转载 程序员都必须遵守的编程原则(仅供参考)

好的编程原则跟好的系统设计原则和技术实施原则有着密切的联系。下面的这些编程原则在过去的这些年里让我成为了一名优秀的程序员, 这些原则对任何一个开发人员来说,都能让他的编程能力大幅度的提高,能让他开发出可维护性更强、缺陷更少的程序。   不要自我重复 — 这也许是在编程开发这最最基本的一个信条,就是要告诉你不要出现重复的代码。我们很多的编程结构之所以存在,就是为了帮助我们消除重复(例如,循环

2015-07-07 15:07:46 704

转载 作为软件工程师,你必须知道的20个常识

作为一名优秀是软件开发工程师,以下的这些常识你知道吗?在实际工作中有没有总结过呢?小编就带大家一起分享这20个软件开发常识。1.针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发,简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。2.软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深刻的理解这一点。3.数据

2015-07-07 11:54:44 497

转载 关于python 的@操作符 Decorator 的用法

简单的说,@操作符是用来提供调用的,光是说明可能无法理解,写了一个小小的例子:def f1(arg):    print "f1"    rl = arg()    print rl    return rl + "f1"    @f1def f2(arg = ""):    print "f2"    return arg +

2015-07-03 11:34:42 576 1

转载 浅谈 Python 的 with 语句

引言with 语句是从 Python 2.5 开始引入的一种与异常处理相关的功能(2.5 版本中要通过 from __future__ import with_statement 导入后才可以使用),从 2.6 版本开始缺省可用(参考 What's new in Python 2.6?中 with 语句相关部分介绍)。with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生

2015-07-02 15:02:47 448

转载 libev 设计分析

此文主要分析libev 的设计架构与算法实现,阅读这篇文章之前,你需要对libev 的使用有大致的了解;libev 提供了很多watcher 供开发者使用 ,以下仅对最重要最常用的几个watcher 机制进行分析,从中我们可掌握整个libev的设计思想,如果你想了解更多,可查阅libev的相关代码或文档。ev_io_watcher如我们所知,新的fd总是系统可用的最小fd ,所以这

2015-06-12 17:57:00 429

转载 netfilter/iptables全攻略

防火墙的简介防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做

2015-05-29 17:56:11 451

转载 iptable笔记

一、netfilter/iptable的理解    这个当初我理解不了,主要是没把netfilter理解清楚。 Netfilter是集成在内核中的,用来定义存储各种规则的。Iptalbe是修改这些规则的工具,修改后存在netfilter里面。数据包进入LINUX服务器时,先进入服务器的netfilter模块中进行判断处理。 Netfilter包含有三种表,三种表下共

2015-05-29 17:34:16 468

转载 BusyBox 简化嵌入式 Linux 系统

BusyBox 是如何工作的?为了让一个可执行程序看起来就像是很多可执行程序一样,BusyBox 为传递给 C 的 main 函数的参数开发了一个很少使用的特性。回想一下 C 语言的 main 函数的定义如下:POSIX 环境尽管 BusyBox 的目标 是提供一个相当完整的 POSIX(可移植操作系统接口)环境,这是一个期望,而不是一种需求。这些工具虽然并不完整,但是

2015-05-19 18:36:01 431

转载 ubuntu 12.04搭建tftp服务器的安装、设置、调试

ubuntu 12.04搭建tftp服务器的安装、设置、调试 第一步:先说明一下ubuntu默认root是禁用的,所以先要创建root用户,这样以后不用再sudo了:$ su root输入密码获取获取管理员账户操作第二步:安装服务安装tftp-hpa   tftpd-hpa  xinetd# apt-get install tftp-hpa

2015-05-19 18:25:37 409

转载 嵌入式系统 Boot Loader 技术内幕

本文转载自:http://www.ibm.com/developerworks/cn/linux/l-btloader/1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。

2015-05-19 17:09:06 599

转载 iptables 命令介绍

iptables防火墙可以用于创建过滤(filter)与NAT规则。所有Linux发行版都能使用iptables,因此理解如何配置iptables将会帮助你更有效地管理Linux防火墙。如果你是第一次接触iptables,你会觉得它很复杂,但是一旦你理解iptables的工作原理,你会发现其实它很简单。首先介绍iptables的结构:iptables -> Tables -> Chains

2015-05-05 18:33:41 457

转载 openssl简介

第一章 前言不久前接到有关ssl的活,结果找遍中文网站资料实在奇缺。感觉是好象现在国内做这个技术的人不多,所以有兴趣写点东西来介绍一下。我使用的ssl的toolkit是openssl,就用openssl做例子来讲解。openssl实在太大了,指令也多,API也多,更严重的是它的API没有说明。我打算漫漫说清楚其主要指令的用法,主要API的中文说明,以及使用/编程的方法。工作

2015-04-09 15:18:20 2589

转载 值得推荐的C/C++框架和库 (真的很强大)

值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/

2015-03-27 17:30:14 9028

转载 SSL TLS 学习之四:图解SSL/TLS协议

作者: 阮一峰日期: 2014年9月20日本周,CloudFlare宣布,开始提供Keyless服务,即你把网站放到它们的CDN上,不用提供自己的私钥,也能使用SSL加密链接。我看了CloudFlare的说明(这里和这里),突然意识到这是绝好的例子,可以用来说明SSL/TLS协议的运行机制。它配有插图,很容易看懂。下面,我就用这些图片作为例子,配合我

2015-03-20 15:19:28 610

转载 SSL TLS 学习之三:SSL与TLS的运行机制概述

一、作用不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。(1) 窃听风险(eavesdropping):第三方可以获知通信内容。(2) 篡改风险(tampering):第三方可以修改通信内容。(3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。SSL/TLS协议是为了解决这三大风险而设计的

2015-03-20 15:16:39 576

转载 SSL TLS 学习之二:SSL与TLS的区别和介绍

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。  TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数

2015-03-20 15:15:11 566

转载 SSL TLS 学习之一:对称加密和非对称加密

什么是对称加密技术?对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good

2015-03-20 15:10:37 2975

转载 Protocol Buffers 语法指南

作者信息石头儿和本声明。否则将追究法律责任。http://shitouer.cn/2013/04/google-protocol-buffers-tutorial/1. 概述前两篇文章,我们概括介绍《Google Protocol Buffers 概述》以及带领大家简单的《Google Protocol Buffers 入门》,接下来,再稍微详细一点介绍Protocol Buf

2015-03-12 18:33:18 492

转载 Google Protocol Buffer 的使用和原理

什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol

2015-03-12 15:48:30 666 1

转载 Linux 串口编程

在linux下编写终端程序时,有规范模式 ,非规范模式(原始模式特殊的非规范模式)之分。不用于终端,而是在串口这种使用情况下,一般设置为原始模式(非规范的一种特殊情况)。但用read()函数,希望从串口接收指定的数量的字符时,往往接收到的实际字符数,都与指定的不同。如本人用read()希望接收 10 bytes的数据,但实验后发现,分了几次才接收到,俩次接收2bytes ,两次接收3bytes。

2015-03-09 14:23:42 585

转载 linux新的API signalfd、timerfd、eventfd使用说明

三种新的fd加入linux内核的的版本:signalfd:2.6.22timerfd:2.6.25eventfd:2.6.22三种fd的意义:signalfd:传统的处理信号的方式是注册信号处理函数;由于信号是异步发生的,要解决数据的并发访问,可重入问题。signalfd可以将信号抽象为一个文件描述符,当有信号发生时可以对其read,这样可以将信号的监听放到se

2015-03-06 18:40:10 436

转载 了解 Boost 单元测试框架

什么是单元测试?复杂的 C/C++ 代码中很可能有 bug,到代码编写完成之后再来测试就像大海捞针。比较谨慎的办法是,在编写各个代码段时,针对特定的区域(例如,一些包含大量计算的 C 函数或声明队列等数据结构的C++ 类),添加专门的小测试(单元测试),以在编写代码的同时进行测试。按这种方式构建的回归测试套件包含一套单元测试和一个测试驱动程序,这个程序运行测试并报告结果。

2015-03-05 16:56:38 800

转载 xml入门

1.常见用途(1) 数据传送通用格式比如qq之间的数据传送做案例进行详细讲解,用xml格式来传送数据,具有良好的可读性性,可维护性。(2)配置文件xml文件做配置文件可以说非常的普遍,比如我们的tomcat服务器的server.xml ,web.xml 。 在比如我们的struts中的struts-config.xml文件,和hibernate的hibern

2015-01-28 09:28:30 810

转载 换种思路去理解设计模式(下)

8       对象行为与操作对象8.1     过程描述所谓对象行为和操作对象,需要三方面内容:l  操作过程:一般表现为一个方法。该方法接收一个对象或者组合类型的参数,然后对这个对象或者组合进行操作,例如修改属性、状态或者结构等。l  操作的对象或组合:会作为实参传入操作过程,会被操作过程修改属性、状态或者结构等。l  受影响的对象或组合

2014-11-19 15:26:41 556

空空如也

空空如也

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

TA关注的人

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