- 54
- 61 165
Ljupche Vasilev
United Kingdom
เข้าร่วมเมื่อ 29 ต.ค. 2011
Sharing my knowledge and experience from the years spent working as a software engineer
Chrome Dev Tools Tips For Web Devs
Desk setup:
💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH
⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ
🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn.to/48YZvfZ
📱 Laptop stand: (US) amzn.to/49X0Ghu | (UK) amzn.to/3wZYwPy
🖥️ Dell 27 inch Full HD Monitor: (US) amzn.to/3TFj0FX | (UK) amzn.to/49ZaIi4
🔲 Dual Monitor Stand: (US) amzn.to/3vr0MyG | (UK) amzn.to/48XxRjK
🎧 Beats Studio Pro: (US) amzn.to/3Tj3yy9 | (UK) amzn.to/3ViiaAr
💡 Notion software project template: affiliate.notion.so/lv-software-project
Background song by:
soundcloud.com/dahjp
💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH
⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ
🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn.to/48YZvfZ
📱 Laptop stand: (US) amzn.to/49X0Ghu | (UK) amzn.to/3wZYwPy
🖥️ Dell 27 inch Full HD Monitor: (US) amzn.to/3TFj0FX | (UK) amzn.to/49ZaIi4
🔲 Dual Monitor Stand: (US) amzn.to/3vr0MyG | (UK) amzn.to/48XxRjK
🎧 Beats Studio Pro: (US) amzn.to/3Tj3yy9 | (UK) amzn.to/3ViiaAr
💡 Notion software project template: affiliate.notion.so/lv-software-project
Background song by:
soundcloud.com/dahjp
มุมมอง: 65
วีดีโอ
Documenting Event Driven Architecture Well
มุมมอง 6921 วันที่ผ่านมา
Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn.to/48YZvfZ 📱 Laptop stand: (US) amzn.to/49X0Ghu | (UK) amzn.to/3wZYwPy 🖥️ Dell 27 inch Full HD Monitor: (US) amzn.to/3TFj0FX | (UK) amzn.to/49ZaIi4 🔲 Dual Monitor Stand: (US) amzn....
Using CursorAI as a Senior Software Engineer
มุมมอง 188หลายเดือนก่อน
Join me as I explore CursorAI whilst working on my blog and share some of the features I find useful. Also in this video I share my opinion on CursorAI as a software engineer with more than 8 years of experience. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: ...
How Does ATproto And BlueSky Actually Work
มุมมอง 402หลายเดือนก่อน
Join me as we explore the new authentication transfer protocol (atproto) that's behind the new twitter alternative Blue Sky. I found it very fascinating how this works and am excited to share my findings with you. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse:...
Monitoring For Microservices And Why It Matters
มุมมอง 100หลายเดือนก่อน
Monitoring micro-services can be quite challenging and very different than monitoring monolithic applications. Join me as we explore why monitoring matters and how to do it properly. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) am...
How SQLite is Becoming So Popular
มุมมอง 1.1Kหลายเดือนก่อน
SQLite seems to be getting a lot of attention. In this video I'm diving deeper into why, explaining how SQLite works, it's pros and cons and people that are using it in production. Resources: www.sqlite.org/howitworks.htmlwww.sqlite.org/arch.htmlwww.sqlite.org/whentouse.htmlwww.sqlite.org/crew.htmlonce.com/campfireth-cam.com/video/0rlATWBNvMwh/w-d-xo.htmlttps://highperformancesqlite.com/docs.tu...
Is Wordpress Finished? (wp drama update)
มุมมอง 6142 หลายเดือนก่อน
The conflict between Matt Mullenweg and WPEngine is still going and a lot has happened since my last video on the subject so let me bring you up to speed on the latest developments. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amz...
How To Keep Data Consistent In Distributed Systems
มุมมอง 922 หลายเดือนก่อน
Let's talk about eventual consistency and how it helps high traffic websites like facebook and twitter operate and provide good user experience and how it can help you when designing your next distributed system. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: ...
Why You Need To Use Database Transactions
มุมมอง 1092 หลายเดือนก่อน
Let's explore database transactions, what they are, what do they help with and why they're useful. I promise you will need this if want data integrity. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn.to/48YZvfZ 📱 Laptop stand: (...
Another 3 Advanced Typescript Techniques
มุมมอง 4702 หลายเดือนก่อน
Join me today as we talk about three more advanced typescript techniques that will help you prevent bugs, improve your workflow and team colaboration. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn.to/48YZvfZ 📱 Laptop stand: (U...
Why You Should Use Tailwind
มุมมอง 4912 หลายเดือนก่อน
Join me as we discover 5 advanced tailwind tips to get you from beginner to PRO. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn.to/48YZvfZ 📱 Laptop stand: (US) amzn.to/49X0Ghu | (UK) amzn.to/3wZYwPy 🖥️ Dell 27 inch Full HD Moni...
New Front-End Framework: One
มุมมอง 1383 หลายเดือนก่อน
It was bound to happen but there's a new react framework that was announced at the ViteConf 2024 that aims to combine React Native and ReactJS in one codebase, focusing on local first development. So join me in this video while we explore what this framework offers. onestack.dev/ Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard...
What Happened To Wordpress?
มุมมอง 5893 หลายเดือนก่อน
Let's dive into the Matt Mullenweg (Automatic) vs WP Engine drama that has ensued over the last few days and understand why it happend and share my thoughts on how it was handled. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (US) amzn.to/3J1Juf3 | (UK) amzn....
From Idea To Robust Document Database Schema
มุมมอง 5343 หลายเดือนก่อน
Designing the database is one of the crucial steps when starting to build a new application, especially when it comes to document databases because even though they are very flexible, it can be daunting to choose the correct schema to best support your application. And in this video I will be going from an idea to a document database design and explaining the core ways how to design document da...
How Non-Functional Requirements Will Make You A Senior Software Engineer
มุมมอง 2833 หลายเดือนก่อน
Let's talk about non functional requirement, what they are, how they differ from functional requirements and most importantly how focusing on non-functional requirements will make you a senior software engineer. Desk setup: 💻 Macbook Air M2 8GB RAM, 512GB SSD: (US) amzn.to/4ckunuo | (UK) amzn.to/3PrjddH ⌨️ Apple Magic Keyboard: (US) amzn.to/3IGam3J | (UK) amzn.to/3TetzOQ 🖱️ Apple Magic Mouse: (...
All You Need to Know About AWS Lambda | In Depth
มุมมอง 5964 หลายเดือนก่อน
All You Need to Know About AWS Lambda | In Depth
Microservices And Why They Are Useful
มุมมอง 1084 หลายเดือนก่อน
Microservices And Why They Are Useful
Do Not Use Lambdas For CRUD Operations
มุมมอง 724 หลายเดือนก่อน
Do Not Use Lambdas For CRUD Operations
Is Working at a Tech Startup Actually Good?
มุมมอง 895 หลายเดือนก่อน
Is Working at a Tech Startup Actually Good?
5 Common AWS Exploits To Watch Out For
มุมมอง 2395 หลายเดือนก่อน
5 Common AWS Exploits To Watch Out For
Simplify Your Workflows with State machines
มุมมอง 1795 หลายเดือนก่อน
Simplify Your Workflows with State machines
Component Streaming And Streaming In NextJS
มุมมอง 5455 หลายเดือนก่อน
Component Streaming And Streaming In NextJS
How To Stay At The Same Level In Your Career As Software Engineer
มุมมอง 8696 หลายเดือนก่อน
How To Stay At The Same Level In Your Career As Software Engineer
Is Dividing The Front End Actually Useful?
มุมมอง 2626 หลายเดือนก่อน
Is Dividing The Front End Actually Useful?
Is useReducer Really Better Than useState?
มุมมอง 3277 หลายเดือนก่อน
Is useReducer Really Better Than useState?
Working on my side project (software engineer in edinburgh) pt. 2
มุมมอง 1637 หลายเดือนก่อน
Working on my side project (software engineer in edinburgh) pt. 2
i've been pretty excited about the at protocol and playing with it too. i'm excited to see what people do with it
good video
Both ANSI layout so a hard pass
Great video, I have been using Cursor for some time, and I really enjoy it. Keep it up 👍🏻
I use Cursor, but why on Earth would I get lost in the current trends on Tech Twitter?
Good question
I was planning to build 2 websites on WordPress in the next few weeks after just building one for my wife on WordPress. If I'd known all of this before, I would have absorbed the cost of Webflow and build hers there. At least I know now not to waste time building the other 2 on WordPress because I don't have the time for this drama and any potential impact on my sites in the future.
Matthew Mullenweg is of the same ilk as Elon Musk: basically a massive d**k.
Great short summary. The order analogy makes it really easy to see a good use case for them.
Glad it was helpful!
Thanks Ljupche. Really useful and underrated content. I hope it gets more credit.
Much appreciated!
Thanks 🍻
Tailwind sucks. It's just another language that forces your CSS inline with your HTML. Now you have to serve tons of inline CSS along with Tailwind creating unnecessary code bloat for your users. Why do this to them?
Every tool serves it's purpose. IMO it's good to have options and you can choose the best one that fits your requirements and style of writing code.
I would disagree. I love using it, massively time saving. It depends on what you're building, there is no one approach that's best for everything. What do you mean code bloat for your users, what kind of user are you talking about? Tailwind does have the @apply directive, to remove it from inline, but it's largely considered an anti-pattern in tailwind, since inline is the intention. Personally I love the inline styling, only sometimes it becomes a bit verbose, but that's a worthwhile trade-off in my mind.
🎉🎉🎉🎉
Matt at WordPress seems way out of line. I'm glad Ljupche pointed out that you are not in control when you use these systems, you don't control the code. I have seen many "Open Source" projects turn closed source for profit once they become popular, with a sob story that they need to make money to maintain a mature project. Don't kill open source; build a business based on the project you maintain.
WPE is almost as big as Automattic but it contributes to WP way way less than it should.
🎉🎉🎉🎉
❤
If there is ingredientsAmout in the mealIngredients table How can you calculate the calorie value of that meal? Suppose we have chicken as an ingredient in the ingredients table and in the mealIngredient we select 100 grams of chicken? If Ui wants to display the calories of the meal, how will it be done?
The mealIngredient table will have an ingredientId and the ingredients table will have macros like how many calories per 100g. A simple join can give us the information combined so then we just need to multiply the ingredient calories by the ingredient amount.
Thanks for sharing brother. Good practical use case.
Thank you 🙏
no source?
I’ll try to upload it 😅
Great Video You nailed all the important parts of building the software
Thank you 🙏
What software is this!!?
Eraser io
So we buying 2 kilos of chicken or nah 😅
2kg per week 😂
@@LjupcheVasilev 😂😂😂
Amazing, Which tool you used for that ?
Notion, check the description for a link to sign up
I will need something like this in the future
Iam currently studying software enginnering and at my college nearly 50% of all what we learn is documentation. I think its so important when you work at a large corporation because at some point the technical debt gets so big that it just stagnates
Agree 💯
What's tool you use for design db in this video?
looks to be Eraser io
Yep it’s Eraser io
Thank you for a well thought out video on this subject. I tend to find that the argument against micro services tends to be around cost and control.
Yeah that makes sense. Glad you liked the video :))
Cool video man! keep it up!
Thanks, will do!
Is the reason you created a separate ingredients table is so you wouldn't break 1N (first normal form) rules:storing a repeating group of items?
I think so. I couldn't really articulate it at the time but the experience probably came through and felt like the right thing to do.
Thanks, some useful tips there.
Glad you found them useful! 🙌
Thank you for these points.
🙌🙌
nice, as always!
Glad you like it! 🙌
awesome video mate :D
Thanks! Glad you like it
Can we export the diagram to sql statements to create the database ?
Yes there’s an SQL/ORM but depending on what database you use it might not fit exactly. I used Prisma when filming this and had chatGPT transform the sql to prisma table definition
@@LjupcheVasilev Thanks for the insight, do you send the ER diagram as prompt to ChatGTP 4o to get the SQL statements to create the database ?
No the Eraser tool provides the code for the data model which I give to ChatGPT with the prompt to change it to postgresql for example. More info on the eraser data model feature here: www.eraser.io/use-case/data-model
Best explanation
Glad you found if useful
8. Do not try to mentor / prepare tech talks for anyone
8 steps doesn’t sound as sexy as 7 steps
Great video 👍 it would be nice if you had chapters in your video to flip between.
I should start adding chapters again.. Will continue from the next video!
We going back to entry level with this one 🗣️🗣️🗣️🗣️🔥🔥🔥
wow with this I will stay intern forever. thanks
Glad I could help
Don't worry, I am constantly looking for feedback, trying to improve, asking colleagues for review, helping out colleagues, reading into new topics.But I will still stay junior forever.
Nice recommendation. I think useReducer can be a nice option to delegate some of the logic from the component while avoiding overusing redux or context for some state management only occurring in one component.
Yeah, great point, delegating logic is definitely another one of the advantages of reducers
great video man, keep making more
Thanks!
hi what is the tool used here? subbed
Thanks! I used Eraser to model the db if that’s what you meant
How on earth this video doesn't have 100k views? Amazing content!
I keep wondering the same thing bro 🤷♂️
You can use Eager Loading or "Nested reads" as Prisma calls them to fix the performance issues you mentioned. ORM are not bad, it's the developer(s) that does not know how to take advantage of it
0:13 raw SQL looks simpler. ORMs are useless abstractions.
Yeah I guess, but I can see how it helps someone that doesn’t know sql to get the job done
@@LjupcheVasilev I used to think the same long time ago. The problem is that you need to learn different ORM for each framework and programming language while you only need to learn SQL once and you can use it everywhere. Also, instead of ORMs more valid solution would be to generate type-safe code from SQL instead with tools like sqlc that verifies if your queries are valid and matches table schemas created with migrations. SQL should be source of truth for the table schema and queries. Using ORM or DSL for it just adds problems. The initial idea for ORMs comes from old times when we needed abstract databases to give ability to support multiple database types like Postgres, MySQL, SQLite when self-hosting. Nowadays we rarely builds products that need that nor do modern ORMs even support it right now.
You can do Joins in prisma
Does Prisma then execute only one SQL query or it still does multiple?
@@LjupcheVasilev in some recent updates they added native sql joins so yeah it does now
brother, mankind invented Drizzle a long time ago.
Maybe it’s my little bubble of people I follow online but I heard about it only a few months ago
Whenever I'm starting a project I always rush through the initial design phase and lean heavily on chatGPT to make my db models and solve my engineering problems for me. It has been a huge issue for me as a learning developer and I've realized that just taking the time and spending a few hours (or even days if you have to) on designing the infrastructure of your app manually and gathering a deep understanding is way more important than rushing through and coming out the other end not having learned anything.
Thanks for sharing that and yeah I completely agree. I didn’t have ai tools when I was learning to code but once in a while I would just copy and paste a whole solution and at the end realise that I’m only fooling myself :)
Yeah that's wise. Db modeling is as much of a business problem as it is an engineering problem, in my opinion. For now, AI won't be solving business problems for you.
My former lead engineer used to tell me,"Haste makes waste". It sounds like you're learning from your past. Keep up the good work!
Don't rely on AI to do it all, but use it like a coworker / expert in the field of a problem you are solving. You can move fast AND learn at the same time. That is the most optimal to ensure you move a little faster but also learn and retain it all as you go rather than just letting the AI do it all and then being clueless.
This is genuinely helpful 🎉
Glad you found it helpful :)
Reason why prisma does this is because it was never meant to be an ORM, it started as a graphql thing and that graphql engine still lives and is the default way the query engine works unless you specify "protocol: json", but still joins are horrid and rarely work. Their focus is on monetization right now and they've built entire walls and gardens regarding this (prisma data platform etc), i think they're building edge DBs right now which solve nothing. tldr write your own sql or compile sql to typesafe code (sqlc+go) or runtime check it (sqlx + rust).