spring微服务实�_务实

spring微服务实�

There are many books, articles and presentations that have influenced the way I approach the web today. Its always been one of my favorite parts of this community: a willingness and eagerness to share what we learn with each other. So many blog posts, online publications, and presentations continually challenged me to move forward by presenting new techniques and ways of thinking about the technology I used on a daily basis.

有许多书籍,文章和演示文稿影响了我今天访问网络的方式。 它一直是这个社区中我最喜欢的部分之一:愿意和渴望彼此分享我们所学到的东西。 如此多的博客文章,在线出版物和演示文稿不断地挑战着我,要求他们提出新的技术和对我每天使用的技术的思考方式,以继续前进。

One of the ones that stands out is Nate Koechley’s “Professional Frontend Engineering” presentation (transcript and video). When he first gave the presentation in 2008, he was working at this massive company called Yahoo! and was preaching about the importance of progressive enhancement, graded browser support, and the massive scope of knowledge a professional front-end engineer needed to know.

Nate Koechley的“ Professional Frontend Engineering”演示文稿( 成绩单视频 )是其中的佼佼者。 当他在2008年首次发表演讲时,他曾在一家名为Yahoo! Yahoo!的大型公司工作。 并宣讲渐进增强功能,分级浏览器支持的重要性以及专业前端工程师需要了解的广泛知识。

I mean, just listen to some of the wisdom that is just as relevant, if not more so, today.

我的意思是,请听一些与今天同样重要(甚至更多)相关的智慧。

On the first of Yahoo’s guiding principles:

在Yahoo指导原则的第一个方面:

First is availability — this is the bedrock of building a website. If the site’s not available to people, game over, we might as well not even bother. And so our job is to make sure that everything we do is out there, working, available to everybody. This needs to be true regardless of where they are in the world, or what special circumstances they may be under — everything needs to be available and accessible. And I purposely used the word availability — you hear a lot of talk about accessibility, but availability applies to everybody, and it’s an umbrella term that encompasses accessibility also. And so I like to think about just making the sites available to everybody, whatever that entails.

首先是可用性-这是建立网站的基础。 如果该站点对人们不可用,游戏结束了,我们甚至也不会打扰。 因此,我们的工作是确保我们所做的一切都可以正常工作,所有人都可以使用。 无论它们在世界上的什么位置,或者它们处于什么特殊情况下,都必须做到这一点-一切都必须可用和可访问。 我特意使用了可用性一词-您听到了很多有关可访问性的话题,但是可用性适用于每个人,并且它是一个涵盖性术语,也包含可访问性。 因此,我想考虑让所有人都能使用这些网站,无论需要做什么。

On another Yahoo! guiding principle, richness:

在另一个Yahoo! 指导原则,丰富性:

Another thing to keep in mind about richness, as a developer, is that you’re probably not the average user. Here at Yahoo!, we sit on top of a tremendously fat internet connection – everything’s blazing fast, many of us work on brand new hardware with lots of memory — and so as we’re doing rich JavaScript development, as I’m writing lots of software that gets executed in the browser, it may work really well for us, but we need to remember that different people have different sort of equipment, and bandwidth, and so forth. And so remember that — that’s another reason to build in the layers, and to make things defensive.

作为开发人员,要记住的另一件事是,您可能不是普通用户。 在Yahoo!上,我们位于一个极其庞大的Internet连接之上–一切都在快速发展,我们中的许多人都在使用具有大量内存的全新硬件上工作–因此,在我们进行大量JavaScript开发的同时,我正在写很多东西在浏览器中执行的软件,对于我们来说可能确实运行良好,但是我们需要记住,不同的人具有不同的设备,带宽等。 因此,请记住这一点–这是建立层次结构并使事物具有防御能力的另一个原因。

On building things that are stable and future friendly:

在构建稳定且对未来友好的事物时:

The web is young; we don’t know what’s coming around the corner. We don’t know what’s going to be invented next, what technology’s coming next. And so it’s important to continually invest in stability, in strong infrastructure, in stable code, so that we have that strong platform to stand on as the next thing happens. So by focusing on stability, you’re really investing in your future, and again, preparing for that future — whatever it might bring.

网络还很年轻; 我们不知道即将发生什么。 我们不知道下一步将要发明什么,下一步将要发明什么。 因此,不断投资于稳定性,强大的基础架构和稳定的代码非常重要,这样我们就可以在下一个事件发生时拥有强大的平台。 因此,通过专注于稳定性,您实际上是在为自己的未来投资,并为未来作好准备-无论它会带来什么。

On support not being binary:

关于支持不是二进制的:

When I was doing agency work, before joining Yahoo!, I would often get asked at the beginning of a project: “which browsers do we need to support on this project? Are we going to support Netscape 4? Are we going to support IE 5 on the Mac?” And it was always asked in a binary sense, where the answer is either yes or no. And we realized over time that that’s counter to our goal of maximum availability – if we’re ever choosing not to support a particular browser, that means we’re choosing to have less than complete availability. So that was the first thing that we had to understand, is that support is not binary. The second thing we had to understand is that support doesn’t mean identical. Forcing every pixel to be in the exact same place on every user agent in the world isn’t what it means to support the user agent. Instead, to support a browser, we want to give the browser what it can handle, in the most efficient way possible.

当我从事代理工作时,在加入Yahoo!之前,我经常在项目开始时被问到:“我们需要在该项目上支持哪些浏览器? 我们要支持Netscape 4吗? 我们要在Mac上支持IE 5吗?” 人们总是从二进制的角度来回答这个问题,答案是肯定的或否定的。 随着时间的流逝,我们意识到这与我们实现最大可用性的目标背道而驰–如果我们选择不支持特定的浏览器,则意味着我们选择的可用性不及完整。 因此,我们首先要了解的是,支持不是二进制的。 我们必须了解的第二件事是,支持并不意味着完全相同。 强迫每个像素位于世界上每个用户代理的确切位置并不是支持用户代理的意思。 相反,为了支持浏览器,我们希望以尽可能有效的方式为浏览器提供它可以处理的内容。

And finally, on users:

最后,针对用户:

And then finally, and I think most importantly, is that for me, front-end engineering comes down to supporting users. It’s our job to make sure that they have a great user experience. If they’re using a screen reader, I want to make sure that they’re having the best possible experience with all of our websites. If they’re using a particular browser, or if they want their font bigger, or if they’re on a mobile device — it’s our job to give them that great experience…We want to have stubborn empathy for what they need, and what they want, and what they’re going through — what can we do to make all that better?

最后,我认为最重要的是,对我而言,前端工程归结为支持用户。 确保他们具有出色的用户体验是我们的工作。 如果他们使用的是屏幕阅读器,我想确保他们在我们所有的网站上都拥有最好的体验。 如果他们使用特定的浏览器,或者他们想要更大的字体,或者如果他们在移动设备上,那么我们将为他们提供出色的体验……我们想对他们的需求以及他们的需求持强的同情心。他们想要的以及他们正在经历的事情—我们可以做些什么来使所有这些变得更好?

Seriously, this stuff is pure gold especially today.

认真地讲,这些东西是纯金的, 尤其是在今天。

That was 2008. A Dao of Web Design was written by John Allsopp in 2000. Nick Finck and Steve Champeon first coined the term “progressive enhancement” in 2003. That’s how long people have been arguing for embracing the nature of the web—embracing its flexibility, instability, and unpredictability. That’s also how long so many have been resisting it.

那是2008年。JohnAllsopp在2000年撰写了一份Web设计指南 。NickFinck和Steve Champeon在2003年首次提出了“渐进式增强”一词 。这就是人们为拥抱Web的本质而争论不休的时间—拥抱它的本质。灵活性,不稳定和不可预测性。 那也是许多人抵制它的时间。

In my last post, I argued for embracing the web’s ubiquity. Many comments, while not unexpected, were still a bit discouraging. Some said it wasn’t practical. Some stated that not everyone “has the luxury” of thinking about it. Similar comments seem to come up whenever this topic gets discussed.

在上一篇文章中 ,我主张拥抱网络的普遍性。 许多评论虽然并不意外,但仍然有些令人沮丧。 有人说这不切实际。 一些人说,并不是每个人都“有奢望”。 每当讨论此主题时,似乎也会出现类似的评论。

The many developers who have been pushing for this general approach for over a decade weren’t doing this because it was impractical. On the contrary, these philosophies (Key distinction here: philosophies, not specific techniques. Techniques have a far more limited shelf-life.) that made sense then and still make sense today have been promoted for so long because they are practical. Because building sites that do not consider what happens when situations are not ideal is a sure-fire way to cause headaches. I’ve been there myself and it’s never fun.

十多年来一直在争取采用这种通用方法的许多开发人员并未这样做,因为这是不切实际的。 相反,这些哲学(当时的主要区别是:哲学,而不是特定的技术。这些技术的保存期限要远不止于此 )由于实用,因此已经推广了很长时间,直到今天仍然有意义。 因为不考虑在情况不理想时会发生什么情况的网站是导致头痛的肯定方法。 我自己去过那里,这从来都不是一件有趣的事。

When we dismiss the less-than-ideal situation, we dismiss traits inherent in the very platform we’re building for. And whenever you do that you open the door for trouble.

当我们消除不太理想的情况时,我们就消除了我们要构建的平台固有的特征。 每当您这样做时,您就为麻烦打开了大门。

Is there a cost associated in building robust sites? Yes, though it’s not nearly as bad as many seem to think. As with anything, the more you learn the quicker the process will go. Eventually, it just becomes the way you work. I remember going through this with CSS. At first it was a beast and yeah, building with tables was easier. But as I learned more and more about the spec, about how browsers behaved, and about how to make my process efficient, that time gap gradually reduced itself to being minimal, at most.

建立强大的网站是否需要付出一定的成本? 是的,尽管它并不像许多人认为的那么糟糕。 像其他任何事情一样,您学得越多,过程就会越快。 最终,它成为您工作的方式。 我记得使用CSS进行过此操作。 最初是野兽,是的,用桌子建造起来比较容易。 但是,随着我对规范,浏览器的行为以及如何提高我的流程效率的了解越来越多,时间差距逐渐减少到了最小。

There is also a cost involved with not building sites this way. In a comment on my last post I referenced the Boston Globe and how it appears on Google Glass. The point is not that we all need to be testing on Google Glass—time will tell how well that device does. The point is that here is a brand new device and form factor and they didn’t have to do a single thing to have get their site working on it. If Glass takes off perhaps they may see a way (and a value) to optimize for it further, but what people currently see is a perfectly acceptable and usable experience.

不以这种方式构建站点还涉及成本。 在对上一篇文章评论中,我引用了《波士顿环球报》及其在Google Glass上的显示方式 。 关键不是我们所有人都需要在Google Glass上进行测试-时间会证明该设备的性能如何。 关键是这里是一种全新的设备和外形,他们无需做任何事情就可以使网站正常运行。 如果Glass起飞,他们可能会看到进一步优化它的方法(和价值),但是人们目前所看到的是一种完全可以接受且可用的体验。

Others who made assumptions about capabilities, support, networks, etc are going to be scrambling to fix bugs and make their site just “work”. Meanwhile the folks at the Globe are going to be busy making improvements to their experience—adding new enhancements that make the experience even more awesome. That, and seeing how they can use Glass to punk each other.

那些对功能,支持,网络等做出假设的人将争先恐后地修复错误并使他们的站点“正常运行”。 同时,全球各地的人们将忙于改善他们的体验-添加新的增强功能,使体验更加出色。 那,看看他们如何使用Glass互相朋克。

When topics like this come up, we focus a lot on the benefits for people with less than ideal situations. That appeals to some of us (it does to me!) and less so to others. For those unmoved by that, consider this: by building something that can handle less than ideal circumstances, by removing assumptions from your development process, you make your site better equipped to handle the unpredictability of the web’s future.

当出现这样的话题时,我们将重点放在为境况不理想的人们带来的好处上。 这对我们某些人(对我有好处!)具有吸引力,而对其他人则不那么有吸引力。 对于那些对此不为所动的人,请考虑一下:通过构建可以处理不太理想的情况的东西,通过消除开发过程中的假设,可以使您的站点更加有能力应对网络未来的不可预测性。

Building something that will hold up as new devices and browsers come onto the scene—that seems like something practical that we can all get behind.

构建可以随着新设备和浏览器出现而持久的东西-似乎我们都可以落后的实际东西。

翻译自: https://timkadlec.com/2013/08/being-practical/

spring微服务实�

相关文章:

  • 2022-01-15
  • 2022-01-01
  • 2021-05-16
  • 2021-12-31
  • 2022-12-23
  • 2021-05-24
  • 2022-02-09
猜你喜欢
  • 2021-12-18
  • 2022-01-04
  • 2021-11-27
  • 2021-10-18
  • 2021-10-08
  • 2021-07-06
相关资源
相似解决方案