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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
Code With Somar pinned «كونوا مستعدين لجلسة عملية حول إنشاء الـ Pipelines لمشاريعكم البرمجية إذا انت مبرمج Laravel أكيد مليت من انك كل مرة تفتح الـ cPanel و تعدل ملفاتك او تروح على الـ Termianl و تسحب التعديلات عند كل تغيير و خصوصاً اذا كنتوا فريق و انت مانك موجود ورا اللابتوب !!!…»
ليش لازم يكون عندك Pipeline بمشروعك ؟؟؟

1️⃣ تسليم أسرع: كل شي أتمتة، من البناء للنشر.
2️⃣ أقل أخطاء: الكود بينفحص خطوة بخطوة قبل ما يوصل للإنتاج.
3️⃣ شغل مرتب: الكل بالفريق بيمشي ع نفس الطريقة.
4️⃣ مرونة: أي تعديل أو ميزة جديدة ما بتعطّل المشروع.

Pipeline هو السند الحقيقي لأي فريق برمجة و لا تنسى انه عندك فرصة هلا لتتعلمه و بطريقة عملية 🔥🔥


التفاصيل: هنا
4👍1
شغلك مع الـ Database اهم قسم بكل المشروع و بـ Laravel عندك 3 خيارات تختار منهم:

Query Builder: مرن وسريع لكتابة استعلامات بسيطة أو معقدة بدون تعقيدات كبيرة.
DB Facade: مشابه لـ Query Builder، بس مباشر أكتر ومناسب للأكواد السريعة أو اللي مافيها تعامل مع موديلز.
Eloquent ORM: الأفضل للتعامل مع الموديلز وعلاقاتها، بيعطيك كود أنظف وأسهل بالقراءة، بس ممكن يكون أبطأ شوي مع البيانات الكبيرة.

الفرق بينهم مو معقد بس خلينا نشرحه للتوضيح:
Eloquent ORM: يولد الاستعلام بناءً على تعريف النموذج (Model) والعلاقات، ويتحقق من أسماء الجداول والحقول باستخدام الـ conventions الافتراضية، مع إضافة مميزات مثل التحميل المسبق (eager loading) إن لزم الأمر.

Query Builder: يولد الاستعلام مباشرة بناءً على السلاسل والأساليب التي تكتبها، دون أي إضافات تتعلق بالنماذج أو العلاقات.

DB Facade: ينفذ مباشرة نص الاستعلام الذي تكتبه، مما يعني أنه لا يوجد أي معالجة إضافية، وهذا يجعله الأكثر كفاءة (لكن الأقل مرونة).


خبرني كيف بتختار افضل طريقة لمشروعك؟
11
تخيّل حالك واقف عند الصرّاف الآلي (ATM) وعم تسحب مصاري. هون النظام بيمنع أي شخص تاني يسحب من نفس الحساب لحتى تخلص العملية تماماً. الفكرة هون إنو النظام حجز الحساب مؤقتاً لحمايتو من أي عملية تانية.

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

تخيّل إذا كنت عم تحجز غرفة بفندق: لما تبدأ عملية الحجز، الغرفة بتتقفل مؤقتاً وما حدا تاني بيقدر يحجزها بنفس الوقت. يعني النظام بيحمي الغرفة من الحجز المزدوج

شو هالكلام و ليش عم خبركم ياه؟؟

لان هاد موضوع فيديو اليوم على قناة اليوتيوب بعنوان الـ Pessimistic Locking و كيفية استخدامه في Laravel و هاد شي كتير مهم تكون بتعرفه إذا عم تفكر تبني مواقع كبيرة و ضخمة عليها الاف العمليات و الاستعلامات

فلا تنسى تشترك بالنقاة و تفعل زر الجرس 🛎 لان ناطركم فيديو مهم كتير 🔥🔥

رابط القناة: هنا
19🔥3
🎙 حلقة جديدة من Podcast with Somar!

بما انه الجلسة الماضية تم توجيه بعض النقد للـ WordPress قررنا يكون في محام دفاع و لهيك بيسعدني انه نستقبل بالحلقة الجديدة ضيفنا عبد اللطيف الميهوب لنحكي اكتر عن الـ WordPress

🔸WordPress & PHP Developer

🔸WordPress Developer @ مجرة

إذا كنت مهتم تعرف سبب شهرة الـ Wp و ليش مطلوب و وين نقاط الضعف و القوة فحلقتنا مع عبد هيي افضل مكان تحصل منه على إجابتك

📅 السبت 18-1-2025
🕘 الساعة 7 مساءً بتوقيت سوريا

جهزوا أسئلتكم، وخلونا نستفيد كلنا من خبرة عبد! 🚀

لا تنسوا تشتركوا بقناة الـ YouTube حتى يوصلكم الاشعار و تشوفوا الحلقة مسجلة
15🔥2
موجود معكم على إنستغرام للإجابة على اسئلتكم من خلال الرابط: هنا
مطلوب BackEnd Developer يتمتع بالمهارات التالية:

📌 Node.js - Express.js
خبرة في تطوير RESTful APIs.
القدرة على بناء حلول مرنة وقابلة للتوسع باستخدام Express.js.

📌 PostgreSQL
تصميم قواعد بيانات فعالة وعالية الأداء.
كتابة استعلامات معقدة وتحسين الأداء
القدرة على التعامل مع الـ JSON داخل PostgreSQL.

📌 TypeScript
كتابة كود قوي وآمن مع استخدام ميزات TypeScript.
القدرة على تحسين الكود وجعله قابلاً للصيانة على المدى الطويل.

📌 Git
إدارة المشاريع باستخدام Git بشكل احترافي.

📌 Redis
خبرة في استخدام Redis للتخزين المؤقت (Caching) وتحسين أداء الأنظمة.

📌 API Integration
القدرة على التعامل مع تكامل REST وGraphQL APIs (ميزة إضافية).
التعامل مع Webhooks بكفاءة.

📌 تصميم الأنظمة
خبرة في كتابة أكواد نظيفة ومنظمة وفقًا لمعايير التصميم مثل Clean Architecture أو Modular Architecture.
القدرة على تقسيم المشروع إلى وحدات (Modules) مرنة وقابلة لإعادة الاستخدام.

إن كنت تجد في نفسك الخبرة المطلوبة وفق ما سبق للعمل مع start-up، يرجى إرسال:
📍 السيرة الذاتية.
📍 الراتب المتوقع بالـ $
📍 حسابك على LinkedIn أو GitHub (إن وجد).

إلى البريد الإلكتروني التالي:
jobs@somar-kesen.com

مع تحديد عنوان الرسالة:startup-Node - أي رسالة لا تحتوي على عنوان سيتم تجاهلها. ⚠️
🔥3
هاد مثال عن 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