转自: 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. 多媒体文件格式之MP4

    [时间:2016-06] [状态:Open] 学习多媒体容器格式的目的 主要是为了回答以下问题: 该容器中数据是如何组织的? 该容器包含哪些编码格式的数据?这些数据是如何存储的? 该容器包含哪些元数据 ...

  2. 2015-06学习总结——c++

    在工作快三年的时候,突然想到我需要凝练下自身的知识体系.从大一开始接触c++,差不多快8年了.想想过去走过的学习之路,很简单,也很曲折. 经历了从一无所知——入门——应用——修修补补的过程,到现在可以 ...

  3. js 实现数组元素交换位置

    /** * 数组元素交换位置 * @param {array} arr 数组 * @param {number} index1 添加项目的位置 * @param {number} index2 删除项 ...

  4. AIX查看CPU、内存等信息

    AIX下查看CPUAIX操作系统AIX的硬件信息可以通过prtconf命令看到.1. 查看逻辑CPU个数#pmcycles -mCPU 0 runs at 4204 MHzCPU 1 runs at ...

  5. Python socket编程客户端与服务端通信

    [本文出自天外归云的博客园] 目标:实现客户端与服务端的socket通信,消息传输. 客户端 客户端代码: from socket import socket,AF_INET,SOCK_STREAM ...

  6. mysql 常用指令集合

    show variables ——显示系统变量(扩展show variables like 'XXX') 在MYSQL的主从复制中 ,通过命令show  master status,可以查看maste ...

  7. spacemacs怎样配置编辑器显示行号?

    spacemacs配置文件.spacemacs文件中查找dotspacemacs-line-numbers. 默认配置为: dotspacemacs-line-numbers nil 修改为(`rel ...

  8. go语言可变参数的坑

    0x00 前提 对可变参数不了解的同学,可以先看这篇文章可变参数终极指南 0x01 第一个坑 不能通过空接口类型向可变参数传递一个普通的切片 ,需要将普通切片转换为空接口切片 0x02 第二个坑 可变 ...

  9. kafka demo

    public static void main(String[] args) { Properties props = new Properties(); props.put("bootst ...

  10. Spring项目中执行Java脚本

    问题:在已搭建好Spring环境的JavaWeb项目中,怎么运行一段Java代码,执行一些类似脚本的功能. 情况一:测试局部功能,不需要依赖Spring框架的. 方法:IDEA中新建一个类,编写主函数 ...