Phabricator安装简介

简介

Phabricator不仅仅是一个应用,而是一个应用的合集,所有这些应用都是帮助软件公司开发出更好的软件。
Phabricator包括如下
– 代码审查
– 仓库管理
– Bug跟踪
– 项目管理
– 组内成员沟通
– …

Phabricator是开源项目,Phacility是开发这个项目的公司提供在网络上的付费版本。可以
注册测试账号去体验其功能。

web端使用

1. 首先需要注册账号
2. 完成注册后,进入管理主页面https://admin.phacility.com/
3. 在主页面创建一个实例(选择test类型,7天后数据自动删除)

本地安装

Phabricator最早是Facebook的人搞出来的,Facebook都知道用php比较多。因此这个项目也是用php开发的,也就是典型的LAMP架构。安装环境为Ubuntu 14 64位系统
1. github上下载安装脚本[shell](https://github.com/phacility/phabricator/blob/master/scripts/install/install_ubuntu.sh)
2. 运行脚本,完成一键安装。值得注意的是,这里会指定一个目录下载Phabricator的代码,需要记住
到这个步骤,我们已经把Phabricator需要的所有依赖已经安装完全,包括Apache、MySQL、PHP等。
接下来需要完成配置 继续阅读

Java并发工具CountdownLatch使用

简介

JDK下的java.util.concurrent包下藏了很多并发工具,其中大部分来自大师Doug Lea的手笔。这些工具的对于日常解决并发性问题,有着很大的帮助。今天,我们来介绍一下并发家族中的一个小兄弟 – CountdownLatch

场景

CountdownLatch,顾名思义,倒计时-锁,官方名叫闭锁。
它的作用相当于一扇门:在闭锁到达结束状态之前,这扇门一直是关闭的,没有任何线程能通过;
当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态后,将不会改变状。
这里值得注意的是两个点:

  • CountdownLatch可以让一组线程在某个条件下同时启动
  • CountdownLatch状态一旦结束,状态不能再被改变

继续阅读

HTTPS简介

背景

HTTP协议想必大家应该有所了解,HTTP是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

但是HTTP在传输过程中的数据都是铭文,在网络上极不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。

SSL目前的版本是3.0,被IETF(Internet Engineering Task Force)定义在RFC 6101中,之后IETF对SSL 3.0进行了升级,于是出现了TLS(Transport Layer Security) 1.0,定义在RFC 2246。实际上我们现在的HTTPS都是用的TLS协议,但是由于SSL出现的时间比较早,并且依旧被现在浏览器所支持,因此SSL依然是HTTPS的代名词,但无论是TLS还是SSL都是上个世纪的事情。 继续阅读