Тёмный
platis.solutions
platis.solutions
platis.solutions
Подписаться
Error reporting in C++ - Booleans (6/13)
1:40
2 месяца назад
Error reporting in C++ - Exceptions (2/13)
4:45
4 месяца назад
Let's get comfortable with SFINAE (C++)
35:55
9 месяцев назад
Sleep with the parrotfishes
3:22
2 года назад
Комментарии
@chankayau
@chankayau 5 дней назад
SFINAE was like extreme engineering: trying to build a wooden skyscrapper. now `concepts` is the steel invented to safe it.
@platisd
@platisd 5 дней назад
Nice metaphor. I have some good material on concepts so I wonder if I should make a C++20 follow up on SFINAE 😁
@mashtonish
@mashtonish 9 дней назад
rampant acronyms, "code smells", pimpl... sometimes the things people come up with are gross.
@NickEnchev
@NickEnchev 14 дней назад
Surprisingly good video!
@AnastasiosKoutian
@AnastasiosKoutian 14 дней назад
Congrats on a very clear and useful set of videos on error reporting. I hope std::expected is coming up soon!
@platisd
@platisd 14 дней назад
It will be the 12th video of the series. Saving the best for last. 😁
@matthewjacobs141
@matthewjacobs141 22 дня назад
I'm I the only one curious about the Man Made round stone structure on the bottom of the Med?
@platisd
@platisd 21 день назад
If I'm not mistaken it should be a truck wheel or so.
@matthewjacobs141
@matthewjacobs141 21 день назад
@@platisd Could be
@hr1100
@hr1100 Месяц назад
Thank you for this. I've read several articles and watched cpp con presentations. Your take on the subject was the best i've encountered yet all because you eased us in with the very basic building blocks first.
@heartbrave7476
@heartbrave7476 Месяц назад
超级棒的视频,深入浅出,娓娓道来,使我明白了很多关于C++的用法。
@_noisecode
@_noisecode Месяц назад
Great, approachable, yet in-depth tutorial on an advanced topic. RU-vid needs more content just like this.
@platisd
@platisd Месяц назад
Thank you so much for the kind feedback! :}
@Chupe_chupe
@Chupe_chupe Месяц назад
Great video
@eurbanautotech
@eurbanautotech 2 месяца назад
Thanks for the awesome video. I've been programming C++ for 25 years but non professionally. I used to think all the abstract programming design theories were just "corporate bloat". I had the mentality of "shut up and code!". But as you can imagine, projects became increasingly complex as project size grew. This forced many projects to go unfinished. I was CONSTANTLY having to rewrite code. Not to mention near full-rewrites... Stuff was near impossible to maintain or extend... the list goes on. Finally, I've been making a concerted effort to write maintainable code so I don't have to keep rewriting everything from scratch all the time! I definitely agree with your beginning of the video. I tried looking through some SOLID videos before but they were based on other languages. The implementations were quite different and definitely made the examples harder to relate to. Thanks again! I've subscribed and will definitely be checking out your other videos.
@troypayne8706
@troypayne8706 2 месяца назад
'promo sm' 🙄
@pawankataria5970
@pawankataria5970 2 месяца назад
Thanks for this, you made SFINAE easy for the world !
@zeez7777
@zeez7777 2 месяца назад
This is truly an amazing video. Thank you for this presentation.
@RishmaceInDaFace
@RishmaceInDaFace 2 месяца назад
My first language is english and you speak 100x more clearly and amazing vocabulary 😂, very well explained video
@danidondeandas
@danidondeandas 3 месяца назад
Nice work here! :)
@pengliu9987
@pengliu9987 3 месяца назад
Nice and informative video. One suggestion to the terminology of "subclass" at 14:45 (At ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--Z7EOWVkb3M.html). Things such as typename S::IpV4, S::IpV6 in C++ are called member type, while "subclass" typically means "derived class".
@platisd
@platisd 3 месяца назад
You're correct! I hadn't noticed this until you mentioned it. Another term could be "nested class". 👍
@noah_hines
@noah_hines 3 месяца назад
Great concept for a tutorial!
@TheFinagle
@TheFinagle 4 месяца назад
Thank you for this clear description. This is what I needed for my own Menu backend I have been working on. I was trying to figure out how to have a lot of options for overlapping functionality without having to have a ton of different classes or calls - I can wrap each base functionality into a component and use a builder like design to construct a composition class that has whatever is needed for a particular element. Sometimes I find the text book descriptions of things like this kinda hard to visualize, and the extremely simple sample code snippets too simple to show whats going on. I like these more moderately complex samples that actually show things at work and give room to think a bit about how data is being moved around to get where it needs to be.
@platisd
@platisd 4 месяца назад
Very happy to hear the example suited right for your use case! 👌
@asmaamohamedmagdhelali5610
@asmaamohamedmagdhelali5610 4 месяца назад
Is the open ai key needs a payment plan to be got or is it free ?
@platisd
@platisd 4 месяца назад
Hi, as it's mentioned in the Github repo, yes, an API key that you pay for is required. It's not a plan-based subscription though, you pay as you go depending on how much you use it.
@gatita_liliana
@gatita_liliana 4 месяца назад
Great video
@Aksoma
@Aksoma 4 месяца назад
Nice presentation, I wouldn't expect anything else :) BTW, you should think of investing in a good mic and especially sound proofing where you record these videos
@raymitchell9736
@raymitchell9736 4 месяца назад
I'm looking forward to hearing about error handling and reporting lectures... and there are 12 lectures in this series? Wow, this is going to be a deep dive, excellent!
@platisd
@platisd 4 месяца назад
There are 12 more parts indeed, but you don't have to wait. You can already check them out on Udemy for free: www.udemy.com/course/error-reporting-in-cpp/ The best part? There are also interactive coding exercises for each technique. :}
@platisd
@platisd 5 месяцев назад
1000 subscribers reached! Here's the written tutorial: platis.solutions/blog/2024/01/27/lets-get-comfortable-with-sfinae/
@UsernameUsername0000
@UsernameUsername0000 5 месяцев назад
Perfect presentation & pace!
@mohamedhussien4013
@mohamedhussien4013 6 месяцев назад
Thank u so much for the great explanation. Real-world examples are awesome.
@user-fz5pw5kg3w
@user-fz5pw5kg3w 7 месяцев назад
Thank you! Your examples were excellent, and I came away with a better understanding of SFINAE and alternatives.
@anthonysteinerv
@anthonysteinerv 8 месяцев назад
If I want to reuse the builder object to build, let's say, 2 menus, do we have to create a new Menu after the std::move on the build method?
@platisd
@platisd 8 месяцев назад
Correct. Alternatively, if you really want to avoid creating a new builder object (for whatever reason), you could instead store all the different "attributes" in the `Menu` class and only create a `Impl` object when someone calls the `build()` function. In that case the `withBorder`, `addOption` etc methods of the `Builder` class would merely set member variables and only create an `Impl` object upon the call of `build`. If you'd like us to discuss with more details and potentially code examples, please start an "issue" or a "discussion" in the GitHub repo (github.com/platisd/cpp-builder-pattern).
@f4nworld
@f4nworld 8 месяцев назад
From PR description to Skonaki! All with the help of AI. Amazing, make it a series!
@platisd
@platisd 8 месяцев назад
Nice idea! 😁
@Aksoma
@Aksoma 8 месяцев назад
Why waste 30 minutes writing down your notes when you can spend 5h failing to automate note-taking?😅
@MartinCordova
@MartinCordova 8 месяцев назад
Very well explained
@lullabydayal1202
@lullabydayal1202 8 месяцев назад
I've listened to Dimitris talk in C++ Athens meetup. This is a brilliant session covering SFINAE; its alternatives and some cool techniques with it (I wouldn't know). I'm planning to revisit this video again for referring some advanced topics discussed whenever I need. I would recommend this video as a great watch to all C++ enthusiasts.
@eotcoldhymns2930
@eotcoldhymns2930 8 месяцев назад
I watched your other video on SFINAE. I personally like the way you present. Please keep it.
@platisd
@platisd 8 месяцев назад
Thanks for the kind words of encouragement! 🧡
@vukasinstrbac3742
@vukasinstrbac3742 8 месяцев назад
A good explanation. A perfect continuation would be achieving the same thing with concepts.
@isha_928
@isha_928 8 месяцев назад
Great project! I need guidance regarding implementation of the project according to current android versions
@platisd
@platisd 8 месяцев назад
Well, what have you tried and where did you get stuck? Keep in mind this isn't a beginner friendly project.
@platisd
@platisd 8 месяцев назад
What about you open an issue on the Github repository? ( github.com/GallopingSnaiI/SmartCar ) As you can probably tell, I have no way of imagining what the error you're encountering is and RU-vid isn't the best place for such discussions. Also, please tag @platisd so I can get a notification.
@eotcoldhymns2930
@eotcoldhymns2930 9 месяцев назад
really great video from scratch
@MrCiscoski
@MrCiscoski 9 месяцев назад
Thanks this was really well presented
@gatita_liliana
@gatita_liliana 9 месяцев назад
ahhhhhhhhhhhhhh great video
@dariuszantoniuk
@dariuszantoniuk 9 месяцев назад
C++ needs to die.
@platisd
@platisd 9 месяцев назад
My typical reaction as well, whenever I have to review code that involves template meta programming 😅
@incalite
@incalite 9 месяцев назад
Very informative Dimitris, thanks!😀
@gabrielsilveira2779
@gabrielsilveira2779 10 месяцев назад
Hello, would it be able to analyze the similarity between projects of the same language?
@platisd
@platisd 10 месяцев назад
A "project level" similarity, no. This tool compares files to other files. You might be able infer project-level similarity with some modifications to the script, but I haven't thought it through.
@iiilllii140
@iiilllii140 Год назад
Does the alternative "DI with template parameter" create code bloat, if I only use it for testing? I like your video very much!
@platisd
@platisd Год назад
Well, it's a template so maybe a little bit? :) It saves you the trouble of doing the link-time switch thing.
@BryanChance
@BryanChance Год назад
I don't like C++ almost as much as I don't like Python. LOL C++ is too complicated. People say Python is easy.. NO it is not easy at all.
@platisd
@platisd Год назад
What is easy then? 😅
@panos270772
@panos270772 Год назад
Are you Greek dimitrios ?
@platisd
@platisd Год назад
Is it that obvious? 😆
@jgmccabe
@jgmccabe Год назад
I believe you mentioned that this is a technique appropriate to specialisation at link-time, i.e., if you wanted to use a SPI comms interface instead of I2C for an application, that would require the source code for Gyroscope::GyroscopeImpl in Gyroscope.cpp to be physically different. Is that correct? If you wanted to decide, at run-time, whether to use SPI or I2C, would you extract an interface, say CommsDevice, implemented by I2cCommsDevice and SpiCommsDevice with a pointer to the interface held in the GyroscopeImpl class, and passed in via, e.g. its constructor (or a setter function)? (Sorry to use Java terms so much, but they are clearer than C++ - 'interface' - > 'pure virtual base class' etc 😂).
@platisd
@platisd Год назад
I am a bit confused because `Gyroscope.cpp` doesn't include any `GyroscopeImpl` and then you lost me about the part where a pointer is being passed via a setter or constructor. I suspect passing anything via the constructor/setter will defeat the purpose of hiding the implementation, but I could be misunderstanding you. How about this: RU-vid isn't the right platform for such discussions, what if we take it on GitHub instead? Could you please open an issue in the repo (github.com/platisd/cpp-pimpl-tutorial) add any code snippets or links to files you think are necessary and then I promise you we will get to the bottom of this. :)
@TheRealBigYang
@TheRealBigYang Год назад
the struct interfaces feel so wrong....... especially at 7:35
@platisd
@platisd Год назад
Because they are `struct` or some other reason?
@TheRealBigYang
@TheRealBigYang Год назад
@@platisd coming from java and just learning c++ more in depth, it feels wrong in general, but mainly because it's a struct and not a class
@platisd
@platisd Год назад
@@TheRealBigYang aha I see. `struct` is used in the examples to skip one line of code for the `public` access modifier needed in the case of classes. Other than that, it's a matter of convention. The only difference, after all, between classes and structs in C++ is their default visibility.
@TheRealBigYang
@TheRealBigYang Год назад
@@platisd That's something new I just learnt. Thank you!
@f4nworld
@f4nworld Год назад
Hahahaha, very nice idea 👌
@theken1499
@theken1499 Год назад
it's so simple to understand, thanks for updating this video
@HiHi-tu8bv
@HiHi-tu8bv Год назад
hi dear, My final year project Will be about this can you just tell the which hardware components are used.
@platisd
@platisd Год назад
There's a link in the description which includes whatever you need to know regarding the hardware used.
@goksanisil9107
@goksanisil9107 Год назад
Appreciate your clarity (both in slides and narration), pragmatic approach and minimalism.
@TheMorrigan
@TheMorrigan Год назад
Perfect !