عالم برمجةوتقنية الحاسوب C. P. W
771 subscribers
489 photos
53 videos
260 files
473 links
عالم الحاسوب برمجه وتقنيه وتطوير شرح كل ما يتطلب في مجال علوم الحاسوب والبرمجة
https://t.me/programming_C_w
قنات الجرافيكس @l_d_gh
#Digitalmarketing
#programming
#AI #CPA
#learn
التواصل معي @Eng_sharaf1
Download Telegram
🚀 **Welcome to Galaxy of Devs!**  

🌌 Your cosmic hub for: 
Ready-to-use **code snippets** 
Quick **dev tips** that save hours 
**Tech news** in bite-sized posts 

💡 **Try this Python one-liner today:** 

```python
# Generate QR code in one line!
import pyqrcode; pyqrcode.create("Hello Galaxy!").png("qr.png", scale=8)`


Install:
pip install pyqrcode
🚀 كود سحري بسيط سيذهلك!

import this

💡 جرب هذا الكود الآن في بايثون وشاهد المفاجأة!
OOP ( Object-Oriented Programming ):
أحد أهم المفاهيم التي يجب على المبرمجين فهمها وتطبيقها بشكل جيد.
يتميز بتنظيم البرامج والربط بين الأشياء الحقيقية أو الكائنات الافتراضية (objects).

بالنسبة للغة الجافا، فإن OOP يعتمد على ثلاثة مبادئ أساسية وهي:

1. التوريث (Inheritance): يسمح لنا بإنشاء كائن جديد يستند إلى كائن موجود من مجموعة أو نوع معين. بمعنى آخر، يمكنك تعريف كائن جديد يحصل على كل الميزات والخواص من الكائن الأصلي.

2. التجريد (Abstraction): هذا المفهوم يهدف إلى إخفاء الجزئيات المعقدة المرتبطة بالكائن عن المستخدم النهائي، بحيث يمكن استخدام الكائن بسهولة دون الحاجة لفهم كل التفاصيل الدقيقة.

3. التعددية (Polymorphism): هو المفهوم الذي يسمح للمستخدم باستخدام كائن واحد في عدة سياقات، أو باستخدام مجموعة من الكائنات بنفس الوقت، وكل كائن يقوم بعملية مختلفة نوعًا ما حسب السياق الذي يتم استخدامه.

باستخدام هذه المفاهيم وغيرها من المفاهيم المرتبطة بال OOP، نستطيع القيام بعملية برمجة مرنة وفعالة للغاية والتي تساعد على تسريع وتسهيل عملية كتابة البرامج في الجافا.
يتحرك المغضوب عليهم مؤخرًا باتجاه جديد ملحوظ: زيادة الارتباط بأباطرة المال والتكنولوجيا حول العالم - وأبرزهم الشركات التقنية - كنوعٍ من زيادة المدد وتعزيز قوتهم وثقلهم، والاستفادة من أموال الضرائب والإيداعات والاستثمارات التي تأتيهم.

هذا جلي بعد أن اشترت جوجل شركة Wiz الصهيونية مقابل 32 مليار دولار رغم أن جميع المحللين متفقون على أنها لا تساوي نصف هذه القيمة. منها نحو 4 مليارات دولار ستذهب للمغضوب عليهم كضرائب، كما أنهم يأملون أن تحرّك هذه الأموال قطاع العقارات عندهم لأن المستثمرين في تلك الشركة وأصحابها مهتمون بذلك القطاع:

https://www.calcalistech.com/ctechnews/article/h1d7iir2kl

عندما تشتري الشركات التقنية الكبرى شركاتٍ إسرائيلية فإن العاملين في هذه الشركات يصبحون عاملين في الشركات الكبرى ويمتلكون الوصول والنفوذ على خدماتها، وهو بالطبع ما يعني زيادة قوتهم. ألا ترى كيف أن وجود العديد من الصهاينة في شركة ميتا مثلًا هو المسؤول الأول عن قمع المحتوى الفلسطيني في فيسبوك وانستغرام بل وتتبع الناشطين على واتساب؟ وكذلك لينكدإن:

https://x.com/paulbiggar/status/1902329587050148068

وهو جليّ بعد أن ترى كيف أن شركة نيفيديا تزيد من استثمارها في إسرائيل وتطوّر عدة تقنيات منبعها هناك هي الأخرى:

https://www.calcalistech.com/ctechnews/article/q6xp0usy6

وهو جليّ عندما تعلم أن شركة Comcast وهي من أكبر شركات الاتصال في أمريكا ستتعاقد مع شركة إسرائيلية لتقديم خدمات شبكية لها وبنية تحتية، مما يمكنها من الوصول إلى بيانات جميع الأمريكيين الذين يستعملونها:

https://www.calcalistech.com/ctechnews/article/bkg5g0rnje

وهو جليّ عندما تعلم أن الكثير من المشتغلين في شركة OpenAI وغيرها من شركات الذكاء الاصطناعي هم إمّا صهاينة قلبًا وقالبًا من خريجي الوحدة 8200 من الجيش الإسرائيلي، أو داعمون لهم على الأقل.

كل هذه المعلومات تخبرنا بأن إسرائيل تتبع استراتيجية جديدة لزيادة تشبّث العالم الغربي بها وزيادة تدفق الأموال والمصانع والاستثمارات، ولزيادة وصولها وتحكمها بمختلف الشركات التقنية الكبرى حول العالم، ولجعل تكلفة الاستغناء عنها كبيرة على العالم الغربي حتى يظل يمدها بالمال والعدة في حروبها.

وتستحق هذه الأخبار والمواضيع أهم تغطية إخبارية يمكن أن تعملها المواقع التقنية العربية، وليس أخبار الجالكسي وإشاعات الآيفون وأخبار أسهم آبل كما يفعل أغلبهم للأسف.

يجب على المحللين والمهتمين بالشأن العام العربي والإسلامي أن يصلتوا الضوء على هذه التحرّكات، وأن يحاول الناشطون عرقلتها بحملات المقاطعة والمقالات الصحفية، لا أن يمر الموضوع مرور الكرام.

اللهم هل بلغت؟ اللهم فاشهد.
السلام عليكم ورحمة الله وبركاته

بعد الانقطاع طوال الفترة السابقة لانشغالي بامور اخرى سنفهم اليوم ماهي معمارية البرمجيات ، موضوع لطالما كان محبوكاً ولا يمكن فهمه ببساطة ليس لصعوبته فهو امر بسيط وستعرف ذلك في الاسطر التالية من هذا المنشور .

معمارية البرمجيات ، هي قرارات التصميم المتعلقة بهيكل النظام .

ماذا يعني ذلك ، كل مافي الامر ان معمارية البرمجيات تشير الى كيفية تنظيم الأشياء اثنا بناء النظام . وهي مجرد قرارات لكنها حاسمة لانتاج المشروع .
عندما تحدد كيف سيتم تنظيم ملفات الفئات class في مشروعك فانت تحدد الان نوع من انواع معمارية البرمجيات واهم الاشياء التي نحدد معماريتها هي :
- تفاصيل التنفيذ : اي الملفات البرمجية كما ذكرنا الفئات مثلاً وتنظيم الصور والخطوط وغيرها .
- قرارات تصميم التنفيذ : في هذا الجزء نحدد هل سنجعل النظام يعمل في جانب العميل ام في جانب الخادم ، ونعني بالعميل اي هل سيكون النظام على جهاز المستخدم مثل برنامج Word او على الخادم ونوصل اليه عبر الانترنت مثل Wikipedia . وهناك نوع افضل وهو نوع (الخادم و العميل) تكون فيه نسخة الواجهة في جهاز المستخدم و المنطق في الخادم مثل Telegram .
ايضاً نحدد ما نوع قاعدة البيانات التي سنستعملها هل علائقية ام غير علائقية .
- التقنيات المختارة : نحدد ما اللغة او اطار العمل الذي سنستعمله ، ما نوع قاعدة البيانات Mysql ام Oracle .
- قرارات تصميم النظام : هنا نحدد كيف سنبني النظام هل سنبنيه مرة واحدة ككتله واحدة monolith ام سنقسمه الى خدمات اصغر microservices ونبني كل جزء بشكل منفصل .
قرارات البنية التحتية : هنا نحدد اين سيعمل النظام ، او اين سيتم استضافته هل محلياً ام في خدمة سحابية .

الكثير والكثير من الاهمية لمعمارية البرمجيات ، وهي امر حاسم ويجب دراسة وفهم النظام الذي نريد ان نبنيه بشكل جيد لكي نستطيع اتخاذ القرار المناسب ، فالمعمارية تعتبر اصعب الامور القابلة للتغير فهي غير قابلة للتغير وقد يودي تغييرها الى اعادة بناء النظام من الصفر .
لك ان تتخيل انك شارفت على الانتها من بناء نظام بسيط بلغة Java استغرق منك اسبوعين ثم اكتشفت ان Java ليست الحل الامثل ويجب عليك ان تستخدم لغة Python ، قد يسعفك Chat GPT في هذه الحالة لكن عندما يكون لديك مشروع او نظام كبير فسيرفض مساعدتك .

تعرف على المزيد في هذا المقال .
بسم الله الرحمن الرحيم ، والصلاة والسلام على اشرف المرسلين .

لو سألتك ماذا تعرف عن انواع البيانات في لغة Java ؟
هل ستجيبني بان انواع البيانات في هذه اللغة هي انواع شديدة الصرامة وترمي الاستثناءات عند محاولة اسناد قيمة الى متغير من نوع بيانات مختلف .

بالتاكيد ، حيث تكمن قوة لغة Java بقوة قواعدها فلا يمكنك ارتكاب الاخطاء بسهولة من دون ان تنتبه ، فلغة Java تتحمل المسؤولية كثيراً .
اعتقد ان مطوري لغة جافا شعرو بالغيرة من اللغات الاخرى مثل Python و php و JavaScript حيث ان انواع البيانات فيها لا يتم احترامها ، فكما نعرف اننا نستطيع اسناد اي قيمة كالتالي
<?php

$x = "Asem";
$x = 100;

وكذا في Pyhton
x = "Asem"
x = 100

الامر افضل هكذا فلا حاجة لتحديد نوع البيانات في كل مرة انشئ بها متغيراً جديداً .
لكن دعنا نحكم بالمشاعر ، ما موقفك لو كنت انت المتغير x ؟ لا احد يحترمك !!

نحن نحب Java لانها تحترم انواع المتغيرات ولكن هناك متغيرات ليست محترمة لنفسها ، لذا ظهرت في الاصدار العاشر من لغة Java الكلمة المفتاحية var ويمكن استعمالها كالاتي
public class AsemNajeeVarKeyWord {
public static void main(String[] args) {
var x = "Asem";
var y = 100;
}
}

لاحظ ان النوع var يقبل اي نوع من البيانات ، هل تعتبر قفزة نوعية ؟
لا تفرح كثيرا فاذا حاولت تغيير قيمة المتغير x في Java من "Asem" الى 100 فسيظهر لك خطا . السبب ان اللغة تحدد نوع البيانات على حسب نوع اول قيمة يتم اسنادها الى المتغير . لذا فنوع المتغير x هو String ونوع المتغير y هو int .

الفائدة من var لا تقتصر على العبث بنوع البيانات فقط ، انظر المثال التالي الذي يشرح كيف يتم التعامل مع Anonymous class
public class AsemNajeeVarKeyWord {
public static void main(String[] args) {
CanDo cd = new CanDo(){
public void doIt(){
System.out.println("I will do it .");
}
public void doItLocaly(){
System.out.println("I will do it localy .");
}
};
cd.doIt();
}
}
interface CanDo{
public void doIt();
}

انظر المثال جيداً هللا تحاول استدعاء الدالة doItLocaly() !!
لن تستطيع ولكي تستطيع ان تستدعيها فقط حول نوع الكائن cd من CanDo الى var

في النهاية ، مهما حاولت لغة Java ان تقلد بقية اللغات وتتهرب من مسؤوليتها فلن تستطيع .
عالم برمجةوتقنية الحاسوب C. P. W
السلام عليكم ورحمة الله وبركاته بعد الانقطاع طوال الفترة السابقة لانشغالي بامور اخرى سنفهم اليوم ماهي معمارية البرمجيات ، موضوع لطالما كان محبوكاً ولا يمكن فهمه ببساطة ليس لصعوبته فهو امر بسيط وستعرف ذلك في الاسطر التالية من هذا المنشور . معمارية البرمجيات…
بسم الله الرحمن الرحيم ، والصلاة والسلام على اشرف المرسلين .

ذكرنا في منشور سابق لمحة عن معمارية البرمجيات ، وذكرنا ان تنظيم الملفات يعتبر تحديد المعمارية الخاصة بتفاصيل التنفيذ ، اليوم سنتعرف على امثلة لاشهر انماط المعماريات وهو نمط معمارية MVC (Model , View , Controller) .

في معمارية MVC نقوم بتقسيم المشروع الى ثلاث وحدات ، لكن لماذا ؟

لنعد قليلاً ولا نستخدم MVC ، اذا اخبرتك ان تبني نظاماً بسيطاً لادارة الكتب ، دعنا نبسط الامور ونجعله يحتوي على كيان واحد فقط وهو الكتاب وفيه (اسم ، اسم المؤلف ، تاريخ الاضافة الى النظام ، عدد الصفحات) .
استطيع ان اتنبأ بما ستفعله ، ستقوم بعمل فئة Book فيه بضع وظائف (functions) وهي كالاتي :
addBook(name, auther,...)
getBook(id)
getBooks()
updateBook(id, name,...)
deleteBook(id)
ستكتب في addBook شروط تحقق من المدخلات و استعلام يُدخل البيانات الى قاعدة البيانات ، وفي updateBook كذلك . اما DeleteBook فسيكون لديك استعلام حذف كتاب من قاعدة البيانات . والدالتين getBook و getBooks فيهما استعلامان لجلب بيانات الكتب .
ملاحظة : مجموعة الدوال السابقة تسمى CRUD اختصاراً ل Create Read Update Delete . وذلك لانها تقوم باضافة وجلب وتعديل وحذف البيانات من قاعدة البيانات .
سيكون لديك ايضاً واجهة تظهر للمستخدم كي يدخل بيانات الكتاب .
ستكون معمارية مشروعك كالتالي :
📁 Project
     📄 Book.php
     📄 Index.php
  
حسنا لا يوجد ابسط من ذلك . ولن اذكر لك سيناريوهات اخرى ، لكن تستطيع ان تتخيل ان يكون لديك اكثر من كيان ولنقل 20 كيان بدون مبالغة باعتبار المشاريع الحقيقية .
ان كنت قد جربت ذلك فانت لا شك انك قد غصت في وحل لا مخرج منه ، فكتابة الاستعلامات في الشفرة يصعب عملية التعديل كثيراً . وهذا لا يختص بالاستعلامات فقط وانما كتابة اكثر من لغة في مكان واحد يعتبر تطبيقاً سيئاً لخبرتك .

دعني اجعل لك الامور ابسط بقليل .
اذا استخدمنا معمارية MVC وهي تقسيم المشروع الى ثلاث طبقات وهن كالاتي:
Model : طبقة او فئة بشكل ادق نكتب فيها الاستعلامات الخاصة بقاعدة البيانات .
View : هذه الطبقة نكتب فيها اكواد الواجهة الامامية .
Controller : هنا نكتب منطق التطبيق .

اسمعك تقول "ماذا!! ، لم افهم شيئاً " .
دعني اوضح لك قليلاً ، ما رأيك الان ان نبني نفس المشروع بالطريقة الجديدة انشئ ملف باسم Controllers/BookController .
قم بانشاء ملف آخر باسم Model/Book
في النهاية ستكون معمارية مشروعك :
📁 Project
     📁 Controllers
          📄 BookController.php
     📁 Models
          📄 Book.php
📁 Views
📄 Index.php

ملف index سيكون لعرض البيانات ، لن نتطرق لبقية الصفحات مثل تعديل او اضافة كتاب .

الان في Model/Book قم بعمل دوال CRUD التي تعلمناها لكن هذه المرة ستكتب فقط الاستعلامات فمثلا في دالة addBook اجعلها تستقبل بيانات الكتاب و تخزنها مباشرة بدون اي تحقق . وكذا دالة updateBook ، deleteBook .
وفي Controllers/BookController اضف دوال CRUD زفيها اكتب اكواد التحقق من صحة البيانات فمثلاً addBook تتحقق هل اسم الكتاب اكبر من 3 احرف ، وهل عدد صفحاته اكبر من 0 ثم تقوم باستدعا الدالة التي في Model/Book لتقوم بتخزين البيانات .
ماذا ان اكنت تريد تعديل شكل الصفحة التي تعرض الكتاب ، ستذهب الى Views/ وهكذا ... .

الامر غاية التنظيم ، صحيح لكن لماذا نكثر من الفئات هكذا ، هل هذا يعتبر ذكاءً ؟ ام انها مجرد فوضى .

دعني اكمل واحكم بما شئت ، اذا اردت ان تمنع ادخال تاريخ اضافة الكتاب الى النظام من قبل المستخدم لانه بطبيعة الحال سيكون تلقائيا . ماذا ستفعل ؟
نعم بالضبط ، ستذهب الى ملف Model/Book لكي تعدل عليه لانه هو من يتعامل مع قواعد البيانات .
ماذا ان اردت ان يتم جلب كل بيانات الكتاب ماعدا عدد الصفحات ؟ سيكون من ملف ال Model/Book ايضاً .
ماذا ان اردت ان تقيد اسم الكتاب فلا يقل عن 4 احرف ، فالحل هو من Controllers/BookController  .

هل هذا كل ما في الامر؟ في الانظمة الحقيقية يوجد الكثير من السيناريوهات . يمكنك حماية كلمات المرور وتشفيرها قبل ان تخزنها و يمكنك قفل التعديل على بعض الحقول مثل حقل ال ID ، والمزيد ... ، كما ان استعمال هذه المعمارية يجعل الكود سهل الصيانة ، قابل لاعادة الاستخدام ، قابل للقراءة ، والافضل من كل هذا انه يمكن تقسيم العمل على اعضاء الفريق بسهولة .

هذه التقنية ليست مرمية على الرف بل تستعملها افضل اطر العمل منها Laravel, Express, Spring MVC .
بسم الله الرحمن الرحيم ، والصلاة والسلام على اشرف المرسلين .

الاسطورة تقول ان اصعب ثلاثة اشياء في الحياة هي انك تتخذ قرار مصيري و تصبر على البلاء والاصعب انك تسمي المتغير باسم معبر .
دعونا من الاساطير حالياً ، نريد ان نعود للواقع .
اطرح على نفسك سؤالاً قبل ان تكمل القراءة ، هل تسمي المتغيرات والوظائف باسماء معبرة ؟؟

دعنا نذكر عيوب عدم تسمية المتغيرات باسماء معبرة ولنعتمد على ChatGPT لكي يسرد لنا هذه العيوب :
- صعوبة فهم الكود
- تقليل قابلية الصيانة
- زيادة احتمالية الأخطاء
- تعقيد عملية التتبع والتنقيح
- عدم وضوح وظيفة المتغير
- صعوبة التعاون داخل الفريق
- تقليل وضوح المنطق البرمجي
- تأثير سلبي على جودة التوثيق
- ضعف إمكانية إعادة استخدام الكود
- إعاقة التعلم للمبرمجين الجدد


من ميزات تسمية المتغيرات ان برنامج يصبح اكثر قابلية للقراءة وهذا يجعله اسهل اثناء الصيانة ، لكن كيف يتم التعبير عن اسماء المتغيرات ؟؟
قبل ان نذكر اسماء المتغيرات يجب ان ننوه الى قواعد التسمية حيث يوجد عدة قواعد اهمها
اولاً camelCase (الجمل) : حيث في هذه القاعدة نكتب اول كلمة بحروف صغيرة ثم نكتب اول حرف من كل كلمة بحالة كبيرة ، وهذه القاعدة مشهورة في تسمية الدوال في لغة جافا . كمثال thisExampleOfVariableName
ثانياً snace_case (الافعى) وفي هذه القاعدة نكتب كل الكلمات بحروف صغيرة ولا يسمح باستخدام حروف كبيرة ونفصل بين كل كلمة وكلمة بشرطة سفلية . مثال this_example_of_variable_name
ثالثاً PascalCase في هذه القاعدة نقوم بكتابة اول حرف من كل كلمة بحالة كبيرة . مثال ThisExampleOfVariableName ، هل يمكنك ان تفرق بينه وبين camelCase ؟
رابعاً UPPER_SNAKE_CASE (الافعى الكبيرة) : في هذه الحالة يتم الكتابة بالاحرف الكبيرة ويمنع استخدام الاحرف الصغيرة ويتم فصل الكلمات بشرطة سفلية .

هل عجبت من اسماء قواعد التسمية ، هذا غريب كانهم لم يجدو اسماء معبرة لقواعدهم !!
ملاحظة : يوجد قاعدة اسمها قاعدة الكباب ويتم فصل الكلمات بشرطة وتستخدم في html .

دعونا من الاسماء الغريبة فقد شعرت بالجوع بعد اسم القاعدة الاخيرة ، ولنعد الى سؤالنا وهو كيف نسمي المتغيرات والوظائف ؟
بكل بساطة الاجابة هي ان تسمي المتغير بما يدل عليه ، مثلاً متغير يخزن قيمة درجة الطالب الاول على مستوى جامعة تعز ، كيف ستسميه هل ستسميه x ؟!!
التسمية الصحيحة هي كالاتي ، المتغير يجب ان يدل على اسم لانه ليس فعل :( .
int degreeOfBestStudentInTaizUniversity;

هل هذا صعب؟ لا تختصر اسماء المتغيرات والدوال بل اجعلها تشرح نفسها بدلاً من كتابة تعليق بجانب اسم المتغير ، الكود التالي قد يسبب فصلك من العمل ...
// degree Of Best Student In Taiz University
int x;


هذا يسمى الكود النظيف ، اما الوظائف فاجعلها تدل على فعل كالاتي
int getDegreeOfBestStudentInTaizUniversity(){
return this.degreeOfBestStudentInTaizUniversity;
}

شرح بسيط عن قواعد التسمية ، ليس كافياً ليشمل كل شيء لكن القاعدة الذهبية هي ان لا تتحايل على نفسك وتسمي المتغيرات باسماء مختصرة او لا تدل على معناها .
ملاحظة : لا تستخدم الاسماء العامة مثل data , list , ... .

سؤال جانبي : ماذا تكتب في رسائل commit عند حفظ مشروعك في نظام التحكم بالاصدارات Git ؟ هل تكتب "final project" و "final project final" ؟؟!!
git commit -m "final project plz work"
git commit -m "final project works, dont touch"
الذي بي غادرو من القناة ماله علم ايش معنى ( int) عاد لما يعرف ايش المعلومات ما يغادرو الا الاغبياء🤫
😁1
كيف تحمي نفسك؟ 🔐
لا تضغط على روابط مشبوهة، حتى لو جاتك من صديق!
استخدم المصادقة الثنائية (2FA) لكل حساباتك المهمة.
لا تعطي بياناتك لأي شخص يتصل بك، حتى لو قال لك إنه من البنك!
حدّث برامجك باستمرار، لأن الثغرات الأمنية تتصلح في التحديثات.
استخدم VPN موثوق عند الاتصال بشبكات Wi-Fi عامة
🤖 7 كتب خطيرة عن الذكاء الاصطناعي :
📚 كتب تكشف الجانب المظلم للذكاء الاصطناعي

1️⃣ـ Superintelligence
هل يتجاوز الذكاء الاصطناعي البشر ويسيطر علينا؟

2️⃣ـ Life 3.0 – ماكس تيغمارك
مستقبل البشرية في عصر الذكاء الفائق.

3️⃣ـ The Alignment Problem
كيف نجعل الذكاء الاصطناعي يتوافق مع القيم البشرية؟

4️⃣ـ AI Superpowers
حرب الهيمنة بين الصين وأمريكا في الذكاء الاصطناعي.

5️⃣ـ The Big Nine
هل تتحكم عمالقة التكنولوجيا بمستقبلنا؟

6️⃣ـ Our Final Invention
هل يكون الذكاء الاصطناعي نهاية البشرية؟

7️⃣ـ Human Compatible
كيف نضمن بقاء الذكاء الاصطناعي تحت سيطرتنا؟
This media is not supported in your browser
VIEW IN TELEGRAM
🤯 ثورة في عالم البرمجة بالذكاء الاصطناعي

😱 تخيل ما عندك خبرة بالبرمجة وتقدر تعمل أي موقع أو تطبيق تريده !! مجانااااااااا

☑️ مع هذا الموقع : Bolt.new/?rid=vy5x1p

أكتب فكرتك وانتظر النتيجة .. مثل ChatGPT ولكن بالبرمجة
اليوم مع هذه الـ 5 أدوات ما في أي عذر إنك ما تبدأ في صناعة المحتوى :

http://hailuoai.video → متميز في المشاهد السريعة.

http://vidu.com → يحول عدة صور لفيديو.

http://pika.art → محترف في التعديل على الفيديوهات

http://klingai.com → أعلى دقة في الموجودين.

http://runwayml.com → تصميم فيديوهات إحترافية
ما هو SQL
هي اختصار لجملة
Structure Query Language
و هي عبارة عن مجموعة أوامر يمكنك من خلالها التعامل مع قواعد البيانات.
أوامر SQL يمكن تقسيمها لخمس فئات رئيسية على حسب وظائفها كما يلي.
DDL – إختصار لجملة Data Definition Language و هي الأوامر التي تستخدم في تصميم و تعديل قواعد البيانات.
DQL – إختصار لجملة Data Query Language و هي الأوامر التي تستخدم لاسترجاع البيانات.
DML – إختصار لجملة Data Manipulation Language و هي الأوامر التي تستخدم لمعالجة البيانات الموجودة في قاعدة البيانات.
DCL – إختصار لجملة Data Control Language و هي الأوامر التي تستخدم لإدارة صلاحيات المستخدمين لقواعد البيانات.
TCL – إختصار لجملة Transaction Control Language و هي الأوامر التي تستخدم للتحكم في سير تنفيذ الإستعلامات، إضافة شروط، استرجاع النسخ الإحتياطية و غيرها.
بشكل عام، قاعدة البيانات تتيح لك:

ترتيب بيانات المستخدمين بشكل يسهل الوصول إليها و التعامل معها لاحقاً.
تحديد أنواع البيانات التي يتم تخزينها بدقة مثل نصوص، أرقام، تواريخ، عملات إلخ..
وضع شروط على البيانات التي سيتم تخزينها بالإضافة إلى إمكانية وضع قيم إفتراضية.
الوصول إلى المعلومات بشكل سريع جداً في حال تم إستخدام الفهارس ( Indexes ).
منع تخزين المعلومات بشكل مكرر و هذه إحدى أهم الميزات.
إنشاء نسخ إحتياطية ( Backups ) من قاعدة البيانات لاستعادتها في حال وقع أي خطأ أو اختراق.
.
Template Strings : t"..."

📰جديد في Python 3.14 سلاسل t هي سلاسل f ولكنها آمنة للنوع🔒

🐍 يقدم Python 3.14 صيغة نحوية جديدة للسلاسل تركز على سلامة النوع والتكامل مع أنظمة القوالب، وSQL، وHTML، والمزيد🔥.

ما هو "...."t ؟
هو template string — أي سلسلة نصية تحتوي على متغيرات قابلة للتبديل لاحقًا.
👍 ال "..."t هي مثل "..."f ولكنها تمتاز ب :
- الاستيفاء محدود ومسيطر عليه.
- يتم الحفاظ على الامتثال الصارم للقالب.
- يمكنك تمرير المتغيرات بشكل صريح، مما يمنع SQL Injection وXSS.

🔐 لماذا هذا ضروري؟
الأمان عند إنشاء SQL وHTML وJSON🛡.

تحسين الأدوات والتحقق من النوع (عبر التحليل الثابت)💬.

التحكم في سياق التنفيذ (لم يعد بإمكانك إدراج متغير كما هو - بل تحتاج إلى تمريره صراحةً)🎛.

👩‍💻 الاستخدام:
تعتبر سلاسل النصوص t هي الخطوة الأولى نحو "السلاسل النصية القالبية" كما هو الحال في TypeScript🖥.
تكامل "..."t مع SQL🖥
بدلًا من بناء استعلامات SQL بطريقة بدائية (التي قد تسبب ثغرات مثل SQL Injection)، تستخدم القوالب💻.
query = t"SELECT * FROM users WHERE username = {username} AND age > {age}"
print(query.format(username="Oday", age=20))

⚪️الناتج :
SELECT * FROM users WHERE username = Oday AND age > 20


تكامل "..."t مع HTML🖥
تستطيع بناء صفحات أو أجزاء HTML بسهولة، ويمكن استخدامها كذلك مع Django و Flask🖥.
name = "Oday"
template = t"<h1>Welcome, {name}!</h1>"
print(template.format(name=name))

⚪️الناتج:
<h1>Welcome, Oday!</h1>

.
خطوة بسيطة مثل "..."t أضافت بُعدًا جديدًا وفتحت آفاقًا واسعة لتجمع بين البساطة والقوة في كل سطر نقوم بكتابته🤝.
#python
👍21