自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (4)
  • 收藏
  • 关注

原创 应用系统设计思考

及时响应应用系统是软件系统近些年来的一个发展趋势(信息的价值随时间变久而价值降低),从设计上需符合Reactive宣言四大部分1. 对事件反应2. 对资源加载反应3. 对失败反应4. 对用户访问反应通过宣言可以总结反思过去软件设计的一些教训,比如:1. 在分布式系统中把状态做集中式地存储。(可用性、分区性受到挑战)2. 把分布式系统中的一致性问题仅仅交给存储部分

2014-04-18 11:17:43 6275

原创 访客路径分析-Druid实践

一、背景访客分析是常见数据分析的一种,通过如上图(Google Analytics)以比较直观的方式展现用户达到网站后各条访问路径的流失情况,帮助网站优化减少流失率。访客路径分析有如下几个关键点:用户访问的路径通常有多级,默认展开包含着陆页在内的5级路径,支持往后每点击一次展开一级路径(最高支持到10级,再往后意义不大)。每级只展示top 5访问数的网页,每级路径网页之间连接线...

2018-05-04 17:16:53 1208 2

原创 有序漏斗分析-Druid实践

有序漏斗分析一、背景漏斗分析是常见数据分析的一种,通过分析用户在网站的行为,帮助运营人员分析一个多步骤过程中每一步的转化与流失情况。比如定义一次电商活动(指定时间范围比如最长30天)中用户行为:访问网站 -> 到达商品推荐页 → 查看商品 → 生成订单,统计用户从访问网站到下订单完成转化的数据就自然地形成了一个漏斗。通过上述描述得出几个关键词:用户行为有序分析有转化时...

2018-05-02 15:21:20 2553

转载 分布式系统唯一ID生成

转载至:http://darktea.github.io/notes/2013/12/08/Unique-ID本文主要介绍在一个分布式系统中, 怎么样生成全局唯一的 ID一, 问题描述在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID?在单机系统中 (例如一个 MySQL 实例

2015-12-18 10:08:14 3463

转载 java运行

java 参数:-Xms128m表示JVM Heap(堆内存)最小尺寸128MB,初始分配-Xmx256m表示JVM eap(堆内存)最大允许的尺寸256MB,按需分配。说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try...catch捕捉。P

2015-11-03 17:42:48 523

原创 Druid简介

Druid是一个用于大数据实时查询和分析的高容错、高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析。特征:为分析而设计——Druid是为OLAP工作流的探索性分析而构建,它支持各种过滤、聚合和查询等类;快速的交互式查询——Druid的低延迟数据摄取架构允许事件在它们创建后毫秒内可被查询到;高可用性——Druid的数据在系统更新时依然可用,规模的扩大和缩小都不会造

2015-10-20 13:46:04 1088

原创 再谈面向对象多态及C++实践

多态特性:提起面向对象,很自然地想到三大特性:封装、继承、多态。他们的目录分别是:1. 封装,使代码模块化封装内部结构和状态。2. 继承,用于扩展原有代码。3. 多态,方便接口重用,通过同一接口和传入的对象调用适用于不同对象的实现。多态在运行时绑定函数,而非多态则在编译期就已确定了函数的调用地址。从架构设计的层面来看多态有什么好处呢?将源码和运行的依赖进行反转。通常

2014-11-27 15:14:48 969

转载 Linux磁盘管理之LVM与RAID(转载)

1. 传统磁盘管理问题当分区大小不够用时无法扩展其大小,只能通过添加硬盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原来磁盘中的数据导入。2. LVMLVM(Logical Volume Manager)逻辑

2014-09-12 09:41:23 709

原创 MongoDB应用实践思考

最近研究MongoDB,利用其可以简单快速地搭建一套灵活的no schema存储系统。本文通过论证和分析需求,利用MongoDB快速搭建了一套具有良好性能及可用性满足上亿规模的存储系统。在关于NoSQL数据库的选型上,需要结合自身数据模型、访问方式以及成本等方面的考虑作一个权衡(trade off)。那么经过研究MongoDB(2.6.4版本)有如下特点:可用性

2014-09-11 11:09:57 1413

原创 软件设计的思考

关键词:trade off、资源限制、人力、空间、时间最近有幸参与到新的项目设计开发中,结合工程实践中的经验与教训发掘可从资源调配的角度来思考架构设计问题。工程中的软件设计是什么?即在资源有限的条件下,控制成本并作出资源整合效率最大化的配置的设计。那么结合计算机系统可从以下几个关键点考虑:1. 人力资源:现实生活中人力资源相比机器更为昂贵,比如你要付员工工资、开发维护系

2014-08-16 09:28:37 691

原创 MongoDB简单学习

1. 与传统RMDBS的对比MongoDB作为一款NOSQL数据库,相比传统的关系型数据库如MySQL的一大特点就是数据模型上的无模式定义,在获取灵活数据模型的同事,又在特定的环境中表现出绝佳的性能。学习MongoDB从数据的结构定义上入手可与MySQL做对比如下:mysql  ---> mongodbdatabase --> databasetable --> collect

2014-08-10 22:42:21 790

原创 Git使用入门

Git作为一种版本控制系统广泛应用于软件开发协作当中。Git有其自身的系统与开发哲学这里不做过多深究,本文只针对工作实践中的需求,让开发者能够快速set up。1. git 简明指南 http://rogerdudler.github.io/git-guide/index.zh.html可供快速入门上手2. 图解git http://marklodato.github.io

2014-05-03 12:45:20 761

原创 软件与经济学 (开发篇)

跨界、混搭、连接。在当前基于互联网的这个世界中以上3点有着别样的魅力和潜力。经济学是人类发展过程中的产物,其揭示了客观事物的运行规律。其中经济学3大命题:1. 生产什么2. 为谁生产3. 怎么生产谈得是生产力的问题,我觉得同样也适用于“科学技术是第一生产力”的IT行业的软件开发当中。未完待续。。。。。。

2014-04-24 16:12:37 823

原创 ubuntu环境ceph配置入门(二)

快速配置好ceph存储集群环境的基础上,可以相关的对象操作:1. 设置osd pool min_size首先通过rados命令查看pool如下:#rados lspoolsdatametadatarbd默认的osd的min_size数量配置为2,这里以一个osd为例需要将其设置为1ceph osd

2014-04-23 10:33:54 11277 1

原创 ubuntu环境ceph配置入门(一)

环境:ubuntu server 14.04 64bit正常情况下应有多个主机,这里为了快速入门以一台主机为例,多台主机配置方式类似。

2014-04-23 10:07:56 11790 2

原创 服务端性能分析优化

要提高服务端处理的绝对性能和伸缩性,通常分析以下几点:1. 数据拷贝2. 上下文切换3. 内存分配4. 锁的争用

2014-04-21 15:42:32 1004

原创 ubuntu无线上网静态ip配置

安装完ubuntu server版后,需要配置相关上网的设置,这里以14.04版为例说明无线上网的静态配置(有线上网配置类似)。1. 安装wpasupplicant在ubuntu 14.04中默认自带,利用该工具生成无线上网的psk码2. 根据无线上网的SSID和密码生成wlan相应的配置文件命令如下:#wpa_passphrase 要连接的SSID 密码 >

2014-04-20 19:50:34 11063

原创 元数据的理解

最近在项目当中,沟通中常提到一个元数据,但是这个词我发现不同的人对此理解不同而导致了沟通障碍。所以写篇博客澄清下,在一个成功的项目中,大家首要工作的是统一语言统一概念这样才不会持续地造成理解偏差。元数据:即”数据的存档“,作用是帮助理解和使用数据。但是同样的词有以下3种不同的类型:描述型元数据 :帮助你找到需要的数据 (比如一个文件的自定义属性常见的有评论、标签 )

2014-03-17 10:37:26 854

原创 从开发人员角度看待性能基准测试

对一个开发人员来说,除了保质保量按时完成功能需求外,非功能也不可忽视。决定一个软件的成败往往是非功能性需求比如性能,若是用户体验不好那么必定是个失败的作品。那么一个开发人员如何去做关于自己模块又或者整体的基准性能测试呢?以下将从测试的切入点和具体测试的指标来说明。切入点:通常,基准性能测试有两个切入点,一方面可以通过从整体系统的角度做一个全栈式(即打通上下各层)的性能测试用

2014-03-03 09:54:51 1095

原创 关于秒传文件技术的一些问题

最近项目要实现一个被各大网盘广泛使用的“忽略式快速上传文件技术”。查阅了相关资料,一方面关于该项技术的深入讨论很少,另一方面关于该项技术的专利少且谈得不够深入。其中最大的一个问题是关于内容的保存问题。大多数网盘由于近乎无限的存储,对他们来说用户上传的内容可以看做永远保留在他们的后台,用户删掉的只是用户自己网盘中对于真实内容的映射关系而已。而我们的项目当中由于存储空间有限,那么以为着需要及时

2014-02-28 10:27:32 3177

转载 领域驱动设计建模思考与实践

软件的核心是为用户解决领域相关的问题的能力,其他特性都要服务于这个基本目的。领域驱动设计告诉我们如何做好业务层,并以领域驱动设计思想来选择合适的框架,通过关注领域模型而不是技术来创建更好的软件。领域模型是通过逐步演化学习得来的,这当中体现了对相关领域知识的提炼归纳,是无法复制抄袭的,是整套软件最具价值的部分。软件设计的目的是研究如何使用计算机来解决实际(领域)问题,而不是去研究数据应该如何保存更合

2013-11-08 15:50:31 1219

原创 MySQL优化实战

1. 优化数据库表结构要想获取好的性能,首先在设计数据库表时就应考虑。ETS的表设计为:objectId, parentId, otag其中objectId为非空主键。在使用当中要常利用objectId查询并添加记录,根据parentId查询具有相同父对象ID的子对象objectID记录,故因将objectId和parentId分别建立相应的索引提高查询性能。2. 优化

2013-08-29 16:00:14 702

转载 DNS域名解析 linux /etc/resolv.conf

配置如下:domain localhostsearch XXX.XXX.XXXnameserver 192.168.1.6解释:1. domain 定义本地域名,如果没有域名,主机名将被使用。2. search 定义域名的搜索列表,查询没有域名的主机时,主机将在由search 声明的域中分别查找。domain 和search 不能共存;3. nameserver

2013-08-09 11:07:12 2257

原创 UML学习

利用use case描述用户的价值,一个完整用例的定义: 参与者 前置条件 场景 后置条件用例:描述一件事物通常从3个方面去进行: 1.  结构 (事物的本质) 2.  功能 (事物可利用的价值) 3.  使用者观点 (事物对使用者的意义)软件恰恰就是一种还不存在的东西,我们不能从结构、功能的观点去描述它,最好的方法就是从使用者的观点去描述它。产品认同感:假

2013-05-29 09:55:58 589

转载 Overload Overwrite Override的区别

Overload(重载):在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数或返回值不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。Override(覆盖):指派生类函数覆盖基类函数(1)不同的范围(分别位于派生类与基类);(2)函数名

2013-05-27 08:37:28 756

原创 计算机学习历程--用书

《我的第一本C++书》:C++入门书籍。《C++ Primer第4版》:C++经典著作,必要时当做工具书查阅。《C++编程规范 101条规则、准则与最佳实践》:规则编程、改善代码质量、C++实践的进阶。《C与指针》:C编程入门书籍,深入对指针的探讨。《你必须知道的495个C语言问题》:C语言编程实践中常见问题集。《数据结构与算法分析 C++描述 第3版》:全面介绍了数据结构与算

2012-07-15 14:59:28 706

原创 Linux 入门级学习笔记

pwd (显示当前目录)/etc/inittab id:[0123456] 3和5 运行级别 3多用户有网络状态 5图形界面修改错误配置方法进入grub引导界面,输入e选中第二行,输入e在最后输入 1 单用户级别mkdir rmdir (删除空目录)more 显示文件内容,带分页less 显示文件内容grep 在文本中查询内容  grep "abc"

2012-05-26 18:23:57 452

原创 C/C++ 内存布局

C/C++程序运行时,内存区域的使用主要由下面几部分组成:1. 栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2. 堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由系统回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3. 全局区(静态区)(static):全局变量和静态变量的存储是

2012-05-01 22:17:46 1400

转载 linux环境下的c++编程之工具篇

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样。Emacs, vi, eclipse, anjuta,kdevelop等层出不穷。        Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户。例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc

2012-04-25 15:57:36 773

转载 算法的力量(李开复)

算法是计算机科学领域最重要的基石之一,但却受到了国内一些程序员的冷落。许多学生看到一些公司在招聘时要求的编程语言五花八门,就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实,大家被这些公司误导了。编程语言虽然该学,但是学习计算机算法和理论更重要,因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原

2012-04-23 08:50:00 9844

原创 Linux 终端实用命令

终端的清屏:reset clearCtrl+L

2012-04-19 15:23:42 559

转载 权限系统概要

前言:权限往往是一个极其复杂的问题,但也可简单表述为这样的逻辑表达式:判断“Who对What(Which)进行How的操作”的逻辑表达式是否为真。针对不同的应用,需要根据项目的实际情况和具体架构,在维护性、灵活性、完整性等N多个方案之间比较权衡,选择符合的方案。目标:直观,因为系统最终会由最终用户来维护,权限分配的直观和容易理解,显得比较重要,系统不辞劳苦的实现了组的继承,除了功能的必

2012-04-11 11:13:53 410

原创 Linux 下gcc,make的使用

1.gcc的简易用法:# 仅将原始码编译成为目标档,并不制作连结等功能:gcc -c hello.c# 会自动的产生 hello.o 这个文件,但是并不会产生 binary 运行档。# 在编译的时候,依据作业环境给予最佳化运行速度gcc -O hello.c -c# 会自动的产生 hello.o 这个文件,并且进行最佳化喔!# 在进行 binary file 制作时,将连结的函

2012-04-05 11:16:28 751

转载 海量数据处理面试题

原文网址:http://blog.csdn.net/v_july_v/article/details/7382693

2012-03-28 11:01:52 390

转载 Linux必备命令技巧学习

如果在本文中遇到不太熟悉的命令,可以在终端中键入以下命令寻求帮助。Man  Where there's a shell, there's a way. Linux入门必备了解bash:没有必要钻研长篇累牍的bash使用手册,通过man bash学习即可。了解vi:你在工作中也许会使用Emacs或Eclipse,但vi不可替代。了解ssh:学习无密码验证的基础知识

2012-03-23 21:34:04 551

转载 C++中的内存对齐

C++的一道题#include "iostream"#include "string"using namespace std;//#pragma pack(1) struct student{ char name[17]; double j; char sex; char g; char h; }stu;struct s{ char name[

2012-03-23 14:12:24 650

原创 Linux下Java环境配置

1、安装JDK1.6(1)下载JDK           jdk-6u31-linux-i586.bin(2)把下载的jdk-6u31-linux-i586.bin文件copy到你想安装的目录下,应用程序一般放到/usr/local 下          sudo mkdir /usr/local/java             sudo cp /home/jdk-6

2012-03-05 16:37:59 860

原创 人工智能

机器学习:软件系统能从已有的经验中抽象出普遍的规律,然后利用这些规则回答各种问题,包括曾经遇到过的和不曾见过的。

2012-02-25 18:50:10 622

转载 流形学习

转载至:http://hi.baidu.com/zzcache/blog/item/87cd10cef40a9b3eb700c86c.html流形学习是个很广泛的概念。这里我主要谈的是自从2000年以后形成的流形学习概念和其主要代表方法。自从2000年以后,流形学习被认为属于非线性降维的一个分支。众所周知,引导这一领域迅速发展的是2000年Science杂志上的两篇文章: Isomap and

2012-02-16 16:17:48 892 1

原创 机器学习入门资料

当前较新的机器学习理论是:流形学习(manifold learning),高斯过程(Gaussian processes).流形学习:http://hi.baidu.com/zzcache/blog/item/87cd10cef40a9b3eb700c86c.html流形学习门槛相对高些,需要泛函和黎曼几何的知识高斯过程:一个比较古老的统计学的概念,随着核学习(ke

2012-02-16 16:14:54 1563

用GDB调试程序

gdb调试技术入门的好资料,作者用例子逐步说明

2012-05-24

机器学习十大算法

互联网公司招聘,数据挖掘技术入门算法,内附英文原版算法内容

2012-02-02

JAVA SE 核心学习笔记

java很好的学习笔记。都是pdf格式,方便大家阅读

2009-05-08

Pro Web 2.0 Mashups Remixing Data and Web Services

web核心技术mashup一本很好的电子书。

2009-03-28

空空如也

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

TA关注的人

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