自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据、数据仓库和ETL

一、背景     大量原来线下的业务电子化之后,产生了很多的数据,这些数据除了能够支撑业务正常运转,也能够使分析人员针对整个企业的运转情况进行分析。比如,本周与上周相比销量增加还是减少了?原因是什么? 产品的库存周期长了还是短了?哪些产品需要及时补充库存?哪些供应商提供的商品,成本低、质量好、及时供货、客户比较喜欢?哪些地方的支出变多了?用户对我的产品满意吗?客户发生了哪些变化?需要招人吗?...

2018-07-27 20:50:52 3511

原创 spring4 系列一 概览

零、前言java是静态类型语言,为了能达到动态类型语言的效果,需要支持1、控制反转(转给web容器):调用实现的地方写死在代码里不灵活,所以写在xml中。2、依赖注入:在需要的时候由容器来注入需要的对象,是具体被反转的东西3、aop:利用反射进行hack,对于原生支持函数式编程的语言来说根本不需要这种hack的机制4、java.lang.instrument 实现对jvm和c...

2017-05-03 14:28:24 156

原创 Dubbo源代码解析

一、Dubbo源代码层次结构common(io序列化、store、线程)+ cofig + 容器containerremoting 远端通信(TCP、编解码、buffer、req/resp、消息分发)->mina netty http p2p zookeeperRPC(协议、调用者、proxy、filter、tps)RMI、http、redis、memcached、inj...

2017-04-26 16:36:59 184

原创 计算理论

计算理论研究问题 :计算机的基本能力和局限性是什么? 一、概述1、计算复杂性 排序简单、排课表难,到底有多难?2、可计算性 某个问题到底能不能用计算机解决,数学命题的真假就不能3、自动机:描述什么是计算机(计算的形式化描述),即抽象的理想的计算机模型。有些模型能解决具体的问题,但是某些能解决通用的问题  二、 自动机 1、不用人参与,自己可以一直走下去...

2017-04-18 16:35:50 508

原创 公募基金主要业务逻辑

一、概念范畴资管=基金 + 信托 +银行、保险、券商、期货等资管基金=公募、私募、风投、对冲、另类(房地产、高速、艺术品、黄金、商品等)二、公募基金涉及到的角色人(账户)、 钱、基金、管理人、经纪人、银行、托管人。其中最核心的关系是账户、基金、钱三、基本操作(户、券、钱、费、风控)1、开户(风险评估)、销户、修改资料、撤销、确认2、(预约)认购、申购等的申请、付...

2017-04-18 14:08:16 2342

原创 第三方支付浅析

第三方支付浅析1、线下pos消费涉及到的角色客户 商家 收单机构 发卡行 银联 人民银行 收单行2、基本流程支付过程:客户刷卡(借记卡);收单机构用pos机找发卡行发支付申请(里面带订单金额等信息);发卡行发回鉴权信息;客户检查订单,并输入密码等进行授权;发卡行处理支付;发卡行向收单机构发送支付成功信息;收单机构pos要求客户签字并打印凭条;收单机构将钱转给收单...

2017-03-30 18:31:38 174

原创 python对于时间的抽象

datetime.date 包含year, month, day的日期    核心api:        date.fromtimestamp(timestamp) 从时间戳来构造        timetuple() 生成时间数据结构 time.struct_time((year, month, day, 0, 0, 0, d.weekday(), yday, -1))  ...

2017-02-10 14:47:51 121

原创 yarn 概述

yarn 概述hdfs上面的资源管理和计算框架 一、角色划分http://www.cnblogs.com/chushiyaoyue/p/5784871.htmlResourceManager rm; 总控 = 调度器 + 应用程序管理器NodeManager nm;具体节点ApplicationMaster am; 应用Container是一个动态资源分配单位,它...

2017-01-16 16:36:48 160

原创 hdfs 概述

hdfs 简单说是分布式的文件系统  一、hdfs的角色划分client:分blockNameNode:是Master节点。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。...

2017-01-16 16:24:10 137

原创 机器学习知识梳理二

常见模型和算法 一、线性模型 Y=WX + b  简单,易于解释(同时受多个因素的影响),可以被复杂算法使用1、求解方法,使用最小二乘法(线性回归) 也叫感知机2、广义线性回归:线性模型的函数 y = g(WX+b)3、越阶函数 y = 1/(1 + e^-z)   对数线性回归 近似模拟对数几率回归4、线性判别分析 LDA(linear discriminant ana...

2017-01-09 17:36:45 333

原创 机器学习知识梳理一

一、统计学概要    1、研究X与Y之间的关系,最理想的是找到一个映射,使得Y=f(X),但是实际当中很难找到,也就是搞不清楚X与Y之间到底是什么定量的关系,宏观上表现出来的就是结果的不确定性。尽管,每一次输入X时,得到什么Y是不确定的,但是当重复次数足够多时,出现某个结果的可能性可以计算出来的,研究这种微观的不确定,但是宏观上是确定的学科就是统计学。    2、大数定律: 实验次数足...

2017-01-05 15:38:02 181

原创 几个概念

计算机=计算+信息程序=算法+数据结构信息:文件->数据库->数据仓库->大数据计算:冯诺依曼->算法->机器学习技术层次结构:OS 网络 数据库 编译 安全 ==》机器视觉 分布式 数据挖掘 自然语言处理 机器学习总体趋势:机器更像人,能听、能看、能说、能尝BI=ETL(Extract-Transform-Load)+data mining + data pre...

2016-11-16 22:18:48 105

原创 多线程编程和java的抽象

java线程状态http://my.oschina.net/mingdongcheng/blog/139263死锁:彼此都在等对方释放的锁,结果永远等下去阻塞:因为缺少某个条件,导致让出了cpu,并且不再是就绪状态。类型分为等待阻塞(o.wait)对应waitting queue、同步阻塞(lock)对应lock pool、其他阻塞(sleep、join、同步IO,满足后自动变成就...

2016-08-30 17:04:43 122

原创 继承环境下java初始化顺序

一、示例代码package javaDemo;class Parent {public static String p_StaticField1 = "父类--静态变量1";// 变量public String p_Field = "父类--变量";protected int i = 9;protected int j = 0;// 静态初始化块static...

2016-08-15 14:27:41 297

原创 mysql和存储引擎知识点整理

mysql和存储引擎知识点整理基本概念:    1、索引:为了快速查找(外存)而建立的数据结构。当数据很大时,因为可能本身很大,所以一般是存在外存的。    2、存储引擎:可以认为是mysql的后端,前端是sql解析和处理;中端是sql优化等    3、为什么b+树比红黑树好?b+树深度小,索引表的级数少,进而需要的磁盘io次数少(一次读出大量比多次读少量要快很多)    ...

2016-06-15 14:36:53 93

架构设计思考

架构设计思考    一个大项目需要有人做全局的架构设计,也就是需要所谓的架构师,通过几个项目的历练,现对架构的设计做一些思考的整理。一、架构设计要做的事情    1、横向切分抽象的层次和功能间的依赖关系,假设实现语言是java,产出可能是子工程、包名、子包名、接口名等。这一部分也涉及到选用哪些开源的组件或代码    2、纵向的切分子系统、子模块、服务等    3、各个部分间的交互和解耦,包括ser...

2016-04-13 21:05:01 106

netty学习总结

netty学习总结一、前言    原本高性能的server一般是用c写的,后来java提供了nio aio,所以现在用java来写也算是个可行的方案。二、高性能server要解决的问题    1、异步socket    2、异步IO    3、多协议支持(传输层之上)    4、减少内存碎片    5、减少锁的影响    ……三、netty的解决方案    1、使用java的nio,最好是aio(...

2016-03-12 18:49:38 116

unity中的几个目录

一、androidApplication.dataPath       /data/app/xxx.xxx.xxx.apkApplication.streamingAssetsPath      jar:file:///data/app/xxx.xxx.xxx.apk/!/assetsApplication.persistentDataPath        /data/data/...

2015-07-09 11:41:14 220

原创 Cocos2dx android 部分代码的理解

Cocos2dx android 部分代码的理解 一、概述  基本上是搭建了基本的android app的架子,并对一些系统相关的功能进行了封装二、java部分的细节1、入口是 Cocos2dxActivity = Cocos2dxHelper + Cocos2dxGLSurfaceView2、Cocos2dxHelper 封装系统相关的功能(声音、音效、资源、目录、压...

2013-12-25 15:38:20 120

原创 关于cocos2dx的主循环

关于cocos2dx的主循环1、调用栈cocos2d::CCDirector::drawScene()  Line 268C++cocos2d::CCDisplayLinkDirector::mainLoop()  Line 1055C++cocos2d::CCApplication::run()  Line 67 + 0x20 bytesC++2、drawScene主逻辑...

2013-08-02 15:32:59 170

原创 关于cocos2dx中的摄像机

关于cocos2dx中的摄像机1、CCCamera 默认是从前往后看(center是原点,eye的z值很小,方向是z轴),所以z值越大,越是在前面, 2、球坐标:原点是圆心,仰角theata(从z轴开始),方位角 fai,一般数学坐标系中的逆时针角  3、 CCOrbitCamera::create(float t, float radius, float deltaRadius, ...

2013-08-02 15:02:11 531

原创 cocos2dx内存相关注意

cocos2dx中内存管理要注意的地方1、工厂函数create中要注意使用autorelease,体现 谁取得谁释放 的原则 2、如果是直接new出来的,add进入到别的node之后,注意release一次(因为new时引用计数是1),这样在父类进行release时刚好可以释放掉3、CCArray CCDictionary 实现了对CCObject的管理,使用之前记得数组本身要r...

2013-07-16 17:51:08 98

原创 cocos2dx游戏的客户端整体框架设计

cocos2dx游戏的客户端整体框架设计:  一、传统的方式    直接在每个场景中放置具体的sprite、node、effect等,之后在update中根据game State来进行update的操作,缺点是update中的逻辑异常复杂,代码很难维护  二、分布式的方式  初始化时:    GameScene添加具体的layer,递归的添加每个entity;可以有个Gam...

2013-07-03 13:50:37 602

原创 成员函数指针实现的回调

成员函数指针实现的回调 1、回调的类型设置成基类的成员函数,每次set时进行转换2、回调的参数是menuItem自身3、回调的实现是 m_pListener->*m_pfnSelector)(this);  即初始化的时候,设置的是监听者(负责处理回调的指针),   回调内的参数是被点击的对象指针,一般情况下 这2个是一致的。   例子:cocos2d-x中的实...

2013-06-24 10:48:02 129

原创 android中的多线程

android中的多线程一、基于消息队列的handler机制,别的线程与自己进行交互,需要使用消息队列,这样可以实现功能的分离和处理的异步,Android中对消息队列进行了封装,具体的:1、Looper 负责维护并发安全的消息队列2、handler 负责进行消息的入队、出队,以及消息的处理函数 void handleMessage(Message msg)3、Message...

2013-06-22 13:52:49 109

原创 unity3d中的坑和解决方案

unity3d中的坑和解决方案     unity3d是一个很牛x的引擎,当然其也有一些东西是不太好或者说不习惯的,下面列举一些:1、制作特效时,使用animation记录的位置是相对位置,如果直接放到别的节点下会出问题;    解决方法:在特效根节点的上一层加上一个transform是(0,0,0) (0,0,0)(1,1,1)的父节点,之后再使用和处理父节点2、使用NGUI制...

2013-02-05 14:25:13 444

原创 一些比较出名的开源库和框架

一些著名的开源项目:0ad 3D游戏ACE 网络框架CEGUI 界面库boost C++库cocos2d 游戏库delta3d 游戏引擎OGRE 渲染引擎facebook-hiphop php引擎d2x-xl 游戏hadoop 分布式文件系统mangos wow 模拟serveropencv 图形库tbb 并发库...

2012-07-08 09:48:19 228

原创 mangos 的执行模型

mangos 的执行模型一、线程分布:1、主线程 main---- Master::Run() ,主要功能:初始化world、创建子线程、回收资源2、WorldRunnable -------GS主线程3、CliRunnable -----后台调试线程4、RARunnable -------事件处理和分发线程5、MaNGOSsoapRunnable---协议6、Free...

2012-06-21 00:13:44 98

原创 集成spiderMonkey

集成spiderMonkey文档 :https://developer.mozilla.org/En/SpiderMonkey/JSAPI_User_Guidehttps://developer.mozilla.org/en/How_to_embed_the_JavaScript_engine一、hello world基本流程: JS_NewRuntime JS...

2012-06-19 17:31:55 118

原创 linux 网络模型

linux 网络模型一、基本概念:1、多路复用: 一根网线可同时传递多个信号(时分或频分复用)2、linux内核的作用:管理、调度进程,管理内存,管理外设(文件描述符)、驱动程序、网络(先管理再分发)3、linux中所有外设都是fd(文件描述符),socket也是一种文件4、非阻塞IO:机器中只有一个网卡,在多路复用环境下,应用程序需要进行网络IO,这时如果网卡还没准备好,应用...

2012-06-08 17:23:19 148

原创 3D MMORPG客户端的一般架构

3D MMORPG客户端的一般架构一、前言 通常说的游戏指的是real-time interactive video game, 这里面交互性指的是玩家的操作会影响画面的显示(这是与电影、动画片等的区别),由于系统会对玩家的操作进行反馈,所以这类的游戏更真实,更吸引人,real-time 是指玩家的操作、环境的变化必须要实时的在画面上表现出来。普通PC上运行的客户端游戏是video ...

2012-05-16 16:58:30 411

原创 关于各种编码总结

关于各种编码总结一 、背景知识 1、计算机中所有的数据都用01串来表示,至于一串01到底代表什么是由软件来设定的。 比如:01111101111101010111110111110101 可以理解为一条指令,也可以理解为4个字节的char字符,具体是什么要看这个数据是在代码段还是数据段。 2、字符是人看到的显示效果(实际上人看到的是字符对应glyph渲染到屏幕上...

2012-05-03 18:04:40 134

原创 lua的并发哲学

lua的并发哲学实现并发:1、多线程(本质是共享内存数据、所以要同步多线程) 2、协程(本质是单线程、需要保证不阻塞)协程的好处:1、不用线程调度所以可以更充分利用cpu、2、不处理线程同步减少bug、3、不会为了效率而故意打断逻辑上一致的代码块(所有有IO的地方后续的代码都要放在回调里), 虚拟机内部在IO函数上yield和resume,回调对用户是屏蔽的...

2012-04-27 13:49:35 267

原创 lua 源代码解析

lua 源代码解析源代码版本:lua-5.2.0一、概览1、lua脚本中暴露的库相关lbaselib.c - 基础函数库(方便使用lua内部的功能)lbitlib.c - 位运算库lcorolib.c - 协程库lstrlib.c - 字符串库,提供通用字符串处理功能 lstring.c - 字符串表(保存所有由Lua操作的字符串集合)lmathlib.c...

2012-04-26 17:57:21 509

原创 网游服务端核心技术概述 一

网游服务端核心技术概述 一一、反外挂 方案:心跳、个性化脚本验证、图片验证、Apex Protect等二、脚本系统 满足策划变态的需求变更, 方案:类似lua的脚本系统三、数据安全 添加dba之类的中间层四、高并发 协程加消息队列,实际上就是尽量不让cpu等待,--------------大系统的瓶颈都是数据库五、多连接多层架构,至少...

2012-04-23 17:27:18 136

原创 几种常用编程语言的编程思想和方法

几种常用编程语言的编程思想和方法 搞软件的人,编程语言的掌握是基本功,如果单单是学习语法,最慢的一周之内也应该可以搞定(个人认为 语法层面c++是最复杂的)。不幸的是,软件的本质是逻辑,解决方案的设计是要借助某种解决问题或编程的思想的。本文试图从抽象层面概括一点编程思想方面的东西。一 c语言1、相关概念:实模式、保护模式、调度、中断、调用栈、回调……基本上计算机科学里面的基...

2012-04-23 13:52:05 317

原创 js 设计模式

js 设计模式参考资料:http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/一 单例var SingletonTester = (function(){ // args: an object containing arguments for the singleton // 构造函数在匿...

2012-04-11 16:12:45 112

原创 node.js 的异步模型

node.js 的异步模型一、基本概念 阻塞式IO:cpu一直等到数据准备好了之后才会工作,即从函数调用开始,一直到数据准备好这段时间cpu是干等着的 非阻塞式的IO:数据准备好了之后发一个信号,此后cpu才会处理,即cpu不会干等着 阻塞式:相当于是轮训、非阻塞式相当于是中断 同步执行:语句的先后顺序就是cpu执行指令的顺序 异步执行:写在前面的语句...

2012-04-10 13:42:19 129

原创 高级语言虚拟机 扫盲系列

高级语言虚拟机 扫盲系列本系列文章主要是总结、整理一些高级语言虚拟机实现的原理和方法,希望可以帮助到感兴趣的同学。本系列初步确定会包含如下内容:一 什么是虚拟机?二 运行时环境的基本结构三 脚本层线程的调度四 基本内存管理策略五 jit六 脚本与runtime的交互...

2012-04-07 11:37:07 278

原创 网游客户端使用的外部库

游戏客户端是比较庞大的,一般会使用很多不同的模块,以下是某个网游客户端的头文件目录:boost : boost库及代码cxxtest : 一个自己实现的用于C++的单元测试工具dbfs : 客户端使用 dbfs 文件系统存放资源脚本等东西expat : 一个XML解析器, freeimage : 一个图像处理库freetype : 一个字体引擎,提供统一的接口来访问多种...

2012-04-07 11:36:44 131

空空如也

空空如也

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

TA关注的人

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