惠勒延迟选择实验
对话重点 (Conversation Highlights)
One thing worth mentioning is, keep the APIs small … a lot of people are going to come at you with requests for options, different options and capabilities and things like that, based upon edge cases. And then catering to each one isn’t going to do anything good. If you catered to every single edge case, if you add every single option that’s proposed in the interest of being a cool guy who is doing it, no. Because what’s going to happen is now you have this big, bloated library of different Band-Aids for different edge cases, and you’ve gotten away from the original vision of something that is just this small rock-solid set of APIs for the 90% use case. Don’t let that happen to your project — please!
值得一提的是, 使API保持较小 ……根据边缘情况,很多人会要求您提供选项,不同的选项和功能以及类似的要求。 然后,迎合每个人将无济于事。 如果您要迎合每一个极端情况,那么如果添加每个建议的选项都是为了成为一个很酷的人,那就没有。 因为现在要发生的事情是,您现在拥有一个庞大的,Band肿的库,其中包含针对不同情况的不同创可贴,而且您已经摆脱了最初的设想,而这仅仅是针对90年代这种小巧而坚固的API集用例百分比。 不要让这种情况发生在您的项目中-请!
See this TV behind me right hereThere’s a Raspberry Pi hooked up to that. I suffer from open-source guilt. I have deep, deep open-source guilt, so I want to do a better job of being a maintainer. So I decided that I wanted to have it in my face all day long, every issue of anything like that. So I have the Raspberry Pi there.
在这里看到我身后的电视吗有一个Raspberry Pi与之相关。 我患有开源罪恶感。 我有深深的开源内deep感,因此我想做一个更好的维护者。 因此,我决定我希望整天都在我的脸上露面,每一本类似的东西。 所以我在那里有Raspberry Pi。
Don’t just pull repos down … where there’s thousands of people depending on it. That is not a subtweet to any particular thing; I’m just saying!
不要只是将回购协议拉下来……那里有成千上万的人依赖它。 那不是对任何特定事物的推文; 我只是说!
成绩单 (Transcript)
- Tim: 蒂姆:
-
Hey, what’s up, everybody, this is Tim Evko …
嘿,大家好,我是Tim Evko……
-
… and this is M. David Green. And you’re listening to episode seven of the Versioning Show. This is a place where we get together to discuss the industry of the web from development to design — with some of the people making it happen today and planning where it’s headed in the next version.
…这是David Green先生。 您正在听Versioning Show的第七集。 在这里,我们可以聚在一起讨论从开发到设计的 络行业,其中一些人将其付诸实践,并计划下一版的发展方向。
-
Today we have with us a special guest, Ken Wheeler. We’re going to talk about how Ken got started in the industry, we’re going to talk a little bit about reactive programming, it’s going to be a great show, so let’s go ahead and get this version started.
今天,我们有一位特别的客人,肯·惠勒。 我们将谈论Ken的行业起步方式,我们将讨论React式编程,这将是一个很棒的节目,所以让我们继续以该版本开始。
-
Ken, thanks for joining us. How are you doing today/p>
肯,谢谢您加入我们。 今天过得好吗
-
I’m doing lovely. Thanks for having me.
我好可爱 感谢您的款待。
-
Cool. Tim, would you like to ask Ken our philosophical question/p>
凉。 蒂姆,你想问肯恩我们的哲学问题吗
-
Yes, it’s about that time. So, Ken, we have a philosophical question we like to ask every guest who comes up on the show. So here goes: in your current career, what version are you and why/p>
是的,大约是那个时候。 因此,肯,我们有一个哲学问题,我们想问问参加演出的每位客人。 所以这就是:在您当前的职业中,您是哪个版本,为什么
-
O wow, you’re going to drop something that heavy on me this early/p>
哇,您打算在今天这么早就丢下一些沉重的东西吗
-
We always get this response too — it’s great! [Laughs]
我们也总是得到这个回应-太好了! [笑]
-
I haven’t done so well with semantic versioning in the past. Well, I’d like to say that I’m like 0.19-alpha perhaps — or at least I’d like to think that.
过去,我在语义版本控制方面做得还不够好。 好吧,我想说的是也许我喜欢0.19-alpha,或者至少我想这样。
-
It’s nice that you’re keeping it in the alpha range. That’s important.
很高兴您将其保持在alpha范围内。 那很重要
-
That’s right. It’s not quite beta yet. It’s still a little rough around the edges. Not ready for a 1.0.
那就对了。 还不是beta版。 边缘仍然有些粗糙。 尚未准备好1.0。
-
Cool, so this is the stage you are at in your career. How did you get to this stageWhat brought you into the world of what we’re doing/p>
很酷,所以这是您职业生涯中的阶段。 您是如何进入这个阶段的是什么使您进入了我们正在做的世界
-
I did it a lot as a child. When I was a little kid, I learned to type really quickly. Most of the computer classes were typing at that point in time. Me, already being a proficient typer, having the privilege to have a computer in the home, I was kind of excused from the typing portion of the computer classes. I got to mess around with other things like QBasic or Visual Basic.
我小时候做的很多。 小时候,我学会了快速打字。 当时大多数计算机类都在输入。 我已经是一名熟练的打字员,有幸在家中拥有一台计算机,所以我对计算机类的打字部分感到宽恕。 我不得不弄乱诸如QBasic或Visual Basic之类的其他东西。
And it fascinated me, so I would play with that. I had a really good time doing it — did a lot of Visual Basic as a kid — and then I stopped programming. Wait, before I stopped programming, I also did a lot of early HTML — like remember, what is itLike GeoCities and all that jazz, the 3D wireframe spinning skills and blood dripping banners and all that fun stuff.
它让我着迷,所以我会去玩。 我玩得很开心–小时候做过很多Visual Basic –然后我停止了编程。 等等,在我停止编程之前,我还做了很多早期HTML-就像记住的,这是什么像GeoCities和所有爵士乐一样,3D线框旋转技巧,滴血横幅和所有有趣的东西。
-
We will see if we can find an archived copy of your GeoCities page to put up with the podcast. [Editor’s note: we couldn’t find anything, but let us know if you have any luck finding something!]
我们将查看是否可以找到您的GeoCities页面的存档副本以与播客放在一起。 [编者注:我们找不到任何东西,但是让我们知道您是否有幸找到一些东西!]
-
I sure hope you don’t! But yeah, it was a good time. I stopped programming for a little while, and I became a rapper — more so a record producer than a rapper. I really enjoyed music (had from a young age). I eventually got pretty good at rapping and making the background music to rap songs, to the point where I was a signed artist. I worked as a recording engineer for some pretty interesting artists and what not.
我当然希望你不要! 但是,是的,这是个好时机。 我停止编程了一段时间,成为了一名说唱歌手,比说唱歌手更像是唱片制作人。 我真的很喜欢音乐(从小开始)。 最终,我非常擅长说唱和制作背景音乐来说唱歌曲,以至于我是一名签约歌手。 我曾担任过一些非常有趣的艺术家的录音工程师,而实际上不是。
Napster came out, and that stopped being a career for me. I had a couple of funny careers after that. Maybe “career” is not the right word. Maybe funny jobs in the interstitial period. I was a matchmaker — a high-end matchmaker at that. It’s not like sports — like relationship matchmaking for wealthy folks.
Napster出来了,那对我来说不再是一个职业。 在那之后,我有几个有趣的职业。 也许“职业”不是正确的词。 在插页广告期间,也许是有趣的工作。 我是媒人-那时候是高端媒人。 这不像运动,而是富人的婚介。
And I was a stockbroker, which was probably even more hilarious. All kinds of jobs — a butcher’s assistant, pizza delivery, the list goes on, absurd occupations. At one point, I realized that I know how to do computers, and I like it, I enjoy it, so why not pursue that a little.
我是个股票经纪人,这可能更有趣。 各种各样的工作-屠夫的助手,披萨送货,清单还在继续,荒唐的职业。 有一次,我意识到自己会做电脑,而且我喜欢它,我很喜欢它,所以为什么不那么做呢。
So I remember the first job that I got, I lied my way into. We were writing Flash — it was like a Flash shop at the time. I don’t know if you guys remember that back in the day, but it was like a full Flash shop. We’d make websites for restaurants and local companies with the super fancy intro, and sweet photo galleries, writing ActionScript, ActionScript 2, later ActionScript 3, keeping it ECMA the entire time.
所以我记得我获得的第一份工作,我撒谎了。 我们正在编写Flash-当时就像一家Flash商店。 我不知道你们是否还记得这一天,但是那就像一家完整的Flash商店。 我们会为餐厅和本地公司提供 站,并提供超豪华的介绍和精美的照片画廊,并编写ActionScript,ActionScript 2和后来的ActionScript 3,并始终将其保留为ECMA。
-
Of course.
当然。
-
But yeah, I told them I knew how to do that, and at the time I did not know how to do that, but I was confident that in a short time I would be able to do that. Lo and behold, I was able to do that, so I did that for a little while. I was a Flash developer, and then the iPhone came out. When the iPhone came out, they kind of murdered Flash. Saw the writing on the wall, and got back into the whole HTML/CSS/JavaScript thing, where I guess jQuery is just starting to get like sort of popular. And I kind of took it from there for about maybe like a year or two, writing the kind of stuff that we do today. Not necessarily the stuff we do today, but not Flash.
但是,是的,我告诉他们我知道如何做到这一点,当时我还不知道如何做到这一点,但是我有信心在短时间内就能做到这一点。 瞧,我能够做到,所以我做了一段时间。 我是Flash开发人员,然后iPhone问世了。 当iPhone出来时,他们有点杀了Flash。 在墙上看到了文字,然后又回到了整个HTML / CSS / JavaScript的领域,我猜想jQuery在这方面正开始流行起来。 我从那里拿了大概一两年的时间,写出了我们今天所做的事情。 不一定是我们今天要做的事情,但不是Flash。
-
This is interesting, because I notice a couple of trends that I’ve seen in other engineers. First of all, it sounds like you don’t have like an engineering degree. Is this something that you pretty much learned from teaching it yourself/p>
这很有趣,因为我注意到在其他工程师中看到的一些趋势。 首先,听起来您没有工程学位。 这是您从自己教书中学到的东西吗
-
Absolutely. That’s how I’ve done almost everything that I’ve been necessarily good at, music included. It works for some people, it doesn’t work for other people. I’m an autodidact, so I do very poorly when attempting to be instructed by other people, but teaching myself works out pretty well.
绝对。 这就是我几乎一直擅长的所有事情的完成方式,包括音乐。 它适用于某些人,不适用于其他人。 我是一个自欺欺人的人,所以在尝试别人的指导时我做得很差,但是自学效果很好。
-
There’s also a trend that I’ve noticed: a lot of people who do this also have musical backgrounds.
我也注意到了一种趋势:许多这样做的人也都有音乐背景。
-
Is that right/p>
那正确吗
-
Yeah, it seems like there is a relationship between like comfort with music and a comfort with engineering, with programming.
是的,似乎对音乐的舒适与对工程和编程的舒适之间存在某种关系。
-
Yeah, I have a similar sort of origin story where I first started working at a recording studio and then building websites for the recording studio and yeah, same sort of … Well, I didn’t rap, or produce anything, but I wasn’t that cool …
是的,我有一个类似的起源故事,我首先开始在唱片公司工作,然后为唱片公司建立 站,是的,嗯……我没有说唱,也没有制作任何东西,但我不是。太酷了……
-
I’m sure you could have.
我敢肯定你会的。
-
Yeah, maybe I’ll lay down a couple of tracks later as outro music.
是的,也许以后我会放一些音乐作为离群音乐。
-
We could do it collab.
我们可以合作。
-
That would be so good. We could use like Web Audio API or stuff. It’s very complicated sounding, but I’m down.
那太好了。 我们可以使用Web Audio API之类的东西。 这听起来很复杂,但是我很沮丧。
-
East Coast/p>
东海岸
-
Yeah, you’re in Jersey, I’m in Queens — it’s perfect.
是的,您在泽西岛,我在皇后区-太完美了。
-
I feel like the East Coast needs a little rapping these days, my man.
我觉得这些天东海岸需要一点敲打声。
-
They do. So, Ken, cool projects you’ve been working on recently. Do you want to talk about some of the recent programming paradigms, challenges, cool projects, anything like that/p>
他们是这样。 因此,Ken,您最近正在从事的很棒的项目。 您是否想谈谈最近的一些编程范例,挑战,很棒的项目等等
-
I would say that a lot of this React work that I’m doing at Walmart is super interesting, because it’s like a new thing, but it’s also at scale — at humongous scale; so that’s been pretty interesting.
我要说的是,我在沃尔玛所做的许多React工作都非常有趣,因为它就像新事物一样,但是规模也很大-规模巨大; 所以这很有趣。
Other things are having popular open-source projects. I wrote Slick Carousel, and actually writing it was not effortless, but it wasn’t super hard. It’s dealing with it after the fact, which has been interesting. It’s very interesting to try and maintain these sort of things — and that applies to all open source. I have a lot of libraries out there that I don’t maintain as well as I probably should. It’s super interesting to see the process of something getting popular and then the different projects, how some have certain issues that other ones don’t. Something like Slick Carousel is like a low hanging fruit: who doesn’t need a carousel, right/p>
其他事情有受欢迎的开源项目。 我写了《 Slick Carousel》 ,实际上写起来并不费力,但并不是很难。 这是事实之后的处理,这很有趣。 尝试维护这类事情非常有趣-这适用于所有开源。 我那里有很多我不应该维护的库。 看到事物流行的过程,然后看到不同的项目,其中某些事物有某些其他事物所没有的某些问题,这真是非常有趣。 像Slick Carousel这样的东西就像是低垂的水果:谁不需要旋转木马,对吗
Almost every website that you are building for somebody else for money, they’re going to need some kind of slider on there. But you have other things like Flux libraries and things like that. It’s a little … I’m not going to say “exclusive”, but it’s a smaller audience; it’s a more focused audience, so you have different kind of problems. You have people coming to you with, “I’m not like super-hot on JavaScript. How does this workIt’s more like, “I am super-hot on JavaScript. We need to optimize this”, or something like that.
您为别人建立的几乎每个 站都是为了赚钱,他们那里将需要某种滑块。 但是您还有其他类似Flux库之类的东西。 有点……我不会说“排他”,但听众较少。 受众群体更加集中,因此您遇到了各种各样的问题。 有人来找您,“我不喜欢JavaScript。 这是如何运作的更像是,“我对JavaScript 非常热。 我们需要优化它”或类似的东西。
Dealing with all of that in the open-source space has been pretty interesting. One of the absolutely most interesting things that I’ve been doing lately is React Native, which is crazy. You’re writing real, native applications in JavaScript, which is absolutely crazy to me.
在开源领域中处理所有这些非常有趣。 我最近一直在做的绝对最有趣的事情之一是React Native ,这很疯狂。 您正在用JavaScript编写真实的本机应用程序,这对我来说绝对是疯狂的。
-
I’ve heard a little bit about React Native, and I’m curious: what kind of challenges are you facing when you try to develop in React Native/p>
我听说过一些有关React Native的信息,我很好奇:当您尝试在React Native中进行开发时,您将面临什么样的挑战
-
Well, you have a couple of different benefits there of using it. First of all you get cross-platform, so you write at once, generally speaking, and you get the same experience on Android and iOS — from a single code base. If you’re really nifty, you can even share some of the Redux from the web with that application if they are similar enough. Next up, you get cool things like you can hop the Play code, so you can kind of sidestep the App Store submission process (which has actually gotten a little bit better lately).
好吧,使用它有许多不同的好处。 首先,您获得了跨平台的支持,因此,通常来讲,您一次编写代码,并且从一个代码库就可以在Android和iOS上获得相同的体验。 如果您真的很聪明,甚至可以在 上与该应用程序共享一些Redux,只要它们足够相似。 接下来,您将获得一些很酷的功能,例如可以跳到Play代码,因此可以避开App Store的提交过程(最近实际上有所改善)。
One thing that I see at scale, which is pretty cool, is if you have like a bunch of engineers that are familiar with JavaScript, or familiar with React, suddenly your entire JavaScript team can work on your mobile apps. And again, that’s generally speaking.
我看到的一件很酷的事情是,如果您像一群熟悉JavaScript或React的工程师一样,突然间您的整个JavaScript团队都可以在您的移动应用程序上工作。 再说一遍,通常来说。
I’m doing React Native at Walmart, and it’s remarkably non-trivial. There is a lot of stuff going on on the native side that is pretty complicated. So it’s not like just anybody from the JavaScript side can come over and mess with it.
我在沃尔玛(Walmart)做React Native,这显然很简单。 本机方面有很多事情很复杂。 因此,这并不是说JavaScript方面的任何人都可以过来惹它。
React Native isn’t a replacement for certain things. It just doesn’t make sense for certain things. Essentially, if you were to have a native application, and you found a place where you would use a WebView (this is for like hybrid applications, right. If you had a place in that where you would use a web view — like a Cordova sort of thing — but you wanted it to feel native, React Native is an excellent candidate for that.
React Native不能替代某些东西。 只是对于某些事情没有意义。 本质上,如果要使用本机应用程序,并且找到了使用WebView的位置(这类似于混合应用程序,对吗。 如果您有一个可以使用Web视图的地方(例如Cordova之类的东西),但是您希望它看起来很自然,那么React Native就是一个很好的选择。
-
What is it about React Native that makes it feel more native than say a PhoneGap/Cordova sort of situation/p>
React Native有什么用,它比PhoneGap / Cordova这样的情况更使人感到本地化
-
It literally is native. What happens is, how exactly it works — maybe not exactly, but how I personally understand it to work after working with it and reading up on it in detail — is that you have your JavaScript, which is interpreted on one thread, and then you have native code that takes that interpreted JavaScript and builds native views with that. You’re essentially telling your native program how to lay out and act with JavaScript — but it’s not in the browser or WebView. You’re not running JavaScript in the context of a browser. You’re not rendering to HTML. At no point in time is HTML ever used. What you’re doing is specifying types, like and and things like that, and those are representative of (if you are in iOS) things like UI views, UI text, any of these controls. What makes it even cooler is, there’s probably the best bridging system that I’ve ever seen, so your developer experience is amazing.
它实际上是本地的。 发生的事情是,它是如何工作的(也许不完全是,但是我个人理解它在使用并详细阅读之后如何工作)是您拥有了在一个线程上解释JavaScript,然后您具有使用解释后JavaScript并以此构建本机视图的本机代码。 您实际上是在告诉本地程序如何布局并使用JavaScript进行操作-但它不在浏览器或WebView中。 您没有在浏览器的上下文中运行JavaScript。 您没有渲染为HTML。 任何时候都不会使用HTML。 您正在执行的操作是指定类型,例如和以及诸如此类的东西,这些代表(如果您在iOS中)诸如UI视图,UI文本以及任何这些控件的代表。 使它更酷的是,可能是我见过的最好的桥接系统,因此您的开发人员体验令人赞叹。
Almost anything you can imagine on the native side you can bridge over to JavaScript very easily. I had a situation where I needed to use geocoding. So you take a string, and you want to get a lat-long from that string: that’s in iOS.
在本机方面,您几乎可以想象的任何内容都可以非常轻松地过渡到JavaScript。 我遇到需要使用地理编码的情况。 因此,您选择了一个字符串,并希望从该字符串中获取经度纬度: 这是在iOS中 。
So, you can bridge that to your JavaScript application. You can make an async call out to the geocoder — or the geocoder class that you have set up in a native module class with a callback; it’s bridged. You can make a call to it, and it’ll send back to you lat-long coordinates.
因此,您可以将其桥接到JavaScript应用程序。 您可以对Geocoder进行异步调用,也可以对在本地模块类中设置的带有回调的Geocoder类进行异步调用; 它被桥接。 您可以打电话给它,它会发回纬度坐标。
That’s just one example of the sort of things you could do. Not only can you bridge modules like that, where you can write an Objective-C class, where you do anything under the sun: you can also expose and render views. Any view that you can imagine — any control, so to say — you can hook it up, bridge it, and then represent that in a tag with props (which are essentially HTML attributes) and then wire those up to control it.
那只是您可以做的事情的一个例子。 您不仅可以桥接这样的模块,还可以在其中编写一个Objective-C类,在阳光下进行任何操作:还可以显示和渲染视图。 您可以想象的任何视图-可以说是任何控件-您可以将其连接,桥接,然后在带有props(本质上为HTML属性)的标签中表示出来,然后将其连接起来以控制它。
-
That’s really great. I’m curious if the challenges that you’re facing at Walmart have to do more with dealing with the native aspect of it, or dealing with the scale of what you are trying to accomplish.
真的很棒 我很好奇,如果您在沃尔玛面临的挑战更多地是要处理它的本机方面,或者要处理您要完成的任务的规模。
-
A lot of it is balance, to be honest. They do some pretty nontrivial things over there on the native side. There is a lot of brilliant mobile engineers, who have some really cool base stuff set up.
老实说,很多都是平衡。 他们在本机那边做一些非常重要的事情。 有很多出色的移动工程师,他们设置了一些非常酷的基础知识。
For me, being a JavaScript guy coming in over there, I want to play as nice as possible. [Laughs] So a lot of it’s balance. I want to use as much native as I can, while still remaining flexible on the JavaScript side.
对我来说,作为一名JavaScript专家过来,我想玩得尽可能好。 [笑]这很重要。 我想尽可能多地使用本机,同时在JavaScript方面仍然保持灵活性。
Scale — of course, that’s difficult, but a lot of that is not only user scale (a lot of that is really services more so than UI). We’re not getting any kind of UI concurrency with the users or anything like that; that’s more of a service problem. But I guess the scale would be developer scale, organizational scale, which we do have to mitigate.
规模-当然,这很困难,但是很多不仅是用户规模(其中很多实际上是服务,而不是用户界面)。 我们没有获得与用户的任何类型的UI并发性; 那更多是服务问题。 但是我想规模应该是开发人员规模, 组织规模,我们必须减轻这些规模。
So internally at Walmart, we have a platform called Electrode, where we have a ton of common elements and common components — what have you — that everybody can pick from and that are maintained as a whole.
因此,在沃尔玛内部,我们有一个名为Electrode的平台,在这里,我们有大量的公共元素和公共组件(您拥有什么),每个人都可以从中选择并进行整体维护。
So, rather than each individual app going into doing their own thing, we have a centralized collection of components and Redux helpers and things like that, that are maintained organizationally. The idea being that if you have three different teams working on three different apps, and they have the same text box component, rather than doing their own thing, they’re going to go and use that one text box component. And then, if one of those teams finds that the text box component isn’t as flexible as they need it to be, they PR it and it gets better. And that process propagates, until you have rock solid, really good components. Because these components are added to, pull requested, tested thoroughly, better reviewed, you can be sure when using them that you’re going to have something more stable than had you just gone and done it on your own.
因此,我们没有每个应用程序都去做自己的事情,而是集中收集了组件和Redux帮助器以及诸如此类的东西,这些东西在组织上得到了维护。 这个想法是,如果您有三个不同的团队在三个不同的应用程序上工作,并且他们具有相同的文本框组件,而不是自己做,他们将使用该文本框组件。 然后,如果其中一个团队发现文本框组件不像他们所需要的那样灵活,他们会对其进行PR改进,它将变得更好。 直到您拥有坚如磐石的,非常好的组件为止,这个过程一直在传播。 由于这些组件已添加,拉出请求,进行了全面测试,得到了更好的审查,因此可以确定,使用它们时,您将比刚完成时要稳定一些。
-
That’s pretty cool. It’s almost like Walmart has its own sort of internal open-source environment to kind of keep track of all of those. Are there any lessons that you can take from how Walmart does its sort of open-source-like work and kind of translate that into the actual, much wider open-source community/p>
太酷了。 就像沃尔玛拥有自己的内部开源环境一样,它可以跟踪所有这些环境。 从沃尔玛如何开展类似开源的工作并将其转化为实际的,更广泛的开源 区的过程中,您可以从中学到什么吗
-
Absolutely. We have an ESLint config. I work for Formidable; through them, then, I work for Walmart. We use the Walmart lint configs, all the process there. We also have a tool called Builder, which we use to manage several repos. If you have that Walmart-like situation where you have a ton of repos, we use Builder to essentially have the same build processes — everything like that — across all those, and be able to update that across all those.
绝对。 我们有一个ESLint配置。 我为艰巨而工作; 通过他们,我为沃尔玛工作。 我们使用Walmart lint configs进行所有过程。 我们还有一个名为Builder的工具,可用于管理多个存储库。 如果您遇到类似沃尔玛的情况,并且您有大量的回购,我们将使用Builder在所有这些基础上本质上具有相同的构建过程-诸如此类的所有过程,并能够在所有这些基础上进行更新。
So, if you had a Webpack configuration — you had like ten repos — and then you changed something in one of them with Webpack, you’d then have to go into each one and update your Webpack config in every single one of those to get the new way that you’re doing that build. So we have tooling around things like that, where we have this shared build system and testing and things like that — where we can make one change in one place, and then it will propagate across, what, 90 repos or something/p>
因此,如果您有一个Webpack配置(您有10个存储库),然后使用Webpack在其中一个中进行了更改,则必须进入每个配置并在每个配置中更新Webpack配置才能获得您进行构建的新方式。 因此,我们具有围绕诸如此类的工具,拥有共享的构建系统和测试以及诸如此类的工具-在这里我们可以在一个地方进行一次更改,然后它会传播到90个存储库之类的东西上
-
Wow. That’s a great example of how that sort of thing can apply, because when you’re dealing with open source, you’ve got all of these different people working on different things simultaneously, and trying to keep track of all of that can be insane. How do you balance your open-source work with the work that you’re doing inside of companies/p>
哇。 这是如何应用这类事情的一个很好
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!
David: 大卫:
Tim: 蒂姆:
David: 大卫:
Ken: 肯:
David: 大卫:
Tim: 蒂姆:
Ken: 肯:
Tim: 蒂姆:
Ken: 肯:
David: 大卫:
Ken: 肯:
Tim: 蒂姆:
Ken: 肯:
David: 大卫:
Ken: 肯:
David: 大卫:
Ken: 肯:
David [4:26]: 大卫[4:26] :
Ken: 肯:
David: 大卫:
Ken: 肯:
David: 大卫:
Tim: 蒂姆:
Ken: 肯:
Tim: 蒂姆:
Ken: 肯:
Tim: 蒂姆:
Ken: 肯:
Tim: 蒂姆:
Ken: 肯:
Tim: 蒂姆:
Ken: 肯:
David: 大卫:
Ken [7:30]: 肯[7:30] :
Tim: 蒂姆:
Ken: 肯:
David: 大卫:
Ken: 肯:
Tim [13:04]: 提姆[13:04] :
Ken: 肯:
David: 大卫: