用 Immutable 数据优化你的 React 应用

一直以来,Virtual DOM 都是 React 的一大特色,Facebook 宣称 React 借其能很大程度提高 SPA 的性能表现。但这就意味着 React 的性能一定优秀吗,可能并不是,在某些情况下,React 慢的令人抓狂,这时你可能就需要用一些正确的手段来优化它了。 React 的更新机制 我们不妨先简单了解下 React 的更新机制,…

Read More

搭建博客

前言 古人见面之初,为方便认识,常会自报家门,譬如:吾乃常山赵子龙;某姓张名飞,字翼德,世居涿郡。如今,我们虽然不都是有身份的人,但可以是有身份证的人。 在程序猿圈子中,个人博客无疑是我们的身份象征。面试中、同行交流中,常常会问到一个问题:"你有博客吗?" 为了让场面不是很尴尬,你是否想到要有一个自己的博客呢? 那么,本文将简述如何用Hexo搭建博客,如果有兴趣跟着命令动动手,相信你也可以马上拥有一个自己的博客。 在…

Read More

静心打磨手中利刃之从Ghost到Passport

本文出自[Century's World] 其实一直有接触Ghost这个博客系统,自从学习node开始,就有使用过这个系统,乃至现在公司的博客系统,都是使用这个搭建的,曾经没有好好的去看看源码。最近想要修改这个系统的后台系统,但是Ghost-Admin的代码编译恕在下无能,真的有点难编译,或者可能就算编译通过了,也会比较难适应,于是就心生一个念头,自己写个ghost-admin-react,当然随之而来的就是这个这个后台系统的登录问题,虽然我们从原始后台系统的登录就可以了解这个系统的登录了,但是我们不妨一窥Ghost的登录源码,或许能有些惊喜。 Ghost里面的接口登录校验 既然是接口的登录校验,那我们就直蹦core/server/routes/…

Read More

chrome浏览器调试

前序:DevTools使开发者更加深入的了解浏览器内部以及编写的应用。通过它我们可以高效的定位页面布局、页面报错。今天我们就来一起实践如何使用好devtools这把利剑。 在开始之前我们先来了解一下chrome中的快捷键: 功能 快捷键 cmd + opt + i 打开devtools;c是审查元素;j是控制台; cmd + o 文件检索; cmd + shift + o 定位到文件内css规则或者js方法 cmd + opt + f 全局文本搜索…

Read More

跟前端一起来学数据库系列(3)

上两篇分享我们讲了如何设计数据库表和基本的SQL语句知识,有了这些知识我们就可以愉快的使用数据库来做一两个Demo程序了。但光有这些知识还是不够的,生产环境的情况远不是Demo环境能比的,你可能会遇到数据库查询耗费时间太长导致机器满载而无法提供可靠的服务,还可能会遇到断电或者别并发量太大导致的数据不一致问题等等,这些在生产环境里出现了都会严重影响主业务,所以本次分享就来简单的聊一聊如何解决这些问题。 在讲主要内容之前,先插播一些数据库数据存储方面的知识,我们现在用的数据库大部分都是mysql,所使用的主要引擎是InnoDB,所以我们接下讲的东西都是基于InnoDB的。 那么数据在InnoDB引擎的数据库里是怎么存储的呢? 数据库底层使用了一种名为B+树的数据结构,B+树是为磁盘或其他直接存取辅助设备而设计的一种平衡查找树(如果不知道平衡查找树,请自行google),在B+树中,所有记录节点都是按键值的大小顺序存放在同一层的叶节点中,各叶节点指针进行连接。 B+…

Read More