الكاتبأحمد مجدي

Full Stack Software Developer , Geek

gRPC in Action

g

سنتعرف من خلال هذا المقال على تقنية Grpc وكيفية استخدامها مع مثال لها. أولا: ماهو gRPC:دعونا أولا نقوم بتعريف RPC فقط :RPC هو إختصار ل Remote Procedure Call وهو تقنية تَستخدم نظام client server model لنقل البيانات بين الclient و الserver وتكون عملية تزامنية “Synchronous” وتسمى Unary بحيث انك عندما ترسل request تنتظر حتى تحصل على الresponse وتكون من خلال نفس الشبكة “Shared...

مقدمة عن GraphQL

م

بسم الله الرحمن الرحيم   محتويات المقال:   مقدمة.  GraphQL vs REST.  مفاهيم أساسية في GraphQL .  تعريف ال Type و Input.  تعريف ال resolvers.  عمل الـ Schema.  ربط Schema مع Express . تجربة التطبيق.  مصادر وتحميل المشروع.   مقدمة GraphQL اصبحت مدرجة ضمن العديد من الاشياء التي يتحدث عنها ويستخدمها العديد من مطوري البرمجيات دعونا نتعرف سوياً ماهي GraphQL وماهي فائدتها ولماذاً اصلاً قد...

تعرف على HttpClient في Angular 4.3

ت

السلام عليكم في الاصدار الاحدث من Angular  رقم 4.3 تم تقديم module جديد يدعى HttpClient اتى بتطويرات وتحديثات للmodule السابق له HttpModule إذاً مالجديد ؟   – لست في حاجة لتحويل ال Response ل json سيتم تحويله تلقائياً, في السابق عند طلب رابط معين والاشتراك في الرد كنا نضطر لتحويل الرد يدوياً لjson حتى نستطيع استخدامه مثال إذا لم نقم بتحويله قبل استخدامه في map او حتى عن الاشتراك لن نستطيع...

مشروع مركز بنك الدم في مستشفى

م

السلام عليكم انتهينا بفضل من برمجة تطبيق انترنت لـ بنك الدم, كان العمل ممتع جدا مع صديقي أحمد و إبراهيم وخصوصاً انها اول مرة نعمل سوياً, حاولنا ان نجعل التطبيق بسيط وسهل قدر الامكان مع عدم التقليل من المميزات ومراعات الحالات الخاصة والكثير من الاشياء. التطبيق يشمل على عدة مميزات : – امكانية معرفة طلبات اكياس الدم الناقصة وفصائلها والفصائل التي تقبلها كل حالة – معرفة نسبة اكياس الدم...

تعرف مراحل الInterview في الشركات كـ Software Engineer مع بعض النصائح والإرشادات

ت

نصائح وارشادات عامة علشان تقدر تخليك تعدي أي انترفيو في شركة كبيرة باذن الله أول مرحلة : مرحلة الفلترة (CV Filtering): حاول تصغير الcv  بتاعتك على قد ماتقدر , علشان لو انت ماليه بيانات وحاجات وخبرات حشو وخلاص وبقا صفحات كثير مش هتفرق مع معاهم ومحدش هيقرأ “Nobody Reads” خليه صفحة واحدة فيها الحاجات الأساسية والمهمة والمختصرة وبالذات الحاجة اللي انت فخور انك عملتها  اللي ممكن تجذب نظرهم وتخليه...

مبادئ تصميم البرمجيات كائنية التوجيه OOD

م

السلام عليكم يوجد عدة مبادئ لتصميم البرمجيات بالطريقة كائنية التوجيه Object Oriented Desing هذه المبادئ تجعل من البرمجيات التي نقوم بكتابتها واضحة اكثر في طريقة عملها وسهلٌ صيانتها وتطويرها بدون إلحاق اي تغيير او ضرر في اساس برامجك. اول خمس مبادئ مجموعة في كلمة SOLID Principles وقد قام ببدء هذه المبادئ Robert Cecil Martin المعروف باسم Uncle Bob. كل حرف من كلمة SOLID اختصار لمبدء من المبادئ    S:...

ماهي Yarn وماذا اضافت

م

السلام عليكم بالامس اعلنت فيس بوك بالتعاون مع جوجل عن مدير حزم Package Manager جديد يدعى Yarn  فماهو وماذا اضاف وهل نحن في حاجة الى الاستغناء عن npm(Node Package Manager) سنتعرف على هذا سوياً في البداية Yarn ليس شئ جديد كلياً بل هو التطوير الطبيعي لل npm يسير على نفس النمط في تثبيت ال Packages وملف package.json بدون npm لن يكون هناك Yarn  فهو مبني عليه والجديد فيه انه اصلح بعض المشاكل والاخطاء...

رأيي في البرمجة لمسابقات حل المشكلات ACM ECPC مقابل الحياة الواقعية

ر

السلام عليكم في الفترة الاخيرة لاحظت ان كثيراً من معارفي اتجهو لطريق حل المشكلات البرمجية وتعلم اجزاء معينة حصراً بدون الالمام باي شئ اخر  فاحببت التكلم والمقارنة بين البرمجة في حياتنا الواقعية vs التحضر لحل المشكلات والمسائل ومسابقتها   ملاحظة: كل ماسأقوله عبارة عن راي شخصي لا أكثير , ليس بالالزام ان يكون مناسب لك او تقتنع به   في الفترة الاخيرة اتجه عدد كبير من الناس ليبداو تعلمهم...

لماذا المصفوفات في لغات البرمجة تبدأ رتبتها من الصفر Zero Based Index

ل

السلام عليكم  سؤال سألته لنفسي كثيراً لماذا المصفوفات تبدأ من الصفر في معظم اللغات البرمجية مثل c/c++ , java , c# , python , js ,etc… لماذا لاتبدأ من واحد كي لايحدث تشتت بين الطول “عدد العناصر” ورتب العناصر  فمثلا لو لدي مصفوفة  أحتاج لاصل لاول عنصر  names[0]  بدلاً من names[1] سنوضح السبب  الامر له علاقة بمعمارية الحاسب Computer Architecture  طبعاً كلنا نعرف ان المتغيرات او...

ماذا بعد تعلمي لغة برمجة و الانتهاء منها

م

“انا خلصت لغة البرمجة الفلانية اعمل ايه بعد كده “ سؤال يسأله لي الكثير لكن مالجواب ! دعنا نتفق اولاً ان لغة البرمجة لاتنتهي وان ماانتهيت منه هو اساسيات التعامل مع مكتبات اللغة الاساسية , اياً كانت تلك اللغة كل مازادت معرفتك كلما ما أيقنت انك في بحر واسع كل ماتقترب من نهايته تبتعد, على اي حال لا بد ان تتاكد انك فهمت اساس اللغة جيداً وليس حفظها بحيث فهمك للمفاهيم الاساسية في لغة البرمجة...