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

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

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

🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
Download Telegram
5 أسئلة توقعها عند تقديمك على عمل كـ Laravel Developer
1- اشرح مفهوم الـ MVC في Laravel ؟
2- ما هي الـ Request life cycle في الـLaravel ؟
3- اشرح عن الـ ORM ؟
4- هل يمكنك تسمية بعض الـ packages التي استخدمتها في مشاريعك؟
5- ما الفرق بين eager loading vs lazy loading؟

آمل أن تساعدك هذه النصائح في مقابلة العمل المقبلة لكم، إذا كانت لديك أسئلة أو إضافة ترغب بمشاركتها سعيد برؤيتها ضمن التعليقات

ملاحظة: هذه الأسئلة ليست للأشخاص المتقدمين بمنصب Senior !

#Laravel #WebDevelopment #JobInterview #CareerGrowth #TechCommunity
18👍1
كنت ناوي بلش بالموضوع كسلسة على اليوتيوب لكن ضيق الوقت ماعم يسمحلي ابداً، لكن برغم هالشي حابب بلش معكم سلسلة من النصائح و الاسئلة ضمن مقابلات العمل و منبدأ فيها بأول سؤال:

⚠️ هل يمكن مشاركة المعلومات المخزنة ضمن Session Storage بين علامات التبويب المختلفة؟

توضيح:
معنى هاد السؤال هل إذا انا فاتح موقع مثلاً www.somar-kesen.com و حفظت قيمة معينة ضمن Session و فتحت نفس الموقع بعلامة تبويب أخرى هل أنا قادر على الوصول إلى المعلومات المخزنة سابقاً بعلامة التبويب الأولى؟؟؟

حتى نعرف نجاوب على هاد السؤال لازم نكون منعرف مفهوم الـ Session Storage بشكل صحيح سبق و شرحت عن موضوع تخزين الداتا بأنواعه ( رابط البوست من هنا )، بالمختصر أنه الـ Session Storage هي طريقة لتخزين البيانات طوال مدة جلسة الصفحة ( لازم تشوفوا البوست ضروري لتوضيح المعنى من هذه المعلومات )

الإجابة أنه كل علامة تبويب لها Session Storage مستقل خاص بها، لذلك، إذا قمت بتخزين البيانات في علامة تبويب واحدة، فلن يكون من الممكن الوصول إليها من أخرى، حتى لو كان نفس موقع الويب.

حلو هلا نحنا عرفنا الإجابة بس ليش لازم تعرف هي الإجابة و ليش أساساً ممكن تنسأل عنها ؟؟
1️⃣ Application Behavior
2️⃣ User Experience
3️⃣ User Experience
4️⃣ Scalability and Maintainability

========================================================
هل كانت هذه المعلومة مفيدة لك؟ شاركنا رأيك بالتعليقات 👇🏻
و لا تنسى تدعي أصدقائك للمتابعة كمية معلومات حول الويب و سوق العمل به كبيرة تنتظركم خلال الفترة القادمة

#FrontEndDevelopment #WebStorage #InterviewInsights #WebDevelopment #JavaScript #CodingInterviews #TechCommunity
10👍1
اليوم رح نحكي عن الـ Singleton Pattern

في حال ما شفت المنشور اللي حكينا فيه عن الـ Facade فالرابط هنا

لنبدأ حديثنا بـ ماهو الـ Singleton Pattern :
بدايةً وجد هذا الـ Pattern لضمان تأمين حالة واحدة للـ class شو يعني؟؟
لنفترض انه عندي class بحاجة Object واحد منها فقط هذا شرط لعمل المشروع، و لما بكون في حاجة لوجود أكثر من Object واحد أنا رح أتحايل على الموضوع و ابعت الـ Object اللي انا اساساً عامله سابقاً

مو واضح الشرح؟؟؟
طيب خلينا نتخيل الموضوع مثل لوحة الكهرباء الموجودة في المنزل، في لوحة واحدة عم تتحكم بكل الكهرباء ولو كان يوجد أكثر من واحدة كان رح يكون الموضوع معقد و احتمال المشاكل و الخطأ فيه كبير و الإصلاح حيكون معقد صحيح؟

وين بشوف هاد الكلام بالويب؟
أكثر شي بعبر عن هذه الحالة بالويب هو الاتصال بقاعدة البيانات، بدك Obj واحد لهي المعلومات يتم مشاركتها ضمن التطبيق.

ماهي فوائد استخدام الـ Singleton Pattern ؟
1- يضمن لنا إن الـ (Class) سيكون لها (Object) واحد بس
2- يوفر (Global Access Point) للـ (Object) أو فينا نقول إن في أي مكان في المشروع الخاص فيك رح تقدر تستعمل الـ (object) هاد بدون أي مشكلة
3- كفاءة عالية في استخدام الـ Memory

ماهي عيوب استخدام الـ Singleton Pattern ؟
1- يتعارض مع مبدأ (Single Responsibility Principle) ، لأنه بيعمل مهمتين في نفس الوقت ، أولاً: بيضمن إن الـ (Class) رح يكون الها (Object) واحد بس ، وثانياً: بيوفر (Global Access) للـ (Object) والمبدأ هاد باختصار بينص على أن الـ (Class) أو الـ (Function) لازم يكون الها وظيفة واحدة بس
2- أحياناً بيكون صعب تعمل (unit test) للكود

أتمنى أنه هاد المنشور قام بتوضيح بعض النقاط الخاصة عن هاد الـ Pattern و بترك الباقي بأيدكم للبحث و التوسع بالمعلومات أكثر عنه

نلتقي في منشور قادم عن البرمجيات 🙏🏻
=================================================
لا تنسوا متابعتي على باقي المنصات:
Facebook: www.facebook.com/SomarKesen

Linkedin: www.linkedin.com/in/somarkn99

Website: https://www.somar-kesen.com/

Instgram: www.instagram.com/somar_kn

عم احكي فيهم عن تطوير البرمجيات و سوق العمل بمنشورات شبه يومية من خبرة تزيد عن 5 سنوات في هذا المجال 🚀

#SoftwareDesign #SingletonPattern #WebDevelopment #CodingSimplified
👍62🔥1
FTP: ما هو ومتى يتم استخدامه

ما هو FTP ؟

هو بروتوكول نقل الملفات، هو standard network protocol يستخدم لنقل الملفات من host إلى آخر عبر الإنترنت. يعمل وفق client-server model حيث يمكن للمستخدم تحميل أو تنزيل أو إدارة الملفات على remote server.

الميزات الرئيسية:

🔹 نقل الملفات: تحميل وتنزيل الملفات بسهولة بين جهازك و الـ remote server.
🔹 الـ Directory Management: إنشاء وحذف وتنظيم directories على remote server.
🔹 الأمان: استخدم FTP (SFTP) أو FTP عبر SSL (FTPS) لنقل الملفات المشفرة، مما يضمن أمن البيانات.

متى تستخدم FTP ؟

🔸 إدارة الموقع: رفع ملفات موقع الويب إلى خادم الاستضافة الخاص بك.
🔸 نسخة احتياطية من البيانات: نسخ احتياطي بانتظام من الملفات المهمة إلى remote server لحفظها.
🔸 مشاركة الملفات: مشاركة الملفات الكبيرة مع العملاء أو أعضاء الفريق، خاصة عندما يكون البريد الإلكتروني غير كافٍ.
🔸 تحديثات البرامج: توزيع التحديثات أو التصحيحات على الأنظمة البعيدة بكفاءة.

عيوب FTP:

🔹 عدم وجود تشفير: لا يقوم FTP بتشفير البيانات أثناء الإرسال، مما يجعله عرضة للاعتراض. يفضل دائمًا استخدام SFTP أو FTPS لعمليات النقل الآمنة.
🔹 أمن كلمة المرور: يتم إرسال كلمات مرور FTP بنص عادي، والذي يمكن للمهاجمين التقاطه بسهولة. استخدم كلمات مرور قوية وفريدة واتصالات آمنة.
🔹 مشكلات جدار الحماية: يتطلب FTP فتح منافذ متعددة، مما قد يسبب مضاعفات مع جدران الحماية و الـ NAT.
🔹 لا توجد Integrity Checks: تفتقر FTP إلى آليات مدمجة للتحقق من سلامة الملف بعد النقل، مما قد يؤدي إلى عمليات نقل ملفات فاسدة أو غير كاملة.


نصائح:

🔹 استخدام SFTP أو FTPS لنقل الملفات بشكل آمن.
🔹 تحديث برنامج FTP بانتظام إلى أحدث إصدار.
🔹 استخدم كلمات مرور قوية وفريدة لحسابات FTP.

تظل FTP أداة موثوقة لإدارة الملفات ونقلها، خاصة في تطوير الويب وبيئات تكنولوجيا المعلومات.

#FTP #FileTransfer #TechTips #WebDevelopment #DataSecurity
4👍3🔥1
🚀 GitHub vs. GitLab: الفرق ببساطة؟

🔹 GitHub: منصة المجتمع الأكبر، مثالية للمشاريع المفتوحة المصدر والتعاون مع عدد ضخم من المطورين.

🔸 GitLab: الحل الشامل لـ DevOps، كل شي مدمج من CI/CD لتتبع الـ issues وحتى الـ Container Registry.

🤔 تختار مين؟ GitHub إذا بدك مجتمع واسع، وGitLab إذا بدك حل متكامل.

#WebDevelopment #GitHub #GitLab #DevOps

البوست بشكل موسع على Linkedin من هنا
16
لما بدنا نحكي عن الـ (OOP)، في مصطلحين مهمين لازم نعرفهم ونفهم الفرق بيناتهم، و هنن : self و this.

الـ self بتدل على الـ class الحالي، يعني بتستخدم لما بدنا نحكي عن أشياء ثابتة (static) موجودة ضمن الـ class. بمعنى تاني، الـ self هي بتعبر عن بنية الـ class نفسها، يعني كل شي ثابت داخل الـ class.

أما الـ this، فهي بتدل على الـ object اللي منشأ من الـ class. يعني إذا عملنا instance (أو object) من الـ class، وقتا منستخدم this لنشير لهذا الـ object بالتحديد. فالـ this بتتعامل مع الخصائص (properties) و الـ (methods) اللي هي مو static.

ببساطة، فيك تقول إنو الـ self هي عم توصف بنية الـ class بشكل عام وما بتوصف شي خاص بمتغير معين، بينما الـ this بتوصف المتغيرات العادية والـ object اللي عم نتعامل معه بشكل مباشر.

بالنهاية، الـ self بتركز على الأمور الثابتة ضمن الـ class، أما الـ this فبتركز على الأمور اللي بتخص الـ object اللي عم نشتغل عليه

مثال توضيحي موجود ضمن الـ Comments 👇🏻

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

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

شكراً لـ Yousef Saleh على المساعدة في إعداد هذا المحتوى.


#OOP #SelfVsThis #ObjectOrientedProgramming #CodingTips #ProgrammingConcepts #SoftwareDevelopment #StaticVsInstance #CodingBasics #Developers #TechEducation #PythonProgramming #ProgrammingFundamentals #WebDevelopment #SoftwareEngineering #Laravel #php #web #iraq #erbil #UAE #syria
🔥119👍3
*Company Name:* hashtag#BLUE_TECH
*Job Title:* Front-end Developer with React.js Experience
*Job Type:* Full Time (8 hours) - Remote work not available
*Job Location:* hashtag#Lattakia, hashtag#Syria

At hashtag#BLUE_TECH, we are seeking a skilled Front-end Developer with a strong proficiency in React.js to join our team. This role involves developing user interface components, ensuring application robustness, and fostering a culture of collaboration, innovation, and high-quality product delivery.

*Responsibilities:*
- Develop engaging user-facing features using React.js
- Create reusable components and front-end libraries for future projects
- Translate designs and wireframes into high-quality code
- Optimize components for peak performance across various devices and browsers

*Qualifications:*
- 2+ years of experience in front-end web development
- Proficient in JavaScript, DOM manipulation, and the JavaScript object model
- Thorough understanding of React.js and its core principles
- Experience with popular React.js workflows like Redux
- Familiarity with newer EcmaScript specifications
- Knowledge of Next.js is required
- Understanding of RESTful APIs and Web Sockets
- Proficiency in modern authorization mechanisms such as JSON Web Token
- Ability to translate business requirements into technical solutions
- Strong skills in benchmarking and optimization
- Experience with Git or similar versioning tools

If you are passionate about React.js development and meet these qualifications, we would love to hear from you. Please send your CV to:
*Email:* recruitment@blue-tech.ae
*Subject Line:* hashtag#ReactJs Developer

Join our team at hashtag#BLUE_TECH and contribute to a dynamic environment that values expertise, innovation, and teamwork.

hashtag#job hashtag#business hashtag#team hashtag#experience hashtag#recruitment hashtag#developer hashtag#javascript hashtag#cv hashtag#webdevelopment hashtag#reactjs hashtag#react hashtag#design
Node.js v23.3.0 متوفر الآن!

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

أهم الميزات:
--report-exclude-env:
إضافة علامة جديدة لإزالة متغيرات البيئة عند إنشاء الـ Diagnostic Reports.

- SourceMap Support:
دعم SourceMap في util.getCallSites() لتحسين قراءة وتحليل استدعاءات الشيفرة.

- Renaming util.getCallSite():
إعادة تسمية util.getCallSite() إلى util.getCallSites() لتعزيز وضوح الوظيفة.

استمتعوا بالبرمجة مع الإصدار الجديد!
#Nodejs #WebDevelopment #Programming #JavaScript
🔥52
💡 نصيحة سريعة في Laravel: في حال كان عنا جدولين مرتبطين ببعض مثلا users , orders
وبدي احدث وأقدم order للمستخدم كيف فيني جيبهم بأفضل طريقة..

باختصار فينا نستفاد من ال Eloquent Relationships اللي بتقدمهم laravel بكل سهولة 🚀

🔹 مثال عملي: إذا كان لدينا نموذجين: User و Order، بحيث بيملك كل مستخدم العديد من الطلبات.
لحتى نجيب أحدث طلب واقدم طلب :
في User Model منكتب العلاقات التالية الموضحة في الصورة

شكراً للصديق أيهم إبراهيم على المساهمة في هذا المحتوى 🙏🏻❤️

Laravel #PHP #WebDevelopment #CodingTips #Eloquent #ORM #Programming
17🔥5👍2
Vite 7 وصل!
قبل 5 سنوات، أطلق Evan You أول commit في مستودع Vite، واليوم نحتفل بإصدار Vite 7، الذي يمثل نقلة نوعية جديدة في عالم أدوات تطوير الويب!

⚙️ ما الجديد ولماذا يهمك كمطور؟

Rolldown: مستقبل أسرع للبناء
Vite بدأ بالاعتماد على Rolldown – bundler جديد مبني بـ Rust – كبديل لـ Rollup. يمكنك الآن تجربته مباشرة عبر حزمة rolldown-vite. النتيجة؟ بناء أسرع، خصوصًا للمشاريع الكبيرة.

ESM Only ودعم Node.js الحديث
تم إسقاط دعم Node.js 18، والانتقال الكامل لـ ESM. هذه خطوة مهمة لتحديث البنية التحتية وتعزيز الأداء وتبسيط التوافق بين الأدوات.

Baseline Widely Available
الهدف الافتراضي للمتصفحات أصبح يعتمد على "Baseline" مما يعني دعم ميزات الويب الأكثر استقرارًا وانتشارًا. وداعًا للقلق بشأن دعم المتصفحات القديمة بشكل مفرط.

Vite DevTools قادمة!
بشراكة بين VoidZero و NuxtLabs، يعمل Anthony Fu على أدوات جديدة لتحليل وتصحيح تطبيقات Vite بسهولة واحترافية.

ViteConf لأول مرة حضورياً
أمستردام، 9-10 أكتوبر، مجتمع Vite يلتقي أخيرًا وجهًا لوجه!

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

📣 المطورون الذين يبنون على Vite – سواء باستخدام React أو Vue أو Svelte أو غيرها – سيلاحظون فرقًا في الأداء، ومرونة في التخصيص، وتجربة تطوير أكثر ذكاءً.

هل جربت Rolldown أو بدأت بالانتقال لـ Vite 7؟ شاركني رأيك! 👇

#Vite #Frontend #WebDevelopment #ESM #DevTools #ViteConf #Rust #JavaScript #NodeJS #vite7 #Rolldown #NuxtLabs #VoidZero
عيد ميلاد Django الـ 20! 🎂🎉

اليوم، 13 تموز 2025، نحتفل بـ مرور 20 سنة على إطلاق إطار العمل Django، واحد من أقوى وأشهر أطر تطوير الويب بلغة Python، والذي انطلق لأول مرة في 13 يوليو 2005! 🚀💝

الـ Django، الذي ساهم في تسريع تطوير تطبيقات الويب الآمنة والقابلة للتوسع، يحتفل هذه السنة بسلسلة من الفعاليات المجتمعية حول العالم، تشمل مؤتمرات وورشات عمل ولقاءات محلية 🎤🌍

#Django #Python #Django20 #WebDevelopment #OpenSource
6🔥2