المقاله دي لطيفه جدا من فريق Discord. وبغض النظر عن عنوانها فهي محتواها كويس جدا. فـ هتكلم عن كام حاجه فيها (ثريد)
blog.discord.com
blog.discord.com
اولا من كلامهم السيرفيس مكتوبه بشكل كويس و ارقامها كمان كويس بس ال spikes اللي بتحصل بسبب الـ Garbage collector في Go هي اللي كانت مضايقاهم.
واللي هو بالنسبه لشركات و ابلكيشنز تانيه كتير ممكن يبقي طبيعي بس هما قرروا انهم محتاجين يحلوها.
واللي هو بالنسبه لشركات و ابلكيشنز تانيه كتير ممكن يبقي طبيعي بس هما قرروا انهم محتاجين يحلوها.
طبعا اللي ساعدهم يشوفوا كل ده هو الـ Monitoring اللي عندهم. و اللي دايما بتكلم علي اهميته في اي شركه/ستارتب بتعامل معاها. ان لازم تكون فيه حاجه بتفهمك السيستم من وراك شغال ازاي او الـ Behind the scenes يعني.
اتذكر في المقاله الـ LRU cache. و HashMap و الـ BTreeMap.
ودي DataStructures مهمه في ال Distributed & Large scale system ممكن تقرا عنهم لو مش عارفهم.
بردو مش عارف ليه مستخدموش ال BTree من الاول في Go بدل ما هما حولولها لما نقلو Rust بس مش مهم.
ودي DataStructures مهمه في ال Distributed & Large scale system ممكن تقرا عنهم لو مش عارفهم.
بردو مش عارف ليه مستخدموش ال BTree من الاول في Go بدل ما هما حولولها لما نقلو Rust بس مش مهم.
بردو الفريق طول ماهو شغال اتكلمو علي ان كل ال optimizations دي كانو بيعملولها load test قبل البروداكشن. ودي حاجه مهمه جدا. ان لما يكون عندك بروجكت كبير زي كدا مينفعش تكتفي بال tests و تطلع ع البروداكشن تشوف الكلام علي ايه.
محتاج تعمل load test تشوف السيستم بتاعك تحت الضغط الحالي او لو زودت الترافيك 2x او 3x هيتعامل ازاي.
لانك ممكن تغير حاجه بشكل خاطئ او مش محسوب و تلاقي السيستم كله بينهار في اول ربع ساعه بعد ال release 😄
لانك ممكن تغير حاجه بشكل خاطئ او مش محسوب و تلاقي السيستم كله بينهار في اول ربع ساعه بعد ال release 😄
بردو فكره ال Read States و انها Service منفصله مش مجرد db column. يعرفك ان Discord & Slack مش مجرد شات ابلكيشن. في اعتبارات كتير و حاجات كتير بتشتغل في الكواليس و بتحتاجها اي شركه كبيره زي كدا علشان يطلعلك البروداكت زي ما انت شايف
وعلشان كدا مهم انك تقرا و تعرف عن الـ System Design وتشوف terms and components و امثله من الشركات الكبيره و تحاول تعملهم System design مع نفسك. حاجات زي twitter, facebook, messenger, whatsapp, netflix, dropbox. كل دول فيهم حاجات في الديزاين لو عرفتهم هتفرق في مستواك و تفكيرك.
و اخيراً من المهم انك تعرف ان الكلام اللي في المقاله مش معناه انك لازم تبدا مشروعك الجاي بـ Rust.
المهم انك تتاكد انك فاهم لغه البرمجه/الفريمورك اللي انت شغال بيها و تعرف ايه نقاط عيوبها و قوتها، وهل هي مناسبه للشغل اللي انت بتعمله ولا هتحتاج تشوف بديل مناسب اكتر.
تمت.
المهم انك تتاكد انك فاهم لغه البرمجه/الفريمورك اللي انت شغال بيها و تعرف ايه نقاط عيوبها و قوتها، وهل هي مناسبه للشغل اللي انت بتعمله ولا هتحتاج تشوف بديل مناسب اكتر.
تمت.
جاري تحميل الاقتراحات...