Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uncle-lv/just-for-fun


https://github.com/uncle-lv/just-for-fun

Last synced: 23 days ago
JSON representation

Awesome Lists containing this project

README

        

# Just For Fun

>《Just For Fun》一书是Linus Torvalds的自传

本项目的灵感来源于知乎用户 ——
江疆大佬的[回答](https://www.zhihu.com/question/19589485/answer/12305131)。在回答*哪些项目的源代码最值得阅读*时,这位大佬提出了以下观点:

>从扩展思路的角度来说,一个程序员应该好好读过这样一些代码:
>
>- 一个操作系统内核
>- 一个编译器
>- 一个解释器
>- 一个数据库
>- 一个 Web 服务器
>- 一个 Web 浏览器
>- 一个编辑器

我深以为然,于是开启了这个项目。

我将参照[build-your-own-x](https://github.com/codecrafters-io/build-your-own-x)尝试逐个实现上述代码,并记录自己在该过程中学习到的知识。这无疑将是一段漫长的旅程,希望能够成功完成吧!

欢迎你加入到这段旅程中来!

## 代码阅读
- ~~[WSGI服务器 —— bjoern](https://github.com/uncle-lv/bjoern-with-comments)~~
- [x] [cgi-http-Server](https://github.com/uncle-lv/cgi-http-server)

## 实现
- ~~[简化版bjoern —— mikro](https://github.com/uncle-lv/mikro)~~
- [x] [cgi-http-Server](https://github.com/uncle-lv/cgi-http-server)

注:在阅读bjoern源码的过程中,我发现虽然bjoern的源码较少,但涉及的知识点比较多,所以我自己实现了一个简单cgi服务器。

---
## English

>*Just For Fun* is the autobiography of Linus Torvalds.

The inspiration for this project comes from the answer which written by a Zhihuer, Jiang Jiang. In the answer to the question, *Which project's source code is most worth reading?*, he said:

>From the perspective of extending ideas, a programmer should read some code like this:
>
>- an operating system kernel
>- a compiler
>- an interpreter
>- a database
>- a web server
>- a web browser
>- an editor

I can't agree more, so I have started this project.

I will try to implement the above code one by one with reference to build-your-own-x, and record what I have learned in this process. There is no doubt that it will be a long journey, and hopefully it will be a success!

You are welcome to join this journey!

## Code Reading
- ~~[*bjoern*, WSGI Server](https://github.com/uncle-lv/bjoern-with-comments)~~
- [x] [cgi-http-Server](https://github.com/uncle-lv/cgi-http-server)

## Implementions
- ~~[*mikro*, a simplified version of bjoern ](https://github.com/uncle-lv/mikro)~~
- [x] [cgi-http-Server](https://github.com/uncle-lv/cgi-http-server)

Note: When I finished reading the bjoern source code, I have found that although the source code is small, it involves too many knowledge points, so I implemented a simple cgi server instead.