منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء الثاني في هذه القناة2️⃣
استخدم المتغيرات التوضيحية:
تشبه سابقتها😅 من حيث اسم المتغير، لكن لو لديكم متغير من نوع Array - مصفوفة - يجلب لك قيم محددة لكن المفاتيح (Key - Index) لهذه القيم Values أرقام 😐 ستجبر على فهم الكود الكامل الذي يقوم بتعبئة المصفوفة 😭 أو طبعتِها 🤷♂️ (الأمر قد يعتبر سهل في الطباعة لكن ماذا لو كان مشروعك بشكل كامل يحوي نفس المشكلة 😅 ستاخذ أيام لتفهم المشروع فقط دون البدء في التحديث 😕 )
الاستخدام السيء:
الاستخدام العادي:
حسناً لماذا هذا الاستخدام ليس جيد!؟ ببساطة قد تضع الأمر الخاص بإنشاء المصفوفة في function خاص والإستدعاء في function أخر بملف أخر، وعند إستدعاء هذا ال function من جديد وطباعة النتيجة قد تكون النتيجة غير مفهومة لان النتيجة ستكون من نوع:
الاستخدام الجيد:
تجنب التدخل بعمق وقم بترجيع النتيجة بشكل مبكر:
قد يؤدي وجود عدد كبير من من عبارات if-elseif إلى صعوبة في متابعة كامل الشروط‼️
الاستخدام السيء:
الاستخدام الجيد:
مثال آخر😁 - الاستخدام السيء:
الاستخدام الجيد:
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك☺️
للمزيد من هذه الشروحات يمكنك متابعتي⬅️ @YhyaNesb 🔥
الجزء الثاني في هذه القناة
استخدم المتغيرات التوضيحية:
تشبه سابقتها
الاستخدام السيء:
$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,\s*(.+?)\s*(\d{5})$/'; // تعبير نمطي
preg_match($cityZipCodeRegex, $address, $matches); // تنفيذ التعبير النمطي
// ما المقصود من المفتاح 1 و 2
saveCityZipCode($matches[1], $matches[2]);
الاستخدام العادي:
$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,\s*(.+?)\s*(\d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);
// قمنا هنا بتعريف متغير لكل قيمة في المصفوفة، بحيث أول قيمة في هذه المصفوفة لن يتم تخزينه
[, $city, $zipCode] = $matches;
saveCityZipCode($city, $zipCode);
حسناً لماذا هذا الاستخدام ليس جيد!؟ ببساطة قد تضع الأمر الخاص بإنشاء المصفوفة في function خاص والإستدعاء في function أخر بملف أخر، وعند إستدعاء هذا ال function من جديد وطباعة النتيجة قد تكون النتيجة غير مفهومة لان النتيجة ستكون من نوع:
int:mixed
الاستخدام الجيد:
$address = 'One Infinite Loop, Cupertino 95014';
// قمنا في التعبير النمطي بإعطاء مفتاح للقيمة حتى توضع به، مع الاحتفاظ على مفتاح بالرقم
$cityZipCodeRegex = '/^[^,]+,\s*(?<city>.+?)\s*(?<zipCode>\d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);
saveCityZipCode($matches['city'], $matches['zipCode']);
تجنب التدخل بعمق وقم بترجيع النتيجة بشكل مبكر:
قد يؤدي وجود عدد كبير من من عبارات if-elseif إلى صعوبة في متابعة كامل الشروط
الاستخدام السيء:
function isShopOpen($day): bool
{
if ($day) {
if (is_string($day)) {
$day = strtolower($day);
if ($day === 'friday') {
return true;
} elseif ($day === 'saturday') {
return true;
} elseif ($day === 'sunday') {
return true;
}
return false;
}
return false;
}
return false;
}
الاستخدام الجيد:
function isShopOpen(string $day): bool
{
if (empty($day)) {
return false;
}
$openingDays = ['friday', 'saturday', 'sunday'];
return in_array(strtolower($day), $openingDays, true);
}
مثال آخر
function fibonacci(int $n)
{
if ($n < 50) {
if ($n !== 0) {
if ($n !== 1) {
return fibonacci($n - 1) + fibonacci($n - 2);
}
return 1;
}
return 0;
}
return 'Not supported';
}
الاستخدام الجيد:
function fibonacci(int $n): int
{
if ($n === 0 || $n === 1) {
return $n;
}
if ($n >= 50) {
// إنشاء خطأ أفضل من إرجاع نص string حتى تكون نتيجة ال function من نوع int فقط
throw new Exception('Not supported');
}
return fibonacci($n - 1) + fibonacci($n - 2);
}
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك
للمزيد من هذه الشروحات يمكنك متابعتي
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥1
هل تعلم أنه في عام 1971 📅 تمت أول عملية إحتيال بشكل إلكتروني في العالم 🌐 حيث قام طالب أمريكي 🇺🇸 (جوزيف ليونارد) بتزوير حوالة بنكي
ة بقيمة 220$ (قيمته اليوم تعادل 12,757$)‼️
حسناً ما هي الطرق السليمة للحماية من هكذا عمليات من الاحتيال الإلكتروني😅 والتي أصبحت جزء لا يتجزء من حياتنا 🥲
0️⃣ -في العجلة الندامة 😶
1️⃣ -اقراء بتروي أي رسالة تستلمها مرتين عندما يتعلق الأمر بالنقر على زر 📱 للدخول إلى رابط
2️⃣ -لا تقم بتحميل أي ملف من مصدر غير موثوق ⚠️ الأمر جداً مهم مهما يكن الملف بسيط لا تقم بتحميله 😕 فقد يكون صديقك الإفتراضي الذي تعرفت عليه من يومين يريد أن يحذف جميع بيانات هاتفك من خلال تحميل تطبيق يعطيك شدات ببجي 🎀
3️⃣ -جميعنا نعمل بشكل أو بأخر لنكسب المال 💵 فلا تعتقد أنّ شركة الألعاب المفضلة لديك تريد إهدائك مكافئة الموسم 🗣️ بشكل مجاني 💯 فقط إذا وضعت الإيميل الخاص بك 😈
4️⃣ -لا تعطي كلمة السر للدعم الفني الذي يملك في الأساس صلاحية الوصول لحسابك بدون أن يطلبوا منك ذلك ‼️ ، (مرحباً نحن شركة فسبوك بدنا كلمة سر حسابك نحدثه)
5️⃣ -لا تتصل لأي رقم تابع لجهة حكومية/تجارية على رقم عادي ⚠️ وفي حال كان ذلك فهو لا يحتاج سوا اسم الحساب فقط وتذكر أنّ لأي جهة حكومية وتجارية أرقام خاصة ✉️ (3-6 أرقام وليس 10 😒 )
6️⃣ -عند إستلامك لأي حوالة إلكترونية مجهولة المصدر لا تحزن على صاحبها فهي ليست من حقه ‼️ (ليس إحتيال لا تقلق 😅 ) لكن عند مراجعتك لمصدر الإشعار ستستنج أن الإشعار جاء من رقم لإستخدام شخصي 👤 (ليس من جهة البنك) وأيضاً ينطبق هذا الشيء على شركات الإتصالات 📞 (من قرابة السنة والنصف انتشرت هذه الشائع في سوريا 🇸🇾 فقامت شركة MTN بتخصيص رقم رباعي للإبلاغ عن هذه الفئة من المستخدمين)
7️⃣ -مرحبا أنا محمد هذا رقمي الجديد؛ من الأساليب التي يتبعها البعض 👻 وهي إنتحال شخصية حقيقة لكن هي بالأصل وهمية لإستغلال الضحية بتنفيذ بعض الأمور التي سيعتبر الضحية أنها موجهة لمحمد (الشخص الوهمي)
8️⃣ -لقد ربحت مليون دولار 🧨 🤩 يمكنك إستلام مكافئتك الأن من خلال الإتصال بالرقم التالي 😁 ويمكنك الإتصال من خلال شركة الاتصال المتوفرة في بلدك 😍 ، بعد الإتصال وسماع موسيقى لمدة غير متناهية سيتوقف الإتصال بشكل تلقائي 🙃 لنفاذ رصيدك 😅
9️⃣ -مرحباً يحيى، أنا محامي السيد خالد المليونير الذي توفى في الهند وقد أوصى بصافي ثروته التي تبلغ 300 الف $ لحضرتكم لوجود قرابة قديمة، سأقوم بتسليمك نصف المبلع وسأحصل على النصف الأخر من المبلغ كأجور أتعاب ........ هل يمكنك إرسال مبلغ 10 الف $ لدفع بعض الضرائب 🙂 !؟
نعم إنها الطريقة الأكثر إنتشاراً استلمت أول رسالة بعام 2015 ولليوم هي مستمرة😅
0️⃣ 1️⃣ -مرحباً عزيزي لقد إنبهرنا في بعض أعمالك (تصميم/برمجة) ونود أن ننمي مهاراتك من خلال فرصة تدريب مجانية ل 3 أشهر معنا 😎 وبعدها ستبدء معنا بشكل فعلي بالعمل 👨💻 ، قد تظن أن حلم حياتك قد تحقق 😍 لكن إنهم يحتالون عليك ويكررون العملية مع غيرك في كل 3 أشهر ♻️ التدريب أو الفترة التجريبية تكون مدفوعة ⚠️ وعند البدء بالعمل بشكل فعلي يزداد الراتب بأقل أحواله ل 20% 📌
هذه الطرق ال1️⃣ 1️⃣ الشائعة في عملية الإحتيال وبمجرد التفكير بأي عملية والتأكيد على الأفكار السابقة لن يستطيع شخص الاحتيال عليك 😅
هذا كل شيء لليوم 😁
للمزيد من هذه الشروحات يمكنك متابعتي⬅️ @YhyaNesb 🔥
ة بقيمة 220$ (قيمته اليوم تعادل 12,757$)
حسناً ما هي الطرق السليمة للحماية من هكذا عمليات من الاحتيال الإلكتروني
نعم إنها الطريقة الأكثر إنتشاراً استلمت أول رسالة بعام 2015 ولليوم هي مستمرة
هذه الطرق ال
هذا كل شيء لليوم 😁
للمزيد من هذه الشروحات يمكنك متابعتي
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء الثالث في هذه القناة3️⃣
تجنب رسم الخرائط الذهنية:
تشبه سابقتها أيضاً😅 حيث يقصد منها أن تقوم بإنشاء اسم متغير مفهوم 👀 ولا تجعل قارئ الكود مجبراً على فهم ما يعنيه المتغير، الاسم الصريح 😶 أفضل من الضمني 🫥
بمعنى مختلف👋 بدلاً من أن تعرف ما المقصود من المتغير من خلال البحث 🔍 ومعرفة القيم الذي يحويه ✉️ ستعرف ما المقصود منه أو إلى ما يشير من خلال اسمه 🚩 :
الاستخدام السيء:
الاستخدام الجيد:
لا تقم بإضافة أي سياق غير ضروري:
في الأصناف Classes والكائنات Objects لا يوجد أي داعي لكتابة اسمه في المتغير‼️
الاستخدام السيء:
الاستخدام الجيد:
الأن انتهينا من قسم المتغيرات😀 الذي بدأنا به بأول جزء
المقارنة:
إستخدم المطابقات بدلاً من المقارانات:
أنت تعلم بأن 10 لا تساوي "10"🙂 (int != string 🙂 👍 ) لكن هل تعلم ℹ️ أن التطابق لا يشبه المساواة ‼️ إليك المثال التالي 🧑💻 :
الاستخدام السيء:
الاستخدام الجيد:
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك☺️
للمزيد من هذه الشروحات يمكنك متابعتي⬅️ @YhyaNesb 🔥 حيث أقوم بنشر كل يوم إثنين في الساعة 9 مساءً منشور من هذه السلسلة 😁 ويوم الخميس منشور تقني مختلف 😍
الجزء الثالث في هذه القناة
تجنب رسم الخرائط الذهنية:
تشبه سابقتها أيضاً
بمعنى مختلف
الاستخدام السيء:
$l = ['Austin', 'New York', 'San Francisco'];
for ($i = 0; $i < count($l); $i++) {
$li = $l[$i];
doStuff();
doSomeOtherStuff();
// ...
// أكواد كثيفة هنا وهناك
// ...
// بعد عدة أسطر ستنسى ماذا يعني متغير $li وخاصة لو كان المتغير موجود في ملف مختلف
dispatch($li);
}
الاستخدام الجيد:
$locations = ['Austin', 'New York', 'San Francisco'];
foreach ($locations as $location) {
doStuff();
doSomeOtherStuff();
// ...
// ...
// هل كلمة location التي تعني بالعربية موقع ستدل على شيء غير الموقع؟ لا داعي لفهم الكود من بدايته لمعرفة ماذا يحمل المتغير من قيم
dispatch($location);
}
لا تقم بإضافة أي سياق غير ضروري:
في الأصناف Classes والكائنات Objects لا يوجد أي داعي لكتابة اسمه في المتغير
الاستخدام السيء:
class Car
{
public $carMake;
public $carModel;
public $carColor;
//...
}
الاستخدام الجيد:
class Car
{
public $make;
public $model;
public $color;
//...
}
الأن انتهينا من قسم المتغيرات
المقارنة:
إستخدم المطابقات بدلاً من المقارانات:
أنت تعلم بأن 10 لا تساوي "10"
الاستخدام السيء:
$a = '42';
$b = 42;
if ($a == $b) {
// الشرط سيتحقق لأنه سيتحول متغير $b إلى نص👎
}
الاستخدام الجيد:
$a = '42';
$b = 42;
if ($a === $b) {
// الشرط لن يتحقق لأن لكل متغير نوع بيانات مختلف🙂
}
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك
للمزيد من هذه الشروحات يمكنك متابعتي
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Yhya Nesb
مفهوم Clean Code انتشر بالسنوات الماضية 🕐
هو مفهوم في تطوير البرمجيات 🤖 يشير إلى التنفيذ المنتظم والمنطقي والنظيف والشامل والقابل للتتبع للكود. الهدف من الكود النظيف هو تطوير البرمجيات بكفاءة وفعالية 🔥 وتصميم كود يمكن قراءته وتغييره وتطويره وصيانته بسهولة.…
هو مفهوم في تطوير البرمجيات 🤖 يشير إلى التنفيذ المنتظم والمنطقي والنظيف والشامل والقابل للتتبع للكود. الهدف من الكود النظيف هو تطوير البرمجيات بكفاءة وفعالية 🔥 وتصميم كود يمكن قراءته وتغييره وتطويره وصيانته بسهولة.…
❤4
مرحباً، React 👩💻 هي مكتبة برمجية مفتوحة المصدر 🖥 لإنشاء تطبيقات الويب الديناميكية. تم إنشاؤها بواسطة Facebook (تعد نقطة قوة) 📒 في عام 2013 وهي واحدة من أكثر المكتبات شيوعًا لإنشاء واجهات المستخدم.
لنتكلم قليلاً عنها بشكل تقني وبشكل فني👋 :
تقنياً:
- تعد react مكتبة وليست إطار عمل‼️ فهناك الكثير من المفاهيم الخاطئة بأنها إطار عمل ⚠️ لذلك لا يمكنك مقارنتها مع اطر عمل ثانية مثل Angular 🙃
- تستخدم لبناء واجهة المستخدم UI🖥 بمعنى مختصة في التصميم 😬 لذلك ستجد الكثير والكثير من مكتبات JavaScript 👩💻 المدعومة في react 👩💻
- يمكنك بناء تطبيقات ويب🌐 (تطبيق الويب يحتلف عن موقع الويب ⚠️ حيث التطبيق يتميز بأنه موقع ذات الصفحة الواحدة أي لست بحاجة لتحديث الصفحة في عملية التنقل بين الصفحات) وذلك من خلال مكتبة React Router 👩💻
فنياً:
- تقوم شركة ميتا (فيسبوك سابقاً)📒 بدعم المكتبة بكل ما تملك من إمكانيات (ميزانية الشركة ككل 946,66 مليار $ 🙂 )
- دعم كبير على المكتبة من المجتمع😁 حيث في 2023 التقنيات واطر العمل الأكثر تفضيلاً للمبرمجين كان التريب ✨ :
1️⃣ -Node.js 👩💻 42.65%
2️⃣ -React 👩💻 40.58%
3️⃣ -jQuery 👩💻 21.98%
ملاحظة جانبية👋 :
هل تريد تعلم React👩💻 !؟
يمكنك إتباع مسار freecodecamp بعد تعلم JavaScript👩💻 ولا تنسا تعلم ES6
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك☺️
للمزيد من هذه الشروحات يمكنك متابعتي⬅️ @YhyaNesb 🔥 ☺️
لنتكلم قليلاً عنها بشكل تقني وبشكل فني
تقنياً:
- تعد react مكتبة وليست إطار عمل
- تستخدم لبناء واجهة المستخدم UI
- يمكنك بناء تطبيقات ويب
فنياً:
- تقوم شركة ميتا (فيسبوك سابقاً)
- دعم كبير على المكتبة من المجتمع
ملاحظة جانبية
هل تعلم أن 77.3% من المواقع التي صدرت في 2023 تعتمد على jQuery👩💻 !؟
هل تريد تعلم React
يمكنك إتباع مسار freecodecamp بعد تعلم JavaScript
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك
للمزيد من هذه الشروحات يمكنك متابعتي
Please open Telegram to view this post
VIEW IN TELEGRAM
freeCodeCamp.org
The React Roadmap for 2024 – How to Learn React
In this guide, I'll break down a complete roadmap that will cover all the concepts, libraries, and tools to help you become a React developer in 2024. My goal is to show you the happy path in React, navigating you away from pitfalls so you can spend ...
👍2
منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء الرابع في هذه القناة4️⃣ منشورنا اليوم سريع 😅 🚀
استخدم عامل التحقق Null coalescing operator:
بدلاً من إنشاء شجرة ذهنية عبارة عن if elseif لتنفيذ شرط isset يمكنك إستخدم هذا المعامل الذي تمت إضافته في php7👩💻 حيث يقوم بإعادة أول قيمة صحيحة 👋 وفي حال كانت القيمة null سيعود القيمة التي تليها ... 🙏
الاستخدام السيء:
الاستخدام الجيد:
هل تعلم أن نفس هذه المشكلة كنا نعاني منها😓 عندما نود بجلب تفرعات الكائنات Objects لكن تم حلها في php8.0 😍
الاستخدام السيء: (والوحيد في PHP7)
الاستخدام الجيد:
الامر واضح جداً 😁
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك☺️
مشنور قصير لعدة أسباب منها ضعف التفاعل💔
للمزيد من هذه الشروحات يمكنك متابعتي⬅️ @YhyaNesb 🔥
الجزء الرابع في هذه القناة
استخدم عامل التحقق Null coalescing operator:
بدلاً من إنشاء شجرة ذهنية عبارة عن if elseif لتنفيذ شرط isset يمكنك إستخدم هذا المعامل الذي تمت إضافته في php7
الاستخدام السيء:
if (isset($_GET['name'])) {
$name = $_GET['name'];
} elseif (isset($_POST['name'])) {
$name = $_POST['name'];
} else {
$name = 'nobody';
}الاستخدام الجيد:
$name = $_GET['name'] ?? $_POST['name'] ?? 'nobody';
هل تعلم أن نفس هذه المشكلة كنا نعاني منها
الاستخدام السيء: (والوحيد في PHP7)
$country = null;
if ($session !== null) {
$user = $session->user;
if ($user !== null) {
$address = $user->getAddress();
if ($address !== null) {
$country = $address->country;
}
}
}
الاستخدام الجيد:
$country = $session?->user?->getAddress()?->country;
الامر واضح جداً 😁
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك
مشنور قصير لعدة أسباب منها ضعف التفاعل
للمزيد من هذه الشروحات يمكنك متابعتي
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
تحدي بسيط بلغة PHP 👩💻 قم بكتابة أكواد تقوم بإعطاء نفس نتيجة الكود التالي:
هناك حوالي 5 طرق مختلفة😉 لكن هذا الكود هو أبسط كود ويتبع معايير #CleanCode
$numbers = array_map(fn($value) => $value ** 2,range(1,10));
هناك حوالي 5 طرق مختلفة
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤣1
هل الذكاء الاصطناعي مخيف!؟
هذا عنوان مقال كتبته من خلال الذكاء الإصطناعي نفسه 😅 ولتعرف الجواب يمكنك قراءة المقالة الذي أشرفت فقط على تصميم الصور والمحتوى من خلال المعطيات فقط‼️ وأريدك أن تلاحظ كيف قام الذكاء الإصطناعي بمدح نفسه بشكل زائد 😅 حيث ذكر 3 مخاطر مقابل الكثر والكثير من الفوائد (اكتفيت بأول 4) 😐 وأريدك ملاحظة أن هذا الذكاء هو ذكاء كلاب (وهذا تصريح كبراء المسؤولين عن الذكاء الاصطناعي في شركة ميتا) ولذلك تذكر المقولة الشعبية في الشارع السوري 🇸🇾 (ماحدا بقول عن زيته عكر)
استمتع في التدوينة - مدة القراءة 4د⏳ - الرابط 🔗 :
https://blogpost.yhyasyrian.com/post/is-artificial-intelligence-scary
هذا عنوان مقال كتبته من خلال الذكاء الإصطناعي نفسه 😅 ولتعرف الجواب يمكنك قراءة المقالة الذي أشرفت فقط على تصميم الصور والمحتوى من خلال المعطيات فقط
استمتع في التدوينة - مدة القراءة 4د
https://blogpost.yhyasyrian.com/post/is-artificial-intelligence-scary
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👏1
هل سنودع Apache2 و PHP-FPM في سيرفرات PHP 👩💻
نعم فقد صدر frankenphp المكتوب بلغة GO👩💻 في نهاية عام 2023 📅
من ميزاته✨ :
- يدعم HTTP/2 & HTTP/3 & HTTP
-HTTPS Automation:
إنشاء شهادة SSL وتجديدها عند إنتهائها
-Structured logging
قم بإحضار تنسيق وتفاصيل أكثر تحديدًا إلى سجلات تطبيقك.
-Zstandard and Gzip compression
يتم دعم تنسيقات الضغط الحديثة خارج الصندوق.
-Extensible
متوافق مع PHP 8.2+، ومعظم ملحقات PHP وجميع وحدات Caddy.
والمزيد
نعم فقد صدر frankenphp المكتوب بلغة GO
من ميزاته
- يدعم HTTP/2 & HTTP/3 & HTTP
-HTTPS Automation:
إنشاء شهادة SSL وتجديدها عند إنتهائها
-Structured logging
قم بإحضار تنسيق وتفاصيل أكثر تحديدًا إلى سجلات تطبيقك.
-Zstandard and Gzip compression
يتم دعم تنسيقات الضغط الحديثة خارج الصندوق.
-Extensible
متوافق مع PHP 8.2+، ومعظم ملحقات PHP وجميع وحدات Caddy.
والمزيد
Please open Telegram to view this post
VIEW IN TELEGRAM
Yhya Nesb
تحدي بسيط بلغة PHP 👩💻 قم بكتابة أكواد تقوم بإعطاء نفس نتيجة الكود التالي: $numbers = array_map(fn($value) => $value ** 2,range(1,10)); هناك حوالي 5 طرق مختلفة 😉 لكن هذا الكود هو أبسط كود ويتبع معايير #CleanCode
لم أعثر على أي إجابة بشكل كامل 😐 كنت أفكر بمكافئة أول شخص بدومين سنوي .com (لم اطرح ذلك في أثناء نشر المنشور ليكون الشخص الذي ينفذ التحدي مستحق فهو يسعى للتعلم وليس للمكافئة 🙃 )
المهم هذه هي الحلول😊
1️⃣ -
2️⃣ -
3️⃣ -
4️⃣ -
5️⃣ -
6️⃣ -
7️⃣ -
مع العلم يمكن دمج الحالات السابقة مع بعضها كما فعلت مع بعضها🙂
ويمكن إستخدام أنواع أخرى من أنواع ال Loop😁 ، هذا التحدي ليس للإستعراض 👀 وإنما لعرض الطرق المختلفة لكتابة كود وأفضل طريقة لكتبته لجعل الكود أقصر ما يكون 😁 ومفهوم وذلك إعتماداً على قواعد #CleanCode
في حال اعجبت بمحتوى القناة لا تنسى مشاركتها❤️
➖➖➖➖➖
للمزيد من المنشورات♻️ : تصفح قائمة المنشورات
المهم هذه هي الحلول
$numbers = array_map(function($value) {
return $value ** 2;
},range(1,10));function Squaring($value) {
return $value ** 2;
}
$numbers = array_map('Squaring',range(1,10));
// Or
$numbers = array_map(Squaring(...),range(1,10));function Squaring($value) {
return $value * $value;
}
$numbers = array_map(Squaring(...),range(1,10));
print_r($numbers);$numbers = [];
foreach (range(1,10) as $item){
$numbers[] = $item ** 2;
// or
# $numbers[] = $item ** $item;
// or
# $number[] = Squaring($item);
}
$numbers = range(1,10);
array_walk($numbers,function(&$number){
$number = $number ** 2;
});
function Squaring($value) {
$result = 0;
for ($i=1;$i<=$value;$i++)
$result += $value;
return $result;
}
$numbers = array_map(Squaring(...),range(1,10));$numbers = [];
for ($item=1;$item<=10;$item++){
$numbers[] = $item ** 2;
// or
# $numbers[] = $item ** $item;
// or
# $number[] = Squaring($item);
}
مع العلم يمكن دمج الحالات السابقة مع بعضها كما فعلت مع بعضها
ويمكن إستخدام أنواع أخرى من أنواع ال Loop
في حال اعجبت بمحتوى القناة لا تنسى مشاركتها
➖➖➖➖➖
للمزيد من المنشورات
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3😢2🤣2👍1
مشاريع JavaScript 👩💻 يجب أن تلقي نظرة عليها 😁
لغة JavaScript من أشهر لغات البرمجة عالية المستوى🔥 وأخر 10 سنين كانن تتربع على عرش لغات البرمجة من حيث أفضل لغات البرمجة 😉 ووقت بدك تشتغل بأي مجال بالبرمجة لح تلاقي هي اللغة بوجهك 😁 سواء مجالك كان
front-end / back-end / mobile / وقريباً لح تشوفها بمجال ال AI🤖
طبعاً هي اللغة كثير ناس بتقول عنها صعبة😅 لكن صدق إذا متعلم البرمجة بالطريقة الصحيحة بأي لغة برمجة لح تلاقيها سهله وبالعكس تتميز ب syntax ظريف ومتنوع 🤡
1️⃣ -أفضل الممارسات مع Node.js (Node Best Practices)
تقنية node.js بتتيح الك تشتغل back-end بإستخدام لغة javascript👩💻 وضروري تلتزم بأفضل الممارسات للتقنية يلي عم تستخدمها 😉 لعدة أسباب منها:
تخفف إستخدام موارد💻 وتجعل مشروعك أخف ما يكون بالإستخدام وما يكون في بطء في حال وجود مستخدمين بشكل كبير 📈 والأهم تكون مبرمج لا يمكن الإستغناء عنك 😉
2️⃣ -خوارزميات (JavaScript Algorithms)
الخوارزميات و هياكل البيانات صاروا بمشروع واحد😍 ولجافا سكربت كمان 🔥 مع شرح لكل خوارزمية 😁
3️⃣ -33 مفهوم يجب معرفته (33 JS Concepts)
يحوي المستودع على 33 مفهوم يجب على كل مبرمج جافا سكربت👩💻 معرفتهم ويحوي على مراجع سواء مقالات أو فيديوهات لشرح كل مفهوم 😁
4️⃣ -أنت لا تعرف JavaScript حتى الآن! (You Don't Know JS Yet)
المستودع هو عبارة عم مبادرة من المطور Kyle Simpson👨💻 لشرح الآلية الأساسية للغة JavaScript
5️⃣ -الكود النظيف (Clean Code JavaScript)
مفهوم Clean Code انتشر بالسنوات الماضية🕐
هو مفهوم في تطوير البرمجيات🤖 يشير إلى التنفيذ المنتظم والمنطقي والنظيف والشامل والقابل للتتبع للكود. الهدف من الكود النظيف هو تطوير البرمجيات بكفاءة وفعالية 🔥 وتصميم كود يمكن قراءته وتغييره وتطويره وصيانته بسهولة. للمتابعة انقر هنا 🔗
هذه أهم المشاريع يلي لقيتها تستحق نذكرها😁 طبعاً في مشاريع ثانية بس ممكن تشوف المصدر وتشوفهم، (dev.to)
في حال اعجبت بمحتوى القناة لا تنسى مشاركتها❤️
➖➖➖➖➖
للمزيد من المنشورات♻️ : تصفح قائمة المنشورات
لغة JavaScript من أشهر لغات البرمجة عالية المستوى
front-end / back-end / mobile / وقريباً لح تشوفها بمجال ال AI
طبعاً هي اللغة كثير ناس بتقول عنها صعبة
تقنية node.js بتتيح الك تشتغل back-end بإستخدام لغة javascript
تخفف إستخدام موارد
الخوارزميات و هياكل البيانات صاروا بمشروع واحد
يحوي المستودع على 33 مفهوم يجب على كل مبرمج جافا سكربت
المستودع هو عبارة عم مبادرة من المطور Kyle Simpson
مفهوم Clean Code انتشر بالسنوات الماضية
هو مفهوم في تطوير البرمجيات
هذه أهم المشاريع يلي لقيتها تستحق نذكرها
في حال اعجبت بمحتوى القناة لا تنسى مشاركتها
➖➖➖➖➖
للمزيد من المنشورات
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - goldbergyoni/nodebestpractices: :white_check_mark: The Node.js best practices list (July 2024)
:white_check_mark: The Node.js best practices list (July 2024) - goldbergyoni/nodebestpractices
👍2❤1
مرحباً أنا أستخدم Kali Linux 👩💻
تابع حتى النهاية♻️
نعم أنا أستخدم توزيعة Kali Linux🙂 لعدة أسباب وأهمها:
وجدت الراحة في إستخدامها في عملية البرمجة، فمثلاً عند التثبيت أنا لست مضطر لتنزيل اغلب البرامج والحزم التي يجب أن أثبتها في Ubuntu👩💻 مثل: php - apache2 - mysql - redis - docker - python - node.js والمزيد ...
لكن لست متأكداً بأن أتمسك بهذه التوزيعة🤷♂️
حسناً نعود للموضع الرئيسي هل هو أمن ويتجسس على المستخدمين🙂 !؟
نعم آمن فهو يخضع لرخصة جنو العمومية 😉 وهذه الرخصة لا تسمح بالتجسس على المستخدمين ‼️
حسنا الفيديو المذكور كيف يأكد ذلك🧐
صفحة سياسة الخصوصية الخاصة بالموقع تخبرك بأن الموقع يحق له مشاركة معلوماتك مع وكالات حكومية، أي المعلومات الموجودة في الموقع الخاص بهم وليس في التوزيعة‼️ فكيف تربط الموقع بالتوزيعة 🫤
الرجاء عند نشر المعلومة نشرها مع مراعة الآمانة العلمية😬 ، المحتوى العربي يحوي بعض المعلومات القيمة 🔥 لكن رجاءً لا تكن سبب في تدهور هذا المحتوى لكسب بعض المتابعين ‼️
تابع حتى النهاية
نعم أنا أستخدم توزيعة Kali Linux
وجدت الراحة في إستخدامها في عملية البرمجة، فمثلاً عند التثبيت أنا لست مضطر لتنزيل اغلب البرامج والحزم التي يجب أن أثبتها في Ubuntu
لكن لست متأكداً بأن أتمسك بهذه التوزيعة
حسناً نعود للموضع الرئيسي هل هو أمن ويتجسس على المستخدمين
نعم آمن فهو يخضع لرخصة جنو العمومية 😉 وهذه الرخصة لا تسمح بالتجسس على المستخدمين ‼️
حسنا الفيديو المذكور كيف يأكد ذلك
صفحة سياسة الخصوصية الخاصة بالموقع تخبرك بأن الموقع يحق له مشاركة معلوماتك مع وكالات حكومية، أي المعلومات الموجودة في الموقع الخاص بهم وليس في التوزيعة
الرجاء عند نشر المعلومة نشرها مع مراعة الآمانة العلمية
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
منشور من سلسة #CleanCode لمعرفة التفاصيل انقر هنا 🔗
الجزء الخامس في هذه القناة5️⃣
سبندء بالنصائح الخاصة بالتوابع Functions 🛠
استخدم الوسائط الافتراضية بدلاً من الدوائر القصيرة أو الشرطية:
أي استخدم الوسائط Arguments مع تحديد نوعها والقيمة الإفتراضية لها😉
الاستخدام السيء:
الاستخدام العادي:
هذا أفضل فأنت تتأكد بأن النتيجة لن تكون من نوع null أي فارغة😶
الاستخدام الجيد:
يمكنك إستخدام نوع بشكل صريح بحيث أنت لست مضطر للتأكد من القيمة null أم لا، فهي تتم بمجرد تصريح نوع الوسيط Arguments😌 ، بالنسبة لي هذه الطريقة فادتني كثيراً في مراحل ال test 😁
قلل وسائط التابع:
أو وسيطات الدالة (2 أو أقل بشكل مثالي)، بمعنى أصح قلل الوسائط الخاصة بالتابع😁 فكلما قلت سهل إستخدامه وفهمه وعملية التجريب test 🧑💻 وعند تكثيرها ستصبح عبء عليك
عدم إستخدام وسيط من أفضل الحالات، ولا بأس بإستخدام وسيطين أما ثلاث فيعد كحد أقصى⚠️
الاستخدام السيء:
الاستخدام الجيد:
أستخدم طريقة الكتابة الجديدة في PHP8
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك☺️
للمزيد من هذه الشروحات يمكنك متابعتي⬅️ @YhyaNesb 🔥
الجزء الخامس في هذه القناة
سبندء بالنصائح الخاصة بالتوابع Functions 🛠
استخدم الوسائط الافتراضية بدلاً من الدوائر القصيرة أو الشرطية:
أي استخدم الوسائط Arguments مع تحديد نوعها والقيمة الإفتراضية لها
الاستخدام السيء:
function createMicrobrewery($breweryName = 'Hipster Brew Co.'): void
{
if (is_null($breweryName)) throw new \Exception('Uncaught TypeError must be of type string, null given');
// ...
}
الاستخدام العادي:
هذا أفضل فأنت تتأكد بأن النتيجة لن تكون من نوع null أي فارغة
function createMicrobrewery($name = null): void
{
$breweryName = $name ?: 'Hipster Brew Co.';
// ...
}
الاستخدام الجيد:
يمكنك إستخدام نوع بشكل صريح بحيث أنت لست مضطر للتأكد من القيمة null أم لا، فهي تتم بمجرد تصريح نوع الوسيط Arguments
function createMicrobrewery(string $breweryName = 'Hipster Brew Co.'): void
{
// ...
}
قلل وسائط التابع:
أو وسيطات الدالة (2 أو أقل بشكل مثالي)، بمعنى أصح قلل الوسائط الخاصة بالتابع
عدم إستخدام وسيط من أفضل الحالات، ولا بأس بإستخدام وسيطين أما ثلاث فيعد كحد أقصى
الاستخدام السيء:
class Questionnaire
{
public function __construct(
string $firstname,
string $lastname,
string $patronymic,
string $region,
string $district,
string $city,
string $phone,
string $email
) {
// ...
}
}
الاستخدام الجيد:
أستخدم طريقة الكتابة الجديدة في PHP8
class Name
{
public function __construct(
private string $firstname,
private string $lastname,
private string $patronymic
) {}
// getters ...
}
class City
{
public function __construct(
private string $region,
private string $district,
private string $city
) {}
// getters ...
}
class Contact
{
public function __construct(
private string $phone,
private string $email
) {}
// getters ...
}
class Questionnaire
{
public function __construct(Name $name, City $city, Contact $contact)
{
}
}
هذا كل شيء لليوم 😁 في حال أعجبك هكذا نوع من المنشورات لا تنسا مشاركته مع أصدقائك
للمزيد من هذه الشروحات يمكنك متابعتي
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Yhya Nesb
مفهوم Clean Code انتشر بالسنوات الماضية 🕐
هو مفهوم في تطوير البرمجيات 🤖 يشير إلى التنفيذ المنتظم والمنطقي والنظيف والشامل والقابل للتتبع للكود. الهدف من الكود النظيف هو تطوير البرمجيات بكفاءة وفعالية 🔥 وتصميم كود يمكن قراءته وتغييره وتطويره وصيانته بسهولة.…
هو مفهوم في تطوير البرمجيات 🤖 يشير إلى التنفيذ المنتظم والمنطقي والنظيف والشامل والقابل للتتبع للكود. الهدف من الكود النظيف هو تطوير البرمجيات بكفاءة وفعالية 🔥 وتصميم كود يمكن قراءته وتغييره وتطويره وصيانته بسهولة.…
👍3🔥2
Yhya Nesb
سألت bard سؤال باللغة العربية 🇵🇸 وباللغة الانكليزية 🇺🇸 والفرق واضح بالصورة ‼️ وهذا الشي لازم يدفعنا لتعلم اللعة الانكليزية لعدة أسباب 💬 : - اللغة الأشهر في العالم فلا يوجد بلد إلا ويوجد عدد لا بأس به يتكلم اللغة الانكليزية 📣 مما يضمن فرص أكبر للتوظيف - مواكبة…
تم الإستغناء عن bard ب gemini التابع لجوجل 🖥
يحوي ميزات جميلة، لكن أتمنى أن يكون أفضل من سابقه بالنتائج 💁🏻♂️
يحوي ميزات جميلة، لكن أتمنى أن يكون أفضل من سابقه بالنتائج 💁🏻♂️
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
هل أنت من محبي التكنولوجيا 👨💻 العربية؟
هل تبحث عن محتوى هادف 🔥 ومفيد يثري مهاراتك 😍 ويزيد من معرفتك؟
إذاً، لا تبحث أكثر!
نقدم لك مجموعة من القنوات العربية 😁 المميزة التي تقدم محتوى تقنيًا راقيًا وهادفًا: ✨
1. Marwan's experiences | تجارب مروان:
- قناة لشاب سوري 🇸🇾 يقوم بشرح الأردينو بطريقة سهله ومبسطة، حتى للمبتدئين.
- تعلم أساسيات الأردينو وبرمجتها من خلال فيديوهات 📹 تعليمية شيقة.
- اصنع مشاريع إبداعية باستخدام الأردينو وتعلم 👨🏫 مهارات جديدة.
2. Entity: The Black Day:
- قناة لعبة Entity: The Black Day لمطور عراقي 🇮🇶 موهوب.
- ادعم المطور العربي وساعد في صنع ألعاب عربية قوية 🔥 تنافس العالمية 🤩.
3. Hamza Salem:
- مبرمج أردني 🇯🇴 مبدع يشارك تجاربه ومساهمته في تحسين المحتوى العربي.
- تعلم مهارات جديدة وتعرف على أحدث التقنيات ✨ من خلال محتوى هادف.
4. Mahmoud Youssef - محمود يوسف:
- مبرمج مصري 🇪🇬 متميز يشارك تجاربه مع الجميع من خلال فيديوهات 📼 متقدمة.
- تعلم مهارات برمجة متقدمة ⚡️ وطور مهاراتك في مجال التكنولوجيا.
لا تفوت هذه الفرصة! انضم إلى هذه القنوات العربية 😁 المميزة وشارك في نشر المعرفة العربية 🔗.
معاً 😬 نستطيع بناء مستقبل تقني عربي مزدهر!
#محتوى_هادف #تكنولوجيا_عربية #ألعاب_عربية #تعلم_برمجة #مستقبل_تقني_مزدهر
هل تبحث عن محتوى هادف 🔥 ومفيد يثري مهاراتك 😍 ويزيد من معرفتك؟
إذاً، لا تبحث أكثر!
نقدم لك مجموعة من القنوات العربية 😁 المميزة التي تقدم محتوى تقنيًا راقيًا وهادفًا: ✨
1. Marwan's experiences | تجارب مروان:
- قناة لشاب سوري 🇸🇾 يقوم بشرح الأردينو بطريقة سهله ومبسطة، حتى للمبتدئين.
- تعلم أساسيات الأردينو وبرمجتها من خلال فيديوهات 📹 تعليمية شيقة.
- اصنع مشاريع إبداعية باستخدام الأردينو وتعلم 👨🏫 مهارات جديدة.
2. Entity: The Black Day:
- قناة لعبة Entity: The Black Day لمطور عراقي 🇮🇶 موهوب.
- ادعم المطور العربي وساعد في صنع ألعاب عربية قوية 🔥 تنافس العالمية 🤩.
3. Hamza Salem:
- مبرمج أردني 🇯🇴 مبدع يشارك تجاربه ومساهمته في تحسين المحتوى العربي.
- تعلم مهارات جديدة وتعرف على أحدث التقنيات ✨ من خلال محتوى هادف.
4. Mahmoud Youssef - محمود يوسف:
- مبرمج مصري 🇪🇬 متميز يشارك تجاربه مع الجميع من خلال فيديوهات 📼 متقدمة.
- تعلم مهارات برمجة متقدمة ⚡️ وطور مهاراتك في مجال التكنولوجيا.
لا تفوت هذه الفرصة! انضم إلى هذه القنوات العربية 😁 المميزة وشارك في نشر المعرفة العربية 🔗.
معاً 😬 نستطيع بناء مستقبل تقني عربي مزدهر!
#محتوى_هادف #تكنولوجيا_عربية #ألعاب_عربية #تعلم_برمجة #مستقبل_تقني_مزدهر
👍2❤1
مين منكم جربها مع ال Git؟ 😂 الحل السحري 🤣
#Git #برمجة #مطوري_برامج
شارك هذا المنشور مع أصدقائك المبرمجين!👨💻
#Git #برمجة #مطوري_برامج
شارك هذا المنشور مع أصدقائك المبرمجين!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣1
مرحباً 👋 أعتذر عن عدم النشر في الأيام السابقة بسبب عدم التفرغ التام
سأعود للنشر قريباً بشكل مستمر♻️ مع نشر معلومات تقنية لعدة فئات، وسأقوم بنشر بعض المنشورات التي تعجبني مع ذكر المصدر ©️ لدعم صاحب المحتوى الذي ينشر محتوى قيم 🔥
لا تنسا مشاركة القناة مع أصدقائك😉
بعض العروض على متجر ستيم قد تهمك🙄 :
Red Dead Redemption 259,99€ 19,80€
Need for Speed™ Heat Deluxe Edition69,99€ 3,49€
Need for Speed™ Most Wanted (2012)19,99€ 2,99€
Call of Duty®: Modern Warfare® III69,99€ 48,99€
Call of Duty®: Black Ops Cold War59,99€ 19,79€
Battlefield™ 204259,99€ 11,99€
Buy Battlefield™ V Definitive Edition49,99€ 3,99€
Portal9,75€ 0,97€
Grand Theft Auto V: Premium Edition39,98€ 14,98€
Buy Grand Theft Auto: The Trilogy – The Definitive Edition59,99€ 29,99€
سأعود للنشر قريباً بشكل مستمر
لا تنسا مشاركة القناة مع أصدقائك
بعض العروض على متجر ستيم قد تهمك
Red Dead Redemption 2
Need for Speed™ Heat Deluxe Edition
Need for Speed™ Most Wanted (2012)
Call of Duty®: Modern Warfare® III
Call of Duty®: Black Ops Cold War
Battlefield™ 2042
Buy Battlefield™ V Definitive Edition
Portal
Grand Theft Auto V: Premium Edition
Buy Grand Theft Auto: The Trilogy – The Definitive Edition
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1