-
20181014update: 可以不写了,开心 迫于生计,要从零开始学习前端。 由于之前的to do list 年代久远+ 前端的技术栈可之前几乎没有关系,因此新开一篇记录。 * css盒子模型 * 布局,flex * 前端debug的方法 * <del>javascript,</del>有空可以使用js刷leetcode练习语法 * <del>typescript</del> * jsx,以及jsx的typescript版tsx * 学习axios https://alligator.io/react/axios-react/ * 学习dva: …
Read More -
先放参考资料: 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 -
目的是忽略单一对象和组合对象的不同。 有点像以前写过的用链表定义一个树结构,每个节点是一个val + 多个tree 。如果某个节点是叶子节点了,那么对应的tree都为NULL. 只不过这里用了更加面向对象的实现。 具体看代码: /* *********************************************** Author :111qqz mail: renkuanze@sensetime.com Created Time :2018年08月28日 星期二 14时21分51秒 File Name :composite.cpp …
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