想要从事自由软件的远程实习吗?
阅读我的博客文章,了解我如何获得 Mozilla Firefox 的 @outreachy 实习机会
我第一次申请 Outreachy 是在今年,五月份的实习期间,虽然我没有通过贡献者轮次,但我有幸参与有关可访问性和本地化的伟大项目。
特别是,我致力于将 Deutsch Transifex 术语表从英语翻译为德语。这很有趣,因为我最近在 2023 年和 2024 年学习了德语,目前处于 B1 水平,所以在专业水平上使用这门语言是令人兴奋的。
我第二次申请 Outreachy 是在今年 7 月/8 月,申请的是 10 月的贡献者期,以及随后的 12 月至 2025 年 3 月的实习轮。我被选为贡献者阶段,后来又被接受作为 Mozilla Firefox 实习生,负责他们的 JavaScript 引擎。
贡献者阶段
贡献者阶段是为期一个月的开源贡献期,在此期间您选择来自不同公司的两个项目进行合作并做出贡献。
这些项目通常会列出一系列必需的、首选的、最好具备的技能,这些技能是一个人必须具备的技能,以便成功地为项目做出贡献并有机会被接受为实习生。项目范围包括可访问性、本地化、前端、后端、Shell、DevOps、营销、设计、数据和地理空间分析。
您不一定需要知道如何编码才能成为外展实习生,因为项目和公司多种多样,并且每轮实习都不同。
我选择的项目需要开发和工程知识,我很幸运被我的第一选择选择了 Mozilla Firefox。 Mozilla 是我的第一选择,因为这些问题被分解为良好的优先问题,这使得在代码库中查找文件、函数等变得很容易,并开始贡献,这非常整洁。
Mozilla 也是一家值得做出贡献的著名公司。导师 Daniel 和 Arai 非常乐于助人,并且很快提供反馈。在整个贡献阶段,他们也非常容易接近。
贡献者阶段提示
- 您的问题合并了吗?: 目标是将至少四个问题合并到代码库中。外展组织者会在最终申请期间查看您的贡献,因此请仔细记录您的进度。如果您正在从事非开发任务,请询问您的导师这对您来说是什么样的。
- 询问详细问题: 当遇到困难时,提出详细的问题,例如,“我在做 XYZ 时遇到了这个错误。这是我尝试过的方法以及不起作用的方法。我该如何继续?”这体现了主动性和解决问题的能力。
- 要有效率: 贡献者阶段可以是竞争性的。确定任务的优先顺序,与导师互动,并确保您不断取得进步。
除了在我的贡献者阶段解决一些错误之外,我还致力于 ErrorIsError TC39 提案,这是一个完整的功能并进行了测试。它测试了我一会儿,但它也帮助我理解代码库并查找内容、预定义的错误消息等。我还可以在生产级代码库上使用 C,这很有趣。
在贡献者期间,我在我的 substack 开源时事通讯上写了日记,记录了我的经历、高潮、低谷、障碍以及我如何解决它们。你可以在这里访问它,看看我当时处于什么思维空间。
第 1 周状态报告
我于 2024 年 12 月 9 日刚刚开始实习。除了这些博客文章之外,如果有人喜欢阅读或关注我的旅程,我将继续在我的 Substack 上编写每周日记报告。我预计假期后或从 2025 年 1 月开始会发布很多内容。
上周我与我的导师进行了交谈,并从上周四开始分配给我一些问题,我已经开始处理这些问题。随着几周的过去,我们将发布更详细的报告和博客文章。
下一次报道为止,再见。
以上是想要从事自由软件的远程实习吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

Python和JavaScript在开发环境上的选择都很重要。1)Python的开发环境包括PyCharm、JupyterNotebook和Anaconda,适合数据科学和快速原型开发。2)JavaScript的开发环境包括Node.js、VSCode和Webpack,适用于前端和后端开发。根据项目需求选择合适的工具可以提高开发效率和项目成功率。
