Screw Vite! I'm Rolling out My Own Hot-Reloading!
Ғылым және технология
Streamed Live on Twitch: / tsoding
Enable Subtitles for Twitch Chat
More Episodes: • Raycasting in TypeScript
Chapters:
- 00:00:00 - Day 1
- 01:24:17 - Day 2
References:
- github.com/tsoding/raycasting
Support:
- BTC: bc1qj820dmeazpeq5pjn89mlh9lhws7ghs9v34x9v9
- Pay for my VPS: zap-hosting.com/en/shop/donat...
Пікірлер: 110
Tsoding one step closer of being a web dev
@paolobooker4163
10 күн бұрын
OMEGALUL
@kabukitheater9046
10 күн бұрын
he'll be drinking soy lattes and owning macbooks in no time
@kevinnguyen163
10 күн бұрын
He is almost there! Come on tsoding!
@Marhaenism1930
10 күн бұрын
@@kabukitheater9046 thats fking true lol..
@dixztube
10 күн бұрын
@@kabukitheater9046 this made me laugh out loud lol
holy shit zozzin actually hot reloaded the colour of his t-shirt
You either die a backend dev or live long enough to see yourself write another frontend framework
@sanjaux
8 күн бұрын
Yup and everyone has their own ideal version of one. I feel like having your own personal system is a must, as long as you don't force it on other people's workflows.
I find the play on words between "Screw" and "Vite" very amusing. In Italian, the word "vite" means "screw". 😄
"U don't even have a cs degree" hit a little bit close to home...
@jordixboy
10 күн бұрын
minute?
@Smileyassassin47c
10 күн бұрын
@@jordixboy literally first minute lol
@cobbcoding
10 күн бұрын
@@Smileyassassin47c you expect me to watch a whole minute?
@juanmacias5922
8 күн бұрын
@@cobbcoding LUL 0:48
If I have half the knowledge he has, I will be set for life lmao
genius jokes amongst the content! truly hilarious takes and the part where you shit on the thing holy
Oh no, Tsoding's Mr.Webhyde is breaking through! 😆
On hot reloading, where you want the app's state to be preserved. Lisps do provide this type of dev experience via repl-driven development. It's really something I can recommend to every dev to try.
Bad news everyone, vector math has changed. Time to update all your formulas.
I like how you explain what are you going to implement and how to do so. ironically it helps me a lot to improve my interview skill 😂
What if you did something like `state = new State(state)` after hot reloading the class module. Basically, have a constructor or migrate function that takes the older state and gives a new state. It might even allow implementing complex migration strategy if necessary.
Vite is actually the single thing that makes web dev not a complete pain in the ass. It's way more sane compared to something like create-react-app or than having to configure a bundler yourself. zozin is going full-on war with the web developer community.
@ivanjermakov
10 күн бұрын
Except that you need to understand both esbuild and rollup that it is using for plugins/minification and bundling respectively.
@brambasieldev
10 күн бұрын
@@ivanjermakov Fortunately I haven't had to learn those yet. After struggling with cmake and gradle for years. I never want to deal with build system-like things ever again and certainly not any meant for the web. 😅
@ivanjermakov
10 күн бұрын
@@brambasieldev all such tools feel good when you have streamlined problems to solve. Once you need some custom and tricky logic, those programs either shine or fall apart (usually former).
@oserodal2702
10 күн бұрын
@@ivanjermakovEven then, you can just write a vite plugin.
@benisrood
9 күн бұрын
@@brambasieldev Last time I tried CMake (admittedly that was 5+ years ago) it was so incredibly painful to get the most basic project working.
57:39 is this memory leak (every hot reload new module gets loaded but old module is not unloaded)?
you should definitely check out "Ray Tracing in one Weekend" series after this one
is it possible, to get Mr. Zozin a new laptop via patrion or smth? Am very curious how his projects run on a up to date machine
@mbarrio
10 күн бұрын
His projects are open source. Try them in your own machine.
@PyguK
10 күн бұрын
I already did. But thats not what i mean. It would be interessting, seeing him develope his code on an modern machine...
@benisrood
9 күн бұрын
He doesn't need a new laptop, he needs a decent desktop.
tsoding, some frontend javascript web dev guy i saw on youtube
his flex on dev js in ie 6 was pretty rad
Thank you....
We love you man❤
You're so happy about this and I love to see it.
@bhavyakukkar
6 күн бұрын
no way you made Woven what are you doing here
@sanjaux
6 күн бұрын
@@bhavyakukkar I lowkey like development more than music but I'm not smart enough
@bhavyakukkar
6 күн бұрын
@@sanjaux very cool, love to see you here
41:57 I'm surprised you didn't vanilla your way through this but also understandable.
As a Brazilian is pretty hard to stop thinking in asses. Sorry about that!
@nyyakko
10 күн бұрын
éoq zé 🤨
@DenisS-no9us
10 күн бұрын
Salve tropa 🫡
Zozin especially Zoidberry when it comes to Next Epic Start-up Ideas
1:09:03 Wait what if you say if ( dvd["update"] ) { dvd.update(ctx, deltaTime) }; to check if the Object has an update property, then in that case the type would be correct and can be assigned when it's ready. I think it's assigning the Object too early or something. This also includes methods. edit: nvm lol well this will be here to let people know they can check Object["Property"] like that.
Is this a dream ? Is he still rocking typescript?
What's funny is that you could do this clientside.
@benisrood
9 күн бұрын
And it would arguably be faster. Well, if he used WebGL it would be massively faster, of course. You just have far less flexibility to program from scratch how you want.
так все таки факинг или фокинг? ))
Content like this is why I play for my internet plan✨💪
@rubyciide5542
10 күн бұрын
What the fuck does *playing* for internet give?
@MYNKS18
9 күн бұрын
Hahaha! *pay
really enjoyed this... subscribing for more
have you tried the D language?
7:13 😆🤣😆🤣
you are kreppy guy
Tsoding is out for blood hahaha
try odin lang in the next stream
Absolutely true regarding distractions though ... I been coding a long time now (30 yrs+) and I can get myself in to the 'zone' such that I don't realise 8 hours of time has passed ... But it something/someone distracts you with something out of context, then it can take a *long* time to get back into your flow ... I hate it, I'd rather code in MUMPs then have my choice of language and ocassional interuptions!
@suvetar
8 күн бұрын
I must say that I really like the idea of having hot reload that works on granularity inside even a single file!
01:14:11 Object.setPrototypeOf(state, dvd.State.prototype)
ну так и что? квейк хотя бы на 500 фпс-ов получится не?
I am a windows user can I follow your other videos using docker, if it is yes how?
@maximus8045
10 күн бұрын
Lol just lurk more The whole point of this channel is to figure out this type of things on your own, and have fun doing it
@naive_algorithm
10 күн бұрын
@@maximus8045 actually I tried some ways but couldn't figure it out now I am wondering is it possible?
56:46 ты мог грузить все файлы модуля по его имени + хеш его контента в имени собираемого файла и передавать его через ws. Это оставит шех браузера если файл ошибочно посчитали изменённым и будет давать нужный тебе и браузеру результат
Live reloading, not cold reloading
TSoding should became web dev to create a new web framework within many issue then tools to solve them but need bunch of useless configuration to make it `just work`.
@artemm8087
10 күн бұрын
To solve problems in framework just make another one.
@Marhaenism1930
10 күн бұрын
@@artemm8087 dang!
i don't have cs degree but code since I am 14 years old, this hurt my feelings
@TsodingDaily
10 күн бұрын
🫂
@chri-k
10 күн бұрын
@@TsodingDailywhat even is that emoji
@loptatyson8095
10 күн бұрын
Two people hugging, shown as faceless blue forms on most platforms.
@chri-k
10 күн бұрын
@@loptatyson8095 think emojis should be reverted. 99% of the ones which are actually used are either ambiguous or make no sense, they are super inconsistently implemented, some implementations turn them into things that aren't text, for some ungodly reason some emojis share a code-point with another character which messes up everything ( i'm looking at you three especially, ↗️, ♾️, and one of ◼️⬛️◾️ but these three completely different characters look extremely similar while the variants of ⬛️ supposed to differ only in colour don't look like ⬛️ at all), they don't respond to any font parameters besides size, and chief of all they are coloured meaning they ruin any styled text they appear in by standing out too much
@Gers217
10 күн бұрын
😬😬😬
Ес БЛЯТЬ
`npx browsersync` /thread
2
Why dont you just use suckless surf browser, when the other brothers bother you that much?
@kexec.
5 күн бұрын
surf is broken and no one cares
tip: add `#define HACKABLE false` in your code to avoid getting hacked
@adama7752
9 күн бұрын
#undef HACKABLE
1
type ModuleType = typeof import("./my_module"); // This is the import type!
"FK you you don't even have CS degree?" The superiority complex is wild...
@AndrewTSq
10 күн бұрын
You should only know how elitist some cs degrees are. And then you see they hardly know Java 😂
@lucolesco
10 күн бұрын
He was joking...
@fkw0k3t4rd5
10 күн бұрын
@@lucolesco I hope so. I might have missed it I guess
@brambasieldev
10 күн бұрын
@@AndrewTSq Funnily enough, Java is the lowest level of programming I'm seeing in my degree.
@AndrewTSq
10 күн бұрын
@@brambasieldev ah yeah. Even more funny is in the 70ies C was considered to be a high level language :O
2