OptProg

104 44.2 ألف مشاهدات المحتوى عضو منذ
OptProg برمجة

تعلمتُ أساسيات React عن طريق Scrimba مجاناً [1] وأيضاً عن طريق هذا الفيديو من Traversy Media على يوتيوب [2].

ميزة دورة Scrimba أنها تفاعلية حيث تستطيع تعديل واختبار الكود الذي يكتبه المدرب مباشرة من على نفس المنصة.

طبعاً الدورات المدفوعة غالباً ما تحتوي على تفاصيل أكثر من الدورات المجانية. ولكن المهم أن تتعرف على أسلوب المدرب قبل الاشتراك في أي من دوراته. فمثلاً Mosh Hamedani لديه قناة على اليوتيوب [3] اطلع عليها قبل الاشتراك. ونفس الأمر بالنسبة لTraversy Media الذي لديه دورة مدفوعة على Udemy في React [4].

نصيحتي لك إن كنت تشعر بالتشتت أن تبدأ أولاً مع فيديو اليوتيوب [2] لتتعرف على React وكيف تعمل ثم بعدها قرر هل تكمل في دورة مدفوعة أو من أي مصدر مجاني آخر.

_______________________________

[1]

[2]

[3]

[4]

تعلمتُ أساسيات React عن طريق Scrimba مجاناً [1] وأيضاً عن طريق هذا الفيديو من Traversy Media على يوتيوب [2]. ميزة دورة Scrimba أنها تفاعلية حيث تستطيع تعديل واختبار الكود الذي يكتبه المدرب مباشرة من على نفس المنصة. طبعاً الدورات المدفوعة غالباً ما تحتوي على تفاصيل أكثر من الدورات المجانية. ولكن المهم أن تتعرف على أسلوب المدرب قبل الاشتراك في أي من دوراته. فمثلاً Mosh Hamedani لديه قناة على اليوتيوب [3] اطلع عليها قبل الاشتراك. ونفس الأمر بالنسبة لTraversy Media الذي
OptProg تطوير الويب

كم تطلب الوقت لتتعلم إنجاز مثل هذ العمل؟

إن حسبت الوقت الذي استغرقته في تعلم JavaScript فلا أعرف صراحة، ولكن React وحدها أخذت مني ثلاثة أسابيع تقريباً.

ما هي خططك لتطوير نفسك في هذا المجال؟

ما زلت أريد تعلم React Native وNode.js.

هل ستواصل صناعة تطبيقات أخرى لمزيد ترسيخ ما تعلمته؟

إن شاء الله.

هل تعيد مراجعة مصادر التعلم أم تطلع على مصادر جديدة؟

يعتمد على حسب المصدر، وإن كنت غالباً أفضل البحث عن المعلومة نفسها بدل الرجوع للمصدر الذي تعلمت منه.

أتمنى لك مزيد النجاح في التعلم

شكراً لك.

>كم تطلب الوقت لتتعلم إنجاز مثل هذ العمل؟ إن حسبت الوقت الذي استغرقته في تعلم JavaScript فلا أعرف صراحة، ولكن React وحدها أخذت مني ثلاثة أسابيع تقريباً. >ما هي خططك لتطوير نفسك في هذا المجال؟ ما زلت أريد تعلم React Native وNode.js. >هل ستواصل صناعة تطبيقات أخرى لمزيد ترسيخ ما تعلمته؟ إن شاء الله. >هل تعيد مراجعة مصادر التعلم أم تطلع على مصادر جديدة؟ يعتمد على حسب المصدر، وإن كنت غالباً أفضل البحث عن المعلومة نفسها بدل الرجوع للمصدر الذي
OptProg تطوير الويب

أهلاً راشد، شكراً على الرد.

درست نمط MVC من قبل في أحد مواد الجامعة ولكن كان بشكل نظري بحت. لا أعرف حقيقة كيف أستعمله بشكل عملي ولكن كنت قد جربته من قبل في PHP.

أهلاً راشد، شكراً على الرد. درست نمط MVC من قبل في أحد مواد الجامعة ولكن كان بشكل نظري بحت. لا أعرف حقيقة كيف أستعمله بشكل عملي ولكن كنت قد جربته من قبل في PHP.
OptProg تطوير الويب

نعم، بالتأكيد. لم أظن أن أحداً سيكون مهتماً به لذا لم أشاركه.

نعم، بالتأكيد. لم أظن أن أحداً سيكون مهتماً به لذا لم أشاركه. https://github.com/optprog/react-notes-app
OptProg تطوير الويب

شكراً لك على الرد.

لا أحبذ استخدام أي مكاتب خارجيّة عند التعلّم

إن كنت تقصد React فأنا كنت قد تعلمت على vanilla JavaScript بالفعل وعلى الإضافات الجديدة فيها قبل تعلم React. ولكن كما تعلم فإن البرمجة بالجافا سكريبت لوحدها أصعب بكثير والأفضل استخدام إطار عمل بدل إعادة اختراع العجلة، أليس كذلك؟

أما إذا كنت تقصد Bootstrap فأنت محق وسأحتاج لأعمل على تعلم CSS أكثر.

بالإضافة إلى أنّ React.js مكتبة ليست إطاراً على الإطلاق.

لأكون صادقاً معك ما زلت لا أفهم الفرق كثيراً بين المكتبة وبين إطار العمل. هل يمكن أن تشرح لي لما React.js ليست إطاراً؟

شكراً لك على الرد. > لا أحبذ استخدام أي مكاتب خارجيّة عند التعلّم إن كنت تقصد React فأنا كنت قد تعلمت على vanilla JavaScript بالفعل وعلى الإضافات الجديدة فيها قبل تعلم React. ولكن كما تعلم فإن البرمجة بالجافا سكريبت لوحدها أصعب بكثير والأفضل استخدام إطار عمل بدل إعادة اختراع العجلة، أليس كذلك؟ أما إذا كنت تقصد Bootstrap فأنت محق وسأحتاج لأعمل على تعلم CSS أكثر. >بالإضافة إلى أنّ React.js مكتبة ليست إطاراً على الإطلاق. لأكون صادقاً معك ما زلت لا
OptProg برمجة

باستخدام Java:

باستخدام Java: https://gist.github.com/optprog/8c4d9cada559090c9efa55b3165a18ad
OptProg تطوير الويب

جميل جداً.. يمكنني الآن أن أقول بكل ثقة أن سعر الدورة ليس مبالغاً فيه بل هو استثمار جيد بفضل صعوبة الحصول على الشهادة فيه. بالتوفيق لكم.

جميل جداً.. يمكنني الآن أن أقول بكل ثقة أن سعر الدورة ليس مبالغاً فيه بل هو استثمار جيد بفضل صعوبة الحصول على الشهادة فيه. بالتوفيق لكم.
OptProg تطوير الويب

أرى في هذه الدورات استثماراً جيداً لمن يريد دخول سوق العمل.

أنتم بالفعل تعطون ضمان جميل لمدة 6 أشهر، ولكن لدي سؤال واحد.. هل اختباراتكم مقياس جيد للمهارات المكتسبة؟ أعني بذلك صعوبتها.. لأنه فعلياً لو كانت مجرد اختبارات قصيرة كالتي يقدمها Udemy فلن تضمن اكتساب المتدرب للمهارات اللازمة، عدا عن أن الشهادة المعتمدة ستكون بلا قيمة لأن الكل يمكنه الحصول عليها.

أرى في هذه الدورات استثماراً جيداً لمن يريد دخول سوق العمل. أنتم بالفعل تعطون ضمان جميل لمدة 6 أشهر، ولكن لدي سؤال واحد.. هل اختباراتكم مقياس جيد للمهارات المكتسبة؟ أعني بذلك صعوبتها.. لأنه فعلياً لو كانت مجرد اختبارات قصيرة كالتي يقدمها Udemy فلن تضمن اكتساب المتدرب للمهارات اللازمة، عدا عن أن الشهادة المعتمدة ستكون بلا قيمة لأن الكل يمكنه الحصول عليها.
OptProg برمجة أندرويد

دعنا نفهم أولاً الفرق بين BufferedReader و Scanner. هناك فارق أساسي بينهما، وهو أن BufferedReader فقط يقوم بقراءة البيانات المعطية له أما Scanner فهو يقرأ ويحولها أيضاً (parsing) بحيث تستطيع الحصول على قيم مثل int و double وغيرها من خلاله. هناك فروق أخرى لن نتحدث عنها.

فعلياً بسبب التحويل الذي يعمله Scanner فإنه أقل كفاءة من BufferedReader، ولذا إذا كنت فقط تريد قراءة البيانات فلا حاجة لاستخدام Scanner.

بالنسبة لما يقصده بiterate وtokens فدعني أشرح لك tokens أولاً:

token هي ببساطة أي نص ممكن أن يقوم بقراءته الScanner. في المثال التالي:

ستحصل على هذه النتيجة:

This

is

school

1

كل واحدة من العبارات في الأعلى تعبر عن token.

إذا فtoken هي النص الذي يقرأه الScanner أو BufferedReader أو أي قارئ آخر، سواء كان يتكون من كلمة واحدة أو جملة أو رقم.. المهم أن القارئ يستطيع قراءته.

إذاً الآن يصبح فهم iterate سهل، وهو أن الScanner يمر على كل الtokens واحدة تلو الأخرى (iterate over tokens).

حاولت أن أوضح كل شيء لكن قد يكون شرحي غير كافياً، لذا إذا كان لديك استفسار فاطرحه.

دعنا نفهم أولاً الفرق بين BufferedReader و Scanner. هناك فارق أساسي بينهما، وهو أن BufferedReader فقط يقوم بقراءة البيانات المعطية له أما Scanner فهو يقرأ ويحولها أيضاً (parsing) بحيث تستطيع الحصول على قيم مثل int و double وغيرها من خلاله. هناك فروق أخرى لن نتحدث عنها. فعلياً بسبب التحويل الذي يعمله Scanner فإنه أقل كفاءة من BufferedReader، ولذا إذا كنت فقط تريد قراءة البيانات فلا حاجة لاستخدام Scanner. بالنسبة لما يقصده بiterate وtokens فدعني أشرح لك tokens أولاً: token هي