解决Javascript疲劳的方法-以及其他所有疲劳

Learn your fundamentals, and never worry again.

了解您的基础知识,再也不用担心。

新工具让我担心 (New Tools Worry Me)

When JavaScript's shiny tool of the day comes out, I sometimes overreact.

当JavaScript一天一度的闪亮工具问世时,我有时React过度。

learn-or-lose-job-1

And after 15 minutes of my imagination running wild, the urge to explore it becomes unbearable.

经过15分钟的想象力狂奔之后,去探索它的渴望变得难以忍受。

Doesn't matter what tool, it's all the same story.

不管使用哪种工具,都是一样的故事。

  • I must learn this technology!

    我必须学习这项技术!
  • I need every advantage in this competitive job market!

    在这个竞争激烈的就业市场中,我需要一切优势!
  • I have to stay relevant, right?!

    我必须保持相关性,对吧?

i-must-learn-it

Well yes, but no.

是的,但是没有。

我的前辈从不担心 (My Seniors Never Worry)

Sometimes I'll share this sentiment with senior developers in the office, and get a standard reaction from them.

有时,我会与办公室的高级开发人员分享这种想法,并从他们那里得到标准的回应。

another-tool-so-what-lol

After enough encounters like this, I began thinking...

经过如此多次的相遇之后,我开始思考...

为什么会有所不同? (Why the Difference?)

Why do I anxiously pounce on today's top tool, seemingly doomed to repeat this forever...

为什么我急切地挑战今天的顶级工具,似乎注定要永远重复下去……

maybe-i-can-learn-it-before-the-next-one

While my seniors calmly let the JavaScript storms pass, picking tools up as needed?

当我的前辈冷静地让JavaScript风暴过去时,可以根据需要选择工具吗?

seniors-are-quick-learners

It's because they see common threads among these tools. To them, even after all these years, the landscape isn't so different.

这是因为他们看到了这些工具之间的共同点。 对于他们来说,即使经过了这些年,情况也没有太大不同。

Where do these common threads come from? The fundamentals.

这些通用线程从何而来? 基本面。

一切都在基础 (It's All in the Fundamentals)

The best developers I've met aren't phased by JavaScript's light-speed evolution. They aren't exhausted from JavaScript fatigue because they dropped out of that race.

我遇到的最好的开发人员并没有被JavaScript的光速演进所分阶段。 他们并没有因为JavaScript疲劳而筋疲力尽,因为他们退出了比赛。

cant-get-fatigued-if

Instead of learning frameworks to boost their careers, they focused on the fundamentals and skyrocketed their careers.

他们没有学习促进职业发展的框架,而是专注于基础知识并推动了职业的飞速发展。

Your favorite framework can plummet one day, and you'll eventually have to pick up another one.

您最喜欢的框架可能会在一天内暴跌,最终您将不得不选择另一框架。

But the fundamentals are evergreen. They date back to computer science resources from decades ago. No matter the age, these principles still make up the foundation of computing.

但是基本面是常绿的。 它们可以追溯到几十年前的计算机科学资源。 无论年龄多大,这些原则仍然构成了计算的基础。

This tweet I stumbled across sums it up perfectly.

我偶然发现的这个推文完美地总结了它。

Reading computing papers from the 50s, 60s, and 70s is like digging in an archeological site and finding a sonic screwdriver.

— -=fogus=- (@fogus)

从50年代,60年代和70年代阅读计算机论文,就像在考古现场中挖掘并找到声音螺丝刀一样。

--= fogus =-(@fogus)

June 4, 2019

2019年6月4日

We're all just building on the groundwork established a long, long time ago.

我们都只是建立在很久以前建立的基础上。

什么是基本原理? (What Are the Fundamentals?)

yoda-fundamentals

This isn't a comprehensive list, but whoever tackles it will become an amazing programmer. It'll keep you busy for years to come.

这不是一个完整的列表,但是解决它的人将成为一个了不起的程序员。 它将使您在接下来的几年中保持忙碌状态。

  • Learning multiple programming languages

    学习多种编程语言
  • Algorithms and data structures

    算法和数据结构
  • Design patterns

    设计模式
  • Anti-patterns

    反模式
  • Application architecture

    应用架构

学习多种编程语言 (Learning multiple programming languages)

Languages solve problems in different ways. None of them are perfect, that's why we have so many.

语言以不同的方式解决问题。 他们都不是完美的,这就是为什么我们有那么多。

If you're doing JavaScript, get uncomfortable by learning C#. If you really want to push yourself, try Haskell.

如果您使用的是JavaScript,请通过学习C#感到不舒服。 如果您真的想推动自己,请尝试Haskell。

Compare the solutions each language offers. The more you tackle, the faster you'll learn new things because they all draw from each other.

比较每种语言提供的解决方案。 您处理的越多,学习新事物的速度就越快,因为它们相互借鉴。

算法和数据结构 (Algorithms and data structures)

lets-skip-algorithms

People love hating on this topic.

人们喜欢这个话题。

  • "When will I need this?"

    “我什么时候需要这个?”
  • "This is useless."

    “这没用。”
  • "CS degrees are a waste of money."

    “ CS学位是浪费金钱。”

You may never need them, but that doesn't make learning algorithms and data structures a bad investment.

您可能永远都不需要它们,但这不会使学习算法和数据结构成为不良的投资。

As an IT major, part of me wishes I could go back and take some CS courses, especially algorithms and data structures. The power I felt after learning them was amazing. It's like putting on glasses you never knew you had!

作为IT专业的学生,​​我希望我能回去上一些CS课程,尤其是算法和数据结构。 学习它们后,我感到的力量是惊人的。 就像戴上你不知道的眼镜一样!

i-know-binary-trees

The biggest benefit, in my opinion, is improved problem-solving skills.

我认为最大的好处是提高了解决问题的能力。

The ability to calm down, walk to a notebook/whiteboard, and work towards a solution is an asset that'll save you countless hours of frustrated hacking.

冷静下来,走到笔记本/白板上并努力寻求解决方案的能力是一项资产,可为您节省无数小时的沮丧黑客攻击。

Before that I'd gallop into the editor like a classic coding cowboy, code myself into a corner, and then try to figure out a good solution.

在那之前,我像经典的编码牛仔一样奔向编辑器,将自己编码到一个角落, 然后尝试找出一个好的解决方案。

设计模式 (Design patterns)

From Addy Osmani's brilliant book- Learning JavaScript Design Patterns

摘自Addy Osmani的精彩著作-学习JavaScript设计模式

A pattern is a reusable solution that can be applied to commonly occurring problems in software design...

模式是一种可重用的解决方案,可以应用于软件设计中常见的问题。

These battle-tested solutions have stood the test of time. Learning them helps you write code that is more familiar and maintainable to other developers.

这些经过考验的解决方案经受了时间的考验。 学习它们可以帮助您编写对其他开发人员更熟悉和可维护的代码。

You may not have realized it, but modern JavaScript stacks leverage popular design patterns.

您可能没有意识到,但是现代JavaScript堆栈利用了流行的设计模式。

  • Bundlers like Webpack and Parcel let you use the Module pattern to separate JavaScript into organized files.

    诸如Webpack和Parcel之类的捆绑软件可让您使用“ 模块”模式将JavaScript分成组织好的文件。

  • Libraries like RxJS and Redux use the Observer pattern to send and receive "notifications".

    RxJS和Redux之类的库使用Observer模式发送和接收“通知”。

  • Libraries like React-Redux and Recompose let you enhance your components, otherwise known as the Decorator pattern.

    像React-Redux和Recompose这样的库使您可以增强组件,也称为Decorator模式

反模式 (Anti-patterns)

If design patterns are so good that we should share them, anti-patterns are so bad that we should warn against them.

如果设计模式是如此之以至于我们应该共享它们,那么反模式就如此之以至于我们应该警告它们。

anti-vs-design-patterns

Pulling from Addy Osmani's book again, here are some common JavaScript anti-patterns.

再次从Addy Osmani的书中摘录,这里是一些常见JavaScript反模式。

  • Defining many global variables

    定义许多全局变量
  • Modifying the Object class prototype

    修改Object类原型

  • Using document.write

    使用document.write

  • Using inline JavaScript. For example...

    使用内联JavaScript。 例如...
<!-- Inline JavaScript anti-pattern -->
<a href="#" onclick="alert('Hi')">Click Me</a>

应用架构 (Application architecture)

Here's where the acronyms go crazy

这是缩写词发疯的地方

  • MVC (Model-View-Controller)

    MVC(模型-视图-控制器)
  • MVP (Model-View-Presenter)

    MVP(模型视图呈现器)
  • MVVM (Model-View-ViewModel)

    MVVM(模型-视图-视图模型)
  • MVU (Model-View-Update)

    MVU(模型-视图-更新)
  • MVI (Model-View-Intent)

    MVI(模型-视图-意图)

Here's an example of MVC.

这是MVC的示例。

mvc-diagram

Their common core is separate your concerns. Most applications have a model (data) and view (UI), and it's important they not speak to each other. That's where the controller sits and it mediates their back and forth communication.

他们共同的核心是分开您的关注点 。 大多数应用程序都具有模型(数据)和视图(UI),并且重要的是它们彼此之间不要讲话。 那是控制器所在的位置,它可以调解其来回通信。

摘要-工具很棒❤️ (Summary - Tools Are Amazing ❤️)

A true marvel of software engineering. Increase your productivity by learning and enjoying them!

软件工程的真正奇迹。 通过学习和享受它们来提高生产力!

But don't forget your fundamentals.

但不要忘记您的基本知识。

  • Learning multiple programming languages

    学习多种编程语言
  • Algorithms and data structures

    算法和数据结构
  • Design patterns

    设计模式
  • Anti-patterns

    反模式
  • Application architecture

    应用架构

I leave you with one last tweet.

我最后一条推文给你。

Frameworks are the leaves of an enormous tree called Computer Science.Study the 🌲, not just the 🍃, to deeply root your foundation as a software developer.Soon enough, you’ll connect so many dots that “new” tech won’t scare you anymore.

— Yazeed Bzadough (@yazeedBee)

框架是一棵巨大的树的叶子,这棵树叫做“计算机科学”。研究🌲不仅要研究to,还要深深扎根您作为软件开发人员的基础。很快,您将连接很多点,以至于“新”技术不会吓到您。你了。

-Yazeed Bzadough(@yazeedBee)

August 14, 2019

2019年8月14日

谢谢阅读 (Thanks for reading)

For more content like this, check out https://yazeedb.com. And please let me know what else you'd like to see! My DMs are open on Twitter.

有关此类的更多内容,请访问https://yazeedb.com 。 并且,请让我知道您还想看到什么! 我的DM在Twitter上打开。

Until next time!

直到下一次!

翻译自: https://www.freecodecamp.org/news/the-cure-to-js-fatigue/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391112.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

已知两点坐标拾取怎么操作_已知的操作员学习-第4部分

已知两点坐标拾取怎么操作有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU’s YouTube Lecture “Deep Learning”. This is a full transcript of the lecture video & matching slides. We hope, you enjoy this as mu…

北京供销大数据集团发布SinoBBD Cloud 一体化推动产业云发展

9月5日&#xff0c;第五届全球云计算大会在上海世博展览馆盛大开幕&#xff0c;国内外顶尖企业汇聚一堂&#xff0c;新一代云计算技术产品纷纷亮相。作为国内领先的互联网基础服务提供商&#xff0c;北京供销大数据集团(以下简称“SinoBBD”)受邀参加此次大会&#xff0c;并正式…

“陪护机器人”研报:距离真正“陪护”还差那么一点

一款有“缺陷”的机器人&#xff0c;怎能做到真正的“陪护”&#xff1f; 近日&#xff0c;鼎盛智能发布了一款名为Ibotn的&#xff08;爱蹦&#xff09;幼儿陪伴机器人&#xff0c;核心看点就是通过人脸识别、场景识别等计算机视觉技术来实现机器人对儿童的陪护。不过&#xf…

【转】消息队列应用场景

一、消息队列概述 消息队列中间件是分布式系统中重要的组件&#xff0c;主要解决应用耦合&#xff0c;异步消息&#xff0c;流量削锋等问题。实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境&#xff0c;…

lime 模型_使用LIME的糖尿病预测模型解释— OneZeroBlog

lime 模型Article outline文章大纲 Introduction 介绍 Data Background 资料背景 Aim of the article 本文的目的 Exploratory analysis 探索性分析 Training a Random Forest Model 训练随机森林模型 Global Importance 全球重要性 Local Importance 当地重要性 介绍 (Introd…

Linux第三周作业

1.三个法宝 ①存储程序计算机工作模型&#xff0c;计算机系统最最基础性的逻辑结构&#xff1b; ②函数调用堆栈&#xff0c;堆栈完成了计算机的基本功能&#xff1a;函数的参数传递机制和局部变量存取 &#xff1b; ③中断&#xff0c;多道程序操作系统的基点&#xff0c;没有…

RESTful API浅谈

2019独角兽企业重金招聘Python工程师标准>>> 上半年时候&#xff0c;部门有组织的讨论了一下实践微服务的技术话题&#xff0c;主要内容是SOA服务和微服务各自的优势和难点&#xff0c;其中有提到关于RESTful API设计方法。 正好最近在深入的学习HTTP协议&#xff0…

变量的作用域和生存期:_生存分析简介:

变量的作用域和生存期:In the previous article, I have described the Kaplan-Meier estimator. To give a quick recap, it is a non-parametric method to approximating the true survival function. This time, I will focus on another approach to visualizing a surviv…

您的网卡配置暂不支持1000M宽带说明

国内宽带网速越来越快&#xff0c;运营商更是在今年初纷纷推进千兆宽带业务。为了让用户更好地了解网络状况&#xff0c;360宽带测速器发布新版&#xff0c;优化了宽带测速范围&#xff0c;可有效支持最高1000&#xff2d;的带宽测量。此外&#xff0c;宽带测速器能检测用户网卡…

永无止境_永无止境地死:

永无止境Wir befinden uns mitten in der COVID-19-Pandemie und damit auch im Mittelpunkt einer medialen Geschichte, die durch eine noch nie dagewesene Komplexitt und Dynamik gekennzeichnet ist. Wie kann Informationsdesign helfen, diese Explosion von Nachrich…

HDU4612 Warm up —— 边双联通分量 + 重边 + 缩点 + 树上最长路

题目链接&#xff1a;http://acm.split.hdu.edu.cn/showproblem.php?pid4612 Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 7206 Accepted Submission(s): 1681 Problem DescriptionN planets are …

吴恩达神经网络1-2-2_图神经网络进行药物发现-第1部分

吴恩达神经网络1-2-2预测溶解度 (Predicting Solubility) 相关资料 (Related Material) Jupyter Notebook for the article Jupyter Notebook的文章 Drug Discovery with Graph Neural Networks — part 2 图神经网络进行药物发现-第2部分 Introduction to Cheminformatics 化学…

论文搜索源

中国科学院文献情报中心 见下图 中国计算机学会推荐国际学术会议和期刊目录 EI学术会议中心,        engieer village 转载于:https://www.cnblogs.com/cxy-941228/p/7693097.html

重学TCP协议(10)SYN flood 攻击

1.SYN flood 攻击 SYN Flood&#xff08;半开放攻击&#xff09;是一种拒绝服务&#xff08;DDoS&#xff09;攻击&#xff0c;其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量。通过重复发送初始连接请求&#xff08;SYN&#xff09;数据包&#xff0c;攻击者能…

python 数据框缺失值_Python:处理数据框中的缺失值

python 数据框缺失值介绍 (Introduction) In the last article we went through on how to find the missing values. This link has the details on the how to find missing values in the data frame. https://medium.com/kallepalliravi/python-finding-missing-values-in-…

Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考) - 推荐

http://blog.csdn.net/lc0817/article/details/53266212/ https://github.com/leoChaoGlut/log-sys 上面是我基于Spring Cloud ,Spring Boot 和 Docker 搭建的一个分布式日志系统. 目前已在我司使用. 想要学习Spring Cloud, Spring Boot以及Spring 全家桶的童鞋,可以参考学习,如…

51nod1832(二叉树/高精度模板+dfs)

题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId1832 题意: 中文题诶~ 思路: 若二叉树中有 k 个节点只有一个子树, 则答案为 1 << k. 详情参见:http://blog.csdn.net/gyhguoge01234/article/details/77836484 代码: 1 #include <iostream&g…

重学TCP协议(11)TFO(Tcp Fast Open)

1. TFO 为了改善web应用相应时延&#xff0c;google发布了通过修改TCP协议利用三次握手时进行数据交换的TFO(TCP fast open&#xff0c;RFC 7413)。 TFO允许在TCP握手期间发送和接收初始SYN分组中的数据。如果客户端和服务器都支持TFO功能&#xff0c;则可以减少建立到同一服…

外星人图像和外星人太空船_卫星图像:来自太空的见解

外星人图像和外星人太空船By Christophe Restif & Avi Hoffman, Senior Software Engineers, Crisis Response危机应对高级软件工程师Christophe Restif和Avi Hoffman Editor’s note: In 2019, we piloted a new feature in Search SOS Alerts for major California wild…

棒棒糖 宏_棒棒糖图表

棒棒糖 宏AKA: lollipop plot又名&#xff1a;棒棒糖情节 WHY: a lollipop chart (LC) is a handy variation of a bar chart where the bar is replaced with a line and a dot at the end. Just like bar graphs, lollipop plots are used to make comparisons between diff…