这些公司的开源项目,日本即时通讯巨头Line股价周二下跌

摘要北京时间2018年4月10日消息,日本即时通讯巨头Line股价周二下跌,此前软银、Docomo与KDDI等几家电信公司宣布,将推出一款即时通讯应用“+Message”,挑战Line。内容简介北京时间10日消息,日本即时通讯巨头Line股价周二下跌,此前软银、Docomo与KDDI等几家电信公司宣布,将推出一款即时通讯应用“+Message”,挑战Line。这款应用软件预计将于5月9日同时在智能手机和平板电脑上推出,可以用于语言通信、群组聊天和发送照片信息,并可以发送至多2730个字符的文本信息。受此消息影响,Line股价一度大跌近4%,当前下跌3.85%。Line是什么?LINE是韩国互联网集团NHN的日本子公司NHN
Japan推出的一款即时通讯软件。虽然是一个起步较晚的通讯应用,2011年6月才正式推向市场,但全球注册用户超过4亿。LINE对用户吸引力最大的即“聊天表情贴图”。超过250种的表情贴图让用户在使用Line时多了一个有趣的心情传达工具。其中LINE官方设计可爱且特色鲜明的馒头人、可妮兔、布朗熊和詹姆士饱受好评,也让这四个卡通形象成为连接LINE其它产品的重要元素。免费通话,免费短信,全天24小时,随时随地,免费享用无限制的通话和短信的全新交流工具—LINE。即时通讯应用
LINE2016年6月10日正式宣布,公司将于本月7月15日
在日本东京证券交易所IPO,同时将于美国时间 7月14日 在纽交所 IPO,计划募资
10 亿美元。股票交易代码为 “LN”。 [2] LINE
成为了中国辨识度最高的韩国社交应用。可惜的是,在韩国本土,LINE
并没有受到日本、泰国和台湾等亚洲市场相同的待遇。后移动端IM时代说白了,Line相当于日本的微信,Line的表情包及依赖表情包的盈利模式相当成功。2013年移动端IM最火热的时候,Line、Whatsup、来往、易信、米聊、微信、陌陌等等都做的风生水起,时至今日,来往已死,米聊和易信已经被边缘化。因众所周之的原因,Line和Whatsup也很难下载到了。移动端IM的竞争格局再现了传统PC时代的IM格局——大者通吃、赢者通吃,IM确实是一个非常特殊的应用场景,后起之秀想要成功,不走细分领域(比如钉钉)几乎没有成功的可能性。在那个Android应用代码还没有被各种混淆、各种加密的时代,IM的研究资源真是丰富,RainbowChat中的语音通话呼叫界面就是扒的Line的素材(哈哈)。

摘要不知为何,总感觉 GitHub 成立不止 10 年了,你们有这种错觉么?本文是
GitHub 联合创始人兼 CEO:Chris Wanstrath
在计算机世界杂志写的文章。社区导读:不知为何,总感觉 GitHub 成立不止 10
年了,你们有这种错觉么?本文是 GitHub 联合创始人兼 CEO:Chris Wanstrath
在计算机世界杂志写的文章。当我们回顾 GitHub
过去十年,我们并不会想起某一款软件,而是想到人们用 GitHub
发生了何种改变。十年前,GitHub 正式上线。初衷何其简单:连接开发者,通过
Git
更好开展项目。过去十年,我们已经成为一家公司、一个平台,慢慢壮大,但是初衷从未变过。并不是一个好点子或者什么大事件让这个平台特别,而是使用它的人,感谢
GitHub
十年,感谢有你。当我们回顾过去十年,我们不会记得某一款软件,而是人们用
GitHub 做的事。全世界各地都可以用 GitHub
来分享、教授、修补、构建。在最初上线 GitHub
的时候,我们完全没有预料到它能成长如斯,如此大的体量,如此多的贡献和连接。展望未来,我们依旧会保持简单。未来在你的手中,由你来定义。我们愿意跟随你。与此同时,感谢你的代码,你的合并、你的文档,你共享的项目以及你在
GitHub 所做的一切。谢谢你,10
years。我们收集了这十年来的一些里程碑,今天在这个特别的日子,我们一起来回顾。并未下一个十年做准备。2008.4.10:GitHub
正式发布2008 年 4 月,我们的测试版结束,GitHub
推出了正式版,目的很简单:连接开发者,通过 Git
更容易的协同编程。2008.4.3:Rails 转移到 Git 和 GitHubRuby on Rails
是内测时的首批大开源项目之一,考虑到 GitHub 基于 Rails
建立,这是一个重要的时刻。2009.1.3:比特币的发明比特币于 2009
年被发明并在 2010 年发布到 GitHub。迄今为止此项目已有 18000+ 的
fork,500 merged pull request
作者,它启发了数以千计其他区块链的项目。2009.5.21:Node.js 启动Node.js
于 2009 年推出,导致人们使用 JavaScript 的方式发生根本性变化。借助
Node.js,开发人员可以使用 Angular,Ember,React,jQuery 和 Vue
等库和框架,在操作系统上构建复杂的服务器端和桌面应用程序。该项目有效地扩展了
JavaScript 的可能性,并成功推动了 JS。2010.11.26:Rails Girls
夏编程之夏第一次举办Rails Girls 于 2010 年在赫尔辛基举办了首次活动。2013
年,该团队开始了 Summer of Code 全球奖学金计划,除了 Google Summer of
Code,Outreachy 等,Rails Girls Summer of Code
对软件行业的产生了持久且积极的影响。2011.2.28:Travis CI 第一个 pull
requestTravis CI 是目前新兴的开源持续集成构建项目,它现已成为了 GItHub
的主要集成工具。2012.1.1:JavaScript 成为 GitHub 上最流行的语言在 2012
的开年,JavaScript 作为 GitHub 上最流行的语言,超越了 Ruby,Java 和
Python。今天它仍然是今天 GitHub 上最流行的语言。2013.1.16:GitHub
社区用户达到 300 万在 2013 年我们创建了第 1000 万个仓库。2014.6.9:
Docker 1.0 发布2014 年 6 月,Docker 1.0 推出,之后一年多,Docker
引入了企业数据中心和云。它和 Kubernetes 等项目简化了
DevOps,将团队从基础架构中解放出来,以便更专注于最重要的事情。2014.7.21:Django
Grils 第一次举办2014 年第一届 Django Girls
在柏林举办,开启了为期四年的世界各地软件培训和女性编程支持运动。2014.10.23:微软开源.
NET.NET 和. NET Foundation
只是微软开源计划的开始。现在该公司拥有数百个开源项目。其中包括去年拥有最多贡献者的
VS Code 和 2017 年发展最快的语言之一 TypeScript。微软也成为 GitHub
上最活跃的组织之一,数千名工程师,设计师和程序经理在平台和编程语言中贡献和发布软件。微软和谷歌等大公司对开源软件的重视,代表了他们对软件的态度。他们向我们表明,有时候重要的不是技术,而是社区以及人们如何使用技术。2015.3.2:虚幻引擎
4 源代码免费提供Epic Games 的团队发布了免费版本的「虚幻
4」引擎,这让创意与开发更更紧密连接在一起。免费的源代码允许访问主要功能。从错误修复到
Git 集成,他们的最新版本得到了 128 个 contribution
的帮助。由于开源游戏引擎,Game 成为了 2017 GitHub
最受欢迎的类目。Phaser,Godot Engine 和其他项目,如
Itch.io,正在塑造人们建立和分享独立游戏的方式。像 2048
这样的开源学习资源和游戏,激发了数百个
Clone,邀请了更多的人来玩和创造。2015.9.22:GitHub class 开课GitHub
Class
使教师更容易分发代码收集作业,今天,高中、大学、编程培训机构的学生们正在使用它来学习,现在有超过
180 万个 class 的库,但这也仅仅是 GitHub
教育资源的一部分。2015.12.3:Apple 开源 SwiftApple
这个决定提高了新开发工具的标准,并鼓励更多的公司发布开源。2016.7.9:阿波罗
11 代码开源阿波罗 11 号于 1969 年登月,四十七年后,它的启动源代码登录
GitHub,其中还包含了很多彩蛋,这也证明了 20 世纪 60
年代的程序员也有幽默感。NASA
维护者数百个开源项目,包括火星可视化地图,通过 TensorFlow
来识别系外行星的软件等等。你还可以找到 SpaceX
这些公司的开源项目。2017.2.10:Python 团队打开他们的第一个 pull
request在过去十年,Pyhon 已经成为增长最快的主要编程语言之一,自 2015
年来,它一直稳居 GitHub 语言前三。Python 的历史可以追溯到 20 世纪 90
年代,近年来因为数据科学和机器学习使它飞速发展。像 Pandas
这样广受欢迎的库,也让 Python 更流行。2017.2.15:TensorFlow 1.0
启动谷歌在 2015 年 将其内部机器学习库 TensorFlow 公开。去年,它是 GitHub
上最受欢迎的项目之一,TensorFlow 在 2017 年的访问量比 2016 年多 5.5
倍。现在,TensorFlow
是数据专业人员创建机器学习模型的首选工具。2017.5.2:30000 个
NGO(非营利组织)用户非营利组织通过技术产生了难以置信的积极影响。去年,30000
个非营利用户通过我们展开了 Human Utility,Maven 和 ConnectHome
等活动,让世界变得更美好。野生动物保护协会(WCS)的海洋保护涵盖 25
个国家,保护世界的珊瑚礁。在肯尼亚,WCS
使用软件收集全球研究人员的数据,并通过收集物种数据,监测超过 252
公顷的沿海礁石,这相当于 260
个足球场那么大。帮助当地更绿色生态地进行捕捞。2017.5.31:第 1 亿次 pull
request 被合并事实上,仅在 2017 一年,有 2.9
万亿行代码被提交。2018.4.10:十年的代码,协作和提交GitHub
正式推出十年后,我们的社区已经发展到全球拥有超过 8000 万个项目的 2700
万名开发人员。感谢您创建的存储库,感谢您的贡献以及您构建的软件。感谢你
10 年的代码。

摘要北京时间 3 月 21 日,Oracle 官方宣布 Java 10 正式发布。这是 Java
大版本周期变化后的第一个正式发布版本,非常值得关注。引言北京时间 3 月 21
日,Oracle 官方宣布 Java 10 正式发布。这是 Java
大版本周期变化后的第一个正式发布版本(详见这里),非常值得关注。你可以点击以下地址即刻下载:
9 月,Oracle 将 Java 大版本周期从原来的 2-3
年,调整成每半年发布一个大的版本。而版本号仍延续原来的序号,即 Java
8、Java 9、Java 10、Java
11…..但和之前不一样的是,同时还有一个版本号来表示发布的时间和是否为
LTS(长期支持版本),比如 Java 10 对应 18.3。如下示例:/jdk-10/bin$
./java -versionopenjdk version “10” 2018-03-20OpenJDK Runtime
Environment 18.3 (build 10+46)OpenJDK 64-Bit Server VM 18.3 (build
10+46, mixed mode)需要注意的是 Java 9 和 Java 10 都不是 LTS
版本。和过去的 Java
大版本升级不同,这两个只有半年左右的开发和维护期。而未来的 Java
11,也就是 18.9 LTS,才是 Java 8 之后第一个 LTS 版本(得到 Oracle
等商业公司的长期支持服务)。这种发布模式已经得到了广泛应用,一个成功的例子就是
Ubuntu Linux 操作系统,在偶数年 4 月的发行版本为
LTS,会有很长时间的支持。如 2014 年 4 月份发布的 14.04 LTS,Canonical
公司和社区支持到 2019 年。类似的,Node.js,Linux kernel,Firefox
也采用类似的发布方式。Java
未来的发布周期,将每半年发布一个大版本,每个季度发布一个中间特性版本。这样可以把一些关键特性尽早合并入
JDK 之中,快速得到开发者反馈,可以在一定程度上避免 Java 9
两次被迫推迟发布日期的尴尬。下图为 2017 年 JavaOne 大会时,Oracle
公开的未来 Java 版本发布和支持周期图。Java 10 新特性这次发布的 Java
10,新带来的特性并不多。根据官网公开资料,共有 12 个 JEP(JDK Enhancement
Proposal 特性加强提议),带来以下加强功能:JEP286,var
局部变量类型推断。JEP296,将原来用 Mercurial 管理的众多 JDK
仓库代码,合并到一个仓库中,简化开发和管理过程。JEP304,统一的垃圾回收接口。JEP307,G1
垃圾回收器的并行完整垃圾回收,实现并行性来改善最坏情况下的延迟。JEP310,应用程序类数据
(AppCDS)
共享,通过跨进程共享通用类元数据来减少内存占用空间,和减少启动时间。JEP312,ThreadLocal
握手交互。在不进入到全局 JVM 安全点 (Safepoint)
的情况下,对线程执行回调。优化可以只停止单个线程,而不是停全部线程或一个都不停。JEP313,移除
JDK 中附带的 javah 工具。可以使用 javac -h 代替。JEP314,使用附加的
Unicode
语言标记扩展。JEP317,能将堆内存占用分配给用户指定的备用内存设备。JEP317,使用
Graal 基于 Java 的编译器,可以预先把 Java
代码编译成本地代码来提升效能。JEP318,在 OpenJDK
中提供一组默认的根证书颁发机构证书。开源目前 Oracle 提供的的 Java SE
的根证书,这样 OpenJDK
对开发人员使用起来更方便。JEP322,基于时间定义的发布版本,即上述提到的发布周期。版本号为$FEATURE.$INTERIM.$UPDATE.$PATCH,分别是大版本,中间版本,升级包和补丁版本。部分特性说明1.
var 类型推断。这个语言功能在其他一些语言 (C#、JavaScript) 和基于 JRE
的一些语言 (Scala 和 Kotlin) 中,早已被加入。在 Java
语言很早就在考虑,早在 2016 年正式提交了 JEP286
提议。后来举行了一次公开的开发者调查,获得最多建议的是采用类似 Scala
的方案,“同时使用 val 和 var”,约占一半;第二多的是“只使用
var”,约占四分之一。后来 Oracle 公司经过慎重考虑,采用了只使用 var
关键字的方案。有了这个功能,开发者在写这样的代码时:ArrayList myList =
new ArrayList()可以省去前面的类型声明,而只需要var list = new
ArrayList()编译器会自动推断出 list
变量的类型。对于链式表达式来说,也会很方便:var stream =
blocks.stream(); … int maxWeight = stream.filter(b -> b.getColor()
== BLUE) .mapToInt(Block::getWeight) .max();开发者无须声明并且 import
引入 Stream 类型,只用 stream 作为中间变量,用 var
关键字使得开发效率提升。不过 var
的使用有众多限制,包括不能用于推断方法参数类型,只能用于局部变量,如方法块中,而不能用于类变量的声明,等等。另外,我个人认为,对于开发者而言,变量类型明显的声明会提供更加全面的程序语言信息,对于理解并维护代码有很大的帮助。一旦
var 被广泛运用,开发者阅读三方代码而没有 IDE
的支持下,会对程序的流程执行理解造成一定的障碍。所以我建议尽量写清楚变量类型,程序的易读维护性有时更重要一些。2.
统一的 GC 接口在 JDK10 的代码中,路径为
openjdk/src/hotspot/share/gc/,各个 GC 实现共享依赖 shared 代码,GC
包括目前默认的 G1,也有经典的 Serial、Parallel、CMS 等 GC 实现。3.
应用程序类数据(AppCDS)共享CDS 特性在原来的 bootstrap
类基础之上,扩展加入了应用类的 CDS(Application Class-Data Sharing)
支持。其原理为:在启动时记录加载类的过程,写入到文本文件中,再次启动时直接读取此启动文本并加载。设想如果应用环境没有大的变化,启动速度就会得到提升。我们可以想像为类似于操作系统的休眠过程,合上电脑时把当前应用环境写入磁盘,再次使用时就可以快速恢复环境。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website