2017-02-21 JustWe
作者 :刘丰恺 作者博客:若梦浮生 转载需征得作者本人同意 计算机科学的内容包罗万象,其中的经典的课程也是不胜枚举。但是在这其中SICP(Structure and Interpretation of Computer Programs)绝对是其中的经典和翘楚,在2008年以前SICP的MIT6.001课程历来是CS相关专业必修入门课程。 SICP的核心内容是什么呢?众说纷云,有人说是一本有关Lisp/Scheme的书主要讲函数式编程的思想,有的说是一本有关解释器构造的入门书籍,和我们学过的龙书挂钩,但就我个人而言,SICP作为一本入门书更多的不是担负起介绍某一方面具体的知识的重任,而 继续阅读 »
2017-02-13 JustWe
学伴的最新版中为了减少因为Bug导致的应用崩溃,也跟随潮流使用了Tinker作为程序热修复的工具库。 这里记录一下使用Tinker第三方应用平台的简单配置,以飨后人。 Project Gradle groovy buildscript { repositories { jcenter() } dependencies { // TinkerPatch 插件 classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.1.3" } } Module 继续阅读 »
2017-01-25 JustWe
OJ
之前看了一点《C++模版元编程》,今天突然想起来,打算试一下元编程技巧能不能在OJ中使用。 选择了一道简单的有固定范围的题,比较便于用元编程算出所有的解: 题目描述 Description 有一个数n,求小于等于它的所有质数 输入描述 Input Description n 输出描述 Output Description 一行,每两个质数中有一个空格 样例输入 Sample Input 5 样例输出 Sample Output 2 3 5 数据范围及提示 Data Size & Hint 数据很小(计算客的算素数的题的范围是1000) 由于递归次数不能超过256我在中间按照200为一 继续阅读 »
2017-01-18 JustWe
AppCode 中添加了直接对CocoaPods的关联: 但是直接关联 Ruby SDK 和 CocoaPods 的时候会发现提示错误: ruby Usage of the constant `Pod::SourcesManager` is deprecated, use `Pod::Config.instance.sources_manager` instead (called from /Applications/AppCode.app/Contents/bin/cocoapods_common.rb:4:in `init_master_repo') Usage of the co 继续阅读 »
2016-12-22 JustWe
EventBus 是人们在日常开发中经常会用到的开源库,即使是不直接用的人,也多少借鉴过事件总线的用法。而且EventBus的代码其实是非常简单的,可以试着阅读一下。 源码阅读系列不采用对功能进行归类的方法进行阅读,而是采用一个刚开始阅读源码的视角,从我们平时的API调用,一步步的去理解设计意图和实现原理。 从这里开始 从这里开始吧,我们最常用的地方就是给一个函数添加上注解,我们先抛开apt生成的table,只看这个运行时版本的订阅设定。 ``` java // eventbus/Subscribe @Documented @Retention(RetentionPolicy.RUNT 继续阅读 »
2016-12-20 JustWe
Swift之初见 let常量值 let 表示定义好的常量值,并不一定在编译期确定但是的确只能被初始化一次。 swift let lfkdsk = 1000 // 直接初始化 let lfkdsk : Int // 没有直接初始化要提供类型推倒 lfkdsk = 100 let lfkdsk = 100 + String(1000) // 类型转化要使用显示转换 let apple = 1000 let lfkdsk = "lfkdsk have \(apple) apples" // 类比Ruby的${} 字典和元组 swift var shoppingList = ["fuck 继续阅读 »
2016-12-12 JustWe
cpp
Effective CPP 学习笔记 1.Cpp 是一个语言联邦 2.以const,enum,inline替换 #define 预处理器会带来诸多问题,但还是有很大的用途,所以这条仅适用于能用以上三种的情况。 3.尽可能使用const high-level const :从右至左的第一个const (* 右边 指针自身是const) low-level const :从右向左看的第二个const(* 左边 指针所指对象是const) const成员函数:const的成员函数中是不能对类本身进行改变的所以说是bitwish的,mutable可解决这个问题。 使用const成员函 继续阅读 »
2016-11-10 JustWe
cpp
第二章 转义序列: \ + 1,2,3位的8进制数 或 \x + 全部的16进制数 指定字面量的类型:L'a' wchar_t , u8'hi!' utf-8 字符串字面量 变量:变量是具名的,可供程序操作的存储空间。 const: 多文件之间传递const 对象 要在初始化和定义部分都用 extern 标记 const 不允许常量引用(对常量的引用)但const能绑定非量,const能绑定const ``` c++ double dval = 3.14; const int &ri = dval; //被转化为 const int temp = dval; const int &ri 继续阅读 »
2016-11-01 JustWe
Handler - Message - Looper 说起来也就是这么一回事,Looper实现在Thread中负责不断的循环监听处理Message,要不然Thread运行完就自己关了。当你不需要的时候就可以把Looper关了,线程就自动运行完了。 Message 实现了序列化接口,what区分类型,arg的参数使用简单的整形,obj存储对象,data存储一个bundle,target是一个Handler。剩下的就是搞了个对象池回收Message,所以才会推荐用Message.obtain()来新建,其实就是从回收池里拿东西。 总之没什么好说的。 Looper ``` java 继续阅读 »
2016-09-08 JustWe
作者 :刘丰恺 作者博客:若梦浮生 转载需征得作者本人同意 之前试着在Android平台封装了一个轻量级的游戏开发框架JustWeEngine ,因为是轻量级的所以也没想太多,很多地方的处理都不太够,比如关于碰撞事件的处理,就是一个简单的On2的遍历,前一阵还被吐槽了233333。 其实优化On2碰撞的思路是一而贯之的,就是不去处理根本不可能撞在一起的对象。所以就文章讨论一下我了解的在游戏开发中经常被使用的碰撞机制。 示例图 图示是使用了四叉树进行碰撞判断的一个图示,变成紫色的是从四叉树中拿取的离我最近的可能碰撞对象,这里我们只需要处理最近的四个对象就可以了,这个demo感谢F 继续阅读 »