bitnami提供的gitlab安装包如何重启

Gitlab
从开始安装Gitlab是一件让人发疯的事情,尤其是不太熟悉Ruby和redis的Linux管理员(据说有Linux系统管理员会花一天时间来安装Gitlab)。bitnami提供了一个gitlab的安装包,非常好用。但是上次安装后一直正常的Gitlab今天登录的时候,web页面打不开了。登录Linux用netstat查看服务,mysql和httpd都没有启动,看起了是gitlab的环境挂了,要重启了。但是好像bitnami并没有在Centos的/etc/init.d/目录下提供服务,所以只能自己手工了。

后来找到了,在gitlab的安装目录下(我的是安装在/opt/gitlab-6.9.2-1)有个ctlscript.sh 直接用ctlscript.sh restart就可以重启gitlab服务,就一切OK了。

KVM的node被死锁了怎么办

有个KVM的VM死锁了,无论是用virsh shutdown 111 还是 virsh shutdown 111 都会报错:

  #[root@s10 ~]# virsh shutdown 111
  #错误:关闭域 111 失败
  #错误:Timed out during operation: cannot acquire state change lock

解决的办法如下:

  #virsh undefine 111
  #virsh define /etc/libvirtd/111.xml
  #virsh start 111

用undefine命令取消这个VM,然后重新定义,启动就OK了

抛弃phpmyadmin转投Adminer

phpmyadmin是一个很好的mysql web端管理工具,但是缺点也越来越明显了: 体积太大。目前phpmyadmin的体积已经有30多MB了,并且拷贝的时候上千个小文件导致copy到web项目的时候速度很慢。每次为web项目增加phpmyadmin都变成了一件很痛苦的事情。

Adminer是phpmyadmin很好的替代者,只有一个单独的php文件就能管理mysql数据库,大小才200多kb,并且能够实现phpmyadmin本身的大部分功能。用的时候也很简单,把admier.php拷贝到web目录即可。

优点:
1. 安装简单,文件小
2. 运行速度快

缺点:
1. 功能没有phpmyadmin那么多

db

Database内容预览

select

数据显示

schema

数据结构

sql

SQL命令

Adminer:http://www.adminer.org/

sublime text 排除目录

目前的sublime目录下有几个目录不想在根目录下出现,例如admin目录不想出现,原sublime-project文件如下

{
	"folders":
	[
		{
			"path": "/Users/alexlee/Desktop/project"
		}
	]

}

加入一行 “folder_exclude_patterns”: [“admin”],把admin目录排除出project

{
	"folders":
	[
		{
			"path": "/Users/alexlee/Desktop/project",
			"folder_exclude_patterns": ["admin"]
		}
	]

}

网上的其他page建议的格式有问题,把”folder_exclude_patterns”: [“admin”]放到了“folders”平行的格式,是错误的,是不起作用的。

参考:http://www.sublimetext.com/docs/2/projects.html

阿里云的镜像站

在国内更新yum或apt的时候,最好用国内的mirrors速度会快很多,尤其是epel,fedora的国外的mirrors经常失效。

阿里云镜像站地址:http://mirrors.aliyun.com/

aliyun_mirros

阿里云还非常人性化的提供了各个mirror的使用方法。测试下载速度还不错,在用电信10MB宽带的情况下,下载速度可以达到1.5MB/S,算是满速了。可以把PC上virtuabox中的虚拟机全部更换为aliyun mirros了。

聊聊互联网金融

互联网金融

最近要参与一个P2P项目,自己给决策层写了一些商业计划书之类的东西,自己对互联网金融稍稍做了些整理,记录一下吧。

首先说到“传统”金融行业的优势: 风险控制收益管理。尤其是风险控制,传统金融行业非常重视并且做的相对于互联网金融要强的多。比较金融业其实就是资金中介,管理的资产规模比本身的净资产要多得多。管理的资产中有十分之一出了问题要不回来,这个金融中介估计要倒闭了(当然,国内的银行不算,他们在某种程度上其实相当于“财政”的角色,有国家财政在保底),所以正常的金融机构绝对是把风险控制放在第一位的;然后就是收益。信贷市场、一级市场、二级市场、货币市场等等,高风险的市场有高收益,这些基本的概念传统金融行业搞了几百年了,都熟门熟路。

然而互联网金融在这两方面都没有优势,尤其是风险控制。当时互联网金融的优势是:过程,用烂大街的词来形容就是“用户体验”。比如在传统金融行业中,某人要去开股票账户,那么他就要本人在周一至周五的工作时间前往券商柜台(工作时间,意味着他就要请假才能去),运气好的话现场人不多可能上午10点到了就能开始,运气不好的话可能要等到11点才能开始开户。开户的时候要复印身份证和填写一大堆的文本文件,如果要开创业板或融资融券,还有手抄几百字的风险提示!!然后还要再去银行捆绑账户,又要1-2个小时,注意还是要本人

你能想象到,如果你要注册QQ账户,必须本人前往腾讯的网点亲自填写一堆资料,然后花一天时间来注册吗?如果有互联网公司这么做,他就是在找死。互联网公司的成长过程中,就是在比谁的产品用起来更方便更简单的竞争中成长的,他们明白如何能让用户感觉更方便。作死的公司早就倒闭了(ebay中国?)。他们的基因中就有让用户更畅快的基因。但是缺乏的是对风险的把控。

如果传统金融行业更重视用户体验,能否在竞争中赢过互联网企业?听到过一个笑话,某传统金融行业要提高手机客户端的用户体验,然后他们专门成立了一个领导小组,配备有行长级别组长一名、书记一名、财务出纳各一名、办公室主任一名、司机一名、食堂厨师一名、起草工作计划的秘书一名。最后经过小组成员讨论后,决定把手机客户端开发的工作外包给一个程序员,然后就开始商量如何给总行写工作报告了。当然这只是一个笑话,但是实际上互联网产品的开发和运营的功力上,久经考验的互联网公司的战斗力比臃肿的传统金融机构强何止一百倍。

风控和收益,虚心的话,互联网公司学习起来不难;但是传统金融机构如何给自己的思路减肥,就难了。

中国会不会滞涨?

stagflation
滞涨的解释如下:

滞涨又称滞胀,滞胀全称停滞性通货膨胀(Stagflation),“滞”是指经济增长停滞,“胀”是指通货膨胀。在经济学,特别是宏观经济学中,特指经济停滞(Stagnation)与高通货膨胀(Inflation),失业以及不景气同时存在的经济现象。通俗的说就是指物价上升,但经济停滞不前。它是通货膨胀长期发展的结果。

看起来,滞涨是中国目前最可怕的道路。胡温十年几乎上把前任的老本吃了个精光,国内经济结构不仅没有任何良性调整,反而变本加厉。趁着最后的人口红利和地产,看似辉煌的“黄金十年”下面潜伏暗流。

滞涨的滞,指的是经济停滞。过去的10年,不合理的经济和产业结构仍然存在,在人口红利消失和泡沫破裂后,这个不合理的产业都要玩完。为了不让这些产业玩完,政府就又要印钞票通过银行贷款把钱送出去,这就导致第二个问题,滞涨的涨。

滞涨的涨,值得是通货膨胀。政府为了维持病态的产业结构,就不能停止印钞票。持续印钞票就会导致通货膨胀,这个很简单,都能理解。

新领导上台后,方向是对的。一把手管吏治,二把手管经济结构。但是那,老天给中国留下调整经济甚至是政治结构的时间窗口有多长哪?

最近需要给一个Ecshop的网站添加QQ登录的功能。大致的需求是这样的:

  • 用户点击“QQ登录”并正确授权后,用户能简单的输入信息就能注册Echsop的会员账户
  • 如果用户已经是Echsop的会员的话,可以绑定QQ账户
  • 在注册或绑定的时候,用户输入信息会有提醒邮箱或手机号是否已经被注册过
  • 用户如果用QQ登录绑定过以后,再次点击QQ登录后,会直接登录已绑定的用户的用户中心

你需要做的:

  • 第一步:在QQ conect注册账户,并获得appid和appkey。
  • 第二步:下载我提供的QQ登录模块文件,并保存在网站的根目录中。例如你的网站是www.site.com,QQ登录模块放在www.site.com/oauth中。
  • 第三步:在模块提供的安装部分中,输入你获取的appid和appkey,以及网站的名称和url。
  • 第四步:在Ecshop的首页,放置QQ登录图标并且添加授权链接,格式如下(请把[你的appid]和[你的网站域名]进行响应替换)。用户可以通过这个图标进行登录授权
  • https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=[你的appid]&redirect_uri=http://[你的网站域名]/oauth/qqlogin.php

安装模块:
文件上传后,在url中打开:/oauth/install/

1

需要填写你的appid和appkey,以及网站的名称和网站url,填写后根据提示删除install文件夹即可。

用户使用:
在用户点击你放在网站首页的QQ登录图标后,会跳转到授权页面:
2

用户接受授权并填写信息后,会返回网站的callback页面中,要求注册:

3

如果用户已经网站用户,直接点击下面的按钮就可以对老用户进行绑定:

5

Ecshop-QQ登录模块下载:oauth.tar

PHP是web的正确方向吗?

php_frameworks
本文的前提是n年前je的那篇神帖《PHP框架的繁荣是正确的发展方向吗?》,09年正是各种rails层出不穷的时间,老旧的PHP也搭上了rails思潮的末班车,各种各样的框架终于让php这颗老树终于发了新芽。

old style的phper认为越来越多的PHP framwork违法了php的发展:quick and dirty,并且冗长臃肿的PHP framwork不仅导致PHP不那么quick,修改起来更加dirty(你说的是Zend framwork吗?或者是Magento吧?呵呵)。在old style的phper的眼里,读取mysql就应该直接用mysqli lib,中framwork提供的DB fucntion太麻烦;各个php页面应该就是直接可以访问的,用index.php做整个framwork的url入口路由看起来是古怪和反人类的。

我是这么认为的:php的framwork化,正好解决了PHP本身的一些问题,是非常不错的趋势;不过那些过于复杂和臃肿的framwork的确是反人类的(Zend framwork,就是说你哪)。在JE的神帖中说的很清楚,PHP相对于Python和Ruby之类的web环境,每次PHP的运行都是独立的一个进程,每次运行完毕后,php-cgi会释放所有本次运行中牵扯到的资源;而Ruby和Python的GGI则不是这样,臃肿的PHP framwork会极大的损害PHP的这个优势。只有那些充分发挥PHP优势,并且能够在Framwork层面对很多调用(db、session等等)进行封装的Framwork才是正道。

比特币用于真实世界的几个问题

比特币今天在群里聊起了比特币,有人问为什么不自己搞一个山寨币玩玩?自己做山寨币是没有问题的,目前世界上已经有上百种类似比特币的山寨币了,但是如果没有解决类似比特币这样的电子货币的几个问题的话,是不太有可能有大的发展的。

首先,为什么新建的“山寨币”不太可能有市场? 我举个例子,网游中的装备交易可能很多人都知道。拿网游装备来比喻比特币较为合适。网游中的装备是由发行商来“刷出来”的,等级和数量都可以由发行商来决定;而比特币由于特殊的算法,产生的方法是“挖矿”来产生的,没有任何人可以控制(这个说法能够说明比特币的确比“装备”更好一些,当然没人会拿装备做货币用)。但是如果在一个没有人玩的网游里,再高等级的装备估计都没有人会掏钱去购买,所以山寨的比特币如果没有知名度的话,是根本无法取得比特币的地位的。

3月5日更新:MT价值上亿的比特币已经丢了。连世界上最大的比特币交易所的比特币都会丢失,普通用户的比特币就更别说了。

电子货币也有下面两种风险:

1. 电子货币洗钱的风险

即使在中国这样严格管理金融市场的国家,每年都有大额的黑钱被洗出去。如果比特币真的被当作“准货币”的话,不同的人只要在QQ上就能轻易传送巨额的资金了,并且由于比特币网络的特殊系,这种交易也没有办法查询。

2. 安全性问题

如果你的比特币放在PC中,可能PC上感染了一个小病毒,就会造成你的巨额比特币丢失–并且再也找不到了,比特币的世界里没有挂失这个功能。

2012年,由于网站托管供应商Linode的服务器超级管理密码泄露,价值228,845美元的46703比特币失窃。超过4.3万的失窃比特币属于一家比特币交易平台Bitcoinica,另外3094比特币为捷克程序员Marek Palatinus所有,比特币首席程序员GavinAndersen也失去了他的5比特币。

放到今天,这46703个比特币已经价值1400万美元了。

6月3日更新:根据目前比特币的价格($680),Linode上被盗的比特币市值3100万美刀。

容易洗钱,对政府和社会不安全;容易丢失,对用户来说不安全。 除非有这么一种新的电子货币,能够和目前货币所有者的全球唯一数字识别ID(当然,没有这个东西)经过特殊的hash算法后,本身能反映货币的历史交易记录和所有者信息。这样的话,这种电子货币又进入了政府的监控范围内,和比特币的创造者们的Geek精神不符。所以,我猜想比特币只能一直充当geeker们的游戏,无法进入主流社会。