本篇文章為大家展示了如何進行jupyter的原理分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
關鍵字:工具層devops
很難為jupyter這樣的一個東西定性,它最初只是一個增強的python repl環境,后來變成了CS架構并支持了多語言,S為語言kernel,C為notebook,console,qtconsole這樣的東西,可以分開部署使用。
IPython 3.x 是IPython的最后一個單片版本,包含筆記本服務器、qtconsole等。從IPython 4.0開始,該項目中與語言無關的部分:筆記本格式、消息協議、qtconsole、筆記本web應用程序等已轉移到名為Jupyter的新項目中。IPython本身專注于交互式Python,其中一部分是為Jupyter提供Python內核。
如果想快速嘗新,下載windows下Anaconda的py發行版,第一個用ipy4是Anaconda2系列的Anaconda2 2.4.0版本. 我們當然關注的是jupyter system與傳統CS程序相比的那些不同點:
首先,它不是應用,而是側重語言系統。要說它是應用,它也只是“編程教育利器”,“一個多語言在線IDE”,是語言系統方面的應用(so,也是CS應用)
其次,它至少有以下特點,先來說表層的,那些直觀可見的東西:
1,以語言為后端,客戶端接受服務端的執行結果,直接輸出執行結果。以頁面上的cell為單位。 2,CS二端組成了一個分布式的DEMO SHOW系統。
總之就是IPython,他的一個很大優點就是可以把代碼寫碼過程、運行結果展示合在一起,并持久保存在一個notebook中,并由jupyter支撐這個過完成程。
再來說點深刻一點的:
它增強了語言IDE,它是分布式交互開發環境(做成了CS和WEB嘛,大凡與WEB沾邊的,應用架構上已屬分布式)。
它改變了開發協作方式,人們發布ipynb,就可以共享源文件和執行結果,而不需要下載到自己的機器上利用本地語言系統運行一次。如果這個結果可以直接形成應用(分cell的code block塊可以像語言源文件和語言內模塊一樣組成軟件),這足于給編程界帶來一股強勁的創新了。發揮直男不由分說的特點來說簡單就2點不用怨我:
第一,它改變了軟件協作的方式,使ugc,ugc=user generated content,這里c就是coding或codes,它使W人組件開發做到了線上并直接存管結果。
PS:這什么意思呢?
如果github是人們遞交靜態源碼倉庫的地方,開發者是以offline的方式參與開發。那么如果有jupyter hub,那么它就是組合正在運行的軟件組成更大軟件的地方。這句話中隱含了組件這個詞,組件是現代語言都有的大頭,實際上簡單來說就是,demo就是組件,可放置工作的dropin的復用件,能將運行中的程序部件作直接聚合積木搭建的東西,都是“組件”。如果這些組件可在網上直接整合,運行結果也托管。那么它立馬可以產生一個“動態github”。如果你的app夠小,一個ipynb就夠。 這樣,用戶可在線上直接編程搭APP。因為開發用的語言系統和運行用的環境都在線上,結果也只需要呈現在網上。用戶只需要復用ipynb貢獻codes這些,作為ugc中的c即可。這對需要用戶貢獻用代碼完成邏輯的社區應用系統或游戲應用大用,它使廠商直接接上第三方擴展者??梢詷O大快速豐富一個應用生態。
第二,它的可調試特性,使W人組件開發的無門檻性降得最低。因為它是個DEMO effect instant show system.
綜合起來,它只是將IDE發展分布式,且其架構和產品定位上也可以作成“動態github”之類的東西而已,能理解到這層已經很不錯了。
附下載地址了事(軟件取名engitor有engitor=”engine tool editor“的意思因為受jupyter支持的語言系統應該到了toolkit直接搭應用的程度了,是編輯方式生成程序的內容生成工具和演示系統,軟件已整合對msyscuione/langsys/qtcling的支持,下載后解壓到D盤msyscuione下)
上述內容就是如何進行jupyter的原理分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。