centos

centos下安装llvm+clang

不知道从神马时候开始,llvm+clang 就进入了 me 的眼球,以前只知道有 gcc,有 vc++。llvm 是个编译器的 back-end,像 JVM 或是 .NET 的 CLR (公共语言运行时), clang 是编译器的 front-end,负责将 c、c++、objective-c、objective-c++ (objective-c 和 c++的混合) 编译成中间语言。 c++11/14 支持最好的两个编译器 gcc 和 clang,前者版本到了 4.8.2 (GCC),后者 3.4 (Clang)。gcc 是前辈,而 clang 是后起之秀,对于学习 c++14 来说更好的选择是 clang (完全支持 c++11 语言、库和 c++14 的所有草案)。

me 使用的是 centos 系统,使用赶脚很不爽,上面很多包没有安装是一方面,另一方面有些包的版本过低,如果自己安装的话,使用命令 $rpm -ql package 完全搜不到(安装信息),O__O"…。前面安装 GCC 4.8.1 如此,这次安装 llvm+clang 亦如此。

Centos上安装Hadoop

Hadoop

hadoop 是使用 java 实现的分布式系统,hadoop core 包括 MapReduce 和 HDFS 两个主要的部分,前者提供了一个编程模型,后者提供了一个存储模型。想起多年前(应该是半年前)腾讯实习生招聘的一个题目,如何统计每天 qq 登陆用户数。那个时候 me 们的思路还停留在比较简单的阶段 : 首先将所有的数据读入内存,然后根据位数或是其他方式分割数据,其次排序过滤掉重复用户,最后计数求和。如果是现在的话,me 应该会说,将数据存到 HDFS 中,写个 MapReduce Job 去做,me 已经不会期望三五秒钟就能看到结果了,O__O"… 或是使用 Hive 存储数据,然后写一个简单的 HiveQL 语句:select count(distinct userid) from user_login_log where dt = $YESTERDAY 。 很多复杂的问题,怎么部署 JOB、分割数据、组合数据等等乱七八糟的,me 都不去管了,O__O"…

Tags: 

vi使用

Linux 上终端(shell)下的文本编辑器主要有 nano、ed、vi (vim) 和 emacs,而 vi 和 emacs 可能是使用最多的两种。不过 vi 貌似是发行版中都有安装的,ed 也是,其他的可能需要自己安装,至少 me 使用的 centos 环境是如此。在终端中敲命令和写代码有时候方便些,比如说修改配置文件和启动或是关闭一个服务了等,不过有时候真的让人着急,O__O"…。搞开发的话还是 IDE 来的方便和实在些,如果上网的话,使用 lynx 简直是种折磨,me 们么必要和自己过不去。

vi 貌似有很多命令,可以做很多事,不过对于 me 来说,me 只需要知道如何打开一个文件、编辑文件和保存文件就可以了,暂时没有太多其他的需求。貌似 vi 有三种模式,不过对 me 来说只有两种,插入模式(编辑模式)和命令模式。插入模式就是可以上下左右移动光标,编辑文件;命令模式下敲命令,执行一些其他功能,比如保存、退出、开启语法高亮等。

Tags: 

centos下安装gcc-4.8.1

时代变更很快,也许 u 的 linux 内核版本还长期维护在 2.6.x,然而实际最新的稳定版本已经到了 3.9.4,gcc 版本恐怕很多人也如此。默认安装的 gcc 版本恐怕在 4.4.x 附近,实际上 gcc 4.8.1 已经出来了,gcc 4.9.0 也已经在开发中,O__O"…。升级 gcc 的主要原因可能不是性能的问题,而是为了支持最新的 c++ 标准 —— c++11;实际上 4.7.1 已经支持的不少勒,4.8.0 几乎全部支持,4.8.1 貌似除了“最小化的垃圾回收器和基于可达的内存泄漏检测”之外,其他的都已经支持,具体的可以看下官方的说明

Tags: 

centos安装以及环境配置

为神马玩 centos 呢?不是因为它的桌面环境好看,也不是因为它使用最简单,或是使用最麻烦,只是听说企业级服务器用的比较多而已。去官网下载的话,会有最小化安装,还有完整的 DVD iso 安装,me 选择最小化安装,因为它小,只有 200+ M,而完整的 DVD iso 貌似有 4+ G,O__O"…。再者,me 在虚拟机 VMware 中安装,因为手头机器不多,还有就是为了能方便在 windows 和 centos 之间来回切换。

最小化安装很快,十来分钟便装好了,不过安装后只有文本界面,也就是控制台或是终端界面(就是只能敲命令干活,O__O"…);不过一般还是再装个桌面环境吧,虽然 me 主要不是为了使用桌面环境,没有桌面环境就么法使用 chrome 这样的浏览器,对于学习或是工作效率来说,是大大的折扣。在虚拟机中安装的话,网络配置简单很多丫,在装了桌面环境之后,网络竟然连不上了,后来 google 了一个解决方案。

本篇文章会介绍,安装最小化版本之后,使用 yum 安装一般的工作环境,比如安装 gcc/g++、安装桌面环境、安装 chrome、安装 mongodb 和 nodejs 等。

Tags: