Github 上有哪些知名的中国程序员
.
1、做病毒的人很厉害。
陈盈豪 ,台湾鬼才,CIH 作者,极具程序员天分的少年,用当时的新闻报道来形容:看到记者全身发抖,面对电脑露出笑容 。在电脑还不是那么普及,网络还不是很发达的1998年,CIH造成全球 6000万台电脑瘫痪。厉害!
2、搞网络安全的人很厉害。
龚蔚,绿盟创始人,2001年中美对攻领导者之一,红客运动发起者,拉开了中国黑客为国争光的序幕。每当中国被外强欺负,只能发表“严重谴责”时,红客们便开始了自己的反抗。将红旗插到帝国主义的每个网站头上。
3、能做出大应用软件的很厉害。
求伯君,金山CEO,1998年,他一个人花了一年时间写出了WPS第一版,不用多说了, 向前辈致敬。
4、能流传很广的小软件很厉害
张宴,消息队列服务httpsqs 作者, 这个小应用曾经占据了几乎所有中小网站的服务器,厉害。
5、能写内核的很厉害
Axel Lin , yinghai lu ,herber xu ,这3个人是 Linux
Kernel Patch Statistic 上中国排名前三的贡献者,不想太解释, 反正很厉害。
软件开发工具有哪些
不同的领域需要不同的基础开发工具,比如:
1. 桌面程序:Java、C++、C#、VB、C均可。
2. 网站服务器端开发:JSP(Java语法)、PHP、ASP(C#语法)、Web App框架等。
3. 网站客户端:HTML、CSS、Javascript、Flash等等。
4. 智能手机程序:安卓使用Java,iPhone使用Objective-C
5. 底层、工具开发:C、C++。
6. 多功能脚本程序:Python、Perl、Ruby等等。
7. 人工智能:Prolog、PDDL。
8. 工业控制:C、PLC、汇编。
9. 通用应用层数据交换处理技术:标记语言XML/XPATH/XSLT、JSON、YAML等。
github怎么读?
github, 读音:给他哈不
github是一个免费的代码版本控制网站。
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
作为开源代码库以及版本控制系统,Github拥有140多万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。
在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。
GitHub项目本身自然而然的也在GitHub上进行托管,只不过在一个私
有的,公共视图不可见的库中。开源项目可以免费托管,但私有库则并不如此。Chris Wanstrath,GitHub的开发者之一,肯定了通过付费的私有库来在财务上支持免费库的托管这一计划。
3月27日,Github被DDOS劫持,罪魁祸首是谁
git diff 对比文件的差异
git branch 列出所有分支
git log 显示提交记录
分支
git brach 分支名 创建分支
git checkout 分支名 切换分支
提交
git add 跟踪新文件或者已有文件的改动,或者用来解决冲突
git commit 把文件从stage提交到branch
删除
git rm 文件名 不但从stage中删除,同时删除物理文件
github官网上有mcc的开源吗
在致力于开源事业的同时,Github也使用一些非常优秀的开源项目的来打造自己的平台与服务,本文总结了Github所用到各种开源项目,它们分别扮演着不同的角色。
1.Linguist
Linguist直译是语言学家的意思,采用Ruby开发。使用它可以自动分辨项目所使用的开发语言。Github使用该开源项目主要是用来探测代码所用语言,突出显示代码、忽略二进制文件、防止文件生成存在差异以及生成语言分解图等。
托管地址: https://github.com/github/linguist
2.pjax
pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。同时支持缓存和本地存储,再次访问的时候可以直接读取本地数据。展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。
官网: http://pjax.heroku.com/
托管地址: https://github.com/defunkt/jquery-pjax
3.Elasticsearch
Elasticsearch是一个实时的、分布式的RESTful搜索引擎,基于Apache Lucene开发。具备高可靠性,支持非常多的企业级搜索用例。它对外提供一系列基于Java和HTTP的API,用于索引、检索、修改大多数配置。
官网: http://www.elasticsearch.org/
托管地址: https://github.com/elasticsearch/elasticsearch
4.Ruby on Rails
Rails是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发代码更少,使用最少的配置。
官网: http://rubyonrails.org/
托管地址: https://github.com/rails/rails
5.redis
Redis是一个开源、支持网络、基于内存、键值对存储的数据库。基于C语言开发,与其他很多键值对数据库的不同之处在于, Redis不仅支持简单的字符串键值对,它还提供了一系列数据结构类型值,比如列表、哈希、集合和有序集, 并在这些数据结构类型上定义了一套强大的API。
官网: http://redis.io/
托管地址: https://github.com/antirez/redis
6.sprockets
sprockets是一个Ruby库,用于编译和服务Web资产。它可以用来检查JavaScript和CSS等文件之间的依赖关系,它还拥有一个强大的预处理器管道,允许开发者在CoffeeScript、Sass、SCSS和LESS等语言里编写资产。
托管地址: https://github.com/sstephenson/sprockets
7.libgit2
libgit2是一个可移植、纯C语言实现的Git核心开发包,作为一款带有稳固API的可重入链接库,libgit2允许你使用任何语言来编写Git应用。此外,libgit2可以应用在各个平台上,包括Unix、Linux、MacOS X、Windows等。
官网: http://libgit2.github.com/
托管地址: https://github.com/libgit2/libgit2
8.Rugged
Rugged是一个C语言实现的库,主要用来支持在Ruby中访问libgit2开发包。
托管地址: https://github.com/libgit2/rugged
9.bcrypt-ruby
bcrypt-ruby是一个用于OpenBSD bcrypt()密码哈希算法的Ruby绑定,开发者可以使用它把用户密码变成哈希数,安全地存储用户密码,预防黑客攻击。
官网: http://bcrypt-ruby.rubyforge.org
托管地址: https://github.com/codahale/bcrypt-ruby
10.html-pipeline
Github HTML处理过滤器和工具,是由几个HTML工具打包而成的。该模块还包含一个基于内容过滤来定义DOM的小型框架。
托管地址: https://github.com/jch/html-pipeline
11.gemoji
gemoji里面主要包含emoji表情的图片和名称。
托管地址: https://github.com/github/gemoji
12.Jekyll
Jekyll是一个静态站点生成器,它会根据网页源码生成静态文件。它提供了模板、变量、插件等功能,所以实际上可以用来编写整个网站。
官网: http://jekyllrb.com/
托管地址: https://github.com/jekyll/jekyll
13.Gollum
Gollum是一个简单的基于Git的wiki系统,Github的wiki就是由它实现的。支持markdown编写。它同时带有一个本地的前端,你可以在浏览器里编写保存页面,系统会在后端自动提交。因为它是一个Git repo,所以你也可以把它push到GitHub。
托管地址: https://github.com/gollum/gollum
14.Octokit
Octokit是Github API客户端库集合,允许开发者使用自己擅长的编程语言来访问Github API。Octokit项目包含Ruby、Objective-C和.NET、GO客户端。
托管地址: https://github.com/octokit
15.Hubot
Hubot是Github开源的运维机器人,它在Github员工的日常生活中扮演着非常重要的角色。它非常灵活,任何人都可以编写自己的脚本来扩展基本功能。脚本使用的语言是CoffeeScript,而Hubot运行在Node.js上。
官网: http://hubot.github.com/
托管地址: https://github.com/github/hubot
16.D3.js
D3.js是一个基于JavaScript数据展示库,用于操作基于数据的HTML文档。它能够帮助我们以HTML或SVG的形式快速可视化展示,进行交互处理,合并平稳过渡,在Web页面演示动画。它既可以作为一个可视化框架(如Protovis),也可以作为构建页面的框架(如jQuery)。
官网: http://d3js.org/
托管地址: https://github.com/mbostock/d3
17.Plax
Plax是一个jQuery插件,可以通过鼠标的悬浮或移动来触发视差滚动效果。开发者可以使用它制作404、500以及About页面。
官网: [/url][url=http://cameronmcefee.com/plax/]http://cameronmcefee.com/plax/
托管地址: [/url][url=https://github.com/cameronmcefee/plax]https://github.com/cameronmcefee/plax
18.Ace
Ace是一个开源的、独立的、基于浏览器的代码编辑器,可以嵌入到任何Web页面或JavaScript应用程序中。Ace支持超过40种语言语法高亮,并能够处理代码多达400万行的大型文档。Ace开发团队称,Ace在性能和功能上可以媲美本地代码编辑器(如Sublime Text、TextMate和Vim等)。
官网: [/url][url=http://ace.c9.io/]http://ace.c9.io/
托管地址: [/url][url=https://github.com/ajaxorg/ace]https://github.com/ajaxorg/ace
19.Zepto.js
Zepto是为现代浏览器打造的轻量级JavaScript库,它与jQuery有着类似的API。如果你会jQuery,那么也就会使用Zepto了。
官网: http://zeptojs.com/
托管地址: [/url][url=https://github.com/madrobby/zepto]https://github.com/madrobby/zepto
20.ZeroClipboard
ZeroClipboard使用一个不可视化的Adobe Flash动画和一个JavaScript接口即可轻易把文本的拷贝到粘贴板的库。
官网: [/url][url=http://zeroclipboard.org/]http://zeroclipboard.org/
托管地址: https://github.com/zeroclipboard/zeroclipboard
21.Charlock Holmes
Charlock Holmes是一个字符编码检测库,主要用于检测字符和代码转换,以确保代码字符为UTF-8。
托管地址: https://github.com/brianmario/charlock_holmes
22.Puppet
Puppet是一个自动管理引擎,可以适用于Linux、Unix以及Windows平台。所谓配置管理系统,就是管理机器里面诸如文件、用户、进程、软件包这些资源。无论是管理1台,还是上万台机器Puppet都能轻松搞定。
官网: http://www.puppetlabs.com/puppet/introduction/
托管地址: https://github.com/puppetlabs/puppet
23.Moment.js
Moment.js是一款非常轻量且健壮的JavaScript日期处理类库,提供了日期格式转换、日期验证等功能。Github使用它主要用来显示前端时钟。
官网: http://momentjs.com/
托管地址: [/url][url=https://github.com/moment/moment]https://github.com/moment/moment
24.Bower
Bower是由Twitter开源的一款包管理器,主要用于Web前端开发。它提供了一套通用、客观的解决方案。它通过一个API暴露包之间的依赖模型,这样更利于使用更合适的构建工具。Bower没有系统级的依赖,在不同App之间也不互相依赖,依赖树是扁平的。
官网: http://bower.io/
托管地址: [/url][url=https://github.com/bower/bower]https://github.com/bower/bower
25.Resque
Resque是一个基于Redis的后端Ruby库,由Github开源。其主要用来创建后台任务、并且把这些任务安置在多个队列上,等待处理。它还自带前台管理功能,方便查看执行情况。
托管地址: [/url][url=https://github.com/github/resque]https://github.com/github/resque
可以说,开源成就了Github,Github也推动了全球开源事业的发展。越来越多的互联网公司重视开源事业的发展,并且积极投身到开源事业当中。
网络安全去应该去哪里学习呢?。
只要想学习哪里学习都是有效果的。但需要结合自身的一些特点来调整学习方向,这样学习起来会事半功倍,以下推荐3种学习线路,适用于不同的学习人群;
方法1:先学习编程,然后学习Web渗透及工具使用等
适用人群:有一定的代码基础的小伙伴
(1)基础部分
基础部分需要学习以下内容:
(1.1)计算机网络 :
重点学习OSI、TCP/IP模型,网络协议,网络设备工作原理等内容,其他内容快速通读;
【推荐书籍】《网络是怎样连接的_户根勤》一书,简明扼要,浅显易懂,初学者的福音;如果觉得不够专业,可以学习图灵设计丛书的《HTTP权威指南》;
(1.2)Linux系统及命令 :
由于目前市面上的Web服务器7成都是运行在Linux系统之上,如果要学习渗透Web系统,最起码还是要对linux系统非常熟悉,常见的操作命令需要学会;
学习建议:学习常见的10%左右的命令适用于90%的工作场景,和office软件一样,掌握最常用的10%的功能,基本日常使用没什么问题,遇到不会的,再去找相关资料;常见的linux命令也就50-60个,很多小白囫囵吞枣什么命令都学,这样其实根本记不住。
【推荐书籍】Linux Basics for Hackers;
(1.3)Web框架 :
熟悉web框架的内容,前端HTML,JS等脚本语言了解即可,后端PHP语言重点学习,切记不要按照开发的思路去学习语言,php最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍;
数据库:
需要学习SQL语法,利用常见的数据库MySQL学习对应的数据库语法,也是一样,SQL的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深;
(2)Web安全
(2.1)Web渗透
掌握OWASP排名靠前的10余种常见的Web漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可;有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合一些网上的免费视频系统学习,然后利用开源的靶场辅助练习即可;
【推荐书籍】白帽子讲Web安全(阿里白帽子黑客大神道哥作品)
【推荐靶场】常见的靶场都可以上github平台搜索,推荐以下靶场DVWA、bWAPP、upload-labs-master、SQL-lib-master、WebBug、pikachu等,有些是综合靶场,有些是专门针对某款漏洞的靶场;
(2.2)工具学习
Web渗透阶段还是需要掌握一些必要的工具,工具的学习b站上的视频比较多,挑选一些讲解得不错的视频看看,不要一个工具看很多视频,大多数视频是重复的,且很浪费时间;
主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了;
练习差不多了,可以去SRC平台渗透真实的站点,看看是否有突破,如果涉及到需要绕过WAF的,需要针对绕WAF专门去学习,姿势也不是特别多,系统性学习学习,然后多总结经验,更上一层楼;
(2.2)自动化渗透
自动化渗透需要掌握一门语言,且需要熟练运用,可以是任何一门自己已经掌握得很熟悉的语言,都可以,如果没有一门掌握很好的,那我推荐学习python,最主要原因是学起来简单,模块也比较多,写一些脚本和工具非常方便;
虽说不懂自动化渗透不影响入门和就业,但是会影响职业的发展,学习python不需要掌握很多不需要的模块,也不需要开发成千上万行的代码,仅利用它编写一些工具和脚本,少则10几行代码,多则1-200行代码,一般代码量相对开发人员已经少得不能再少了,例如一个精简的域名爬虫代码核心代码就1-20行而已;
几天时间学习一下python的语法,有代码基础的,最快可能一天就可以学习完python的语法,因为语言都是相通的,但是学习语言最快的就是写代码,别无他法;接下来可以开始尝试写一些常见的工具,如爬虫、端口探测、数据包核心内容提取、内网活跃主机扫描等,此类代码网上一搜一大把;然后再写一些POC和EXP脚本,以靶场为练习即可;有的小伙伴可能又要问了,什么是POC和EXP,自己百度去,养成动手的好习惯啦;
(2.3)代码审计
此处内容要求代码能力比较高,因此如果代码能力较弱,可以先跳过此部分的学习,不影响渗透道路上的学习和发展。
但是如果希望在Web渗透上需要走得再远一些,需要精通一门后台开发语言,推荐php,因为后台采用php开发的网站占据最大,当然你还精通python、asp、java等语言,那恭喜你,你已经具备很好的基础了;
代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴)
那具体要怎么学习呢?学习的具体内容按照顺序列举如下 :
掌握php一些危险函数和安全配置;
熟悉代码审计的流程和方法;
掌握1-2个代码审计工具,如seay等;
掌握常见的功能审计法;(推荐审计一下AuditDemo,让你产生自信)
常见CMS框架审计(难度大); 代码审计有一本国外的书籍《代码审计:企业级Web代码安全架构》,当然有空的时候可以去翻翻,建议还是在b站上找一套系统介绍的课程去学习;github上找到AuditDemo,下载源码,搭建在本地虚拟机,然后利用工具和审计方法,审计AuditDemo中存在的10个漏洞,难度分布符合正态分布,可以挑战一下;
至于CMS框架审计,可以去一些CMS官方网站,下载一些历史存在漏洞的版本去审计,框架的学习利用官方网站的使用手册即可,如ThinkPHP3.2版本是存在一些漏洞,可以尝试读懂代码;但是切记不要一上来就看代码,因为CMS框架的代码量比较大,如果不系统先学习框架,基本属于看不懂状态;学习框架后能够具备写简单的POC,按照代码审计方法结合工具一起审计框架;其实也没没想象中的那么难,如果你是开发人员转行的,恭喜你,你已经具备代码审计的先天性优势。
可能有人会问:“我代码很差,不学习代码审计行不行?”其实代码审计不是学习网络安全的必要条件,能够掌握最好,掌握不了也不影响后续的学习和就业,但你需要选择一个阶段,练习得更专业精通一些,如web渗透或者内网渗透,再或者是自动化渗透;
(3)内网安全
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;
如果想就业面更宽一些,技术竞争更强一些,需要再学习内网渗透相关知识;
内网的知识难度稍微偏大一些,这个和目前市面上的学习资料还有靶场有一定的关系;内网主要学习的内容主要有:内网信息收集、域渗透、代理和转发技术、应用和系统提权、工具学习、免杀技术、APT等等;
可以购买《内网安全攻防:渗透测试实战指南》,这本书写得还不错,国内为数不多讲内网的书籍,以书籍目录为主线,然后配合工具和靶场去练习即可;
那去哪里可以下载到内网靶场?如果你能力够强,电脑配置高,可以自己利用虚拟机搭建内网环境,一般需要3台以上的虚拟机;你也可以到国外找一些内网靶场使用,有一些需要收费的靶场还可以;
(4)渗透拓展
渗透拓展部分,和具体工作岗位联系也比较紧密,尽量要求掌握,主要有日志分析、安全加固、应急响应、等保测评等内容;其中重点掌握前三部分,这块的资料网络上也不多,也没有多少成型的书籍资料,可通过行业相关的技术群或者行业分享的资料去学习即可,能学到这一步,基本上已经算入门成功,学习日志分析、安全加固、应急响应三部分的知识也相对较为容易。
方法2:先学习Web渗透及工具,然后再学习编程
适用人群:代码能力很弱,或者根本没有什么代码能力,其他基础也相对较差的小伙伴
基础需要打好,再学习Web渗透比如linux系统、计算机网络、一点点的Web框架、数据库还是需要提前掌握;
像php语言、自动化渗透和代码审计部分内容,可以放在最后,当学习完毕前面知识后,也相当入门后,再来学习语言,相对会容易一些;
【优先推荐】方法2,对于小白来说,代码基础通常较弱,很多很多小白会倒在前期学习语言上,所以推荐方法2的学习,先学习web渗透和工具,也比较有意思,容易保持一个高涨的学习动力和热情,具体学习内容我就不说了,请小伙伴们参照方法1即可。
方法3:选择一些适合自己的课程学习
适用人群:需要体系化学习、增强实战能力的小伙伴
具体根据自身条件来讲,如果你自学能力较差,那建议选择课程学习,网上各大平台等都有很多各式各样的课程,是可以更快帮助你迅速入门的,然后再根据自己自身所欠缺的方面,不断去完善和学习,最后达到你所要的优秀水平。
学习书籍推荐如下:
【基础阶段】
Linux Basics for Hackers(中文翻译稿)
Wireshark网络分析(完整扫描版)
精通正则表达式(中文第3版)
图解HTTP 彩色版
[密码学介绍].杨新.中文第二版
网络是怎样连接的_户根勤
[PHP与MySQL程序设计(第4版)].W.Jason.Gilmore
【web渗透阶段】
web安全攻防渗透测试实战指南
白帽子讲Web安全
Web安全深度
【自动化渗透阶段】
Python编程快速上手-让繁琐工作自动化
【代码审计阶段】
代码审计:企业级Web代码安全架构
【内网渗透阶段】
内网安全攻防:渗透测试实战指南
社会工程防范钓鱼欺诈
勒索病毒是谁弄的
“永恒之蓝”勒索病毒的开发人员可能是名为“影子经纪人”的用户。
去年8月份,名为“影子经纪人”(The Shadow Brokers) 的神秘黑客组织通过社交平台宣称,他们攻击了一个有美国国家安全局(NSA)背景的黑客组织“方程式组织”,将NSA 用于大规模监控和情报活动的网络武器和文件公布在Github、Tumblr和PastBin 等互联网平台上,文件内容涉及大量的网络武器和文件,包括命令和控制中心(CC)服务器的安装脚本、配置文件,以及针对一些知名网络设备制造商的路由器和防火墙等产品的网络武器。本次感染急剧爆发的主要原因在于其传播过程中使用了其工具包中的“永恒之蓝”漏洞,微软公司今年3月份已经发布补丁,漏洞编号MS17-010, 由于该次攻击使用常用的445端口进行攻击,如果相关企事业单位未对使用Windows系统主机更新相关补丁程序,就会导致病毒大范围在局域网内传播,出现典型的短时间内爆发式攻击。