Forwarded from « Yemen Devs | يمن ديفز » (ENG / Jello (Y-S) Alkhaledi)
Please open Telegram to view this post
VIEW IN TELEGRAM
✅ المصدر العربي الوحيد لدعم وتعزيز معرفتك حول Typescript
🪙 نخبة من المبرمجين ذوي الكفاءة العالية
⭐ مجالاتنا { Blockchain , Web3 }
😍 - نتشرف بكم جميعًا
😘 - يرجى التحلي بالأدب والأخلاق في الحديث.
@typescript_ar
🪙 نخبة من المبرمجين ذوي الكفاءة العالية
⭐ مجالاتنا { Blockchain , Web3 }
😍 - نتشرف بكم جميعًا
😘 - يرجى التحلي بالأدب والأخلاق في الحديث.
@typescript_ar
Forwarded from « Yemen Devs | يمن ديفز » (ENG / Jello (Y-S) Alkhaledi)
😊 - متواجدون لتحويل أي فكرة تخطر ببالك إلى أداة برمجية 😁
🌐 { بوتات ، سورسات ، تطبيقات ، مواقع ويب ، أدوات لينكس }
👨💻 7 سنوات من الخبرة في مجال البرمجيات.
📞 للطلب والإستفسار: @F_F_4
⚠️ لن أبدأ بالتحدث معك في الخاص ، احذر من النصابين والمنتحلين
🌐 { بوتات ، سورسات ، تطبيقات ، مواقع ويب ، أدوات لينكس }
👨💻 7 سنوات من الخبرة في مجال البرمجيات.
📞 للطلب والإستفسار: @F_F_4
⚠️ لن أبدأ بالتحدث معك في الخاص ، احذر من النصابين والمنتحلين
The following code will give an error in only one of the PHP versions, select that version :
<?php function exam ( ?string $name ) echo "Hello {$name}"; exam ( "Jello" ); ?>
<?php function exam ( ?string $name ) echo "Hello {$name}"; exam ( "Jello" ); ?>
Anonymous Quiz
39%
7.4
17%
7.1
6%
7.0
39%
8.1
نَم عند العاشرة واستيقظ مع الفجر مفعماً بالنشاط
صباحكم أجمل 🥰
صباحكم أجمل 🥰
2010 :
1 BTC => 0.092 $
1 YER => 0.005$
2024 :
1 BTC => 99,000 $
1 YER => 0.0005 $
لهذا كنت أنصح بشراء البيتكوين منذ عامين ( عندما كان سعره 16,500$ ) 😁
1 BTC => 0.092 $
1 YER => 0.005$
2024 :
1 BTC => 99,000 $
1 YER => 0.0005 $
لهذا كنت أنصح بشراء البيتكوين منذ عامين ( عندما كان سعره 16,500$ ) 😁
لا وجود للطب بينها ، أعلى 5 وضائف مطلوبة في سوق العمل لعام 2024 مرتبة حسب الأعلى طلبا
1) الوظائف البرمجية
2) الوظائف الإدارية
3) وظائف المبيعات
4) وظائف التسويق
5) التصميم الجرافيكي
1) الوظائف البرمجية
2) الوظائف الإدارية
3) وظائف المبيعات
4) وظائف التسويق
5) التصميم الجرافيكي
للدعابة فقط : 😂
نظراً لكثرة المتهبشين لـ لقب ENG قرر المهندس الخالدي التخلي عن لقب ENG في اسمه وتغييره إلى Sr 😅
وسنرى في الأيام القادمة كم سنلقى Sr في أسماء الحسابات
نظراً لكثرة المتهبشين لـ لقب ENG قرر المهندس الخالدي التخلي عن لقب ENG في اسمه وتغييره إلى Sr 😅
وسنرى في الأيام القادمة كم سنلقى Sr في أسماء الحسابات
Forwarded from « Yemen Devs | يمن ديفز » (ENG / Jello (Y-S) Alkhaledi)
⚡️ شرحت التعابير النظامية هنا
🎗 هاكم بعض الأنماط التي قمت بكتابتها لأجلكم 👇
👑 تعبير عن معرف تيليجرام
🔗 تعبير عن رابط قناة أو جروب تيليجرام خاص
🖇 تعبير عن رابط قناة أو جروب تيليجرام عام
🌐 تعبير عن أي رابط ويب
🌏 تعبير عن اسم مستخدم انستجرام أو تيك توك أو أي إسم مستخدم
📧 تعبير عن بريد إلكتروني
📞 تعبير عن رقم الهاتف
🔍 للبحث بواسطة التعابير دعها كما هي الآن وللمطابقة أضف بداية التعبير ^ ثم $ نهاية التعبير
👻 مثال للبحث عن رقم الهاتف ومطابقته
🎗 هاكم بعض الأنماط التي قمت بكتابتها لأجلكم 👇
👑 تعبير عن معرف تيليجرام
/@[a-zA-Z]{1}(_?[a-zA-Z0-9]_?)+[a-zA-Z0-9]/
🔗 تعبير عن رابط قناة أو جروب تيليجرام خاص
/(http.?:\/\/)?t.me\/\+[a-zA-Z0-9\_\+\-]{7,35}/
🖇 تعبير عن رابط قناة أو جروب تيليجرام عام
/(http.?:\/\/)?t.me\/([a-zA-Z]{1}(_?[a-zA-Z0-9]_?)+[a-zA-Z0-9])/
🌐 تعبير عن أي رابط ويب
/((http.?:\/\/)?([a-zA-Z0-9]+(\-{1}[a-zA-Z0-9]+)*(\.[a-zA-Z0-9]+)+\/*(\S)*)+)+/
🌏 تعبير عن اسم مستخدم انستجرام أو تيك توك أو أي إسم مستخدم
/@([a-zA-Z0-9\_]+)/
📧 تعبير عن بريد إلكتروني
/([a-zA-Z0-9_])+(\.[a-zA-Z0-9_]+)*@([a-zA-Z0-9_])+(\.[a-zA-Z0-9_]+)+/
📞 تعبير عن رقم الهاتف
/\+[0-9]{6,18}/
🔍 للبحث بواسطة التعابير دعها كما هي الآن وللمطابقة أضف بداية التعبير ^ ثم $ نهاية التعبير
👻 مثال للبحث عن رقم الهاتف ومطابقته
$numbers = "Hello +967777777777 !";
$search = preg_match("/\+[0-9]{6,18}/",$numbers);
if ($search){
echo "هناك رقم هاتف";
} else {
echo "لا يوجد رقم هاتف";
}
$match = preg_match("/^\+[0-9]{6,18}$/",$numbers);
if($match){
echo 'المتغير $numbers يمثل رقم هاتف';
} else {
echo 'المتغير $numbers لا يتطابق مع صيغة أرقام الهواتف';
}
Telegram
« Yemen Devs | يمن ديفز »
التعابير النظامية - Regular expressions
🤠 تعتبر التعابير النظامية من أهم الامور في السلك البرمجي بل وفي مقدمتها ، وكل ما كان المبرمج يجيد التعامل معها كان في مقام أرفع.
🧐 إذا لم تكن تعرف التعابير النظامية من قبل فإليك التعريف
🌏 عند دخولك موقع Facebook…
🤠 تعتبر التعابير النظامية من أهم الامور في السلك البرمجي بل وفي مقدمتها ، وكل ما كان المبرمج يجيد التعامل معها كان في مقام أرفع.
🧐 إذا لم تكن تعرف التعابير النظامية من قبل فإليك التعريف
🌏 عند دخولك موقع Facebook…
شرح عن كيفية ربط دومين بسيرفر VPS Ubuntu باستخدام خادم ويب Apache2
قبل مشاهدة الشرح يفترض أنك قد قمت بشراء دومين وربطه بـ CloudFlare وإعداد الـ Record A وتوجيه الطلبات إلى IP سيرفرك
---- إعداد خادم ويب Apache2 -------
1) تحديث النظام وترقية الحزم
2) تثبيت خادم أباتشي 2
ثم تحقق من حالة الخدمة
3) بدء تشغيل Apache2 تلقائيا عند تشغيل النظام
4) إعداد الجدار الناري ( إختياري ) للحماية
تحقق من قواعد جدار الحماية
5) تثبيت nano إن لم يكن مثبت مسبقا
6) تأكد من الإعدادات التالية في ملف Apach2 مع العلم أنها تأتي مضبوطة تلقائيا ولا حاجة لتعديلها في بعض الاصدارات
أمر تعديل الاعدادات
ثم اضغط CTRL+X+Y
7) تهيئة الموقع الافتراضي
ثم اجعل محتوى الملف كالتالي مع استبدال رابط موقعك بـ google.com
8) تفعيل الموقع
إعادة تحميل الإعدادات
إعادة تشغيل الخدمة (اختياري)
------لمسات إضافية------
دائما بعد كل أمر في الخطوات أدناه قم بإعادة تشغيل الخدمة بالأمر التالي (عند ورود جملة "إعادة تشغيل الخدمة")
1) تفعيل وحدة تخصيص عناوين URL
إعادة تشغيل الخدمة
2) تفعيل SSL
إعادة تشغيل الخدمة
3) السماح برفع وإنشاء ملفات ومجلدات داخل مسار الموقع
نقل ملكية المسار للمستخدم www-data
إعطاء الصلاحيات للمسار
المقصود بالمسار هنا هو المسار التالي
الشرح القادم سيكون عن كيفية إعداد دومين فرعي مثل api.google.com
إذا واجهت صعوبات أو مشاكل لا تتردد في طرح سؤالك بالمجموعة العامة : @PHPMM
كما يمكنك أيضاً مراسلتي على الخاص وسأرد عليك بأسرع وقت: @F_F_4
👨💻مقدم الشرح : Sr / Jello (Y-S) Alkhaledi
📡 حصريا لقناة YemenDevs:
https://www.tgoop.com/YemenDevs
قبل مشاهدة الشرح يفترض أنك قد قمت بشراء دومين وربطه بـ CloudFlare وإعداد الـ Record A وتوجيه الطلبات إلى IP سيرفرك
---- إعداد خادم ويب Apache2 -------
1) تحديث النظام وترقية الحزم
sudo apt update && sudo apt upgrade -y
2) تثبيت خادم أباتشي 2
sudo apt install apache2 -y
ثم تحقق من حالة الخدمة
sudo systemctl status apache2
3) بدء تشغيل Apache2 تلقائيا عند تشغيل النظام
sudo systemctl enable apache2
4) إعداد الجدار الناري ( إختياري ) للحماية
sudo ufw allow 'Apache Full'
تحقق من قواعد جدار الحماية
sudo ufw status
5) تثبيت nano إن لم يكن مثبت مسبقا
sudo apt install nano -y
6) تأكد من الإعدادات التالية في ملف Apach2 مع العلم أنها تأتي مضبوطة تلقائيا ولا حاجة لتعديلها في بعض الاصدارات
Timeout 300
KeepAlive On
أمر تعديل الاعدادات
sudo nano /etc/apache2/apache2.conf
ثم اضغط CTRL+X+Y
7) تهيئة الموقع الافتراضي
sudo nano /etc/apache2/sites-available/000-default.conf
ثم اجعل محتوى الملف كالتالي مع استبدال رابط موقعك بـ google.com
<VirtualHost *:80>
ServerName google.com
Redirect permanent / https://www.google.com/
</VirtualHost>
<VirtualHost *:80>
ServerName www.google.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/google.com_error.log
CustomLog ${APACHE_LOG_DIR}/google.com_access.log combined
</VirtualHost>
8) تفعيل الموقع
sudo a2ensite 000-default
إعادة تحميل الإعدادات
sudo systemctl reload apache2
إعادة تشغيل الخدمة (اختياري)
sudo systemctl restart apache2
------لمسات إضافية------
دائما بعد كل أمر في الخطوات أدناه قم بإعادة تشغيل الخدمة بالأمر التالي (عند ورود جملة "إعادة تشغيل الخدمة")
sudo systemctl restart apache2
1) تفعيل وحدة تخصيص عناوين URL
sudo a2enmod rewrite
إعادة تشغيل الخدمة
2) تفعيل SSL
sudo a2enmod ssl
إعادة تشغيل الخدمة
3) السماح برفع وإنشاء ملفات ومجلدات داخل مسار الموقع
نقل ملكية المسار للمستخدم www-data
sudo chown -R www-data:www-data /var/www/html
إعطاء الصلاحيات للمسار
sudo chmod -R 755 /var/www/html
المقصود بالمسار هنا هو المسار التالي
/var/www/html
الشرح القادم سيكون عن كيفية إعداد دومين فرعي مثل api.google.com
إذا واجهت صعوبات أو مشاكل لا تتردد في طرح سؤالك بالمجموعة العامة : @PHPMM
كما يمكنك أيضاً مراسلتي على الخاص وسأرد عليك بأسرع وقت: @F_F_4
👨💻مقدم الشرح : Sr / Jello (Y-S) Alkhaledi
📡 حصريا لقناة YemenDevs:
https://www.tgoop.com/YemenDevs
Please open Telegram to view this post
VIEW IN TELEGRAM
إذا كان شعارك "أنا محترم مع المحترم ، ومش محترم مع اللي مش محترم" ، فأحب أقول لسيادك : أنت اللي مش محترم
لأن أنت مالكش فضل ع الشخص المحترم ، بينما أخلاقك وتربيتك تتضح عندما تتعامل مع عيال السوق ، فإياك أن تنزل إلى مستواهم.
لأن أنت مالكش فضل ع الشخص المحترم ، بينما أخلاقك وتربيتك تتضح عندما تتعامل مع عيال السوق ، فإياك أن تنزل إلى مستواهم.
أوامر ستحتاج إليها عند التعامل المتكرر مع الخوادم (Servers)
(المنشور موجه للمبتدئين)
1) تحديث وترقية الحزم:
2) تثبيت حزمة ما:
3) إضافة يوزر ( مستخدم ) :
4) حذف يوزر :
5) إدارة الخدمات :
- بدء تشغيل خدمة:
- إيقاف تشغيل خدمة:
أيضاً إعادة تشغيل خدمة بنفس الصيغة مع تغيير العملية إلى
وعرض حالة خدمة مع تغيير العملية إلى
5) عرض مساحة الDisk:
6) عرض استخدام الـ RAM:
-------أوامر إضافية-------
1) تغيير إصدار PHP في سطر الأوامر CLI:
2) تغيير ملكية مسار ما لمستخدم محدد:
3) منح صلاحيات محددة لمسار محدد (كن حذراً):
4) الإتصال بقاعدة البيانات MySQL:
5) إعادة تشغيل النظام:
6) إدارة العمليات :
7) قتل عملية:
بواسطة / مطورو اليمن - Yemen Devs :
https://www.tgoop.com/YemenDevs
(المنشور موجه للمبتدئين)
1) تحديث وترقية الحزم:
sudo apt update && sudo apt upgrade -y
2) تثبيت حزمة ما:
sudo apt install <PACKAGE_NAME>
3) إضافة يوزر ( مستخدم ) :
#syntax:
sudo adduser <USER>
#ex:
sudo adduser ajmal
4) حذف يوزر :
sudo deluser <USER>
5) إدارة الخدمات :
- بدء تشغيل خدمة:
#sx:
sudo systemctl start <S_NAME>
#ex:
sudo systemctl start apache2
- إيقاف تشغيل خدمة:
#sx:
sudo systemctl stop <S_NAME>
#ex:
sudo systemctl stop apache2
أيضاً إعادة تشغيل خدمة بنفس الصيغة مع تغيير العملية إلى
restart
وعرض حالة خدمة مع تغيير العملية إلى
status
5) عرض مساحة الDisk:
df -h
6) عرض استخدام الـ RAM:
free -h
-------أوامر إضافية-------
1) تغيير إصدار PHP في سطر الأوامر CLI:
sudo update-alternatives --config php
2) تغيير ملكية مسار ما لمستخدم محدد:
#sx:
sudo chown [OPTIONS] <USER>[:GROUP] <PATH>
#ex:
sudo chown -R www-data:www-data /var/www/html
3) منح صلاحيات محددة لمسار محدد (كن حذراً):
#sx:
sudo chmod [OPTIONS] <MODE> <PATH>
#ex:
sudo chmod -R 775 /var/www/html
4) الإتصال بقاعدة البيانات MySQL:
sudo mysql -u root -p
5) إعادة تشغيل النظام:
sudo reboot
6) إدارة العمليات :
ps aux
#or:
top
7) قتل عملية:
#sx:
sudo kill <PID>
#ex:
sudo kill 51433
بواسطة / مطورو اليمن - Yemen Devs :
https://www.tgoop.com/YemenDevs
ماذا ستفعل إن حذفت بالخطأ ملف تشغيل البيئة الافتراضية في Python3
أقصد هذا السكربت
venv/bin/activate
إذا كنت معاك ملف requirements.txtv اللي فيه معلومات المكاتب فالأمور طيبة ، تحذف القديمة وتسوي واحدة جديدة بنفس الاسم وخلاص ، وإذا كنت كسلان وما حفظت ملف تعريف المكاتب اتبع الخطوة التالية :
1) أنشئ بيئة افتراضية جديدة في نفس المسار بـ اسم مختلف ، مثلا :
2) انسخ جميع المكاتب والأدوات إلى البيئة الافتراضية الجديدة :
3) شغل البيئة الجديدة :
وتقدر تشتغل بالبيئة الجديدة طبيعي جداً
لكن إذا ما عجبك تغيير الاسم فهناك حلين :
الأول :
انسخ هذا الأمر وحطه بالترمنال كما هو مع تغيير الأسماء فقط ( لا أنصح به أبدا أبدا )
وبعدين شغل طبيعي
الحل الثاني :
4) قم بتصدير ملف تعريف المكاتب :
5) احذف البيئتين الجديدة والقديمة :
6) أنشئ بيئتك بالاسم اللي تحب وليكن venv
7) أدخل داخل البيئة وثبت المكاتب من الملف السابق :
وعشان تتأكد أكثر إن مكاتبك ما انحذفت ، افعل هذا الأمر :
وبس.
أقصد هذا السكربت
venv/bin/activate
إذا كنت معاك ملف requirements.txtv اللي فيه معلومات المكاتب فالأمور طيبة ، تحذف القديمة وتسوي واحدة جديدة بنفس الاسم وخلاص ، وإذا كنت كسلان وما حفظت ملف تعريف المكاتب اتبع الخطوة التالية :
1) أنشئ بيئة افتراضية جديدة في نفس المسار بـ اسم مختلف ، مثلا :
python3 -m venv new_venv
2) انسخ جميع المكاتب والأدوات إلى البيئة الافتراضية الجديدة :
cp -r venv/lib/python*/site-packages/* new_venv/lib/python*/site-packages/
3) شغل البيئة الجديدة :
source new_venv/bin/activate
وتقدر تشتغل بالبيئة الجديدة طبيعي جداً
لكن إذا ما عجبك تغيير الاسم فهناك حلين :
الأول :
انسخ هذا الأمر وحطه بالترمنال كما هو مع تغيير الأسماء فقط ( لا أنصح به أبدا أبدا )
rm -rf venv; python3 -m venv venv;cp -r new_venv/lib/python*/site-packages/* venv/lib/python*/site-packages/
وبعدين شغل طبيعي
source venv/bin/activate
الحل الثاني :
4) قم بتصدير ملف تعريف المكاتب :
pip3 freeze > requirements.txt
5) احذف البيئتين الجديدة والقديمة :
rm -rf venv new_venv
6) أنشئ بيئتك بالاسم اللي تحب وليكن venv
python3 -m venv venv
7) أدخل داخل البيئة وثبت المكاتب من الملف السابق :
source venv/bin/activate
pip3 install -r requirements.txt
وعشان تتأكد أكثر إن مكاتبك ما انحذفت ، افعل هذا الأمر :
pip3 list
وبس.
كيف تزيد من حجم الرام RAM في السيرفرات عبر Swap باستخدام مساحة التخزين في Ubuntu 22.04
أولاً : يجب أن يكون لديك مساحة تخزين فارغة كبيرة
ثانياً : المساحة التي يتم اقتطاعها من وحدة التخزين لا تعمل بنفس سرعة الرام ، لكنها أفضل من خروج السيرفر عن الخدمة
ثالثاً : يتم استخدام هذه المساحة تلقائيا كـ RAM في حالة امتلاء الـ RAM الأساسي
1) الخطوة الأولى :
- نقوم باختيار اسم للمساحة وليكن swapextra
- نقوم باختيار حجم لهذه المساحة بالميغا بايت كالتالي :
1GB = 1024MB
- في حالتنا هذه أنا سأختار 32GB وهو ما يعادل 32768MB
- قبل التنفيذ اذهب وانظر إلى مساحة الـRAM بالأمر التالي وخذ لقطة شاشة لتلاحظ الفرق فيما بعد
- نفذ الأمر التالي مع تعديل اسم المساحة وحجمها
- تنفيذ الأمر يستغرق وقتا طويلا كلما حددت مساحة أكبر (السرعة تعتمد على السيرفر ومتوسط الأداء 30MB/s)
2) قم بتأمين المسار:
- دائمًا استبدل اسم المساحة الخاصة بك بـ "swapextra" او اتركها كما هي إن كنت اخترت الاسم swapextra
3) تهيئة المساحة:
4) تفعيل المساحة:
5) تأكد من أن المساحة تم تفعيلها بنجاح:
يجب أن ترى شيئًا مختلفا عن لقطة الشاشة السابقة
دمتم بخير.
إذا كنت من محبي أوامر CLI فـ فضلا اشترك بالقناة: يمن ديفز - YemenDevs
https://www.tgoop.com/yemendevs
أولاً : يجب أن يكون لديك مساحة تخزين فارغة كبيرة
ثانياً : المساحة التي يتم اقتطاعها من وحدة التخزين لا تعمل بنفس سرعة الرام ، لكنها أفضل من خروج السيرفر عن الخدمة
ثالثاً : يتم استخدام هذه المساحة تلقائيا كـ RAM في حالة امتلاء الـ RAM الأساسي
1) الخطوة الأولى :
- نقوم باختيار اسم للمساحة وليكن swapextra
- نقوم باختيار حجم لهذه المساحة بالميغا بايت كالتالي :
1GB = 1024MB
- في حالتنا هذه أنا سأختار 32GB وهو ما يعادل 32768MB
- قبل التنفيذ اذهب وانظر إلى مساحة الـRAM بالأمر التالي وخذ لقطة شاشة لتلاحظ الفرق فيما بعد
free -h
- نفذ الأمر التالي مع تعديل اسم المساحة وحجمها
sudo dd if=/dev/zero of=/swapextra bs=1M count=32768
- تنفيذ الأمر يستغرق وقتا طويلا كلما حددت مساحة أكبر (السرعة تعتمد على السيرفر ومتوسط الأداء 30MB/s)
2) قم بتأمين المسار:
sudo chmod 600 /swapextra
- دائمًا استبدل اسم المساحة الخاصة بك بـ "swapextra" او اتركها كما هي إن كنت اخترت الاسم swapextra
3) تهيئة المساحة:
sudo mkswap /swapextra
4) تفعيل المساحة:
sudo swapon /swapextra
echo '/swapextra none swap defaults 0 0' | sudo tee -a /etc/fstab
5) تأكد من أن المساحة تم تفعيلها بنجاح:
free -h
يجب أن ترى شيئًا مختلفا عن لقطة الشاشة السابقة
دمتم بخير.
إذا كنت من محبي أوامر CLI فـ فضلا اشترك بالقناة: يمن ديفز - YemenDevs
https://www.tgoop.com/yemendevs
#-------السنيور--------#
يهنئ جميع المسلمين بمناسبة حلول شهر رمضان المبارك ، وكل عام وأنتم بخير ❤️
Sr / Ajmal Alkhaledi
يهنئ جميع المسلمين بمناسبة حلول شهر رمضان المبارك ، وكل عام وأنتم بخير ❤️
Sr / Ajmal Alkhaledi