-
先放参考资料: TypeScript 入门教程 React & Webpack react-typescript-cheatsheet (强推一波,讲了很多react+ts的实践) typescript是javascript的语法扩展。。。好处是提供了类型。。可以在编译(结果为js文件)的时候提供静态的类型检查。。。 typescript的问号语法:标记某个参数为可选。 例子: export class Thread { id: string; lastMessage: Message; name: string; avatarSrc: string; constructor(id?: string, name?: …
Read More -
最近在学习node.js,里面讲到node.js的事件机制使用了观察者模式,因此来学习一下。 观察者模式的目的是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 因此观察者模式又叫发布-订阅模式。 下面放一个简化之后的例子: 1 2 3 #include <iostream>4 #include <vector>5 #include <string>6 using namespace std; 7 class Secretary; 8 // 看股票的同事类(观察对象,观察者) 9 class StockObserver 10 { 11 …
Read More -
Redux是Flux架构的一种实现。 至于Flux架构是什么,可以参考Flux 架构入门教程 粗略得讲,和MVC架构是同一类东西,最大的区别是单向数据流,禁止了Model和VIEW层之间数据的流动。
Read More -
暂时没空从头开始搞...用到哪里先记录一下好了orz 我觉得不行,还是要先大致了解一下。 参考资料: A re-introduction to JavaScript (JS tutorial) 继承与原型链 // 让我们假设我们有一个对象 o, 其有自己的属性 a 和 b: // {a: 1, b: 2} // o 的 [[Prototype]] 有属性 b 和 c: // {b: 3, c: 4} // 最后, o.[[Prototype]].[[Prototype]] 是 null. // 这就是原型链的末尾,即 null, // 根据定义,null 没有[[Prototype]]. // 综上,整个原型链如下: // …
Read More -
首先介绍一个fb家的快速开发react的工具 create-react-app 这个东西依赖node6.0或者更高版本。 关于在ubuntu 14.04上安装node ,可以参考这个链接 发现执行nvm install 6.0会没有任何相应...但是实际上已经安装好了。 接下来安装create-react-app 命令是: npm install --global create-react-app 然后创建一个react app 命令为:create-react-app first_react_app 挂着代理大概需要半小时左右。 或者可以使用淘宝npm镜像: 设置方法为:npm config set registry …
Read More -
用人话就是,主线程传给附属线程一个promise Object,然后主线程想要获取附属线程set给promise Object的值(也就是该线程返回的某个结果),需要通过主线程中的promise object 得到对应的future object(每个promise 对应一个 future),然后调用future 的get方法。如果附属线程没有执行作为参数传入的promise的set方法去返回结果,那么程序就会block住。 1 /* *********************************************** 2Author :111qqz 3mail: renkuanze@sensetime.com …
Read More -
1 std::vector<unsigned char> readFromFile1(const char* filePath) { 2 FILE* file = fopen(filePath, "rb"); 3 std::vector<unsigned char> result; 4 if (file == nullptr) { 5 return result; 6 } 7 8 // 获取文件大小,尽量一次读完 9 size_t fileSize = getFileSize(file); 10 if (fileSize != 0) { 11 result.resize(fileSize); …
Read More -
先放资料: How to use boost::property_tree to load and write JSON How to iterate a boost property tree? 不出现key的方法遍历一个json文件: 1 /* *********************************************** 2Author :111qqz 3mail: renkuanze@sensetime.com 4Created Time :2018年08月17日 星期五 15时29分23秒 5File Name :ptree.cpp …
Read More -
编译某代码,发现报错某函数未定义的引用。该函数的是先前编译得到的动态库中。 先去check了该函数的实现,还有接口与头文件中的声明是否统一。发现没有问题。 然后怀疑.cpp文件没有被编译到,于是在该函数中添加 #pragma message("******************************8") 发现的确被编译到了。 使用nm来查看动态库中的符号表,发现也可以找到这个函数的符号。 于是怀疑编译代码的时候没有链接到该动态库。 于是在make的时候打印详细信息。make VERBOSE=1 发现也的确链接了动态库.... 见鬼了Orz 然后用readelf -s 来查看动态库,惊讶得发现要找的那个符号 …
Read More -
C++11 std::function 是一种通用、多态的函数封装,它的实例可以对任何可 以调用的目标实体进行存储、复制和调用操作 见下面的例子 1 /* *********************************************** 2Author :111qqz 3mail: renkuanze@sensetime.com 4Created Time :2018年07月19日 星期四 17时41分00秒 5File Name :bind.cpp 6************************************************ */ 7 #include <functional>8 …
Read More