嘿,这里有一份来自JetBrains公司的福利
这两天国外最热的互联网新闻莫过于微软高价收购github公司了,然后讨论最多的就是关于微软对开源的态度,这里不管结果如何,我都希望github这个网站能不变初心的仍是广大程序员们最喜欢去的地方。一般互联网公司大到一定规模,都会选择开源或开放一些自己的技术理念和框架,这样一方面能够展示自己公司的实力,另一方面还会提升参与开源事业的名誉。这方面国内和国外的典型代表就是阿里巴巴和Google。
提起JetBrains公司,可能大多数使用Java语言的程序员会比较熟悉,号称Java IDE界的第一生产力开发工具的IntelliJ IDEA就是这家公司开发的。除此之外大名鼎鼎的基于JVM的动态编程语言Kotlin也是该公司开发的,最初的设计目的是为了取代Java语言,目前该语言也得到了Google的支持,除了Java的IDE之外,JetBrains公司还一系列其他的非常棒的IDE如下:
AppCode - Swift 和 Objective-C IDE开发工具。
CLion - 跨平台的C/C++ IDE 开发工具,支持C++11 、C++14、libc++以及Boost。
DataGrip - 一款数据库客户端工具
GoLand - Go语言的集成开发环境。
IntelliJ IDEA - 2001年发布。一套智能的 Java 集成开发环境,特别专注与强调程序师的开发撰写效率提升。
PhpStorm - PHP IDE开发工具。
PyCharm - 一款结合了Django框架的Python IDE开发工具。
Rider - 一款快速,功能强大,跨平台的.NET IDE开发工具。
RubyMine - 一套强大的Ruby on Rails IDE开发工具。
WebStorm - JavaScript的开发工具。
正常情况下JetBrains公司的每个IDE分为Ultimate(企业付费版本)和Community(社区免费)两个版本。
实际开发中我们都希望和喜欢用Ultimate版本,因为它的功能更全并且更强大,但是国内没有付费的习惯,大多数用户包括我经常用的都是破解的Ultimate版本,最烦的莫过于每隔几天半个月的就会弹出license失效什么的,每次都得浪费点时间来重新寻找一个免费的license。现在福利来了,JetBrains公司为了表达对开源项目的支持,只要你拥有一个符合条件的开源项目,你或者你的团队就可以免费使用JetBrains公司所有的Ultimate版本的IDE开发工具,时间期限是1年,如果到期了可以继续申请。
对开源项目的要求,JetBrains官网的描述如下:
我简单总结下几个要点:
(1)你必须是项目的发起人或者是活跃的commiter
(2)你的项目需要积极开发3个月以上
(3)定期发布版本
(4)符合开源的定义,不能包含一些有关商业性质的内容
详细的描述和申请地址,参考下面这个链接:
https://www.jetbrains.com/buy/opensource/
实话说JetBrains公司对开源项目这个的要求还是比较严格的,我自己都没有多大信心通过,不管怎么样都值得给JetBrains公司这种精神点个赞,大家可以试着申请一下,如果没有通过也不要紧,那我们就从现在做起,开始试着开发和维护一个属于自己的开源小项目或者积极的参与对开源项目的贡献,这将会是一件对成长非常有意义的事。
- Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2)(A.思维题,B.思维题)
- 设计模式六大原则(1):单一职责原则
- 设计模式六大原则(2):里氏替换原则
- Selenium2+python自动化72-logging日志使用
- Codeforces Round #395 (Div. 2)(A.思维,B,水)
- php实现图形计算器
- Selenium2+python自动化73-定位的坑:class属性有空格
- 华中农业大学第五届程序设计大赛网络同步赛题解
- Java构造方法与析构方法实例剖析
- 5.训练模型之利用训练的模型识别物体
- KMP算法学习(详解)
- 查找算法的实现(C/C++实现)
- HDU 1495 非常可乐(数论,BFS)
- Selenium2+python自动化74-jquery定位
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- grafana踩坑记录
- TensorFlow函数:tf.image.crop_to_bounding_box
- tf.newaxis
- tf.random_normal_initializer:TensorFlow初始化器
- 使括号有效的最少添加
- 设计模式~观察者模式
- 网页无插件视频流媒体播放器EasyPlayerPro-IOS版如何解决有声音无画面的问题?
- (建议收藏)Java基础知识笔记二(详细)
- Android 手机如何拍摄RAW图
- 「干货」基本数据类型和引用数据类型的区别
- int 和 integer :装箱和拆箱的过程,会用到什么方法,你觉得这个会对性能有影响吗,原因是什么(百度一面)
- 数组:这个循环可以转懵很多人!
- 企业远程办公视频会议系统EasyRTC-SFU下侧边栏边框超限问题如何解决?
- 编写高质量可维护的代码:数据建模
- 新版企业远程办公视频通话系统EasyRTC-SFU,如何解决用户登录信息更新不及时的问题?