Пікірлер
@prashlovessamosa
@prashlovessamosa 9 күн бұрын
4 weeks nothing posted
@prashlovessamosa
@prashlovessamosa 27 күн бұрын
can you teach us gRPC or else anything that you use in production stuff like building microservices btw your search engine lectures are too helpful I learnt a lot.
@coffeeintocode
@coffeeintocode 27 күн бұрын
I’ve got done gRPC but I do want to explore it! Microservices though…..yes sir 🫡
@muneefaltamimi8677
@muneefaltamimi8677 Ай бұрын
Bro is inventing a new framework. Let's go. Can't wait to see GoX (Full-stack GO + React) 1.0v (;
@coffeeintocode
@coffeeintocode 28 күн бұрын
Hahahaha thanks a lot! But I highly doubt this would happen. Watch the follow up video if you haven’t. Embedded JS runtimes are not too fun!
@izumiosana
@izumiosana Ай бұрын
do we need node runtime when using it on production? or its only use pure go?
@coffeeintocode
@coffeeintocode Ай бұрын
It’s pure Go :) but take a look at my follow up video. I’ve deployed to production and the results are……not great 😂
@taquanminhlong
@taquanminhlong Ай бұрын
Rendering react still requires the js runtime, and it's just not the best idea to embed it within go. I tried with rust (deno embedded), lots of pain to move on 😂
@coffeeintocode
@coffeeintocode Ай бұрын
Quickly coming to that conclusion myself! It’s fun though 😂
@dracula5752
@dracula5752 Ай бұрын
looks very interesting, love to see with vue
@coffeeintocode
@coffeeintocode Ай бұрын
I don’t know Vue. I assume it has a similar renderToString() api though?
@guseynismayylov1945
@guseynismayylov1945 Ай бұрын
Take a look at EHTML
@coffeeintocode
@coffeeintocode Ай бұрын
Will do thanks for the suggestion!
@a7kerkh
@a7kerkh Ай бұрын
i think it's because of how railway works with node and golang, maybe they use v8 isolate for node and docker for golang, so it's the reason why the performance is so different AND SO IMPORTANT THAT Nextjs doing hard prefer to ssg IT MEANS THAT YOUR CODE IS SSG BY DEFAULT. so that's maybe a reason for this too!!!
@coffeeintocode
@coffeeintocode Ай бұрын
Interesting! Can you message me on Twitter about this, I’ve got no idea about Railway and how it interacts with Node/Go? I thought it was just containers 😅
@gadgetboyplaysmc
@gadgetboyplaysmc Ай бұрын
Damn the performance difference is actually super significant just at a glance. Thanks for the proof of concept dude! This is awesome.
@coffeeintocode
@coffeeintocode Ай бұрын
Yeah I was blown away as well. For low requests the perf was incredible but a couple of hundred concurrent requests and it fell off a cliff. There will be a solution, I just don’t know it yet 😂
@gadgetboyplaysmc
@gadgetboyplaysmc Ай бұрын
Been waiting for this! Cool!
@arturfil
@arturfil Ай бұрын
Looks pretty cool so far! I'm going to take a look at the repo and see what I can do with that, keep the videos coming! 🙌🏼
@coffeeintocode
@coffeeintocode Ай бұрын
Please do! I don’t have enough time to dedicate to this at the moment 😅 ideas and help is welcome!
@programmerjowo
@programmerjowo Ай бұрын
Nice video. You should just generate Js files on the first run
@coffeeintocode
@coffeeintocode Ай бұрын
Yup that’s the plan. I’ve managed to get a nice version working. Hoping to get a video done tomorrow
@programmerjowo
@programmerjowo Ай бұрын
@@coffeeintocode great. I'll be waiting 😁
@codeconcept
@codeconcept Ай бұрын
Great idea: I was also wondering if it was possible to replace Node with Go in these SSR scenarios. Thanks. Coffee into Code, but also Video into Subscriber :)
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks so much! I’ve increased the speed by a lot as well, just need to make a video for it now
@redman_plus
@redman_plus Ай бұрын
In case of props I think you can also cache them and just pull some pre-rendered html out of the hash-map if the props are the same. All of the other optimization ideas also look like the type next.js does, so I think you can make it faster than next.js at the end of the day (mostly because 99% of the javascript will be rendered beforehand and Go is simply faster when serving some data over http, plus you can utilize concurrency to make it serve even more clients simultaneously), but it will basically be a hacky templating engine at this point. Overall, a great video! Wondering if it is possible to make props be computed from backend code (like getting some data from the db) and just be passed as props to the component, turning all this thing into a htmx on steroids type of setup.
@coffeeintocode
@coffeeintocode Ай бұрын
This is great stuff! I’ll have a look at props as well, interesting way of thinking about it which I hadn’t considered
@gadgetboyplaysmc
@gadgetboyplaysmc Ай бұрын
I have a feeling it's possible to just prebundle the JS code and then hopefully have some render function that you can use in Go.
@coffeeintocode
@coffeeintocode Ай бұрын
That was my theory as well! Managed to get it working a few nights ago. Video update coming soon
@gadgetboyplaysmc
@gadgetboyplaysmc Ай бұрын
Great! Just subbed. Can't wait!
@arturfil
@arturfil Ай бұрын
Got a new sub here! Really cool stuff! Do you have a link to a repo?
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks so much! A better version is ready, will get a video out asap
@zehankhan801
@zehankhan801 Ай бұрын
nice work🎉
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks 🔥
@prashlovessamosa
@prashlovessamosa Ай бұрын
Great explanation
@coffeeintocode
@coffeeintocode Ай бұрын
Glad you think so! Thanks for the support
@khanra17
@khanra17 Ай бұрын
you are gayyyyyy
@Axorax
@Axorax Ай бұрын
I haven't used GO yet but this seems like a good tutorial!
@coffeeintocode
@coffeeintocode Ай бұрын
Start learning! It’s such an easy language to learn. This is just an example of a common ORM & Turso db, you can probably find better tutorials to get started 😀
@Axorax
@Axorax Ай бұрын
Cool video 😎👍
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks so much! A better version is coming soon
@amandeep-wf9im
@amandeep-wf9im Ай бұрын
Shouldn’t you compare hugo with next.js ?
@coffeeintocode
@coffeeintocode Ай бұрын
I guess yes…..but that wouldn’t be fun for me 😆
@prashlovessamosa
@prashlovessamosa Ай бұрын
Buddy keeps uploading good stuff.
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks a lot. Lots more to come as well
@pss_crs
@pss_crs Ай бұрын
I recommend OBS for screen recording for high resolution it will better for small Screen like mobile viewers, BTW I like you content can please Talk more about terso comparing to traditional DBMS like postgres specially multi tenant architecture
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks for the tip! Will take a look at OBS. Sure will. I’ve basically migrated from Postgres to Turso at this point so will do something around this
@nooth66
@nooth66 Ай бұрын
Cant wait to do this. Im on part 4 ATM 😊
@coffeeintocode
@coffeeintocode Ай бұрын
Awesome! Let me know on twitter if you have any problems
@Hedui-ls1vf
@Hedui-ls1vf Ай бұрын
Very helpful to me, thanks for sharing!!!!
@coffeeintocode
@coffeeintocode Ай бұрын
Welcome! Will have it finished & deployed over the weekend. Final video out early next week
@Hedui-ls1vf
@Hedui-ls1vf Ай бұрын
Very helpful to me, thanks for sharing!!!!
@jeannussenzveig8393
@jeannussenzveig8393 Ай бұрын
Great vid! Looking forward to see it running :)
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks a lot. Hoping to finish it this weekend and deploy it so the final video can be out next week
@jeannussenzveig8393
@jeannussenzveig8393 Ай бұрын
Very nice! Yesterday I wrote a similar crawler but using playwright-go, since the use-case requires complex actions (clicks, file upload & etc). For anyone else needing to execute complex actions, DOM handling or something similar, I'd recommend playwright-go! Thanks for the video!
@coffeeintocode
@coffeeintocode Ай бұрын
Great call! This crawler is extremely simple. I just wanted something using standard lib. Any browser rendering stuff would be a nightmare
@baptisteleroyer3758
@baptisteleroyer3758 Ай бұрын
Hello. Great vidoo. I think the init db function can go in the init function of the main package that is made for this type of initialisation. That way the connexion to the db is made even before the main fonction. Idem for the godotenv.Load function Is there a reason for you to do the initialization in the main function ? Plus, for the data model gorm have a create model prebuild : gorm.Model With this, the user model is easier : type User struct { gorm.Model Email string `gorm:"unique;not null" json:"email"` Password string `gorm:"not null" json:"-"` IsAdmin bool `gorm:"default:false" json:"isAdmin"` } The gorm model is this struct : type Model struct { ID uint `gorm:"primarykey"` CreatedAt time.Time UpdatedAt time.Time DeletedAt DeletedAt `gorm:"index"` } I think using prebuild functionality of the tool we use is a good think. I learn a lot throught your videos, thank you
@coffeeintocode
@coffeeintocode Ай бұрын
Yup all correct! I just prefer building without gorm.Model so i can see all of my fields (& add my own struct tags) I don’t like the way I did the DB Init 😂 can be improved 100% Thanks for watching!
@jeannussenzveig8393
@jeannussenzveig8393 Ай бұрын
Keep on going, bro! You just got a new sub. Very nice series, editing, audio and code.
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks for the sub! Rest of vids will be here this week
@user-oq2vq9co7e
@user-oq2vq9co7e Ай бұрын
How much time it will take to complete
@coffeeintocode
@coffeeintocode Ай бұрын
There is probably another two hours after this one. The next video for the crawler will be the longest
@Soo_29
@Soo_29 Ай бұрын
+1 sub❤
@coffeeintocode
@coffeeintocode Ай бұрын
Thank you! New video out now :)
@nooth66
@nooth66 Ай бұрын
just coded this along with you. looking forward to part 3!
@coffeeintocode
@coffeeintocode Ай бұрын
Just released now! Part 4 & 5 should be within the week
@nooth66
@nooth66 2 ай бұрын
this is precisely what ive needed for some time now. following along. Please dont stop!
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks so much. Part 3 out now. 4 & 5 should be soon after :)
@nooth66
@nooth66 Ай бұрын
@@coffeeintocode thats my plan for the evening. Thank you!
@user-oq2vq9co7e
@user-oq2vq9co7e 2 ай бұрын
Sir make a one video daily
@coffeeintocode
@coffeeintocode Ай бұрын
I would love to but a full time job & a family life make that impossible. I will try to get this series finished asap
@pedrolemos3030
@pedrolemos3030 2 ай бұрын
awesome content!
@coffeeintocode
@coffeeintocode Ай бұрын
Glad you enjoyed it. Thank you so much!
@jthaax
@jthaax 2 ай бұрын
You need to modify your capture area for the next one, you are cutting off the top and bottom
@coffeeintocode
@coffeeintocode Ай бұрын
Thanks for the tip, can't believe I missed this. Appreciate the heads up!
@a.lollipop
@a.lollipop 2 ай бұрын
ive always been interested in making a search engine, this will definetely be very interesting :3
@coffeeintocode
@coffeeintocode Ай бұрын
So glad to hear this. Part 3 out now. Part 4 will follow soon after
@user-of2py6lo4j
@user-of2py6lo4j 2 ай бұрын
Sounds like a cool project, can't wait to see how someone would approach building this in Go
@coffeeintocode
@coffeeintocode Ай бұрын
Its kinda cool in Go. Hoping you all like it
@vaibhavsingh8122
@vaibhavsingh8122 2 ай бұрын
why postgres ? isn't the memory footprint of postgres way higher than mysql ?
@coffeeintocode
@coffeeintocode Ай бұрын
It is :D but its also a little faster. It doesn't make a huge difference to be honest. You could easily change it to use MySQL
@FitraRahim
@FitraRahim 3 ай бұрын
You should put "Web API" not just "API".
@coffeeintocode
@coffeeintocode 3 ай бұрын
Good suggestion! I’ll change that later today
@stonehat
@stonehat 3 ай бұрын
This video was fun to watch, especially with the updates to the go standard lib.
@coffeeintocode
@coffeeintocode 3 ай бұрын
Oh wow, thanks a lot, appreciate that!