DevGuide 🇵🇸
10.9K subscribers
2.51K photos
17 videos
127 files
3.52K links
Join our channel for top-notch programming hacks, epic discussions, and brilliant career moves. 🚀

⚡️ Stay connected with me: linktr.ee/AliSamir

📍 To advertise on the channel: https://telega.io/c/the_developer_guide
Download Telegram
الفرق بين Low-level و High-level Languages 🧠

تعال نتكلم عن حاجة أساسية في عالم البرمجة، وهي نوعين من اللغات اللي بنكتب بيهم الكود:

Low-level Languages & High-level Languages

———

🔧 أولًا: الـ Low-level Languages


دي اللغات اللي بتتكلم تقريبًا بلغة الكمبيوتر نفسه، قريبة جدًا من الـ Hardware.
يعني لما تكتب كود بلغة Low-level، أنت بتتعامل مع الحاجات اللي داخل الجهاز نفسه زي الرامات، المعالج، وهكذا.


📌 أمثلة عليها؟

- Assembly Language
- Machine Code


الميزة؟

- سريعة جدًا لأنها بتشتغل على مستوى قريب من الجهاز.
- بتوفر لك تحكم عالي جدًا في الموارد (زي الرامات والمعالج).


العيب؟

- صعبة جدًا في الفهم.
- أي غلطة ممكن تعملك مشاكل كبيرة.
- كتابة البرامج بها بياخد وقت ومجهود كبير.

———

🎩 ثانيًا: الـ High-level Languages


دي بقى اللغات اللي احنا بنتعامل بها في الغالب.
اللغات دي أقرب للبني آدم من الآلة، يعني تقدر تكتب الكود بلغة مفهومة شبه الإنجليزي، وتسيب للمترجم (compiler أو interpreter) مهمة تحويل الكلام ده للغة الكمبيوتر.


📌 أمثلة عليها؟

- Python
- JavaScript
- Java
- Ruby
- Go


الميزة؟

- سهلة في التعلم والقراءة والكتابة.
- أسرع في تطوير البرامج.
- بتوفر أدوات ومكتبات بتسهل عليك الشغل جدًا.


العيب؟

- أبطأ شوية من Low-level لأن في طبقة وسيطة (المترجم أو الـ runtime).
- مش دايمًا بتديك تحكم كامل في الـ Hardware.

———

#دقيقة_برمجة
4
شهادات Mongodb الرقمية

شهادات رقمية سريعة، مجانية تساعدك على تعلم مهارات جديدة في MongoDB وإبرازها من خلال شارة رقمية قابلة للمشاركة.

ابدأ الآن مجانًا:

https://learn.mongodb.com/skills
6👍1🔥1
الفرق بين الـ Compiler والـ Interpreter؟ ⚙️

لما تيجي تكتب كود بلغة برمجة زي C أو Python، الكود ده مش مفهوم بشكل مباشر للجهاز (لأن الجهاز بيفهم 0 و 1 بس)، فمحتاج حد يترجم له من لغة البشر إلى لغة الآلة.

وهنا بييجي دور الـ Compiler و الـ Interpreter، وظيفتهم الأساسية هي "ترجمة الكود"، لكن كل واحد له طريقته المختلفة.

———

📌 أولًا: الـ Compiler


الـ Compiler هو مترجم بياخد الكود كله مرة واحدة، يراجعه، يحوله للغة الآلة (machine code)، وبعد كده يشغل البرنامج.

مثال: زي ما تكون بتكتب مقال، وتديه للمصحح اللغوي يراجعه بالكامل، وبعد كده تنشره مرة واحدة.

📍 لغات مشهورة بتستخدم الـ Compiler:


- C
- C++
- Go
- Rust


مميزاته:

- بيطلع برنامج سريع جدًا وقت التشغيل (لأن الترجمة حصلت قبل ما يبدأ يشتغل).
- ممكن يكتشف أخطاء كتير قبل ما تشغل البرنامج.


عيوبه:

- أي تعديل في الكود، لازم تعيد الترجمة من الأول.
- وقت الترجمة ممكن يكون طويل شوية.

———

📌 ثانيًا: الـ Interpreter


الـ Interpreter بيشتغل بطريقة مختلفة، هو بيترجم الكود سطر بسطر، يعني كل ما يلاقي سطر بيترجمه ويشغله فورًا.

مثال: زي مدرس بيقرأ جملة من كتاب بلغة أجنبية، ويترجمها لك في نفس اللحظة.

📍 لغات مشهورة بتستخدم الـ Interpreter:

- Python
- Ruby
- PHP

مميزاته:

- سهل تجرب الكود بسرعة وتشوف النتيجة فورًا.
- ممتاز في التعليم أو التطوير السريع (prototyping).


عيوبه:

- أبطأ في الأداء وقت التشغيل (لأنه بيترجم أثناء التشغيل).
- ممكن ما يتعرف على أخطاء موجودة في الكود غير لما يوصل للسطر اللي فيه المشكلة.

———

#دقيقة_برمجة
5👍4
الفرق بين MVC و MVVM و MVP 🧩
.
.
لو بتسمع عن المصطلحات الغريبة دي (MVC، MVP، MVVM) ومش فاهم معناها إيه، تعال نبسط الموضوع...

تخيل إنك بتبني أبلكيشن بيعرض بيانات للمستخدم، وبتعدل البيانات دي من وقت للتاني... طبيعي الكود هيتقسم لأجزاء عشان تفضل الدنيا منظمة، مش كود واحد كبير متشابك.

هنا بييجي دور الـ Design Patterns اللي بتنظم طريقة كتابة الكود، وأشهرهم:

———

🔹 الـ MVC - Model View Controller


- الـ Model: ده الجزء اللي بيحفظ ويتعامل مع البيانات (زي الـ database).
- الـ View: الجزء اللي المستخدم بيشوفه (الـ UI).
- الـ Controller: هو اللي بيتلقى الأوامر من المستخدم (زي لما يضغط على زرار)، ويكلم الـ Model، وبعد كده يخلّي الـ View تعرض البيانات.

🎯 مثال: المستخدم بيكتب اسمه، الـ Controller ياخده، يحفظه في الـ Model، وبعد كده يرجّع الاسم للـ View عشان تعرضه.

———

🔹 الـ MVP - Model View Presenter


- الـ Model: نفس الفكرة بتاعت البيانات.
- الـ View: الجزء اللي المستخدم بيشوفه (الـ UI).
- الـ Presenter: هو "دماغ" التطبيق، بيتعامل مع الـ Model، ويبعَت النتائج للـ View تعرضها. والجميل هنا إن الـ View مبتعرفش حاجة عن الـ Model.

🎯 مثال: المستخدم ضغط زرار، الـ View تبعت الإشارة للـ Presenter، هو اللي يتصرف ويرجع النتيجة.

فائدة الـ MVP: سهل تختبره (Testing) لأن الـ Presenter مفصول عن الـ UI.

———

🔹 الـ MVVM - Model View ViewModel


ده pattern معمول مخصوص للـ UI اللي بتشتغل بـ Data Binding (زي Angular، React، أو حتى Flutter):

- الـ Model: البيانات كالعادة.
- الـ View: الـ UI.
- الـ ViewModel: هو اللي بيربط الاتنين ببعض. بيحول البيانات بشكل يناسب العرض، وبيتعامل مع الـ logic. هنا الـ View والـ ViewModel بيرتبطوا ببعض تلقائيًا عن طريق الـ Data Binding.

🎯 لما المستخدم يكتب حاجة، الـ ViewModel يلاحظ التغيير ويحدث الـ Model، والـ View تتحدث بشكل تلقائي.

———

📌 طب أختار إيه؟


لو شغال على مشروع تقليدي أو backend بسيط: جرب MVC.

لو عايز UI سهل في الاختبار والـ View مفصولة: MVP هو اختيارك.

لو بتشتغل بحاجة فيها Data Binding (زي Angular أو Flutter أو React): MVVM هو الأفضل.

———

#دقيقة_برمجة
8
Recursion Explained with Pizza (You’ll Never Forget It Again)


https://dev.to/alisamir/recursion-explained-with-pizza-youll-never-forget-it-again-3m8a
5
الفرق بين Static Typing و Dynamic Typing ⌨️
.
.
قبل ما تدخل في مقارنة بين لغات البرمجة، لازم تبقى فاهم الفرق بين نوعين مهمين جدًا من أنواع اللغات:

الـ Static Typing و Dynamic Typing، وده بيتعلق بإزاي اللغة بتتعامل مع أنواع البيانات (Data Types) زي أرقام، نصوص، Boolean... إلخ.

———

📌 الـ Static Typing


اللغات اللي بتستخدم النظام ده بتتأكد من نوع البيانات وقت الكتابة (وقت الـ Compile)، مش وقت التشغيل.

يعني وأنت بتكتب الكود، لازم توضح نوع كل متغيّر (variable)، والمترجم (Compiler) هيبقى بيراجع الأنواع دي ويتأكد إنها ماشية صح.

مثال بلغة TypeScript:

let age: number = 25;
age = "Hello"; // Error قبل ما الكود يتنفذ


لو حاولت تدي قيمة مختلفة للنوع المتوقع، هيظهر لك خطأ على طول قبل ما الكود يشتغل.


📍 مميزات الـ Static Typing:


- بيقلل الأخطاء في وقت التشغيل.
- بيساعد أدوات التطوير (IDE) إنها تكملك الكود وتديك تحذيرات.
- بيخلي الكود أوضح وأسهل في الصيانة.

———

📌 الـ Dynamic Typing


هنا بقى، اللغة مش هتسألك عن نوع المتغيّر، هتسيبك تكتب براحتك، وتحدد نوعه على حسب القيمة اللي هتحطها فيه وقت التشغيل.

مثال بلغة JavaScript:

let age = 25;
age = "Hello"; // عادي جدًا


يعني نفس المتغيّر ممكن يكون رقم في سطر، و string في السطر اللي بعده، واللغة مش هتعترض


📍 مميزات الـ Dynamic Typing:

- الكود بيبقى أسرع في الكتابة.
- مناسب للتجريب والتطوير السريع (Rapid Prototyping).
- مرن أكتر في بعض الحالات.


———

🎯 أمثلة للغات Static Typing:


TypeScript, Java, C++, Kotlin

🔥 أمثلة للغات Dynamic Typing:


JavaScript, Python, Ruby, PHP

———

#دقيقة_برمجة
4👏2
🔥6👏1
1- The 10 Front-End Mistakes I Wish I Knew as a Beginner (With Fixes) 💡
https://levelup.gitconnected.com/the-10-front-end-mistakes-i-wish-i-knew-as-a-beginner-with-fixes-cec0f6430455

2- How to Build a Scalable Back-End with Zero Downtime Deployments 🚀
https://levelup.gitconnected.com/how-to-build-a-scalable-back-end-with-zero-downtime-deployments-6f10b6d1f389

3- The Dark Side of Tailwind: When Utility Classes Become a Mess ⚠️
https://levelup.gitconnected.com/the-dark-side-of-tailwind-when-utility-classes-become-a-mess-f339fb72cb81
👍5👏1
يعني إيه API Gateway؟
.
.
تخيل معايا إنك داخل مطعم كبير جدًا، والمطبخ فيه أكتر من شيف:
واحد مسؤول عن البيتزا 🍕، والتاني عن الحلويات 🍰، والتالت عن المشروبات ☕️.

وأنت كـ زبون، مش هتروح لكل شيف وتطلب منه، صح؟
فيه جرسون (الـ waiter) بياخد طلبك ويوصّله للمطبخ، ويجيبلك الأكل كله مرّة واحدة.

الجرسون ده في عالم البرمجة اسمه: API Gateway.


———

💡 يعني إيه API Gateway؟


ببساطة، الـ API Gateway هو حارس البوابة أو نقطة الدخول الوحيدة لكل الـ APIs اللي السيرفر أو النظام بيقدّمها.

لو عندك نظام ضخم (زي موقع تجارة إلكترونية مثلًا)، هتلاقي كل جزء فيه شغّال كـ Microservice:

- جزء لطلب الأوردرات
- جزء لحسابات المستخدمين
- جزء للمنتجات
- جزء للدفع الإلكتروني


الـ API Gateway بيجمع كل الخدمات دي وبيخلي الـ Frontend أو الموبايل يتعامل مع نقطة واحدة بس، بدل ما يبعت طلبات متفرقة لكل خدمة.

———

🤔 ليه نستخدم API Gateway؟


توحيد نقطة الاتصال
بدل ما الـ Frontend يتعامل مع 5 أو 10 APIs، بيتعامل مع gateway واحدة.

🔐 الأمان
الـ Gateway تقدر تضيف layer للأمان: JWT, API keys, Rate limiting... إلخ.

📊 المراقبة والتحليل
تقدر تعرف مين بيطلب إيه، وإمتى، وتراقب كل حاجة من مكان واحد.

📦 الـ Caching و Load Balancing
ممكن يخزّن الردود (Cache) ويوزّع الأحمال بشكل ذكي.

🔁 تحويل البيانات
لو خدمة بترد بـ XML وانت محتاج JSON، الـ Gateway ممكن يتصرف.

———

🛠 أمثلة حقيقية لـ API Gateways:


- Kong
- AWS API Gateway
- Nginx
- Apigee
- Zuul

———

#دقيقة_برمجة
👍8👏1
Advanced React: Building Scalable Apps with Design Systems, Patterns, and Performance 🚀


In this article, we’ll dive into advanced React techniques, focusing on design systems, design patterns, and performance optimization to help you build robust, user-friendly applications that scale effortlessly.

https://dev.to/alisamir/advanced-react-building-scalable-apps-with-design-systems-patterns-and-performance-229
3
دورات مجانية عن بُعد بشهادة إتمام؛ متاحة لك في أي وقت ومن أي مكان

https://satr.codes
6🔥1
أهم 7 أخطاء ممكن تقع فيها في الفرونت إند 💡
.
.
في عالم الفرونت إند غالبًا شوفت أو تعاملت مع كود كتير شكله مريب وخلاك تحس إن في حاجة غلط بس مش عارف تقول إيه هي بالضبط.

في المقال ده، هتتعرف على 7 حاجات (Code Smells) في مشروع الفرونت إند ممكن تبان بسيطة، بس في الحقيقة بتأثر على أداء المشروع، وقابلية الصيانة، وتجربة الفريق كله. المقال بيشرح كل نقطة بشكل واضح، وبيقولك ليه تعتبر مشكلة، وإزاي تصلحها.

———

7 Front-End Code Smells You Should Fix Right Now ⚡️


As a front-end developer, you’ve likely encountered code that feels wrong — hard to read, tricky to maintain, or just plain chaotic.

These are code smells, subtle signs that your codebase needs a refactor. Left unchecked, they can slow development, introduce bugs, and frustrate your team.

In this article, we’ll dive into 7 front-end code smells you should spot and fix immediately to keep your projects clean, scalable, and developer-friendly.

———

https://medium.com/gitconnected/7-front-end-code-smells-you-should-fix-right-now-6286ce16b539
6👏3
مبادرة الرواد الرقميون
.
.
تهدف مبادرة الرواد الرقميون (Digilians) إلى تأهيل وتدريب الشباب في مجالات الاتصالات، تكنولوجيا المعلومات، والبرمجيات، وذلك لتعزيز دورهم في عملية التحول الرقمي ودعم نمو الصادرات الرقمية، بما يسهم في تحقيق أحد المحاور الرئيسية لتنمية الاقتصاد الوطني.

تمنح المبادرة كلًا من الدراسة العلمية والتدريب العملي للمتميزين من مختلف المؤهلات العلمية ومن جميع المحافظات حيث تستهدف التعاون مع الجهات المتخصصة محليًا ودوليًا في العلوم التكنولوجية المختلفة لتغطية النواحي العلمية والتعليمية، ذلك بالإضافة الى تنمية المهارات اللغوية والحياتية والقيادية.

———

مزايا المبادرة

- شهادة معتمدة مشتركة من وزارة الاتصالات وتكنولوجيا المعلومات والأكاديمية العسكرية.
- شهادات معتمدة لكافة المهارات التي يتم التدريب عليها.
- شهادة الماجستير من إحدى الجامعات الأجنبية المرموقة لبرامج الماجستير.
- توفير مسار تدريبي متكامل على مدار مدة التنفيذ ومكون من العديد من الأنشطة والفعاليات.
- المشاركة في مسابقات تكنولوجية محلية وعالمية.
- جوائز عينية للمتفوقين.
- التدريب الميداني للتأهيل لمستقبل عملي في مجالات تكنولوجيا حديثة.
- إقامة مجانية بالكامل شاملة كافة الوجبات.

———

البرامج التدريبية

تقدم المبادرة مجموعة واسعة من البرامج الاكاديمية المتنوعة التي تم تصميمها بعناية لتلبية احتياجات سوق العمل المتنوعة والمتغيرة. نهدف الى تزويد الطلاب بالمهارات والمعرفة اللازمة للتفوق في مجالاتهم المهنية المختلفة، مما يضمن لهم فرصًا واسعة في سوق العمل العملي. ابدأ رحلتك في عالم التكنولوجيا..حيث يلتقي الشغف بالإبداع!

- برنامج الدبلوم المكثف
- برنامج الدبلوم المتخصص
- برنامج الماجستير المهني
- برنامج ماجستير العلوم

———

الموقع الرسمي للتسجيل في المبادرة:

https://www.digilians.gov.eg
3👍1
DevGuide 🇵🇸 pinned «مبادرة الرواد الرقميون . . تهدف مبادرة الرواد الرقميون (Digilians) إلى تأهيل وتدريب الشباب في مجالات الاتصالات، تكنولوجيا المعلومات، والبرمجيات، وذلك لتعزيز دورهم في عملية التحول الرقمي ودعم نمو الصادرات الرقمية، بما يسهم في تحقيق أحد المحاور الرئيسية لتنمية…»
إيه الفرق بين الـ JWT والـ Sessions؟ 🤔
.
.
الاتنين بيستخدموا علشان نعرف المستخدمين اللي دخلوا على الموقع، بس كل واحد له طريقة مختلفة تمامًا في التعامل.

في المقال ده، هتفهم الفرق بينهم بشكل بسيط وسهل، علشان تعرف تختار الأفضل لمشروعك.

———

JWT vs Sessions: The Real Difference in Simple Words 💡


If you’ve ever built or used a web app, you’ve probably logged in at some point. Maybe you checked your email, browsed Twitter, or paid a bill online. But have you ever wondered how these websites remember who you are?

That’s where authentication comes in. In web development, there are two big players in handling user sessions: JWT (JSON Web Tokens) and Sessions.

This article breaks down the difference between JWT and Sessions in simple, no-fluff words.

———

📍 DEV Community
https://dev.to/alisamir/jwt-vs-sessions-the-real-difference-in-simple-words-51c0

📍 Medium
https://medium.com/@dev.alisamir/jwt-vs-sessions-the-real-difference-in-simple-words-184e1e0d9e8d
9👏1