存档在 2013年11月

大数据&&云环境,程序员应有技能:

2013年11月28日

大数据与云,大数据本身就是一个问题集,云技术是目前解决大数据问题集最重要有效的手段。云计算提供了基础架构平台,大数据应用在这个平台上运行。目前公认处理大数据集最有效手段的分布式处理,也是云计算思想的一种具体体现。[1]

我们程序员关心在云计算大环境下,我们的工作变了。我们需要至少掌握以下内容:

  1. NOSQL 和云存储。尤其是HBase和Mangodb
  2. 计算框架:Hadoop ,Spark,RHadoop
  3. 数据仓库:Hive
  4. 自然语言处理工具Lucene,Solr等。
  5. 机器学习工具Mahout和Weka。
  6. 数据挖掘算法。
  7. 统计知识。
  8. 推荐系统。
  9. 牢固的基础:语言技术+数据结构+算法。
  10. 架构设计。

参考文献:

[1] http://www.ciotimes.com/cloud/cyy/72659.html

javadoc时乱码解决方法

2013年11月27日

这里面有两个指定编码问题的参数

  1. -encoding 编码名
  2. -charset 编码名

如果文件格式为UTF8格式(Linux一般采用这种文件编码格式)的,可以采用如下形式进行Javadoc:

javadoc -encoding UTF-8 -charset UTF-8

第一个参数encoding表示javadoc 程序读取java源文件时候应该采用什么编码
第二个参数charset表示javadoc程序写html文件时采用的编码形式,并会在HTML中加入如下标签

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!-- NewPage -->
<html lang="zh">
<head>
<!-- Generated by javadoc on Wed Nov 27 19:48:22 BNT 2013 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">

360发布公开信:不要让垄断扼杀年轻创业者

2013年11月26日

文章来源:http://tech.sina.com.cn/i/2013-11-26/12008949557.shtml

新浪科技讯 11月26日上午消息,针对今日360诉腾讯垄断案开审,360公司发布一封题为《不要让垄断扼杀年轻创业者的中国梦!》的公开信,称互联网巨头通过模仿、抄袭手段入侵创业者生存地带,巨头垄断已使中国互联网产业荒漠化,呼吁不要让垄断扼杀年轻创业者。360T

以下是公开信全文:

“如果腾讯做了同样的产品,你怎么办?”这句话,是中国互联网创业公司在引入投资时,几乎都会被投资人问到的问题。事实上,“生、死、腾讯”早已经成为中国互联网年轻创业者三个必须每天面对的问题,一些创业者会这样回答:“这个领域腾讯不会关注的。”“如果腾讯关注到了呢?”…… » 阅读更多: 360发布公开信:不要让垄断扼杀年轻创业者

Fedora 19发布代号:Schrodinger’s Cat(薛定谔的猫)

2013年11月25日

Linux发行版Fedora 19使用的代号Schrodinger’s Cat(薛定谔的猫)。请看维基百科cat

“薛定谔之猫”又名“薛定谔的猫”,是关于量子理论的一个理想实验,薛定谔之猫的概念提出是为了解决爱因斯坦的相对论所带来的祖母悖论,即平行宇宙之说。

这个代号是在Fedora捐助社区里投票选出的。在全部8584个有效投票中,薛定谔的猫赢得了1876票,得票率21.8%,击败了1620票的Higgs Boson(希格斯玻色子/上帝粒子)、1012票的Tiddalik(澳大利亚土著神话中的一只青蛙)而最终当选。

其它候选代号还有:Loch Ness Monster(尼斯湖水怪)、Newtonian Dynamics(牛顿引力理论)、Martian Blueberries(蓝莓石)、Parabolic Potassium(抛物线形钾)、Cubical Calf(立方体牛犊)。

fedora升级利器fedup

2013年11月24日

这个工具出来时间不长,但是非常方便,这里写下使用方法,通过该工具可以实现系统的在线或者光盘iso升级。123

通过网络

使用网络进行升级是最省事的办法 – 如果您当前的系统有一个比您要升级到的 Fedora 版本自带内核还要新的内核,这种方式可以消除潜在的问题。

  1. 执行下列命令准备升级
    • sudo fedup-cli --network 18
  2. 一旦准备完毕,检查 /var/log/fedup.log 文件查看是否有来自 fedup-cli 的错误输出

通过ISO 文件

为了使用 ISO 镜像,您需要把它放置于文件系统上。本文假设其位于 /home/user/fedora-18.iso,您可以任意指定位置。如果这台机器联网,更新的升级将会联网获取。

  1. 下载适合您正运行的架构的 Fedora 19 的 ISO 文件。
    • 为了便于说明,我们假设 ISO 位于 /home/user/fedora-18.iso,不过您可以任意指定您的实际 ISO 文件位置,替换下面的 /home/user/fedora-18.iso 即可
  2. 执行下列命令准备升级
    • sudo fedup-cli –iso /home/user/fedora-18.iso –debuglog=fedupdebug.log
  3. 一旦准备完毕,检查 fedupdebug.log 文件查看是否有来自 fedup-cli 的错误输出

通过其他设备

光盘和其他可被挂载的设备均可被用作升级准备过程中使用的软件包安装源。

  1. 挂载源介质
    • 为了便于说明,我们假设设备挂载于 /mnt/fedora,不过您可以任意指定挂载位置。替换下面的 /mnt/fedora 即可
  2. 执行下列命令准备升级
    • sudo fedup-cli –device /mnt/fedora –debuglog=fedupdebug.log
  3. 一旦准备完毕,检查 fedupdebug.log 文件查看是否有来自 fedup-cli 的错误输出

常用数学相关库

2013年11月21日

1. BLAS(Basic Linear Algebra Subprograms)
blas 是许多数值计算软件库的核心,用Fortran语言写成,库一共有三个level,第一level包含了vector计算的一些function;第二个level则是矩阵与vector计算;第三个level是矩阵与矩阵的计算。BLAS接口稍微复杂,一般很少直接使用。
开源

2. Intel MKL
商用是不错的选择。
Intel数学核心函数库(MKL)是一套高度优化、线程安全的数学例程、函数,面向高性能的工程、科学与财务应用。英特尔 MKL 的集群版本包括 ScaLAPACK 与分布式内存快速傅立叶转换,并提供了线性代数 (BLAS、LAPACK 和Sparse Solver)、快速傅立叶转换、矢量数学 (Vector Math) 与随机号码生成器支持。
主要包括:
① LAPACK (线形代数工具linear algebra package)
② DFTs (离散傅立叶变换 Discrete Fourier transforms)
③ VML (矢量数学库Vector Math Library)
④ VSL (矢量统计库Vector Statistical Library)
MKL的主要功能
2.1)BLAS 和 LAPACK
在英特尔处理器中部署经过高度优化的基本线性代数例程BLAS(Basic Linear Algebra Subroutines)和 线性代数包LAPACK(Linear Algebra Package) 例程,它们提供的性能改善十分显著。
2.2)ScaLAPACK
ScaLAPACK是一个并行计算软件包,适用于分布存储的MIMD并行机。ScaLAPACK提供若干线性代数求解功能,具有高效、可移植、可伸缩、高可靠性的特点,利用它的求解库可以开发出基于线性代数运算的并行应用程序。ScaLAPACK 的英特尔MKL 实施可提供显著的性能改进,远远超出标准 NETLIB 实施所能达到的程度。
2.3)PARDISO稀疏矩阵解算器
利用 PARDISO 直接稀疏矩阵解算器解算大型的稀疏线性方程组,该解算器获得了巴塞尔大学的授权,是一款易于使用、具备线程安全性、高性能的内存高效型软件库。英特尔? MKL 还包含共轭梯度解算器和 FGMRES 迭代稀疏矩阵解算器。
2.4)快速傅立叶变换 (FFT)
充分利用带有易于使用的新型 C/Fortran 接口的多维 FFT 子程序(从 1 维至 7 维)。英特尔? MKL 支持采用相同 API 的分布式内存集群,支持将工作负载轻松地分布到大量处理器上,从而实现大幅的性能提升。此外,英特尔 MKL 还提供了一系列 C 语言例程(“wrapper”),这些例程可模拟 FFTW 2.x 和 3.0 接口,从而支持当前的 FFTW 用户将英特尔 MKL 集成到现有应用中。
2.5)矢量数学库(VML)
矢量数学库(Vector Math Library)借助计算密集型核心数学函数(幂函数、三角函数、指数函数、双曲函数、对数函数等)的矢量实施显著提升应用速度。
2.6)矢量统计库—随机数生成器(VSL)
利用矢量统计库(Vector Statistical Library)随机数生成器加速模拟,从而实现远远高于标量随机数生成器的系统性能提升
商用

3. Eigen
主页:
http://eigen.tuxfamily.org/index.php?title=Main_Page
Eigen 是一个轻量级的库,使用只需头文件,接口比较齐全,文档也很全面,一般的矩阵操作运算都能满足。提供了DenseMatrix 和 SparseMatrix,对于稀疏矩阵的效率也不错。
开源

4. Spoolse
早期很多人使用,性能不错,使用简单。维护的不是很好,文档使用ps格式。
http://www.netlib.org/linalg/spooles/spooles.2.2.html
开源

5. Lapack
使用最广泛的线性代数包,底层调用 BLAS,能求解 AX=b, 矩阵分解、求逆,求矩阵特征值、奇异值等。文档齐全,使用灵活,稳定性好,用作研究和商业开发都是不错的选择。提供SVN源码下载
http://www.netlib.org/lapack/
开源
» 阅读更多: 常用数学相关库

Java同步器

2013年11月21日

今天看了下Java中的同步器,比起我经常在linux下使用的C/C++实现的System V,Posix同步器来说,功能之强大,内容之丰富。

  1. 信号量(Semaphore),这个不管哪种语言的同步器中都少不了它。u=3393496060,2979483388&fm=21&gp=0
  2. 障栅(CyclicBarrier),当大量线程都达到一个集合点时,线程继续执行或者执行指定的Action。
  3. 交换器(Exchanger),一个线程填缓冲区,另外一个消耗缓冲区中的数据,都完成后,相互交换缓冲区(双向的过程)。
  4. 同步队列(SynchronousQueue),第一个线程调用put将数据放入该同步队列并阻塞,第二个线程调用take取出数据后阻塞。接着继续第一个put,第二个take(单向的过程)。
  5. 倒计时门栓(CountDownLatch),该同步器不可重复使用,countDown可以减少门栓数目,门栓减少为0就不能重用了。需要工作线程等待,准备工作线程在准备完成后减少门栓数目,这时候工作线程便可以通过了。

真的是丰富啊……………………..

屏蔽wordpress的pingback和trackback

2013年11月20日

        在WordPress后台即可实现,在设置—讨论中把“接收来自外部博客的引用通告(pingback 和 trackback)。”这一项勾选去掉,保存设置。
这样,以后新增的文章或页面就不会启用pingback和trackback功能了。

        但是以前的文章pingback和trackback功能还是开启状态,那就要进数据库执行sql语句来修改数据库。

UPDATE `uu159007`.`wp_posts` SET `ping_status` = 'closed';