ionic platform add ios 报错

在安装官方指引创建了一个ionic v2的app之后,执行platform add ios报错:

解决方案是:

然后继续执行add ios,即可。

注意,先进入platforms目录,如果存在ios目录,先删除掉,否则,执行run ios命令的时候,会出现下面的错误:

 

Phalcon 和 Laravel 的效率还是差很多的。

一直很喜欢Laravel的项目结构设计,很喜欢它和rails的控制台工具。但是项目中一直在用Phalcon,无他,简单、熟悉了。而且,性能上确实非常非常好!

看了很多评测的,今天抽空自己做了一点点测试,看的结果更加直观:

环境:Mac、PHP7.0.8、Phalcon 2.1.0RC、Larave 5.2.40

程序:

Laravel使用默认环境,创建一个Index控制器,一个index方法,显示一行文字。使用optimize优化了。

Phalcon由于没有使用脚手架工具创建项目,自己手工搭建一下,主要就是创建路由、定义视图、挂载模板引擎(volt),将这些注入到di中,同样一个控制器,一个方法,显示同样的模板。

测试:ab -c 10 -n 1000 http://pails.xueron.com/ ,其中c是并发,n是请求总次数。调整两个参数,反复测试。

结果:

基本上laravel的rps(Requests per second)一直在25~40之间。一般为30多点。

而Phalcon的rps基本保持在500+,在500~650之间。

差太多啊~

 做了比较详细的测试:http://xwsoul.com/posts/1071,可以看到,效率主要差在stat/lstat/open/access这些文件的查找与打开上面了。看过Laravel的源码,在依赖注入的设计上面很精巧,但是也带来的问题,就是加载、反射、反复查找~, 效率牺牲的可不是一点半点。

所以打算做个小项目,就是为Phalcon弄一个简单的架子,什么di的服务、配置等等弄弄好,这样用phalcon建项目easy一点……

测试结果:

php-fpm运行larave的情况,可以看到时间耗用和CPU的占用都挺大:

ab测试结果:

下面是Phalcon的情况,好很多:

ab测试的结果:

 

cassandra 启动异常一例

今天在两个机器上分别安装和更新cassandra 2.x,发现居然启动不了了。没有日志,没有信息,死活搞不定。

后来还是在 hub.docker 的cassandra的Dockerfile里面看到了解决方案:

有空没空看看Dockerfile还是蛮有用滴~

 

转载:Redis和Memcached的区别

全文分享:标点符《Redis和Memcached的区别》

Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较:

  1. Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。
  2. 内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
  3. 性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。

我也一直比较模糊到底什么时候用memcached,什么时候适合redis。redis功能各方面都很优秀,从维护、复用、多功能角度,一般情况下用个redis就可以了。通过上面对比,我觉得,redis还是更适合数据cache,memcached做页面cache,这样可能更好点:)

ubuntu下面安装部署kong

– 安装cassandra数据库
     – kong支持的cassandra的版本是2.1.x和2.2.x,按照官网的步骤安装现成的包即可:http://wiki.apache.org/cassandra/DebianPackaging
          – 创建  /etc/apt/sources.list.d/cassandra.list,内容如下:
          – 导入相应的key(下面的说明是2.1.x的key,根据提示替换F758CE318D77295D为当前的key(749D6EEC0353B12C)),去下载并添加即可)
          – 如有需要加上如下的key
          – 执行apt-get安装即可:
– 安装kong
     – 官网或者github的release区,下载最新的kong deb安装包,包括了lua相关依赖和ngx_openresty(这个是一个改造过的nginx,支持lua)
     – 安装依赖以及kong
     – 启动kong,第一次会连接cassandra,执行数据库的migrate命令。
– 配置kong
     – kong是基于nginx实现的。所以安装了kong的机器,无需再单独安装nginx了。
     – kong的配置文件默认在/etc/kong/kong.yml 在这个里面配置nginx的相关信息即可。

Kong – 好玩的东西,api网关

Kong可以说是API的得力助手。对需要从事API管理的广大开发员来说,它是最出色的工具之一。Kong是开源工具,具有可扩展性和模块性,可以在任何一种基础设施上运行。多年来,Kong一直在支持优秀的开发项目,比如Mashape(世界上规模最大的API市场)。最棒的是,Kong得到了强大的Nginx的支持。

 

ck4J4EbLPr18-ktYEk3n

Kong的主要功能

– Kong可灵活扩展:只要增添更多的服务器实例,它就能横向扩展,毫无问题,那样你可以支持更多流量,同时确保网络延迟很短。
– Kong可在任何地方运行:它可以部署在单个或多个数据中心环境的私有云或公有云上。它还支持大多数流行的操作系统,比如Linux、Mac和Windows。Kong包括许多实用技巧,以便针对大多数现代平台完成安装和配置工作。
– Kong具有模块性:它可以与新的插件协同运行,扩展基本功能。可将你的API与许多不同的插件整合起来,以增强安全、分析、验证、日志及/或监测机制。最好的例子之一就是Nginx Plus插件(https://getkong.org/plugins/nginx-plus-monitoring/),该插件提供了服务器实时监测机制,以获得关于负载和请求的度量指标和统计数字。
– 开源及企业:虽然Kong是开源工具,可供每个人免费使用,但你也能获得企业版,企业版通过电子邮件、电话和聊天提供了快速支持,此外还提供初始安装、从第三方API管理工具来迁移、紧急补丁、热修复程序及更多特性。

同一台电脑配置/关联/使用两个或多个Github账号

传送门:http://www.iwwenbo.com/a-pc-many-githubs/

遇到的坑:

用Mac自带的ssh作为日常ssh客户端,我在~/.ssh/config中做了如下配置,以避免开多个tab登录同一个远程的时候,反复输入认证信息:

这里ControlPath是记录已登录会话,并且复用的。这里 %h-%p-%r 是生成的一个socket的文件名,%h代表实际远程的hostname,%p是远程主机的端口,%r是登录远程主机的用户名。由于上述两个git帐号的设置,这几个参数是一样的,所以登录多个git帐号无效。

小小的改动是增加一个%n,也就是同时记录本地别名,区分一下即可:

PhalconPHP and PHP7

From: http://phalcon.io/phalconphp-and-php7

PHP7 was released on the 3rd of December, 2015. This new version brought forward a large number of new and exiting features (http://php.net/manual/en/migration70.new-features.php) to PHP. Perhaps one of the biggest of the new features is a new Zend Engine (the engine that powers PHP).

This new engine, code named PHPNG, will give some of your applications double the performance speed.

Some benchmarks that have been run so far:

WordPress 3.6 – 20.0% gain (253 vs 211 req/sec)
Drupal 6.1 – 11.7% gain (1770 vs 1585 req/sec)
Qdig – 15.3% gain (555 vs 482 req/sec)
ZF test app – 30.5% gain (217 vs 166 req/sec)
It is only natural that once it came out the PhalconPHP community was dying to know when we would get a chance to work with PhalconPHP and PHP7.

The Problem

We all know that PhalconPHP is written in Zephir starting with version 2.0, and that this language compiles its code into a C PHP Extension. Because of PHP7’s new engine the extension had to be rewritten and adapted to the new specifications.

The Solution

Knowing this, the PhalconPHP team started working since last year on an updated version of Zephir to make the compiled code work with PHP7.

After a few months we are finally delivered PhalconPHP 2.1 and Zephir 0.9.x which brings PHP7 support.

Installing PhalconPHP with PHP7

You will need to install PHP7+ and Zephir 0.9.2a-dev (or its latest branch). After you have them installed go to PhalconPHP 2.1.0+ branch and download the source code.

Installation example:

If you get these warnings ignore them:

That’s it!

You now have PhalconPHP and PHP7 working.

Can you expect PhalconPHP to be even faster? No, but you can expect to see your your app be much faster since your PHP code will run better with the new engine. Plus, you won’t have any overhead since PhalconPHP is a extension. The best part of all this is that you get all the new features that PHP7 brings to the table.

Do take into account that PHP7 is still rather new, and most of the commonly used extensions like memcache, memcached, and redis are available in Dev/Beta branches, so you need to reinstall them.

Best of luck to all and enjoy PhalconPHP + PHP7.