V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xuanwu  ›  全部回复第 35 页 / 共 38 页
回复总数  758
1 ... 27  28  29  30  31  32  33  34  35  36 ... 38  
2018-09-14 14:00:09 +08:00
回复了 xuanwu 创建的主题 奇思妙想 有没有针对源代码的在线翻译服务?
"代码翻译尝试-使用 Roaster 解析和生成 Java 源码": https://zhuanlan.zhihu.com/p/44536065
此文是前文使用现有在线翻译服务进行代码翻译的体验的编程语言方面第二点的一个尝试. 初步汉化后 Java 代码效果如下:

package com.company.example;

import java.io.Serializable;

public class 人 implements Serializable {

private static final long serialVersionUID = 1L;
private final 整型 号;
private 字符串 全名;

public 整型 get 号() {
return 号;
}

public 字符串 get 全名() {
return 全名;
}

public void set 全名(字符串 全名) {
this.全名 = 全名;
}

public 人(java.lang.Integer id) {
this.id = id;
}
}
@mythmgn 额, 确实是分布式啊. 设想的就是类似 YaCy 那样的.
http://www.worldwidewebsize.com/ 共 4.5 billion 网页. 按上面的最后一个数据, 大约 450 天更新一次. 而这只是单节点可以做到的.
个人计算机的算力上升+SSD 的普及+5G 的实现还会把上面的数据提高更多.
@mythmgn 储存和抓取成本. 一点参考 https://stackoverflow.com/questions/1935148/how-to-crawl-billions-of-pages
亮点:
1. 2014 年回答节选: "bought by EBay for about 3000 Euro and contains 24x1TB 2,5" Disks (running as Single Disks) with two 6 Core Intel Xeons (making it 12cores/24 threads) and 96GB RAM using a 10GBit Line (with just 33% percentile) in a Luxembourg Datacenter.
It's using 100,000 concurrent HTTP connections which results in about 30,000 pages per second crawled."

2. 2010 年回答节选: "suppose you get a cheapo $200 machine with 1Gb or ram and 160Gb harddrive. At 20KB a page (use Range requests to avoid swallowing big pages whole), 10 million pages would take 200 GB, but compressed is about 70 GB."

3. 2011 年回答节选 "@20 Mbps (upper end of home bandwidth) / 22 kB/page = ~116 pps: it would take about 100 days (~3 months) to download 1 billion pages."
@mythmgn 先说一下非技术部分吧。存活的最大动力之一应该就是公开公平的排序算法和本地化的索引数据。理论上说, 一个新网站在上线之前就可以根据排序算法和索引数据在本地运行测试出此站在不同关键词搜索时的排位。而搜索用户可以完全信任搜索结果, 因为所有数据和算法都是公开的。
@nicoljiang 谷歌服务器总数(所有服务)在 2016 年的估计是 2.5 百万 https://www.datacenterknowledge.com/archives/2017/03/16/google-data-center-faq
用于搜索服务应该不过一半吧
2018-09-11 21:17:00 +08:00
回复了 iloveyouso 创建的主题 程序员 你们会在代码里面带粗话吗?
说起猎奇 中文命名的代码比脏话代码应该稀少的多了
@whileFalse 第一, 把最常用的索引数据本地化(并且按时同步). 比如说, 假设全网万分之一(或者十万分之一, 取决于索引大小和用户能负担的空余硬盘空间)的内容可以应付最常用的 60%的搜索. 那么就把这万分之一的索引数据本地化. 这样 60%的搜索就可以在本地进行.

第二, 针对个人感兴趣的主题和搜索历史, 提前获取相应的索引部分到本地, 进一步减少实时对其他节点 /主节点的搜索请求压力. 假设这可以应付剩下 40%的 60%. 还剩 16%. 一二两步都有额外的同步开销, 但因为是以大块的索引数据形式同步, 应该远小于省去的远程搜索开销.

第三, 每次搜索并不需要全网信息. 只需返回排序最靠前的 10 个即可(应该也是主流搜索引擎预先缓存的). 而排序靠后的可以在第一次搜索之后按照第二条进行预获取(在用户浏览前十个搜索结果时).

另外, "每次搜索需要 100 个请求,这一次搜索多久能完成,用户等不等得起?" 这个应该是主流搜索引擎解决了的问题吧, 毕竟不需要等候所有请求都返回.
@ antileech https://ex.noerr.eu.org/t/487957?p=2#r_6154772 在这里回复.
> 太理想化了,倒不是技术问题,而是国内政治风险太大。如果不做审查,负责人很快就会被约谈;如果审查,投入的人力成本又不是社区负担得起的。

审查是无论国内外搜索引擎都需要处理的. 社区是广泛的搜索引擎使用者社区, 而非它的开发者社区. 还需要一套开放的举报和审核机制.
@yoyohaha 应该是持续投入吧?考虑主站服务器投入等等。
2018-09-11 05:05:51 +08:00
回复了 kaichao5 创建的主题 程序员 再次对百度出来的搜索结果感到无比失望
@kersbal 嗯, 短期内很可能. 不过排位算法在刚出现的时候也是被不停钻空子的(这个帖子的问题说不定也是被钻了空子). 个人认为 SEO vs. 排位(算法+人工)类似于加 /解密的关系. 哪里看到过的说法是, 闭源的加密算法往往比开源的不安全.
2018-09-11 02:11:00 +08:00
回复了 kaichao5 创建的主题 程序员 再次对百度出来的搜索结果感到无比失望
@kersbal duckduckgo 并不是分布式的吧? 而且它搜索算法应该不开源吧? 我的设想是这样的: [支撑一个面向国内的开源分布式搜索引擎需要多少人力物力?]( https://ex.noerr.eu.org/t/488032)
2018-09-11 01:16:35 +08:00
回复了 kaichao5 创建的主题 程序员 再次对百度出来的搜索结果感到无比失望
这么多年了 有没有试过靠志愿力量维护一个分布式+社区监督维护的开源搜索引擎? 感觉技术人力和计算资源都不是问题啊
2018-09-10 15:07:36 +08:00
回复了 xuanwu 创建的主题 奇思妙想 有没有针对源代码的在线翻译服务?
"使用现有在线翻译服务进行代码翻译的体验": https://zhuanlan.zhihu.com/p/44169542
用两个小例程测试了楼上的 4 个翻译服务. 最后有初步的需求分析.
2018-09-10 13:50:44 +08:00
回复了 xuanwu 创建的主题 奇思妙想 有没有针对源代码的在线翻译服务?
发帖时写的一个浏览器插件实现 GitHub 代码翻译原型演示: https://zhuanlan.zhihu.com/p/43304088
正写篇调研文, 在几个在线文本翻译服务(gg, 搜狗, 百度, 有道等等)中尝试翻译源码, 看看效果.
可以料想的是它们都不具备语法高亮功能. 主要关注点在于代码可读性和格式保全等问题.
2018-09-08 13:46:16 +08:00
回复了 vveexx 创建的主题 程序员 撸了个变量命名的工具,求大佬们给点意见
@vveexx 哦, 了解. 之前打算做的一个项目是相反, 把英文术语中文化: https://github.com/program-in-chinese/overview/issues/85
像"积分"这样的非 IT 业务相关用语, 如果形成字典的话大概更接近普通汉英词典吧?
越是和业务领域相关的命名可以考虑直接中文命名. 这里搜集了一些 v2 上的中文命名实践: https://ex.noerr.eu.org/t/477109
2018-09-08 12:55:26 +08:00
回复了 vveexx 创建的主题 程序员 撸了个变量命名的工具,求大佬们给点意见
不大明白具体功能, 可否详述?
另外, 刚做的 Java 英汉词典 API 接口已发布到 Maven: https://zhuanlan.zhihu.com/p/43977821

英汉词典.查词("lend")

返回:

{
英文: lend
音标: lend
英文释义: v. bestow a quality on
v. give temporarily; let have for a limited time
v. have certain characteristics of qualities for something; be open or vulnerable to

中文释义: vt. 借, 贷款给, 增添, 提供, 出租
vi. 贷款

词语位置:
柯林斯星级: 3
为牛津三千核心词: true
标签: zk gk
英国国家语料库词频顺序: 2740
当代语料库词频顺序: 3548
变形: 过去式:lent; 第三人称单数:lends; 过去分词:lent; 现在分词:lending;
详细:
在线读音音频:
}
2018-09-07 06:12:12 +08:00
回复了 lcdxiangzi 创建的主题 程序员 刚刚把自己蠢哭了
有好用的 UI 工具可以生成吗? 感觉即使多一步上传服务器, 也比全手动好吧.
2018-09-07 05:58:50 +08:00
回复了 KevinOfNeu 创建的主题 程序员 手拉手一起来实现一门运行在 JVM 上的语言
支持. 小建议: 不妨采用中文关键词. 源代码使用中文命名更好.
之前的一点个人尝试:
- Antlr4+ Java 实现中文语法的简单编程语言(开头) https://ex.noerr.eu.org/t/482717
- Antlr4+JavaScript 实现中文语法的 LOGO 语言子集, 带在线演示 https://ex.noerr.eu.org/t/482519
2018-09-06 15:47:23 +08:00
回复了 xuanwu 创建的主题 奇思妙想 有没有 Maven 可用的 Java 库实现英汉词典功能的?
已发布:
<dependency>
<groupId>com.codeinchinese</groupId>
<artifactId>english-chinese-dictionary</artifactId>
<version>0.0.1</version>
</dependency>
源码库在: https://github.com/program-in-chinese/english-chinese-dictionary
1 ... 27  28  29  30  31  32  33  34  35  36 ... 38  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2582 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 12:53 · PVG 20:53 · LAX 05:53 · JFK 08:53
♥ Do have faith in what you're doing.