IT技术博客大学习 共学习 共进步

技术文章

精选技术长文、实践记录与系统化阅读

技术文章精选

低噪声、高可扫读;标题、摘要、来源、标签一目了然。

最新文章

采集自各技术站点的近期文章。

IT 发现/ 2011-06-02 13:36:37 / 累计浏览 5,327

html页面里的幽灵空行――UTF8Bom

相信很多玩web的朋友都遇到过一种情况,HTML代码里面没有多出的行,带页面显示的时候,莫名其妙多出了一个空格或多余的行,搞半天也无解。怎么回事呢?下图是出现前面说的情况后用firebug看到的HTM...

IT 其他/ 2011-06-02 13:35:19 / 累计浏览 3,862

Erlang linkin driver用port_control方式时的一些经验分享

最近由于需要Erlang与C交互,采用了linkin driver的方式。利用port_control以及driver_entry中的control回调,调用C函数。在传递复杂的数据结构,序列化和反序列化数据时遇到了一些问题,与大家分享一下。先简单介绍一下eralng driver。 首先,Erlang与外部程序交互的方式主要有两种: Port方式,Erlang利用标准输入和输出与外部的程序进行交互。此种方式下,外部程序作为一个外部的进程运行。 内联驱动(linkin driver)方式,Erl...

IT 其他/ 2011-06-02 13:34:51 / 累计浏览 5,897

HIVE中UDTF编写和使用

1. UDTF介绍 UDTF(User-Defined Table-Generating Functions) 用来解决 输入一行输出多行(On-to-many maping) 的需求。 2. 编写自己需要的UDTF 继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF。 实现initialize, process, close三个方法 UDTF首先会调用initialize方法,此方法返回UDTF的返回行的信息(返回个数,类型)。初始化完成后,会调用process方法,对传入的参数进行处理,可以通过forword()方法把结果返回。最后...

IT 系统运维/ 2011-06-02 13:33:32 / 累计浏览 5,554

Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理

String line=value.toString();之所以会把GBK编码的输入变成乱码,很关键的一个因素是Text这个Writable类型造成的。初学时,一直认为和LongWritable对long的封装一样,Text类型是String的Writable封装。但其实Text和String还是有些区别,它是一种UTF-8格式的Writable,而Java中的String是Unicode字符。所以直接使用value.toString()方法,会默认其中的字符都是UTF-8编码过的,因而原本GBK编码的数据使用Text读入后直接使用...

IT 用户研究/ 2011-06-02 13:32:11 / 累计浏览 1,091

浅谈用户招募的过程

在进行用户研究(尤其是定性研究)的时候,我们经常选择测试、访谈和焦点小组等方法,需要找合适的用户来进行观察,这时,用户招募自然成为不可或缺的一部分工作。招募用户比较单调乏味,确实如此,它就是确定要招募什么人、找到他们、安排时间约见并让他们到场,协助我们完成任务。招募用户需要擅于与陌生人沟通及对外协调能力,你就能处理好招募工作中遇到的难题,能招募到有代表性的用户样本来参与研究。 招募过程可以浓缩成这...

IT MySQL/ 2011-06-02 13:31:54 / 累计浏览 2,246

修改MySQL的默认编码设置

最近在MacOS下用django框架做web开发,于是用MacPorts安装了MySQL5。但是测试时django的测试框架会报错,原因是UTF8数据无法插入。我们知道,MySQL安装完成后默认编码为latin1,并不适合中文应用。因此我们通常用下面的SQL语句创建数据库: CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 而django测试框架创建测试数据库时并不会像这样指定编码,因此创建的数据库编码为latin1,导致加载UTF8数据...

IT 其他/ 2011-06-02 13:31:39 / 累计浏览 3,475

使用gcov完成代码覆盖率的测试

Gcov作为gnu/gcc工作组件之一,是一款的免费的代码覆盖率测试工具,而且可以结合lcov生成美观的html的测试报表。本文介绍一些gcov的使用方法,基本原理,一些实际中可能会遇到的问题以及解决思路。

IT MySQL/ 2011-06-02 13:30:17 / 累计浏览 3,656

用bin日志中恢复MySQL数据库

如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。“mysqlbinlog:用于处理二进制日志文件的实用工具”。要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式...

IT 系统架构/ 2011-06-02 13:26:27 / 累计浏览 4,450

Hadoop集群间Hadoop方案探讨

在日常的工作过程中,我们经常会碰到在不同的Hadoop集群间来回copy数据的需求。这些不同的集群,他们的Hadoop版本可能不同,不同机房的acl也可能不通,给我们的distcp带来了很多困难。这里整理曾经遇到的各种需求,供各位看官参考: 1.机房影响 这里假设有两个Hadoop集群,a和b,版本一致,但位于不同的机房A1和B1(A1的机器变化较少,B1的机器变化更频繁,acl推荐从A1打通到B1),任务计划于机房A1的机器gateway_a上提交。需要做...

IT 视觉设计/ 2011-06-02 13:25:50 / 累计浏览 2,172

Gamification:互联网产品的游戏化设计思路

概念 在2011年的GDC大会上,Gamification(游戏化)作为一个热门新词被提出来。简单来说就是将游戏的思维和游戏的机制运用到其他的领域,来引导用户互动和使用的方法。 它能在互联网、医疗/健康、教育、金融等领域中影响到用户使用时的心理倾向,进而促进用户的参与与分享。 简单的说,它可以用来鼓励人们做一些通常认为“无聊”的事, 例如完成调查、购物或者阅读网页等。 Wiki:Gamification 为什么要关注它 我们设计完产品,做...

IT 视觉设计/ 2011-06-02 13:25:07 / 累计浏览 2,573

趋势之上-Android设计趋势分析10则

  Android作为Google最重要的资本之一,尽管在智能终端上的起步较Apple晚不少,然而面对强有力的竞争对手,从不停追赶到部分超越,已为其未来战略目标做好了充分铺垫。   迄今,全球已有超过100款Android产品。聚焦未来,本文将给出个人总结梳理的 10 则设计趋势分析,欢迎交流与探讨。 1. 强化与规范Android品牌形象   因竞争对手强大,行业变化迅猛,Google一直将时间看作其终端战略中关键的要素。相对而言,现阶段才逐步...

IT 视觉设计/ 2011-06-02 13:24:41 / 累计浏览 3,717

Android UI基本测验:相对布局

你已经阅读了相对布局在Android中是如何工作的,接下来的测验将测试你新学到的相对布局控件方面的技能,并能巩固你在java编程和Android用户界面设计与开发方面的知识。 准备 为了准备这个测验,你希望以一个基本的Android程序开始。你只需要在Eclipse中创建一个Android程序然后编辑它的默认活动(Activity),特别是onCreate()方法,就可以测试你为本次测验写的代码了。 如果你不明白刚才说的怎么做,那我推荐你们先看一看之前的文...

IT 奋斗/ 2011-06-02 13:24:00 / 累计浏览 4,010

每一位想有所成就的程序员都必须知道的15件事

 我刚看完Chad Fowler的Passionate Programmer(中文版《我编程,我快乐:程序员职业规划之道》),这本书讲的是如何在软件开发行业中取得非凡的成就。 以下是根据这本书总结的,作为程序员,要取得非凡成需要记住的15件事。 1、走一条不一样的路 在有利于自己的市场中竞争,如果你满足于“泯然众人矣”,那恐怕就得跟那些低工资国家的程序员们同场竞技了。...

IT 其他/ 2011-06-02 13:22:33 / 累计浏览 8,664

再谈“我是怎么招聘程序员的”

我以前写过一篇“我是怎么招聘程序员的”的文章(在CSDN那里有很多人进行了回复)。今天,我想再谈谈关于招聘和面试这方面的东西,主要是以下这些原因: 近半年来我在进行了大量的招聘工作,对面试有一些新的体会。 酷壳最近发布了几篇趣味面试题(面试题一,面试题二,面试题三),从回复中让我有一些思考。 我有一个同事最近面试了一家公司,他和我分享了一个博士专家对他的面试,也让我思考了一些。 在豆瓣上看到“知乎上某人写...

IT 编程语言/ 2011-06-02 13:20:16 / 累计浏览 6,412

提高编程技能最有效的方法

对你的编程技术提高最有效的一件事是什么?回复的人中给了很多很不错的建议,我把他们总结了一下,十条,相信一定会对你有用。(注意:顺序是我自己按我的个人经验排的) 和比自己聪明的能力比自己强的人工作。学习他们的代码,他们的做事方法,看一看那些人是怎么处...

IT 算法/ 2011-06-02 13:19:50 / 累计浏览 4,087

“火柴棍式”程序员面试题

有时候,有些面试题是很是无厘头,这不,又有一个,还记得小时候玩的的“火柴棍游戏”吗,就是移动一根火柴棍改变一个图或字的游戏。程序面试居然也可以这么玩,看看下面这个火柴棍式的程序面试题吧。 下面是一个C程序,其想要输出20个减号,不过,粗心的程序员把代码写错了,你需要把下面的代码修改正确,不过,你只能增加或是修改其中的一个字符,请你给出三种答案。

IT 其他/ 2011-06-02 13:19:21 / 累计浏览 2,874

程序员那些悲催的事儿

在StakeOverflow上有这样一个贴子叫“Confessions of your worst WTF moment”(WTF就是What the fuck的缩写),挺有意思的,我摘几个小故事过来,希望大家在笑过之后能从中学到什么――所有的经验都是从错误中来的(我在其中加了一些点评) 我们公司的软件是给警察局用的,那是一个对用来处理被逮捕的人的系统,此系统还需要收集脸部特征和指纹信息,并且,这个系统和会向FBI的系统提交这些信息。当我们在测试这个系统的时候,我...

IT 其他/ 2011-06-02 13:18:54 / 累计浏览 2,729

BT雷人的程序语言(大全)

还记得以前本站的BT雷人的程序语言吗?除了那几个Brainfuck,LOLCODE和WhiteSpace,我以为这些是比较BT的语言,但是自从这两天我在网上看到一些(见文章最后的参考一节),我发现我错了,这个世界上,只有更变态,没有最变态。不相,你看看下面这些,简直变态到了极致啊。(下面的语言变态不分排名) Befunge 第一个变态语言Befunge。维基上面说――这门语言由Chris Pressey在1993年创造,本意为设计一种为难编译器的语言……结果...

IT 算法/ 2011-06-02 13:18:35 / 累计浏览 4,052

面试题:火车运煤问题

这个可能是一个比较经典的智力题了,和以前的那个《赛马问题》很相似,其题目如下: 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大――每一公里需要耗一吨煤。请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市? 这道题一开始看上去好像是无解的,因为你的火车每一公里就要消耗一吨...