شكرا لبشمهندس محمود النجار على وجوده في الفيديو بصراحة انا شايف انه اضاف رونق خاص وعكس مشاعرنا من خلف الشاشة كما يجب وكمان بخصوص طول الفيديو انا معنديش مشكلة مدة الاستريم تكون فوق ال ٧ ساعات هشوفه كامل عادي على مرة واحدة طالما ان الاستريمر هو بشمهندس أحمد سليمان ❤
افضل اسلوب شرح شوفته في حياتي لل memory وال low level 💙 متنساناش ان شاء الله فال heap .. لو شرحتو لينا بنفس العمق ده هيبقي عظمة جداا دي شويه Topics هبقي مبسوط اوي لو حضرتك ذكرتها في الفيديوهات الجايا 🫶 - فيديو يكون فيه Advanced debugging tips & tricks .. بحيث نقدر نفهم state معينه او مشكله واقفين فيها نقدر نحلها ازاي .. او اي سبب المشكله او مثلا نفهم جزء معين بيشتغل ازاي dynamically - شرح advanced لجانب الsecurity بتاع rust ... وازاي بتحل مشاكل ال memory issues الي في C ... وهل الحل نهائي ولالا ؟ .. وهل في اي security vulnerabilities ممكن تبقي موجوده في rust مختلفة عن الmemory issues بسبب اخطاء من ال developer مثلا - General Tips and tricks to understand large rust Codebase Faster with Productivity بحيث لو حبينا نقرا بروجكت كبير وحابين نتعلم منو حاجا معينه او نفهم اتبني ازاي وبيشتغل ازاي بس كدا .. كل سنه وحضرتك طيب وعيد سعيد عليك 💖 You are one of the greatest teachers I have ever seen
انا بجد مبسوط و (متمزج) من الفيديو و حابب النوع ده من الفيديوهات اللي يكون خاص بالـ CS و How it works بعيد عن اللغة لأن دي كونسبتس بحب افهمها و للأسف المحتوي ده مش منتشر اوي و يمكن لو احتاجت تفهم و دورت مش هتلاقي اللي محتاج تفهمه بسهولة ❤❤ حقيقي شكرا و مستني باقي السلسلة (حتلي لو مش مهتم بـ Rust تحديدا) ❤
شفت الفيديو من اولو لاخرو وهعيدو تاني عشان اضمن ما فلتتش مني حاجه، بس الفيديو كان جبار ومهم واتمنى تستمر السلسلة لين ما نوصل لمواضيع اعمق ومتقدمة أكثر، وشكرا بجد ❤
39:39 يعني اي artifacts في السياق دا ؟ وبرضو لأن كلمة artifacts بتقابلني كتير في مشاريع اوبن سورس بلاقي directory اسمه artifacts ومش بكون عارف أهميته أو وظيفته في الهيكل بتاع البروجكت فلو أمكن توضيح الجزئية دي لو تكرمت
It was a wonderful episode, the way it was presented was genius, waiting for more. I recommend watching the episodes live on Twitch. The questions and discussion were more than wonderful
Thank you so much Asoli for sharing and explaining this knowledge, rbna ygazek kheer. For me personally, these details you went through is the real deal and what I truly needed. I wish if you have went in depth and explained the heap in detail as well. If you may please don’t hold back to go through wte you think are fundamentals and essentials.
شكرا يا بشمهندس وجزاك الله خيراا اعتقد انه الافضل كان يتم البدأ بنبذة بسيطة عن اللغة وايه مميزاتها وعيوبها بين اشهر اللغات زي السي بلص او جووو وايه التطبيقات الموجهة اليها وايه الناس المطلوب منهم دراستها يعني كل واحد علي حسب مجاله فاعتقد انها هتكون افضل بداية بدون ذكر تفاصيل او سينتكس اللغة وانا بشوف الاسلوب ده ف يكثير من الفيديوهات الاجنبية بتوفر وقت علي المتابع قبل ما يستمر في الفيديو اتمني قبول النقض بصدر رحب شكرا علي مجهودك ووقتك القييم واتمني اخذ الفيد باك فيما بعد وربنا يوفقك لما فيه الخير
that's a really good stream, thanks for doing this for Arabic speakers, i don't think there are any good Arabic content for Rust, even for English speakers there are only a few. intermediate to advanced content in any field is always lacking, so doing this is really good, thank you! Personally speaking I've read the book and watched Jon Gjengset's streams on Rust which also falls under the intermediate to advanced section, but it's for English speakers (which i have no problem with but others may have a problem) I also read about some Async programming for Rust (plan to finish the Tokio series on mini-Redis still). Also, is it possible to be personally included in future streams? I would really love to be a part of this and learn along the way. anyway, keep up the good work!
This deserves recognition ! Maybe I didn’t get this point, but why did the struct at 2:34:52 use an align of 1 byte, wouldn’t that allow the struct to be written in two words and introduce unnecessary memory gaps
@@ahmedfarghal9314 yes i got this point, but the align of the struct was 1, wouldn’t that allow the struct to be written in two separate words, for example xxxx xxxa bxxx xxxx
By default, Rust makes these two promises about the in-memory representation of structures: Structures may be differently sized than their contents for performance reasons. Structures may internally store data in a different order than we specified if the optimizer believes it will aid performance. Most modern CPUs align data on 32-bit boundaries for memory and cache. Accessing 8 bits (one byte) or 16 bits (two bytes) is fast for two reasons. One, because the CPU provides primitives to do so, and, two, the structures can be packed within those 32-bit boundaries. A 24-bit (three byte) structure does not naturally align to a 32-bit memory map. So, by default, Rust wastes 8-bits of memory per struct to ensure fast access to our computer’s memory structure. This behavior is especially helpful when we’re dealing with arrays or other contiguous blocks of 3-byte structures. That’s because every other structure would start at the 24th bit of a 32-bit block, reducing both cache and read efficiency.
I have a suggestion: if you can create a course on Udemy about systems engineering or distributed systems, including both theoretical concepts and practical examples, I would definitely purchase it. I believe such a course would be extremely beneficial.
الفيديو مفيد. لكن راست ليس لها مستقبل , سواء في التطبيقات أو في الأنظمة. هي لغة مبالغ فيها, وحقيقتها أقل مما يقال عنها. إذا كنت تبحث عن لغة حديثة للأنظمة فاستثمر في زيغ. غير ذلك استثمر في : غو , كوتلن, سويفت, دارت. جس. انتهى
For the challenge at 1:01:40 OCaml and Haskell type check string interpolation at compile time. Not sure if this is also available in Rust or not but OCaml and Haskell do type check the placeholders with the expected data types. So the following line of OCaml won't compile because Printf.printf expects an integer in the second placeholder but it got a string Printf.printf "%s %d" "Hello, world" "5" The OCaml compiler is also your friend so you'd get nice error messages that actually help you to solve the problem. For example the compiler will output something similar to the Rust error message like the following one: 3 | Printf.printf "%s %d" "Hello, world" "5" ^^^^ Error: This expression has type string but an expression was expected of type int