Code With Somar
2.71K subscribers
442 photos
4 videos
1 file
812 links
🚀 ريادي أعمال ومطوّر ويب بخبرة واسعة

💻 متخصص بتطوير حلول ويب متكاملة باستخدام Laravel، Django، React، Vue، و Node.js.

🏆 ضمن أفضل 4 صناع محتوى في سوريا وأفضل 3 في المحتوى التقني.

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
هاد مثال عن Pipline تم تنفيذه لصالح شركة برومانيا لمشروع NextJs خلينا نشرح شو عم يصير شوي:
1- أولاً عم يتم تنزيل الـ dependencies الخاصة بالمشروع
2- عم يتم توليد نسخة build للمشروع
3- يتم نقل نسخة الـ build اللي تم توليدها بالخطوة السابقة إلى سيرفر العميل.

طبعاً هاد التسلسل بصير كل ما يتم رفع تعديلات على الـ main فنحنا بهي الحالة:
1- وفرنا وقت
2- وفرنا جهد
3- ضمنا استمرارية العمل بدون الحاجة لتدخل يدوي
4- ساعدنا الفريق يركز على البرمجة بدال ما يلتهي بالبيئة و رفع التعديلات على السيرفر و غيره.

و انت كمان قادر تساوي هيك بعد ما تحضر جلسة الـ Pipline و تطبق عملياً على مشروع Laravel و مشروع React و تفهم هي الملفات كيف بتشتغل و كيف بتنكب

لتعرف اكتر و تسجل من خلال الرابط: هنا
7🔥5
نصائح مهمة في الـ Web Security:
1️⃣ الأمان يعتمد على طبقات متعددة، ولا توجد وسيلة واحدة تكفي.
حماية تطبيق الويب يجب أن تكون شاملة ومبنية على عدة مستويات، مثل التحقق من المدخلات، التشفير، إدارة الجلسات، وتأمين الخوادم. كل طبقة تضيف حاجزًا جديدًا أمام المهاجمين.

2️⃣ لا تثق أبدًا بمدخلات المستخدم. تحقق من كل شيء.
حتى لو كنت تثق بالمستخدمين، تأكد دائمًا من تنظيف المدخلات (Input Sanitization) والتحقق منها لمنع هجمات مثل SQL Injection وXSS.

3️⃣ الأمان ليس خطوة تُضاف لاحقًا، بل هو جزء لا يتجزأ من عملية التطوير.
ابدأ في التفكير بالأمان منذ اللحظة الأولى لبناء التطبيق. تصميم آمن يعني مشاكل أقل في المستقبل وتطبيق أكثر موثوقية.

4️⃣ استخدم دائمًا HTTPS.
الاتصالات المشفرة بين المستخدم والخادم ليست خيارًا إضافيًا؛ إنها ضرورة لحماية بيانات المستخدمين وضمان سرية المعلومات أثناء النقل.

5️⃣ قم بتحديث مكتباتك وأدواتك باستمرار.
استخدام إصدارات قديمة من المكتبات أو الإطارات (Frameworks) يعرضك لمخاطر معروفة قد يكون المهاجمون على علم بها.

6️⃣ حدّد صلاحيات الوصول (Access Control).
تأكد من أن كل مستخدم يمتلك فقط الصلاحيات التي يحتاجها، ولا تمنح صلاحيات إدارية إلا عند الضرورة القصوى.

7️⃣ اختبر أمان تطبيقك بانتظام.
قم بإجراء اختبارات الأمان (مثل Penetration Testing) واستخدم أدوات للكشف عن الثغرات مثل OWASP ZAP أو Burp Suite.

8️⃣ احتفظ بسجلات واضحة (Logging).
توفر السجلات (Logs) المفصلة مسارًا يساعدك على تحليل وحل أي خروقات أمنية قد تحدث.

9️⃣ التشفير ليس رفاهية.
قم بتشفير البيانات الحساسة سواء كانت في حالة انتقال (Data in Transit) أو تخزين (Data at Rest). استخدم خوارزميات قوية ومعايير حديثة.

شاركنا كيف تقوم بتأمين مشاريعك في التعلقيات: 👇🏻👇🏻
5🔥4
من حقك كموظف:

📌 يومين عطلة أسبوعية (الجمعة والسبت).
📌 إجازات مرضية وسنوية مدفوعة الأجر.
📌 زيادة سنوية على الراتب تُقدّر بجهودك وإنجازاتك.
📌 احتساب ساعات العمل الإضافي (Over Time) بأجر إضافي.
📌 احترام ساعات عملك وعدم إزعاجك خارج أوقات العمل إلا في حالات الضرورة.
📌 عقد عمل واضح يضمن حقوقك ويلتزم بها صاحب العمل.

شو برايكم لسا لازم يتغير بمفهوم التوظيف بسوريا بما يضمن حق الشركة و حق الموظف؟
31🔥2👏2
اغلب الناس لما تبلش تفهم و تدرس موضوع الـ Caching بتفهم انه واحد فقط و لكن بالواقع عنا 3 انواع مختلفة منه

بالبداية خليني اشرحلك شو يعني Caching؟؟
هو القدرة على تخزين نسخة من المعلومات اللي عم يتم طلبها بشكل متكرر لاوصلها بشكل اسرع و اقل عبئ و هاد Technique مهم لتحسين الـ performance

هلا منبلش بالأنواع:
1. Browser Caching:
هذا النوع بتم تطبيقه على مستوى المتصفح.
لما تزور موقع ويب، المتصفح بقوم بتخزيم الموارد مثل الصور، ملفات CSS، وملفات JavaScript.
الهدف هو تسريع تحميل الصفحة عند زيارتك للموقع مرة أخرى من دون الحاجة لتحميل نفس الملفات من السيرفر.

مثال: إذا كنت تكرر زيارة موقع معين، ستلاحظ أن الصفحة تفتح بشكل أسرع لأن المتصفح استرجع الملفات من الكاش الخاص به.


2. CDN Caching:
الكاش هنا يتم تخزينه على مستوى شبكات توصيل المحتوى (CDN).
CDN عبارة عن شبكة سيرفرات موزعة جغرافيًا لتسليم المحتوى للمستخدمين من أقرب سيرفر إليهم.
يهدف هذا النوع إلى:
تخفيف الضغط على السيرفر الرئيسي.
تسريع التحميل عبر تقليل وقت الاستجابة (Latency).
مثال: عند زيارة موقع كبير مثل Netflix، يتم تسليم المحتوى لك من سيرفر قريب بدلًا من السيرفر الرئيسي.


3. Application Caching:
يتم تطبيقه على مستوى التطبيق نفسه (Backend).
يقوم بتخزين البيانات أو نتائج العمليات المكلفة (مثل استعلامات قواعد البيانات) في الذاكرة للوصول إليها بسرعة.
يُستخدم لتحسين أداء التطبيقات التي تعتمد على استعلامات متكررة أو عمليات ثقيلة.
مثال: في تطبيق e-commerce، إذا طلب المستخدم نفس المنتج مرات عديدة، يتم جلب البيانات من الكاش بدلًا من قاعدة البيانات.


و هلا صار عندك فكرة عن انواع الـ Cache و قادر تعرف شو تستخدم لمشروعك

===================

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
7🔥4
تخيل معي:

1- فريقك عمل تعديل صغير، وكل واحد بانتظارك ترفع النسخة الجديدة!
2- الكود صار معقد، ومحتاج تعمل Build وترفع الملفات يدوياً كل مرة!
3- وأصعب شي: ما فيك تضيف ميزة جديدة أو تصلح مشكلة بدون تعب إضافي!

الحل؟ Pipeline!
رح توفر عليك كل هالتعب

بجلسة تدريبية عملية للمبتدئين رح تتعلم فيها خطوة بخطوة كيف تعمل أتمتة كاملة لعمليات الـ Build والـ Deploy مهما كانت التقنية يلي بتشتغل عليها: Laravel، ReactJS، Django، أو غيرها.

ليش لازم تحضر؟
✔️ وفّر وقتك للشغل الحقيقي بدل المهام الروتينية.
✔️ تعلم مهارات عملية تساعدك بأي مشروع.
✔️ احصل على تجربة تطبيقية مباشرة خلال الجلسة.

لتعرف اكتر و تسجل من خلال الرابط: هنا
8👍2🔥2
انت متخيل انه الـ domain اللي ماعم تجدده او عم تكبه او غيره عم يفتح web backdoor للمخترقين

أكثر من 4000 web backdoors تم اختراقها ببساطة عبر تسجيل abandoned domains بتكلفة لا تتجاوز 20 $

الـ abandoned domains هي نطاقات لم يتم تجديدها، لكن يمكن استغلالها للوصول إلى أنظمة وبيانات حساسة.

باحثون سيطروا على backdoors استهدفت شبكات حكومية وأكاديمية في دول مثل بنغلاديش، الصين، نيجيريا، وكوريا الجنوبية

شي مرة نسيت تجدد الدومين او خسرته !!
10
تخيل هي المشكلة: جماعة MERN انتبهوا!
عم تشتغل على مشروع Node.js أو React، محدد إصدار الـ Node و NPM، وكل الحزم اللي نزلتها متوافقة مع هالإصدار.

بعدين؟ زميلك بالفريق عنده إصدار مختلف، أو حتى السيرفر مو نفس النسخة، وكل شيء خرب و ماعم يقبل يشتغل شو الحل؟؟

اكيد اول شي رح يخطر على بالك لما تسمع بهيك قصص هو Docker لكن في جوا منه كتير مصطلحات مارح تعرف وين تبلش تبحث !!

الموضوع عبارة عن إنشاء Docker Image بتضمنلك إنه كل إعدادات مشروعك (إصدار Node، NPM، والحزم) محفوظة وموحدة.

كل اللي عليك هو:
1️⃣ بناء Docker Image فيها إصدار Node المطلوب وكل الحزم جاهزة.
2️⃣ مشاركة الـ Image مع زملائك أو استخدامها على السيرفر.

و الأحلى من هاد كله لما تربط الـ Docker Image مع الـ Pipelines:
ما في داعي تقلق على إصدارات الحزم أو الاختلافات بين الأجهزة.
خطوات الـ Build & Deploy بتصير تلقائية وسلسة.
فريقك كله بيشتغل بنفس البيئة، سواء كانوا مطورين أو حتى سيرفرات الإنتاج.

بدك تتعلم كيف تطبق هالشي؟
انضم لجلسة عملية مخصصة للمبتدئين، رح نشرح خطوة بخطوة:
1️⃣ رح نشرح المفهوم العام للـ Docker
2️⃣ كيفية بناء Pipelines لإدارة Build & Deploy لمشاريعك، سواء كانت Laravel، ReactJS، أو غيرها.
3️⃣ تطبيق عملي مباشر على مشاريع حقيقية.

بوعدكم بجلسة تستحق وقتكم، لباقي التفاصيل و التسجيل: هنا
8🔥3👍2
منعرف انه نجاح أي شركة بيبدأ من استثمارها بتطوير فريق العمل الخاص فيها و هي ثقافة منتمنى نشوفها عنا بالبلد على طول لهيك رح ابدأ من نفسي و من قدراتي المتواضعة بانه خبركم انكم قادرين تدعموا فريكم و ترفعوا من مهاراتهم من خلال جلساتي اللي بقدمها على طول رح يكون في عروض خاصة اذا الشركة هيي بتسجل للموظف و رح نبلش سوا بجلسة الت Pipline اللي رح قدمها بعد فترة.

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

شو رح تستفاد؟
خصم 20% عند تسجيل الشركة للموظف
بعد الجلسة، رح كون مع الطالب لمدة شهر تابع معه شغله و ساعده ليقدر يقدم فائدة للشركة اللي موظف فيها.

📌 محاور الجلسة العملية:

مقدمة عن DevOps وCI/CD وكيفية تحسين سير العمل البرمجي.
تعلّم إنشاء Pipelines لتسهيل عمليات Build & Deploy على مشاريع مثل Laravel وReactJS.
شرح عملي خطوة بخطوة باستخدام Docker وملفات YAML.

هدفي هو أنه اضمن إنه هي المعرفة تتحوّل لنتائج فعلية تدعم شغلكم

استقبال الطلبات الخاصة بالشركات مفتوح حتى نهاية الاسبوع القادم الخميس 23-1-2025

لباقي التفاصيل و التسجيل: هنا

تمنياتي للجميع بالتوفيق
9👏2
متل ما كلنا منعرف انه Node.js هيي Single-threaded وهي شغلة ممكن تكون مشكلة إذا السيرفر عليه ضغط كبير !!

يعني إذا عندك سيرفر فيه أكتر من نواة (Cores)، Node.js لحالو ما بيستغل إلا نواة وحدة، وهي الشي بيخلي الأداء أبطأ مع زيادة الطلبات.

هل هي مشكلة ما الها حل يا ترى؟

الحل مع صديقنا الـ Cluster
الـ Cluster بوفر طريقة لتشغيل نسخ متعددة (Workers) من التطبيق على كل نواة بالسيرفر. بهالطريقة بتوزع الحمل على كل الأنوية، وبتصير قادر تستقبل عدد طلبات أكبر بوقت أسرع.

خبرني كنت بتعرف هالمعلومة من قبل ولا انا اول واحد خبرتك فيها؟؟

===================

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
10👍7🔥1
بما إننا حكينا بمنشور سابق عن Cluster وكيف بيحل مشكلة الـ Single-threaded في Node.js، خلينا نغوص أكتر ونشوف كيف ممكن نتحكم بـ Workers ونرفع الأداء بطريقة ذكية

أول شي، شو هم الـ Workers؟
الـ Workers هم النسخ اللي بتشتغل من تطبيقك، وكل وحدة منهم بتشتغل على نواة مستقلة بالسيرفر. بس التحكم بهالعمال (Workers) مفتاح أساسي للحصول على أفضل أداء.

1. توزيع الحمل بذكاء
افتراضياً، الـ Cluster بيستعمل خوارزمية "Round Robin" لتوزيع الطلبات على الـ Workers.

لكن شو إذا بدك تغيّر هالآلية؟
ممكن تستعمل مكتبات متقدمة أو تدمج مع Nginx لعمل Load Balancing حسب نوع الطلبات.

2. مراقبة الأداء
ما بيكفي تشغل Cluster وتتركه! لازم تراقب الـ Workers وتتأكد إنهم ما بيتوقفوا بسبب خطأ غير متوقع ( سهلة conole log على الـ event الخاص بالـ Cluster )

2.تحسين استهلاك الذاكرة
إذا الـ Workers عم يستهلكوا موارد زيادة، فيك تعمل نظام يراقب استهلاكهم باستخدام مكتبة مثل v8، أو ببساطة بإعادة تشغيل الـ Workers بشكل دوري.

السر بهي العملية هو التحكم بالـ Cluster ركز دوماً على:

مراقبة الأعطال وإعادة تشغيل العمليات.
تحسين توزيع الطلبات.
استغلال التواصل بين العمليات لتحسين الأداء.

===================

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
5👍2🔥2
Code With Somar
🎙 حلقة جديدة من Podcast with Somar! بما انه الجلسة الماضية تم توجيه بعض النقد للـ WordPress قررنا يكون في محام دفاع و لهيك بيسعدني انه نستقبل بالحلقة الجديدة ضيفنا عبد اللطيف الميهوب لنحكي اكتر عن الـ WordPress 🔸WordPress & PHP Developer 🔸WordPress Developer…
صباح الخير الكم جميعاً
و تمنياتي الكم ببداية اسبوع موفقة

نبدأ اسبوعنا بالاجابة على اسئلتكم من خلال story instgram و موعدنا مساءً مع عبد اللطيف نحكي عن الـ WordPress

كونوا على الموعد
8
Live stream scheduled for
باقي 3 مقاعد فقط في جلسة الـ Pipelines لا تفوتوا الفرصة 🔥
1
اكيد سمعت سابقاً عن الـ HTTP Response Caching و فكرته Caching عادي بس خليني اشرحلك و صححلك اللي بتعرفه

الـ HTTP Response Caching هي تقنية تمكننا من طلب تخزين نسخة من الرد على العميل (مثل المتصفح أو التطبيق اللي عم يستخدم الـ API) محلياً لفترة زمنية محددة.

هذا يساعد على:

تقليل عدد الطلبات الموجهة إلى الخادم.
تحسين سرعة الرد على الطلبات المستقبلية.
تقليل الضغط على الخادم.

خلونا نشرح المثال الموجود بالصورة:
يتم استخدام Cache::remember() لتخزين بيانات الـ Product في الكاش لمدة ساعة واحدة

يتم إعداد Header: Cache-Control لتوجيه العميل بتخزين الرد لمدة ساعة

يتم إضافة Header: ETag للسماح للعميل بالتحقق من صحة النسخة المخزنة عنده دون تحميل الرد بالكامل مجدداً
7
فوائد HTTP Response Caching
تقليل الحمل على الخادم: يتمكن العميل من استخدام الرد المخزن محليًا بدلاً من إرسال طلب جديد.
تحسين سرعة الاستجابة: يتم تقديم الرد بسرعة من التخزين المحلي للعميل.
توفير استهلاك البيانات: نقل بيانات أقل يعني توفير أكبر في التكاليف.
تجربة مستخدم أفضل: الردود السريعة تخلق تجربة استخدام سلسة.

📢 تابعنا لمزيد من النصائح حول Laravel وتطوير التطبيقات!

===================

Linkedin |Instgram | YouTube

أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال
7👍3
Live stream started
نستقبل اسئلتكم هنا
🔥1
Live stream finished (1 hour)