转自: https://laike9m.com/blog/hu-lian-wang-gong-si-github-repo-yu-yan-shi-yong-qing-kuang,56/

现在基本上所有国外大公司和国内部分公司都在 GitHub 上开源了一部分代码。统计一下这些代码的语言使用情况,多少可以反映公司内部对语言的偏好。很多公司流行的项目都是单独建一个 repo的,没办法统计,所以这里统计大家就随便看看吧。使用了 GitHub 的 API,只有不到四十行代码,所以直接贴在这里了,复制下来装个 requests 就可以直接运行:

# coding: utf-8

"""
统计大公司github上的organization 中repo 的语言使用情况
""" import requests
from collections import defaultdict
from os.path import join
from pprint import pprint class GetLangStat(): api_url = "https://api.github.com/orgs"
ORGANIZATIONS = (
'Microsoft', 'aws', 'google', 'twitter', 'facebook',
'alibaba'
)
stats = {org: defaultdict(int) for org in ORGANIZATIONS} @classmethod
def get_one_org_repos(cls, org):
print(org)
url = join(cls.api_url, org, 'repos')
r = requests.get(url)
for repo in r.json():
cls.stats[org][repo['language']] += 1 @classmethod
def get_all_org_repos(cls):
for org in cls.ORGANIZATIONS:
cls.get_one_org_repos(org)
pprint(cls.stats) if __name__ == '__main__':
GetLangStat.get_all_org_repos()

统计的公司包括 MS,amazon,google, twitter, facebook, 阿里。其中 amazon 似乎只开源了 aws 相关的代码,不过也算进来了。本来想找百度和腾讯的,结果发现百度没有一个统一的 organization,都是按产品散着的,腾讯则基本没有开源代码。。。

互联网公司GitHub repo 语言使用情况的更多相关文章

  1. 4.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况、存在的问题及解决的方案。(尤心心)

    4.总结近5周以来的github上的工作情况,以图表方式分析你小组的工作情况.存在的问题及解决的方案. (1)利用github本身的graphs可以清晰的看出小组成员在github上面的交互,可以直接 ...

  2. 20165315 C语言学习情况与Java学习目标

    20165315 C语言学习情况与Java学习目标 一.出色技能的获取经验 我从小便是一个中规中矩的人,在很多方面都是让成绩尽量保持在前百分之二十到三十这个范围内,比如我比较擅长的唱歌和乒乓球,但也不 ...

  3. WebRTC GitHub repo developer's guide

    WebRTC GitHub repo developer's guide https://github.com/LingyuCoder/SkyRTC-demo  WebRTC GitHub repo ...

  4. 国内互联网公司github网址

    -----------------------------------------------------推荐技术------------------------------------------- ...

  5. 【github repo自荐】码农周刊一周精选分类

    以下内容节选自我的github码农周刊整理repo,欢迎大家star. 写在最前面的话 作为最初的一批码农周刊的订阅者,不能说经历了其成长,但是确实见证了他的壮大.码农周刊确实从开始第一期的基本上都是 ...

  6. 技能获取与C语言学习情况

    你有什么技能比大多人(超过90%以上)更好? 仔细回想了一下自己到目前为止的学习生涯,好像真的没有什么技能能够比90%以上的人好. 初中高中学过很多东西,但是能够算得上专精的却着实没有.小学参加过计算 ...

  7. 【Py-Github】根据条件筛选Github repo的例子

    条件: language:python commits:>100 contributors:>2 stars:>5 fork:0 实现: from github import Git ...

  8. Github - 修改语言统计

    前些日子看到有人提到这个问题,于是自己也试着解决了一番,在此记录下来,希望对大家有帮助. Github中创建一个repository后会出现一个统计使用语言的颜色条. 就是下面这个东西: 似乎很多人遇 ...

  9. 一个用JavaScript生成思维导图(mindmap)的github repo

    github 地址:https://github.com/dundalek/markmap 作者的readme写得很简单. 今天有同事问作者提供的例子到底怎么跑.这里我就写一个更详细的步骤出来. 首先 ...

随机推荐

  1. 项目日志的管理和应用 log4js-Node.js中的日志管理模块使用与封装

    开发过程中,日志记录是必不可少的事情,尤其是生产系统中经常无法调试,因此日志就成了重要的调试信息来源. Node.js,已经有现成的开源日志模块,就是log4js,源码地址:点击打开链接 项目引用方法 ...

  2. audio音乐播放

    1.audio标签 <audio @play="ready" @error="error" ref="audio" :src=&quo ...

  3. hive入门

    hive 当前用到的就这些,以后用到的再补充. 参考自官方文档 大小写不敏感 创建/删除数据库 CREATE/DROP DATABASE|SCHEMA [IF NOT EXISTS] <data ...

  4. java连接https时禁用证书验证.

    import java.io.File; import java.security.cert.CertificateException; import java.util.List; import j ...

  5. html5 canvas 画图移动端出现锯齿毛边的解决方法

    使用HTML5的canvas元素画出来的.在移动端手机上测试都发现画图有一点锯齿问题 出现这个问题的原因应该是手机的宽是720像素的, 而这个canvas是按照小于720像素画出来的, 所以在720像 ...

  6. 2. 集成学习(Ensemble Learning)Bagging

    1. 集成学习(Ensemble Learning)原理 2. 集成学习(Ensemble Learning)Bagging 3. 集成学习(Ensemble Learning)随机森林(Random ...

  7. C# 中的await

    今天看代码遇到了很多await,梳理一下await的用法. await只针对awaitable对象,经常和Task一起使用,主要用法如下: var task = RunAsync(); //开始执行异 ...

  8. 115道Java经典面试题(面中率最高、最全)

    115道Java经典面试题(面中率最高.最全) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可 ...

  9. python 基础笔记

    1,去掉了C语言中的大括号,用空格来对齐语句块.(空格一般用2个或4个,但没有限制) 2,要在py文件代码中使用中文,需要在第一行加入下面的代码: # -*- coding: utf-8 -*- 或者 ...

  10. winform上控件的拖拽小结

    这里罗列出几个相关的事件和属性,具体的实现介绍已有非常优秀的文章了,文章末尾我将会给出,大家可以去参考. 属性: AllowDrop: 目标控件必须设定为true,才能接受拖拽来的东西. 事件: It ...