静心打磨手中利刃之从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

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

上篇文章我们讲了怎样设计数据库表,这次我们来了解一些基本的SQL语句写法。虽然在实际工作可能中我们用ORM库来操作数据库比较多,但ORM最终也是生成SQL语句来与数据库进行交互,了解一些基本的SQL语句,能让我们遇到一些问题时不至于搞不清发生了什么情况。 结构化查询语言(Structured Query Language)简称SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。 结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。 结构化查询语言包含6个部分: 数据查询语言(…

Read More

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

随着公司的业务发展,前端已经不满足于只是做切图仔的工作,前端天生的优势在于其业务无关性,但前端人的劣势也恰恰是业务无关性。所以,前端需要了解业务逻辑,了解的最好途径就是去写业务逻辑,要写业务逻辑就得首先过了数据库这一关,鉴于前端组员对于数据库缺乏经验,而我在做前端之前做过一阵子的后端,所以组织上研究决定,让我给组员们分享一下数据库方面的知识。 这次分享分为三个部分,第一部分讲怎样设计一个数据库表,第二部分讲一些基本SQL语句,第三部分讲数据库使用技巧(索引,事物务等)。 由于这个分享是面向前端组员的所以讲的会比较浅显,再加上我好久不写后端了并且水平有限,文中难免出现错误和不足, 如果发现了可以告诉我我将进行订正:)。 闲话不多说接下来进入第一部分,怎样设计一个数据库表。俗话说好的设计是成功的一半,…

Read More