javascript_JavaScript疲劳疲劳
javascript
“The Universe is under no obligation to make sense to you.” — Neil deGrasse Tyson
“宇宙没有义务对您有意义。” —尼尔·德格拉斯·泰森
Yes, JavaScript development is complicated.
是的,JavaScript开发很复杂。
Yes, it will continue to get more complicated.
是的,它将继续变得更加复杂。
The web is a complicated place. We are finally getting around to doing all the things we should have been doing all along.
网络是一个复杂的地方。 我们终于开始做所有我们应该一直做的事情。
As a result, JavaScript tools — and there are a lot of them — are rapidly evolving.
结果,JavaScript工具(其中有很多)正在Swift发展。
If this evolutionary process frustrates you, blow off some steam by reading this parody of how complicated JavaScript development has become:
如果这个演进过程使您感到沮丧,请阅读以下有关JavaScript开发变得多么复杂的模仿文章,以发泄一些精力:
How it feels to learn JavaScript in 2016Edit: Thanks for pointing typos and mistakes, I’ll update the article as noted. Discussion in HackerNews and Reddit.hackernoon.com
在2016年学习JavaScript的感觉 编辑:感谢您指出错别字和错误,我将按照说明更新本文。 HackerNews和Reddit中的讨论。 hackernoon.com
Which is a parody of another article about how complicated DevOps has gotten:
这是另一篇关于DevOps变得多么复杂的文章的模仿:
It's The FutureHey, my boss said to talk to you - I hear you know a lot about web apps?-Yeah, I'm more of a distributed systems guy…circleci.com
是未来。 嘿,我的老板说要和您交谈-听说您对Web应用程序了解很多吗?-是的,我更像是一个分布式系统专家…… circleci.com
But don’t lose sight of the reason why JavaScript development is so complicated: web development itself is inherently complicated.
但是不要忘记JavaScript开发如此复杂的原因: Web开发本身就具有内在的复杂性。
We are trying to build applications that run right in a dozen browsers, look good on thousands of different devices, load fast enough for impatient commuters in the subway, and are still accessible enough that blind people can use them.
我们正在尝试构建可在十二种浏览器中运行的应用程序,在数千种不同的设备上看起来不错,加载速度足够快,以适应地铁中急躁的通勤者,并且仍然足够方便盲人使用它们。
At the same time, web developers are closing security vulnerabilities all over the place.
同时,Web开发人员正在各地关闭安全漏洞。
We’re lobbying management to abandon bad practices (the average web page is now as many megabytes as the 1993 game DOOM).
我们正在游说管理层放弃不良做法(现在的平均网页大小与1993年的DOOM游戏一样多 )。
We’re adapting to browser-based ad block software that blocks a heck of a lot more than just ads.
我们正在适应基于浏览器的广告拦截软件,该软件拦截的内容不仅仅限于广告。
There are many viable ways to accomplish all of these goals. And a large ecosystem of tools has cropped up — each attacking different problems from different angles.
有许多可行的方法可以实现所有这些目标。 庞大的工具生态系统已经兴起,每种工具都从不同的角度攻击不同的问题。
As the creator of the Extreme Programming methodology said back in 1983:
正如极限编程方法论的创建者在1983年所说:
“Make it work, make it right, make it fast.” — Kent Beck
“使它起作用,使其正确,使其快速。” 肯特·贝克
Well, for the past 20 years, we focused on making the web work. With duct tape and popsicle sticks when we had to.
好吧,在过去的20年中,我们专注于使网络正常工作。 当我们不得不用胶带和冰棍棍棒时。
JavaScript Developers are finally getting the caliber of tools that other ecosystems have had for a long time. And then some. We should be happy about this.
JavaScript开发人员终于获得了其他生态系统长期以来所拥有的各种工具。 然后还有一些。 我们对此应该感到高兴。
The Cambrian explosion of tools you see around you is what rapid progress looks like when it’s not controlled by an Apple or a Microsoft.
当您不受周围环境的控制时,发生的寒武纪爆炸式增长就是不受苹果或微软控制的情况。
Everyone’s scrambling to make it right, and to make it fast, all at once.
每个人都争先恐后地做到正确,并使其Swift。
This web comic perfectly illustrates the struggle between those of us who have “JavaScript Fatigue” and those of us who have, as Dr. Axel Rauschmayer put it earlier this year, “JavaScript Fatigue Fatigue.”
该网络漫画完美地说明了我们这些人之间的“ JavaScript疲劳”与我们今年早些时候的 Axel Rauschmayer博士所说的 “ JavaScript疲劳疲劳”之间的斗争。
We’re doing our best to provide constructive advice for deciding among the wide variety of tools. We’re steering new developers away from unproven tools. We’re reminding them that being a developer is hard, and that learning new tools is a big part of the job.
我们正在竭尽所能,以提供建设性的建议,以决定使用各种工具。 我们正在引导新的开发人员远离未经验证的工具。 我们提醒他们, 作为开发人员很难 ,学习新工具是工作的重要组成部分。
If you’re new to JavaScript, remember that all of these new tools are very much a good thing. The open source npm ecosystem is very much a good thing.
如果您不熟悉JavaScript,请记住所有这些新工具都是一件好事。 开源npm生态系统非常好。
They will make you a happier, more powerful developer.
他们将使您成为一个更快乐,更强大的开发人员。
They will help you better serve your end users.
他们将帮助您更好地为最终用户服务。
And if you’re one of the many devs going through JavaScript Fatigue yourself, and are worried that you might burn out, well:
而且,如果您是经历JavaScript疲劳的众多开发人员之一,并担心自己可能会精疲力尽,那就:
“If you’re going through hell, keep going.” — Winston Churchill
“如果你正在经历炼狱,那就继续吧。” - 温斯顿·丘吉尔
I only write about programming and technology. If you follow me on Twitter I won’t waste your time. ?
我只写关于编程和技术的文章。 如果您在Twitter上关注我,我不会浪费您的时间。 ?
翻译自: https://www.freecodecamp.org/news/javascript-fatigue-fatigue-66ffb619f6ce/
javascript
相关文章:

TCP/IP基础概念及通信过程举例
TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络。后来为了验证分组交换技术的实用性,ARPANET出现了,并且在3年内逐渐发展,由4个节…

iOS 利用dSYM定位crash
What is dSYM ? xCode 的每一次编译都会生成一个dsym文件,在其内部存储了16进制函数地址的映射。 在App实际执行的二进制文件中,是通过地址来调用方法,所以在App Crash 的时候,第三方工具会抓到函数崩溃调用栈。 通过…

OCP-052 053部分答案解析
OCP~052 9. GRANT ANY OBJECT PRIVILEGE(授予任何对象权限):允许被授权人将其本身不拥有的对象的对象权限授予他人,但不能授予自己。 10. ENABLE VALIDATE 无法输入违反约束的行,而且表中的所有行都符合约束 DISABLE NOVALIDATE 可以输入任何…

您的用户界面是您产品不会因心灵感应而谦卑的补偿
by Morten Just由Morten Just 您的用户界面是您产品不会因心灵感应而谦卑的补偿 (Your UI is your product’s humble compensation for not being telepathic) 拿一些产品,然后继续问“这是要补偿什么?” 最终您将得到相同的答案。 这个答案可能就是为…

9、 Struts2验证(声明式验证、自定义验证器)
1. 什么是Struts2 验证器 一个健壮的 web 应用程序必须确保用户输入是合法、有效的.Struts2 的输入验证 基于 XWork Validation Framework 的声明式验证:Struts2 提供了一些基于 XWork Validation Framework 的内建验证程序. 使用这些验证程序不需要编程, 只要在一个…

java中使用队列:java.util.Queue
在java5中新添加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来添加元素,使用poll()来获取并移出元素。它们的优点是通过…

xCode BuildSetting 设置
一 编译选项设置 1 Optimization Level 编译器的优化级别 编译策略是对代码编译过程的优化,优化后的代码效率比较高,但是可读性比较差,且编译时间更长。 release模式设置为Fastest, Smallest[-Os] Debug模式设置为None 设置参数None编译器不会尝试优…

react绑定this_React绑定模式:处理“ this”的5种方法
react绑定thisJavaScript’s this keyword behavior has confused developers for ages.JavaScript的this关键字行为使开发人员困惑了很长时间。 There are at least five ways to handle the this context in React. Let’s consider the merits of each approach.在React中至…

php 文件限速下载代码
<?php include("DBDA.class.php"); $db new DBDA(); $bs $_SERVER["QUERY_STRING"]; //获取由提交界面传过来的参数 $bss substr($bs,3); //截取 后面的值$sql "select video from shangpin where id{$bss}"; //获取视频文件路径 $s…

【Java】Linux下安装配置Oracle JDK 1.7版本
1 环境 Vmware虚拟机中的Ubuntu 12.04 32位系统 2具体安装步骤 ①下载最新的jdk包 注意jdk区分32位版本和64位版本,要与Ubuntu兼容才行 下载地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html ②创建一个目录,…

Swift 换肤方案的实现使用SwiftTheme框架
SwiftTheme 框架进行换肤 本地创建多个plist文件 设置不同图片颜色数组 飞机票 demo Foundationimport SwiftTheme// 创建一个枚举类型进行换肤 enum ChangeTheme:Int {case theme1 0;case theme2 1;case theme3 2;// 创建一个静态方法去换肤 去加载本地的plist文件stati…

linux生日_代码简介:让我们用25个Linux事实来庆祝Linux的25岁生日。
linux生日Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事: Linux is 25. Yay! Let’s celebrate with 25 stunning facts about Linux: 6 minute read Linux是25。是的! 让我们用有关…

网页中;window.onerror=function(){return!0};
在浏览网页的时候发现一段:window.οnerrοrfunction(){return!0}; 于是就顺手点了搜索,发现是被 adsafe关闭了 。 把adsafe退出就能显示了。 转载于:https://www.cnblogs.com/Tiramisu001/p/6136931.html

xib 拖关联控件的时候报Could not insert new outlet connection错误
~/Library/Developer/XCode/DerivedData 目录中删除对应的项目文件 重新打开工程即可

hdu 4901
计数dp 做不出来真是惭愧。。。 #include <cstdio> #include <cstdlib> #include <cmath> #include <stack> #include <vector> #include <sstream> #include <cstring> #include <string> #include <map> #include <…

初创企业股权架构_初创企业如何以每月不到200美元的价格利用生产级基础架构...
初创企业股权架构Before you can launch a new service, you need infrastructure. You want reliability, scalability, and many other -ilities. But you don’t want to break the bank.在启动新服务之前,您需要基础架构。 您需要可靠性,可伸缩性和许…

git review devops过程
自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file, git commit 3. git review 4. jenkins自动部署测试 5. 人工review代码,如果可以就提交并merge,…

swift判断iPhone 各种型号
// iPhoneXR let iPhoneXR:Bool __CGSizeEqualToSize(CGSize(width: 828, height: 1792), UIScreen.main.currentMode?.size ?? CGSize(width: 0, height: 0)); // iPhoneX let iPhoneX:Bool __CGSizeEqualToSize(CGSize(width: 1125, height: 2436), UIScreen.main.curr…

轻有力读后感ppt_如果您希望招聘人员认真对待您,请建立强有力的个人叙述。...
轻有力读后感pptby Garreth Dottin通过Garreth Dottin 如果您希望招聘人员认真对待您,请建立强有力的个人叙述。 (If you want recruiters to take you seriously, build a strong personal narrative.) We’ve all been there. Hunched over a desk. Scrolling th…

每天一个linux命令(10):cat 命令
cat命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 1.命令格式: cat [选项] [文件]... 2.命令…

Swift 中使用Alamofire 免证书的设置
let manager SessionManager.defaultmanager.delegate.sessionDidReceiveChallenge {session,challenge inreturn (URLSession.AuthChallengeDisposition.useCredential,URLCredential(trust:challenge.protectionSpace.serverTrust!))}

“System.Data.OracleClient.OracleConnection”已过时
处理办法: 在oracle 安装目录下 找到 Oracle.DataAccess.dll添加引用,然后 using Oracle.DataAccess.Client;其他的都不用动,即可。连接字符串中 如有 用的是 userxxx 就改成user idxxx把原来 Using 的System.Data.OracleClient去掉即可。 --…

我开发的代码,如何申请版权_代码简介:我花了3个月时间申请开发人员职位。 这是我学到的。...
我开发的代码,如何申请版权Here are three stories we published this week that are worth your time:这是我们本周发布的三个值得您关注的故事: I spent 3 months applying to jobs after a coding bootcamp. Here’s what I learned: 5 minute read 编码训练营结…

Chapter 2 Open Book——29
Which left me with nothing to do but try to not look at him…unsuccessfully. 我没什么事情可以做但是我尝试不去看他,但是失败了。 I glanced up, and he was staring at me, that same inexplicable look of frustration in his eyes. 我瞥了一眼,…

js回调与异步加载的用法
以前还是菜鸟的时候(虽然现在依然很菜 -_-|| )对异步加载与回调函数的技术无比向往,但也一直没有使用过,这次因为页面逻辑太过复杂,一堆请求逻辑,如果还是用顺序请求,页面的速度。。。 领导又要…

Swift 字符串去除换行符空格符
capitalizedLetters:大写controlCharacters:控制符 whitespacesAndNewlines:空格换行 decimalDigits:小数 letters:文字 lowercaseLetters:小写字母 uppercaseLetters:大写字母 nonBaseCharacte…

谈论源码_6,000名自由职业者谈论金钱,幸福和对未来的希望
谈论源码More than 6,000 US-based freelancers responded to a new in-depth survey. I dug through the data and pulled out the most interesting insights, which paint a picture of optimistic professionals who have taken control of their own destiny.超过6,000名美…

第一篇随笔——新的开端
新的开端 这是我第一次开通博客也是第一次在博客上写随笔,这既是博客的新开端也是JAVA学习的新开端,希望能好好经营这第一个博客~。 觉得自己专业吗?对专业的期望 对于这个问题我不得不坦然承认虽然进入信安专业已经有一年的时间了࿰…

快速入门linux系统的iptables防火墙 1 本机与外界的基本通信管理
概述 iptables是一种运行在linux下的防火墙组件,下面的介绍可以快速的学习iptables的入门使用。 特点(重要) 它的工作逻辑分为 链、表、规则三层结构。数据包通过的时候,在对应表中,规则从上向下匹配,匹配到…

iOS 根据数组中的字典的value值进行排序
NSMutableArray *resArr [NSMutableArray array];// 先把所有值的装进一个数组中NSMutableArray *valArr [NSMutableArray array];for (int i 0; i < arr.count; i ) {NSDictionary *dic arr[i];NSString * str [NSString stringWithFormat:"%-%d",dic["…