Python 开发者如何正确使用 RStudio 编辑器

简介:

概述

资深Python工程师可以选择的编辑器有很多,比如 Rodeo,Spider,Eclipse,Vim,Visual Studio,Atom,Sublime Text,Jupyter等等,但是现在为什么现在很多资深的 Pythoner 都开始拥抱 RStudio 呢?要回答这个问题,首先我们要了解到Python工程师的需求到底是什么?

需求一

资深的Pythoner不依赖于集成开发环境,需要沉浸式编程。

真正的高手往往是不需要交互式编程环境的,他们更倾向于沉浸式编程,这些高手以前往往选择Vim或者Sublime Text这样的文本编辑器来解决问题。比如以前Sublime Text(Sublime Text是用Python写的)很火爆的时候,很多Python开发者都是Sublime Text安装几个插件,加一个REPL和代码高亮就开始干活了。而一些刚刚开始学习 Python 的同学则倾向于使用诸如 PyCharm,Visual Studio 这样的集成开发环境来辅助编程。

资深的Python开发者认为,过多的代码智能提示会打断自己的思路,提示一些并不需要的信息反而会降低自己的效率,沉浸式编程才是最理想的选择,代码本身就拥有很强大的反馈机制,加入过多的辅助功能只是画蛇添足而已。

需求二

资深的Pythoner是免运维的全能战士,需要掌管服务器。

他们喜欢一个人拯救世界,从Web开发、自动化测试、自动化运维、爬虫开发、数据仓库、任务调度、机器学习、硬件开发全部都要自己独立完成,只单单开发某一个模块是没法满足胃口的,也永远不会甘于只做某个环节上的螺丝钉。Python 因为本身简洁的语法设计使得入门的门槛非常之低,这使得原本从事不同开发领域的专家都开始尝试使用Python来再造轮子。

运维工程师 A 曾经做了一个 docker-py 来控制 Docker 的API,以支撑服务器上数百个容器的调度与监控;数据工程师 B 现在用 Airflow 来控制 ETL 的流程以保证每天在Hadoop和Spark的洪荒之力的冲击下,数据仓库的治理能够有条不紊。Web工程师 C 也用过 Django 快速开发面向消费者的网站以响应一日三变的用户需求。爬虫工程师 D 在用 Scrapy 爬取各大新闻网站和社交媒体的最新资讯以满足搜索引擎的需求。硬件工程师 E 在树莓派上用OpenCV来调试一个人脸检测的功能,以较低的成本完成核心功能的调试。测试工程师 F 正在用 Selenium 对各种客户端进行自动化测试来检测各种情况下的Bug ... 而在更多的情况下,ABCDEF 很有可能就是同一个人(被称为全占工程师)。

对比

其实,Pythoner只需要一个沉浸式的编程环境和一个即时通向服务器的管道。

然而,Sublime Text 只满足了第一点;Jupyter 只满足了第二点。直到 RStudio的出现,把二者结合了起来。

下面我们对比一下这三者的异同:

如何正确使用RStudio

正确使用RStudio的流程是这样的:

1. 安装RStudio

在服务器上使用root账户安装 RStudio(并打开8787端口),如果有多人协同建议不要用 Docker 安装,如果你依然想要,这里有相应的教程。

2. 账号注册

设置登录RStudio登录的账号密码,以及默认的用户目录(建议不要给到root权限)。

 
 
  1. adduser FinanceR # 设置新用户名 
  2. passwd FinanceR # 设置该用户的密码 
  3. mkdir /home/FinanceR # 初始化工作空间 
  4. 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工程师都在学习如何使用它。






作者:HarryZhu
来源:51CTO
目录
相关文章
|
1月前
|
安全 API 开发者
惊!Python开发者必看:OAuth与JWT授权机制的惊天秘密😱
【8月更文挑战第4天】在现代软件开发中,尤其在Web和移动应用领域,用户认证与授权至关重要。对Python开发者来说,OAuth与JWT是两大利器,能显著提高应用的安全性并优化用户体验。OAuth通过“授权而非认证”的理念,安全地让用户授予第三方应用访问权限;JWT则是一种自包含的令牌格式,确保信息的安全传输。二者结合使用,可以构建坚固的认证体系。掌握这些核心技术,让您的应用更安全、更高效。
29 1
|
9天前
|
安全 数据安全/隐私保护 开发者
重塑信任:Python开发者如何利用OAuth与JWT,打造安全无虞的授权机制
【9月更文挑战第7天】随着Web应用的复杂度增加,用户数据保护变得至关重要。本文通过问答形式,探讨Python开发者如何利用OAuth和JWT构建高效且安全的授权机制。OAuth让第三方应用能在不获取用户凭据的情况下访问特定服务,保护用户隐私;JWT则通过安全令牌实现身份验证。结合二者,开发者能打造符合现代安全标准的授权体系,提升系统安全性和灵活性。 示例代码展示了如何使用`requests-oauthlib`简化OAuth流程,并用`PyJWT`生成及验证JWT。这种组合不仅加强了安全性,还优化了用户体验。
28 1
|
18天前
|
前端开发 Python
60行Python代码开发在线markdown编辑器
60行Python代码开发在线markdown编辑器
|
7天前
|
JSON 安全 API
Python开发者必看:OAuth与JWT授权机制的惊天秘密😱
【9月更文挑战第9天】在现代软件开发中,尤其在Web和移动应用领域,用户认证与授权至关重要。对Python开发者而言,OAuth和JWT是提升应用安全性与用户体验的关键技术。OAuth通过“授权而不认证”的理念保障用户数据安全,JWT则利用JSON Web Tokens实现无缝的信息传递。两者结合可构建高效且安全的认证体系。掌握这些技术,将使你的应用更加出色。
7 0
|
2月前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
65 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
1月前
|
安全 数据安全/隐私保护 开发者
重塑信任:Python开发者如何利用OAuth与JWT,打造安全无虞的授权机制
【8月更文挑战第6天】随着Web应用复杂度提升,用户数据保护成为关键。OAuth与JWT是Python开发者构建高效安全授权机制的两大利器。OAuth让第三方应用能访问特定服务上的私有资源而不暴露用户凭据;JWT则是安全传输信息的标准,常与OAuth结合使用以验证用户身份和权限。通过requests-oauthlib和PyJWT库,开发者能轻松实现OAuth流程与JWT的生成验证,从而打造既安全又用户体验友好的授权系统。
33 8
|
15天前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
40 0
|
15天前
|
JSON API 数据库
探索FastAPI:不仅仅是一个Python Web框架,更是助力开发者高效构建现代化RESTful API服务的神器——从环境搭建到CRUD应用实战全面解析
【8月更文挑战第31天】FastAPI 是一个基于 Python 3.6+ 类型提示标准的现代 Web 框架,以其高性能、易用性和现代化设计而备受青睐。本文通过示例介绍了 FastAPI 的优势及其在构建高效 Web 应用中的强大功能。首先,通过安装 FastAPI 和 Uvicorn 并创建简单的“Hello, World!”应用入门;接着展示了如何处理路径参数和查询参数,并利用类型提示进行数据验证和转换。
31 0
|
15天前
|
JSON 数据库 开发者
FastAPI入门指南:Python开发者必看——从零基础到精通,掌握FastAPI的全栈式Web开发流程,解锁高效编码的秘密!
【8月更文挑战第31天】在当今的Web开发领域,FastAPI迅速成为开发者的热门选择。本指南带领Python开发者快速入门FastAPI,涵盖环境搭建、基础代码、路径参数、请求体处理、数据库操作及异常处理等内容,帮助你轻松掌握这一高效Web框架。通过实践操作,你将学会构建高性能的Web应用,并为后续复杂项目打下坚实基础。
31 0
|
2月前
|
SQL 安全 数据库
构建安全的Python Web应用是一项持续的努力,需要开发者时刻保持警惕,并采用最佳实践来预防各种安全威胁
【7月更文挑战第26天】构建安全的Python Web应用是一项持续的努力,需要开发者时刻保持警惕,并采用最佳实践来预防各种安全威胁
55 9