Yhya Nesb
626 subscribers
141 photos
1 video
1 file
112 links
شاب سوري طموح محب لعالم التقنية مهندس برمجيات
منشوراتي تعكس وجهة نظري الشخصية فقط.
Download Telegram
بعض النصائح التي تستطيع إستعمالها في Laravel لتسهل عليك بعض العمليات عندما تتعامل الموجهات Routes

#laravel #php #oop #tips #laravel_tips
منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء السابع في هذه القناة 7️⃣
لا تكتب توابع على مستوى الملفات:
أو على مستوى البرنامج (global) وذلك يعود لعدة أسباب:
- عدم التضارب مع المكتبات المستخدمة
- إنشاء أخطاء قاتلة في حال إستخدامه بشكل غير صحيح
لنفترض أنك تريد إنشاء تابع لعرض إعدادات التكوين config الخاصة بالبرنامج الخاص بك وتريد سرد مصفوفة
الاستخدام السيء:
function config(): array
{
return [
'foo' => 'bar',
];
}

الاستخدام الجيد:
class Configuration
{
private $configuration = [];

public function __construct(array $configuration)
{
$this->configuration = $configuration;
}

public function get(string $key): ?string
{
// null coalescing operator
return $this->configuration[$key] ?? null;
}
}
// إستدعاء إعدادات التكوين
$configuration = new Configuration([
'foo' => 'bar',
]);

وطبعاً يمكنك في المثال السابق إستعمال التوابع السحرية لجلب قيمة مفتاح ما 😁
لا تستخدم نمط Singleton:
هو نمط يفيد في إنشاء كائن object واحد من أي صنف class له عيوب وفوائد عديدة
لقراءة العيوب: انقر هنا
لقراءة الفوائد: انقر هنا
الاستخدام السيء:
class DBConnection
{
private static $instance;

private function __construct(string $dsn)
{
// ...
}

public static function getInstance(): self
{
if (self::$instance === null) {
self::$instance = new self();
}

return self::$instance;
}

// ...
}

$singleton = DBConnection::getInstance();

الاستخدام الجيد:
class DBConnection
{
public function __construct(string $dsn)
{
// ...
}

// ...
}
$connection = new DBConnection($dsn);

هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك ☺️
للمزيد من هذه الشروحات يمكنك متابعتي ⬅️ @YhyaNesb 🔥
#php
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
مشروع Laravel 👩‍💻 الخاص بك في خطر ☠️ ؟
العديد من المبرمجين يرتكبون أخطاء قاتلة قد تؤدي لتسريب عدد كبير من البيانات 📚
أحد الأشخاص نشر عن قدرته في الوصول لملف .env لمشروع Laravel 👩‍💻 طلب منه صاحبه القيام بعملية إختبار إختراق
حسناً كيف تمت عملية الوصول لملف .env الذي يعد العامود الفقري لمشاريع Laravel 👩‍💻 ؟
لعدة أسباب منها
- وضع ملف public/index.php في الجذر بجانب ملف .env 😬
- توجيه الطلبات التي لا تملك ملف إلى ملف public/index.php بسهولة عند الدخول لملف .env سيقوم السيرفر بالعثور على الملف وعرضه 😅
حسناً ماهي طرق الوقاية؟
- جعل مسار public هو مسار الجذر للموقع الخاص بك
- وضع ملفات المشروع بشكل كامل في مجلد مختلف عم مجلد الجذر، ووضع محتويات مجلد public في مجلد الجذر مع إجراء التعديلات المناسبة في ملف index.php

للمزيد من المنشورات ♻️: تصفح قائمة المنشورات
#laravel #php #security
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11
Forwarded from Server Reset VPS
السلام عليكم ورحمه الله وبركاته
الأن نحن 117 عضو 🔥 وقد وعدتكم بمفجأت عند الوصول إلى 100 اخ وأخت 🎁 لذلك سنبدء بسلسلة شرح أساسيات التعامل مع 👩‍💻 سطر الأوامر - الترمنال - الواجهة الطرفية - terminal (bash اي لن تستطيع المتابعة معنا من خلال إستخدامك إلى CMD في ويندوز)، والسلسلة ستكون تفصيليلة وليس كشرح الكثير بمعنى أصح ستصبح على ادراك بما تفعل وذلك عن فهم وليس عن حفظ
لمن موجهة هذه السلسة!؟ 🤔
* المبرمجين بشكل عامل (التعامل مع سطر الأوامر ليس ضرورياً اليوم بل شيء أنت مجبر عليه بطريقة أو بخرى) فإذا كنت مبرمج أو تميل إلى (front-end/back-end/devops/cyber-security) فهو ضروري جداً وستفسيد من هذه السلسة بإذن الله ❤️
محتويات السلسة 🗒:
- شرح نظري عن ماهي BASH
- تحضير بيئة العمل
- تحدث المستودعات والبرامج (update Vs upgrade)
- سرد الملفات والمجلدات
- قراءة تفاصيل أمر معين
- إنشاء المجلدات والملفات 1
- إنشاء المجلدات والملفات 2
- حذف الملفات والمجلدات
- قراءة الملفات 1
-قراءة الملفات 2 بإستخدام grep (جزء 1)
-قراءة الملفات 3 بإستخدام grep (جزء 2)
- نسخ الملفات والمجلدات
- تحديث أسماء الملفات ونقلها
- حجم مجلد معين
- مدخل إلى الصلاحيات
- أنواع الصلاحيات
- الفرق بين المستخدم والمالك والمجموعة
- المستخدمين
- المجموعات
- الصلاحيات بشكل عملي
- تطبيق عملي على الصلاحيات (إنشاء Lab لتستطيع التطبيق على المفهيم وتأكيدها)
- التحكم في أجهزة التخزين (فلاشة USB - هارد خارجي)
- عرض معلومات المعالج ومعلومات الرام
- ضغط الملفات وفك ضغطها
- التعديل على متغيرات النظام
- التعامل مع أنظمة ترميز مشهورة مثل: (Base64 - Base32)
- قراءة السجلات
- معلومات حول الاتصال بالشبكة
- إنشاء إتصال مخصص
- العمليات النشطة (إيقافها بشكل مؤقت - إيقافها بشكل كامل - إنشاء عملية تسير في الخلفية)
- البحث عن ملفات جزء 1
- البحث عن ملفات جزء 2
- الاتصال ببرتكول SSH
- شرح عن GIT
- التعامل مع المدخلات في BASH
سنبداً بإذن الله مع بداية شهر رمضان المبارك (9-11 آذار تقريباً)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
اضافة جداً جملية في محررات jetbrains باسم Full Line Code Completion
الإضافة عبارة عن أداة ذكاء إصطناعي تقوم بتحليل الكود الخاص بك وتساعدك في كتابة أي نص برمجي وفقاً للإقتراحات
يمكن القول أنها شبيه لـ copilot الخاص ب vs code
لكن الفرق هو ان هذه الإضافة:
مجانية تماماً 🔥
تعمل على المعالج المركزي CPU الخاص بك وعلى المعالج الرسومي GPU في أجهزة Mac
لا تقوم بإرسال أي بيانات لجهات خارجية
تقوم بدعم اللغات التالية:
Python, Kotlin, Java, JavaScript/TypeScript + their frameworks and CSS/LESS/SCSS/SASS, C++, Go (experimental), Kotlin, PHP, Ruby.
ولكن الدعم الأكبر على بايثون
شاركنا رأيك بهذه الإضافة 😁

للمزيد من المنشورات ♻️: تصفح قائمة المنشورات
#php #python #javascript #ai #nodejs #IDE
Please open Telegram to view this post
VIEW IN TELEGRAM
Yhya Nesb
مُبارٓكٌ علٓيْكُمْ شّٓهرُ رمضان ❤️ گل عام وأنتم بخير 🌙 شهر رمضان المبارك هو شهر الخير والبركة ولا تدع شياطين الانس تدع رمضان كأي شهر بالنسبة لك في هذا الشهر تكثر المسلسلات والفعاليات في الألعاب الإلكترونية لتمضية بعض من وقتك (الذي هو وقتك كله) في العام الماضي…
تبقى ١٠ ليالي من رمضان
ال ١٠ التي تحوي على ليلة مباركة ليلة القدر التي هي خير من ألف شهر
حاول واسعى ألا تفوت ثواب هذه الليال المباركة
حتى لو ظننت نفسك مقصرا فدع تقصيرك هو دافعك
ولا تنسونا وأخواننا وأخواتنا في غزة من دعائكم ❤️
Yhya Nesb
منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء السابع في هذه القناة 7️⃣
منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء الثامن في هذه القناة 8️⃣
غلف الشروط أو Encapsulate conditionals:
مفهوم التغليف: التغليف ( Encapsulation ) عبارة عن أسلوب يمكن اتباعه لإخفاء خصائص الكلاس ( Global Variables ) و جعل الكائنات التي تنشئها منه و الكلاسات الأخرى التي تقوم بتضمينه قادرة على التعامل مع هذه الخصائص فقط من خلال دوال يقوم بإنشائها المبرمج الأساسي للكلاس، إذاً فائدة التغليف أنه يتيح لك وضع شروط لتخزين القيم في الخصائص, كما أنه يتيح لك الحصول على القيم بالطريقة التي تريدها.
بشكل عملي: إذا أردت تخزين 📚 قيمة العمر وذلك لأنه مطلوب في الصنف object الخاص بك
ليس من المنطق ‼️ تركه بدون أي شروط، فتخيل محاولة شخص وضع قيمة 9999 كعمر له!
الاستخدام السيء:
if ($article->state === 'published') {
// ...
}

الاستخدام الجيد:
تكون في الكائن class الأصلي للمثالات قد عرفت التابع isPublished() ذو النتيجة bool
if ($article->isPublished()) {
// ...
}

تجنب الشروط السلبية:
ما الهدف 🧐 من أنك تعرف تابع على نتيجة عكس الاسم ⁉️ (مثلاً تابع بأن المقالة ليست منشورة) وأنت تريد معرفة إذا المقالة منشورة
الاستخدام السيء:
function isDOMNodeNotPresent(DOMNode $node): bool
{
// ...
}

if (! isDOMNodeNotPresent($node)) {
// ...
}

الاستخدام الجيد:
function isDOMNodePresent(DOMNode $node): bool
{
// ...
}

if (isDOMNodePresent($node)) {
// ...
}

تجنب الشروط:
أعرف أعرف أن الأمر مستحيل 😅 لكن يجب عليك التقليل منها من خلال تعدد الحالات حسناً لماذا هذا التعقيد 🥹 أريد القيام بشيء سهل لماذا تجبرني أشياء كهذه؟
لان سلف وذكرنا أن التابع في الكود النظيف يجب أن يحوي على مهمة واحدة فقط، وعند دخول الشروط سيصبح للتابع أكثر من عمل 🤷‍♂️، انظر للمثال للفهم أكثر وأيضاً أريد أن أخبرك أن هذه الحالة موجودة أيضاً في مبدء التصميم SOLID
الاستخدام السيء:
class Airplane
{
// ...

public function getCruisingAltitude(): int
{
switch ($this->type) {
case '777':
return $this->getMaxAltitude() - $this->getPassengerCount();
case 'Air Force One':
return $this->getMaxAltitude();
case 'Cessna':
return $this->getMaxAltitude() - $this->getFuelExpenditure();
}
}
}

الاستخدام الجيد:
interface Airplane
{
// ...

public function getCruisingAltitude(): int;
}

class Boeing777 implements Airplane
{
// ...

public function getCruisingAltitude(): int
{
return $this->getMaxAltitude() - $this->getPassengerCount();
}
}

class AirForceOne implements Airplane
{
// ...

public function getCruisingAltitude(): int
{
return $this->getMaxAltitude();
}
}

class Cessna implements Airplane
{
// ...

public function getCruisingAltitude(): int
{
return $this->getMaxAltitude() - $this->getFuelExpenditure();
}
}

هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك ☺️
للمزيد من هذه الشروحات يمكنك متابعتي ⬅️ @YhyaNesb 🔥
#php
Please open Telegram to view this post
VIEW IN TELEGRAM
مرحباً، في حال كنت تستخدم منتجات Jetbrains من المحررات، فقد صدر تحديث جديد 2024.1 وفي حال قمت بتحديثه ⬇️ أو تم تحديثه بشكل تلقائي كما حدث معي
1️⃣- ستفقد ترخيصك المجاني لأول 30 يوم كما حدث معي 👀 (قم بشراء ترخيص أو بالطريقة التي اعتدت عليها لاخذ ترخيص؛إذا كنت قادر على الدفع فإستخدامك بطريقة ثانية يعد حرام شرعاً)
2️⃣-تم تشديد الحظر على: كوبا، ايران، كوريا الشمالية، سوريا، شبه جزيرة القرم، جمهوريتيين دونيتسك أو لوهانسك الشعبيتين، أي منطقة أوكرانيا تم تضمينها كأرض روسية مثل: خيرسون وزابوروجي؛ التشديد جاء من خلال حظر متجر الإضافات الخاص بمتاجرهم 🙂
لتفادي الحظر قم بالإتصال بأي خدمة VPN أو Proxy وستتم حل المشكلة:
في حل كنت تستخدم توزيعات Linux 👩‍💻 يمكنك إستعمال شبكه tor أو أي proxy مجاني من الانترنت وذلك من خلال أمر proxychains ومبروك عليك 😉
#ملاحظة:
إضافة الذكاء الإصطناعي الذي نشرت عنها سابقاً، غير مدعومة في phpstorm 2024.1 🥲 لأنه أصبح مدمج به 😁

للمزيد من المنشورات ♻️: تصفح قائمة المنشورات
#phpstrom #IDE
Please open Telegram to view this post
VIEW IN TELEGRAM
ماهي الطريقة التي تقوم بترقيم فيها اصدارات مشاريعك 😅
1
موقع دجتل أوشن يقدم عرض للمنتسبين الجدد
يمكنك كسب 200$ لإستأجر بعض السيرفرات بشكل شهري 🔥 ويمكنك إنفاقها في شهرين 😍
بمعنى أصح إذا أردت سيرفر ذو موصفات:
4 GiB Ram
2 vCPUs
Bandwidth 4,000 GiB ~ 4 TiB
Stroge SSD 80 GiB
يمكنك دفع مبلغ 25$ 😍 وستحظى بإستعمال لمدة 3 أشهر 🔥 ومن ثم تبدء بدفع 25$ شهرياً
يعد موقع digitalocean من أفضل 0️⃣1️⃣ مزودي خدمة سحابية في العالم
ماذا تنتظر؟ سجل الأن
في حال كنت بحاجة لإستشارة أو مساعدة يمكنك التواصل معي @KKYKKN
Please open Telegram to view this post
VIEW IN TELEGRAM
1
تقبل الله منا ومنكم صالح الاعمال ❤️🌷
1❤‍🔥1
كذبو عليك وقالو "ميزة التحقق بخطوتين ميزية قوية لتأمين حسابك بحيث لا يتم الدخول لحسابك بدون رمز يصل لهاتفك" Google - Facebook
واو ممتاز 😍 انا بآمان
بعد فترة:
للأسف مزود الخدمة التي تستخدمه غير مدعوم (لن يتم إرسال أي رمز) 🙂، جرب مسح جميع بيانات هاتفك ومن ثم حاول إستعادة أي بريد أيها البطل 🔥
نعم أنت بآمان الآن حتى أنت لن تستطيع اختراق نفسك 🤪
للأسف قمت بتهيئة هاتفي، بعد التهيئة
حساب google الرئيسي بعد عشرات المحاولات لو لم استخدمه على حاسوبي الشخصي فلم أستطيع الدخول عليه
حساب google ثانوي بعد عشرات المحاولات قررو إرسال رابط لتسجيل الدخول بعد 30 يوم 😑
حساب facebook ترأفو عليي وأخبروني أن انتظر 12 ساعة أو أن أقوم بتأكيد الطلب من الهاتف الذي حاولت التسجيل منه 😃
الحكمة من إضافة التحقق بخطوتين:
أنت بآمان الآن حتى أنت لن تستطيع اختراق نفسك 🤪
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
Aqua web | أكوا ويب
عزيزي المتابع، يسعدني أو يؤسفني (بناءً على حالتك) أن أخبرك أن DevinAI غير حقيقي. الـ DevinAI هو نظام ذكاء اصطناعي تم مشاركته على نطاق واسع (شاركناه نحن أيضا) على أساس أنه سيعوض مهندسي البرمجيات (Software Engineer), إذ يستطيع إنشاء البرمجيات، تطويرها، رفعها…
ممكن يتم إستبدالك في حال كنت مكود شغلتك تكتب كود 🧑‍💻 أما مبرمج فهمان الأساسيات مستحيل يتم إستبدالك 😁
ما المهم انك حافظ الكود بصم المهم تفهم آلية عمل الكود بشكل مثال 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
بنهرب من c# بتنط بخلقتنا 😤
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣1
استخراج بيانات إلى ملف إكسل مع لارفيل؟
نعم انه ممكن، يمكنك متابعة الصور التالية
ملاحظة: (الحزمة المستخدمة تتطلب: php_zip و php_xml و php_gd2 و php_iconv و php_simplexml و php_xmlreader و php_zlib)

للمزيد من المنشورات ♻️: تصفح قائمة المنشورات
#laravel #laravel_excel #excel #database #export #laravel_export #php
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM