如何在Node.js应用中调用Dubbo接口

你是一个前端,你做过一个Node.js的后端应用,某天产品找到你让你做一个活动页面,你发现需要数据库保存活动的数据,你不想麻烦后端Java同学,于是你决定使用Node.js来做。 你分析业务逻辑,你建立Model,你生成数据库表,你编写Controller,你实现后台数据查看页面。 你开始编写活动页面调用的接口,你完成了接口,你发现需求里有个参加活动后发短信的功能。 你开始多方询问短信接口,你得到了一个好消息:公司有统一的短信接口可以调用。你得到一个坏消息:只有Dubbo类型的接口。 你陷入了沉思,那一天你终于回想起曾经被Java后端支配的恐怖 ,还有只能使用http通信的那份屈辱。 你打开Google,…

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

《编码》读书心得(上)

以前被人推荐《编码:隐匿在计算机软硬件背后的语言》这本书,一直没有时间拜读,最近花时间读了此书的前半部分,很有感触,便趁热打铁,将感悟写下,作为读书笔记。 1.至亲密友 主要内容:两个住在街道对边的好朋友想要在夜里交流,但苦于没有方便的工具,于是想到了使用手电筒来。刚开始想的是使用手电筒划图形的方式,发现有点复杂,看不太清,就想通过手电筒的开关次数来代表字母,这次好多了,但是要发送一句话要开关手电筒上百次,效率低下,于是就引出了摩尔斯电码,使用短闪(…

Read More