2016-10-12 曹强
高阶函数是至少满足下列条件之一的函数 * 函数可以作为参数被传递 * 函数可以作为返回值输出 (js这么好的语言中的函数当然满足 ^^)_ 函数作为参数传递 把函数当作参数传递,可以抽离出一部分容易变化的业务逻辑,把这部分业务逻辑放在函数中,可以分离业务代码中变与不变的部分。 回调函数,ajax异步,callback var getUserInfo() = function(userId, callback) { $.ajax('http://xxx.com/getUserInfo?' + userId, function(data) { if (typeof(callback === ' 继续阅读 »
2014-05-08 W.Y.
AOP
原文连接:Intro to Aspect Oriented Programming 本文简单地介绍了 AOP 的原理,以及 AOP 与其他方式的异同,并没有涉及太多的复杂逻辑,另外推荐下面两篇文章,这些文章中都间接或直接提及了 AOP: 用 AOP 改善 JavaScript 代码 使用 JavaScript 拦截和跟踪浏览器中的 HTTP 请求 面向切面编程(AOP)是一种非侵入式扩充对象、方法和函数行为的技术。通过 AOP 可以从“外部”去增加一些行为,进而合并既有行为或修改既有行为。 虽然有很多技术可以用来增加和合并行为,例如继承、组合、委托,然而,在很多情况下,AOP 被证明是更灵活和更少侵入的方式,非常值得将其纳入我 继续阅读 »
2014-05-08 Lingxian Kong
业界动态 Symantec加入OpenStack企业赞助 http://www.symantec.com/connect/blogs/symantec-joins-openstack-foundation 4.29号,Oracle发布了集成OpenStack的Solaris 11.2 4.30,Redhat以1.75亿美元收购inktank公司,inktank的主要产品是软件定义存储ceph解决方案。ceph本身是开源,基于一个统一的对象存储系统,同时对外提供块、文件和对象接口,其中对象接口兼容Swift和Amazon S3。对象接口和文件接口的数据是拉通访问的,即,用对象接口存储的数据,可以直接用共享文件系统访问。这是 继续阅读 »
2014-06-16 Lingxian Kong
业界动态 5.27号,Oracle发布了MySQL Fabric,为MySQL提供了HA和可扩展性的支持。这对于OpenStack来说是无疑是件好事。 2014.6.2,第一个(至少是我所知道的第一个)使用在生产环境中,采用IPv6的OpenStack云平台部署成功,是一个叫Nephos6的公司主导。在之前与Luxembourg大学的试点中已经成功支持了德国选举。 http://www.businesswire.com/news/home/20140602005581/en/IPv6-only-OpenStack-Cloud-deliver-production-services-deployed Cloud OS fo 继续阅读 »
2016-03-04 Jason Liao
你对 HTTP 有什么了解 网站性能优化有哪些方法 你了解快速排序吗 and that's it Before Interview 15:20 腾讯打电话过来问我方不方便有时间吗?我说可以等我 5 分钟吗?然后他说,那我 1 个小时之后再打电话过来,我说好 继续阅读 »
2015-05-24 Klaus Ma
Install dependencies: Install maven manually: wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz tar zxvf apache-maven-3.3.3-bin.tar.gz mv apache-maven-3.3.3 /usr/local/apache-maven 继续阅读 »
2017-09-13 Lingxian Kong
更新历史: 2016.03,初稿完成 2017.09,针对 Pike 版本更新 2018.01,添加了几句对 lb 中 vip port 的解释 Octavia简介 Octavia主要参与贡献厂商:http://stackalytics.com/?project_type=openstack&metric=commits&module=octavia 继续阅读 »
2014-07-18 Lingxian Kong
配置 git config --list 查看系统变量的配置 export https_proxy="http://XXXXXX:XXXXXX@XXXXXX:8080/" 配置代理 密码中的特殊字符转义: ampersand & (%26) at @ (%40) space (%20) double-quote " (%22) single-quote ' (%27) colon : (%3A) 继续阅读 »
2016-04-07 Li Shuai
Tornado本身的设计目标是单线程异步非阻塞,要想很好的发挥它的性能最好使用异步IO,并且Tornado本身也提供了异步的AsyncHttpClient的实现,配合gen.coroutine和yield,可以让请求异步执行从而不阻塞当前线程,对于单线程服务器来说,阻塞(blocking)和同步的sleep这种会挂起线程的动作都是服务器的噩梦,因为只有一个线程,所以任何等待都会影响服务器对于其他请求的处理。 异步非阻塞对于第三方IO是http请求的情况还好,毕竟可以使用Tornado提供的异步实现,但是对于有些数据库的IO,则需要异步库的支持,比如针对MongoDB的Motor等。但是第三方异步库的质量也是参差不齐,在实际的工程中 继续阅读 »
2014-08-14 Lingxian Kong
服务的增删改查 在Nova中提供对Service资源的操作API,包括服务的查询、删除、更新。 查询操作使用如下(假设你已经拿到了keystone的token): URL: http://{ip}:8774/v2/{tenant-id}/os-services(后面可以加过滤条件?binary=nova-compute或者?host=ubuntu) Accept: application/json Content-Type: application/json X-Auth-Token: {token} 在看返回消息体之前,先熟悉一下Service的数据库模型: id = Column(Integer, pri 继续阅读 »