偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

不到500行Python代碼,你能編出什么?這些Github大神太牛了!

新聞 后端
Github上一個(gè)名為“500lines”的開源項(xiàng)目集結(jié)了眾多業(yè)內(nèi)較為知名的開發(fā)者,同時(shí),所有貢獻(xiàn)項(xiàng)目的代碼行數(shù)均在500行以內(nèi)。

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

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

不到500行Python代碼,你能編出什么?這些Github大神太牛了!

項(xiàng)目完整清單

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

該項(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)目文件和解說均可通過文末鏈接查看)

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

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

不到500行Python代碼,你能編出什么?這些Github大神太牛了!

操作視圖效果

該項(xiàng)目也是圖形編程的一種方式,目前圖形編程也被廣泛應(yīng)用于低年級(jí)學(xué)生編程教學(xué)中。Github上也有很多類似項(xiàng)目,雖然編程語言可能不同,但實(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ā)過程中直接測(cè)試代碼以確保功能實(shí)現(xiàn)的完整和穩(wěn)定,隨著版本的不斷迭代,需要進(jìn)行的測(cè)試越來越多,持續(xù)集成系統(tǒng)可以很好地解決這類問題,在開發(fā)環(huán)境中對(duì)不斷迭代的代碼進(jìn)行完全測(cè)試。

這類系統(tǒng)主要功能就三項(xiàng):獲取更改后代碼、自動(dòng)測(cè)試代碼、生成測(cè)試報(bào)告。但是,這個(gè)過程必須是穩(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語言實(shí)現(xiàn)并做了大量?jī)?yōu)化。

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

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

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

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

該項(xiàng)目涉及目前大火的人工智能技術(shù),項(xiàng)目說明針對(duì)人工智能、反向傳播進(jìn)行了部分解說,對(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)單來說,該項(xiàng)目將整個(gè)過程通過編程方式來實(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ā)者一直在嘗試解決的問題,模板引擎就是這樣一個(gè)解決方案。

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

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

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

不到500行Python代碼,你能編出什么?這些Github大神太牛了!

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

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

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

責(zé)任編輯:張燕妮 來源: 頭條科技
相關(guān)推薦

2019-07-25 10:45:05

GitHub技巧網(wǎng)站

2022-06-17 09:21:53

Pandas代碼透視表

2021-04-23 22:35:32

程序員工具網(wǎng)站

2021-01-19 05:27:44

HTTPSECDHE算法

2020-05-26 08:32:56

Python代碼開發(fā)

2021-02-24 14:30:59

JavaScript語言開發(fā)

2011-05-10 10:56:29

DBA面試

2024-04-30 08:05:15

Rust代碼計(jì)算

2021-04-21 14:27:17

無人機(jī)人工智能AI

2019-09-25 09:05:52

Python 機(jī)器學(xué)習(xí)編程語言

2022-08-19 14:16:02

Python命令

2025-08-01 01:35:00

2021-12-14 18:20:23

Github技巧前端

2025-05-15 08:45:00

開源前端手勢(shì)

2022-10-28 10:18:53

代碼績(jī)效Java

2020-11-26 15:48:37

代碼開發(fā)GitHub

2020-05-11 18:00:48

規(guī)范數(shù)據(jù)分析架構(gòu)

2022-05-11 07:41:31

Python驗(yàn)證碼

2022-12-12 09:01:03

2018-02-05 16:28:24

電腦硬件問題
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)