2014-04-25 Xiaosong Gao
说明 类别名可以随便取。 类别是一个类,它是添加了新功能的现有类。 使用类别就是为了能够为现有类添加新的方法,不用继承该现有类,就可使用现有类的对象调用添加的方法了。 类别可以使类的实现分散在多个文件中。 类别中不能有变量,类别中没有放变量的位置。 如果类中的方法和类别中的方法名称相同,这将造成冲突,类别的方法将完全取代类的方法。 同一个类的不同类别声明了相同的方法,这将导致不稳定,哪个方法会被调用是不确定的。 不建议在类别中覆盖类中的方法,因为在类别中的方法不能调用superClass的方法(因为没有元数据支持)。 类别方法不能覆盖于同一个类的其它类别中的方法。因为无法预知他们的加载优先顺序,就可能在编译时出错。 对类库的类别方 继续阅读 »
2015-03-13 刘太华
项目的socket短连接服务, 采用的是MVC模式, 玩家的某个功能对应的就是一个Model, 每个Model之间数据是独立的, 当然这些Model是继承于一个父类. 对数据的操作都是在实现的Model里进行, 对数据的保存操作(save)我们都建议是在Controller里进行的, 这么做的好处是显而易见的, 玩家各个功能之间数据安全性得以保证, 同时也保证在某个功能产生bug的时候, 各数据之间互相不污染. 比如一个连接进来了, 可能会涉及多项Model的数据更改和保存. 在Controller里, 可能会有多行对应各功能Model的 obj.save()操作: 继续阅读 »
2015-09-16 Piasy
建议:函数调用的时候,调用方传给被调用方的参数,如果在调用之后还会被修改,那么调用方应该给被调用方传一个当时的拷贝,深拷贝,否则将会导致潜在的bug: 可能被调用方是异步执行的,如果调用函数之后,参数发生了修改,那么被调用方执行的时候,看到的就是被修改之后的数据,这将导致严重、隐蔽、非必现的BUG,而这种BUG是最让人头疼的 可能被调用方会修改传入的参数,这就导致函数执行完毕之后,调用方看到的数据发生了非预期的变化,这同样会导致严重、隐蔽的BUG 继续阅读 »
2018-01-30 LEo
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 如何打印更易读的类 不推荐方式 ```python class Point(object): def init(self, x, y): self.x = x self.y = y 继续阅读 »
2018-08-13 LEo
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 排列组合 示例程序: ```python !/usr/bin/env python coding=utf8 import itertools 继续阅读 »
2016-05-31 litaotao
写在前面 计划是每月读 5-10 本书,书籍类型大概是三个方面的:金融,技术,创业。之所以选择这三个方面,一方面是因为自己对这三个方面都很有兴趣,其次是被 linkedin 创始人 Hoffman 的 ABZ 理论 深度影响。建议大家都看看 abz 理论那篇文章,如果我有空,也会整理一些常用的这类理论模型到博客里的。 继续阅读 »
2017-02-09 Bruce Wang
啥都不说, 直接先来一张效果图...... 小伙伴们,别急,咱们先来分析一下主要功能点: 图片预览 图片拖拽 图片缩放 图片裁剪 图片预览 图片预览的功能技术方案是将用户的图片文件转成Base64编码并设置到标签的src属性,获取图片文件的Base64编码需要通过HTML5的新特性FileReader,具体代码如下: js getImgBase64: function(imgFile, cb){ if(!window.FileReader){ alert('系统暂不支持针对你的浏览器的文件上传功能,建议使用最新版的Chrome!'); return false; } var reader = 继续阅读 »
2018-01-25 LEo
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 如何创建指定长度且有特定值的list 不推荐方式 ```python list1 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] print list1 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ``` 继续阅读 »
2014-11-21 码农明明桑
在几个月之前,我已经写过一篇使用gradle构建android项目的博客了http://blog.isming.me/2014/05/20/android4gradle/,那篇文章已经介绍了如何使用gradle进行项目构建,以及为谷歌会推荐使用gradle。当时android的gradle插件是0.11.0,现在插件的版本已经是0.14.3了,对于一些老的方法和api,有一些已经被移除,无法使用。因此有必要再写一篇博客介绍这些被移除的部分和替代方案。同时由于个人学识原因,当时没有介绍的一些技巧,其他功能,也会在本文中进行介绍。 more 和上一篇文章相比不兼容的地方 没有看过我另一篇文章的,建议去看一下。 以下这些属性改名 继续阅读 »
2018-08-16 LEo
这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 lambda ```python !/usr/bin/env python coding=utf8 add = lambda x, y : x + y print add(1, 2) 3 继续阅读 »