لمحة 👀 برمجية – Telegram
لمحة 👀 برمجية
607 subscribers
144 photos
8 videos
13 files
141 links
Download Telegram
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
الصورة هذه توضح لك ليش DevOps
لا اريد ان اعمل تقييم لأي دكتور أو معيد لأن الوضع سيء ولا اريد ان يكون تقييمي يخرج دكتور أو معيد من مهنته مع ان التقييمات الطلابية غالبًا لا تؤخذ بالجدية الكافية أو لا تترجم إلى قرارات فعلية.
1👍1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
The resume said "10 years experience" The code said "1 year, ten times"
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
المرحلة الأولى: البداية والتخطيط

كنت في بداية المشروع، وقررت أنني سأستخدم Azure DevOps لتنفيذ الأتمتة، وكان الهدف أنني أتمكن من تسريع عمليات البناء والنشر باستخدام CI/CD pipeline.
لكن مع مرور الوقت، بدأت أواجه بعض التساؤلات التي كانت تقلقني:
"لماذا لا أستخدم GitHub Actions بدلاً من DevOps؟"
كنت أعرف أن GitHub Actions أصبح أحد الخيارات الشائعة في الأتمتة، وكان في بالي أن هذا الخيار قد يكون أسهل وأسرع.
لكن في الوقت نفسه، كنت أعلم أن Azure DevOps قد يقدم ميزات قوية أخرى، مثل التكامل السهل مع Microsoft Stack.

المرحلة الثانية: التساؤل عن GitHub Actions

بدأت أبحث في الفرق بين GitHub Actions و Azure DevOps:

GitHub Actions:

يوفر CI/CD مباشرة داخل GitHub.

يدعم الـ runners القابلة للتخصيص.

يعجبني أن GitHub هو المكان الذي أعمل فيه مباشرة مع المستودعات، لذا كان من الممكن أن يكون كل شيء في مكان واحد.

Azure DevOps:

يقدم بنية تحتية قوية للأتمتة.

يدعم الـ agents الجاهزة أو المحلية.

كنت أعرف أن Azure DevOps يعطي تحكمًا أكبر في بيئات العمل الحساسة، وهو شيء كنت أحتاجه لمشروعي.

لكن هنا بدأ السؤال يدور في رأسي: "هل GitHub Actions أفضل من Azure DevOps في هذه الحالة؟ أم أن Azure DevOps هو الخيار الأنسب نظرًا لمتطلبات الأمان والإدارة؟"

المرحلة الثالثة: الفرق بين Agent و Runner

بينما كنت أبحث، بدأت أتساءل:
"ما هو الفرق بين Agent و Runner؟"
كنت متأكدًا أن هناك شيء أساسي يفصل بين الاثنين، وكنت بحاجة لفهم هذا التفصيل.

الـ Agent (في Azure DevOps):

هو الخادم الذي يتولى عملية تنفيذ الـ pipeline.

يمكن أن يكون مستضافًا من قبل Microsoft أو مستضافًا محليًا (Self-hosted).

الـ Agent المستضاف يأتي جاهزًا من Microsoft، ويقوم بتشغيل المهام على بيئات مهيأة مسبقًا.

الـ Agent المحلي يمكن استخدامه لتخصيص البيئة بما يتناسب مع متطلبات الأمان والبنية التحتية الخاصة بك.

الـ Runner (في GitHub Actions):

هو نظير الـ Agent في GitHub Actions.

يعمل بنفس الطريقة، حيث يقوم بتشغيل المهام في البيئة المخصصة.

يمكنك استخدام Runner مستضاف من GitHub أو Runner محلي.

الفكرة في GitHub Actions أن الـ Runner يتحكم في بيئة العمل ولكن بتخصيص أكبر لاحتياجاتك، ويعمل مع كل مستودع على حدة.

المرحلة الرابعة: الأسئلة والتساؤلات الداخلية

بدأت أتساءل الآن بعد أن عرفت الفرق بين Agent و Runner:
هل أحتاج إلى استخدام DevOps Agent مع كل ميزاته الأمنية؟
أم أن GitHub Actions Runner سيحقق لي نفس النتائج، لكن بأسلوب أبسط؟
إذا كانت البيئة في شركتي حساسة، هل أحتاج إلى استخدام Self-hosted Agent (أو Self-hosted Runner في حالة GitHub Actions) لتحكم أكبر؟
لماذا أستخدم Agent من Azure DevOps إذا كنت أستطيع استخدام GitHub Actions مع Runner الذي يقدم تخصيص أكبر ومرونة أفضل في التعامل مع GitHub مباشرة؟

المرحلة الخامسة: القرار والتجربة

بعد التفكير والتساؤل، قررت أنني سأجرب كل خيار وأقيمه بناءً على الأمان والتحكم والتخصيص:

جربت GitHub Actions مع Runner:
كانت الفكرة بسيطة لأنني أعمل مع GitHub مباشرة.
الـ Runner المستضاف كان جيدًا، لكن شعرت أنني بحاجة إلى المزيد من التخصيص.
كان من السهل إعداد Self-hosted Runner ليتوافق مع بيئة العمل الخاصة بالشركة.

جربت Azure DevOps مع Agent:
البيئة كانت أكثر أمانًا وتخصيصًا.
الـ Agent المحلي أعطاني سيطرة أكبر على البيانات والبنية التحتية.
شعرت أن Azure DevOps يوفر تكامل أفضل مع الأنظمة الداخلية في شركتي.

المرحلة السادسة: التقييم النهائي

الآن وبعد التجربة:
هل GitHub Actions أفضل من Azure DevOps؟
بالنسبة لمشاريع صغيرة أو إذا كنت تعمل داخل GitHub فقط، يمكن أن يكون GitHub Actions خيارًا جيدًا بفضل مرونته.
أما إذا كنت بحاجة إلى تحكم أمني كامل في بيئة العمل، فـ Azure DevOps و الـ Agent المحلي سيكون أفضل بكثير.

النصيحة:

إذا كانت بيئة العمل في شركتك حساسة ولا تستطيع المخاطرة باستخدام حلول مستضافة من جهة خارجية، فإن Self-hosted Agent في Azure DevOps هو الخيار الأكثر أمانًا.
إذا كانت المرونة و التخصيص أكثر أهمية بالنسبة لك وتعمل بشكل أساسي على GitHub، فإن GitHub Actions مع Self-hosted Runner يمكن أن يكون الخيار الأفضل.


#Devops
#On_Promise
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
لو كنت تتواصل مع الذكاء الاصطناعي طوال يومك، تذكر أن تطلب منه في نهاية اليوم أن يسرد لك كل ما ناقشته معه. هذه الطريقة ستساعدك على تنظيم أفكارك وتوثيق كل النقاط المهمة. اليوم، كنت أعمل على تجربة أدوات الأتمتة، مثل GitHub Actions و Azure DevOps، وكنت أتساءل عن الفرق بين الـ Agent والـ Runner. مع الوقت، جربت الـ Self-hosted Agent في Azure DevOps، وأدركت الفرق الكبير في الأمان والتحكم في بيئة العمل. هذه التجربة غيرت الطريقة التي أفكر بها في تخصيص الأتمتة واستخدام الأدوات بشكل أكثر فاعلية. تعلمت الكثير، وحققت تحسن كبير في تطبيقاتي.
👍1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
ياسطى لو عايز تكتب ال CV والله معك تاريخ في ChatGPT ماقصر سيعيد لك الماضي بذكرياته وأيام ما كان تنسخ وتلصق صدقني 🏃‍♂️
الطالب اللي بيدرس سوفتوير مهمل و مش مهتم يتعلم و بيقاوم الاستاذ بتاعه. تفتكر دي جمله منطقيه ؟
كمل و انت تعرف قصدي ايه.
ايه اللي لما يتحقق يخلي الطالب متحمس انه يحضر محاضرة و يبقي شايف انه بيتعلم بما يفيده ؟
انه يشوف ازاي اللي بيدرسه هيستخدمه.
دي مساله مهمة جدا.
لو حضرتك قلتلي ان نظام التشغيل عنده حاجة اسمها Process و حاجة اسمها Thread و غيره و غيره من المفاهيم. انا هفضل سامعك و مستني اعرف الكلام دا مرتبط بعملي المستقبلي ازي. لو حضرتك خلصت كلامك و انتهي الامر عند انك قولتلي التعريفات و خلاص هيبقي مش شايف فايده حقيقه من كلامك لانه مجرد سرد لتعريفات.
امال ايه المطلوب. المطلوب ان بعد متعمل تعريفات واضحه لكل شئ تبدا بقي تقولي ان مثلا الكود اللي بيعمل Context Switching كتير دا كود مؤذي و تديني كود بيستخدم عدد كبير من Threads و بيعمل Context Switching و تقيس قدامي الزمن اللازم لتنفيذ نفس المهمة باعدادا متغيره من ال Threads علشان اشوف تاثير ال Context Switching.
هنا بقي الطالب عرف ان اختيار عدد ال Threads مهم و مؤثر علي الاداء و شاف كود و درس تاثير عدد ال Threads. و اربط دا بقي بمفهوم CPU Bound and IO Bound Task و اشرح الفرق بينهم و اكتبلي كود علي كل حالة و اخيارات عدد ال Threads اللي بيتوقف علي نوع ال Task. لو عملت كده يبقي نظم التشغيل بترتبط في عقل الطالب بعملية التصميم و يشوف الكود لازم يعمل ايه و ليه.
قيس بقي علي كده كل شئ. الطالب اللي بيتعلم كده هيحب المحاضره و مش هيصرخ و يعيط لما تديله ماده اكتر.
هو زهقان من المحاضره لانه مش شافها مفيده لان الاستاذ مش عارف يقدم العلم كويس لاسباب كتير ليس اقلها انه هو نفسه مش عارف تاثير و لا تطبيق العلم اللي بيقدمه لغيره.
اللي بيقولك ان الكليات بتاعتنا مستواها تعبان عاوز يلاقي خريجين متعلمين كويس بهذا الشكل علشان يبقي منحني النمو بتاعهم اسرع لمصلحتهم و مصلحة شركاتهم.
مش هزهق من الموضوع و عندي امل ان الكلام يوصل للناس اللي في ايديها الحل و العقد و حد يقرر يطور المناهج و الاساتذه.
2
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
بعد عككك 😊 طويل وتأمل.....


أحيانًا لما أشوف مواضيع زي Cloud، Microservices، وAI… أحس إن العالم دخل دوامة تعقيد، لكن الواقع أوسع بكثير من كود ومعادلة.

العالم ما بيتطور لأنه حل مشكلة برمجية أو اخترع مكتبة جديدة أو طلع معادلة.


مش تقليل 😌 من أهمية البرمجة، بالعكس… هي الأساس،
لكن لوحدها ما تصنع التأثير الكبير بدون رؤية تجارية وتحليل سوقي ذكي.

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

خذ مثال بسيط: مارك ما صنع واتساب لأنه عبقري برمجة، ولا فيسبوك لأنه توقع كل شي من البداية. لكن لأنه فهم السوق، والمجتمع، وكيف يتوسع خطوة خطوة.
اليوم لما تدخل AI في التطبيقات مثل واتساب، تحس الإضافات باهتة، ويمكن تقول "فين الذكاء؟". بس الواقع إنهم شغالين بمبدأ الـ Open/Closed Principle… التطبيق مفتوح للتوسع، لكن مغلق للتعديل الجذري، علشان ما يكسر البزنس.

الدروس اللي فهمتها من هذا كله:

مافي قرار مستقبلي تاخذه وانت متأكد منه 100%. العالم ماشي بالتجريب والتحليل والتكيّف مع السوق. المشاريع اللي تبنى اليوم من الصفر في عالم AI، بعضها بيذهلك من تصميمه وسلاسته، لأنه ببساطة… بدأ من لا شيء، لكن بتفكير جديد.

كلامي مش قانون، لكن تحليل من واقع متابعتي واستيعابي للّي يحصل. وربما أهم فائدة: لا تغرق في التقنية وتنسى تفكر بعين "العقل التجاري" و"تحليل السوق".
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
لا لا عندما اشوف مواضيع وكبر الانظمه cloud ميكروسرفيز وغيرها وتعقيداتها والي خائف من ai العالم بقاء متوسع في تطور في التجارة والصناعة وغيرها ليس فقط التكنولوجيا التطور هذا الي وصل اليه العالم ليس يعني من حل مشكله في كود ما أو عمل معادلة رياضيه الموضوع هنا الي وصل التطور هذا هي شركات عملاقه وهي الي الان بتتحكم بالسوق العالمي عندما عمل مارك مثلا واتس اب هل بفضل من برمج التطبيق لا والله بعد فتره تطور نزل فيسبوك ثم انستجرام الموضوع في عقول تجاريه و رقيميه ونفسيه مجهود جبار بيدرس المجتمع الذي بتستهدفه وتحلل وتقارن بين المنافسين وغيرها سواء B2B أو B2C وغيرها الان في تطور كبير في ai لكني لحظه بعض الأشياء وحللتها مثلا في بعض التطبيقات مثل واتساب وغيرها طريقها إضافة ميزات ومحاولة دمج ai في بعض التطبيقات تشوفه بايخه لاحد الان مثل وتس اب لكن الدرس المستفاد هنا هل فعلا مارك كان حاسب من زمان ان في المستقبل سيضف ال ai هو محلليه لا أعتقد لأن في الواقع بيعملو كل يوم على تطوير التطبيق والتخطيط وكثر تركيزهم هو على التوسع ماشين بمبدأ ال open closed وهنا كل يوم وتشاهد اضافه ميزه جديده بكل اريحيه فعندما بدأت المنافسه في ال ai هنا بتقلب في رأسك اخماس واسداس الان في عقلك ميزات ضخمه تقدر تضيفها وتدمجها على تطبيقك هنا مثل ماتفتح كلاس جديد وعملت الي تريد واضفت الي تريد لكن في افكر صعب تضيفها على شيء شغال من زمان في تحديات انك تغير في قلب البزنس ناهيك عن مشاريع الان تبنا من الصفر في هذا الثوره كيف فعلا يكون ظهورها تنذهل من كل الميزات حتى على مستوى التصميم فكلامي ليس 100% لكن هذا تحليل استفيد منه ان أصحاب التطو هذا ان لايوجد قرار للمستقبل يتخذ بدرجه 100%

#النسخة_الأصلية_بدون_ai
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
ببساطة... إيش يعني Design Patterns؟
صراحة، كثير ناس تتكلم عنها، تشرحها، تسوي دروس وسلاسل... لكن لو ما فهمت "لبّ الفكرة"، حتضيع وسط الأسماء والرسومات.

الديزاين باترن مش حفظ! هي حلول ذكية، جاهزة، لمشاكل واجهت مطورين قبلك، وبتتكرر في المشاريع الكبيرة، ومع الوقت بتصير "أدوات تفكير".

تنقسم لثلاث أنواع رئيسية:

Creational (إنشائية): كيف تنشئ الكائنات؟ مو تنشئها وخلاص، تنشئها بطريقة ما تربطك بتفاصيلها المعقدة. أمثلة: Singleton – Factory – Builder


Structural (هيكلية): كيف ترتب العلاقات بين الكلاسات؟ يعني كيف تسهّل تواصلها بدون ما تخلي المشروع غابة. أمثلة: Adapter – Decorator – Facade


Behavioral (سلوكية): كيف تتفاعل الكائنات وتتوزع المهام؟ بذكاء، بدون ما كل كلاس يعرف كل شي عن الثاني. أمثلة: Observer – Strategy – Mediator

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


#دكتورا_وتفتح_slide
كلامك في الصميم! خليني أرتبه بأسلوب جذاب يوصل المعنى بقوة:
أقولك حاجة؟
لو فعليًا بتسوي Unit Testing...
وقاعد تقيم كودك بصدق،
حتعرف هل كودك قابل للاختبار بسهولة ولا لأ.
ووقتها؟
لو حسّيت الدنيا معقدة، والاختبار صار كابوس...
غالبًا حتوصلك فكرة مهمة:
لازم أطبّق Design Patterns.
لأنها ببساطة تساعدك تكتب كود قابل للاختبار، مفصول، مرن، وسهل التعديل.
مش عشانها موضة، لا... عشانك تبني كود محترم!
#التست_يفضح_الكود
#الديزاين_باترن_مش_ترف
#برمج_بذكاء
#ايه_دا_العظمه_chatgpt
👍1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
نصيحه لما اشوف طلاب الكليه بيلخص وبيهتم بذا الجانب من أجل يرسله في قناة أو للمذاكرة انصحك انك تمسك مثلا انت ومجموعتك مثلا مرجع design pattern والله هتستفيد وغيرك يستفيد اتمنى تطبق هذا العام من جاء رسلي كتب ومراجع من الكليه ونماذج لم ادخلها من سنه أولى
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
من الشات إلى التكامل الذكي!
في البداية، كان استخدام نماذج الذكاء الاصطناعي مثل ChatGPT بسيط جدًا: تكتب له، يرد عليك. لكن مع الوقت، ظهرت الأدوات (Tools) اللي تخلّي النموذج يتفاعل مع تطبيقات خارجية مثل GitHub وGoogle Drive وغيرها.
المشكلة؟ عملية الربط بينهم كانت معقدة ومتعبة… كل أداة تحتاج تكامل خاص فيها.
هنا ظهر الحل الذكي: بروتوكول MCP (Model Context Protocol)
فكرته؟ زي منفذ USB-C بس للذكاء الاصطناعي يوفر طريقة موحدة للنموذج عشان يتواصل مع أدوات مختلفة بسهولة وبدون وجع رأس.
ليش MCP مهم؟
تكامل بسيط مع أي أداة تدعم MCP تحكم بالأذونات لكل أداة سهولة توسعة وربط أي عدد من الأدوات أمان وتنظيم عالي
تبنته شركات كبيرة مثل OpenAI وAnthropic وGoogle DeepMind ومستقبلاً ممكن نشوف تطبيقات AI تتحكم ببيئتنا الرقمية بشكل ذكي وفعّال.

#AI
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
هل بروتوكول MCP مثل RESTful API؟
فيه تشابه من حيث الفكرة العامة، لكن الفرق كبير في الهدف والتطبيق!

أوجه التشابه:

كلهم يوفّرون طريقة للتكامل بين الأنظمة. يستخدمون تنسيقات بيانات مثل JSON. مبنيين على مبدأ الطلب والرد (Request / Response).
طيب وين الفرق؟

RESTful API: يربط تطبيقات الويب، ويُستخدم من قبل المطورين أو الخوادم، ومبني على HTTP. MCP: يربط نموذج ذكاء اصطناعي (زي ChatGPT) بالأدوات والبيانات، ويُستخدم من قبل النموذج نفسه لفهم وتنفيذ الأوامر، ومبني على JSON-RPC 2.0.


REST هو طريقة "المطور" للتكامل. أما MCP فهو طريقة "النموذج الذكي" للتكامل مع العالم من حوله بذكاء وسياق.
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
Firebase studio ضروري يكون معيد في الكلية يدرس Flutter
#جامعة_صنعاء
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
DeepSeek بيدعم رسم diagrams من أفضل الميزات فعلا توصل المعلومة على الكمبيوتر تظهر لكن الجوال مش مدعم اعتقد فقط يرسم لك بذا الشكل
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
ليه الأنظمة الموزعة (Distributed Systems) بتغلب؟

وخاصة مع Asynchronous Messaging؟

هذه الأوهام صاغها خبراء الحوسبة الموزعة (مثل Peter Deutsch في عام 1994)، وتوضح الافتراضات الخاطئة التي قد يقع فيها المطورون عند تصميم أنظمة موزعة أو الاعتماد على المراسلة غير المتزامنة (مثل أنظمة النشر والاشتراك - Pub/Sub، أو طابور الرسائل - Message Queues).

لأن في ناس لسه فاكرة إن الشبكة دايمًا شغالة، أو إن سرعة الاتصال زي كأنك بتكلم نفسك، أو إن البيانات توصل بترتيبها زي الطابور!

الحقيقة؟ كل ده مجرد أوهام الحوسبة الموزعة – Fallacies of Distributed Computing.

أشهر الأوهام (بس خدها ببساطة):

The network is reliable
لا يا حبيبي، الشبكة ساعات بتقطع، وساعات الرسالة بتضيع في الطريق. لازم تعمل حساب Retry ومحاولة تانية.

Latency is zero
يعني مفيش تأخير؟ ولا في الأحلام. حتى أبسط رسالة بتاخد وقت. فلازم تتعامل مع تأخير بسيط أو كبير.

Bandwidth is infinite
الانترنت مش ببلاش ولا مفتوح على البحري! لو بعت رسائل كتير مرة وحدة، هتغرق النظام.

The network is secure
الهكرز صاحيين. ابعت كل حاجة مشفرة (TLS) واعتمد على Authentication قوية.

Topology doesn’t change
يعني الأجهزة والخوادم هتفضل زي ما هي؟ لأ، ممكن تتغير، يحصل Scale، يتبدل سيرفر... خليك مرن!

There is one administrator
مينفعش تتوقع إن في شخص واحد ماسك كل حاجة. غالبًا في فرق كتير شغالة وكل واحد بطريقته.

Transport cost is zero
كل مرة تبعت فيها رسالة، في تكلفة (وقت، فلوس، طاقة). فبلاش ترسل حاجات مالهاش لازمة.

The network is homogeneous
يعني كل الأجهزة والبروتوكولات واحدة؟ لأ طبعًا! محتاج تبني نظام يتعامل مع كل الاختلافات دي.

طب وده كله يخص Asynchronous Messaging في إيه؟

يعني لما تستخدم RabbitMQ أو Kafka أو SQS مثلًا، خليك فاهم:

الرسائل ممكن تتكرر (At-Least-Once)، مش دايمًا Exactly Once. الترتيب؟ مش مضمون إلا لو انت ضابطه بنفسك (زي Kafka).

الفشل وارد، فحط خطة للـ Dead Letter Queue.

والتحميل العالي؟ محتاج Partitioning وتوزيع سليم للـ Consumers.

طيب ليه بنقول الأوهام دي "سخيفة"؟

شوف بس الفرق في Latency:

الوصول لـ L1 Cache = 0.9ns

إرسال رسالة لأستراليا = 183ms

لو حولنا ده لمقارنة بشرية؟
إرسال رسالة لأستراليا = 19 سنة كاملة! (تخيل إنك استنيت رد 19 سنة)

الخلاصة بالمصري كده:

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

نصيحة أخيرة:

لو بتصمم نظام موزع، فكر فيه كأنه بيشتغل في عالم مجنون!
كل حاجة ممكن تتأخر، تتعطل، أو تتغير في أي لحظة.

بس لو خططت صح... هيشتغل زي الحلاوة.


#الحوسبة_الموزعة #أنظمة_المراسلة #Asynchronous_Messaging #برمجة #الأنظمة_الموزعة #توزيع_البيانات #أوهام_الحوسبة_الموزعة #رسائل
Forwarded from 🚀DevJourney🚀 (Abdulwaisa Al Nuaimi)
إذا كنت مبتدئ أو حتى قطعت شوط في البرمجة، فاعرف إنك تحتاج هالكنز!

أعلم جيدًا أن المبتدئين في أمسّ الحاجة للمعلومة الصح، والموقع هذا بإذن الله راح يعطيك صورة واضحة عن اللي فعلاً ناقصك في عالم Software Engineering.

الموقع هذا ليس مشهور زي W3Schools ولا أول النتائج في قوقل، لكني طلعته من أعماق الإنترنت عشان أوصل للمصدر الصح:
https://se-education.org/se-book/architecture/index.html

الموقع تابع لجامعة NUS - National University of Singapore وتقدر تعتبره مرجع أكاديمي مرتب لمفاهيم مثل:

Software Architecture Design Principles UML Testing Requirements وغيرها من المفاهيم اللي ما راح تلاقيها مشروحة بهالأسلوب السهل والواضح في أي مكان.

أنصحك تترك W3Schools والمواقع اللي ظاهرها حلو في البحث، لكن محتواها سطحي .

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

#بالتوفيق
1
ليست كل الرسائل تُحدث فرقاً، لكن بعضها يترك أثراً عميقاً.
كم مرة استلمت "جمعة مباركة" من عشرات الأشخاص؟ أصبحت مجرد عادة مكررة لا تحمل تأثيراً يُذكر… لكن ماذا لو أرسلت رسالة مدروسة، لشخص تقدر قيمته فعلاً؟ ستصنع فرقاً.
نفس الشيء في التجارة، وفي التعليم، وفي بيئة العمل… لكي تكسب قلوب الناس وولاء العملاء أو الموظفين، لا بد من المفاجآت الذكية.
عميلك؟ افاجئه أحياناً بهدية بسيطة أو خدمة مجانية غير متوقعة. لكن مش أي عميل! افهم من تستهدف، لأن الرسالة بدون علاقة حقيقية ممكن تنفهم غلط. الدكتور الجامعي؟ ليش ما يفاجئ طلابه بدرجات إضافية لتحفيزهم؟ مش ضعف في التعليم، بل قوة في التأثير. الشركة؟ ليش ما تفاجئ الموظفين بيوم إجازة غير متوقعة أو مكافأة بدون سابق إنذار؟ مش بس في المناسبات!
المكافآت مش مجرد فلوس… هي دفعة معنوية، ورسالة: "نحن نراك ونقدّرك".
وتخيل مدير يقولك: "اليوم شغلك من البيت" بدون ما تطلب! هذه الحركات تخلق بيئة عمل محفزة، وموظفين يشتغلوا بحب لا بخوف.
الجودة تقاس من سلوك الناس، لا من الجداول والتقارير.
الحياة مش معقدة… بس تحتاج قلب يعرف متى وكيف يعطي.
وشكرًا
2