لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 11/24/25 في كل الموقع
-
هل متوفر كود مكتوب فيه بعد كل خطوة باختصار ما الذي فعلناه بها لتساعدنا على مراجعة الكود و معرفة لماذا كتبنا كل خطوة شكرا مسبقا3 نقاط
-
2 نقاط
-
السلام عليكم ورحمه الله وبركاته لقد رأيت تحديث لدورة تطوير واجهات المستخدم , مشروع الذي في المسار هو هو نفس المشروع الذي في مسار الاساسيات , ما هو الفرق ؟ وهل المسار بتاع اطر عمل css يتكلم فقط عن bootstrap وهل تم تحديث مسارات اخرى في الدورة ؟ مثل استبدال اكواد jquery ب اكواد JS فقط ؟1 نقطة
-
قم بدراسته فيما بعد، أي بعد الوصول إلى مستوى متوسط في تقنيات MERN.1 نقطة
-
نفس المشروع العلمي بالفعل وذلك مقصود، حيث سنقوم بتطبيق ما تعلمناه عليه، فالمشروع الأول استخدمنا HTML CSS, JS فقط، وبعد ذلك سنقوم بإضافة إطار عمل بوتستراب وتنسيق الواجهة من خلاله. منذ فترة تم تحديث وحدة إنشاء مشروع شخصي في مسار أساسيات تطوير الويب في دورة تطوير واجهات المستخدم ليواكب أحدث الإصدارات والتقنيات. ويشمل التحديث 10 دروس موزعة على ساعتين وربع، وحدثنا الشرح ليكون أكثر سلاسة وسهولة، وحللنا جميع المشاكل التي كان الطلاب يقعون فيها سابقًا، كما استبدلنا مكتبة jQuery بجافا سكريبت الخالصة، وذلك لأن جافا سكريبت الحديثة أصبحت توفر نفس المزايا وأكثر دون الحاجة إلى تحميل مكتبات إضافية، وهو ما يجعل الكود أخف وأسرع، ويمنح الطلاب فرصة لبناء أساس قوي في لغة أساسية يحتاجونها في كل مشروع احترافي. وأمس تم صدور تحديث آخر، حيث أضفنا مسار جديد بعنوان أطر عمل CSS في دورة واجهات المستخدم، والتحديث يشمل 33 درسًا بمدة 5 ساعات ونصف. و يهدف المسار إلى تدريب الطالب على استخدام أطر عمل CSS لبناء واجهات ويب احترافية وحديثة، مع التركيز على إطار Bootstrap باعتباره واحدًا من أشهر وأكثر الأُطر استخدامًا في عالم تطوير الواجهات. يبدأ المسار بمدخل شامل يوضح لماذا نحتاج أصلًا إلى أطر العمل، وكيف تسهّل عملية التطوير وتسرّع إنتاج واجهات متناسقة ومتجاوبة دون الحاجة إلى كتابة كل شيء من الصفر. وخلال المسار، ستتدرب على فهم أنظمة الشبكات Grid، والمكوّنات الجاهزة، والأدوات المساعدة التي توفّر لك مرونة كبيرة في بناء صفحات حقيقية. كما ستعمل على مشروع عملي متكامل تطبق فيه كل المفاهيم التي تتعلمها خطوة بخطوة.1 نقطة
-
مجهود وعزيمة تُشكر عليهما، لكن يجب توجيهم في الطريق الصحيح، ولا داعي لكل ذلك التشاؤم واليأس، فأنت ما زلت في سن صغير وأمامك مُتسع من الوقت -لا تنخدع بذلك الوقت يمر- ما تحتاجه هو التخطيط فقط ثم بذل المجهود بنفس القدر الحالي، فاستمرار السعي يعني حتمية الوصول إن شاء الله. بالنسبة لـ PHP ولارافل فهي مناسبة أكثر لمنصات العمل الحر، بينما لو أردت العمل في شركة فأنصحك بدراسة جافاسكريبت والتقنيات الخاصة بها لتصبح Full-stack أو دراسة C# و .NET وهناك نقطة هامة يجب توضيحها، لا توجد أي دورة في أي مكان توفر لك كل شيء، ستحتاج دائمًا إلى بذل مجهود إضافي بجانبها، في الأكاديمية هنا يتم شرح الأساسيات والتوسع من خلال المشاريع العملية، لذا في مرحلة شرح الأساسيات لو أردت الاستزادة ودراسة المفاهيم المتقدمة وتنفيذ مشروع على جافاسكريبت مثلاً، وذلك ما أنصحك به بالطبع، فعليك بدراسة ذلك من اليوتيوب، ثم العودة هنا واستكمال الدورة. ولا يجب دراسة الدورة بالكامل، طالما تريد تخصص الويب، فيجب التركيز على تقنيات MERN: ويجب أن تتحلى بالصبر ولا تنتظر نتائج سريعة، فالأمر سيستغرق عام من الدراسة وتنفيذ المشاريع لاكتساب خبرة لذا لا تمل سريعًا. وبالنسبة للأمور المالية أو استبدال الدورة، فالأمر يتم من خلال مركز المساعدة.1 نقطة
-
ولكن انا ايضا أواجه نفس المشكلة وانا اتصفح من تابليت الوزارة للثانوية العامة وانها ليس المرة الأولى التي أزور بقا المواقع التي امتنع منها الآن مثل الفيس بوك لا يمكنني زيارته ولا يمكنني الدخول للتليجرام ويب ةو واتساب ويب ولة افتح مقاطع فيديو على البوتيوب وكل هذا المواقع ليس ازل مرة لي بزيارتها من التابلت الوزاري الخاص بي ولكن من فترة قريبة وبدأ أن يحدث معي هكذا ولكن كان يبقى من ساعة إلى ثلاث ساعات ويشتغل مثل قبل اما الآن ها انا احاول من هنا قليلا ومن هنا قليلا لأفتحه ولكن لا جدوى ارجوا الحل سريعا وشكرا1 نقطة
-
Sqlite هي عبارة عن محرك SQL مفتوح المصدر سريع وبسيط جدا، يشرح هذا الدرس متى يكون من الأمثل استخدام Sqlite كبديل لأنظمة إدارة قواعد البيانات الارتباطية RDBMS مثل MySQL أو Postgres، بالإضافة إلى كيفية تثبيتها وأمثلة عن استخداماتها الأساسية، تُغطي عمليات CRUD: الإنشاء Create، القراءة Read، التحديث Update، والحذف Delete. مفاهيم خاطئةلا يجب أن ننخدع بالاعتقاد أن Sqlite تستَخدم فقط للاختبار والتطوير، فعلى سبيل المثال تعمل Sqlite بشكل جيد لمواقع الإنترنت التي تتلقى 100,000 زائر يوميا، وهذا هو الحد المُحافظ. إن الحد الأقصى لحجم قاعدة بيانات Sqlite هو 140 تيرابايت (والذي من المفترض أن يكون كافيًا، أليس كذلك؟)، وبإمكانها أن تكون أسرع بكثير من RDBMS، يتم تخزين قاعدة البيانات كاملةمع كافة البيانات الضرورية في ملف عادي في نظام ملفات المضيف Host، ولذلك لا توجد حاجة لعملية خادوم Server منفصلة (الاستغناء عن الحاجة إلى الاتصالات البطيئة بين العمليّات). الاستخدام الأمثل على VPS الخاص بناتركز Sqlite على البساطة، وبما أنها تعمل داخليا internal بشكلٍ تام، فهي غالبًا ما تكون أسرع بكثير من البدائل الأخرى، إن كنا نبحث عن قابلية النقل portability (فيما يتعلق باللغات والمنصّات معًا)، البساطة، السرعة، والاستهلاك القليل للذاكرة فإن Sqlite مثاليّة لهذا، فعيوبها تكون واضحة فقط عند الحاجة لتزامن عال بالقراءة أو الكتابة. حيث تستطيع Sqlite أن تدعم كاتب writer واحد فقط في نفس الوقت، وقد يكون زمن الوصول latency لنظام الملفات المرتَفِع عادة غير مُلائِم إن كانت هناك حاجة لنفاذ access العديد من العملاء إلى قاعدة بيانات Sqlite في نفس الوقت. العيب الأخير المُحتَمل وجوده في Sqlite هو صياغتها syntax الفريدة، بالرغم من تشابهها مع أنظمة SQL الأخرى، ومن البديهي عند الانتقال إلى نظام آخر -إن قمنا باستخدام Sqlite والتي تتطوّر بسرعة- أن نجد بعض العقبات في المرحلة الانتقاليّة. تثبيت Sqlite على VPS الخاص بناإن وحدة sqlite3 module هي جزء من مكتبة بايثون المعيارية، لذلك لا نحتاج لأي تثبيت آخر على توزيعة Ubuntu المعيارية أو على أي نظام آخر مُثبّت عليه بايثون، ولتثبيت واجهة سطر الأوامر لـ Sqlite على Ubuntu نستخدم هذه الأوامر: sudo apt-get update sudo apt-get install sqlite3 libsqlite3-devإن كُنّا نريد تصريفه Compile من المصدر Source يجب علينا الحصول على آخر إصدار من autoconf من الرّابط sqlite.org/download.html، وهو الإصدار المتوفّر وقت كتابة هذا الدّرس: wget http://sqlite.org/2013/sqlite-autoconf-3080100.tar.gz tar xvfz sqlite-autoconf-3080100.tar.gz cd sqlite-autoconf-3080100 ./configure make make installملاحظات من أجل البناء من المصدر: لا يجب أن نقوم بفعل هذا على توزيعة Ubuntu معياريّة لأنّه من المُحتمل أن نتلقّى خطأ عن عدم التّوافق في إصدار التّرويسة Header والمصدر "header and source version mismatch" بسبب التّعارض بين الإصدار المُثبّت حاليًّا والإصدار الجّديد الذي نريد تثبيته.إن كان يبدو أنّ الأمر make ينتظر المزيد من المُدخلات منك فكُن صبورًا فقط، حيث أنّ تصريف Compile المصدر قد يستغرق بعض الوقت.الاستخدامات الأساسية لواجهة سطر الأوامرلإنشاء قاعدة بيانات نقوم بتنفيذ الأمر التالي: sqlite3 database.dbحيث يكون database هو اسم قاعدة البيانات لدينا، وإن كان الملف database.db موجودًا مُسبقًا ستقوم Sqlite بإنشاء اتصال معه، وإن لم يكن موجودًا سيتمّ إنشاؤه، يجب أن يكون الخرج Output مُشابهًا لما يلي: SQLite version 3.8.1 2013-10-17 12:57:35 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite>فلنقم الآن بإنشاء جدول Table وإدخال بعض البيانات إليه، يملك هذا الجدول المُسمَّى الأندية clubs أربعة أعمدة columns، من أجل id، اسم النادي name، مدرّبه coach، وبلد النّادي country، سنقوم بإدخال بيانات ثلاثة أندية كرة قدم إلى قاعدة بياناتنا: CREATE TABLE clubs (id integer, name varchar(30), coach varchar(20), country varchar(20)); INSERT INTO clubs VALUES (1, "Real Madrid", "Benitez", "Spain"); INSERT INTO clubs VALUES (2, "Barcelona", "Enrique", "Spain"); INSERT INTO clubs VALUES (3, "Chelsea", "Mourinho", "England");لقد أنشأنا قاعدة بيانات، جدول، وبعض الإدخالات، نضغط الآن Ctrl+D للخروج من Sqlite ونكتب ما يلي (يجب هنا أيضًا أن نضع اسم قاعدة بياناتنا بدلًا من 'database') والذي سيقوم بإعادة الاتصال إلى قاعدة البيانات التي أنشأناها للتو: sqlite3 database.dbالآن نكتب: SELECT * FROM clubs;يجب أن نرى هنا الإدخالات التي قُمنا بها: 1|Real Madrid|Benitez|Spain 2|Barcelona|Enrique|Spain 3|Chelsea|Mourinho|Englandرائع، هذا هو كلّ شيء فيما يتعلّق بالإنشاء Creating والقراءة Reading، فلنقم الآن بالتّحديث Update والحذف Delete: UPDATE clubs SET country="Spain" WHERE country="England";سيقوم هذا الأمر بتحديث قاعدة البيانات بحيث يجعل الأندية المُدرَجة على أنّها من إنكلترا يتم إدراجها وكأنّها أندية من إسبانيا، فلنتأكّد من النتائج باستخدام الأمر: SELECT * FROM clubs;يجب أن نرى: 1|Real Madrid|Benitez|Spain 2|Barcelona|Enrique|Spain 3|Chelsea|Mourinho|Spainأصبحت لدينا الآن كل الأندية من إسبانيا، فلنقم بحذف Chelsea من قاعدة بياناتنا كونه النادي الوحيد الذي في الحقيقة ليس من إسبانيا: DELETE FROM clubs WHERE id=3; SELECT * FROM clubs;ينبغي أن نجد الآن عدد الأندية لدينا أقل بواحد من السّابق: 1|Real Madrid|Benitez|Spain 2|Barcelona|Enrique|Spainيُغطِّي هذا جميع العمليّات الأساسيّة لقواعد البيانات، وقبل أن ننتهي دعونا نجرّب مثالًا آخر أقل بديهيّة بقليل، والذي يستخدم جدولين وانضمام join أساسي بينهما. فلنخرج الآن من Sqlite باستخدام الأمر Ctrl+D ونعيد الاتصال إلى قاعدة بيانات جديدة باستخدام: sqlite3 database2.dbسنقوم بإنشاء جدول مشابه جدًّا لجدول الأندية clubs ولكنّنا سننشئ أيضًا جدول للدول countries، والذي يقوم بتخزين اسم الدّولة ورئيسها الحالي، فلنقم أولًا بإنشاء جدول الدّول countries وإدخال إسبانيا وفرنسا إليه باستخدام ما يلي (لاحظ أنّنا نستطيع نسخ ولصق عدّة أسطر من شيفرة sqlite دفعة واحدة): CREATE TABLE countries (id integer, name varchar(30), president varchar(30)); INSERT INTO countries VALUES (1, "Spain", "Rajoy Brey"); INSERT INTO countries VALUES(2, "France", "Francois Hollande");ونستطيع بعدها إعادة إنشاء الجدول clubs باستخدام ما يلي: CREATE TABLE clubs (id integer, name varchar(30), country_id integer); INSERT INTO clubs VALUES (1, "Real Madrid", 1); INSERT INTO clubs VALUES (2, "Barcelona", 1); INSERT INTO clubs VALUES (3, "Chelsea", 2);دعونا الآن نرى ما هي الأندية الموجودة في إسبانيا باستخدام: SELECT name FROM clubs JOIN countries ON country_id=countries.id WHERE countries.name="Spain";ينبغي أن نشاهد ما يلي: Real Madrid Barcelonaيُغطّي هذا موضوع الانضمام الأساسي basic join، فلنلاحظ أنّ sqlite تفعل الكثير من أجلنا، ففي التّعبير السّابق يرمز الانضمام Join افتراضيًّا إلى INNER JOIN بالرغم من أنّنا استخدمنا فقط الكلمة المفتاحيّة JOIN، ولا يجب علينا أيضًا تحديد clubs.country_id لأنّها واضحة لا لبس فيها، من ناحية أخرى إن جرّبنا هذا الأمر: SELECT name FROM clubs JOIN countries ON country_id=id WHERE country_id=1;سنتلقّى رسالة خطأ: "Error: ambiguous column name: id" وهو خطأ معقول بما فيه الكفاية لأنّ الجدولين لدينا كلاهما يملكان عمود id، ولكن بشكلٍ عام sqlite متسامحة مع الأخطاء إلى حد ما، فرسائل الأخطاء فيها تميل إلى أن تجعل تحديد مكان أيّ مشاكل وإصلاحها شيئًا بديهيا إلى حد ما، وهذا يُساعد على تسريع عمليّة التّطوير. للمزيد من المساعدة في موضوع الصّياغة Syntax فإنّ الوثائق الرّسميّة لها مليئة بالمخطّطات البيانيّة diagrams مثل هذا sqlite.org/langdelete.html، والتي من الممكن أن تكون مفيدة. وفي الختام، تملك sqlite أغلفة wrappers وتعريفات في جميع اللغات الرئيسيّة، ويُمكن تشغيلها على معظم الأنظمة، نستطيع إيجاد قائمة بالعديد من هذه اللغات هنا، حظًّا سعيدًا واستمتع بوقتك. ترجمة -وبتصرّف- للمقال How and When to Use Sqlite لصاحبه Gareth Dwyer.1 نقطة
