Placeholder Image

字幕列表 影片播放

  • So I hope you are ready with energy for the talk.

  • Okay, but if you want a nap, that's fine.

  • I don't have a problem with that.

  • Um, so they're going to look about Web performance.

  • Okay, so I will start presenting myself really quickly.

  • Okay?

  • Maximilian is my name.

  • Max is fine.

  • I'm first on Twitter.

  • I'm a mobile Web developer.

  • So I have been doing what development seems that browser gazing is 1995.

  • So long time ago, using from base, for example, on us we mentioned before.

  • I've been traveling a lot for the Winkle Sultan training 66 countries.

  • This is my first time here in Serbia.

  • So I'm also being doing training for a lot of companies on consulting on.

  • You can find content on training's from me on different providers.

  • Such a lengthy learning people He's known as Linda or safari.

  • I have all for a couple of books.

  • Okay, there is ah, going off a treat there.

  • So because we have original books, these are the regional books, and those are translations on languages that I don't understand.

  • So, um, the last two books are basically on the topic that we will be covering the next 35 minutes.

  • Probably 34 now.

  • So performance.

  • Okay, Web performance.

  • How many of you are currently creating websites or Web apps?

  • Okay, perfect on.

  • How many off?

  • You're great in the fast websites.

  • Okay, Only 10%.

  • And there are a couple of Ah, OK, let's see.

  • We're going to talk about that and how you can hack the web performance, how we can push that even further.

  • That's the whole idea of this talk.

  • So I have two goals for the stock.

  • The 1st 1 is to trigger new tricks that you can start applying in your own websites or Web apps.

  • Presume on the other one is to make you feel bath.

  • Okay about what you're doing right now.

  • So let's start with that.

  • So, um, I know that you know that your users aren't currently not happy on.

  • Probably you're losing money.

  • Okay?

  • You are your customers or your clients are losing money.

  • Why?

  • Because off the performance or because the web is too slow.

  • Your website.

  • It's a slow and sorry to tell you that.

  • So some you quick information about these half a second delay.

  • It's increasing use of frustration by 26%.

  • Okay, that's a lot half effect on delays air reducing Google's traffic.

  • And that's money for Google.

  • Gain terms off ads, for example, 100 milliseconds.

  • Onley DeLay will decrease Amazon sales by 1%.

  • These are all the information.

  • Okay, so there are a lot of information data that you can get on these problems on.

  • I'm pretty sure that you know that today we're not talking about Paige slow as a metric their new metrics of their user centric not about like jobless grape metrics, but about primary uses.

  • Point of view on.

  • We have first meaningful pain.

  • That is, when something meaningful appears on.

  • The patient is not just a line or Bagram color, so something that the user's uses brain is currently parsing the.

  • Then we have first interactive because it's not just you see something on the screen.

  • We should be able to interact with that like, for example, scrawling or touching.

  • So sometimes you see a page, but it's not working.

  • Okay, on officially complete is finally, when you are seeing the actual content that is not pave low on, I'm sure that you're creating your own custom metrics because that's something that it's really important.

  • So what is important for your users?

  • What are you expecting your users to do on your website on your web on then you measure That s o.

  • I know.

  • You know that performance is important on we don't need chance.

  • The metrics We need goals because of how fast is fast.

  • Well, you say all my wife said you slowly in 15 seconds really fast, right?

  • Well, no, really.

  • So we need to set our goes.

  • Currently, the goals in the market are around.

  • These first meaningful pain should be between one and three seconds.

  • So the user is typing the U.

  • R l or clicking on a link on after maximum three seconds.

  • It should be seeing something meaningful on the page.

  • And that means not on your computer and WiFi.

  • That means on any context, including, let's say, low and device with a three j connection will slow three g connection.

  • First Interactive has like one more second to make that country interactive social 2 to 4 seconds.

  • So, um, now you need to think about this on see, how how close are you to these ghosts today?

  • So I know that you're already doing it out of stuff like optimizing the network transfer Such a, for example, enabling she seep on text based fights on your server you're currently working with.

  • The less I need you to be, too.

  • You are using C assistance appetizer.

  • Okay, so we're here in Serbia.

  • Appetizers like a big plate, but typically the appetizer, she'll be small, right?

  • So CIA says she will be a small and you should start with that.

  • So the CSS will be the first thing that you're going to the liver to the browser because he assess will block rendering just small on, um Asadabad.

  • Aye, sir.

  • On toss creeped us dessert at the end.

  • Okay.

  • We need to defer chalice grip as much as possible.

  • So, John, script is your baklava basically.

  • So, uh, you're already optimizing images.

  • You're already creating a great image.

  • Ah, with being g or J.

  • Pay your optimize in that on.

  • You haven't entered the P cash policy.

  • You're currently using service workers, right?

  • Everyone is using service workers, right?

  • Oh, so you should avoid the resurrects.

  • That is when you go to a website.

  • And that website says that we know you know what?

  • No, no, it's not here.

  • You need to go there and you go there.

  • It says, No, it's not here.

  • You need to go there.

  • So, for example, your type of girl on, then first you go to https, which is fine.

  • But when you get there, he says, Oh, you're a mobile phone.

  • No, you two go toe am not.

  • And then you go to m dot and he says, Oh, you want a home patient?

  • You go to end the slash homepage.

  • So all those ready Rex are basically wasting time.

  • So you're not doing that.

  • I already know this is basic where performers techniques that that you're all doing that stuff.

  • What's the problem?

  • The vermin.

  • Even with all those techniques, the average time to load the more by landing based today is 22 seconds.

  • It's really far away from our goes.

  • Okay, so it's really far away.

  • So on is from Google, by the way.

  • So if ah Pei, she's taking more than three seconds to load, more than half of the user will start leaving that patient that time.

  • So you have a losing users.

  • You're losing commercial.

  • You're losing money we're not doing what performance?

  • For the sake of what performance has to to measure with with with your other clothes.

  • We are doing this because off conversion okay, we want conversion in our websites.

  • So that's why we're doing what performance on one of the problem is that we have been always underestimating mobile okay, since the beginning.

  • So for example, today you can say that it's IOS and android, but from a Web point off you, is it safari in chrome on Lee?

  • So the answer is no.

  • So if you if you have tested your website on mobile browsers, it shouldn't be just IOS with safari on chrome, angry with chrome there are a lot of browsers out there something in the browser.

  • You see browser, Oprah Meanie, chrome on IOS the decent actually grown.

  • So these browsers are currently having like a good market share.

  • So more than 3%.

  • That means millions of users that are currently using those rousers.

  • And also we have Facebook that now has a name Facebook Mobile browser.

  • What I'm saying these, when you're the user, is browsing or face one clicking on a link by the fall that link It's not being browsed in the browser, but inside on in a browser that, in a browser is using a different enjoying both in IOS and Android.

  • So have you.

  • Have you ever try your website there?

  • How it looks, I how we worked them to a performance.

  • This is the same mask so far, your chrome.

  • It's not so, um, and it's a lot off.

  • A lot of fuses are currently on that situation.

  • And also when we are talking about the mobile Web that it's more today more than half off our users on some situations that can be 70 and 80% off.

  • Your users on mobile browsers were typical using cellular networks.

  • And I'm not that you're thinking about this.

  • Oh, we have four G now, so we should, um, we don't need to worry about performing.

  • We shouldn't need to worry.

  • But to be honest, if you look at that information that for a couple of months ago, so less than 30% of the users were, why are currently in 40 okay on it's not so much on also.

  • Sometimes when you have your like your lucky for G device, you sir, you're also lucky for G data plan, User.

  • You're also a lucky you, sir.

  • That is currently in the city with four she coverage games.

  • Or like users on that situation 10% of the time, you're downgraded to three g case.

  • What happens?

  • Look, I'm currently in three g here.

  • I'm in roaming.

  • I remember the iPhone 10.

  • I means Reggie S O.

  • That happens a lot.

  • There's no jazz because it's, um, Eastern Europe.

  • I've been in San Francisco, So in the middle of Silicon Valley, I was driving, like, half an hour north, and it wasn't Yuji.

  • Okay, Judy, in the media of Silicon Valley, So that happens a lot with with your users.

  • So you need to be very careful about that when we're talking about three g for G or even five G.

  • Um, typical.

  • Your your brain is thinking about bands with Okay, so it's fast for cheese faster.

  • Yeah, it's faster.

  • But the problem it's not the bath with the problem is the Lady Nancy.

  • So did you think about this?

  • If you if you have at home Ah, 50 megabits per second connection and you go to 100 mayor, it's per second, are you browsing the Web faster?

  • Probably not.

  • It's better for Nat's leaks.

  • It's whether for YouTube is ready for downloading Big 500 for browsing the Web.

  • Because when you're when we're browsing the Web, bear shots downloading a lot off a small files on the Laden See if you look there in Georgie's really big, it can be up to one second.

  • That's a round trip time that takes to get data from the Server three G's better up to 450 minutes seconds.

  • 40.

  • It's even better, like 1/4 of a second.

  • But if you compare that with the home, the cell connection or an office, the Circle cable connection for G has 10 times the Laden see off your home connection.

  • So even those 40 Lackey users have big laden.

  • See, then that's the problem.

  • Okay, so that's why we need to push what performance even further.

  • So we do hack where performance.

  • So I have here a couple of tricks, OK, that you're gonna start analyzing on using in your own websites or web up to push the weapon four months of further.

  • So we're going to start talking about the first little how we can hack the first load of the first time that the user he's accessing your website on it's currently being downloaded from the server.

  • We should try to avoid more than one round trip.

  • This is a very extreme case, okay?

  • But it's interesting.

  • I have I have done a lot of consulting with the district and it's incredible how fast you can get the first load.

  • So the Indus ipi we are not getting too deep into the city and not working.

  • But basically there is something in us a slower star.

  • So even if you're not a network engineer, you know that on the Internet, basically the data is splitting two packages.

  • Okay, TCP packets.

  • So the premise how bigger those packets?

  • Okay, so if we can try to fit our website in one packet, it will get faster because it won't need another round trip that's basically taking the lady inside.

  • Um, there is something known as initial congestion window that in lyrics based servers, it's around 14 that seeks kilobytes in fact, skeevy bites and you feel know what Achebe bite is Google that later?

  • Um, so 14.6.

  • So if you can fit your first response from the service.

  • So it's only for the first response.

  • This in $14 6 K.

  • It will fit in one TCP packet.

  • Okay, on Lee won.

  • So the brother you sail for teen, it's not too much, but we are cheese seeping our fires.

  • So that's around 70 K off H d mo which, for example, for the BUE port off more by Levi's, Maybe.

  • Okay, if you can see the HTML there, See, the ends are also playing with different values of these initial congestion window.

  • So you can say Ah, couple off experiments going on on this idea.

  • So if you can deliver the 80 f content, what is theeighty F content above the falls?

  • So about the fall is a content that you see in the first scroll.

  • So if you can feed the content for the first scroll on the mobile device off your website or Web in 14.6 k, she sipped, you will render the content as soon as possible, and you can also Beth CSS and transcript deals for that first initial load on Lee.

  • And if you still have a space, you can embed the logo and I'm talking about the betting.

  • Know a name?

  • She tower with a source logo J pay or local B and she I'm talking about using base 64 on data you are I Because we want in bed that in one ht ht my response Another thing that you can go now to increase where performance is to avoid the http to 80 dbs resurrection.

  • So you should know I'm British weather.

  • You know that you need to move your websites, you https.

  • So it's mandatory today every website should be intel.

  • Eso https.

  • The problem is that when the user is typing the URL, it's not typing 80 dbs car loan for a cloud for a slash, so on the browser is going to h E B by default.

  • So we have a rhetoric there that can take around 300 to 500 milliseconds on.

  • We have a tiny batch, it baby half a second.

  • It's a lot, so we want to avoid that.

  • Um, the solution is something known as a jest e s.

  • And it's ah, it's kind of a protocal that you're going to have in your in your actually be Heather and you're going to say on that first access to Http.

  • Hey, browser.

  • You know what?

  • My website From now on, it's we we always see, actually, B s.

  • So stop, Go into Asian to be by default.

  • Okay?

  • So next time the user will go the wreck situation to be s and we're going to save after half a second.

  • And also, when you have these, you can go on up in into that website and then browser such a chrome safari Firefox and L sh are taking the least as a widely spree loaded in the browser.

  • So a new user well, type your u r l.

  • And if you're in that wide least, it will go the red situation ups avoiding one rhetoric.

  • Okay, so after the first load waas other after the first response was sent to the to the browser, we need to hack the data Trump for Okay, So Okay, how can we send the data even faster over over that network over the wireless network?

  • So first I want to talk about something that's quick.

  • Okay?

  • There is no type of there.

  • That's the name Quick without the K.

  • Um, it's an experiment that protocal to provide an H two b to baste a P I over you TB and not TCBY.

  • In fact, if you are using chrome on your browsing Google website, can be Gmail.

  • Go will not come Google drive.

  • You're currently browsing the Web using quick.

  • Okay, so we will reduce laden.

  • See a lot because it's no use in desipio if you see your GP, but it's it's compatible with a tree to be, too.

  • So basically it's compatible with all your current, um, let's say websites on architecture.

  • It has something called zero Artie Artie tease around three time connection establishment, so you can analyze that later.

  • But it means that when the use Aries um, coming back to your website, it would have Ciro round trip time to get that connection open.

  • Okay, so it's increasing a lot, in fact, for the Google search, Bay is increasing the performance by 3%.

  • YouTube has reduced 30% of buffering sinks to using quick.

  • Facebook has a similar protocol for their app.

  • It's improving performance by 2% on according to Google, 3/4 off.

  • Every request on the Web can be faster if you will use quick instead off normal, actually beat you week.

  • It's experimental but is currently available on chrome.

  • And there are some works and other browsers as well.

  • And of course, you need to add something on your server so you can serve your website using quick if the browser is compatible with quick.

  • Okay, cool.

  • So, um, some flea Repeat with me.

  • Sub flee.

  • So this is a new ah algorithm for she sip that will encode your she sips compressing Maur.

  • Okay, it can save up to 8% of the data transfer.

  • So the same HTML When you send that over the wire or the wireless channel, it will occupy less bites.

  • Okay, so the fermi said it's 80 times slower, so it consumes 80 times more.

  • Phoebe, you for compressing not for the compressing, but because it's three sea bass.

  • It works with aii six works with every browser.

  • So you're going to start applying these on your server and then you will save data transfer.

  • So your websites will appear faster on use of devices, and you will say they get round for in the means.

  • Um, if you wanted to push these even further, there is another protocol no nuts, broadly, by the way, we're talking about German names here.

  • Um, in this case, you can say up to 25% compared to, she said, but it's not received compatible.

  • So you need a browser compatible broadly on so you can check the encoding heather.

  • By the way, there are a couple off broadly compatible browser off today, including chrome, including some merchants of safari and far folks.

  • So you need to check, then calling Heather and then send the broadly version, um, for linking, for example.

  • It has saved 4% lonely time.

  • So if you take 4% from here, 3% from here to a person from here came because we have a tiny budget you can actually save a lot off.

  • Time on you can actually be closer to your performance goes.

  • So Facebook has saved in CSS okay.

  • And also a serving Charles script files using broadly on, by the way, will broadly remember that we mentioned the $14.6 k threshold for the initial response.

  • If we're using Bradley, we can say we can store up to 80 85 kilobytes off html on on one defeat, p packet readable streams.

  • This is also interesting is coming right now on some browsers.

  • It will let you process the data, assuming he's all right.

  • So let me give you a quick example.

  • It's typical today if you have a web up, it can be a react application.

  • It can be a angler application.

  • Orb you wherever Manila.

  • Yes.

  • So you're downloading a Jason file.

  • You're parsing that Jay's on Fi client side and you're rendering something on the HTML.

  • Okay, that's basically the idea.

  • But let's say you're downloading one hand.

  • Real items, no client CDs, whatever you're downloading.

  • So you're starting parsing that Jason file on Lee.

  • When you have the 100 you cannot, like, take a chunk off the Jason.

  • As soon as he's arriving from the network, you're receiving the fire using a shock.

  • So the fake FBI you're using your receiving the file when you have the the total file.

  • So what if we're gonna start receiving from the network layer peces chunks off the response and start analyzing each chunk and start rendering as soon as he's at?

  • One.

  • Part of the Jason is available so that a B I score readable streams.

  • It's available in some browsers and you can start playing with it.

  • And he can save on pain metrics when you're doing thes kind off client side rendered solution.

  • So that's for the initial peixe on.

  • Also for Sandy divides from the server to the client.

  • What about loading the rest off the resources?

  • Images, videos, Web phones, sty, shades on chance?

  • Catfights.

  • So, um, we have new modern cash control systems that you can start using.

  • For example, if how many of you are react or angular developers?

  • Let's see.

  • Okay, Quiet like 20%.

  • So your parolee using the seal eyes probably ano or ***, at least, so the sea allies, when you're compiling your your abs, are creating fine names with hash for your resources.

  • For example, your your sty CSS file is not the styles that CSS ties hash like X h 024 dot CIA says.

  • And every time you change that file, the name changes.

  • So now we have, um, a way to for the brows and you say, You know what?

  • Instead of doing conditioner requests, we know for sure that that file will never change.

  • Because if we're changing the CSS file, react or Anguilla seal.

  • I will change the finally so we know for sure that he's not going to change.

  • So we asked the browser.

  • Hey, browser.

  • If you have a cash the burst in off that fire, use it because I will never change it on the server.

  • And that's, uh, known as cash control.

  • Immutable.

  • Okay, that is currently available on those routes are thing chrome.

  • It's kind of great because Chrome is not supporting it yet, but he has, like a similar intelligent solution that is finally getting to the same result on.

  • Also, there is a common new pattern, Um, that is available mostly with service workers.

  • Not sure how many of you have played with service workers?

  • Let's see.

  • Okay, quite a few Onley.

  • 1%.

  • So, um, we could change that.

  • But there is a new pattern.

  • They're known as ah, stale were evaluate like you always serve the file from the cash.

  • Okay, so from the local cash, So you serve the fight really quickly.

  • It's in my local car, so here you have it.

  • But it may be outdated because maybe in the summer you have a new version.

  • So then the browser is abdicating that in the background.

  • So the next time you request that research, it will be updated.

  • That's known as a state where evaluate if you have played with service workers.

  • It's a common design pattern on now that designed buttons come into browsers, so you can specify that you want to use that behavior.

  • Stay wherever evaluate and the browser will do that for you.

  • It will give you the cash version when you're actually I mean, I am retired.

  • I just scream time.

  • It will take it from the cash, but in the background it will go and update the resource for the next time.

  • Okay, warming up enjoins.

  • So when the browser is trying to download of Resource is, we can try to warm up the guys.

  • I held the browser to start some processes as soon as possible.

  • For example, Vien esque worries when you're downloading files from a different domain for a different origin, a D.

  • N s square is needed.

  • So you can, like change, resolve the name to an I P address on that, my tape up to 200 milliseconds.

  • That's a lot because we have a tiny voucher so and Also connecting to T C.

  • B on the D.

  • L s connection can be another 200 milliseconds when you're going into another server so we can announce Venus queries as soon as possible at the top of Eurasia.

  • Mel, you can have a link with the rail de ns privilege and you're announcing the bows on her browser.

  • Later, I will request a file from that server so you can start any nous right now before hands.

  • Also, you can use pre connect in this case is not chancen Igen es query.

  • It's also going to create the pls on TCP connection to that server.

  • Okay, Even if the browser doesn't know that you will need their research from that Surber on on both, you can use a naturally be heather instead off.

  • Hmm.

  • So when you are answering with Eurasia, Mel, you're going to say, Hey, browser, You know what later decision Well, will need these.

  • Don't destroy me.

  • So I start the connection right now to band.

  • Learn not to Bondo.

  • So what is this?

  • So this is ah, typical question that I received in terms of John Discrepancy Assess.

  • So, um typically you have 10.

  • 51 hand with CSS file on Charles could fight obscene that eso should we created, like, one big bundle or she'll be great.

  • A lot off script tax on link tax for different flies or needed to be to bungling seems like an oddly bothered.

  • However it's not.

  • Bonding is still a good idea.

  • In fact, this is a tweet from Pole Irish saying that from the crime team saying that today bundling is to steal the best possible idea.

  • So great one big child script file, one big CSS file.

  • But big, however, here I'm talking about on Lee the necessary Contin for rendering the initial rendering, not the whole website or page.

  • So we need Coast fleeting first and then for the surrender in only one fight.

  • Okay, so that's the idea.

  • So don't create fine Megha by Charles can file because that's not idea.

  • It should be really small on Lee for the important part, and then you differ on download the rest so Web phones.

  • Web phones are nice.

  • Okay, we can change the default phones that we're using a website, but we have a problem that bro, you have seen that the flash on and off on style Text.

  • What is this?

  • You access the website, you see the logo.

  • You see the backgrounds and no text on text on the Web was always non blocking.

  • Text was just text.

  • It was there.

  • Bye for automatically.

  • We don't need to wait.

  • But now when we're using Web phones were waiting for the phone, and that's a problem.

  • So now you haven't CIA says away to the fine.

  • How do you want a low these with phone display?

  • So look for fun display so you can specify the algorithm so you can great the more performance solution for these.

  • And finally, for resource loading, we have pre loading.

  • So ah, really is even, like a better way off the pre off, pre fetching or the esprit Fisher, the pre connect.

  • So it's we're pushing it even further.

  • We can help the browser prioritize.

  • The most important resource is, for example, the phone.

  • Fine.

  • Okay, so you use a link.

  • Well, pre load on.

  • You're going to say this isn't a starship is a weapon.

  • This and script time.

  • You will need it later.

  • But I start down lily now so we can have the browser to download the most important fight a sooner with more priority.

  • Okay.

  • And that will save a lot of time for your metrics.

  • You can also of course, use unanswered dp respons Heather instead off.

  • Ah, link tires.

  • Well, hacking images.

  • So we know that the picture is worth 1000 words.

  • The problem is that if it loads okay, so we need to load pictures.

  • So first you need to embrace responsive images.

  • Okay, That means you need to deliver not one image, No three versions of the mush.

  • Okay, because to a lot of traffic is coming from images and you can improve a lot.

  • Your metrics, if you create inversions, that is the version that is exactly the one that is needed for that particular use.

  • Also, it's time to replace normal standard shape A grumpy and chief us remember softly the one I mentioned before for GC the same algorithm works over the slate on PNG are using deflate meaning that you can compress your bong fires 20% Maur using these new algorithm OK, and it works everywhere because if you'd be in g on also we have ah j peg version off these called ghastly another German name that will let you in like compress your che pick fights even more without reducing quality.

  • So these are new compression algorithm that are open source are available right now.

  • So you're gonna start helping your users with performance.

  • Okay, So a star working with that on the last thing that they have for you has to do with how to hack user experience.

  • So with something known as reactive were performers.

  • So I'm pretty sure that if your Netflix you certainly have seen this in action.

  • From unanswered point of view, it's difficult to see Netflix with a buffering system typically not exchanging the quality off the streaming as soon as the bathroom is changing.

  • Okay, this is similarly the hour pro the Web so we can know about the context today.

  • Using blindside performance, a B I's network information, FBI device memory, Kleinheinz, FBI's.

  • So, basically, you can detect the current connection of the user.

  • The bonds with the lady unsee.

  • You can take the current available memory so you can know if it's a feature phone.

  • If it's the latest Andre devise and make a decision about that because maybe you have the latest Andre Device, the latest iPhone device.

  • But you're in gene roaming, so it doesn't make any sense to send a very super high quality will drive a solution to that device because it will never arrive.

  • I'm not so bad experience.

  • We need to keep the user the consistency, the consistent experience.

  • So, for example, if you're in Rome and don't send Web phones, we can change the service workers cash policy.

  • So if we are ngog, you say, OK, let's go first to the cash diversion because it will be slow and we won't improve users experience.

  • We can reduce the amount off, load the data on.

  • Maybe you can send a lower solution image, not Mother.

  • The device picks a radio or the resolution.

  • Okay, you might have a four k screen, But if if you have a very slow dead work doesn't make any sense to send that picture, you can just then send a low resolution image.

  • So you're feeling bad now, bubble you're doing Yeah, No.

  • Yes.

  • So performances top priority.

  • Okay, if you want a sexy on the Web on Webb's, its top greatly, because it was proven that it has to do with commercial.

  • It will give you commercial, so you need to push it even more.

  • You need to start.

  • You need to learn how to measure with the new metrics on.

  • It's a really worthwhile effort.

  • So Okay.

  • So, please, please take take time on budget to improve the performance off your website.

  • Okay?

  • Please.

  • Please do it.

  • So, um, that's an iPhone game.

  • Anyway.

  • Um, make it fast, please.

  • So that's all for me, So thank you.

  • See you later.

  • Because I have another talk.

  • Impressive Web ups on the other room.

  • Thanks.

So I hope you are ready with energy for the talk.

字幕與單字

單字即點即查 點擊單字可以查詢單字解釋

B1 中級

黑客網絡性能 (Hacking Web Performance)

  • 4 1
    林宜悉 發佈於 2021 年 01 月 14 日
影片單字