摘要:工程師也用過快速開發(fā)面向消費(fèi)者的網(wǎng)站以響應(yīng)一日三變的用戶需求。硬件工程師在樹莓派上用來調(diào)試一個(gè)人臉檢測(cè)的功能,以較低的成本完成核心功能的調(diào)試。另一方面,通過在任何一個(gè)瀏覽器中就可以直接前往服務(wù)器現(xiàn)場(chǎng),不論是一臺(tái)甚至是樹莓派。
概述
資深Python工程師可以選擇的編輯器有很多,比如 Rodeo,Spider,Eclipse,Vim,Visual Studio,Atom,Sublime Text,Jupyter等等,但是現(xiàn)在為什么現(xiàn)在很多資深的 pythonista 都開始擁抱 RStudio 呢?要回答這個(gè)問題,首先我們要了解到Python工程師的需求到底是什么?
需求一資深的pythonista不依賴于集成開發(fā)環(huán)境,需要沉浸式編程。
真正的高手往往是不需要交互式編程環(huán)境的,他們更傾向于沉浸式編程,這些高手以前往往選擇Vim或者Sublime Text這樣的文本編輯器來解決問題。比如以前Sublime Text(Sublime Text是用Python寫的)很火爆的時(shí)候,很多Python開發(fā)者都是Sublime Text安裝幾個(gè)插件,加一個(gè)REPL和代碼高亮就開始干活了。而一些剛剛開始學(xué)習(xí) Python 的同學(xué)則傾向于使用諸如 PyCharm,Visual Studio 這樣的集成開發(fā)環(huán)境來輔助編程。
資深的Python開發(fā)者認(rèn)為,過多的代碼智能提示會(huì)打斷自己的思路,提示一些并不需要的信息反而會(huì)降低自己的效率,沉浸式編程才是最理想的選擇,代碼本身就擁有很強(qiáng)大的反饋機(jī)制,加入過多的輔助功能只是畫蛇添足而已。
需求二資深的pythonista是免運(yùn)維的全能戰(zhàn)士,需要掌管服務(wù)器。
他們喜歡一個(gè)人拯救世界,從Web開發(fā)、自動(dòng)化測(cè)試、自動(dòng)化運(yùn)維、爬蟲開發(fā)、數(shù)據(jù)倉庫、任務(wù)調(diào)度、機(jī)器學(xué)習(xí)、硬件開發(fā)全部都要自己獨(dú)立完成,只單單開發(fā)某一個(gè)模塊是沒法滿足胃口的,也永遠(yuǎn)不會(huì)甘于只做某個(gè)環(huán)節(jié)上的螺絲釘。Python 因?yàn)楸旧砗?jiǎn)潔的語法設(shè)計(jì)使得入門的門檻非常之低,這使得原本從事不同開發(fā)領(lǐng)域的專家都開始嘗試使用Python來再造輪子。
運(yùn)維工程師 A 曾經(jīng)做了一個(gè) docker-py 來控制 Docker 的API,以支撐服務(wù)器上數(shù)百個(gè)容器的調(diào)度與監(jiān)控;數(shù)據(jù)工程師 B 現(xiàn)在用 Airflow 來控制 ETL 的流程以保證每天在Hadoop和Spark的洪荒之力的沖擊下,數(shù)據(jù)倉庫的治理能夠有條不紊。Web工程師 C 也用過 Django 快速開發(fā)面向消費(fèi)者的網(wǎng)站以響應(yīng)一日三變的用戶需求。爬蟲工程師 D 在用 Scrapy 爬取各大新聞網(wǎng)站和社交媒體的最新資訊以滿足搜索引擎的需求。硬件工程師 E 在樹莓派上用OpenCV來調(diào)試一個(gè)人臉檢測(cè)的功能,以較低的成本完成核心功能的調(diào)試。測(cè)試工程師 F 正在用 Selenium 對(duì)各種客戶端進(jìn)行自動(dòng)化測(cè)試來檢測(cè)各種情況下的Bug ... 而在更多的情況下,ABCDEF 很有可能就是同一個(gè)人(被稱為全占工程師)。
對(duì)比其實(shí),pythonista只需要一個(gè)沉浸式的編程環(huán)境和一個(gè)即時(shí)通向服務(wù)器的管道。
然而,Sublime Text 只滿足了第一點(diǎn);Jupyter 只滿足了第二點(diǎn)。直到 RStudio的出現(xiàn),把二者結(jié)合了起來。
下面我們對(duì)比一下這三者的異同:
序號(hào) | 功能 | Sublime Text | Jupyter | RStudio | |
---|---|---|---|---|---|
1 | Vim模式 | yes | no | yes | |
2 | 自定義布局 | yes | no | yes | |
3 | 自定義快捷鍵 | yes | no | yes | |
4 | 文件夾管理 | yes | yes | yes | |
5 | 全局搜索 | yes | no | yes | |
6 | 函數(shù)跳轉(zhuǎn) | yes | no | yes | |
7 | 多行編輯 | yes | yes | yes | |
8 | 多格式輸出 | no | yes | yes | |
9 | 圖表輸出 | no | yes | yes | |
10 | Markdown預(yù)覽 | yes | yes | yes | |
11 | Terminal | no | yes | yes | |
12 | 版本控制 | yes | no | yes | |
13 | 項(xiàng)目管理 | yes | no | yes | |
14 | Spark連接 | no | yes | yes | |
15 | 插件系統(tǒng) | yes | yes | yes | |
16 | Web訪問 | no | yes | yes | |
17 | 權(quán)限管理 | no | yes | yes | |
18 | 變量管理 | no | no | yes | |
19 | 多語言高亮 | yes | yes | yes | |
20 | 集群管理 | no | yes | yes | |
21 | 實(shí)時(shí)保存 | yes | yes | yes | |
22 | 多人編輯 | no | no | yes | |
23 | 文檔發(fā)布 | yes | no | yes |
正確使用RStudio的流程是這樣的:
1. 安裝RStudio在服務(wù)器上使用root賬戶安裝 RStudio(并打開8787端口),如果有多人協(xié)同建議不要用 Docker 安裝,如果你依然想要,這里有相應(yīng)的教程。
2. 賬號(hào)注冊(cè)設(shè)置登錄RStudio登錄的賬號(hào)密碼,以及默認(rèn)的用戶目錄(建議不要給到root權(quán)限)。
adduser FinanceR # 設(shè)置新用戶名 passwd FinanceR # 設(shè)置該用戶的密碼 mkdir /home/FinanceR # 初始化工作空間 chmod -R FinanceR /home/FinanceR # 給工作空間賦權(quán)3. 打開編輯器
通過瀏覽器訪問服務(wù)器的8787端口:e.g.123.456.789.1:8787
4. 項(xiàng)目管理點(diǎn)擊左上角新建項(xiàng)目按鈕,新建一個(gè) Project 并引入Git或SVN作版本控制,拉取遠(yuǎn)端代碼。
5. 新建文件新建一個(gè)空文件夾保存為.py后綴文件將提供Python代碼高亮,保存為.sql后綴將提供SQL代碼高亮。(還有html,c++可選)
6. 代碼執(zhí)行通過 ctrl + alt + s(source) 執(zhí)行python代碼,在console中可以查看執(zhí)行結(jié)果。
7. 掌管服務(wù)器如果需要登錄服務(wù)器,在菜單欄中選擇Tool-》Shell即可進(jìn)入服務(wù)器端直接解決深層次問題。
8. 代碼排查當(dāng)程序出現(xiàn)一些問題,在代碼有點(diǎn)復(fù)雜的時(shí)候,通過ctrl + shift + f(find)可以全局搜索你的代碼段
9. 文件搜索事實(shí)上,我們你發(fā)現(xiàn)有時(shí)候是本地的csv文件路徑弄錯(cuò)了, 想要找到項(xiàng)目中某個(gè)文件,可以通過ctrl + shift + . 來全局檢索文件名(類似 find /|grep 文件名)
10. 偏好設(shè)置感覺默認(rèn)的偏好設(shè)置不滿足個(gè)人胃口,在偏好設(shè)置中可以設(shè)置快捷鍵、Vim模式、高亮、字體、snippet等等細(xì)節(jié)。我個(gè)人偏好solarized dark的深綠色主題。
總結(jié)一方面,在服務(wù)器上寫好代碼,直接在服務(wù)器上拉取提交Git/SVN或者部署Docker鏡像,這樣就避免了在Windows/Mac下寫的代碼在服務(wù)器上跑不通的問題,也就是說開發(fā)環(huán)境和測(cè)試環(huán)境的代碼與環(huán)境始終保持了一致性。另一方面,通過Web IDE在任何一個(gè)瀏覽器中就可以直接前往服務(wù)器現(xiàn)場(chǎng),不論是一臺(tái)Chrome OS、 Windows XP 甚至是樹莓派。事實(shí)上,RStudio作為我的主力編輯器90%取代了Atom、Sublime Text、Jupyter等等編輯器,現(xiàn)在好多Python工程師都在學(xué)習(xí)如何使用它。
參考資料Using Rstudio for Data management
]
更優(yōu)閱讀體驗(yàn)可直接訪問原文地址:https://segmentfault.com/a/11...
作為分享主義者(sharism),本人所有互聯(lián)網(wǎng)發(fā)布的圖文均遵從CC版權(quán),轉(zhuǎn)載請(qǐng)保留作者信息并注明作者 Harry Zhu 的 FinanceR專欄:https://segmentfault.com/blog...,如果涉及源代碼請(qǐng)注明GitHub地址:https://github.com/harryprince。微信號(hào): harryzhustudio
商業(yè)使用請(qǐng)聯(lián)系作者。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/45497.html
摘要:概述工欲善其事必先利其器,如果現(xiàn)在要評(píng)選數(shù)據(jù)科學(xué)中最好用的編輯器注意一定是可以通過訪問的,和一定是角逐的最大熱門,正確使用編輯器可以很大地提升我們的工作效率。 概述 showImg(https://segmentfault.com/img/bVAdol); 工欲善其事必先利其器,如果現(xiàn)在要評(píng)選數(shù)據(jù)科學(xué)中最好用的Web 編輯器(注意一定是可以通過Web訪問的),RStudio和Jupyt...
摘要:對(duì)于數(shù)據(jù)科學(xué)的研究可以說已經(jīng)是本文我將介紹如何以文檔定義應(yīng)用的方式成為數(shù)據(jù)科學(xué)中的標(biāo)準(zhǔn)交付。參考前文解密的數(shù)據(jù)科學(xué)部門如果構(gòu)建知識(shí)倉庫,作為一個(gè)謝大大的死忠,我很自然選擇了作為我文檔輸出的首選工具。 showImg(https://segmentfault.com/img/remote/1460000006760433?w=423&h=426); 概述 隨著近年來,Rstudio 通過...
摘要:在實(shí)際的工程中,我們的服務(wù)器大多是基于的,比如常見的等。這一次,我們將繼續(xù)利用神器,快速初始化環(huán)境的配置,并結(jié)合實(shí)現(xiàn)代碼的版本控制。對(duì)于的問題,我們可以選擇建立一個(gè)認(rèn)證的,也可以在中設(shè)置為忽略。 介紹 RStudio Server 是 RStudio 公司打造的一款基于 Web 的開源編輯器,如果你熟悉 RStudio的桌面版本,那么使用RStudio Server對(duì)你來說基本上沒什么...
摘要:概述隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場(chǎng)運(yùn)動(dòng)已經(jīng)不是由一個(gè)新的算法或者統(tǒng)計(jì)方法發(fā)起的了,而是來自的容器化技術(shù)。本文將介紹利用容器技術(shù)如何加速數(shù)據(jù)科學(xué)在生產(chǎn)環(huán)境中的實(shí)際應(yīng)用。 showImg(https://segmentfault.com//img/bVxzYL); 概述 隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場(chǎng)運(yùn)動(dòng)已經(jīng)不是由一個(gè)新的算法或者統(tǒng)計(jì)方法發(fā)起的了,而是來自Doc...
摘要:概述隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場(chǎng)運(yùn)動(dòng)已經(jīng)不是由一個(gè)新的算法或者統(tǒng)計(jì)方法發(fā)起的了,而是來自的容器化技術(shù)。本文將介紹利用容器技術(shù)如何加速數(shù)據(jù)科學(xué)在生產(chǎn)環(huán)境中的實(shí)際應(yīng)用。 showImg(https://segmentfault.com//img/bVxzYL); 概述 隨著容器化技術(shù)的興起,數(shù)據(jù)科學(xué)現(xiàn)在最大的一場(chǎng)運(yùn)動(dòng)已經(jīng)不是由一個(gè)新的算法或者統(tǒng)計(jì)方法發(fā)起的了,而是來自Doc...
閱讀 2106·2021-11-23 09:51
閱讀 2844·2021-11-22 15:35
閱讀 2942·2019-08-30 15:53
閱讀 1044·2019-08-30 14:04
閱讀 3283·2019-08-29 12:39
閱讀 1811·2019-08-28 17:57
閱讀 1099·2019-08-26 13:39
閱讀 559·2019-08-26 13:34