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