لمحة 👀 برمجية – Telegram
لمحة 👀 برمجية
607 subscribers
142 photos
8 videos
13 files
141 links
Download Telegram
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
تصحيح الأخطاء (Debugging) ليس مجرد إصلاح للكود، بل هو مهارة!

في حياتك كمبرمج، ستواجه أخطاء (Bugs) أكثر مما ستقابل أشخاصًا 😂، ولذلك فإن تصحيح الأخطاء مهارة لا بد من تطويرها مع الوقت. إذا كنت تواجه مشكلة في كودك، جرب اتباع الخطوات التالية:


1. افهم الخطأ قبل إصلاحه
- اقرأ رسالة الخطأ (Error Message) بعناية، فغالبًا ما يكون الحل مختبئًا بين السطور.
- حاول تحديد نوع الخطأ: هل هو خطأ منطقي (Logical Error) أم خطأ في بناء الجملة (Syntax Error)؟


2. اعزل المشكلة
- قم بتشغيل جزء من الكود لوحده لتحديد مكان المشكلة بدقة.
- استخدم أدوات مثل Breakpoints لإيقاف الكود عند نقاط محددة وفحص القيم المتغيرة.

3. اطبع كل شيء!
- استخدم console.log() في JavaScript أو Debug.WriteLine() في C# لطباعة القيم والمتغيرات أثناء تنفيذ الكود.
- هذا يساعدك على فهم تدفق الكود وتحديد مكان الخلل.


4. جرب نهجًا مختلفًا
- قد لا يكون الحل في الكود نفسه، بل في البيانات المدخلة أو بيئة التشغيل.
- قم بفحص البيانات والتأكد من أنها صحيحة ومناسبة للكود.


5. ابحث بذكاء
- استخدم مصادر مثل Stack Overflow أو GitHub Issues للعثور على حلول لمشاكلك.
- حاول فهم الحل قبل تطبيقه، ولا تعتمد على النسخ واللصق (Copy-Paste) دون تفكير.


6. خذ استراحة
- أحيانًا، مجرد أخذ استراحة قصيرة يريح عقلك ويجعلك تلاحظ شيئًا كنت قد فاتك.
- العودة بذهن صافٍ قد تكون المفتاح لحل المشكلة.

لماذا تصحيح الأخطاء مهارة؟
- كلما طورت مهاراتك في تصحيح الأخطاء، كلما وفرت وقتك وجهدك.
- تصحيح الأخطاء يعلمك الصبر والتفكير المنطقي، وهما مهارتان أساسيتان لأي مبرمج ناجح.


#تصحيح_الأخطاء #مهارات_البرمجة
👍21
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
من المشاكل الشائعة التي يواجهها المطورون هي الاعتماد الدائم على أحدث إصدارات التقنيات والمكتبات، مما يؤدي أحيانًا إلى تعارضات غير متوقعة بسبب التحديثات المستمرة. وعند ظهور خطأ، يلجأ البعض مباشرةً إلى أدوات الذكاء الاصطناعي، مثل ChatGPT، بحثًا عن حل سريع.
صاحبنا المطور، الذي لا يتابع التحديثات أولًا بأول، يجد نفسه أمام كم هائل من البيانات والحلول المقترحة. يجرب الحل الأول، وإذا لم ينجح، يعود مجددًا ليكرر المحاولة مرة واثنتين وثلاثًا حتى ينفد صبره.
لكن، قبل أن تصل إلى مرحلة "انفجار الدماغ"، خذ نفسًا عميقًا وتوجه إلى الوثائق الرسمية (Docs) الخاصة بالتقنية أو المكتبة التي تعمل عليها. هناك ستجد التغييرات والتحديثات موثّقة بشكل دقيق، وغالبًا ما يكون الحل أمامك بوضوح.
التكنولوجيا تتطور بسرعة، لكن الحلول الذكية تبدأ دائمًا من المصدر.
#🙂
👍2
مبادئ تصميم REST API: الأساس لبناء أنظمة مرنة وقابلة للتوسيع، توفر تكامل سلس بين الخدمات وتعزز من أداء التطبيقات بشكل فعال.
1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
الفكرة الأفضل ما تطلع إلا بعد ما أواجه مشكلة أو أتفكر في المكان الي أنا فيه. في اللحظات هذي، تكتشف أنه لما تسأل نفسك: 'ماذا لو غيرنا هذا أو سوينا هكذا بدل كذا؟' تلقى الحل الأكثر كفاءة وفعالية. حتى، ما تتردد في إعادة التفكير وتغيير الطريقة لما تكون في حاجة لذلك؛ لأن الحلول الجديدة عادة تجي من التفكر العميق. وأيضًا، لما يقولون 'الإبداع ما يطلع إلا من ألم المعاناة'، أنا أعتقد أن المعاناة هنا تعني لحظة الاصطدام بالمشكلة نفسها، ليس بالضرورة الفقر أو الظروف الحياتية الصعبة التي تعيشها بها ، المعاناة اللي تثير الإبداع هي لحظة التحدي اللي تواجه فيها مشكلة تحتاج لحل مبتكر."

#ردة_فعل
👍3
Html
3
                                         
الفرق بين useState و useRef في React


🟢 useState:
الاستخدام:
نستخدم useState عندما نريد تخزين قيمة معينة (state) وتحديث الواجهة (UI) عند تغيير هذه القيمة. أي تغيير في الـ state يؤدي إلى إعادة رندر (re-render) للمكون (component).

مثال:
إذا كان لديك زر (button) وعند الضغط عليه يتغير لونه أو يظهر نص معين، هنا نستخدم useState لأن التغيير يجب أن ينعكس على الواجهة.


🟡 useRef:
الاستخدام:
نستخدم useRef عندما نريد تخزين قيمة معينة دون أن يؤدي تغييرها إلى إعادة رندر للمكون. غالبًا ما نستخدمه للتعامل مع عناصر الـ DOM مباشرة أو لتخزين قيم لا تحتاج إلى عرضها في الواجهة.

مثال:
إذا كنت تريد حفظ قيمة حقل إدخال (input) دون إعادة رندر المكون عند كل تغيير، أو إذا كنت تريد الوصول إلى عنصر معين في الـ DOM (مثل input أو button).


ايمت منستخدم كل واحد؟
استخدم useState عندما:

تحتاج إلى تحديث الواجهة عند تغيير القيمة.

القيمة مرتبطة بعرض المستخدم (مثل عدد العناصر في عربة التسوق).

استخدم useRef عندما:

تحتاج إلى تخزين قيمة دون إعادة رندر المكون.

تريد التعامل مع عناصر الـ DOM مباشرة.

تريد حفظ قيمة سابقة (previous value) أو أي بيانات لا تحتاج إلى عرضها.

ملاحظة مهمة:
useState يؤدي إلى إعادة رندر عند التغيير.

useRef لا يؤدي إلى إعادة رندر عند التغيير.



#React
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
🎭 حين تكون الفِرَق كلها داخلك: رحلة المطور الواحد في مواجهة الأعطال!
عندما تكون "الفريق" بأكمله متجسدًا في شخصك، تتحول التحديات إلى حوار داخلي صاخب:
👨💻 أنت (كـ باك إند): "الواجهة البرمجية مثالية، لكن لماذا هذا التعقيد في الاستخدام؟!"
🎨 أنت (كـ فرونت إند): "هذه البيانات معقدة جدًا، كيف أدمجها في الواجهة؟!"
🖌 أنت (كـ مصمم): "النتيجة النهائية بعيدة عن رؤيتي الأولية!"
📢 العميل: "الموقع لا يعمل كما تخيلتُ!"

🔎 الجذور الخفية للأعطال:

تضارب الأولويات: الانشغال بالتفاصيل التقنية (مثل تحسين الاستعلامات) قد ينسيك أهمية تصميم واجهة سهلة.
الانفصال الذاتي: غياب التنسيق بين "مطور الباك" و"مطور الفرونت" داخل عقلك أثناء التطوير.
التراكمات الخفية: تأجيل التكامل بين الأجزاء حتى النهاية يؤدي إلى ظهور جبال من الأخطاء.

🛠 الحل: أنت فريقك.. فكن قائده الحكيم!

صمّم الهيكل العظمي أولًا: حدد بنية الـAPI ومسار البيانات قبل كتابة أي كود، حتى لو كنت تعمل وحدك.
التكامل الدوري: بعد كل مهمة صغيرة (مثل إنشاء نموذج بيانات)، ابنِ جزءًا من الواجهة يتفاعل معه فورًا.
اختبار ذاتي مزدوج: شغّل دور المطور والمستخدم معًا: هل الواجهة سهلة؟ هل الاستجابة سريعة؟
قسّم الجبل إلى تلال: حوّل المهمة الضخمة إلى ٥-٦ خطوات، كل خطوة تشمل (باك + فرونت + اختبار).

📖 من تجربتي: حين حاربتُ نفسي.. وفزت!

في أحد المشاريع التي عملتُ عليها بمفردي، أضعتُ أسبوعًا في بناء نظام معقد للباك إند. وعندما حاولتُ دمجه مع الفرونت، اكتشفتُ أن الهيكلة غير مناسبة!
الدرس: "لا تثق بأنك تتذكر كل التفاصيل."
ومنذ ذلك الحين، بدأتُ أكتب "عقدًا تقنيًّا" بيني (كـ باك إند) وبيني (كـ فرونت إند) يتضمن:

شكل الـResponse: (مثال: البيانات المرسلة تحتوي user_name وليس name).

أنواع الأخطاء: تحديد الأخطاء المحتملة وطريقة عرضها.

تواريخ التكامل الجزئي: (مثال: بنهاية الأسبوع، يجب أن تعرض الواجهة قائمة البيانات القادمة من الباك).

🌱 الخلاصة: الفريق الواحد يحتاج خطة مزدوجة!

العمل الفردي لا يعني الفوضى، بل يعني أنك مهندس الروابط الخفية.
أنت من يمنع "الباك إند الداخلي" من إلقاء اللوم على "الفرونت إند الداخلي"!
النجاح هنا هو أن ترى المنتج بعينين:

عين المطور الذي يبني المنطق.

وعين المستخدم الذي يلمس النتيجة. 🧠

"عندما تكون أنت الخيط الذي ينسج القماشة كلها،
اجعل كل غرزة تُخبرك بالصورة الكاملة قبل أن تُكمل الحياكة." 🧵
#دروس
👍1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
صعب على 😅 المبرمجين

بيذاكر في الكلية
بيذاكر في الإجازة
بيذاكر بعد الكلية
بيتمنى يذاكر وهو في الشغل كذلك

ولكن رغم كل هذا متعة النجاح لما تشوف الكود شغال بتنسيك كل التعب! Keep coding! 💻🔥
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
مشاريع تخرج مبتكرة من أجل اليمن �
(برمجيات تُحدث فرقًا في المجتمع)


### 🌍 المشروع الأول: نظام إدارة النفايات الذكي (Smart Waste Collection)
الفكرة:
خريطة ذكية تُحدد مناطق تراكم النفايات في المدن اليمنية عبر تقارير المواطنين (صور + GPS)، وتنسق مع البلديات لتحسين عمليات الجمع.
التقنيات:
- تطبيق جوال باستخدام Flutter.
- خرائط Google لتحديد المواقع.
- إشعارات SMS لتنبيه الفرق المسؤولة.
الهدف:
تحسين الصحة العامة في المناطق الحضرية وتقليل الأمراض الناتجة عن التلوث.


### 🩺 المشروع الثاني: منصة طبية ذكية تعمل دون إنترنت (Offline Telemedicine)
الفكرة:
تطبيق تشخيصي يعمل على الهواتف البسيطة (حتى بدون إنترنت مستمر) لتقديم استشارات أولية لأمراض شائعة في اليمن مثل الملاريا والكوليرا.
التقنيات:
- قاعدة بيانات محلية (SQLite) لتخزين الأعراض والتشخيصات.
- نماذج ذكاء اصطناعي خفيفة (TensorFlow Lite).
- واجهة USSD/SMS للمناطق النائية.
الهدف:
إنقاذ الأرواح في المناطق التي تفتقر إلى المستشفيات أو الاتصال بالإنترنت.


### 🌟 لماذا هذه المشاريع؟
- تتحدى الواقع اليمني: صُممت خصيصًا للتغلب على نقص البنية التحتية والموارد.
- تعتمد على البرمجيات فقط: لا تحتاج إلى عتاد معقد!
- تأثير ملموس: تحسين الصحة، البيئة، والخدمات الأساسية.



### 🤝 هل أنت مهتم؟
- مطور؟ مصمم؟ خبير ذكاء اصطناعي؟
- لديك أفكار لتطوير هذه المشاريع؟
- تعمل مع منظمات إغاثية أو بلديات؟

لنتعاون لجعلها حقيقة!


#اليمن_الرقمية #اهتم_بطلابك #تكنولوجيا_للتغيير
#YemenTech #SoftwareForGood #LinkedInTech
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
الا تخجل عندما ترفع بهذا المشاريع تدرسني أحياء وتأتي بهذه المشاريع ؛إلى الدولة ان كنتي مهتمه بهذا الأشياء فهتمي بطلابك ودعميهم ووفري لهم بيئة كويسه لاتجعلي طلابك يغادرون أرض الوطن !
👍6
نصيحة للي ناوي يشتغل المشاريع هذه مش عنده معرفه بهذا المجالات لاتروح تبحث على roadmap  لأنها لو دخلتها ستتدخل عالم ماله طرف ويمكن لن تحقق المشروع للأسف  الحل عليك أن تبحث عن شخصية خبيرة جدا بالمجال ومش اي خبير خبير فعلا عايش حياة ai  هو فعلا سيختصرها لك وسيعطيك الخطوات التي توصلك للهدف .
👍4
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
مستعجل شوف ا ل tool ai هذه
👍1
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
اللجنة العلمية CS 22
بناء آله حاسبه مش سهل... مقال جميل يثبت نقاط صعوبه بناء الآله الحاسبه https://chadnauseam.com/coding/random/calculator-app
طبعا سبب كتابه المقال كان هذه الصورة...
الي فوق حاسبة اندرويد والنتيجه من المعادلة السابقة هي 1
والي تحت حاسبة ايفون والنتيجه من نفس المعادلة السابقة هي 0

بالرغم ان الناتج الصحيح هو 1 ولكن بسبب هذا الاختلاف كُتب هذا المقال ... يتكلم عن خطه جوجل في اصلاح حاسبه الاندرويد والمشاكل الي واجهوها و...الخ
👍1
Forwarded from اللجنة العلمية CS 22 (ʙʀʜᴏᴏᴍ ⑇)
اللجنة العلمية CS 22
طبعا سبب كتابه المقال كان هذه الصورة... الي فوق حاسبة اندرويد والنتيجه من المعادلة السابقة هي 1 والي تحت حاسبة ايفون والنتيجه من نفس المعادلة السابقة هي 0 بالرغم ان الناتج الصحيح هو 1 ولكن بسبب هذا الاختلاف كُتب هذا المقال ... يتكلم عن خطه جوجل في اصلاح حاسبه…
طبعا اذا تشتو القصه بشكل مختصر... اللغات البرمجيه غالبا تواجه مشاكل في الحساب... مثل مشكله الـ floating point الشهيره
0.2 + 0.1 != 0.3
وغيرها من المشاكل العميقه.

والي يشتي يعرف القصه الطويله مسجل كل شي في المقال اعلاه
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
عندما أتصور تصميم واجهات الـ API في مشروعي، هناك نقطة مهمة جداً أتأكد منها وهي التماثلية (Idempotency). ببساطة، لما يكون عندي نفس الـ API call وأعيده أكثر من مرة، يجب أن يؤدي إلى نفس النتيجة في كل مرة. مثلاً، لو طلبت GET لعرض قائمة منتجات، فهذا طبيعي أنني أحصل على نفس النتيجة في كل مرة. لكن الوضع يختلف لما يكون الأمر متعلقاً بأمور حساسة مثل الدفع من محفظة التطبيق. لو ضغط المستخدم الزر مرتين بسرعة بسبب تأخر في الاستجابة، يجب على النظام أن يأخذ في الاعتبار أنه يجب إجراء العملية مرة واحدة فقط.
مثال من الواقع:
لنفترض أن المستخدم قام بسحب الرصيد مرتين لأن استجابة النظام تأخرت في المرة الأولى، وبالتالي ضغط الزر مرة ثانية. الحل الأبسط هو تعطيل الزر مؤقتاً بعد أول ضغط، بحيث لا يستطيع المستخدم إرسال الطلب إلا بعد أن يتم إتمام الطلب الأول. وبعد الانتهاء، يمكن تمكين الزر مرة أخرى إذا أراد المستخدم استخدامه مجددًا. هذا يعتبر تحسينًا لتجربة المستخدم، لكنه ليس هو الحل الأساسي. الحل يجب أن يكون في الـ back-end، بحيث لا يسمح بتكرار العمليات بشكل غير مقصود.
الحلول المطروحة:

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

استخدام الـ caching لفترة قصيرة: ولكن هذه الطريقة قد تؤدي إلى race conditions، خصوصًا إذا كانت الفترات الزمنية قصيرة جدًا بين الطلبات.

الحل المثالي:
الطريقة الأفضل هي استخدام مفتاح التماثلية (Idempotency key). حيث يقوم النظام بتوليد مفتاح فريد لكل طلب، ويقوم الـ back-end بالتحقق من هذا المفتاح قبل تنفيذ العملية. بعد إتمام العملية بنجاح، يجب أن يقوم العميل بتوليد مفتاح جديد للطلب التالي. وإذا أرسل العميل نفس المفتاح مرتين، يقوم النظام بإرجاع خطأ (مثل رمز الحالة 409 أو 422) ليعلم العميل أن العملية فشلت للمرة الثانية.
ويجب أن أضمن أن هذه المفاتيح تحفظ في مكان آمن، مثل SQL أو Redis، لضمان أن النظام قادر على التحقق منها بشكل فعال.
التعامل مع HTTP verbs في التماثلية:

GET: هذا النوع من الطلبات يتمتع بالتماثلية، لأنه فقط لقراءة البيانات. إذا كررت نفس الطلب عدة مرات، لن يؤثر ذلك على حالة النظام.

PUT: هذا يعتبر أيضاً تماثليًا، حيث أن التغيير في نفس العنصر لن يؤثر على النتيجة بعد التعديل الأول.

DELETE: نفس الشيء. لو حاولت حذف نفس السجل عدة مرات، فلن يتم حذفه إلا مرة واحدة.

POST: هذا ليس تماثليًا. لأنه يؤدي إلى تغيير النظام أو إضافة بيانات جديدة في كل مرة.

PATCH: هذا أيضاً ليس تماثليًا، لأنه يقوم بتعديل شيء معين في النظام.

ملاحظة أخيرة:
يجب أن أضع في الاعتبار أن التماثلية ليست مرتبطة فقط بكيفية تنفيذ الـ API calls، بل هي مرتبطة أيضًا بنوع النظام الذي أعمل عليه. بعض الأنظمة قد تحتفظ بسجل تدقيق (audit trail) للـ GET requests، مما قد يجعلها غير تماثلية لأن كل طلب يمكن أن يؤدي إلى تغييرات جديدة.
في النهاية، يجب أن أضمن أن الـ API الذي أعمل عليه يتعامل مع هذه النقاط بشكل دقيق، خاصة في العمليات الحساسة مثل الدفع أو خصم الرصيد، باستخدام مفتاح التماثلية لضمان أن لا يحدث تكرار غير مقصود لأي عملية.

#سابر
1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
إن القدرة على كتابة شيفرة برمجية جيدة لا تقل أهمية عن القدرة على #العمل_الجماعي في البرمجة، لذلك كان الاهتمام بتطوير طرق الاتصال والتواصل مع الفريق واحدة من أهم ما تطمح إليه الشركات، ويطمح إليه الأفراد المخلصون... وهذه الملاحظات أو الأفكار لمن كان عضوا في فريق أو كان قائدا لفريق ^^
١. انطلق من كونك مسلما عزيزا بإسلامك، لا تقبل بفعل الحرام حتى لو كانت عواقبه ما كانت، فإن كنت كذلك؛ نلت رضا الرحمن، وذللت إليك الصعاب...
٢. إذا فعلت النقطة الأولى كان تعاملك مع من حولك ينطلق من الإسلام، فستكون رحيما لينا، لديك من أخلاق الإسلام ما يدفعك للتواصل الحسن، وإكرام إخوانك والاعتذار عند الخطأ، وستترك المراء وتتبع الأخطاء والقيل والقال، وهذا كله لوحده كاف لينهي أي مشكلة قبل أن تبدأ
٣. شارك علمك ومعرفتك ولا تحتكرها، وكن على يقين بأن الله -سبحانه وتعالى- سيبارك لك في علمك حينها، ويؤتيك خيرا منه.

. لا تتكبر على غيرك، ولا تضع نفسك في غير موضعها، وتعلم من الصغير والكبير، وكن ذا فطنة واعلم متى يمكنك مشاركة علمك أو السؤال عما جهل عليك، ومتى يلزمك التوقف... ومن يقبل النصح ومن لا يقبل.
٥. الشورى، تشاور أنت وإخوانك في العمل، أبد رأيك ومقترحاتك، أظهر ميزات اقتراحاتك وعيوبها، ثم غلبوا الشورى على قراركم.
٦. احترام قائد الفريق وإن خالفك الرأي، فبالنهاية هذا دور قائد الفريق أن يوجه الدفة لما يراه أفضل للعمل.
٧. التوثيق: التوثيق ضمان للحقوق، فلا تخجل من توثيق ما تراه ضروريا، وتوثيق متطلبات العمل، والمتطلبات التي ستغير من العمل، فيجب أن يكون هناك مكان يمكن الرجوع إليه عند أي خصام.
٨. التنازل في بعض الأحيان عن الأسلوب الذي تستخدمه في البرمجة أو طريقة التفكير مقابل أسلوب آخر أو طريقة تفكير أخرى لأحد أعضاء الفريق الذي تعمل معه، أو حتى الكتابة بأسلوبه أو اعتماده كنموذج للعمل...-على أن يكون صحيحا-.

. إذا كنت قائد فريق فعامل وهيء من هم في أمانتك ليكونوا القادة الذين سيحلون مكانك! نعم كما قرأت، فهذا المكان لن يدوم لك، ولو دام لغيرك ما وصل إليك، ورزقك مكتوب فلا خوف!، وابتعد عن التدخل بالتفاصيل الدقيقة قدر الإمكان مع كل واجب، أي اعتمد على فريقك لينجزوا المهام.
١٠. كما أنك لست كاملا، فمن أمامك ليس كاملا، وكما أنك تخطئ وستخطئ فمن أمامك مخطئ وسيخطئ! لذلك، هون عليك، وتعامل وأنت موقن بهذا الأساس!
١١. الحزم والعقاب، ففي بعض الأوقات يتوجب على قائد الفريق إنزال العقاب على المخطئ حتى وإن كان ذلك قاسيا... فهناك حقوق يجب أن ترد إلى أصحابها، ونفوس تنأى أن تتأدب دون رادع!
١٢. الشكر والثواب، لا تنسى أن تشكر المحسن من فريقك على إحسانه أو مساعدته أمام الجميع أو في المناسبات، والشكر يكون ماديا أو معنويا أو كلاهما معا!
١٤. الصبر حتى يثمر ويزدهر الفريق، فبناء فريق رائع يحتاج إلى وقت وجهد وتعاون من جميع الأعضاء، وذلك يمر بمراحل مختلفة، لذلك وجب الصبر ليتحول الأفراد من مجموعة عاملة أو فريق زائف إلى فريق محترف أو متميز، والصبر على اختلاف المستويات، فيساعد القوي الضعيف، ويبذل الضعيف جهده حتى يكون سندا لا عبء على فريقه...
١٥. اليقين بأن التوفيق بيد الله -سبحانه وتعالى-، وإنما نأخذ بالأسباب كما أمرنا.

#توجيهات
👍2🔥1
القفزة الكبيرة التي قد تحدث في الفترة القادمة ستكون في مجال المعدات الحاسوبية (Hardware)، وذلك لاستيعاب الكم الهائل من العمليات ومعالجة البيانات (Data Processing)، والتي شهدت طفرة هائلة مؤخرًا بسبب الذكاء الاصطناعي (AI - Artificial Intelligence).
قد نشهد توجهًا متسارعًا نحو الحوسبة الكمّية (Quantum Computing)، مما سيؤدي إلى نقلة نوعية في علوم الفيزياء (Physics) وما يرتبط بها.
نسأل الله أن يكون لنا كمسلمين (Muslims) موطئ قدم في هذه الثورة التكنولوجية (Technological Revolution)، وألا يفوتنا القطار كما فاتنا في محطات سابقة.
جمعتكم مباركة (Blessed Friday).
👍1
الشغل المنظم والله يحتاج مطور frontend محترف حتى ولو كنت فاهم في هذا المجال لا تظن ان ال ai  قد قضى على هذا المجال أو حتى في المستقبل إذا كانت لاتحب المجال لاتحبط غيرك المجال ثقيل جدا وقلت لك من يومه ال ai سيكون مثل سوق الحراج .
👍1
Forwarded from InfoTechnology (IT4_2024) (Abdulwaisa Al Nuaimi)
### "كيف تتعامل مع البيزنس تيم من غير ما تموت من الضغط؟"
(بدون لف ولا دوران 🚀)


#### 1 - اسأل زي اللي بيسأل في مسابقة 🕵️♂️
لو PO قالك: "نُريد زرًّا أزرق!"
لا تبدأ تبرمج على طول. اسأله:
- "ليه أزرق؟" (مش لون مُميز!)
- "هيحل إيه؟" (مش مجرد لون!)
- "هتقيس نجاحه بإيه؟" (عدد النقرات؟ المبيعات؟)
الهدف: تاخد ورقة الإجابات دي... وتبرمج الحل الحقيقي، مش التوصيف السطحي.


#### 2 - حوّل "الترمنولوجيا التقنية" لـ"ميمز" يفهموها 😂
مثال:
- لو تقني قال: "هندمج API مع النظام القديم!"
- البيزنس تيم: "..." (وجه مُحتار).
الحل:
قل: "هنوصّل النظام الجديد بالقديم زي ما توصّل الجوال بالوايفاي. هيرسل بيانات بعض بسلاسة!"
النتيجة: "آه فهمنا! روح اعمل كده!"


#### 3 - اكتب "العقد" على ورق حمام (مش حرفيًا 🚽)
قبل ما تبدأ أي task:
- أرسل رسالة قصيرة للفريق تقول:
"التسليم هيكون: [كذا]
الموعد: [كذا]
طريقة القياس: [كذا]
اتفقنا؟ 👍👎"
لو قالوا "👍"، سجّل الرسالة وخُد screenshot. لو حصل خلاف بعد كده، أرسل الصورة وقُل: "دي كانت الصفقة!" 🤝


#### 4 - أخبرهم بالـ Progress كل يومين… بالـ Memes 🐸
مثال:
- بعد يومين من العمل: أرسل صورة قطة بتكتب على لاب توب مع تعليق:
"الوضع دلوقتي:
- الـ API اتعمل
- الـ Database اتربط
- باقي التصميمات الجاية بكرة!"
النتيجة: البيزنس تيم هيحسّوا بالإنجاز من غير ما تضطر تعمل meeting ساعة! 🎉


#### الخلاصة السريعة:
- لا تكن روبوت: حول التفاصيل التقنية لقصص وحكايات.
- لا تصمت: لو في مشكلة، قولها من بدري (مش علشان تتفاجأوا سوا!).
- خليك مرن: sometimes البيزنس بيحتاج يتعدّل… وال flexibility دي هتخليك محترف.


ملاحظة: لو طلعت من الاجتماع وأنت مُبتسم، فأنت فزت 🏆.
2