اذهب إلى المحتوى

لوحة المتصدرين

  1. علي عبد محسن

    علي عبد محسن

    الأعضاء


    • نقاط

      7

    • المساهمات

      651


  2. سامح أشرف

    سامح أشرف

    الأعضاء


    • نقاط

      5

    • المساهمات

      2934


  3. Ahmed Sadek Elamine Touahria

    • نقاط

      5

    • المساهمات

      510


  4. Mohamed Sherif14

    Mohamed Sherif14

    الأعضاء


    • نقاط

      2

    • المساهمات

      5


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 10/05/22 في كل الموقع

  1. هذا هو جوهر استعمال state management وأنصحك باستعمال getX تمكنك من : > إدارة المسار: لإنشاء أدوات مثل Snackbar و Bottomsheets ومربعات الحوار وما إلى ذلك. بعد ذلك ، في هذه المرحلة ، يمكننا إشراك GetX فيه لأن GetX يمكنه تجميع هذه الأدوات دون استخدام السياق. > أداء عالٍ: تستخدم GetX أصولًا أقل كما هو متوقع. لا تعتمد على Streams أو ChangeNotifier. عند تساوي كل الأشياء ، فإنه يستخدم GetValue و GetStream المنخفضان للخمول لزيادة تطوير التنفيذ. > كود أقل: قد تكون سئمت من تنفيذ نموذج الكتلة في نمط الكتلة وإهدار طاقة التطوير على أكواد غير ضرورية. الوقت هو المال ، أليس كذلك؟ في GetX ، لن تؤلف أي نموذج معياري. يمكنك إنجاز نفس الشيء بشكل أسرع بكثير ، باستخدام كود أقل في GetX. لا تكلف نفسك عناء إنشاء فصول للولاية والحدث ، لأن هذه النماذج المعيارية غير موجودة في GetX. > لا يوجد توليد للكود: هناك سبب مقنع للحاجة إلى استخدام مولدات الكود بأي وسيلة. لذلك لن يضيع وقتك المهم في التطوير أكثر على تشغيل مولدات الأكواد (build_runner) كلما قمت بتغيير شفرتك. > لا توجد عمليات إعادة بناء غير ضرورية: التعديلات غير المرغوب فيها هي مشكلة تخص مديري الدولة استنادًا إلى ChangeNotifier. عندما تقوم بإدخال تحسين في فئة ChangeNotifier الخاصة بك ، يتم إعادة بناء جميع عناصر واجهة المستخدم التي تعتمد على فئة ChangeNotifier هذه. قد تكون بعض عمليات إعادة البناء غير ضرورية ومكلفة. قد يقلل من أداء التطبيق أيضًا. لا تحتاج إلى التأكيد على هذا في GetX لأنه لا يستخدم ChangeNotifier بأي وسيلة. للمزيد تفحص هذا الرابط الرسمي https://pub.dev/packages/get
    2 نقاط
  2. ماهو الفرق بين الراوتز والهب والايسوتش والريبيتر وانواع كل منهم ؟
    2 نقاط
  3. أولاً لا تحكم قبل أن تجرب. الشيء الثاني DB Browser for SQLite (DB4S) تأكد من أنك تستعمل إصداراً حديثاً أحدث من 3.6 وأن خيار disable regular expression extension ليس مفعلاً.
    1 نقطة
  4. كنت انوي شراء كورس تطوير تطبيقات الويب باستخدام لغة PHP لكن قرأت ان الكورسات لم تتحدث من وقت اطلاقها 2016 ونحن الان سنه 2022 ومعظم اللغات تم تحديثها وانا الان متردد بخصوص شراء الدورة ارجو الافادة ولكم الشكر
    1 نقطة
  5. اريد برنامج يقوم بتشغيل الجهاز مثلا الساعه 8 ص و يقوم بفتح ال بوربوينت و من ثم قفله مثلا الساعه 9 م
    1 نقطة
  6. تحيه طيبه للجميع قمت بعمل تطبيق يحتوي على صفحتين وكل صفحة لديها function بإضافة بيانات في قاعدة البيانات الان مشكلتي انني ارغب بتحكم ب function في الصفحة الثانية من الصفحة الأولى بحيث أقوم بالاتصال بها وجعلها تعمل كيف يمكن فعل ذلك ؟ كود مثال على ذلك: هذا الصفحة الاولى والتي ارغب ممن خلالها ان اتصل مع function في الصفحة الثانية void main() { runApp(MainPage()); } class MainPage extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<MainPage> { TextEditingController NameController = TextEditingController(); Future AddNewData() async { final response = await http.post(Uri.parse("**********", ), body: { "Name": NameController.text, } ); if (response.statusCode == 200) { } else { throw Exception('Send Failed'); } } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Column(children: [ TextFormField( controller: NameController, decoration: InputDecoration( border: OutlineInputBorder(), ), ), ElevatedButton( child: Text('add new data'), onPressed: () { AddNewData(); }, ), ],) ), ); } } الصفحة الثانية الصفحة المستهدفة: class secondpage extends StatefulWidget { @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State<secondpage> { TextEditingController ColorController = TextEditingController(); Future AddNewColor() async { final response = await http.post(Uri.parse("**********", ), body: { "Color": ColorController.text, } ); if (response.statusCode == 200) { } else { throw Exception('Send Failed'); } } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( body: Column(children: [ TextFormField( controller: ColorController, decoration: InputDecoration( border: OutlineInputBorder(), ), ), ElevatedButton( child: Text('add new color'), onPressed: () { AddNewColor(); }, ), ],) ), ); } } الان لتوضيح الفكرة اكثر احتاج ان اتصل ب AddNewColor في الزر الموجود في صفحة main page او الصفحة الأولى مثل التالي: ElevatedButton( child: Text('add new data'), onPressed: () { AddNewData(); AddNewColor(); }, ), كيف يمكن فعل ذلك؟ احد عنده فكره؟
    1 نقطة
  7. هذا موضوع طويل أخي . من غير الممكن شرحه هنا حاول ان تبحث عن طريقة عملها وإن شاء الله رح تطور كثير ، لأنها أساس العمل في أي تطبيق
    1 نقطة
  8. لا أخي ، state management تستلزم التعامل مع احد الحزم مثل provider أو getX ....المعتمدة من قبل كبرى الشركات ، ومستحيل أن تجد مطور لايتعامل معها
    1 نقطة
  9. هل هناك أمكانيه أن بيانات الForeign Key تعرض بيانات صف اخر في جدول ال parent بدل بيانات صف الpraimary key نفسه؟؟ و شكرا .
    1 نقطة
  10. ماهو الجدول رقم 3 في الملف أعلاه؟ هل هو البيانات التي تريد عرضها للمستخدم بعد تنفيذ sql query وكنتيجة لها؟ إذا كان هذا هو المقصود ومشكلتك فقط في أسماء الحقول التي تريد تغييرها فيمكنك فعل ذلك كما تقدم في رد سابق وتستطيع إستعمال الخاصية as لتغيير أسماء الأعمدة وإظهارها بالإسم الجديد ولكن هذا كله يحصل وينتهي أثناء تشغيلك للكود وإخراج النتائج, أي أن أسماء الأعمدة في الجداول مرتبطة بالschema مسبقة التعريف.
    1 نقطة
  11. هذا يعني أنك تستعمل sqlite. هل يمكنك إدراج رسالة الخطأ لديك؟ أيضا يرجى إدراج إصدار DB4S الذي تستعمله.
    1 نقطة
  12. 1 نقطة
  13. الأفضل أن تضع الكود الذي تريد حل مشكلته وتوضح ماذا تريد أن تفعل حتى يتسنى لنا مساعدتك.
    1 نقطة
  14. أهلا بك محمد لا لن نقوم بتعيين primary key ثاني حيث لا يجوز أن يكون لكل جدول إلا primary key واحد فقط. لكنّنا إذا أردنا أن نعين foreign key لخاصة ما يجب أن تحقق هذه الخاصة شروط معينة. مثلا لدينا جدول ما وليكن table1 يحوي عدة صفات من بينها صفة phone وهي ليست primary key، لكنها فريدة unique ولا يمكن أن تكون خالية not null. في حال تحقق هذان الشرطان يمكننا القول عن هذه الصفة ضمن الجدول أنها super key، وبما أن هذا المفتاح الفائق super key مكون من أدنى حد ممكن من الصفات (من صفة واحدة هي phone) فيمكننا القول عنه أنه candidate key (مفتاح مرشح). ومنه هذا المفتاح المرشح من الجدول table1 والذي ليس primary key i مؤهل ليكون له مرجع في جدول آخر. أي يمكننا وضع صفة phoneRef ضمن جدول آخر وليكن table2 ليكون foreign key للصفة phone من الجدول table1. للتلخيص، يمكننا وضع مفتاح أجنبي في جدول ما فقط للصفات التي تحقق شرط ال candidate key في جدول آخر.
    1 نقطة
  15. لنفرض أن لديك ثلاثة جداول وهي كالتالي table1, table2, table3 ويحتويtable1 على foreign-key للجدول table2 وبهذه الحالة تستطيع الوصول الى معلومات سطر واحد أو أكثر في table2 طالما كان الforeign-key الموجود في بيانات table1 مرتبطاً ببيانات موجودة فعلاً في table2. وععمل ذلك يكون من خلال الأداة join في قاعدة البيانات (mysql) أو ما يقابلها في قاعدة البيانات المعنية. إذا أردنا الوصول الى بيانات في table3 من خلال البحث في table1 ولايوجد foreign-key للجدول table3 في table1, ولكن كان table3 يمتلك foreign-key في table2 فإنك بهذه الحالة تستطيع الوصول الى بيانات table3 في table1 عن طريق table2 لأن الأخير يعمل كسجر في هذه الحالة وتستطيع ذلك من خلال عمل أكثر من join واحدة لعمل الربط.
    1 نقطة
  16. ماهي الخطوات التي احتاجها لاضيف لاخذ البيانات من input وحفظها في ال mongodb بتالترتيب وباستخدام ال routing وشكرا
    1 نقطة
  17. هل يمكنك شرح الخطوات اكثر ولاكن من ناحية ال back end وشكراََ
    1 نقطة
  18. شكرا أ-معاذ أذا حسب كلام حضرتك ان يجب تعببن 2 primary key داخل ال parent هذه الحاله
    1 نقطة
  19. يتطلب هذا الأمر عملاً على كلا الواجهتين frontend و backend. على الواجهة الأمامية تنشئ نموذج form يحتوي على العنصر input من نوع text وكذلك زر الإرسال هو input من نوع submit. وتقوم ببرمجة النموذج للإرسال بطريقة post مثلاً الى الراوت المعني في backend من خلال كتابة عنوانه في الخاصية action. يمكنك الإطلاع أكثر HTML FORM في الواجهة الخلفية يمكنك إستعمال express كإطار عمل ليسهل عليك عمل الrouting وإستلام البيانات وخزنها في mongodb والتي ستستعمل mongoose من أجل التواصل معها من داخل الخادم server. للمزيد من التفاصيل express . أيضا للمزيد من المعلومات عن كيفية إنشاء المكونات في React
    1 نقطة
  20. إذا كنت تقصد الكتابة ضمن أكاديمية حسوب، يتم نشر المشاريع بشكل دوري على منصة مستقل لكتابة وترجمة مقالات لأكاديمية حسوب ويمكنك تقديم عروضك هناك وتصفح كافة المشاريع الأخرى الخاصة بالكتابة. يمكنك الاطلاع على المزيد من التفاصيل من خلال الرابط الموجود أسفل الصفحة اكتب معنا.
    1 نقطة
  21. Repeater - يعمل مكرر في الطبقة المادية. وتتمثل مهمتها في إعادة توليد الإشارة على نفس الشبكة قبل أن تصبح الإشارة ضعيفة للغاية أو تالفة وذلك لتمديد الطول الذي يمكن أن تنتقل إليه الإشارة عبر نفس الشبكة. من النقاط المهمة التي يجب ملاحظتها حول أجهزة إعادة الإرسال أنها لا تقوم بتضخيم الإشارة. عندما تصبح الإشارة ضعيفة ، يقومون بنسخ الإشارة شيئًا فشيئًا وإعادة توليدها بالقوة الأصلية. إنه جهاز ذو منفذين. Hub - هو في الأساس مكرر متعدد المنافذ. يربط المحور أسلاكًا متعددة قادمة من فروع مختلفة ، على سبيل المثال ، الموصل في الهيكل النجمي الذي يربط المحطات المختلفة. لا تستطيع الموزعات تصفية البيانات ، لذلك يتم إرسال حزم البيانات إلى جميع الأجهزة المتصلة. بمعنى آخر ، يظل مجال التصادم لجميع المضيفين المتصلين من خلال Hub واحدًا. أيضًا ، ليس لديهم الذكاء لمعرفة أفضل مسار لحزم البيانات مما يؤدي إلى عدم الكفاءة والهدر. ينقسم إلى 3 أنواع Active و Passive و Intelligent Bridge (الجسر) - يعمل في طبقة ارتباط البيانات. الجسر عبارة عن مكرر ، مع إضافة وظيفة تصفية المحتوى من خلال قراءة عناوين MAC الخاصة بالمصدر والوجهة. كما أنها تستخدم لربط شبكتين محليتين تعملان على نفس البروتوكول. يحتوي على مدخل واحد ومنفذ إخراج فردي ، مما يجعله جهاز ذو منفذين. ينقسم الى نوعين Transparent و Source Routing Bridges switch (المحول) - المحول عبارة عن جسر متعدد المنافذ مزود بمخزن مؤقت وتصميم يمكنه تعزيز كفاءته (عدد كبير من المنافذ يعني حركة مرور أقل) وأدائه. المفتاح هو جهاز طبقة ارتباط البيانات. يمكن للمحول إجراء فحص الأخطاء قبل إعادة توجيه البيانات ، مما يجعله فعالاً للغاية لأنه لا يقوم بإعادة توجيه الحزم التي تحتوي على أخطاء وإعادة توجيه الحزم الجيدة بشكل انتقائي إلى المنفذ الصحيح فقط. بمعنى آخر ، يقسم المحول مجال تصادم المضيفين ، لكن مجال البث يظل كما هو. router(الموجهات) - جهاز التوجيه هو جهاز مثل المحول الذي يوجه حزم البيانات بناءً على عناوين IP الخاصة بها. جهاز التوجيه هو جهاز طبقة الشبكة بشكل أساسي. عادةً ما تقوم أجهزة التوجيه بتوصيل شبكات LAN و WAN معًا ولديها جدول توجيه محدث ديناميكيًا بناءً على اتخاذ القرارات بشأن توجيه حزم البيانات. يقسم جهاز التوجيه مجالات البث للمضيفين المتصلين من خلاله. يمكنك تصفح المزيد حول الشبكات من خلال الرابط ادناه https://academy.hsoub.com/devops/networking/
    1 نقطة
  22. عند شراء دورة يتم فتح اول مسار من كل الدورات هل يجب دراسة كل دورة بالتريب وهل سيأتي منها في الاختبار الخاص بالشهادة
    1 نقطة
  23. هذه المسارات التي تفتح من كل دورة هي للاطلاع فقط، ولن يأتي منها أي سؤال في اختبار الشهادة. شروط التقدم للامتحان هي : إتمام أربعة مسارات تعليمية على الأقل، وتأتيك الأسئلة من هذه المسارات التي انهيتها. التطبيق العملي مع المدرب، والاحتفاظ بالمشاريع العملية الناتجة لإرسالها للمراجعة. رفع المشاريع على حسابك على GitHub أولًا بأول لمشاركتها معنا. اعرف اكثر عن امتحان حسوب
    1 نقطة
  24. بشكل عام الجواب لا. فال Foreign Key فقط يمكنه أن يكون مرجعاً لأعمدة فريدة من جدول آخر، أي أنّ ال Foreign key لا بدّ أن يكون مفتاحاً مرشّحاً في جدول آخر كما أنّ ال Primary key هو مفتاح مرشّح في الجدول. حيث المفتاح المرشح هو أقل المفاتيح الفائقة super key صفاتٍ -أي أقلها عدد أعمدة- (والمفتاح الفائق: هو صفة أو مجموعة صفات من الجدول تعطي تعريفاً فريداً لكل سطر). يمكنك الرجوع إلى موسوعة حسوب عبر الرابط التالي لتتعرف أكثر على استخدام المفتاح الأجنبي Foreign key موسوعة حسوب - مفاتيح الجداول
    1 نقطة
  25. بما أنك تريد إستهداف كلمات بعينها وليس جزء من نص يحتوي حروف تلك الكلمة, فالأفضل إستخدام الأداة regexp في جملة sql كما يلي SELECT col1 FROM tab1 WHERE col1 regexp '(^|[[:space:]])مجد([[:space:]]|$)'; -- تساوي الكلمة مجد col1ستعيد لك هذه الجملة جميع المدخلات التي تكون فيها قيمة يمكنك البحث عن معاني رموز النمط التعبيري المستخدم أعلاه لمزيد من الفهم. مثلاً ^ تعني بداية نص أو الchar الذي يسبقه و $ تعني نهايته و space تعني مسافة.
    1 نقطة
  26. يمكنك استخدام الـ regular expressions كالتالي : SELECT * FROM products WHERE product_name RLIKE "[[:<:]]foo[[:>:]]"; حيث ان [[:>:]] تشير إلى بداية الكلمة و [[:<:]] تشير إلى نهاية الكلمة. اعرف اكثر عن التعابير النمطية regular expressions : اطلع على التعابير النمطية في sql
    1 نقطة
  27. لا للأسف لا تحتوي دورة علوم الحاسوب على شرح (لغة الكوتلن) ولكن الهدف من دورة علوم الحاسوب هو أخد المعرفة العلمية وبناء المنطق الصحيح للتعامل مع أي لغة برمجة دورة علوم الحاسوب تتضمن شرح لغة (جافا سكريبت , بايثون , SQL وغيرها) ولكن قبل البدء بهذه اللغات على إختلاف المسميات ضمن دورة علوم حاسوب المسار الأول تقوم الدورة بتهيئة الطالب للتعامل مع أي لغة برمجة من خلال شرح كيف يتعامل جهاز الحاسوب مع لغات البرمجة ومكونات الحاسوب وبعدها يتدرج بالتفكير المنطقي والخوارزميات بعد الانتهاء دورة علوم حاسوب سوف تتمكن من الإنطلاق بالأفاق في أي لغة برمجة اُخرى وفي أي مجال في عالم الحاسوب, اقرأ إجابات بعض الأسئلة ( ماذا ستتعلم في هذه الدورة؟ لمن هذه الدورة؟) في الرابط (دورة علوم الحاسوب)
    1 نقطة
    تلخيص لأهم النقاط التي خرجت بها: 1- معرفة الفئة التي يندرج تحتها النص المُراد ترجمته؛ ليتأكَّد المُترجِم من مدى قدرته على إنجاز العمل المطلوب. 2- معرفة الجمهور المُوجَّه إليه؛ لاختيار صياغة النص بما يتناسب مع هذا الجمهور. 3- في حالة عدم الإلمام بفئة النص، يجب على المُترجِم القراءة عنها؛ لكي يخرج العمل بشكل أكثر دقة. 4- التدقيق اللغوي والإملائي؛ لكي يخرج النص بلغة سليمة. 5- استخدام علامات الترقيم بشكل مناسب؛ ليشعر القارئ بالراحة عند قراءة النص، وإدراك معانيه بسهولة. في حالة صدور نسخة مُحدَّثة، يُرجى الاكتفاء بوجود بيانات المراجع والمصادر في نهاية الكتاب فقط. مع شكري وتقديري أسامة حمدي مُعلِّم وكاتب
    1 نقطة
    سَعِدت البارحة سعادةً بالِغةً بكتابٍ جديدٍ يُثري المكتبة العربيَّة طرحه الزَّميل والصَّديق عبَّاد ديرانيَّة في اليوم العالميِّ للغة العربيَّة، وعُنوانه "فنُّ التَّرجمة والتَّعريب"، وهمَّمت بقراءته بشغفٍ فأنهيته في أَقلَّ مِن يومٍ. يُناقِش هذا الكتاب مسألةً جوهريَّةً تمسُّ كُلَّ مَن يَعمَل على الحدود بين حضارتين أو ثقافتين مُتباينتين، فيَنقُل مِن فكر إِحداها إُِلى الأخرى، ويَأخذ مِن لغة الأُخرى إِلى الأُولى، وهذه المسألة هي: متى يَكُون هذا النَّقل ترجمةً وتعريباً ومتى لا يَكُون كذلك؟ وما هي المعايير اللازمة لضبطه فيُصبِح عملاً موضوعياً معياريَّاً بعيداً عن الذاتية والفوضى؟ يَبتدِئ هذا الكتاب بمُقدِّمةٍ أَدبيَّةٍ بحثيَّةٍ رفيعة المُستوَى، فيها نقاشٌ مُطوَّلٌ عن أَصل اللُّغة والمَعنى الكامِن فيها، ثُمَّ يَنتقل إِلى تعريف التَّرجمة وتَوضِيح معناها ليُبيِّن كيف استُعملت هذه الأَداة تاريخيَّاً حتَّى مَطلَع القرن العشرين في نقل المَعارِِف والعُلُوم بين الحضارات والأُمم، ويلي ذلك عرضٌ لدور العرب والمُسلمين في هذه الحركة الإِنسانيَّة، خاصَّةً في العصر الذَّهبيِّ لِلحضارة الإِسلاميَّة الذي كانت جوهرته بغدادُ وواسطة عقده بيت الحكمة، وتُغطِّي هذه المواضيع فُصُولاً ثلاثاً في مَطلَع الكِتاب. يأخذنا المُؤَلِّف بعد ذلك في باب جديد هو نظرية الترجمة فيعرض لنا الصراع التاريخيِّ بين القائلين بحرفيَّة التَّرجمة والقائِلين بالنَّقل بتصرفٍ ويَعُود بنا إِلى جذور هذا الجدال غير المنتهي، ثُمَّ يَستعرِض عَدَداً وافِراً مِن آفات التَّرجمة الحديثة على اللُّغة العربيَّة وتأثيرها الكبير على الفهم والمَعنَى ويَختُم هذا الباب بفصلٍ مُخصَّصٍ لِلمُعجَمات مِن لسان العرب إِلى أُكسفورد، لِيُبيِّن لنا فيها ضعف العمل المُعجميِّ العربيِّ، لا بل توقُّفه شبه التَّام، والحاجة الماسة إِلى تطويره وتحديثه، وهذه مَسألةٌ مُلِّحة، وعلى مجامع اللُّغة والخُبراء العرب في المَجالات كافةً التَّصدِّي لها والردَّ عليها بما يَلزَم مِن مُعجَماتٍ ومساردَ للأََلفاظ الحديثة. ويَنتقِل المُؤَلِّف بعد ذلك إِلى الجانب التَّعليميِّ، فيَطرَح في فصولٌ مُتلاحِقةٍ كيفيَّة تعريب المُفرَدة والتَّركيب والجملة ثُمَّ يَنتهِي بفصلٍ شيق لتعريب الثَّقافة نفسِها، وهذا الباب، بفصوله كُلِّها، مِن أَمتع ما قرأت، فهو مُختصرٌ في طُوله، كثير المعلومات، فيه عصارة العصارة وخلاصة الخلاصة وخبرةٌ كبيرةٌ تفاجأت بوجُودها لدى المُؤَلِّف الَّذي لم يُكمِل عقده الثَّالِث بعدُ. ومع أني أتفق اتفاقاً عاماً مع أغلب ما جاء في الكتاب، لكني أختلف اختلافاً كبيراً معه في درجة التشدد في منهج العمل المقترح، وأرى أن المُؤَلِّف يَتساهل في كثير من الأمورٌ ويُخفِّف فيها عن عاتِق المُترجِم، ويَترُك باب الاجتهاد له مُوارَباً، وإِِن كان يُحذِّر مِن مَغبَّته، وذلك لأني أجد بعد عملي لعقدٍ مِن الزَّمن في التَّرجمة والتَّعريب أَنَّ التَّشدُّد في هذا الباب شرٌّ لا بُدَّ مِنه، والالتزام بالفصيح والبليغ أَمرٌ لا يَلزَم التَّساهل فيه أَبداً، ولكن هذا يَبقى رأينا الشَّخصيَّ في مسألةٍ تَحتمِل الاختلاف. يَسدُّ هذا الكِتاب عموماً ثغرة كبيرة في المكتبة العربية، فلم أقع من قبلُ على كتاب يُناقِش هذه المسائِل كُلَّها في إِطارٍ واحِدٍ جامِعٍ مانِعٍ، وهُو زادٌ ضروريٌ لِكُلِّ مَن يَبتدِئ العمل في التَّرجمة والتعريب لِيُعينه على شقِّ طريقه بيده وليُجيب على أَسئلته الَّتي قد يَحتاجُ، مِن غير هذا الكتاب، إلى أَعوامٍ ليَصِل إِلى إِجابتها الوافِية.
    1 نقطة
    كتاب "فن الترجمة والتعريب" رائع لن تشعر أنك تقرأ محتوى أكاديمي لإن الكتاب فيه قصص عن تاريخ الترجمة والمترجمين الأوائل وفيه صور وأمثلة لتوضيح الأفكار. استمتعت في قراءة فصل "كتب تزن ذهبا" والذي تناول تاريخ الترجمة.
    1 نقطة
  28. يمكنك الحصول عنوان URL مباشرة في القالب template، ولا داعي لكتابة أي filter لعمل ذلك. <a href="{% url 'admin:index' %}">Admin Index</a> كما يمكنك تمرير عض المعاملات كالتالي: <a href="{% url 'admin:posts_comment_add' comment.id %}">Add comment</a> أيضًا يمكنك أن تستعمل الدالة reverse ولكن بشكل آخر عن الإصدارات القديمة، على النحو التالي: from django.urls import reverse c = Comment.objects.get(...) change_url = reverse('admin:posts_comment_change', args=(c.id,)) كما يمكنك عمل تابع في النموذج مباشرة لكي ييقوم بإعادة عنوان URL الخاص بالنموذج في لوحة التحكم: from django.urls import reverse def get_admin_url(self): return reverse(f'admin:{self._meta.app_label}_{self._meta.model_name}_change', args=[self.id])
    1 نقطة
  29. في جانغو Django لا يتم التصفية بإستخدام علامة أقل من > أو أكبر من <، ولكن تستخدم اسم الحقل مع lte أو gte، كالتالي: أقل من أو يساوي: users = User.objects.filter(profile__level__lte=0) أكبر من أو يساوي: users = User.objects.filter(profile__level__gte=0) وإذا لم تريد أن تحصل على الكائنات التي تساوي هذه القيمة، أي أنك تريد أن تستخدم أقل من (وليس أقل من أو يساوي)، فكل ما عليك فعله هو حذف حرف e في نهاية اسم الخاصية، ليكون الكود كالتالي: أقل من: users = User.objects.filter(profile__level__lt=0) أكبر من: users = User.objects.filter(profile__level__lg=0)
    1 نقطة
  30. لا تحتوي الأكاديمية على دورة مخصصة للغة بايثون فقط، ولكن يوجد دورة علوم الحاسوب والتي تشرح أساسيات لغة بايثون وهياكل البيانات والخوارزميات بإستخدام بايثون، كما تبدأ الدورة أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة، وتنتقل لتعلم Scratch حتى تتمكن من التطبيق على أساسيات التفكير المنطقي، ثم تنتقل لتعلم الأساسيات البرمجية من خلال لغة JavaScript، بالإضافة إلى أساسيات أنظمة التشغيل المختلفة مثل Windows و Linux وكيفية إستخدام سطر الأوامر أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL، ثم تنتقل إلى أساسيات الويب وكيف تعمل المواقع وخوادم الويب، ثم مبادئ الحماية والأمان في الويب. يمكنك أن تتعرف أكثر على هذه الدورة من خلال الصفحة الخاصة بها من هنا (دورة علوم الحاسوب).
    1 نقطة
  31. يمكنك أن تستخدم المدخل date__range، كالتالي: Video.objects.filter(date__range=["2021-08-01", "2021-08-31"]) لاحظ أن الحل السابق يقوم بتنفيذ جملة BETWEEN في SQL، مما يعني أن النطاق يتضمن يومي 1/8 و 31/8 أيضًا. إذا كنت لا تريد تضمين هذين اليومين مع النتائج، فيمكنك أن تستخدم خاصية gt (greater-than) و lt (less-than)، كالتالي: import datetime videos = Video.objects.filter(video_date__gte=datetime.date(2021, 8, 1), video_date__lte=datetime.date(2021, 8, 31)) أو إذا كنت تحاول فقط التصفية حسب الشهر: Video.objects.filter(date__year='2021', date__month='08')
    1 نقطة
  32. يمكنك أن تستعمل أي لغة خاصة بالواجهات الخلفية Backend و أي إطار عمل ترغب به (أو حتى بدون إطار عمل على الإطلاق)، وهنا بعض الأمثلة: PHP مع إطار العمل Laravel: تعد لغة PHP أشهر لغة للواجهات الخلفية في الوقت الحالي، كما أن Laravel هو أكثر إطار عمل مستخدم أيضًا، لغة PHP مجهزة بالفعل لخوادم الويب، لأنها صممت في الأساس لهذا الغرض، كما أن إطار العمل Laravel يوفر لك بنية سهلة وبسيطة لعمل API للتطبيقات أو البرامج بسهولة، كما يوفر لك نظام إستيثاق Authentication مُعد بالفعل ولن تحتاج إلى ضبط أي شيء، وهو يتبع نظام MVC مما يوفر لك تنظيم للكود والملفات أيضًا. لغة PHP مستخدمه في Facebook و Wikipedia وغيرها. Node.js مع إطار العمل Express.js: إزدادت في الفترة الأخيرة شعبية لغة JavaScript خصوصًا في الواجهات الخلفية، حيث أصبح هناك مسار لتعلم تطوير المواقع يسمى MERN (MongoDB - Express.js - React.js - Node.js)، لكن يمكنك أن تستخدم أي نوع من قواعد البيانات وليس شرطًا أن تستعمل MongoDB، ويمكنك أن تقوم بعمل API به أيضًا. إطار العمل Express.js مستخدم في شركات مثل Uber و Yandex و IBM وغيرها. Python مع إطار العمل Django: لغة Python من أسهل اللغات في التعلم ومن أسهلها في كتابة الكود، ولها العديد من المميزات، كما أن إطار العمل Django يوفر لك بنية أولية مجهزة لتقوم ببناء أي مشروع به، ويمكنك أن تقوم بعمل API أيضًا به بكل سهولة بسبب مميزات JSON وXML التي يقدمها. إطار العمل Django يتم إستعماله في Disqus و Instagram و Spotify و YouTube و DropBox و Pinterest و غيرها. يمكنك أن تستعمل أي لغة من اللغات السابقة (أو غيرها حتى)، فكل هذه اللغات يمكنها أن تقوم بكل ما تريده وأكثر وبسهولة أيضًا. كما يمكنك أن تختار أحد إطارات العمل التي ذكرتها أو تستخدم إطارات عمل أخرى، ولكني ذكرت فقط الأكثر شهرة وإستخدامًا في هذه اللغات. ويوجد في الأكاديمية مقالة حول الفرق بين Laravel و Django وكذلك Rails: بالنسبة لقاعدة البيانات، فلا أنصحك بأن تستخدم SQLite موقع حقيقي أو لحفظ وإسترجاع البيانات بسرعة، بدلًا من ذلك يمكنك أن تستخدم MySQL أو Postgres، وهنا مقالة تتمحور حول عيوب ومميزات كل نوع من الأنواع السابقة:
    1 نقطة
×
×
  • أضف...