Code With Somar
前往频道在 Telegram
🚀 ريادي أعمال ومطوّر ويب بخبرة واسعة 💻 متخصص بتطوير حلول ويب متكاملة باستخدام Laravel، Django، React، Vue، و Node.js. 🏆 ضمن أفضل 4 صناع محتوى في سوريا وأفضل 3 في المحتوى التقني. 🌟 ناشط في مجتمع برمجة الأطفال، ومساهم في تطوير المحتوى التقني عربياً.
显示更多2 690
订阅者
-224 小时
无数据7 天
-1130 天
数据加载中...
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
六月 '26
六月 '26
+6
在0个频道中
五月 '26
+28
在1个频道中
Get PRO
四月 '26
+28
在1个频道中
Get PRO
三月 '26
+27
在1个频道中
Get PRO
二月 '26
+37
在0个频道中
Get PRO
一月 '26
+32
在0个频道中
Get PRO
十二月 '25
+38
在0个频道中
Get PRO
十一月 '25
+76
在1个频道中
Get PRO
十月 '25
+61
在1个频道中
Get PRO
九月 '25
+91
在1个频道中
Get PRO
八月 '25
+67
在0个频道中
Get PRO
七月 '25
+75
在1个频道中
Get PRO
六月 '25
+45
在1个频道中
Get PRO
五月 '25
+91
在1个频道中
Get PRO
四月 '25
+108
在3个频道中
Get PRO
三月 '25
+89
在3个频道中
Get PRO
二月 '25
+172
在5个频道中
Get PRO
一月 '25
+110
在2个频道中
Get PRO
十二月 '24
+45
在1个频道中
Get PRO
十一月 '24
+141
在1个频道中
Get PRO
十月 '24
+339
在3个频道中
Get PRO
九月 '24
+183
在0个频道中
Get PRO
八月 '24
+205
在0个频道中
Get PRO
七月 '24
+135
在1个频道中
Get PRO
六月 '24
+173
在2个频道中
Get PRO
五月 '24
+58
在0个频道中
Get PRO
四月 '24
+62
在0个频道中
Get PRO
三月 '24
+115
在0个频道中
Get PRO
二月 '24
+322
在1个频道中
Get PRO
一月 '24
+128
在4个频道中
Get PRO
十二月 '23
+90
在0个频道中
Get PRO
十一月 '23
+134
在3个频道中
Get PRO
十月 '23
+11
在0个频道中
Get PRO
九月 '23
+8
在0个频道中
Get PRO
八月 '23
+11
在0个频道中
Get PRO
七月 '23
+9
在0个频道中
Get PRO
六月 '23
+7
在0个频道中
Get PRO
五月 '23
+21
在0个频道中
Get PRO
四月 '23
+6
在0个频道中
Get PRO
三月 '23
+4
在0个频道中
Get PRO
二月 '23
+24
在0个频道中
Get PRO
一月 '23
+258
在0个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 06 六月 | +1 | |||
| 05 六月 | 0 | |||
| 04 六月 | 0 | |||
| 03 六月 | +1 | |||
| 02 六月 | +3 | |||
| 01 六月 | +1 |
频道帖子
ال Attackers قادرين يعملوا bypassing عال rate limiting من خلال استخدام IP متعددة
كيف فينا نحمي ال API تبعنا من هيك موضوع؟
| 2 | أغلبنا لما منعمل بحث فورا منروح منعمل:
WHERE title LIKE '%laravel%'
المشكلة اللي ماكنا حاطينها بالبال هيي انه وجود ٪ عم يعطل الاستفادة من ال index و بيجبر الDB انها تعمل Full Table Scan و اذا كان الجدول كبير الأداء رح ينهار تماماً
الأفضل انك تجرب تستخدم:
$table->fullText('title');
و بالبحث:
Post::whereFullText('title', 'laravel')->get();
الـ Full-Text Search بيستخدم فكرة Inverted Index، يعني بيكون عنده فهرس للكلمات ومكان وجودها، بدل ما يفتش بكل النصوص.
بس انتبه:
Full-Text Search غالباً بيبحث عن الكلمة الكاملة، يعني lar ما رح يرجّع laravel.
للبحث بالبداية استخدم Boolean Mode مع *
Post::whereFullText('title', 'lar*', [
'mode' => 'boolean',
])->get();
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 617 |
| 3 | فريق Laravel نشروا إنهم عم يراجعوا ثغرات CVE جديدة تم الإعلان عنها ومعالجتها من طرف Symfony.
بما إن Laravel بيعتمد على بعض حزم Symfony، الأفضل حالياً تعمل تحديث وفحص لحزم المشروع عندك.
نفّذ الأوامر التالية:
composer update
composer audit
الأول بيحدّث dependencies حسب القيود الموجودة عندك، والثاني بيفحص إذا في حزم عندك عليها ثغرات معروفة.
نصيحة: لا تعمل التحديث مباشرة على production. جرّبه أولاً على local أو staging
#Laravel #PHP #Symfony #Security #Composer | 603 |
| 4 | كمبرمج شي مرة سالت حالك شو الفرق بين:
- npm install
- npm ci
شاركونا بالتلعيقات 👇 | 639 |
| 5 | اصدار جديد نزل هلا من pnpm بيحمل الرقم 11.1.3
إذا إنت Frontend أو MERN Stack Developer وبتستخدم pnpm، أهم شغلات لازم تعرفها من هالإصدار:
🔒 Lockfile صار ينفحص قبل التحميل
صار pnpm install يعيد التحقق من pnpm-lock.yaml قبل ما ينزّل أي package، خصوصاً مع سياسات مثل:
* minimumReleaseAge
* trustPolicy: "no-downgrade"
يعني إذا الـ lockfile جاي من CI cache، أو معمول بإصدار أقدم، أو resolved بسياسة أضعف، pnpm ممكن يوقف الـ install بدل ما يثبّت package جديدة أو مش موثوقة بصمت.
ممكن تشوف Errors مثل:
* ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION
* ERR_PNPM_TRUST_DOWNGRADE
* ERR_PNPM_LOCKFILE_RESOLUTION_VERIFICATION
⸻
⏳ تحسين حماية الحزم الجديدة جداً
إذا package بعدها منشورة حديثاً وما حققت شرط minimumReleaseAge:
* بالـ loose mode: pnpm ممكن يضيفها تلقائياً للـ exclude ويكمل.
* بالـ strict mode: بيسألك إذا كنت interactive.
* بالـ CI: بيفشل مباشرة وبيعطيك كل الـ packages المخالفة.
هاد مهم جداً للـ supply chain security، خصوصاً بمشاريع production.
⸻
🧪 pnpm self-update صار يحترم minimumReleaseAge
يعني حتى تحديث pnpm نفسه ما رح يروح مباشرة على أحدث version إذا كانت جديدة جداً ولسا ضمن فترة الحذر.
⸻
🧱 تحسينات مهمة للـ Global Installs و Build Scripts
تم إصلاح مشكلة كانت تخلي global installs تتجاهل إعدادات build policy مثل:
dangerouslyAllowAllBuilds
خصوصاً مع Global Virtual Store.
⸻
🤫 –silent صار محترم أكتر
إذا عندك:
verifyDepsBeforeRun: install
وكان pnpm عم يعمل auto-install قبل pnpm run أو pnpm exec، صار يحترم --silent وما يطلع install output مزعج.
⸻
🪟 Fix للـ pnpm-lock.yaml مع CRLF
تم إصلاح مشاكل parsing لما يكون lockfile فيه CRLF line endings و multiple YAML documents، وهذا ممكن يهمك إذا الفريق شغال بين Windows / Linux / CI.
⸻
🧩 تحسينات مع Node Runtime و devEngines.runtime
pnpm صار يحسب cache keys والـ global virtual store hash بناءً على Node version اللي فعلياً رح يشغّل lifecycle scripts، مو بس Node اللي شغّل pnpm.
هاد مهم إذا مشروعك بيستخدم:
* devEngines.runtime
* pinned Node version
* pnpm exe bundle
* CI environments مختلفة
النتيجة: cache أدق ومشاكل أقل بين local و CI.
⸻
📦 تحسينات publish مع OIDC
تم إصلاح مشكلة pnpm publish لما يكون الاعتماد على OIDC trusted publishing ومع وجود _authToken=${NODE_AUTH_TOKEN} بدون ما يكون المتغير موجود.
⸻
⚠️ تحذير مهم لمستخدمي pnpm v10 → v11
إذا عندك إعدادات قديمة داخل package.json مثل:
* pnpm.overrides
* pnpm.patchedDependencies
pnpm صار يحذرك إنها ما عادت تُقرأ من package.json بدل ما يتجاهلها بصمت.
⸻
بشكل عام هالإصدار مركز بشكل واضح على:
✅ Security
✅ Lockfile verification
✅ CI stability
✅ Runtime consistency
✅ حماية أفضل من packages المنشورة حديثاً أو downgraded trust
إذا مشروعك Frontend / React / Next.js / MERN وبيعتمد على pnpm، التحديث مهم، بس لازم تنتبه لإعدادات minimumReleaseAge والـ lockfile بالـ CI.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 607 |
| 6 | ما هي التقنية التي تسمح لعدة أجهزة ضمن شبكة محلية بمشاركة عنوان IP عام واحد للوصول إلى الإنترنت؟ | 542 |
| 7 | كتير من الاحيان بكون في تاسك معتمد على نظام تشغيل المستخدم يعني لو اندرويد لازم يروح عرابط معين او ايفون بروح عرابط مختلف
و المتعارف عليه انه لما منحتاج هيك معلوماة منروح فورا باتجاه الـ User-Agent
و لكن منتفاجئ بوجود نسبة من مستخدمي الأندرويد والـ iOS بتضيع منك و بتتصنف على انها Desktop
وين المشكلة اصلاً؟
الـ User-Agent القديم صار "بياع حكي" وما عاد يعطينا الحقيقة كاملة لسببين:
طلب موقع سطح المكتب (Request Desktop Site): لما مستخدم الأندرويد يفعل هاد الخيار بمتصفح Chrome، المتصفح بيمسح كلمة "Android" عمداً وبغير النص ليبين كأنه جهاز كمبيوتر Linux!
المتصفحات الداخلية للتطبيقات (In-App WebViews): لما حدا يفتح رابط موقعك من قلب الواتساب، التيليغرام، أو الإنستغرام، هالمتصفحات أحياناً بتقشّ الـ UA وبتطير منه المعرّفات الأساسية للنظام.
الحل الصح يلي بيخلي الكود تبعك فاهم صح هو انك تدمج الـ User-Agent القديم مع الميزة الجديدة sec-ch-ua-platform.
اللي هو عبارة عن HTTP Header حديث يُرسله المتصفح إلى السيرفر لإعلامه بنوع نظام التشغيل (Operating System) الذي يعمل عليه جهاز المستخدم.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 559 |
| 8 | مشروعك فيه Authentication.
ومشروعك فيه Authorization.
ومشروعك فيه Encryption.
ومع هيك، مستخدم قدر يوصل لبيانات مستخدم تاني.
شو الشي اللي ناقصك أو نسيته؟
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 629 |
| 9 | من الشغلات الظريفة اللي نزلت مع laravel 13 هيي:
Queue-Wide Inspection Methods
قبل إذا بدك تفحص الـ jobs الموجودة بـ queues مختلفة، كان لازم تعمل check لكل queue لحالها:
reservedJobs('queue1')
reservedJobs('queue2')
reservedJobs('queue3')
هلأ صار فيك تجيب كل الـ jobs من كل الـ queues بنداء واحد:
Queue::allReservedJobs();
Queue::allDelayedJobs();
Queue::allPendingJobs();
هاد الشي مفيد جداً وقت الـ deployments، خصوصاً إذا بدك تتأكد إنه ما في jobs عم تشتغل قبل ما توقف الـ workers.
كل method بترجع Collection من InspectedJob فيها معلومات مثل:
uuid
name
attempts
createdAt
وفي كمان إضافات حلوة بالإصدار:
✅ WorkerPausing و WorkerResuming events
صار في events بتنطلق لما الـ queue worker يعمل pause أو resume، مفيدة للـ logging والـ monitoring وقت النشر.
✅ assertSessionMissingInput()
Assertion جديد بالـ tests، عكس assertSessionHasInput().
✅ دعم SortDirection enum بالـ Query Builder
صار فيك تستخدم enum مع orderBy() بدل strings.
✅ فلترة schedule:list حسب البيئة
مثلاً:
php artisan schedule:list --environment=production
مفيدة لتشوف بس الـ scheduled commands اللي فعلاً رح تشتغل على production.
✅ تحسينات على foreign keys
صار onDelete() و onUpdate() يدعموا custom actions، مفيد خصوصاً مع PostgreSQL.
✅ Attribute middleware صار يندمج مع Route middleware
يعني إذا عندك #[Middleware] على controller أو method، ما عاد يتم تجاهله إذا route عنده middleware من مكان تاني.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 570 |
| 10 | Laravel Tip: Str::squish()
أحياناً الـ user input بيوصل مليان spaces زيادة، tabs، أو new lines، وهاد الشي بيخلي النص شكله مو نظيف بقاعدة البيانات أو بالواجهة.
بدل ما تعملها بـ trim() و preg_replace:
$clean = trim(preg_replace('/(?:\s| )+/u', ' ', $input));
استخدم ببساطة:
use Illuminate\Support\Str;
$clean = Str::squish($input);
شو بتعمل؟
بتشيل المسافات من البداية والنهاية، وبتحوّل أي whitespace متكرر داخل النص لمسافة وحدة
مفيدة جداً مع:
bio, address, comments, search input, product description
كود أنظف، data أرتب، و intent أوضح.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 646 |
| 11 | صباح الخير
تمنياتي لكم بأسبوع عمل موفق و خالٍ من ال Bugs و ال meetings
بانتظار اسئلتكم و استفساراتكم على انستغرام كالعادة من خلال الرابط: هنا | 538 |
| 12 | حتى لو تطبيقك ما بيستخدم Server Actions بشكل مباشر، ممكن يكون معرض للخطر إذا كان مبني على Framework يدعم React Server Components مثل:
Next.js
React Router RSC
Waku
Parcel RSC
Vite RSC Plugin
Redwood SDK
بالنسبة لـ Next.js، لازم تحدث فورًا للنسخ المرقعة حسب إصدارك:
npm install next@14.2.35 # for Next 13.3+ / 14.x
npm install next@15.0.8
npm install next@15.1.12
npm install next@15.2.9
npm install next@15.3.9
npm install next@15.4.11
npm install next@15.5.10
npm install next@16.0.11
npm install next@16.1.5
إذا تطبيقك كان Online وهو على نسخة غير محدثة، لا تكتفي بالتحديث فقط.
يفضل تعمل التالي:
1. تحديث Next.js / React RSC packages فورًا.
2. إعادة بناء ونشر التطبيق.
3. تدوير الأسرار الحساسة مثل:
* API Keys
* JWT Secrets
* Auth Secrets
* Database Credentials
* Third-party Tokens
4. مراجعة Logs السيرفر لأي Requests مشبوهة.
5. التأكد من نسخة Next.js داخل السيرفر بعد النشر:
npm list next --depth=0
إذا عندك مشروع Next.js App Router أو أي تطبيق يستخدم React Server Components، تعامل مع الموضوع كحالة طارئة وحدث فورًا.
هاي مو ثغرة عادية، هاي Pre-auth RCE وتصنيفها أعلى درجة خطورة. | 0 |
| 13 | 🚨 تنبيه أمني خطير لمطوري Next.js / React Server Components
تم الإعلان عن ثغرة خطيرة جدًا في React Server Components تحت الرقم:
CVE-2025-55182
الثغرة مصنفة:
CVSS 10.0 — Critical
وهي عبارة عن Remote Code Execution RCE بدون تسجيل دخول، يعني المهاجم ممكن ينفذ أوامر على السيرفر إذا كان التطبيق يستخدم React Server Components أو Framework مبني عليها.
المشكلة موجودة في الإصدارات التالية:
react-server-dom-webpack
react-server-dom-parcel
react-server-dom-turbopack
ضمن نسخ React:
19.0
19.1.0
19.1.1
19.2.0 | 0 |
| 14 | 没有文字... | 690 |
| 15 | 🚨 ثغرة خطيرة جداً تم اكتشافها في NGINX تحت الرقم CVE-2026-42945
الثغرة عبارة عن Remote Code Execution (RCE) داخل ngx_http_rewrite_module، ويقال أنها موجودة منذ عام 2008 😶
المهاجم يمكنه تنفيذ أوامر على السيرفر عن بعد بدون Authentication في بعض الحالات، خصوصاً عند استخدام:
- rewrite
- set
📌 النسخ المتأثرة:
NGINX Open Source:
0.6.27 → 1.30.0
✅ النسخ التي تحتوي على الإصلاح:
- 1.30.1
- 1.31.0
تم نشر PoC علني على GitHub، لذلك يُفضل اعتبار الموضوع High Risk والتحديث فوراً. | 746 |
| 16 | المهم قبل أي release للـ mobile app إنو يكون كل شي شغال، متفقين على هي النقطة أكيد.
بس السؤال اللي لازم نسأله:
هل إنو التطبيق “شغال” بيكفي؟
ولا لازم يكون سريع كمان؟
لأن المستخدم ما بيهتم إذا الكود نظيف أو الـ architecture ممتازة.
هو بيحس بتجربة الاستخدام:
تقطيع بالـ scroll
تأخير بعد الضغط
animation مو سلسة
تنقّل بطيء بين الصفحات
قبل الـ release راجع بسرعة:
خفف Widget Rebuilds
لا تحط شغل ثقيل داخل build()
خلي الـ state يأثر بس على الجزء اللي محتاجه
راقب الـ layout والـ paint
حسّن الصور والـ assets
جرّب على جهاز حقيقي مو بس emulator
وشغّل التطبيق بـ release mode
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 726 |
| 17 | اكيد شي مرة لما عم تطلب من ال ai انه يعملك مراجعة عالكود تبعك سمعته عم ينبهك عن Race Conditions عندك بالكود و غالباً مافهمت عليه
خليني فهمك ياها:
تخيل عندك Coupon لازم يُستخدم مرة وحدة بس.
الكود بيعمل هيك:
يتأكد إنو الكوبون مو مستخدم
يطبق الخصم
يحدّث الكوبون ويخليه مستخدم
منطقي صح؟
المشكلة بتصير لما يجي طلبين بنفس الوقت تقريباً.
الطلبين بيقرؤوا إنو الكوبون لسا مو مستخدم، والطلبين بيطبقوا الخصم.
هون الكود مو غلط شكلياً، بس غلط تحت الضغط والـ concurrency.
الحل غالباً يكون باستخدام:
DB::transaction()
مع
lockForUpdate()
حتى نضمن إنو طلب واحد بس يقدر يتعامل مع نفس السجل بنفس اللحظة.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 767 |
| 18 | أكيد سمعتوا عن Laravel 13 والتغيير الكبير اللي جابه بطريقة كتابة الكود؟
خلوني اشرحها
بـ Laravel قبل كنا نكتب إعدادات الـ Model جوّا الكلاس باستخدام properties مثل:
$fillable
$hidden
$casts
بس مع Laravel 13 صار في توجه أكبر لاستخدام PHP Attributes.
يعني بدل ما يكون الكلاس مليان إعدادات، منكتب الإعدادات فوق الكلاس بهالشكل:
#[Fillable]
#[Hidden]
#[Casts]
الفكرة مو بس شكل أجمل، الفكرة إنو الكود بصير أوضح:
الإعدادات لحال، والـ methods والـ relationships لحال.
كمان Laravel 13 وسّع استخدام الـ Attributes بأماكن تانية مثل:
Queue Jobs لتحديد tries, timeout, و backoff
Artisan Commands لتعريف signature, description, و schedule
Controllers لتطبيق middleware أو authorization
وفي كمان تحسينات مهمة مثل:
JSON:API Resources لتوحيد شكل API responses
Laravel AI SDK كـ first-party package
Vector Search للتعامل مع semantic search
Passkeys لتسجيل دخول بدون password
Cache::touch() لتمديد عمر cache key بدون جلب البيانات
يعني laravel 13 ماكان تحديث عادي ابداً كان خطوة كتير مهمة و صحيحة لتنظيم المشاريع
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 622 |
| 19 | أكيد سمعتوا عن ثغرة CVE-2026-41940 اللي عم تسبب مشاكل ضد cPanel و WHM.
خلوني وضحها الكم ببساطة 👇
cPanel و WHM هنن لوحات تحكم لإدارة الاستضافة، يعني من خلالن فيك تدير المواقع، الملفات، قواعد البيانات، الإيميلات، والـ DNS.
المشكلة بهالثغرة إنها ممكن تسمح للمهاجم يعمل authentication bypass، يعني يدخل على لوحة التحكم بدون تسجيل دخول صحيح، وكأنه عنده
صلاحيات.
بعد ما يفوت، بيقدر يعمل أشياء خطيرة مثل:
يزرع backdoor حتى يرجع يدخل لاحقاً
يضيف SSH public key غريب على السيرفر
يرفع PHP web shell للتحكم بالملفات
ينفذ أوامر عن بعد remote command execution
يسرق كلمات مرور أو بيانات حساسة
يستخدم السيرفر بـ crypto mining أو ransomware
في الهجمات الأخيرة ظهر Backdoor اسمه Filemanager، ووظيفته إنه يعطي المهاجم قدرة على إدارة الملفات وتنفيذ الأوامر وكأنه داخل على السيرفر.
إذا عندك سيرفر عليه cPanel أو WHM، لا تكتفي إنه الموقع شغال.
لازم تتأكد إن النسخة محدثة، وتراجع مفاتيح SSH، والملفات الغريبة، وأي نشاط غير طبيعي بالسيرفر.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 718 |
| 20 | ليش بعض Laravel APIs بتصير صعبة الصيانة مع الوقت؟
كتير مشاريع Laravel بتبدأ بسيطة، بس مع توسّع المشروع بيصير الـ Controller مليان Validation و Business Logic و Database Queries و Response formatting بنفس المكان.
هون بتبدأ المشاكل:
الكود بيتكرر، التعديل بيصير أصعب، والـ Testing بياخد وقت أكتر.
الحل الأفضل هو بناء الـ API على طبقات واضحة:
Form Request للـ Validation
Controller للتنسيق فقط
Service للـ Business Logic
Repository للتعامل مع قاعدة البيانات
API Resource لتوحيد شكل الـ Response
ومع هيك بنضيف شغلات مهمة متل API Versioning و Rate Limiting و Queues و Caching.
———————————-
Linkedin |Instgram | YouTube
أنا Somar Kesen أعمل كـ Full Stack Developer أنشر بشكل شبه يومي منشورات تحتوي على العديد من المعلومات عن تطوير البرمجيات و سوق العمل مستخلصة من خبرة سنين في العمل مع العديد من الشركات في الشرق الأوسط و أوروبا ضمن هذا المجال | 831 |
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
