除了功能强大的笔记本电脑、超快的互联网连接和智能 IDE 之外,其他重要工具可以对我们产生的结果产生更大的影响。
曾经,伟大的美国总统亚伯拉罕林肯说:
“给我六个小时砍一棵树,我会用前四个小时磨斧头。”
这也是我们工作中必不可少的贸易工具。我可以根据个人经验告诉您,在低预算笔记本电脑上编写 JavaScript 是一回事,而在 Mac Pro 上编写则完全不同。但除了功能强大的笔记本电脑、超快的互联网连接和智能 IDE 之外,其他重要工具可以对我们产生的结果产生更大的影响。
这些是我们将在接下来的几段中讨论的内容。因此,事不宜迟,让我们从我经常“停靠”的七个中的第一个开始:
1. 一个释放我们的创造力并以有趣的方式学习的游乐场
我不记得自 2006 年以来有哪一段时间(无论多短)我没有某种“副项目”。我一直至少有一个个人博客(除了我之外没人看)。这就是我学会使用脚本语言的方式。这就是我进入网络开发领域的方式。我发布了一个关于如何使用 3D Studio Max 制作不同动画的博客。但是 3D 建模不是我的领域。
事实证明,建立网站更让我感兴趣,所以它很快成为我多年来的关注点。虽然我还没有建立一个“成功的”个人网站,但我并不后悔我在大量很酷的副项目上投入的所有时间和精力。这是一次充满新技术的奇妙体验,当我采用它们时,多巴胺接连爆发。所有这一切使我成为了一个体面的全栈开发人员。因此,总是试验和重构我最新的个人项目使它成为让我保持快乐和竞争力的工具。我真的无法想象没有它我的工作生活。
2. 用于测试和调试来自后端的响应的 API 客户端
可能有很多这样的工具,但我仍在使用Postman的免费版本。每次我构建不同的API和 Web 应用程序时,它都对我有很大帮助。我不记得 2010-2012 年之前是否有 API 客户端,但即使有,它们也可能缺少现代客户端现在拥有的许多便利功能。我在那里!我体验过创建和测试 AJAX 调用是多么乏味。
更糟糕的是,我什至在jQuery 进入舞台之前就有学习和使用异步 JavaScript 和 XML 的故事,所以我一直惊讶于今天 JavaScript 开发人员的生活是多么轻松。而不是因为我们开发更简单的应用程序。这与事实相去甚远。但是因为我们不处理枯燥、重复、难以阅读、难以遵循和难以调试的代码,其目的是对用户体验进行一些微小的改进。谢天谢地,JavaScript 发展了这么多,成为一种编程语言和整个生态系统。感谢上帝,有像 Postman 这样的 API 客户端。
3. 方便数据库管理和Web开发的DB Client
多年来,我所知道的唯一数据库客户端是 PHPMyAdmin。因为早年主要使用PHP作为后端技术,所以从一开始就对这类工具有很深的依赖。大约在那个时候,我不太擅长使用命令行,所以上面的网络工具图形界面对我来说是必需的。如您所知,根深蒂固的习惯很难改变或放弃。
现在我使用 DBeaver 的社区版本,它允许您输入到多个数据库的多个连接,因此您的PostgreSQL 或MySQL 表总是一键即可。可能前端开发人员不需要这样的工具。他们很少处理与该 Web 开发领域相关的任务和问题。但是如果你有任何你负责所有事情的业余项目,那么像 DBeaver (SQL) 或 MongoDB Compass (NoSQL) 这样的应用程序是真正的节省时间(在某些情况下甚至是救命稻草)。
4. 笔记应用程序:为您提供最好的无代码工具
我是 Evernote 的超级用户。它为我保留了超过 12,300 个笔记。在彻底检查之前,我什至不愿意放弃其中的任何一个。
是的,我是一个记笔记的瘾君子。但我的 Evernote 对我来说就像第二个大脑。它会记住我的 DevOps 秘诀、云和终端命令、重要的代码片段、想法、见解、著作、书籍摘录、商业计划以及 Sun 下的所有其他内容,以及保存的网页。这些东西中超过 80% 的内容我多年未读。但千载难逢的时候,我会决定复习我的笔记以寻找一个感兴趣的话题,并且在我刚刚重新发现的金矿之前保持沉默。
大量的多巴胺爆发。在这种情况下,我将有价值的东西复制到与相关新项目相关的新笔记中,并觉得自己拥有不公平的优势。另外,我是一个有很多“恶习”的人。我对网络开发、JavaScript 开发、PHP 开发、WordPress 开发、博客、搜索引擎优化、PPC 广告、内容营销、文案写作、直接反应营销、论文写作、喜剧写作、笑话写作、自由职业等等感兴趣。
说实话,我对所有这些都充满热情!但有时我会忘记其中的一些,后来 - 当我再次有心情玩耍时,我的笔记帮助我快速进入心流状态。所以 Evernote、Notion、Onenote 或 Google Keep……这些都是无价的个人知识库。
5. 终端:最高和最强大的终端
“如果连终端机都不会用,他算什么程序员?” – 我曾经无意中听到有人问。那家伙没有谈论我,但我觉得受到了侮辱,因为我也没有使用终端。虽然我不是处女,你知道的。我有点老了,所以我看到的第一台电脑没有安装 Windows 或 macOS。这是一种名为“Pravetz”的保加利亚产品。后来,我的堂兄有幸拥有了一台康柏电脑。所有这些都安装了不同版本的 DOS,所以如果不了解一些命令,就无法有效地使用它们。
但是我并没有坚持使用命令行。在无意中听到这个问题的时候,还没有 Git 或 NPM。没有持续集成或云服务。看在上帝的份上,我曾经通过 FTP 上传我的网站!我没有 SSH 访问服务器的权限。我没有使用Linux。我没有使用版本控制系统。我周围没有人这样做……除了那些不会在 JavaScript 或 PHP 等“玩具语言”上浪费时间的“真正的程序员”。那就是我多大了。
但如今,这是一个完全不同的故事。今天,如果您不知道如何有效地使用终端,您就无法成为一名高效的 Web 开发人员。所以我发现它的强大和荣耀有些晚,但它很快成为我工作生活中不可或缺的一部分。
6. 为所有我懒得“记住”的东西预先提交钩子
我真的很喜欢这个条目......
在现代 JavaScript 开发中,我们必须遵循定义明确的约定并应用严格的编码风格。我们必须每天晚上承诺。一定要经常拉主枝。每个提交都必须有一条采用批准格式的相关消息。我们必须编写和运行单元测试、端到端测试和回归测试。
等等等等…
除了编写新应用程序功能的代码之外,我们还需要做很多“办公室工作”,以至于有时……只是有时……我们决定没有时间去做。或者我们“忘记了”。或者我们心情不好。或者它是必须尽快部署的“热修复程序”!
所以我喜欢预提交挂钩。它们常常使我们免于出现拼写错误或代码遗留等小尴尬。有时他们允许我们在生产服务器上运行之前捕获错误。他们总是,总是有效地对抗我们忘记那些让我们厌烦至死的事情的倾向。我绝对更喜欢充满预先承诺钩子的工作生活。
7. 个人图书馆:世界真正的触手可及之处之一
这个“工具”是迄今为止对我的工作影响最大的。我不了解你,但当我真正认真地学习新技术、提高我的编码技能或研究如何完成某件事时,我总是会寻找有价值的教程、文档和书籍。当我们谈论快速吸收信息时,“书面文字”没有竞争,同时,您不会被剥夺深刻的见解和讨论。
最好的部分是什么?您可以浏览内容并吸收新的知识点——无需浪费时间阅读重复信息或传统智慧。这就是为什么我喜欢收集书籍,而不是因为我没有很多在线课程。我也收集它们。如果说在我的工作领域中有什么东西是我无法真正生存的,那就是我的成熟头衔库。
我清楚地记得我是如何学习编码的。我正在用我简单的英语阅读复杂的软件主题。在我理解它们之前,我不得不重读九到十遍。我经常花几个小时思考这个人(作者)在说什么。不知何故,我做到了!我成为了一名网络开发人员——这是我有史以来的第一个重大成就,为我打开了通往繁荣的大门。所以难怪现在我非常尊重书面文字,我收藏的各种主题的书籍是我在这个世界上真正的财富之一。
结论
我在这篇文章的开头引用了亚伯拉罕林肯的话,这句话告诉我们良好准备和工具的重要性。但还有一种说法……
“坏工人总是责怪他们的工具。”
是的,我们都喜欢与最新的笔记本电脑、应用程序、框架和库打交道。有时我们甚至无法与装备比我们更好的人竞争。这就是为什么投资新“玩具”是值得的,我的一个女朋友曾这样称呼它们。
在这篇简短的文章中,我谈到了几个我无法想象没有它们的“必备品”。
但我们永远不要忘记:它们只是一种扩展,可以增强我们自己的知识和技能。