4万字《腾讯云技术实践精选集 2021》发布,点击下载 了解详情
写点什么

专访 SegmentFault 创始人祁宁

  • 2012 年 3 月 06 日
  • 本文字数:5969 字

    阅读完需:约 20 分钟

社会化问答网站自去年起就成为了互联网行业的热点之一,针对程序员的垂直类问答网站也已经出现,本文所提到的 SegmentFault (思问)就是其中典型的代表,我们采访到了高阳( @高阳 Sunny )和祁宁( @joyqi ),以下是详细的采访内容:

InfoQ:请两位分别做下自我介绍?

祁宁:我叫祁宁,微博 ID 是 @joyqi,在 SegmentFault 上的个人主页是 joyqi 。07 年毕业,08 年到 10 年在阿里巴巴工作。现在在北京的一家创业公司从事互联网游戏的开发工作,是 SegmentFault 网站的技术负责人。以前还曾做过一些开源项目,其中有一个大家非常喜欢的开源博客项目 Typecho ,还有其它一些小的开源项目。

高阳:我叫高阳,英文名字 Sunny,微博 ID 是 @高阳 Sunny,在 SegmentFault 上的个人主页是 Sunny 。我接触互联网应该算比较早的,在高中时就接触互联网,当初一直在给校内去做一些事情。在那个大学只上了三个月之后,有一个机会来北京,也就是现在祁宁所在的公司。然后到了 2011 年,我跳槽到新公司 Tech2IPO 。业余时间,我喜欢关注就互联网产品趋势,在 SegmentFault 主要负责运营和推广的工作。

InfoQ:能否简单谈一下国内问答网站的发展,以及 SegmentFault 的技术背景呢?

祁宁:我们最早接触的国内问答网站就是百度知道,但是对于行业内的垂直问答网站来说国内的发展还是比较晚的,至少在 2010 年的时候,我们还没有接触到很专门的问答网站,很多网站基本上是用来把问答作为一个子板块来做,比如说 ITEye 的问答频道还有 CSDN 论坛都会有一些这样的子板块,但是作为专门的问答网站在国内还是很少找到,针对程序员的就更少,然后我们 SegmentFault 起步也是看到了这一点。

高阳:社会化问答受到国内大部分人关注的主要是两个网站,一个就是 Quora ,再一个就是 Stack Overflow 。其实在 2011 年的时候 Quora 受到很多人的关注,因为他们拿到了比较大的一个投资。之后还有像 Stack Overflow 的增长速度也是非常之快。同时,还出现了其他的一些社会化问答网站,比如像 Form Spring friend.ly 这种,都是类似于通过问答去交友的一类网站,这类网站更加社会化,国内也看到了这样的一个趋势,现在也有很多创业者在摸索。然后国内会出现了知乎,知乎得到了创新工厂的投资,我有一个之前在盛大的朋友也做了一个叫做 mifan.me 的这样一个问答网站,也在做一些尝试。

当时我跟祁宁进行了一次长时间的沟通,当时是抱着试试看的心理,正好也注册了一个比较有意思的域名,想把这个东西给做出来,于是大家花了一个多月的时间把 SegmentFault 给做了出来,我相信在互联网发展之后,两种人才会特别突出,一类是程序员,再一个就是设计师,所以我们想借助一些体验较好的社区,通过问答的这种形式把这件事给做起来,我们认为这件事本身是一件非常有价值的事情,很值得去做。

InfoQ:你们认为 Stack Overflow、Quora 的成功之处有哪些?

高阳:首先我谈一下 Quora,他的创始人之前在 FaceBook 工作。Quora 从一开始就非常注重用户群,他们认为一个社区要发展就必须要有 Power User,他们一开始的用户大部分都是硅谷的精英,有了这样的一批高质量用户,高质量问答就是水到渠成的事情了。其次,Quora 控制注册人数,通过邀请机制,首先由内部人员邀请其朋友们过来。Quora 里面有更多的社交元素在里面。比如说我可以直接关注这个人,然后在上面给他留言或进行评论交流之类。还有一个就是他们的邀请机制,他们是如何控制中国用户呢?中国用户不能直接注册,必须得通过 Twitter 或 FaceBook 才能登录,或是直接通过邀请,因为 Face book 跟 Twitter 被墙的原因,这也一定程度上也限制了中国用户的使用。当时我也是 Quora 的第一批用户,他们很明确规定,在上面回答问题必须是英文,当时我们在上面也问了很多中文的问题,但都被他们官方删除了。

像 Stack Overflow 的两个创始人,应该是美国比较知名的两个技术博主,非常有名,在国内也许有很多人知道。他们在做问答之前,有很长时间的一个积累。从 08 年开始做,Stack Overflow 只是 Stack Exchange 下面的一个子站点,但是发展却是十分迅猛。我认为这里面最重要的一点,就是人群定位精准,面向程序员。再一点就是解答,提出的问题得到别人回答之后,会让用户感觉有意义,再通过一些比较不错的激励机制,就使得用户对网站更加地有黏性。

InfoQ:SegmentFault 的定位是什么呢?在做本土化时主要做了哪些改进?

祁宁:第一眼看上去 SegmentFault 跟 Stack Overflow 会觉得长得比较像。但实际上我们在界面上做了很多处理,相对中国用户来说,看起来会比较习惯一些。比如说浏览量的显示,浏览量在 Stack Overflow 是在页面上显示,在我们这里,只有点进问题里面才会显示浏览量,我们会刻意的引导用户来使用回答和投票的功能,因为中国用户大部分都是喜欢看贴不回贴。所以我们会刻意的导用户去着重使用这两个功能,这也会使得问题被更高的关注。我们在界面上也使用了一些比较精心的设计,比如搜索功能在 Stack Overflow 上是放在右上角一个不起眼的位置,在 SegmentFault 我们把它放到标题 LOGO 的旁边,而且做了一些特别的处理,这样中国用户其实上还是比较喜欢这个搜索功能。然后搜索上我们也对中文分词做了很多优化,这样可以让用户更好的搜索到自己关注的问题。此外,在登录上我们对大部分的国内外平台都做了第三方登录的处理,现在已经支持九种以上第三方登录的方式,这也极大地方便了中国用户的使用。

InfoQ:能否从技术上再介绍一下咱们这个网站,比如说用到了哪些框架,或是开源的一些组件?

祁宁:这个网站整体上来讲是使用 PHP 语言开发,数据库存储采用的是 MySQL,但是我们没有使用 MySQL 的发行版,用的是 MySQL 的 Percona ,主要是针对 InnoDB 的引擎做了一些优化。然后后端缓使用的 Redis ,PHP 框架上我们没有用其他第三方框架,因为我本身也做 PHP 的,以前也有过一些积累,所以说框架什么的都自己写的。然后在这个我们用了一些第三方的组件,比如说分词,分词是用的那个 SCWS ,它的分词还是比较快的,另外它还支持 PHP 的扩展,所以我们用起来也会比较方便。现在我们把头像以及上传的图片全部都放在了又拍云存储,这使得在头像载入这方面可以做得比较快,而且又拍云存储与其他 CDN 不同的是,他针对图片做了很多优化,比如说可以自定义图像的缩放尺寸,自定义一个规格,这点其实对我们做头像来说是非常方便的,而且我们也非常喜欢这种方式。

InfoQ:作为垂直类的问答网站,您觉得需要优先解决的技术问题有哪些?

祁宁:我们从一开始就会把搜索作为一个优先解决的技术问题。我们在做站内搜索时花了很大的力气。最开始我们用的是 Lucene 的引擎做了一个 Java 的一个后端搜索服务,后来我们是把整个搜索全部转移到 Redis 平台上,用 Redis 来做站内的搜索,这样效率会比较高,而且搜索起来准确度比较高。

存储方面我们因为当时正好 Redis 比较流行,后来发现 Redis 其实它不但能够满足 Memcached 的一些服务,它本身有很好的数据结构可以满足我们需求,比如说 Hash、List 以及有序 List 都能很好的满足我们的需要。在语言的选择上,开始我们有很多选择,但是后来还是选择了比较熟悉的 PHP 语言。而且我们在客户端的服务上很多也是用 PHP,比如说发邮件的服务,我们现在用的是亚马逊的 SES (Amazon Simple Email Service),可以解决我们一些发送邮件的问题。因为如果我们自己搭建邮件服务器的话,很可能会被看作垃圾邮件,还会遇到其他的问题,但是如果用亚马逊这个服务就不会有这种问题。

InfoQ:从创立到现在遇到了哪些挑战呢,又是如何克服的?

高阳:首先我个人认为在网站运营这块,国内外两种程序员用户在使用习惯上有很大的不同,当然这与产品本身的形态也有一定关联。比如说 SegmentFault 上面就有一些用户直接把评论的内容回答到了问题里面,这种也是让我们比较头疼的一个事情,因为我们这个 SegmentFault 它不是一个论坛,我们希望问题就是问题,问题的评论我们有另外一个产品形态在解决。所以,我们之后可能会在这个产品的用户引导上面做更多的改进。再者就是说因为程序员这一块是比较垂直的市场,国内已经有其他的一些比较大的程序员社区,我们可能要在这方面要做更多的积累,以此才能够吸引到我们的一些核心用户,再去寻找这样一个爆发点,现在前期我们基本上是处于一个零成本的推广和运作的一个阶段,没有刻意的去做很大的推广或者是运营,这点,我们还是希望通过线下的一些技术沙龙以及一些合作的形式,让我们的平台去更多曝光,后续可能我们也会和一些开放平台,国内的这种像新浪、腾讯、以及人人这样的开放平台去进行一些合作,以这种形式让更多的用户先是了解我们,然后通过更好的用户体验让用户都来使用这个产品。我们网站的目的很简单,就是想帮助程序员用户,能够帮助他们直接解决问题就 OK 了。前期最主要的还就是用户问题这一块。

InfoQ:您觉得如果要在问答网站上提问和在搜索引擎上去搜索,最大的差别是什么呢?

祁宁:因为程序员,说实话程序员其实是比较懒的一群人,一般能找到现成解决方案基本上就会用现成的解决方案去做的。大部分的程序员不是很喜欢去主动问问题的,第一,主动问问题比较麻烦;第二,可能也比较跌范儿,就是比较没面子。所以知乎上会有逆名问答。

技术上来说,我觉得第一个就是要解决就是必须得给他激励,就是说用户问问题以后,必须得给他一种实质的奖励,不论是名誉上的还是事实上一些奖励,可以让他更有成就感,这样用户才会愿来问问题。像 Stack Overflow 就有一些奖章、积分之类的奖励,最主要是积分,我们以后可能会对这方面做一些强化,让用户更加有成就感。另外就是那些用户,特别中国的程序员特别不善于问问题,刚才高阳也讲到了,问问题的时候,基本上还是用论坛的那一套方式来问,因为第一次问问题的时候,没有描述清楚,因为他习惯论坛那种反复的讨论,就是反复的把一个问题描述清楚,后面跟帖这样。

但是在我们问答网站上就必须强制他一次把一个问题解释清楚,或者要么就是修改自己的问题,这样就可以引导用户把那个问题在一个地方可以清晰的描述清楚,当其他用户在搜索这个问题的时候,一旦他点这个链接进来,看到这个问题,第一,问题很清楚,所有的问题描述都在一个地方,你不需要再翻页,再去下面看别人的回帖;第二就是问答很清楚,那个问题被用户标注为最佳答案,他按这个答案就可以找到解决方案,不需要再去后面翻那些可能会被其他人的评论淹没的帖子,不知道那一个是正确答案,这样就可以,这样对技术人员来说就非常节约时间了。

InfoQ:从成立到现在,问的频率较高的问题都有哪些呢?

祁宁:现在其实很惭愧,最受欢迎的问题不是纯技术问题,还是一些偏向就是解决之道的问题,我们现在就是 SegmetFault 我们定位是提供解决方法,更偏向于提供解决方法,而不是偏向于提供解决之道。我们就是提供一个最直接最有效的一个解决方法,我们就提供这样一个网站。但是现在我们网站最受欢迎的我们好像看到比如说有二三十个回答的,而且评论比较高的问题都不是这种解决之道的网站,而是就是比如讨论某一个语言的前景,这种问题会讨论比较多,这个其实反映另外一个方面,第一个就是我们国内的开发人员可能自信度还是比较缺乏,因为如果你要提供一个解决方法,他的验证是比较简单的,就提问者直接拿你的方法去验证,是否可行,你这个问题就很快就可以被别人判断是否正确,给不给分。但是如果是一个解决之道,比如说你的这个语言看法,这种东西因人而异,你说的不对,别人还认为你说的对,所以说这个其实跟国内的一些环境还是很有关系。

InfoQ:有网友认为,感觉 SegmentFault 的切入点有点大,如果一开始进来的用户的技术的领域差异太大,各问各的,又没有人能够回答,就很难形成社区的氛围,宁可一开始从某个小的切入点开始,比如只是初创团队擅长的领域好好利用邀请机制,做好把关,逐步改善范围,那你们对于这种观点怎么看,就有没有考虑只做一个领域,或者语言,比如说只做 Java 的、PHP 的或者 Python 的?

祁宁:刚开始时候我们可能会集中运营一些特定的领域,比如说 PHP、Java 以及 Ruby,但是我们确实不愿意把网站只限制在这些领域。因为技术领域是不停地在变化的,技术发展是很快的,而且对我们互联网人员来说,会几门语言是很正常的事情。如果我们只专门一门语言的网站实际上不是很必要,而且这种网站在国内很多。

InfoQ:如何处理质量不高的问题,或者长期无人回答的问题,在咱们运维的过程中对这种现象是怎么处理?

祁宁:对于质量不高的问题,我们会在评论中提示用户修改,如果他过一天不修改,我们就会把这个问题给关闭掉。因为我们所有的评论都是有提示的,用户肯定会收到我们的这个提示,如果不修改,我们就认为他自己也不在意这个问题,于是就会把这个问题给关闭掉。在用户提问的时候,我们也会做一些引导,比如说最开始时候,回答问题的地方没有任何提示性的语言,现在只要将焦点移到回答框上,就会有相应的提示出现。比如说提示用户这个答案最好是有什么样的情况构成,最好是比较慎重一点,还有用户就是有些用户喜欢自己自问自答,有些用户他发现一个很难解决的问题,被自己解决以后,也会自己在网站上先提出这个问题,然后亲手再把答案写上去。

InfoQ:下一步有哪些规划?

祁宁:第一个,比如说解决用户关注领域的问题,我们现在比较倾向于,在用户的主页上只展示用户关注领域的问题列表,就是说把一些他可能不关注的问题,他没有关注的问题就不会显示在他的用户组件上面。此外,我们还会增加一些更多的板块,比如说现在我们主要是按标签来组织内容的,后续很可能在上面会加一个板块就叫话题,一个话题可能是具有某几个标签的集合,比如说我们会有一个互联网话题,互联网话题里可能会有很多标签集合在里面,NoSQL 话题可能会把 Redis、InnoDB 这种标签涵盖进来。

话题可以有一个管理人,可以把这个话题被其他的网站或是其他的合作者来管理这些话题,这个话题还可以有一些分享链接。这个分享链接可以更多的丰富网站的内容。这也是我们正在讨论的一个东西,现在也正在设计一些用户原型。关于改版,主要是把 Stack Overflow 的影子从我们这个网站退去掉。因为现在有些用户反馈说一进来就会发现这个网站比较像 Stack Overflow,对技术人员来说山寨这个事情是比较影响品位、影响心情的一个东西。后续我们会在这方面,主动从设计上与 Stack Overflow 区分开,做得更加符合我们中国人的习惯,然后做这样一些优化。

以下从 SegmentFault 网站上选取了两个问答案例,供大家参考:

皮皮鲁:如何创建一个高度自适应的 Textarea?

xhinking:如何理解皮尔逊相关系数(Pearson Correlation Coefficient)?

延伸阅读

访谈程序员问答网StackPointer 创世人简均

Typecho,让你的博客字字有声

FormSpring 初体验

问答网站 friend.ly 的用户数为何井喷?

浅析问答网站存在的价值

米饭(mifan.me)- 开启社交网络新形态

2012 年 3 月 06 日 00:0012520
用户头像

发布了 156 篇内容, 共 44.8 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享

Java 程序员 后端

全链路压测必备基础组件之线程上下文管理之“三剑客”

Java 程序员 后端

几款常见接口管理平台对比

Java 程序员 后端

公司用算法考核程序员,与绩效挂钩,成绩太差将面临淘汰?

Java 程序员 后端

关于电商秒杀系统中防超卖、以及高性能下单的处理方案简述

Java 程序员 后端

关于计算机面试重难点 之 操作系统,字节架构师有话说

Java 程序员 后端

刚拿的字节跳动offer“打水漂”,TikTok不去了,我该何去何从

Java 程序员 后端

别再说你不会-JVM-性能监控和调优了,看完这篇再发言!

Java 程序员 后端

力扣前400题解答笔记,全被字节大神整理到了这份文档里

Java 程序员 后端

北上广深,2020,多少K的Java程序员应该懂高并发多线程和JVM优化

Java 程序员 后端

冷门的 Java 应用程序安全沙箱机制了解一下

Java 程序员 后端

分布式架构——Gossip 协议详解

Java 程序员 后端

创建型模式之建造者模式——链式调用

Java 程序员 后端

初探DispatcherServlet#doDispatch

Java 程序员 后端

剖根问底:Java 不能实现真正泛型的原因是什么?

Java 程序员 后端

互联网通信云盛会WICC广州站绿色报名通道开启

融云 RongCloud

关于Maven,这几个一定要会的知识点,你真的了解吗?

Java 程序员 后端

初识Java语言(六)- 多态、抽象类以及接口

Java 程序员 后端

前华为18A架构师,总结“RabbitMQ”开发手册,已开源

Java 程序员 后端

前后端项目练习(整合Spring)

Java 程序员 后端

分布式服务下,消息中间件改造

Java 程序员 后端

初识Servlet

Java 程序员 后端

别再找了,这就是全网最全的SpringBean的作用域管理!

Java 程序员 后端

动手造轮子:实现一个简单的-AOP-框架

Java 程序员 后端

Python Qt GUI设计:窗口布局管理方法【基础】(基础篇—5)

不脱发的程序猿

Python qt GUI设计 Qt Designer 窗口布局方式

关于Spring注解容器配置的那些事,掌握这几点,不再难!

Java 程序员 后端

初次远程面试蚂蚁金服,三面过后本以为凉凉,没想到直接被录取了

Java 程序员 后端

内卷严重!看看这些java核心资料,提高竞争力,争做拍死别人的后浪

Java 程序员 后端

凭借着这份Spring面试题,我拿到了阿里,字节跳动美团的offer!

Java 程序员 后端

制作Docker镜像,用来编译OpenJDK11源码

Java 程序员 后端

专访SegmentFault创始人祁宁-InfoQ