Several C ++ open source project on Github


        Several C ++ open source project on Github

Some people Tucao how to start FreeNOS, the document  FreeNOS: FreeNOS Documentation
- Update -

the project under the column usually concern some c ++ related github, please add.

FreeNOS 1.
lordsergioinspa / FreeNOS · GitHub

This is the first open source C ++ project I was in college, studying full-contact, was simply, amazing variety, there are too many places worth learning.
This is a microkernel C ++ implementation of the operating system , various macro kernel services as an independent services in the micro-kernel-based communication message, this is in fact similar with the mac kernel mach that part of the mechanism.
In addition to being an operating system implementation, which can be a good addition to learning OOP design approach, the entire code is particularly good style, based entirely on object-oriented, there are some common design patterns, after being exposed to the open source project, it understand, coding style, comments, doxygen, scons, design patterns.

For direct start to bite Linux  Kernel students, personally think it will be a little higher threshold, the body is not particularly stick when climbing a direct bead Mu Lama is still a little difficult, you can first find a climb Huangshan.

2. Chromium
left to right, to see how c ++ now only Chromium is one of the largest, at the time of making their own wheels, you can search for this treasure, to ensure that there are various types of wheels.
Chromium involving almost all platforms, so not only can learn the package on the platform API, as well as a variety of packages including the realization and excuses Network, the agreement in C ++.
Even more, webrtc, native client, sandbox, GPU, parallel speedup, debug, all kinds of magical third-party libraries, a variety of techniques, to devote themselves to learn a deep, can be big breakthroughs.

Available in supplement. . .

Updated 2.28 /////////////////////////// ////////////////////

3 .  Node.js
purple red project, the entire node.js  including internal core V8 is C ++ project, fully event-driven, non-blocking IO, performance faster than nginx, can be said that the server completely drained rhythm, this design model, is now more popular of the Reactor pattern  , Concurrent Computing. In the construction of some large-scale web services, in particular highlighting the advantages, and now the mobile Internet era, doing app push services when the rear end of the push to achieve their own service, the basic idea is this, An Open Source the MQTT Broker v3.1  concurrency able to hundreds of thousands, even after the kernel parameters can be modified to millions.
. The Node JS Another core formation is Lehmann's libev Marc   , based on event-driven non-blocking IO library, after the node-v0.9.0, node.js project taking into account the cross-platform, encapsulates a project libuv / libuv · GitHub

  • Linux based on (epoll)
  • windows based on IOCP
  • Unix (mac os x) based on kevent

Under study, can also be used in their own different platforms, high-performance network

//////////////////// updated 3.1 ////////////// /////////////
receive a lot of thumbs up, calm for a day, not only looking forward to playing the error of my life, bring some small excitement.
I like contact with some fresh concepts, products, and perhaps this is a reason for selecting this industry themselves, although there is no change in speed as every Sanqiu day, but at least March will pop out a lot of new trend, technology, direction. There is always a feeling of life-long learning, for C ++, a little basic things change, even if it is the new standard C ++ 0x, my understanding is that hands-on practice, if the project can go to the application.
The explosion of knowledge, we may not exhaustive study of all knowledge, but knowledge can improve their own wiki github through this platform, think the future should be.
Read novels, watch movies, read code.
We used to go in such a behavior.
Too much nonsense ~ ~ ~

4. Sandstorm
Sandstorm-IO / Sandstorm · GitHub
recent comparison of fire on top of a Github project, a word of introduction home above "Personal Cloud Sandbox". The main problem is that people in their own private servers above, install a variety of open source cloud services (GitLab, WordPress ......), just like the above by fast mobile application store install app easy to achieve this goal to the linux above, to build a platform based sandbox, and leaves developers porting these web services (.spk file) to the application store.
Personally feel more part of the essence is inside the sandbox, each web app is running in the LXC Container inside, this is similar Docker achieve, very efficient and lightweight. In addition seccomp mechanism will be used for web app system call filtering, to protect their own cloud host security, this sandbox security mechanism implemented in Linux with chrome above is also consistent.

  • Sandstorm's server-side sandboxing is based on the same underlying Linux kernel features as LXC and Docker. We use the system calls directly for finer-grained control.
  • (Planned) The kernel attack surface is reduced using seccomp-bpf to block and/or virtualize system calls.

//////////////////// updated 3.2 ///////////////////////////
yesterday wood scraper goddess is, in fact, when we use C ++, but also for the environment to contribute,
father of C ++ in the YouTube video above, C ++ use in data centers, high-performance advantages, save a lot of electricity.
& lt; img src = " " data-rawwidth = "511" data-rawheight = "337" class = "origin_image zh-lightbox-thumb" width = "511" data = -Original "" & gt;

5. BitCoin
Bitcoin / Bitcoin · GitHub
BitCoin the past two years is the fire, put aside Bitcoin itself, see BitCoin implementation of the project is C ++, build a virtual payment system over P2P networks.
We can use a P2P Protocol, cryptography behind payment, to the center of them.
There are many open source projects derived, it is the framework of this P2P use BitCoin of doing, bitmessage,

Popular era, privacy issues will be more and more, can learn from the idea of P2P, building these decentralized services.

Updated 3.3 /////////////////////////// ////////////////////
. 6 . CoreCLR
DOTNET / CoreCLR · GitHub
not mistaken, Microsoft has recently been enlarged trick, before the .NET Core open source code, the .NET-CoreCLR again pushed to GitHub. A complete software stack to run .NET applications on Windows required are already open source, support for Linux and Mac OS X immediately come out. Microsoft .NET because the entire software stack all open source. Developers can compile your own CoreCLR, cross-platform .NET applications to run on it.
Mono before to do is this thing. Language, compiler, relevant interested can learn, open behind some technical RyuJIT, garbage collection and so on.
Microsoft services company from a product company into a focus on the enterprise market, more and more open on the desktop piece, good rhythm.

For .net is not very understanding, brought initiate.

Updated 3.4 /////////////////////////// ////////////////////
7 . the apache mesos
apache / mesos · GitHub
brief introduction mesos, twitter is the core behind the open source cluster management, now is the top item on the apache.
The following is the architecture Mesos
& lt; img src = " " data-rawwidth = "1408" data-rawheight = "675" class = "origin_image zh-lightbox-thumb" width = "1408" data -original = "" & gt; mesosphere home cloud startups, is bring this technology to a wider height, nodes can build mesos, each abstract public cloud service providers, but also quick and easy to do cloud migration from AWS you can go to the GCE. Home cloud computing startups Mesosphere, are highly bring this technology to a wider nodes can mesos constructed abstract various public cloud service providers, but also quick and easy to do cloud migration from AWS can go to the GCE.
Mentioned Mesos will be such a combination,
Mesos +  Docker
Docker (probably beside the point, Docker is Go written) is an open source PaaS vendor dotCloud based LXC of Container engine, a new virtualization solution popped above program horse. Common with the following, Docker is Mesos of first class citizen.
& lt; img src = " " data-rawwidth = "638" data-rawheight = "359" class = "origin_image zh-lightbox-thumb" width = "638" data -original = "" & gt;

rapid technological change, it is a good age, others made the wheels getting better and better, and we have something to learn, very happy.

Updated 3.5 /////////////////////////// ////////////////////
8 . mongo Database
MongoDB / mongo · GitHub
NoSQL, BigData

9. DOOM-3
the above mentioned id-Software / DOOM-3 · GitHub
most cattle game engine code
as well as the X-a-cocos2d
cocos2d / cocos2d-the X-· GitHub
Itseez / OpenCV · GitHub

10 . HHVM
facebook / hhvm · GitHub
compilation, JIT



Ten most worth reading to learn C code for open source projects







有人吐槽怎么下手FreeNOS,上文档 FreeNOS: FreeNOS Documentation


1. FreeNOS
lordsergioinspa/FreeNOS · GitHub


对于直接入手就啃Linux kernel的同学,个人觉得会门槛有点高,身体还不是特别棒的时候,直接攀登珠穆拉玛还是有点吃力的,可以先找个黄山爬爬。

2. Chromium
更甚至,webrtc,native client,sandbox,GPU,并行加速,debug,各种神奇的第三方的库,各种各样的技术,能潜心学深一个,就可以功力大增。


////////////////////updated 2.28///////////////////////////

3. Node.js
红的发紫的项目,整个node.js 包括内部的核心V8都是C++的项目,完全的事件驱动,非阻塞IO,性能比nginx还快,可以说是把服务器彻底的榨干的节奏,这种设计模式,是现在比较流行的Reactor pattern ,concurrent computing。在构建一些大型的web services中,尤其凸显优势,现在移动互联网时代,在做app push services的时候,后端自己实现的推送服务,基本也是这种思路,An Open Source MQTT v3.1 Broker 并发量能到几十万,甚至对内核参数修改过后能到上百万。
Node.js另一个核心的组建是Marc Lehmann’s libev  , 基于event驱动的非阻塞IO库,在node-v0.9.0之后,node.js项目考虑到跨平台的实现,封装了一个项目libuv/libuv · GitHub

  • Linux based on (epoll)
  • windows based on IOCP
  • Unix (mac os x) based on kevent


////////////////////updated 3.1///////////////////////////

4. Sandstorm
sandstorm-io/sandstorm · GitHub
Github上面最近比较火的一个项目,主页上面一句话的介绍“Personal Cloud Sandbox”。主要解决的问题是,在自己的私有人服务器上面,安装各种开源的云服务(GitLab, WordPress......),就像mobile上面的通过应用商店install app那样快速方便,实现这个目标,要在linux之上,构建一个基于sandbox的平台,并且留给开发者porting这些web 服务 (.spk file)到应用商店。
个人觉得比较精华的是里面sandbox部分,每个web app都是跑在LXC的Container里面的,这点是类似Docker的实现,非常高效和轻量。另外会用到seccomp机制,对web app进行系统调用过滤,保障云主机本身的安全,这一点sandbox的安全机制跟chrome在Linux上面的实现也是一致的。

  • Sandstorm's server-side sandboxing is based on the same underlying Linux kernel features as LXC and Docker. We use the system calls directly for finer-grained control.
  • (Planned) The kernel attack surface is reduced using seccomp-bpf to block and/or virtualize system calls.

////////////////////updated 3.2///////////////////////////
<img src="" data-rawwidth="511" data-rawheight="337" class="origin_image zh-lightbox-thumb" width="511" data-original="">

5. BitCoin
bitcoin/bitcoin · GitHub
我们可以利用的是背后的P2P Protocol,密码学,支付,去中心化这些。
现在有很多衍生的开源项目,就是利用BitCoin 的这套P2P的框架在做,bitmessage,


////////////////////updated 3.3///////////////////////////
6. CoreCLR
dotnet/coreclr · GitHub
没看错,微软最近一直在放大招,之前开放了 .NET Core的源代码,这次又把.NET的CoreCLR推到了GitHub。在Windows上运行一个.NET应用所需要的完整软件栈都已经开源,对Linux和Mac OS X的支持马上出来。微软.NET因为整个软件栈全部开源。开发者可以编译自己的CoreCLR,在上面跨平台运行.NET程序。
以前Mono做的就是这个事情。对语言,编译,相关感兴趣的可以学习学习,背后开放了RyuJIT,garbage collection等一些技术。


////////////////////updated 3.4///////////////////////////
7. Apache Mesos
apache/mesos · GitHub
简单介绍 下Mesos, 是twitter背后开源群集管理的核心,现在是apache上的top项目了。
<img src="" data-rawwidth="1408" data-rawheight="675" class="origin_image zh-lightbox-thumb" width="1408" data-original="">有家云计算创业公司Mesosphere,正在将这一技术推向一个更广的高度,可以通过mesos构建的节点,抽象各个public cloud服务商,更可以方便快速的做云迁移,从AWS可以到GCE。有家云计算创业公司Mesosphere,正在将这一技术推向一个更广的高度,可以通过mesos构建的节点,抽象各个public cloud服务商,更可以方便快速的做云迁移,从AWS可以到GCE。
Mesos + docker
Docker(可能跑题了,Docker是用Go写的)是PaaS供应商dotCloud开源的一个基于LXC 的Container引擎,虚拟化解决方案上面杀出的一个新马。常见的搭配如下,Docker是 Mesos 的first class citizen。
<img src="" data-rawwidth="638" data-rawheight="359" class="origin_image zh-lightbox-thumb" width="638" data-original="">

技术 日新月异,是个好时代,别人造的轮子越来越好了,一直有东西学,蛮开心。

////////////////////updated 3.5///////////////////////////
8. Mongo Database
mongodb/mongo · GitHub
NoSQL, BigData

9. DOOM-3
id-Software/DOOM-3 · GitHub
最牛的游戏engine code
cocos2d/cocos2d-x · GitHub
Itseez/opencv · GitHub

10. HHVM
facebook/hhvm · GitHub




chromium and compile source code download                  




Guess you like