2018-11-16 Xie Jingyi
新类型有自己的 data constructor (literals 可以看成特殊的 data constructor),由这一点来区分是否创建了新类型。 data 创建了新类型,可以有多个 data constructor。 newtype 创建了新类型,只能有一个 data constructor,同时新类型的内存布局与原来的类型相同。 type 没有创建新类型,只是建立了 alias,没有新的 data constructor。 type 常用于语义化类型,是业务逻辑层的概念。 ```haskell type ID = Int a = 1 :: ID b = a + 2 -- legal showID :: ID - 继续阅读 »
2014-03-14 Kun Ren
Oftentimes, we obtain a long or a wide table from a certain data source, and it may be the only format we can get. For example, some financial databases provide daily tick data for all stocks in a financial market. The data table may be arranged in a long format like this: 继续阅读 »
2014-02-07 Kun Ren
In both research and application, we need to manipulate data frames by selecting desired columns, filtering records, transforming and aggregating data. 继续阅读 »
2014-04-30 Xiaosong Gao
iOS
一、技术概览 1、Core Data功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 对象图-Object Graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系)成为对象图。对象图可大可小,有繁有简。只包含单个字符串对象的数组就是一个简单的代表;而包含了application对象,引用windows、menus和相关视图对象、其他对象这样的结构就是复杂对象图的例子,这是在说mainwindow.xib。 继续阅读 »
2016-12-22 AnnatarHe
生成二叉树 type Node struct { data string left *Node right *Node } nodeG := Node{data: "g", left: nil, right: nil} nodeF := Node{data: "f", left: &nodeG, right: nil} nodeE := Node{data: "e", left: nil, right: nil} nodeD := Node{data: "d", left: &nodeE, right: nil} nodeC := Node{data: "c", left: nil, right: 继续阅读 »
2015-07-26 刘太华
玩家数据的loader优化 由于历史原因, 最早的时候玩家数据是在2个独立的服务进程中都存在, 游戏场景服务A, 和游戏数据逻辑服务B, A中的数据来自于B, A服务会根据某些逻辑, 触发数据回存, 将数据回存到B, 达到数据一致性要求, 但是随着游戏过程中, 会积累资源比如金币之类的, 这个积累的数据暂时只会存在场景服务A中,后面的运营过程中证明, 这种数据分两份的做法, 是个非常大的坑, 有很多理论上的机会导致数据不一致, 丢数据的问题。 继续阅读 »
2015-06-12 刘太华
单线程游戏玩家数据加载方案 我们一直在使用单线程的场景服务器,基本符合由MUDOS发展而来的精简MMO场景服务的模型. 单线程的优点很明显, 安全, 简单, 逻辑清晰, 不会绕死自己的脑细胞, 避免很多多线程下的坑. 但是玩家的数据并不直接由gameserver(也就是scene server, 以下都简称gs)读取, 而是另外一个由python写的服务负责, 这个py服务负责所有玩家需要保存的数据的保存工作, 比如金币, 等级, 各种养成系统。 继续阅读 »
2017-03-22 Borg
Ionic 页面间传递数据 Ionic 页面间传递数据方式: NavController, NavParams Modal Provider Events 以下以页面A转换到页面B为例 NavController 继续阅读 »
2014-04-05 Kun Ren
As we know, a Brownian motion is usually formulated as $$dx_t = \mu\,dt+\sigma\,dW_t$$ which is the continuous case of a random walk. In some cases, it is quite convenient to use this formulation to describe the characteristic of asset prices due to its highly unpredictable behavior. 继续阅读 »
2015-03-13 刘太华
项目的socket短连接服务, 采用的是MVC模式, 玩家的某个功能对应的就是一个Model, 每个Model之间数据是独立的, 当然这些Model是继承于一个父类. 对数据的操作都是在实现的Model里进行, 对数据的保存操作(save)我们都建议是在Controller里进行的, 这么做的好处是显而易见的, 玩家各个功能之间数据安全性得以保证, 同时也保证在某个功能产生bug的时候, 各数据之间互相不污染. 比如一个连接进来了, 可能会涉及多项Model的数据更改和保存. 在Controller里, 可能会有多行对应各功能Model的 obj.save()操作: 继续阅读 »