python大會-其實包含不少子項目_第1頁
python大會-其實包含不少子項目_第2頁
python大會-其實包含不少子項目_第3頁
python大會-其實包含不少子項目_第4頁
python大會-其實包含不少子項目_第5頁
免費預(yù)覽已結(jié)束,剩余34頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

+說明C

ODE

其實包含不少子項目

我覺得是一個生態(tài)系統(tǒng)了,全靠APIC

ODE

是一個很多人參與的項目

我期望盡量能夠把每個項目對應(yīng)的作者都能說清楚

ID

都是他們的

ID

當(dāng)然也期望我能夠講清楚+我與Pycon

的故事

11

年,我曾來參加過一次PyCon

那時我還不在豆瓣

那時我還不會寫Python

第一次聽教授@hongqn

講“Python在豆瓣的應(yīng)用”

對豆瓣充滿了向往

…(曲折,略去)

13

年初我終于混進(jìn)了豆瓣

14

年,3

年過去了,我也上來講了,其實你也可以+

可以

的GIT–GIT

相關(guān)的

Python–Python

相關(guān)的Web–從一個協(xié)作應(yīng)用來講述

Workflow–日常工作方式=人=可以

(吐槽)的東西太多啦(蹉跎中練就一身吐槽技能→→)++概述

整體的講一下CODE

的情況

在豆瓣

CODE

是一個

DAE

的應(yīng)用DAE

為CODE

提供了大部分的基礎(chǔ)設(shè)施

很遺憾現(xiàn)在的CODE

還不能Scale+概述–DAEDoubanAppEngine

Python

PaaS

動態(tài)WEB

服務(wù),支持異步/同步模型

MySQL

數(shù)據(jù)庫文件

系統(tǒng)

自動負(fù)載均衡

API: ,

Sentry,

IRC,

Memcached,

Beanstalkd,

Redis+概述–架構(gòu)+概述–前端OzJS

OzmaJS

grunt-ozjs

grunt-dispatch

grunt-furnaceJQueryGrunt

Bootstrap

2FlatUICodeMirrorZeroClipboard.swfD3.jsmustache.jssocket.io.jskeymaster.jsjquery.atwho.jsjquery.caret.jsmits-graph.jsjquery.forms.jsjquery.lazyload.jsjquery.media.jsjquery.pjax.jsjquery.scrollTo.jsjquery.timeago.jsjquery.zclip.jsmousetrap.js+

GIT

HTTP–上傳/代碼(git

clone,pull,fetch,push)

SSH

–上傳/

代碼

(git

clone,

pull,

fetch,

push)

WEB–代碼查看,代碼管理,代碼Review

(commit,blob,tag,reference,diff)+

GIT

HTTPgit_http_backend.py

擴(kuò)展起來比較頭疼

SubprocessIO,為了實現(xiàn)Subprocess

的Chunk

Subprocess

完全不兼容Gevent(通信數(shù)據(jù)量比較大的情況)

盡管Gevent

有一個monkey_patch

所以對待大量Fork

進(jìn)程的調(diào)用方式,很難事件化

最好的方式仍然是獨立處理Fork

出來的進(jìn)程,與Web

進(jìn)程脫離

GIPC

嘗試為Gevent

管理子進(jìn)程,但仍然有限制

Sina

( :douban/sina)

仍然沒有解決異步化

代碼清爽了,方便做擴(kuò)展+

GIT

SSH

Maria

( :

CMGS/maria)

SSH

支持做的比較晚

基于Gevent

和Paramiko

著名的Python

攻城師@

CMGS+

GIT

WEB:

libgit2/pygit2)

Pygit2

(

不是很成熟

提交了不少PR做了一點點hack

@alexband

緊跟

libgit2

Libgit2

(

不是很成熟

提交過補(bǔ)丁:

libgit2/libgit2)

不過近期沒有跟進(jìn)了

Ellen

( :

douban/ellen)

封裝了CODE

的常用命令

混雜著GIT

命令和Pygit2+GIT

分布式

@tclh123

同學(xué)曾經(jīng)做過一些工作

很遺憾,現(xiàn)在未能繼續(xù)下去,因為一些歷史包袱原因

目前只是個DEMO

的狀態(tài)

Tproxy

+

Thrift

+

Ellen

期望后續(xù)能夠完善這項工作:

tclh123/code-distribute+GIT

未來

異步化,依賴libgit2后端 ,NoSQL,RAM

StorageGIT

其實也有很多不足的地方,但是他很好用

解決了很多開發(fā)中經(jīng)常發(fā)生的問題

關(guān)于

Libgit2

的想法

:

xtao/git-future-slides+

Flow+Pull

Request

的實現(xiàn)+

GIT

Hooks

客戶端每次Push

會觸發(fā)服務(wù)器端倉庫的Hook

(post-receive)(Sina,Maria)通過環(huán)境變量傳遞用戶名給Hook

(post-receive)

Hook

(post-receive)觸發(fā)CODE

的APIC

ODE

收到倉庫更新的消息+

Web

應(yīng)用數(shù)據(jù)

原則數(shù)據(jù)緩存使用

Memcached大的文本數(shù)據(jù),需要持久化的使用

Beansdb

結(jié)構(gòu)化數(shù)據(jù)使用MySQL

SQL

禁用Join

等跨表語句,盡量使用緩存,減少MySQL

服務(wù)器的壓力

The

Missing

Data

Manager

In

Douban

一個豆瓣的最佳實踐,很遺憾@codetender因工作關(guān)系,沒有繼續(xù)開發(fā)下去:

douban/douban-orz+

QuixoteDon

Quixote

基于 的

URL

分發(fā)

在目前這個正則匹配的時代顯得有些過時

豆瓣的主站仍然用的是這個+

gevent

神坑

CODE

因為使用了大量fork

操作,觸發(fā)了gevent

的bug

所以這種情形下還是不要用

gevent

本身DAE

用了greenify

異步化了MySQL

等底層IO

操作

Libgit2

最快的異步化方案,配合

gevent,還沒有這么做…

@windreamer

神作,雖然有那么一點hack…:

douban/greenify++

CodeCLI

@hongqn

教授一早參與了CODE

的開發(fā)

在做完原型就脫離了CODE

的開發(fā)

不過他寫了一個客戶端給CODE

極大方便了工程師的日常工作

盡管仍有工程師沒有使用的這個

期望他們看到這個PPT的時候能夠…:

hongqn/codecli+

User

GIT

Flow+

Page

&Doc@guibog

給CODE

添加了一個類似

readthedocs

的功能給CODE

做了很多重構(gòu)

然后就隱去了

CODE

是支持Page

和Doc

像DAE

的文檔就是

rst,用的Doc

功能

很方便+

Linguist作者

@liluo事的為人低調(diào)不愿意出來講,不過這里面還是有不少故+

Scanner

Linguist

周邊之一

PHP

和Ruby

都是用的鬼車(oniguruma)

做了個binding

提升linguist

的正則匹配速度:

cuteio/scanner+

Mime

Linguist

周邊之二

檢測文件類型

移植Ruby

到Python:

liluo/mime+

Misaka

&

Mikoto

Markdown

渲染

這里有個故事

開始是vmg/sundown,然后deprecated

2

年,終于jgm/CommonMark

一開始叫standard

markdown

,markdown

作者不干了,只好改名common

markdown

monmark.

/t/standard-

-

monmark/434:

qingfeng/mikoto:

qingfeng/misaka+

P@qingfeng

發(fā)起的項目

文件

,主要用來存C

ODE

上的

都是

通過

Markdown

渲染P

上C

ODE

本身沒有

功能

Eg:

![

](http://p

/i/

):

qingfeng/p++一些數(shù)字+

Who

誰在用CODE?

工程師們

HR

有倉庫哦

PM

偶爾會冒個泡

其實大家都可以用的

誰寫的CODE?

一些

開發(fā)者

(10個以內(nèi))

實習(xí)生們

熱心的使用者也會經(jīng)常貢獻(xiàn)代碼

絕對零散的開發(fā)模式

只有過一個全職開發(fā)者+

HR+

HR+

Markdown

+

GIT

大家都可以用

文件是需要版本管理的

文本文件也需要規(guī)定格式

Markdown

和GIT

結(jié)合很好的管理了起來

只要有一個好的界面,就是一個大家都可以用的Wiki

系統(tǒng)

Markdown

誰都可以用

簡單的保存,編輯,查看歷史也是大家都能學(xué)會的操作+相關(guān)工作Enterprise

Bitbucket

Stash

(Bitbucket)

Gitlab

Gerrit

(Android)

GitCafe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論