Technologies: How we organise our very large Python monolith 作者:David Seddon from Kraken Technologies 翻译 :RyomaHan | 小白 提示:本文是原作者以第一人称书写,翻译时未做更改 TLDR(AI-Claude) 本文来自一位 Python 开发者对一个庞大的 Python 项目的代码组织结构的总结 该项目包含近 3万个 Python 文件,由全球 400 多名开发者共同维护。为了应对代码日益增长的复杂性,项目采用了分层架构的设计。 本文通过一个真实的大规模 Python 项目案例,生动地介绍了分层架构的实施过程、优势和不足,对于管理大型项目很有借鉴作用。 如果你正在开发一个大型的 Python 项目,或者哪怕是一个相对较小的项目,不发试试分层结构,还是那句话:越早分层需要面对的麻烦就越少。
身为这次翻译项目的 Master,在这个过程中学会了如何组织一次翻译项目,如何定制翻译计划。秉承着 iKcamp 的分享精神,下面介绍一下我们这次翻译的流程、遇到的一些问题、解决的方式以及待优化的点。 希望大家看了之后可以对组织翻译项目有一定的理解,然后也可以提出自己的建议或者解决方案,也可以应用在自己的项目中。 也欢迎有兴趣的小伙伴加入到 iKcamp 中来,我们一起玩技术~ 不过对于翻译项目的 Master 来说,道路还很遥远,因为是第一次担任翻译项目的 Master,很多地方还是欠缺经验,在这个过程中多亏了 这次翻译流程还有以下需要优化的点,之后大家在组织翻译项目的时候可以想一些更有趣的方法。 在翻译和校对阶段的无缝衔接 保持项目进度 翻译的统一性 本次翻译项目产出的成果 JavaScript 轻量级函数式编程 函数式编程专有名词库 翻译规范 —— 包含翻译流程文档、排版规则和校对规范。
技术栈: rust tauri solidjs typescript 欢迎萌新参与练手, 也欢迎大手子来魔改, ⭐star 当然是多多益善啦, ヾ(≧▽≦*)o Tran 简洁, 快速, 划词翻译 Keep 功能 划词翻译 划过固定 划过关闭 划过复制 快捷键: Alt + X 构建 To \ Form ZH JA ZH ✅ EN ✅ JA ✅ Form 为第一语言, 非第一语言将翻译为第一语言 To 为第二语言, 第一语言将翻译为第二语言 Q: 为什么要分别构建, 而不是一个程序支持所有语言呢? 所以tran将分别构建 如果你有其他语言的需要, 请提 issue 我将添加构建 贡献 理论上,更多的镜像能支持更多的人使用,更多人使用则 tran 翻译速度会保持在很快的速度,因为 vercel 冷启动耗时很长
Facebook开源机器学习翻译项目fairseq ,可翻译6500种语言 Facebook的人工智能研究团队发表了他们的研究成果Fairseq,他们使用了一种新型的卷积神经网络来做语言翻译,比循环神经网络的速度快了 用多跳注意和门控来获得更好的翻译效果 团队的架构一个重要的部分就是多跳注意。注意力的机制类似于一个人在翻译句子的时候会把句子分开翻译,而不是仅仅看一次句子然后就直接写下完整的翻译。 腾讯云加入CNCF和Linux基金会,标志腾讯云深度参与全球开源技术生态圈,在容器服务、KVM虚拟化等重大开源项目的实力已经得到全球核心开源组织和业界的认可,将为腾讯云进一步参与全球开源社区技术交流、参与开源项目开发等领域开拓全新局面 CNCF及Linux基金会 据悉,CNCF基金会是由Linux 基金会发起的,致力于管理和运转原生云项目,吸纳开源社区和合作伙伴,共同推动Kubernetes以及容器计算发展的非营利组织,其成员包括Docker 刘颖表示,希望能成为全球开源社区的新力量,推动CNCF和Linux的发展,分享腾讯云的经验,为CNCF和Linux的项目做出贡献,腾讯云将与社区紧密联系在一起,为全球用户提供高品质、全能力的技术服务。
Translation Agent项目介绍 吴恩达老师的项目地址:https://github.com/andrewyng/translation-agent Translation Agent 是一个基于大型语言模型 (LLM)的翻译工具,它采用反思工作流来提升翻译质量。 以下是该项目的简单介绍: 3.1 核心功能 翻译与反思 :先通过LLM将文本从源语言翻译成目标语言,然后让LLM对翻译结果进行反思,提出改进建议,最后根据建议优化翻译。 函数构造了一个系统消息和提示模板,要求模型根据专家建议对翻译进行编辑,确保翻译的准确性、流畅性、风格和术语使用等方面得到优化。最后,函数返回一个字典,包含改进后的翻译结果,完成了整个翻译工作流。 请给出您想要翻译的英文原文。 4.6 规划执行任务 这段代码使用 StateGraph 来规划和执行一个翻译工作流,包含三个主要步骤:初始翻译、反思翻译和改进翻译。
UNdreaMT 是一个开源的无监督神经机器翻译系统,该系统的具体实现方式在以下的论文里有详细地描述: Mikel Artetxe, Gorka Labaka, Eneko Agirre, and Kyunghyun 一旦训练完成,你就能用生成的模型来翻译,如下所示: python3 translate.py MODEL_PREFIX.final.src2trg.pth < INPUT.TXT > OUTPUT.TXT
Fleck is a WebSocket server implementation in C#. Branched from the Nugget project, Fleck requires no inheritance, container, or additional references.
这只是机器学习和语言之间快速发展的一个例子;虽然它已经很好地用于基本的翻译、语音到文本等,但是计算机通过自然语言接口可以做的事情还有很多——只要它们知道怎么做。
循环神经网络却是文本领域的现有技术,并且由于其极高的效率而成为语言翻译的首选。 尽管循环神经网络以前在语言翻译上比卷积神经网络表现的更好。但是其设计具有固有的局限性,这可以通过它们怎么处理信息来理解。 在先前的研究中,卷积神经网络在翻译任务上的表现要差于循环神经网络。然而,由于卷积神经网络架构上的潜力,FAIR开始了研究,发现所设计的翻译模型显示了CNN在翻译方面的优异性能。 用多跳注意和门控来获得更好的翻译效果 团队的架构一个重要的部分就是多跳注意。注意力的机制类似于一个人在翻译句子的时候会把句子分开翻译,而不是仅仅看一次句子然后就直接写下完整的翻译。 的门控机制精确的控制了传向下一个单元的信息,一个好的翻译才因此产生。例如,当预测下一个单词的时候,网络会把它前面的翻译部分考虑进去。 门控允许它在翻译的一个特定方向进行放大—这一切都取决于网络认为其在上下文中认为合不合适。 以后的发展 这一种方法是机器翻译的一种替代框架,也给其它的文本处理任务提供了新的思路。
PRIMARY是指查询中包含子查询,并且该查询位于最外层,而SUBQUERY翻译过来就是子查询。上面的SIMPLE则是最普通,最简单的查询。 补充说明: MATERIALIZED翻译过来是物化的意思,即将子查询结果集中的记录保存到临时表的过程。 临时表称之为物化表。 possible_keys 翻译一下就是可能用到的key,但不一定真正会用到,有可能是因为MySQL认为有更合适的索引,也可能因为数据量较少,MySQL认为索引对此查询帮助不大,选择了全表查询。
马上翻译:滑动窗口就是可以滑动的窗口。
前言 从今天开始,我将为大家逐步介绍Mask RCNN这个将检测和分割统一起来的框架的具体原理以及详细代码解读,项目地址为https://github.com/matterport/Mask_RCNN, 项目文档翻译 我要解析的Mask RCNN就是官方提供的代码,使用Keras框架实现的,地址为: https://github.com/matterport/Mask_RCNN 下面先对项目的README.md 进行一个翻译。 使用这个模型的工程 如果您将此模型扩展到其他数据集或构建使用它的项目,我们将很高兴收到您的来信。 4K Video Demo by Karol Majek。 High Spatial Resolution Aerial Imagery(https://www.mdpi.com/2072-4292/10/9/1487) 了解北极退化与气候变化之间复杂过程的研究项目
linksmart 项目截止目前已经支持了 17 个国家的语言,从诞生到现在也已经经历了很多程序员的修改和维护,代码已经变得十分混乱。 因为公司一直在接新的定制项目,所以也没有时间进行一次彻底的重构,只能在维护某方面的 BUG 的时候,对相关代码进行局部重构。 现在的情况是: 同一个文本有些语言有翻译,有些语言没有翻译。 最大的优势是:随时可以用脚本把 Excel 里的所有语言导出成项目支持的 Localizable.strings 文件,极大提高效率。 1. 导入Excel 接下来的步骤工作量有点大,就是重新把那些翻译导入 Excel 中,补全缺少的那些翻译。 1. 附:检测中文字符串 如果项目的默认语言是中文,而且前期没有用多语言写法,可以使用 Xcode 的替换功能,将中文字符串替换成多语言的写法: 搜索: (@"[^"]*[\u4E00-\u9FA5]+[^
本库是用 Keras 实现的神经网络机器翻译,查阅库文件请访问: https://nmt-keras.readthedocs.io/ Github 页面: https://github.com/lvapeab : python main.py 解码 一旦我们的模型开始训练,我们就可以使用 sample_ensemble.py 脚本翻译新文本。 lvapeab/nmt-keras/blob/master/examples/documentation/ensembling_tutorial.md 总之,如果我们想使用前三个 epoch 的模型来翻译
Qt 提供了一整套的翻译引擎,讲你需要翻译的内容使用 qsTr(“”) 包括起来就可以通过工具来扫描这些待翻译的内容。 我们用 Qt 创建的 Empty 项目来做演示,创建完成后,main.qml 中只有如下代码: import QtQuick 2.12 import QtQuick.Window 2.12 Window 将待翻译文件添加到扫描列表 在 Qt 项目的 pro 文件中添加如下内容: # 告诉 Qt 翻译处理工具扫描所有当前目录下的 qml 文件 lupdate_only { SOURCES += 到项目目录下就能看到这两个中间待翻译的 .ts 文件了: ? 打开 linguist.exe 将我们要翻译的文件拖进去,比如我要翻译刚刚生成的 app_zh_cn.ts 文件。选择你要翻译的内容,然后在下面输入翻译的文字,最后点击上面的绿色勾确认翻译。 ?
只做了简单的在线翻译,语音翻译和图片翻译都要钱,哈哈 市面上有名气的翻译公司就是有道和百度了,有道尝试了一下,分为API和SDK两种,但是demo下载下来跑不了 百度的就是API,也很简单,就是通过百度的协议去请求他们的服务器 ,得到翻译后的值,每个月有200万的免费,够用了 百度文档地址http://api.fanyi.baidu.com/api/trans/product/apidoc#joinFile 步骤: ? :layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入要翻译的中文 :layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入要翻译的英文 layout_gravity="right" android:layout_margin="10dp" android:padding="10dp" android:text="翻译
Google Buzz允许用户将实时状态更新,新闻和内容发布到他们的Google帐户,并订阅其他人的类似更新。 网络应用程序开发人员可以通过Google Buzz REST API访问和搜索此内容。 本文介绍了Google Buzz API,并在PHP应用程序上下文中对其进行了演示,并说明了如何在Google Buzz上搜索,检索,添加和编辑不同类型的内容。
Google 文档翻译的问题 最近两周给极客智坊新增了 PDF 文档翻译和批量网页翻译的能力,PDF 文档翻译要先支持顺序提取所有文字、链接、图片、表格,这一块还是挺复杂的,因为 PDF 本身是一个侧重表现层显示而非结构标准化的文档格式 至于翻译质量,在非常有深度的行业内容翻译的时候,Google 翻译也并不准确,比如下面这个: 把代码都翻译了,这对于 IT 技术类的 PDF 文档来说,就非常不友好了。 极客智坊 PDF 文档翻译 要翻译 PDF 文档,请进入极客翻译页面,点击顶部文档翻译Tab按钮,选择翻译用的AI模型和目标语言,然后点击上传按钮上传待翻译的PDF文件即可,我们以前面 Google 翻译的那篇 至于翻译质量,GPT模型显然是优于Google翻译的,比如技术文档翻译,GPT可以识别代码/专业术语并进行保留而不做翻译: 另外,如果在网页翻译中提取网页内容失败(通常是网络、权限等问题导致),可以通过将网页另存为本地 极客智坊网页批量翻译 既然有了后台排队任务系统,那么实现网页批量翻译也就顺理成章了,你可以在网页翻译中一次性提交多个网页链接(通过回车分隔,一行一个): 然后点击翻译按钮,系统会自动将批量网页翻译提交到后台排队任务系统异步执行
本库是用 Keras 实现的神经网络机器翻译,查阅库文件请访问: https://nmt-keras.readthedocs.io/ Github 页面: https://github.com/lvapeab : python main.py 解码 一旦我们的模型开始训练,我们就可以使用 sample_ensemble.py 脚本翻译新文本。 lvapeab/nmt-keras/blob/master/examples/documentation/ensembling_tutorial.md 总之,如果我们想使用前三个 epoch 的模型来翻译
// 法语 "fr" SPA, // 西班牙语 "es" <--- 添加语种(自定义语种代号) KOR, // 韩语 "ko" ''' # 设置Google翻译服务地址 居然有这么多的消息包,我们一个一个找,直到找到Response中有翻译内容的。这个时候我们去看一下它的header: 可以看到是get方式,于是我们可以浏览器里直接去请求这个url。 果然我们的得到了一个文件,这个时候打开文件,文件里就是请求回来的翻译结果: 这时候我们去分析一下请求的参数,看看我们是否可以构造,可以看到原来要翻译的文本,就是跟着q这个参数出去的: 只不过在请求的时候 ,文字被encode成了%**%,这时候我们试着换一个文字去请求,结果发现返回: 仔细上网查过之后,每次翻译的文字不同,参数中的tk值就会不同,ticket这种策略就是google用来防爬虫的。 ) response = urllib2.urlopen(req) print response.read() print getRes() ---- Gogle two 另外一个翻译的项目