【每周一译】如何贡献开源代码

此翻译纯属个人爱好,由于水平所限,翻译质量可能较低。网络上可能存在其它翻译版本,原文地址:http://www.findbestopensource.com/article-detail/contribute-to-opensource

英文原题:How to contribute to open source

翻译正文:

我能看到很多很多学生以各种形式提出这个问题,我想贡献开源代码,但是怎么才能贡献?其实有很多方法可以贡献开源代码,我列举出了一些方法并且我认为这些方法可能很有用。

贡献给既有的项目:

既然你对贡献代码感兴趣,但是你要知道不是所有的开源产品都会接受你。每一个产品都有一些编码工作和提交代码的规则,你可能需要遵守这些规则。

选择你所感兴趣的领域:

首先选择你所感兴趣或者你擅长的编程语言和技术的项目。选择工程不仅仅是按照编程语言这个领域。仅仅了解Java你可能不能在游戏项目中工作。你应该要有这个兴趣。

理解这个项目:

登录你准备贡献代码的这个项目的网站,你或许会找到如何贡献代码的链接、指南等等。理解这些指南、编码准则和补丁验收准则。加入他们的开发和用户邮件列表。下载项目的源代码并试着学习怎么上传。

项目提交者:

每一个项目都有至少一个提交者。他们负责代码的提交。你的代码提交会通过他们。一些项目可能会要求志愿者将修改好的代码用邮件的方式发送给项目提交者,还有一些项目可能会要求将项目补丁发送给开发者。但是最终你的代码最终将通过项目提交者提交到项目的主要分支。

测试和文档:

编码并不是为开源社区做贡献的唯一方法。你还能做项目测试版的测试工作和代码调试。你还能写出更好的文档。你可以将文档本地化或者将项目说明书翻译成其它语言。

贡献给新的项目:

选一个和你有一样有开源精神的团队并按照你的想法新开发一个项目。选择好你的软件许可证、条款和条件。许多这样的人靠着建立开源项目而成功。

推倒重来:

如果你对一个项目没有任何独特的想法,那么你就把这个项目推到重来。试着去做别人已经做过的事情,但是加入你自己的一些独特想法,使得人们使用你的软件会觉得有一些与众不同。很多人会建议你不要推到一个项目重来,如果是这样的话,那么一个软件种类可能只有一个产品。但是如果推到一个软件重来,那么你能学到很多东西。

陈旧的项目:

从一些代码托管网站,如Sourceforge和GitHub,辨别出陈旧的或者不活跃的项目。比如项目最后的一次活跃期是一两年前的,找一个这样的项目,找到这个项目的问题,然后重新给这个项目赋予生命。

移植:

很多人或许会对项目移植感兴趣。如果你是一名Java程序员,并且你看到了一些用Python或者Ruby写的有趣的项目,你可以把它移植到Java平台上。将代码从一种技术移植到另一种技术。一个程序员不可能掌握所有的编程语言,移植优秀的项目真的很有用,并且很多人会感激你的努力。


很多人都对贡献开源代码感兴趣,但仅仅是感兴趣,很少一部分人会真正去做它。你开始做这件事,人们将会跟随你。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个示例的 Spring Boot 代码,可用于每周一 8 点发送邮件: ``` import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class EmailScheduler { @Scheduled(cron = "0 0 8 ? * MON") public void sendEmail() { // 这里写发送邮件的代码 System.out.println("已发送邮件"); } } ``` 这个代码片段使用 Spring Boot 的定时任务功能 `@Scheduled` 和 Cron 表达式来实现每周一 8 点执行一次发送邮件的任务。在 `sendEmail()` 方法中,可以编写实际的发送邮件逻辑。这个示例代码中,我只是简单地输出了一行文本来模拟发送邮件的过程。 ### 回答2: 下面是一个使用Spring Boot框架每周一8点发送邮件的代码示例: 1. 创建一个Spring Boot项目,并添加所需的依赖。 2. 创建一个发送邮件的Service类,例如EmailService。 ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Service public class EmailService { private JavaMailSender javaMailSender; @Autowired public EmailService(JavaMailSender javaMailSender) { this.javaMailSender = javaMailSender; } public void sendEmail(String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); javaMailSender.send(message); } } ``` 3. 创建一个定时任务类,例如EmailScheduler。 ```java import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class EmailScheduler { private EmailService emailService; public EmailScheduler(EmailService emailService) { this.emailService = emailService; } @Scheduled(cron = "0 0 8 ? * MON") // 每周一8点触发 public void sendEmail() { String to = "your_email@example.com"; String subject = "每周一8点的邮件"; String text = "这是一封测试邮件。"; emailService.sendEmail(to, subject, text); } } ``` 4. 配置邮件服务器信息,在application.properties或application.yml文件中添加以下配置: ```yaml spring.mail.host=your_email_host spring.mail.port=your_email_port spring.mail.username=your_email_username spring.mail.password=your_email_password ``` 将"your_email_host"、"your_email_port"、"your_email_username"和"your_email_password"替换为你的邮件服务器信息。 5. 运行Spring Boot应用程序,每周一8点时将会触发sendEmail方法发送一封邮件到指定的邮箱地址。 注意:在实际使用中,需要根据自己的需求进行一些修改,例如邮箱地址、邮件内容等。 ### 回答3: 要实现每周一8点发邮件的功能,可以使用Spring Boot框架和JavaMailSender来发送邮件。 首先,我们需要在pom.xml文件中添加Spring Boot Starter Mail依赖项。这可以通过在<dependencies>标签中添加以下代码来完成: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 接下来,我们需要配置邮件相关的属性。在application.properties文件中添加以下代码: ``` spring.mail.host=your_smtp_host spring.mail.port=your_smtp_port spring.mail.username=your_email_username spring.mail.password=your_email_password ``` 然后,我们可以编写发送邮件的代码。以下是一个简单的示例: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.mail.MailProperties; import org.springframework.boot.autoconfigure.mail.MailSenderAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.JavaMailSenderImpl; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; @SpringBootApplication(exclude = MailSenderAutoConfiguration.class) @EnableScheduling public class EmailSenderApplication { @Autowired private MailProperties mailProperties; @Autowired private JavaMailSender javaMailSender; public static void main(String[] args) { SpringApplication.run(EmailSenderApplication.class, args); } @Scheduled(cron = "0 0 8 * * MON") // 每周一的8:00执行 public void sendEmail() { SimpleMailMessage message = new SimpleMailMessage(); message.setTo("recipient@example.com"); message.setSubject("邮件主题"); message.setText("邮件内容"); javaMailSender.send(message); } @Bean public JavaMailSender javaMailSender() { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost(mailProperties.getHost()); mailSender.setPort(mailProperties.getPort()); mailSender.setUsername(mailProperties.getUsername()); mailSender.setPassword(mailProperties.getPassword()); return mailSender; } } ``` 在上述代码中,我们使用了@EnableScheduling注解来启用定时任务,并通过@Scheduled注解指定了发送邮件的时间。在sendEmail()方法中,我们创建了一个SimpleMailMessage对象来设置邮件的收件人地址、主题和内容,然后通过javaMailSender.send()方法发送邮件。 请注意,以上代码中的"your_smtp_host"、"your_smtp_port"、"your_email_username"和"your_email_password"需要替换为实际的SMTP服务器地址、端口号、邮箱用户名和密码。 通过以上步骤,我们就可以实现每周一8点发邮件的功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值