日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
不到500行Python代碼,你能編出什么?這些Github大神太牛了!

不到500行Python代碼,你能寫出什么東西?Github上一個(gè)名為“500lines”的開源項(xiàng)目集結(jié)了眾多業(yè)內(nèi)較為老牌的開發(fā)者,同時(shí),所有貢獻(xiàn)項(xiàng)目的代碼行數(shù)均在500行以內(nèi)。完整版本每章包含一個(gè)程序演練,該程序在至多500條源代碼行中解決了軟件工程中的規(guī)范問(wèn)題。來(lái)看看業(yè)內(nèi)一線的編程大牛能在500行代碼之內(nèi)編出什么程序吧!

每位建筑師在學(xué)習(xí)期間都會(huì)研究家庭住宅、公寓、學(xué)校和其他常見建筑類型。同樣,每個(gè)程序員都應(yīng)該知道編譯器如何將文本轉(zhuǎn)換為指令,電子表格如何更新單元格以及數(shù)據(jù)庫(kù)如何高效保持?jǐn)?shù)據(jù)。

項(xiàng)目完整清單

很多書籍和資料會(huì)給出非常棒和相對(duì)成熟的高級(jí)架構(gòu),但這些可能并不實(shí)用,當(dāng)代碼行數(shù)縮減,很多不必要的設(shè)計(jì)就會(huì)被避免,選擇什么樣的接口、框架、如何擴(kuò)展、如何合理利用繼承等會(huì)變得很重要,這對(duì)于程序員來(lái)說(shuō),很容易被吸收。

該項(xiàng)目重點(diǎn)關(guān)注有經(jīng)驗(yàn)的程序員在編寫代碼時(shí)所做的設(shè)計(jì)決策和權(quán)衡:

  • 為什么用這些特定的接口將應(yīng)用程序分成某些特定模塊?

  • 為什么要在這里繼承?

  • 如何預(yù)測(cè)程序可能需要擴(kuò)展的地方,以及如何讓其他程序員使用更容易?

(以下為500 Lines or Less項(xiàng)目?jī)?nèi)包含的部分開源項(xiàng)目簡(jiǎn)短介紹,完整項(xiàng)目文件和解說(shuō)均可通過(guò)文末鏈接查看)

1、500 Lines or Less——可視化編程工具(Blockcode)

該項(xiàng)目主要用于為龜圖(turtle graphics)實(shí)現(xiàn)塊語(yǔ)言,通過(guò)簡(jiǎn)單拖放創(chuàng)建圖案,整個(gè)過(guò)程通過(guò)常用的Html、CSS和JavaScript來(lái)實(shí)現(xiàn)(每一個(gè)塊由html元素組成,CSS用于設(shè)置樣式,JavaScript時(shí)間處理器進(jìn)行拖拽并修改參數(shù))。其次,作者將塊構(gòu)建為一個(gè)框架以服務(wù)其他編程語(yǔ)言。

操作視圖效果

該項(xiàng)目也是圖形編程的一種方式,目前圖形編程也被廣泛應(yīng)用于低年級(jí)學(xué)生編程教學(xué)中。Github上也有很多類似項(xiàng)目,雖然編程語(yǔ)言可能不同,但實(shí)現(xiàn)邏輯有異曲同工之妙。

2、500 Lines or Less——持續(xù)集成系統(tǒng)

該項(xiàng)目作者曾任職于Mozilla,后轉(zhuǎn)去Twitch工作,一直致力于在保證代碼安全的前提下提升程序員的編碼速度。

在這個(gè)敏捷開發(fā)、敏捷交付的時(shí)代,很多程序在上線前的測(cè)試都不完整。多數(shù)情況下,開發(fā)人員會(huì)在開發(fā)過(guò)程中直接測(cè)試代碼以確保功能實(shí)現(xiàn)的完整和穩(wěn)定,隨著版本的不斷迭代,需要進(jìn)行的測(cè)試越來(lái)越多,持續(xù)集成系統(tǒng)可以很好地解決這類問(wèn)題,在開發(fā)環(huán)境中對(duì)不斷迭代的代碼進(jìn)行完全測(cè)試。

這類系統(tǒng)主要功能就三項(xiàng):獲取更改后代碼、自動(dòng)測(cè)試代碼、生成測(cè)試報(bào)告。但是,這個(gè)過(guò)程必須是穩(wěn)定的、正確的以及可恢復(fù)的。

3、500 Lines or Less——Python 解釋器

該項(xiàng)目名為Byterun,是一個(gè)用Python實(shí)現(xiàn)的Python解釋器。它的結(jié)構(gòu)與CPython非常相似,但是Byterun更小。它***的缺點(diǎn)是速度略慢,但已經(jīng)可以解析大多數(shù)代碼了,畢竟這是500行代碼以內(nèi)完成的,肯定會(huì)有一些不足。而且,CPython基于C語(yǔ)言實(shí)現(xiàn)并做了大量?jī)?yōu)化。

作為一個(gè)解釋器,Byterun很容易被理解,如果你希望搞清楚一個(gè)解釋器的編寫過(guò)程,這是一個(gè)非常不錯(cuò)的嘗試,并且Python語(yǔ)言本身就很容易理解。

4、500 Lines or Less——簡(jiǎn)單的對(duì)象模型

該項(xiàng)目主要實(shí)現(xiàn)了一套簡(jiǎn)單的對(duì)象模型,先實(shí)現(xiàn)一個(gè)簡(jiǎn)單的類與實(shí)例,并能夠通過(guò)實(shí)例訪問(wèn)一些方法,這是很多早期面向?qū)ο笳Z(yǔ)言所采用的面向?qū)ο竽P汀H缓?,在此基礎(chǔ)上逐漸擴(kuò)展,進(jìn)一步優(yōu)化性能得到一個(gè)低配版的Python對(duì)象模型。

5、500 Lines or Less——光學(xué)文字識(shí)別

該項(xiàng)目涉及目前大火的人工智能技術(shù),項(xiàng)目說(shuō)明針對(duì)人工智能、反向傳播進(jìn)行了部分解說(shuō),對(duì)于想要進(jìn)入人工智能領(lǐng)域的開發(fā)者而言,這是非常棒的學(xué)習(xí)資料和實(shí)踐項(xiàng)目。

作者利用前饋神經(jīng)網(wǎng)絡(luò)探索搭建了一個(gè)OCR系統(tǒng),主要由5部分組成,分別寫在5個(gè)文件之中。它們是:客戶端(ocr.js)、服務(wù)器(server.py)、簡(jiǎn)單的用戶界面(ocr.html)、基于反向傳播訓(xùn)練的ANN(ocr.py)、ANN的實(shí)現(xiàn)腳本(neural_network_design.py)

6、500 Lines or Less——決策采樣器

有一定數(shù)學(xué)基礎(chǔ)的開發(fā)者對(duì)采樣、多項(xiàng)分布、隨機(jī)分布等名詞一定不陌生,簡(jiǎn)單來(lái)說(shuō),該項(xiàng)目將整個(gè)過(guò)程通過(guò)編程方式來(lái)實(shí)現(xiàn)。

7、500 Lines or Less——模板引擎

Web應(yīng)用程序是典型以文字為主的常見任務(wù),這類應(yīng)用程序最重要的一個(gè)階段就是將生成的HTML送到瀏覽器,一般的HTML至少會(huì)包含一些小的動(dòng)態(tài)數(shù)據(jù),比如用戶名之類的。對(duì)于如何生成一個(gè)動(dòng)靜態(tài)數(shù)據(jù)混合的大型字符串是很多開發(fā)者一直在嘗試解決的問(wèn)題,模板引擎就是這樣一個(gè)解決方案。

8、500 Lines or Less——簡(jiǎn)易web服務(wù)器

盡管互聯(lián)網(wǎng)技術(shù)發(fā)生了天翻地覆的變化,但過(guò)去20年里,網(wǎng)絡(luò)核心的改動(dòng)卻不多,大多數(shù)web服務(wù)器仍然遵循以前的方式處理數(shù)據(jù),這個(gè)簡(jiǎn)易的web服務(wù)器同樣如此,如果你想了解web服務(wù)器的簡(jiǎn)單搭建過(guò)程,這個(gè)開源項(xiàng)目絕對(duì)是***的選擇。

完整的開源項(xiàng)目清單當(dāng)然遠(yuǎn)不止這8個(gè)項(xiàng)目,但部分項(xiàng)目尚未出現(xiàn)中文翻譯版,中文版地址中涵蓋了所有開源項(xiàng)目的具體說(shuō)明鏈接,如果有興趣,可以自行移步至Github平臺(tái)。

中文翻譯完成現(xiàn)狀

Github開源地址英文原版:https://github.com/aosabook/500lines

Github開源地址中文版(待完成):https://github.com/HT524/500LineorLess_CN


分享題目:不到500行Python代碼,你能編出什么?這些Github大神太牛了!
鏈接分享:http://www.dlmjj.cn/article/dhggcdd.html