摘要:工程师也用过快速开发面向消费者的网站以响应一日三变的用户需求。硬件工程师在树莓派上用来调试一个人脸检测的功能,以较低的成本完成核心功能的调试。另一方面,通过在任何一个浏览器中就可以直接前往服务器现场,不论是一台甚至是树莓派。
概述
资深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
商业使用请联系作者。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/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...
阅读 2099·2021-11-23 09:51
阅读 2841·2021-11-22 15:35
阅读 2940·2019-08-30 15:53
阅读 1040·2019-08-30 14:04
阅读 3278·2019-08-29 12:39
阅读 1805·2019-08-28 17:57
阅读 1089·2019-08-26 13:39
阅读 552·2019-08-26 13:34