为了方便中国程序员查看Hacker News,我开发了Hacker News中文版网站

Y Combinator 旗下的Hacker News,是极客程序员、前卫的产品经理、科技圈投资人的每日必读网站之一。

我有一些朋友和我一样,每日必访问Hacker News。但总地来说,作为中文用户,使用Hacker News有三个痛点

  1. 排版太丑了。十几年前的UI,从来没改过
  2. 密密麻麻的英文看着头大
  3. 没有图片,看着累。

为了方便我自己和我的朋友解决以上三个痛点,我花了一点点时间,使用官方提供的API,做了它的中文版 —— 黑客湾(https://www.heikewan.com)

首页展示出了我最喜欢的三个模块:新闻(TOP)、黑客作品秀(SHOW HN)、黑客好问题(ASK HN)。

我如何解决以上的三个痛点呢

  1. 解决UI太丑的问题 → 我重新制作了比较现代化的responsive UI界面。
  2. 解决英文看着头大的问题 → 所有内容,通过Google自动翻译,包括用户评论
  3. 解决没有图片的问题 → 使用Headless Chrome对每个新闻链接进行截图

整体效果如下。

业余时间作品,非盈利性质。欢迎大家多多提建议~~  谢谢  Thanks♪(・ω・)ノ 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Hacker News本身也是开源的,为什么还要做iNews?初衷是什么? 赵戈戈:Hacker News从功能和内容本身上来说是个很好的应用,我们最初也是想从开源入手 —— 直接使用,不过HN是甚于Arch实现的,我们对Arch 并不熟悉,所以决定自己写,以便功能扩展。 关于初衷。从产品上讲,要从我和搭档 @sofish说起。我们都是苹果的忠实用户,经常会互相分享一些应用,久而久之也就萌发了这个念头:做一个分享苹果新闻和应用的社区,对于苹果在中国这几年设备数据大增,应该有很多人跟我们有同样的需求,于是就开始做了;从技术上讲,它的结构类似于Hacker News,而外观应该更漂亮,并且要适合移动应用阅读。最终我们动手实现了它,并上线了http://inews.io。虽然现在还没有完全做到期望值,但最起码迈出了第一步;从程序本身来讲,上线了一段时间后,很多朋友看到都希望在自己站点上使用,后来越来越多的人寻求使用并提供建议,基于我们对开源的开放态度,最终决定放出来给大家使用。 iNews 在技术上是如何实现的? 赵戈戈:iNews基于PHP,使用Mysql存储,phpmig进行数据库版本管理。框架上,后端采用了我自己写的Restful框架 Pagon来开发,前端使用了@sofish的 typo.css, validator.js等开源库。第一版本上线前我们希望从最基本的功能开始,上线 > 快速迭代。整个开发过程非常快,只用了一天半的时间就实现了。后续做了些优化和修复就上线了。在服务上我们也采用一些不错的第三方服务:用SendGrid发送邮件,用NewRelic做应用监控,用Dropbox做数据库备份等等。 这里再补充一点:从技术选型上,技术适应产品才是最重要的,不要强迫自己使用的是PHP 、Node或者Ruby等。选择基于PHP的Pagon这个框架,让我们可以更快速实现iNews.io的功能。 总共有几名开发人员?这种UGC项目的技术难点和重点是什么?你们是如何解决的? 赵戈戈:只有我和搭档@sofish两个人。开源之后应该会陆续会有一些同学加入,实际上目前已经有一些同学在一起开发。对于iNews来说,技术上基本没太多难点,主要有几个点需要关注:安全性、性能、易用、适配(Responsive)、社会化接入等。 安全性主要是XSS和数据库过滤。Pagon框架已实现自动XSS处理的,只要开启了safe_query 的选项,在模板渲染的过程中会自动做XSS过滤。数据库方面使用的一个paris库,它本身使用PDO来处理SQL,PDO本身会对数据进行转义处理再存入。 性能其实是个很泛的话题,iNews.io数据样本太少,还不好看出性能到底如何,就目前的平均输出时间来看只有30ms左右,前端方面使用Google Pagespeed测试是:移动,85/100;桌面 95/100;这比很多网站分数都要高。高性能跟逻辑简单和实现方法都有关系,如果需要很好的性能需要考虑到方方面面,我这里先简单说PHP的基本观点:代码越简单越好,不要使用太多魔术方法,尽量使用PHP 内置的方法,使用最新的稳定版5.4,服务器安装APC扩展,使用Nginx FPM模式运行PHP。其次Pagon框架本身开发过程也对性能有很高的要求,所以在代码质量和性能上也下了不少功夫,这也是应用性能的基础。在数据库方面只做了索引优化来达到更好的查询性能。性能还涉及到很多,做为一个刚初出茅庐的应用来说还没有足够完善也不需要把性能放到第一位,在这里就先不说还没有做到的。 而在前端,跨终端适配应该是现代应用最应该做的支持。@sofish 在这一块有很多的研究,所以我们的 iNews 是可以在移动设备上很好的访问的。 社会化接入这块其实也并不是什么难点,只需要有很好的封装就可以解决问题,重新开发代价稍大。我觉得 PHP 第三方认证的库都做的很一般,但还是有个opauth的第三方认证库,封装有点凌乱,但凑合着能用。如果是Node的话,这一块有很多很不错的库,比如everyauth和passport,如果PHP社区可以像Node社区一样活跃那问题就可以更好解决了。 iNews在内容推荐上采用了什么样的机制或算法? 赵戈戈:iNews最初是参照Hacker News的算法来做的,后期将评论也加入了权重。因为觉得对于这种社区来说,评论是很重要的一块,评论代表着交流,有交流就证明内容的价值有可能存在,如果只有“顶”才算权重,那激烈的讨论可能会显得不太公平。但若是每个评论的权重和每个“顶”的权重一样,又显得不太合理,“顶”是认可的意思,评论是交流的意思,所以评论应该稍低于“顶”的权重,这样做才比较合理。最终是这么来做的。 iNews 有哪些创新性的东西? 赵戈戈:如果说创新的话,我想提一个设计模式:MOVE。应该有不少人看到过过这个设计模式,摒弃了MVC传统老套的做法。采用了Model、Operator、View 和 Event 来梳理编码流程。其中 Operator可能是大家最不解的一个地方,其实也是最具创新意义的地方,Opeartor从字面意思来理解就是:操作器。Opeartor的出现摈弃了控制器重用性和代码混杂的局面,将每个操作都拆分成一个独立的操作器,组织成一个树形的流程来封装使用,对于编码流程来说是一个梳理。iNews里面有一些对操作器的浅显理解和实现,但并没有完全使用操作器来做,还是主要使用MVC作为基础,这种尝试会慢慢变得成熟,并可能逐步完全采用这种模式来开发。 标签:iNews
Resource Hacker 4.0 是一款非常常用的软件翻译工具,它可以用来修改和编辑各种Windows应用程序或游戏的资源文件。汉化版的Resource Hacker 4.0意味着这款软件已被中文用户翻译成中文界面,使得更多的中文用户可以更方便地使用它。 Resource Hacker 4.0中文汉化版能够提供一种全新的使用体验,因为软件界面和菜单选项都被翻译成了中文。这使得中文用户可以更容易地理解软件的各个功能和操作步骤,而无需费力去查找英文翻译或者猜测它们的含义。此外,中文汉化版还能更好地满足用户的个性化需求,因为用户可以在熟悉的中文环境中自由地进行软件编辑或者翻译操作。 而且,Resource Hacker 4.0中文汉化版还进一步提升了软件的易用性和用户体验。通过将软件界面和菜单选项汉化,中文用户不仅可以节省宝贵的时间,还能避免翻译错误的问题。此外,这款汉化版还可以提供更加友好和直观的界面设计,使得使用者可以更轻松地理解和使用软件,从而更加高效地完成所需的翻译或编辑任务。 综上所述,Resource Hacker 4.0中文汉化版为中文用户提供了更方便、更易用的软件翻译工具,使得用户在操作和理解上都更得心应手。通过这个汉化版,用户可以更加高效地完成各种软件翻译和编辑的任务,满足个性化需求,提升工作效率,进一步推动中文用户在计算机应用领域的发展。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值