




下載本文檔
版權(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:
:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年光電子器件及激光器件項目發(fā)展計劃
- DB31∕T 478.26-2019 主要工業(yè)產(chǎn)品用水定額及其計算方法 第26部分:原水及自來水制水廠行業(yè)(原水、自來水)
- 2025年光電測沙儀項目建議書
- 保健食品知識培訓(xùn)課件
- 物流系統(tǒng)分析 課件 任務(wù)六 理解物流系統(tǒng)的優(yōu)化原理
- 2023年北京卷高考真題數(shù)學(xué)試卷
- 高效解決辦公設(shè)備使用常見問題
- 協(xié)議離婚手續(xù)辦理流程
- 2025年鶴壁貨運從業(yè)資格證考試題庫答案
- 名雅居營銷策劃書
- 高處作業(yè)工作票
- 文化遺產(chǎn)導(dǎo)論 教學(xué)大綱
- 《左傳·鄭伯克段于鄢》PPT課件(完整版)
- IPC6012C培訓(xùn)
- 氮氣窒息事故案例經(jīng)驗分享
- 2工藝用水驗證報告
- 原子雜化軌道理論
- 充填開采之 矸石充填術(shù)
- 醫(yī)院醫(yī)療設(shè)備采購流程圖
- 021[學(xué)士]某六層框架宿舍樓畢業(yè)設(shè)計(含計算書、圖紙)
- 人力外包項目實施方案
評論
0/150
提交評論