بما انه قريباً رح يكون الـ TikTok متاح بسوريا لا تنسوا تتابعوا حسابي على الرابط:
https://www.tiktok.com/@somarkesen963
https://www.tiktok.com/@somarkesen963
❤2🆒1
اتمنى لكم بداية اسبوع موفقة جميعاً
كما جرت العادة نبدأ أسبوعنا بفقرة اسالة و اجوبة و لكن هذه المرة على حسابي على Instagram بإمكانكم طرح أسألتكم خلال الرابط: هنا
كما جرت العادة نبدأ أسبوعنا بفقرة اسالة و اجوبة و لكن هذه المرة على حسابي على Instagram بإمكانكم طرح أسألتكم خلال الرابط: هنا
❤3🔥2
سابقاً كتبتلكم بالـ story انه استخدمت yaml لإنشاء Swagger Documintion فخلونا نعرف شو هيي الـ yaml اكثر:
الـ YAML هيي اختصار لـ Yet Another Markup Language هي صيغة كتابة تستخدم في إعداد الـ Configuration Files مثل ملفات الـ Docker و Kubernetes و CI/CD.
شو ميزاتها:
- واضحة وبسيطة: تعتمد على المسافات بدل الأقواس.
- مدعومة بشكل واسع: تُستخدم في أدوات مثل Ansible و GitLab CI/CD.
- تدعم التعليقات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
الـ YAML هيي اختصار لـ Yet Another Markup Language هي صيغة كتابة تستخدم في إعداد الـ Configuration Files مثل ملفات الـ Docker و Kubernetes و CI/CD.
شو ميزاتها:
- واضحة وبسيطة: تعتمد على المسافات بدل الأقواس.
- مدعومة بشكل واسع: تُستخدم في أدوات مثل Ansible و GitLab CI/CD.
- تدعم التعليقات
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤5
بتعرفوا انه في تقارير و اخبار عن انه OpenAi الشركة المالكة لـ ChatGPT اشترت Domain بأكثر من 15 مليون دولار؟؟؟
لتعرفوا التفاصيل اكتر:
https://youtu.be/VTngsh_SGVU
لتعرفوا التفاصيل اكتر:
https://youtu.be/VTngsh_SGVU
YouTube
كيف غيرت OpenAI قواعد اللعبة في الذكاء الاصطناعي بدومين Chat.com بقيمة 15 مليون دولار؟
الحرب بين أنظمة الذكاء الاصطناعي انتقلت من التقنيات إلى أسماء المواقع!
في هذا الفيديو، نستعرض كيف تجاوز ChatGPT حاجز الـ 3.7 مليار زيارة عالمياً في أكتوبر بفضل استراتيجية ذكية من OpenAI.
تعرفوا على قصة شراء دومين Chat.com بمبلغ يزيد عن 15 مليون دولار، وتأثير…
في هذا الفيديو، نستعرض كيف تجاوز ChatGPT حاجز الـ 3.7 مليار زيارة عالمياً في أكتوبر بفضل استراتيجية ذكية من OpenAI.
تعرفوا على قصة شراء دومين Chat.com بمبلغ يزيد عن 15 مليون دولار، وتأثير…
🔥5
إذا بنطلع على تطور لغة PHP بالفترة الأخيرة، منلاحظ شغلة كتير مهمة: كيف الفريموركات القوية مثل Laravel أثرت بشكل مباشر على تطوير اللغة نفسها.
يعني شغلات كتير كانت Laravel تقدمها كحلول مبتكرة، صارت اليوم جزء من PHP مباشرة، وكأنو Laravel عم تقول للغة: هيك الامور بتنعمل 😂
صرنا نشوف شغلات متل الـ Helper Functions اللي كانت Laravel تقدم حلول للتخلص من التعقيد متل route() و str_slug بعد فترة شفنا PHP قال ليش لا؟ و ضافت امور متل: str_contains و str_starts_with.
و حتى التعامل مع النصوص و المصفوفات كانت دائماً Laravel تعطينا طرق مريحة للتعامل معها و لحقتها الـ PHP بشغلات مثل: array_key_first و Stringable
و حتى الـ Enums كانت لعبة مع Laravel قبل ما تنزلها PHP بشكل رسمي بالإصدار 8.1
و حتى إذا بتتذكروا كيف كنا نكتب Metadata مع Laravel (مثل @Route)، اليوم صار فينا نستخدم Attributes بـ PHP نفسها.
هالعلاقة بين الفريموركات واللغة نفسها بتفرجينا كيف الأدوات اللي بيستخدمها المطورين يوميًا عم تكون قوة ضاغطة لتطوير اللغات.لارافيل عطتنا تجربة ممتعة بالإنتاجية، وPHP لحقت الركب لتصير "مودرن" أكتر وقريبة للمطورين.
شو رأيكم انتوا في أمثلة تانية بتتذكروها عن شغلات كانت موجودة بـ Laravel وصارت جزء من PHP ؟؟؟؟
خبروني رأيكم بالتعليقات.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
يعني شغلات كتير كانت Laravel تقدمها كحلول مبتكرة، صارت اليوم جزء من PHP مباشرة، وكأنو Laravel عم تقول للغة: هيك الامور بتنعمل 😂
صرنا نشوف شغلات متل الـ Helper Functions اللي كانت Laravel تقدم حلول للتخلص من التعقيد متل route() و str_slug بعد فترة شفنا PHP قال ليش لا؟ و ضافت امور متل: str_contains و str_starts_with.
و حتى التعامل مع النصوص و المصفوفات كانت دائماً Laravel تعطينا طرق مريحة للتعامل معها و لحقتها الـ PHP بشغلات مثل: array_key_first و Stringable
و حتى الـ Enums كانت لعبة مع Laravel قبل ما تنزلها PHP بشكل رسمي بالإصدار 8.1
و حتى إذا بتتذكروا كيف كنا نكتب Metadata مع Laravel (مثل @Route)، اليوم صار فينا نستخدم Attributes بـ PHP نفسها.
هالعلاقة بين الفريموركات واللغة نفسها بتفرجينا كيف الأدوات اللي بيستخدمها المطورين يوميًا عم تكون قوة ضاغطة لتطوير اللغات.لارافيل عطتنا تجربة ممتعة بالإنتاجية، وPHP لحقت الركب لتصير "مودرن" أكتر وقريبة للمطورين.
شو رأيكم انتوا في أمثلة تانية بتتذكروها عن شغلات كانت موجودة بـ Laravel وصارت جزء من PHP ؟؟؟؟
خبروني رأيكم بالتعليقات.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤16🔥4👍2
200 شخص و منوصل لأول 1000 مشترك على الـ YouTube 🙏🏻
دعمكم لقناتي على اليوتيوب بيساعدني استمر و ضل انشر فيديوهات و فرغ وقت اكبر لهاد الموضوع لهيك ساوو مشاركة للقناة عندكم على الـ Story و الـ Facebook و لا تنسوا الـ mention كرمال نختم هالسنة بفرحة اول الف 🔥🔥
رابط القناة: هنا
دعمكم لقناتي على اليوتيوب بيساعدني استمر و ضل انشر فيديوهات و فرغ وقت اكبر لهاد الموضوع لهيك ساوو مشاركة للقناة عندكم على الـ Story و الـ Facebook و لا تنسوا الـ mention كرمال نختم هالسنة بفرحة اول الف 🔥🔥
رابط القناة: هنا
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
❤9🔥7
اكيد سمعت عن امور متل Docker Image و Docker Container و انت عم تقرأ شي مقال او بميتينغ او باي مكان آخر و اكيد كمان فكرتهم نفس الفكرة و خطرلك تعرف شو الاختلاف بيناتهم و هاد اللي جاي اشرحلك ياه اليوم
خلونا نتخيل السيناريو التالي:
انت بدك تعمل أكل و فتحت وصفة حبيتها، الوصفة مكتوبة بطريقة دقيقة و بتحتوي كل المكونات و الخطوات لأعداد الوجبة و كمان هي الوصفة ثابتة و بإمكانك نسخها و توزيعها على أصدقائك لكن الوصفة بحد ذاتها غير كافية لإعداد الطعام !!
هلا لما مناخد هي الوصفة و نبدأ تحضير الوجبة بالفعل باستخدام المكونات بالمطبخ فانت حصلت على وجبتك.
فالطبق الناتج هو النسخة الحية من الوصفة اللي فيك تتناوله و تعدل عليه من بهارات و توابل و مكونات او تقديمه بطرق مختلفة و فيك تستخدم نفس الوصفة لإعداد اطباق مختلفة و كل طبق يتم إعداده في "وعاء" خاص فيه
هاد التشبيه بوضح العلاقة بين الـ Docker Image و Docker Container فالـ Image هي الوصفة و الـ Container هو الوجبة المطهوة
يعني عملياً الـ Docker Image:
هي القالب الأساسي أو "الوصفة" التي تحتوي على كل ما يحتاجه تطبيقك ليعمل (الكود، المكتبات، التبعيات، إعدادات البيئة).
ثابتة وغير قابلة للتغيير بمجرد إنشائها.
تُستخدم فقط كمرجع لإنشاء الحاويات.
🛠 إذا كنت تساوي فورمات لجهازك فتخيَّلها كـ "ملف ISO" لنظام التشغيل، الذي يمكنك استخدامه لتثبيت النظام ولكن لا يمكنك تشغيله مباشرة.
أما الـ Docker Container:
هي نسخة حية ومُشغَّلة من الصورة، أي البيئة المعزولة التي يتم تشغيل التطبيق بداخلها.
ديناميكية، ويمكن أن تتغير أثناء التشغيل (مثل تعديل الملفات أو تشغيل عمليات جديدة).
يمكن تشغيل عدة حاويات من نفس الصورة، وكل حاوية تعمل بشكل مستقل.
🛠 تخيَّلها كـ "الجهاز الذي يعمل بالنظام بعد تثبيته"، ويمكنك تشغيله وإجراء تغييرات عليه.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
خلونا نتخيل السيناريو التالي:
انت بدك تعمل أكل و فتحت وصفة حبيتها، الوصفة مكتوبة بطريقة دقيقة و بتحتوي كل المكونات و الخطوات لأعداد الوجبة و كمان هي الوصفة ثابتة و بإمكانك نسخها و توزيعها على أصدقائك لكن الوصفة بحد ذاتها غير كافية لإعداد الطعام !!
هلا لما مناخد هي الوصفة و نبدأ تحضير الوجبة بالفعل باستخدام المكونات بالمطبخ فانت حصلت على وجبتك.
فالطبق الناتج هو النسخة الحية من الوصفة اللي فيك تتناوله و تعدل عليه من بهارات و توابل و مكونات او تقديمه بطرق مختلفة و فيك تستخدم نفس الوصفة لإعداد اطباق مختلفة و كل طبق يتم إعداده في "وعاء" خاص فيه
هاد التشبيه بوضح العلاقة بين الـ Docker Image و Docker Container فالـ Image هي الوصفة و الـ Container هو الوجبة المطهوة
يعني عملياً الـ Docker Image:
هي القالب الأساسي أو "الوصفة" التي تحتوي على كل ما يحتاجه تطبيقك ليعمل (الكود، المكتبات، التبعيات، إعدادات البيئة).
ثابتة وغير قابلة للتغيير بمجرد إنشائها.
تُستخدم فقط كمرجع لإنشاء الحاويات.
🛠 إذا كنت تساوي فورمات لجهازك فتخيَّلها كـ "ملف ISO" لنظام التشغيل، الذي يمكنك استخدامه لتثبيت النظام ولكن لا يمكنك تشغيله مباشرة.
أما الـ Docker Container:
هي نسخة حية ومُشغَّلة من الصورة، أي البيئة المعزولة التي يتم تشغيل التطبيق بداخلها.
ديناميكية، ويمكن أن تتغير أثناء التشغيل (مثل تعديل الملفات أو تشغيل عمليات جديدة).
يمكن تشغيل عدة حاويات من نفس الصورة، وكل حاوية تعمل بشكل مستقل.
🛠 تخيَّلها كـ "الجهاز الذي يعمل بالنظام بعد تثبيته"، ويمكنك تشغيله وإجراء تغييرات عليه.
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤13🔥5👏2👍1
تخيل حالك رايح عالسوبرماركت، وعم يقولولك لازم تاخد كل شي بالمحل حتى لو ما كنت بحاجة انك تشتريه ؟؟
هاد المثال يطبق حرفياً على اللي عم يصير مع قواعد البيانات لما تجيب امور ما الها داعي و خصوصاً العلاقات و هون بيجي دور whenLoaded لتحل هي المشكلة خليني اشرحلك
لنفترض إنك عم تبني API لموقع مقالات، وعندك خيار تعرض معلومات المؤلف (Author) والتعليقات (Comments) حسب طلب المستخدم. بس إذا ما طلبها، ليش تحملها؟ هيك بتقدر توفر استهلاك الموارد وتسرّع الأداء.
مثل ما انت ما بتاخد أغراض ما إلها داعي بالسوبرماركت، خلي الـ API تبعك يجيب البيانات اللي المستخدم فعلاً محتاجها فقط. هي الطريقة مو بس بتوفر وقت، كمان بتحسن الأداء وبتريح السيرفر!
ولا تنسوا اني معكم على instgram بالـ story و الـ reels احكي بشكل موسع عن هي الامور lمن خلال حسابي على الرابط: هنا
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
هاد المثال يطبق حرفياً على اللي عم يصير مع قواعد البيانات لما تجيب امور ما الها داعي و خصوصاً العلاقات و هون بيجي دور whenLoaded لتحل هي المشكلة خليني اشرحلك
لنفترض إنك عم تبني API لموقع مقالات، وعندك خيار تعرض معلومات المؤلف (Author) والتعليقات (Comments) حسب طلب المستخدم. بس إذا ما طلبها، ليش تحملها؟ هيك بتقدر توفر استهلاك الموارد وتسرّع الأداء.
مثل ما انت ما بتاخد أغراض ما إلها داعي بالسوبرماركت، خلي الـ API تبعك يجيب البيانات اللي المستخدم فعلاً محتاجها فقط. هي الطريقة مو بس بتوفر وقت، كمان بتحسن الأداء وبتريح السيرفر!
ولا تنسوا اني معكم على instgram بالـ story و الـ reels احكي بشكل موسع عن هي الامور lمن خلال حسابي على الرابط: هنا
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤9🔥2
احياناً نقوم بتشغيل المشروع بكامل تفاصيل باستخدام Docker containers حتى الـ Web Server مثل Nginx او Apache و اللي متعامل مع الاستضافات بيعرف انه بكون احيانا في نسخة افتراضية بتكون موجودة اساساً مع السيرفر.
و لنفترض المثال التالي:
انه انت مشغل المشروع باستخدام Docker containers و الـ VPS عمل reboot ؟؟
هون رح تخبرني عاااادي ولا على بالي لان الـ Docker containers بيعمل restart تلقائي
كلام صحيح نسبياً لكن وجب التنويه انه ممكن إذا كنت عامل Nginx container عم يشتغل على Port مثل 80 ممكن ما يقدر يشتغل لان ممكن النسخة الافتراضية من السيرفر حجزت الـ port قبل منها
لهيك دوماً اتاكد من تعطيلك لاي خدمات مانك عم تستخدمها على السيرفر تبعك.
هل كنت بتعرف هي المعلومة سابقاً؟
شاركني بتجاربك مع Docker و الاستضافات بالتعليقات
ولا تنسوا اني معكم على instgram بالـ story و الـ reels احكي بشكل موسع عن هي الامور lمن خلال حسابي على الرابط: هنا
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
و لنفترض المثال التالي:
انه انت مشغل المشروع باستخدام Docker containers و الـ VPS عمل reboot ؟؟
هون رح تخبرني عاااادي ولا على بالي لان الـ Docker containers بيعمل restart تلقائي
كلام صحيح نسبياً لكن وجب التنويه انه ممكن إذا كنت عامل Nginx container عم يشتغل على Port مثل 80 ممكن ما يقدر يشتغل لان ممكن النسخة الافتراضية من السيرفر حجزت الـ port قبل منها
لهيك دوماً اتاكد من تعطيلك لاي خدمات مانك عم تستخدمها على السيرفر تبعك.
هل كنت بتعرف هي المعلومة سابقاً؟
شاركني بتجاربك مع Docker و الاستضافات بالتعليقات
ولا تنسوا اني معكم على instgram بالـ story و الـ reels احكي بشكل موسع عن هي الامور lمن خلال حسابي على الرابط: هنا
===================
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤7👍3
تمنياتي بأسبوع عمل موفق لكم جميعاً
كالعادة نبدأ اسبوعنا بتلقي الاسئلة الخاصة بكم على الـ story من خلال الرابط: هنا
بانتظاركم 🙏🏻
كالعادة نبدأ اسبوعنا بتلقي الاسئلة الخاصة بكم على الـ story من خلال الرابط: هنا
بانتظاركم 🙏🏻
❤7
#Laravel Tips
لما بدك تحدّث آلاف أو حتى ملايين السجلات، الأفضل إنك تقسم العملية على دفعات باستخدام وظائف مع طوابير (Queued Jobs). بهالطريقة، بتضمن إنو التطبيق يضل سريع وما يصير في ضغط أو قفل على قاعدة البيانات.
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
لما بدك تحدّث آلاف أو حتى ملايين السجلات، الأفضل إنك تقسم العملية على دفعات باستخدام وظائف مع طوابير (Queued Jobs). بهالطريقة، بتضمن إنو التطبيق يضل سريع وما يصير في ضغط أو قفل على قاعدة البيانات.
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
❤6👍1
بإحدى زياراتك لمطعم مع أصدقائك كل واحد طلب صنف مختلف عن الآخر و النادل اللي كان عم يساعدكم جمع كل الطلبات من كل طاولة و راح على المطبخ عم يتاكد انه الطلبات كلها عم تنعمل وفق الطلب و عم يقدملكم ياها بالوقت المناسب.
النادل هون صار اسمه: مدير حالة او متل ما نحنا المبرمجين منعرفه بـ State Management خلوني اشرحلكم هاد المفهوم بشكل افضل
الطلبات اللي جمعها النادل هي "الحالة" (State):
قائمة الطلبات لكل طاولة (البيانات).
الأصدقاء اللي طلبوا الطعام يمثلون "الإجراءات" (Actions):
طلب كل شخص يؤدي إلى تحديث الحالة (إضافة أو تعديل طلب في القائمة).
النادل مسؤول عن إرسال الطلبات للطباخ (Updating the State):
يقوم بمعالجة الطلبات وتحديث الحالة بناءً عليها.
الطباخ (البرنامج) يعتمد على القائمة الحالية (Current State):
ليعرف شو لازم يطبخ.
عندما تنتهي الأطباق، يقوم النادل بتحديث الحالة في الواجهة (Re-rendering):
يعرض الطلبات النهائية على الطاولة.
بدون إدارة حالة جيدة:
النادل قد ينسى بعض الطلبات أو يخطئ في الطلب.
الطباخ قد يبدأ بتحضير وجبات غير مطلوبة.
طاولة الأصدقاء رح تصير فوضوية ولا واحد بيعرف شو عم يصير.
مع إدارة حالة جيدة:
الطلبات منظمة في مكان مركزي.
النادل والطباخ يتبعان دورة واضحة ومنظمة.
الجميع يحصل على طعامه بطريقة صحيحة وسلسة.
إدارة الحالة في البرمجة تشبه هذا النادل تمامًا. عندما تكون الحالة موزعة بين المكونات (أو الطاولات)، فإن وجود نظام مركزي مثل Redux أو Bloc بيساعدنا على الحفاظ على كل شيء تحت السيطرة.
خبرني كيف خبراتك مع الـ State Management و كنت فهمانها قبل هاد البوست ؟؟؟
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
النادل هون صار اسمه: مدير حالة او متل ما نحنا المبرمجين منعرفه بـ State Management خلوني اشرحلكم هاد المفهوم بشكل افضل
الطلبات اللي جمعها النادل هي "الحالة" (State):
قائمة الطلبات لكل طاولة (البيانات).
الأصدقاء اللي طلبوا الطعام يمثلون "الإجراءات" (Actions):
طلب كل شخص يؤدي إلى تحديث الحالة (إضافة أو تعديل طلب في القائمة).
النادل مسؤول عن إرسال الطلبات للطباخ (Updating the State):
يقوم بمعالجة الطلبات وتحديث الحالة بناءً عليها.
الطباخ (البرنامج) يعتمد على القائمة الحالية (Current State):
ليعرف شو لازم يطبخ.
عندما تنتهي الأطباق، يقوم النادل بتحديث الحالة في الواجهة (Re-rendering):
يعرض الطلبات النهائية على الطاولة.
بدون إدارة حالة جيدة:
النادل قد ينسى بعض الطلبات أو يخطئ في الطلب.
الطباخ قد يبدأ بتحضير وجبات غير مطلوبة.
طاولة الأصدقاء رح تصير فوضوية ولا واحد بيعرف شو عم يصير.
مع إدارة حالة جيدة:
الطلبات منظمة في مكان مركزي.
النادل والطباخ يتبعان دورة واضحة ومنظمة.
الجميع يحصل على طعامه بطريقة صحيحة وسلسة.
إدارة الحالة في البرمجة تشبه هذا النادل تمامًا. عندما تكون الحالة موزعة بين المكونات (أو الطاولات)، فإن وجود نظام مركزي مثل Redux أو Bloc بيساعدنا على الحفاظ على كل شيء تحت السيطرة.
خبرني كيف خبراتك مع الـ State Management و كنت فهمانها قبل هاد البوست ؟؟؟
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
❤6🔥2👍1
راجعين بحلقة Podcast جديدة و موضوع طال انتظاره منكم و كالعادة رح تكون حلقة مليئة بالمعلومات و الحقائق
لا تنسوا تشتركوا بقناة اليوتيوب:
https://www.youtube.com/@CodeWithSomar
حتى تشوفوا الحلقات الماضية و يوصلكم اشعار بالحلقات الجاية 🙏🏻
لا تنسوا تشتركوا بقناة اليوتيوب:
https://www.youtube.com/@CodeWithSomar
حتى تشوفوا الحلقات الماضية و يوصلكم اشعار بالحلقات الجاية 🙏🏻
YouTube
Code With Somar
أهلاً بكم قناة Code With Somar
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
انضموا إليّ لاستكشاف عالم تطوير الويب وهندسة البرمجيات.
مع أكثر من 5 سنوات من الخبرة في PHP وLaravel، أقدم لكم دروسًا، ونصائح، وأفكار حول إتقان تطوير الويب و التقنية بشكل عام.
توقعوا محتوى يشمل:
أفضل الممارسات في PHP وLaravel…
🔥10👍1
بما أن 2024 كانت سنة Docker و DevOps بالنسبة لي، حابب أشارككم شوية نصائح وتجارب شخصية لتبسيط وتحسين شغلكم باستخدام Docker:
1️⃣ استخدام Alpine Linux كـ Base Image
لتقليل حجم الـ image بشكل كبير.
2️⃣ لا تنسى .dockerignore
لتجنب إضافة الملفات غير المهمة.
3️⃣ اعتمد Multi-Stage Builds
افصل عملية الـ Build عن الـ Run لتقليل حجم الـ Image النهائية وجعلها أكثر نظافة.
4️⃣ فعّل Docker Build Cache
لتحسين سرعة البناء وتجنب إعادة العمليات المكررة.
5️⃣ تنظيف الصور والحاويات الغير مستخدمة
لإدارة المشاريع الكبيرة بشكل أفضل.
6️⃣ حدد موارد الحاويات
لتجنب استهلاك الموارد بشكل زائد.
7️⃣ استخدام Docker Health Check
لضمان عمل الخدمات وتتبع صحة الحاويات.
8️⃣ أضف توثيق للـ Image باستخدام LABEL
لتسهيل التعرف على الصور وإدارتها.
باستخدام هي النصائح فعالية عملك بالـ Docker رح تتحسن و النتائج حتكون افضل، بتعرف نصائح إضافية شاركنا فيها بالتعليقات
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات
1️⃣ استخدام Alpine Linux كـ Base Image
لتقليل حجم الـ image بشكل كبير.
2️⃣ لا تنسى .dockerignore
لتجنب إضافة الملفات غير المهمة.
3️⃣ اعتمد Multi-Stage Builds
افصل عملية الـ Build عن الـ Run لتقليل حجم الـ Image النهائية وجعلها أكثر نظافة.
4️⃣ فعّل Docker Build Cache
لتحسين سرعة البناء وتجنب إعادة العمليات المكررة.
5️⃣ تنظيف الصور والحاويات الغير مستخدمة
لإدارة المشاريع الكبيرة بشكل أفضل.
6️⃣ حدد موارد الحاويات
لتجنب استهلاك الموارد بشكل زائد.
7️⃣ استخدام Docker Health Check
لضمان عمل الخدمات وتتبع صحة الحاويات.
8️⃣ أضف توثيق للـ Image باستخدام LABEL
لتسهيل التعرف على الصور وإدارتها.
باستخدام هي النصائح فعالية عملك بالـ Docker رح تتحسن و النتائج حتكون افضل، بتعرف نصائح إضافية شاركنا فيها بالتعليقات
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات
❤10👏2👍1
شو يعني Caching؟ 🤔
ببساطة، Caching هي عملية تخزين نسخة من الملفات أو البيانات تبع التطبيق أو الموقع بحيث المستخدم يقدر يوصلها بشكل أسرع، وهاد بيعتبر من أهم الطرق اللي بنستخدمها لتحسين أداء التطبيقات والمواقع. 🌐
طيب شو أنواع Caching وكيف بيشتغل؟ خلونا نفصل أكتر:
1. Browser Caching
هون الفكرة إنو المتصفح عند المستخدم بيخزن نسخة من الملفات تبع التطبيق (مثل الصور، الأكواد، أو البيانات) ليقدر يفتح الموقع أسرع لما يرجع يزوره. في عدة تقنيات لهذا النوع، مثل:
Service Worker Cache: تخزين البيانات لتطبيقات الويب التفاعلية.
Back-Forward Cache: تسريع التنقل بين الصفحات اللي زارها المستخدم.
Cache Storage API: طريقة متقدمة للتعامل مع الكاش بشكل مباشر.
2. CDN Caching
هون بيجي دور شبكات توزيع المحتوى (Content Delivery Networks). الفكرة إنو الملفات تبع التطبيق بتتخزن على سيرفرات موزعة حول العالم، ولما المستخدم يطلب البيانات، بيخدموه من أقرب سيرفر إلو جغرافيًا. هاد الشي بيساعد بتقليل وقت التحميل وتحسين التجربة للمستخدم.
3. Application Caching
هاد النوع بيشتغل ضمن التطبيق نفسه. بنخزن بيانات معينة داخل التطبيق مثل بيانات المستخدم أو معلومات بتحتاجها الصفحات بشكل متكرر. مثال: لما نخزن معلومات المستخدم (User Info) بدل ما نطلبها كل مرة من السيرفر.
Caching مو بس بيساعد بتحسين الأداء، كمان بيوفر موارد السيرفر وبيحسن تجربة المستخدم بشكل ملحوظ. فدائمًا خلي الكاش ضمن خططك إذا بدك تطبيق سريع وفعّال! 🚀
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
ببساطة، Caching هي عملية تخزين نسخة من الملفات أو البيانات تبع التطبيق أو الموقع بحيث المستخدم يقدر يوصلها بشكل أسرع، وهاد بيعتبر من أهم الطرق اللي بنستخدمها لتحسين أداء التطبيقات والمواقع. 🌐
طيب شو أنواع Caching وكيف بيشتغل؟ خلونا نفصل أكتر:
1. Browser Caching
هون الفكرة إنو المتصفح عند المستخدم بيخزن نسخة من الملفات تبع التطبيق (مثل الصور، الأكواد، أو البيانات) ليقدر يفتح الموقع أسرع لما يرجع يزوره. في عدة تقنيات لهذا النوع، مثل:
Service Worker Cache: تخزين البيانات لتطبيقات الويب التفاعلية.
Back-Forward Cache: تسريع التنقل بين الصفحات اللي زارها المستخدم.
Cache Storage API: طريقة متقدمة للتعامل مع الكاش بشكل مباشر.
2. CDN Caching
هون بيجي دور شبكات توزيع المحتوى (Content Delivery Networks). الفكرة إنو الملفات تبع التطبيق بتتخزن على سيرفرات موزعة حول العالم، ولما المستخدم يطلب البيانات، بيخدموه من أقرب سيرفر إلو جغرافيًا. هاد الشي بيساعد بتقليل وقت التحميل وتحسين التجربة للمستخدم.
3. Application Caching
هاد النوع بيشتغل ضمن التطبيق نفسه. بنخزن بيانات معينة داخل التطبيق مثل بيانات المستخدم أو معلومات بتحتاجها الصفحات بشكل متكرر. مثال: لما نخزن معلومات المستخدم (User Info) بدل ما نطلبها كل مرة من السيرفر.
Caching مو بس بيساعد بتحسين الأداء، كمان بيوفر موارد السيرفر وبيحسن تجربة المستخدم بشكل ملحوظ. فدائمًا خلي الكاش ضمن خططك إذا بدك تطبيق سريع وفعّال! 🚀
===================
Facebook | Linkedin |Instgram | Telegram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
Facebook
Log in or sign up to view
See posts, photos and more on Facebook.
❤12
تحذير أمني مهم حول Apache Tomcat
Apache Tomcat هو خادم ويب مفتوح المصدر مخصص لتشغيل تطبيقات الويب المكتوبة بلغة Java. بيستخدموه المطورين لتشغيل التطبيقات الديناميكية اللي بتعتمد على Servlets وJSP (JavaServer Pages).
إذا كنت مشغّل Tomcat على نظام ملفات غير حساس لحالة الأحرف (Case Insensitive) وعدّلت إعداد readonly الافتراضي للـ servlet بحيث صار false بدل true، ممكن تكون معرض لهجوم خطر يسمح للهاكرز ينفذوا أوامر مباشرة على السيرفر (RCE).
الإصدارات المتأثرة:
Tomcat 11: من الإصدار 11.0.0-M1 لـ 11.0.1.
Tomcat 10: من الإصدار 10.1.0-M1 لـ 10.1.33.
Tomcat 9: من الإصدار 9.0.0-M1 لـ 9.0.97.
الحل موجود في الإصدارات:
Tomcat 11.0.2 وما فوق.
Tomcat 10.1.34 وما فوق.
Tomcat 9.0.98 وما فوق.
شو لازم تعمل؟ 🔧
الخيار الأفضل: تحديث Tomcat
حدّث لإصدار آمن حسب الإصدار اللي عندك.
إذا التحديث مو خيار:
عدّل خاصية النظام sun.io.useCanonCaches بناءً على إصدار Java يلي عم تستخدمه:
Java 8 أو Java 11:
حط الخاصية على false (لأن الافتراضي هو true).
Java 17:
إذا الخاصية موجودة، لازم تكون false.
Java 21 وما فوق:
ما في داعي لأي تعديل لأن المشكلة انحلت.
ملاحظات:
الإعداد الافتراضي للـ readonly هو true، فإذا ما عدّلت عليه، غالباً ما في داعي للقلق.
بس إذا كان الإعداد false، فالنظام معرض للاستغلال.
🚨 لازم تتحرك بسرعة لتحمي السيرفر تبعك! 🚨
Apache Tomcat هو خادم ويب مفتوح المصدر مخصص لتشغيل تطبيقات الويب المكتوبة بلغة Java. بيستخدموه المطورين لتشغيل التطبيقات الديناميكية اللي بتعتمد على Servlets وJSP (JavaServer Pages).
إذا كنت مشغّل Tomcat على نظام ملفات غير حساس لحالة الأحرف (Case Insensitive) وعدّلت إعداد readonly الافتراضي للـ servlet بحيث صار false بدل true، ممكن تكون معرض لهجوم خطر يسمح للهاكرز ينفذوا أوامر مباشرة على السيرفر (RCE).
الإصدارات المتأثرة:
Tomcat 11: من الإصدار 11.0.0-M1 لـ 11.0.1.
Tomcat 10: من الإصدار 10.1.0-M1 لـ 10.1.33.
Tomcat 9: من الإصدار 9.0.0-M1 لـ 9.0.97.
الحل موجود في الإصدارات:
Tomcat 11.0.2 وما فوق.
Tomcat 10.1.34 وما فوق.
Tomcat 9.0.98 وما فوق.
شو لازم تعمل؟ 🔧
الخيار الأفضل: تحديث Tomcat
حدّث لإصدار آمن حسب الإصدار اللي عندك.
إذا التحديث مو خيار:
عدّل خاصية النظام sun.io.useCanonCaches بناءً على إصدار Java يلي عم تستخدمه:
Java 8 أو Java 11:
حط الخاصية على false (لأن الافتراضي هو true).
Java 17:
إذا الخاصية موجودة، لازم تكون false.
Java 21 وما فوق:
ما في داعي لأي تعديل لأن المشكلة انحلت.
ملاحظات:
الإعداد الافتراضي للـ readonly هو true، فإذا ما عدّلت عليه، غالباً ما في داعي للقلق.
بس إذا كان الإعداد false، فالنظام معرض للاستغلال.
🚨 لازم تتحرك بسرعة لتحمي السيرفر تبعك! 🚨
👍3🔥2
🎙 حلقة جديدة من Podcast with Somar!
هالمرة راجعين بموضوع كتيييير طلبتوه وانتظرتوه: الأمن السيبراني! 🔐💻
ضيفنا المميز لهالحلقة: المهندس علي سلمان
بخبرة تمتد لأكثر من 7 سنوات في مجال الأمن السيبراني وأمن المعلومات، محلل أمني وسابقًا مدير تطوير تقني، علي رح يشاركنا رؤيته حول:
🔸 أهم التحديات في مجال الأمن السيبراني وكيفية التصدي لها.
🔸 نصائح ذهبية لحماية الشركات من الهجمات السيبرانية.
🔸 دور التحول الرقمي في تعزيز أمن المعلومات.
🔸 مسيرته الشخصية وكيف وصل إلى الريادة في هذا المجال.
✨ إذا كنت مهتم بعالم الأمن السيبراني أو حابب تتعمق فيه، هالحلقة ما بتتفوت!
📅 الإثنين 6-1-2025
🕘 الساعة 9 مساءً بتوقيت سوريا
📍 على قناتنا في [Telegram] ويوتيوب.
جهزوا أسئلتكم، وخلونا نستفيد كلنا من خبرة علي! 🚀
لا تنسوا تشتركوا بقناة الـ YouTube حتى يوصلكم الاشعار و تشوفوا الحلقة مسجلة
هالمرة راجعين بموضوع كتيييير طلبتوه وانتظرتوه: الأمن السيبراني! 🔐💻
ضيفنا المميز لهالحلقة: المهندس علي سلمان
بخبرة تمتد لأكثر من 7 سنوات في مجال الأمن السيبراني وأمن المعلومات، محلل أمني وسابقًا مدير تطوير تقني، علي رح يشاركنا رؤيته حول:
🔸 أهم التحديات في مجال الأمن السيبراني وكيفية التصدي لها.
🔸 نصائح ذهبية لحماية الشركات من الهجمات السيبرانية.
🔸 دور التحول الرقمي في تعزيز أمن المعلومات.
🔸 مسيرته الشخصية وكيف وصل إلى الريادة في هذا المجال.
✨ إذا كنت مهتم بعالم الأمن السيبراني أو حابب تتعمق فيه، هالحلقة ما بتتفوت!
📅 الإثنين 6-1-2025
🕘 الساعة 9 مساءً بتوقيت سوريا
📍 على قناتنا في [Telegram] ويوتيوب.
جهزوا أسئلتكم، وخلونا نستفيد كلنا من خبرة علي! 🚀
لا تنسوا تشتركوا بقناة الـ YouTube حتى يوصلكم الاشعار و تشوفوا الحلقة مسجلة
❤16🔥5👍3