作为一个开发人员,每天写代码,找解决方案,碰到 BUG,找搜索引擎,如果你每天做着面向搜索引擎的开发,那你是否碰到过搜索引擎结果重复,广告堆积,查无所用等问题呢?这个问题在今天就能得到解决~
巧的是,最近在找开发文档时,发现百度上线了一个全新的搜索产品:
首先域名好评,本以为会使用 dev,code 这些土洋的名字,结果真就是 kaifa,漂亮~
从名字就知道,这就是面向开发者的搜索引擎,不过 LOGO 中显示当前版本是 BETA 版,看样子产品还在不断迭代,但既然已经上线,那肯定是优于普通搜索的,而且是国内首家,那必须试试。

看了一下 slogan 和目标,发现定位都很明确,果然百度自家的技术人员很懂我们普通开发者。
产品 slogan:让技术搜索更简单高效。
产品目标:开发者搜索是一个面向开发者的知识搜索平台,专注于为开发者提供高效的技术搜索服务。
首先映入眼帘的就是 GitHub 趋势榜,随时了解流⾏仓库,还可以直接快速发现优质项目,而且非常 NICE 的提供了开发语言和时间范围的选择,作为 Python 程序员的 橡皮擦 可以快捷的切换到 Python 优质仓库,一眼就看到了熟悉的 you-get。

右侧是可配置的【站点导航】及【在线工具】功能区,站点导航需要登录百度账号,即可实现自定义(最多可设置 8 个站点,同时⽀持对站点进⾏拖拽排序),在线工具对接了各种优质且无广告的页面,这简直就是帮我们挑选最优质内容。
右上角是黑白配,深色模式更加符合夜晚编码的程序员们,不过橡皮擦是从来不加班的~

深色模式

作为一款搜索工具,查询结果的好坏是直接影响感受的,直接输入 Python,查看结果页。
开发者搜索具备垂直 sug 功能,即基于搜索词的智能提示,针对开发者群体做出了与技术相关的推荐。

检索结果也划分了区域,类型分为 全部、视频、开源、教程,功能区竟然还包括开源资讯,开源项目,资讯和前文的工具一样,主要对接开源中国。

初步体验搜索结果覆盖面比较全面,包括国内外主流技术类站点内容:
这里要点赞一个设计 ,普通搜索引擎检索结果会被 CSDN、腾讯、阿里的聚合搜索干扰,开发者搜索竟然完全没有那些 【垃圾页】,而且屏蔽了大量的爬虫站点,好用极了!
开发者搜索-Beta (baidu.com)开发者搜索基本具备了一款搜索产品应有的基础功能。在使用过程中,发现很多细节点,都是为了便于开发者使用,例如:
1、黑白色模式,考虑到程序员喜欢夜深人静写代码,开发者搜索上线了深色,降低视觉疲劳;
2、sug 功能:基于搜索词的智能提示,刚刚在前文已经对比了与普通搜索的差异;
3、搜索工具:提供发布时间、站点过滤筛选,直接对接目标站点,进一步提炼优质内容;
4、搜索 Tab 页:提供全部、视频、开源、教程 Tab。
这些内容在上文我们都已经进行了体验,去除“杂质”,保留优质内容。
尤其在搜索工具中,增加了一个站内搜索,可以优中择优

开发者搜索还为每篇文章都增加了 【收藏】、【赞】、【踩】 动作,其中 收藏 非常好用,开发者搜索最多⽀持创建 10 个收藏夹,每个收藏夹最多收藏 100 条结果,同时可以通过右上⻆进⼊收藏 管理⻚⾯,对收藏的结果进⾏进⾏编辑。


你还可以在检索过程中对结果进行赞或者踩 ,点赞越多,排序越⾼,你的赞/踩会影响结果的排序,方便其他人得到更加优质的内容。
发者搜索为语言进行了特殊处理,当你检索某一特定语言,例如 Python、Go、MySQL 等内容时,它会通过卡片形式展示官网,相关资讯,相关开源库,并且查询结果集和右侧的相关项目中都会展示使用 Python 语言的开源库,最重要的是在相关项目中展示了 star、fork 数,可以很直观的对仓库质量做评判。

检索普通的技术资料时,优先展示的是去重/筛选之后的优质资料,并且页面非常简洁,移除了右侧的卡片区域,直接将内容呈现在眼前,橡皮擦翻阅了 10 页内容,没有找到重复的资料。以前找不到资料,现在是资料太多,要挑好资料了。

使用开发者搜索查询某一具体开源项目时,会发现其结果将开源仓库进行了细致的处理。你可以直观的看到协议、官网,以及 README 内容,甚至可以直接展开 README,不用去 github (国内打开速度有时很慢),就可以便捷的了解该项目,甚至只依赖 README 内容,就可以把它直接应用到你的项目中。

如果在检索中发现该开源项目被其它项目引用,开发者搜索还会呈现相关项目,如下所示,而且这些项目按照 star 数进行了排序,这些都是关联性强且技术优质的内容,每一个检索结果都能帮你深入项目本身,甚至可以直接找到你可用的目标项目。

普通搜索结果导出都是 copy,洗稿,爬虫采集,但查看开发者搜索结果之后,发现其针对技术内容的质量进行了建模,并增加去重体系,优先展示了质量高,原创的内容。
在使用开发者搜索前,你总是在沙子中挑金子,现在你只需要在金子中找纯度更高的就可以了。
而且切换到 “教程” tab 页,里面竟然用大数据筛选了【教程类】站点资料,这点确实没有想到,看来开发者工具算法已经可以识别出普通博客内容和教学博客内容了,拿到这些资料,你可以很方便的对技术栈进行系统学习。

目前来看,开发者搜索 已经初具技术搜索产品的雏形,就是面向我们开发者的最优引擎,而且是国内首家在做的平台,虽然还处于 BETA 阶段,但在这几天的试用中发现搜索体验和产品功能正在持续优化。
而且橡皮擦使用过程中发现百度开发者搜索完全无广告、真的是一点点都没有,就是纯技术内容的展示,这点留下了非常好的印象。
希望正式版能带来更好的体验,真正帮到国内的开发者。
大意了,开发者搜索这么好的东西怎么刚发现~
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
我构建了两个需要相互通信和发送文件的Rails应用程序。例如,一个Rails应用程序会发送请求以查看其他应用程序数据库中的表。然后另一个应用程序将呈现该表的json并将其发回。我还希望一个应用程序将存储在其公共(public)目录中的文本文件发送到另一个应用程序的公共(public)目录。我从来没有做过这样的事情,所以我什至不知道从哪里开始。任何帮助,将不胜感激。谢谢! 最佳答案 无论Rails是什么,几乎所有Web应用程序都有您的要求,大多数现代Web应用程序都需要相互通信。但是有一个小小的理解需要你坚持下去,网站不应直接访问彼此
我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r
刚入门rails,开始慢慢理解。有人可以解释或给我一些关于在application_controller中编码的好处或时间和原因的想法吗?有哪些用例。您如何为Rails应用程序使用应用程序Controller?我不想在那里放太多代码,因为据我了解,每个请求都会调用此Controller。这是真的? 最佳答案 ApplicationController实际上是您应用程序中的每个其他Controller都将从中继承的类(尽管这不是强制性的)。我同意不要用太多代码弄乱它并保持干净整洁的态度,尽管在某些情况下ApplicationContr
我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
我使用Nokogiri(Rubygem)css搜索寻找某些在我的html里面。看起来Nokogiri的css搜索不喜欢正则表达式。我想切换到Nokogiri的xpath搜索,因为这似乎支持搜索字符串中的正则表达式。如何在xpath搜索中实现下面提到的(伪)css搜索?require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(ABBlaCD3"HTML_END#my_blockisgivenmy_bl="1"#my_eqcorrespondstothisregexmy_eq="\/[0-9]+\/"#FIXMEThefoll
我想为我的Rails网络应用程序提供推荐功能。特别是,我想向新注册的用户推荐他可能想要关注的其他用户。Rails中是否有用于此目的的引擎/gem?如果没有,我应该从哪里开始构建它?谢谢。 最佳答案 有Coletivogemhttps://github.com/diogenes/coletivo我试了一下。在MySQL上运行。Neo4jhttp://neo4j.org真的很容易实现一个“跟随谁”。事实上,大多数展示其能力的样本都涉及“跟随谁”。快速提示-只有在JRuby上运行时,Neo4j.rb才会很酷。如果不是-使用Neograph