GitHub 上有哪些適合新手跟進的優質項目?
如題,請教各位大神,新手一開始應該看哪些項目比較好,剛上手,follow了幾個大神,但是倒騰一晚上,都覺得這些大神的項目太大了,不知道該從哪裡著手。想知道有沒有合適新手看的?或者說大神們剛上GitHub的時候都是fork的哪些項目?(c/c++, Python, Java都可以。其它語言如果覺得優質,也可以推薦一下)小弟先謝過了~
http://github.com/vczh/tinymoe
這是我寫的一個小語言,特點是所有的控制流都可以用函數來做,coroutine也可以用函數來做,而且用起來跟普通的語言一模一樣,而且寫起來都是一句一句的話,不像普通語言符號滿天飛。然後我還在我的博客http://www.cppblog.com/vczh 上連載文章(還沒寫完),來通過教大家實現tinymoe,學習編譯原理的基礎知識。整個編譯器是用C++11和STL寫的,還可以作為C++程序的參考讀物StoreDB - 一個能使你操作localStorage像操作mongodb一樣的javascript庫。
用它能在你寫網站demo或者單頁面離線webapp時極大解放你效率的東西。
高三學業繁忙,暫時不能快速迭代,歡迎大家加入這個有趣的項目。
https://github.com/djyde/StoreDB我在開源中國上接觸到了一個叫JFinal的框架,簡潔、強大,也託管在Github上,我下面就直接把它在OSC上的介紹貼出來。jfinal/jfinal · GitHubJFinal / JFinalJFinal首頁、文檔和下載
JFinal 是基於 Java 語言的極速 WEB + ORM
框架,其核心設計目標是開發迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java語言所有優勢的同時再擁有ruby、
python、php等動態語言的開發效率!為您節約更多時間,去陪戀人、家人和朋友
JFinal有如下主要特點:
- MVC架構,設計精巧,使用簡單
- 遵循COC原則,零配置,無xml
- 獨創Db + Record模式,靈活便利
- ActiveRecord支持,使資料庫開發極致快速
- 自動載入修改後的java文件,開發過程中無需重啟web server
- AOP支持,攔截器配置靈活,功能強大
- Plugin體系結構,擴展性強
- 多視圖支持,支持FreeMarker、JSP、Velocity
- 強大的Validator後端校驗功能
- 功能齊全,擁有struts2的絕大部分功能
- 體積小僅218K,且無第三方依賴
以下是JFinal實現Blog管理的示例:
1:控制器(支持FreeMarker、JSP、Velocity、JSON等等以及自定義視圖渲染)
@Before(BlogInterceptor.class)
public class BlogController extends Controller {
public void index() {
setAttr("blogList", Blog.dao.find("select * from blog"));
}
public void add() {
}
@Before(BlogValidator.class)
public void save() {
getModel(Blog.class).save();
}
public void edit() {
setAttr("blog", Blog.dao.findById(getParaToInt()));
}
@Before(BlogValidator.class)
public void update() {
getModel(Blog.class).update();
}
public void delete() {
Blog.dao.deleteById(getParaToInt());
}
}
public class Blog extends Model {
public static final Blog dao = new Blog();
}
public class BlogValidator extends Validator {
protected void validate(Controller controller) {
validateRequiredString("blog.title", "titleMsg", "請輸入Blog標題!");
validateRequiredString("blog.content", "contentMsg", "請輸入Blog內容!");
}
protected void handleError(Controller controller) {
controller.keepModel(Blog.class);
}
}
public class BlogInterceptor implements Interceptor {
public void intercept(ActionInvocation ai) {
System.out.println("Before invoking " + ai.getActionKey());
ai.invoke();
System.out.println("After invoking " + ai.getActionKey());
}
}
只放一個我寫的吧 -_- https://github.com/hit9/skylark
謝邀。以前有篇文章提到過閱讀源碼的動機(記得是侯捷),寫一下自己記得的:1. 工作需要。比如需要修改開源軟體的某個地方然後馬上用,這種動機最強,但是用完之後就很快遺忘了2. 興趣。比如長期使用開源軟體,某一天突然想看一下裡面的構造,於是深入進去。因為很熟悉軟體,所以能有所收穫。比如jQuery的代碼3. 純粹的興趣。就是想看一下代碼。。這樣就需要選擇了。首先要會使用軟體本身,否則會被大量代碼淹沒。比如一個連JS都不太會的人,直接上手看jQuery就是找死了。找項目很重要,不是什麼代碼都值得看的4. 做筆記。一個是代碼的大概構造(除了js這種打包的之外,優秀開源項目目錄都很清晰)。另一個是關鍵演算法和代碼的邏輯、數據流。PS:優秀的代碼也不用全看,看自己感興趣的一部分。對編譯原理不熟的看Lua底層會吃力,但是上層API部分就可以看~
1. c/c++, Python, Java都可以,勸你還是框一個範圍,因為每個範圍都很大的。。。2. Github上未必就好,每個人都有每個人的風格3. Github還是以JavaScript居多4. 你在項目中用到什麼就深入學習一下,不要停留在API而是深入去理解作者的代碼
5. 在用的時候發現不爽可以fork後pull request
6. 不過這沒幾年功底還是算了7. 建議從stackoverflow開始8. 如果英文不行,就從SG, CSDN開始9. 都是這麼過來的Python:參見Python漫遊指南中,Read Great Code 章節
http://python-guide.org
可以看看underscorejs 的原代碼,可以學習到很多東西,api的實現也不是很難,但是十分深入javascript語言本身的概念,所以如果你還是看不懂,說明你的javascript的理解還是比較淺。
如果是在是初學,可以看看一個叫做CodeCombat的項目,通過遊戲學習js編程。建議看《STL源碼剖析》
Square Open Source
推薦下 自己的吧 redis admin,基於spring4與spring data擴展了 redis template 樓主可以一看究竟
Java的話,可以看junit
Node.js 開源框架,剛剛起步的項目:myworld4059/Codekart · GitHub
有興趣的可以來參加reedmi/drp · GitHub,項目剛起步,希望共同參與
推薦閱讀:
※如何在 Github 上找到適合自己水平的開源項目進行學習?
※不會用Github是怎麼樣的體驗?
※非程序員使用 GitHub 會有什麼障礙么?可以用來幹什麼?
※Git將分支合併到master,有沒有辦法讓master不要產生分支中那些冗餘的commits?
※GitHub的個人資料中,為什麼不提供性別選項?