好奇那些抱着电脑就可以随时随地工作的人,他们的电脑为什么看起来比我们强大那么多?本文就来告诉大家,软件工程师是如何做到能在各个地方随时工作的——下文将为小伙伴揭秘,大家可以学起来哦。

作者 | Tigran Bayburtsyan

译者 | 苏本如 ,责编 | maozz

出品 | CSDN(ID:CSDNnews)

以下为译文:

编程不是一个容易的过程,特别是在你必须同时兼顾快速和不产生bug的时候。把你的注意力仅仅集中在编程上本身就是一个相当困难的挑战,而这篇文章讲述更多的是关于如何在任何地方使用互联网和浏览器,对代码进行最终的设置!

当我们在Hexometer.com工作的时候需要频繁地出差,有时候需要花费几天的时间在一台不同的电脑上密集地检查我们的工具,这就是为什么我需要这样的一个环境,它能够让我在任何一个有互联网连接和浏览器的电脑上支持相同的编程流程。

可能这篇文章不适用一个电脑迷或低成本旅行者,因为他们工作的地方通常很廉价,而且互联网连接状况很差。

而且正如你可以想象,要想使你的编程环境设置完全独立于任何笔记本电脑,唯一的方法就是使用一个具备互联网连接的基本的浏览器,因为你清楚,现在的浏览器无处不在!

这样做有什么好处?

我一直都使用最强大的超级本,以便加快我的编程过程,并尽量让代码编译时间缩短到可以无视。你可以想象这是很昂贵的,而且笔记本电脑的强劲功率可能会影响它的电池的使用时间。

通常情况下,MacBook笔记本电脑可以保证在不充电的情况下连续编程大约4-5小时,这已经相当不错了。但是,有时候你无法保证一直使用同样的笔记本电脑,而且随着时间的推移,你会发现你越来越难切换到新的笔记本电脑上工作。

老实说,在过去的4-5年里,我基本上都是使用MacBook笔记本电脑来完成我的编程项目,主要原因是我喜欢它们的构建方式,而且喜欢专门为它们优化过的操作系统。

然而,当我开始在远程服务器编程,并使用开发运维一体化流程时,我意识到将整个编程过程转移到服务器上带来的下列优点将远远大于这种编程方式的缺点。

高达每秒1GB的互联网连接速度!这个好处太大了,特别是如果你需要经常安装远程包或拉/推Docker容器的时候。

强大的CPU核心,而且没有任何用户界面的开销。你可以为你的编程服务器配备功能强大的至强(Xeon)CPU或i7 CPU内核,价格远比作为笔记本电脑包购买它们要便宜。

而且最重要的区别是,所有的笔记本操作系统都要消耗3-5%的CPU来保持桌面用户界面的运行,如果你要在它上面使用功能强大的集成开发环境(IDE)的话,它消耗电池更快。

可以让你远程访问本地主机(localhost)!作为一名WEB开发人员,我过去经常运行一个名为ngrock的工具来构建一些远程隧道,以便向客户展示一些实验项目。

现在它变得非常有用,甚至可以让我使用专门的域名连接到我的开发环境,可以直接从一个地方进行编程和在线共享一些东西!

非常灵活的磁盘空间。我几乎一直在使用带有256 GB大小的固态硬盘(SSD)的笔记本电脑,但是如果能够动态地扩展它的大小,正好可以让我能够直接在我的编程环境中运行一些良好的数据收集测试。

以上列出了这种编程方式的所有好处,可以把它视为在浏览器编程中或者在使用浏览器的设备中进行编程的一种奖励。

浏览器中的VS Code

有几种工具、服务可以在浏览器中像运行编辑器一样来运行VS Code。然而,有一个开源项目,它通过使用基于WebSocket的服务器通信来替换Electron框架的功能,以便在浏览器中执行精确的VS Code复制,它甚至可以通过移动热点与3G网络协同工作。然而,有时当互联网连接不好时,你会非常失望,但这是不使用独立的笔记本电脑的代价。

不管怎样,你得到的好处比你一开始想象的要多得多。

Code-Server项目是基于VS Code的,但是它们改变了与Electron桌面应用程序的所有连接部分,使之能在浏览器 + Websocket连接的环境中工作,在服务器端运行服务并将结果传递给浏览器。

Code-Server可以在所有平台上工作,包括MAC、Windows和Linux,但在大多数情况下,我确信你会使用Linux作为服务器操作系统来运行code-server.。

# Running code-server from CLI~# code-server --auth none --port 8888

上面的命令将启动code-server,现在你可以通过导航到http://localhost:8888,从浏览器上来访问VS Code的功能。

如果你打算长期运行它,并希望在它上面管理所有项目,那么你可以让它作为后台服务运行,比如说和SystemD一起使用(它正是我现在使用的)。

在我的例子中,基本的SystemD配置如下:

[Unit]Description=Code Server[Service]PIDFile=/tmp/coder-99.pidUser=coderGroup=coderRestart=alwaysKillSignal=SIGQUITWorkingDirectory=/home/coderExecStart=/usr/local/bin/code-server --auth none --port 8080[Install]WantedBy=multi-user.target

如你所见,我没有直接在code-server上使用任何公共端口,这是因为它实际上可以在没有任何访问控制的情况下公开我的所有项目(它们的密码不是那么安全)。

为了使它更安全,我在它前面使用Nginx,并进行特定的配置,让它只起到一个代理服务器的作用,然后设置HTTP身份验证和一些SSL配置信息,以确保它只能通过VPN访问。

它真的能在任何设备上工作吗?

对这个问题的答案,我会说“是的!”

一些设备可能有Unicode输入问题,因为它们使用了一些字符转换服务,就像大多数安卓设备一样。但是对于苹果设备,它工作得很好!即使在iPad Pro上,你也能感受到通过VSCode终端编程和访问服务器命令行界面(CLI)的乐趣。

我曾在Acer Chromebook 14笔记本电脑上工作过一段时间,它是一款非常低功耗的设备,对我来说它工作得很好,因为大多数自动完成和服务处理工作都是在服务器端完成的,而不是在本地笔记本电脑的CPU上进行的。

这个方式并非对每个人都是一个挑战,如果你大部分要编程的应用程序不需要桌面视图或特定操作系统,那么你就可以使用。我甚至使用这种方式用Expo进行React Native的编程工作,这个过程涵盖了所有与操作系统无关的流程。

希望你能像我现在这样不再依赖于一台笔记本电脑,而享受在浏览器中编程的乐趣!

原文:https://hackernoon.com/my-laptop-independent-workflow-as-a-software-engineer-kk19320n

本文为 CSDN 翻译,转载请注明来源出处。

【END】

Python 成功登上C位,为什么逐渐与 Java 拉开差距

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

热 文 推 荐 

☞网易发“暴力裁员”内部说明;京东负责不幸员工的孩子费用到22岁;Linux kernel 5.4发布 | 极客头条

☞TPC-C 中跑赢 Oracle 的 OceanBase,双 11 处理峰值达 6100 万次/秒!

☞Python2 倒计时,还不快来掌握 Python3 酷炫的新特性? | 原力计划

☞Android 支持主线 Linux 内核指日可待?

☞网易患病员工被保安赶出公司,程序员该如何应对中年危机?

☞华为电脑终于又能搭载正版 Windows 系统了!

☞看完这篇还不了解Nginx,那我就哭了!

☞通俗易懂:8大步骤图解注意力机制

 点击阅读原文,参加中国开发者现状调查!

你点的每个“在看”,我都认真当成了喜欢

程序员是如何做到随时随地编程的?相关推荐

  1. 成为优秀程序员的方法就是抛开编程?

    原文:How To Become a Better Programmer by Not Programming 作者:Jeff Atwood 我在2006年写过一篇题为"Programmer ...

  2. 刚学编程的程序员必备这5大编程网站,你知道几个?

    一个好的网站,就是程序员学编程的基地. 虽说新手程序员也许知道一些在线编程网站,但是质量上乘的编程网站又知道几个呢? 下面就来给大家推荐5个质量上乘的编程网站: 0.Leetcode LeetCode ...

  3. Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》尾末附下载地址

    一.前言 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 今天给 ...

  4. 英文 程序员编程技能描述_程序员最重要的非编程技能

    英文 程序员编程技能描述 by Ali Spittel 通过Ali Spittel 程序员最重要的非编程技能 (The most important non-programming skills fo ...

  5. 为什么中国程序员非要用英文编程,而不用汉字编程

    为什么中国程序员非要用英文编程,而不用汉字编程? 看完下面这个视频 你就知道啦 编程是编写程序的中文简称,在21世纪的互联网时代,计算机使用越来越广泛,编程也是一大热门.而大家都知道现在的编程软件都是 ...

  6. 程序员如何避免面向监狱编程?避免踩雷!

    △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 233篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 最近,有很多关于程序员 ...

  7. 黑马程序员_java高级篇网络编程TCP实战Day8(上)

    ---------------------ASP.Net+Android+IOS开发.Net培训.期待与您交流! ----------- 黑马程序员_java高级篇网络编程TCP实战Day8(上) ( ...

  8. 刚学编程的程序员必备这5大编程网站,你知道几个? 1

    一个好的网站,就是程序员学编程的基地. 虽说新手程序员也许知道一些在线编程网站,但是质量上乘的编程网站又知道几个呢? 下面就来给大家推荐5个质量上乘的编程网站: 0.Leetcode LeetCode ...

  9. 程序猿之歌 PHP,程序员之歌:一人我编程累

    程序员之歌:一人我编程累 2017-03-31 13:38:21 1267 views 全套歌词如下: 白:全新的一年,为大家带来一首~ 一人我编程累 碎过了节操心沉醉 两眼是 Code 相随 不求他 ...

最新文章

  1. 消息延迟队列处理拼团时间到期
  2. 暴力枚举 UVA 725 Division
  3. RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统
  4. 采用dlopen、dlsym、dlclose dlopen dlerror加载动态链接库【总结】
  5. solaris10找安装包的地方
  6. vue中slot(插槽)详解,slot、slot-scope和v-slot
  7. 【NGN学习笔记】5 IMS技术
  8. 简单介绍日志的发展历史
  9. 2504(多项式求和)
  10. mysql字段使用timestamp类型和默认值CURRENT_TIMESTAMP表示默认为时间,类似mssql的getdate()功能;字段自增...
  11. php支持cs吗,关于composer、phpmd和phpcs于windows中的安装与使用方法
  12. ACID中C与CAP定理中C的区别
  13. Oracle从零开始3——复杂查询
  14. Reveal v4(8796) 使用
  15. 新浪微博登陆以及发送微博(附python源码)
  16. 转载:常用CSS缩写语法总结
  17. PIO导出Excel 设置样式
  18. 主机连接wifi,如何设置虚拟机上网方式
  19. Stratified Transformer复现和调试记录,ubuntu20复现S3DIS数据集(点云语义分割)
  20. 1269: 爱看电视的LsF+遥控器 dfs+剪枝

热门文章

  1. gpg: no valid OpenPGP data found. 解决办法
  2. [已破案] 镜像出问题了
  3. 全国高等院校英语能力大赛模拟题
  4. Pytorch-torchvision源码解读:ASPP
  5. mysql存储过程灌数据_【mysql实战】存储过程灌入一百万数据
  6. 英语4级口语是计算机评分吗,2017年11月英语四级口语评分标准
  7. 穿越剧_零差评的5部穿越剧,少有的巅峰之作,第一堪称穿越鼻祖!
  8. 天池学习赛:工业蒸汽量预测5——特征优化
  9. tf.Variable,tf.get_variable,tf.variable_scope,tf.name_scope区别分析
  10. 2021年中国再生纱市场趋势报告、技术动态创新及2027年市场预测