إذا سبق لك أن سافرت بالطائرة، فهناك احتمال كبير جدًا أن تكون العمليات التجارية التي جعلت رحلتك ممكنة في مكان ما في الخلفية مدعومة أو ممكّنة بواسطة نظام ما يقوم بتشغيل برنامج مكتوب بلغة Java. ربما كانت رحلة داخلية قصيرة - مثل رحلة من سيدني إلى بريسبان، أو من أتلانتا إلى ميامي أو من ساو باولو إلى ريو دي جانيرو - أو ربما كانت في الواقع رحلة دولية - ربما من لندن إلى نيويورك، ومن مونتيفيديو إلى سانتياغو دي. تشيلي أو من موسكو إلى مومباي. وفي كلتا الحالتين، من المحتمل جدًا أن يكون بعض النظام الذي كان جزءًا من تمكين رحلتك كراكب يعمل في Java. ربما كان تطبيق الويب هو الذي سمح لك بالبحث عن رحلة طيران مناسبة وشراء تذكرة عبر الإنترنت. كيف يعمل هذا البحث في الواقع؟ في الأساس، يستخدم البرنامج الذي يعالج طلبك هياكل بيانات وخوارزميات مختلفة ويتواصل مع أنظمة أخرى مثل خوادم الويب وخوادم التطبيقات وأنظمة قواعد البيانات لاستخراج المعلومات التي تبحث عنها. اعتمادًا على المدى الذي قطعته بالفعل في رحلتك على CodeGym، من المحتمل أن تكون قد صادفت الأساسيات الأساسية لعمليات البحث هذه. أنا متأكد من أن "الأشكال المتماثلة المرتبة من Planet Linear Chaos" ستمنحك نظرة ثاقبة على بعض تقنيات الفرز الخاصة بها. إذا لم تصادفهم بعد، انتبه جيدًا عندما تصل إلى مهمة "الأعداد التصاعدية" في الدرس 11 في المستوى 6. وهذا هو المكان الذي يبدأ فيه كل شيء تقريبًا. عد الآن إلى رحلتك كراكب والأنظمة المختلفة التي تتواصل في الخلفية للتأكد من حصولك على تجربة سفر سلسة. بمجرد وصول موعد رحلتك وتوجهك فعليًا إلى المطار، سترافق رحلتك المزيد من الأنظمة. يبدأ الأمر بنظام عرض معلومات الرحلة الذي يمكنك إلقاء نظرة عليه على بعض الشاشات الكبيرة في المحطة - أو ربما على أحد التطبيقات على هاتفك. سيساعدك هذا على سبيل المثال في معرفة مكتب تسجيل الوصول الذي يتعين عليك الذهاب إليه. قد يتم تشغيل مكتب تسجيل الوصول نفسه بواسطة شخص ما أو قد يكون مجرد تسجيل وصول بالخدمة الذاتية. وفي كلتا الحالتين، سيكون هناك برنامج قيد التشغيل - ربما مكتوب بلغة Java - يتحقق من تفاصيل رحلتك وما إذا كان لديك تذكرة مناسبة أم لا. في الخطوة التالية، من المحتمل أن تقوم بتسليم أمتعتك - إما إلى الموظفين عند مكتب تسجيل الوصول أو إلى مكتب تسليم الأمتعة بالخدمة الذاتية. وخمن ماذا - في كلتا الحالتين، سيقوم برنامج آخر بالتحقق من تفاصيل رحلتك وتذكرتك، وسيتأكد من عدم تجاوز عدد قطع الأمتعة المسموح بها ولا الحد الأقصى لوزن الأمتعة. وكيف تعرف أنظمة تسجيل الوصول وتسليم الأمتعة جميع المعلومات ذات الصلة بتفاصيل رحلتك؟ هذا سؤال جيد. باختصار، ستتواصل البرامج مع قاعدة البيانات التشغيلية المركزية للمطار (ما يسمى AODB) للتحقق من تفاصيل الرحلة من ناحية، ومع نظام معلومات شركة الطيران للتحقق من معلومات الركاب المحددة الخاصة بك من ناحية أخرى. قبل أن تصعد إلى الطائرة فعليًا، ستتواصل المزيد من الأنظمة مع بعضها البعض في الخلفية للتأكد من وصول أمتعتك إلى الطائرة الصحيحة، وأن الطائرة تحتوي على أطعمة ومشروبات ووجبات خفيفة على متنها، وأن مركبة التزود بالوقود توفر المعلومات الصحيحة كمية الوقود إلى الطائرة الصحيحة في الوقت الصحيح وأن طاقم الرحلة لديه جميع معلومات الرحلة اللازمة. والآن بعد أن أصبحت فعليًا على متن الطائرة، فقد يكون نظام الترفيه على متن الطائرة مكتوبًا بلغة Java. ولكن حتى لو لم يكن الأمر كذلك، فلا يزال هناك المزيد من البرامج والأنظمة التي تتفاعل مع بعضها البعض والتي على سبيل المثال تتحقق مع مراقبة الحركة الجوية مما إذا كانت الطائرة يمكنها المغادرة في الوقت المحدد، وبالتالي يتم ترتيبها للإقلاع في الوقت المحدد ، أو ما إذا كان هناك أي تأخير في الوصول أو المغادرة يجب انتظاره. هناك نظام آخر، على سبيل المثال، يتحقق من أحوال الطقس، وسيرسل تنبيهًا في حالة وجود أي ظروف جوية خطيرة في المستقبل تجعل من الضروري تأجيل وقت الإقلاع الفعلي - ربما لبضع دقائق فقط، وربما أكثر. بشكل عام، هناك العديد من الأنظمة المتفاعلة وعدد كبير منها مكتوب بلغة Java. كانت هذه مجرد نظرة عامة أساسية حول كيفية تمكننا أنظمة تكنولوجيا المعلومات المختلفة من السفر من مدينة إلى أخرى أو من بلد إلى آخر، وبالتالي نكون قادرين على العمل أو زيارة الأصدقاء أو مجرد قضاء إجازة في أماكن مختلفة حول العالم. يتوهم جدا، أليس كذلك؟! ؛-) هناك العديد من الأنظمة المتفاعلة وعدد كبير منها مكتوب بلغة Java. كانت هذه مجرد نظرة عامة أساسية حول كيفية تمكننا أنظمة تكنولوجيا المعلومات المختلفة من السفر من مدينة إلى أخرى أو من بلد إلى آخر، وبالتالي نكون قادرين على العمل أو زيارة الأصدقاء أو مجرد قضاء إجازة في أماكن مختلفة حول العالم. يتوهم جدا، أليس كذلك؟! ؛-) هناك العديد من الأنظمة المتفاعلة وعدد كبير منها مكتوب بلغة Java. كانت هذه مجرد نظرة عامة أساسية حول كيفية تمكننا أنظمة تكنولوجيا المعلومات المختلفة من السفر من مدينة إلى أخرى أو من بلد إلى آخر، وبالتالي نكون قادرين على العمل أو زيارة الأصدقاء أو مجرد قضاء إجازة في أماكن مختلفة حول العالم. يتوهم جدا، أليس كذلك؟! ؛-) مساهمتك ويمكنك - كمطور Java قادم - المساهمة في تبسيط وتحسين مجالات مختلفة من حياتنا باستخدام كود جميل يحل مشاكل العالم الحقيقي. إذا كنت تعتقد أن جميع البرامج المطلوبة قد تمت كتابتها بالفعل، فكر مرة أخرى. عدد التحسينات الممكنة من خلال الأنظمة الجيدة لا نهاية له إلى حد كبير. كما أن عدد برامج Java الموجودة بالفعل والتي تحتاج إلى صيانة وتخصيصها وتعديلها وفقًا للمتطلبات الجديدة كبير جدًا أيضًا. وكمثال آخر، فكر فقط في قطاع الصحة. قد يعمل العلماء في بلد ما مع علماء في بلدان أخرى من أجل إيجاد علاج لمرض ما. يتم تمكين تبادل البيانات من خلال الشبكات والبرامج، بحيث يمكن استخدام النتائج في بلد واحد في بلدان أخرى على الفور أيضًا. بفضل هذا النوع من التعاون، من الممكن إجراء تحسينات أفضل وأسرع. ولحسن الحظ، دعونا نلقي نظرة على مثال آخر. هل سمعت عن مصطلح إنترنت الأشياء؟ يرمز إنترنت الأشياء إلى "إنترنت الأشياء" وهو مجال كبير آخر حيث ترتبط الأجهزة الذكية المختلفة التي تشغل برامج صغيرة - العديد منها مكتوبة بلغة Java - ببعضها البعض وتتيح أسلوب حياة مريح للغاية. قد يكون أحد الأمثلة المحددة هو بيئة المنزل الذكي، حيث يمكنك التحكم في نظام التدفئة في المنزل عبر تطبيق على هاتفك. بهذه الطريقة يمكنك تشغيل التدفئة في منزلك في الوقت المناسب قبل عودتك فعليًا، وبالتالي تصل إلى مكان مريح. هناك العديد والعديد من السيناريوهات المتعلقة بإنترنت الأشياء - ومن المؤكد أن Java هي أحد عوامل التمكين الكبيرة هنا أيضًا. للتلخيص... ...هناك سيناريوهات أكثر من كافية حيث يمكن لأنظمة الاتصال الجيدة والخوارزميات المضبوطة أن تدعم مجالات مختلفة من حياتنا اليومية. آمل أن تمنحك هذه الرحلة الصغيرة إلى عالم Java في أحد المطارات والنظرة القصيرة إلى أماكن برامج Java في مختلف مجالات الحياة الحديثة دفعة إضافية من الحافز لتجد حقًا الدافع الذي يجعلك قادرًا على متابعة طريقك لكي تصبح مبرمجًا ماهرًا ومعترفًا به. ;-) :-) العمل الجماعي ومجال عمل مجزي هناك شيء آخر فقط قبل أن أبدأ بإخباركم المزيد عن نفسي وعن تجربتي مع CodeGym - يمكن أن يكون قطاع تكنولوجيا المعلومات بشكل عام مجزيًا للغاية عندما تعمل مع فريق جيد ويدعم أعضاء الفريق بعضهم البعض. يعد هذا أيضًا أحد الأشياء الرائعة حقًا فيما يتعلق بالعمل في مجال تكنولوجيا المعلومات بشكل عام - والعمل كمبرمج على وجه الخصوص. نحن لسنا متنافسين، ولكننا ندعم بعضنا البعض ونتعلم من بعضنا البعض من أجل التقدم بشكل كامل. أنا حقا أحب هذه النقطة. :-) وهناك مجال للكثير من المهنيين المهرة. في الواقع، في الوقت الحالي، يبدو أنه من غير المرجح أن يكون هناك المزيد من المعروض من المهنيين الجيدين أكثر من الطلب عليهم. أنا شخصياً أعمل كمتخصص في تكنولوجيا المعلومات في بيئة المطار، حيث أقوم بصيانة التطبيقات وتخصيصها، وتنفيذ حلول برمجية جديدة لتحسين العمليات التجارية وتكامل الأنظمة. بالإضافة إلى مهارات Java الأساسية التي ستتمكن من اكتسابها في CodeGym، يجب عليك أيضًا التأكد من اكتسابك المعرفة والمهارات في العمل مع قواعد البيانات - وخاصة قواعد البيانات العلائقية مثل Oracle أو Postgres أو MySQL. علاوة على ذلك، ستحتاج أيضًا إلى أن تكون قادرًا على العمل مع أطر عمل مثل Spring وHibernate، والتي تُستخدم بشكل شائع في بيئة تطبيقات المؤسسات. وسيكون اكتساب هذه المعرفة أسهل كثيرًا بمجرد الانتهاء من وضع الأساس الخاص بك بشكل صحيح من خلال متابعة دورة CodeGym. تجربتي مع CodeGym أعتقد أنك محظوظ جدًا لأنك صادفت CodeGym. لقد قمت بنفسي بتنفيذ جميع المهام الأربعة - Java Syntax وJava Core وJava Multithreading وJava Collections. لقد أكملت كل مهمة على حدة، مما يعني إجمالي 1307 مهمة - بدءًا من تجميع المادة المظلمة بمهام سهلة مثل كتابة التعليمات البرمجية أو طباعة نص على سطر أو مشاهدة مقطع فيديو مثير للاهتمام - ثم المضي قدمًا في حل بعض المشكلات الصعبة للغاية ، وإلقاء نظرة فاحصة على تعدد العمليات، وأخيراً تطبيق المعرفة الأساسية المكتسبة من المستويات العشرين الأولى جنبًا إلى جنب مع المعرفة المتخصصة التي يتم توفيرها في المستويات الأعلى لكتابة بعض المشاريع الصغيرة الرائعة في العالم الحقيقي. أود أن أقول إن معظم المهام كانت مثيرة للاهتمام وقيمة، وكانت أهم ما يميزني شخصيًا هو "كتابة تطبيق دردشة في Java" و"نمط تصميم MVC" من مهمة Multithreading، و"محلل سجل Java" والمهام المتعلقة بـ XML و JSON بالإضافة إلى اتصالات المقبس من مهمة Collections ولعبة Snake من مهمة Games. إن حل هذه المهام سيزودك بالمعرفة والمهارات حول كيفية التوصل إلى الحلول التي ستحتاج إلى التوصل إليها بشكل منتظم كمبرمج. يعد التسجيل وتبادل البيانات عبر XML وJSON على سبيل المثال باستخدام اتصالات المقبس من الموضوعات ذات الصلة للغاية في أي مجال من مجالات تكامل الأنظمة تقريبًا ويتم استخدامها على نطاق واسع في مجال تكنولوجيا المعلومات في المطارات. إنها رحلة تخوض فيها جميع المهام الأربعة، وقد تكون طويلة وصعبة في بعض الأحيان، ولكنها تستحق العناء تمامًا. يمكنك قراءة عشرة كتب أخرى عن البرمجة، ويمكنك مشاهدة عشرة كتب تعليمية أخرى عن البرمجة، ولكن لا شيء سيحل محل قيامك بالمهام العملية ذات الصلة بنفسك. أنت بحاجة إلى قراءة التعليمات البرمجية، وتحتاج إلى كتابة التعليمات البرمجية، وتحتاج إلى إنشاء حلول بنفسك، وتحتاج إلى فهم تعليمات برمجية الآخرين، وتحتاج إلى تصحيح الأخطاء وتصحيح الأخطاء وتصحيح الأخطاء. الكتب والبرامج التعليمية جيدة لدعم رحلتك، ولكن لا شيء يمكن أن يحل محل الخبرة العملية التي تحتاج إلى اكتسابها. ولن يجعلك أكثر ثقة ورضا عن نفسك أكثر من خوض هذه العملية. الأمر ليس سهلاً في البداية، لكنه سيصبح أسهل وأسهل مع مرور الوقت. يعد الانتهاء من مهمة Java Syntax هو الخطوة الأولى حقًا. وإذا واصلت ذلك ووصلت إلى المستوى 20 - وبالتالي أكملت مهمة Java Core أيضًا - فستكون جاهزًا لبعض المرح الحقيقي مع المشاريع الصغيرة. آمل أن تتمكن من الاستمرار في المهمتين الأوليين، وإذا قمت بذلك، فأنا متأكد من أنك ستتمكن من الاستمتاع بالمشاريع الصغيرة تمامًا كما استمتعت بها.
في الطريق إلى هناك، قد يساعدك أن تجعل القول التالي جزءًا من تفكيرك وفعلك - فهو - "إذا كان الأمر كذلك، فالأمر متروك لي!" قل ذلك مسموحًا - "إذا كان الأمر كذلك، فالأمر متروك لي!" نعم هذا كل شيء. أنت المسؤول ويمكنك تعلم كيفية البرمجة، بغض النظر عما إذا كان ذلك من أجل هواية أو مدرسة أو مهنة مهنية. ونعم، في بعض الأحيان قد ترغب في التخلص من "مؤخرة" نظام التحقق، لكن هذا أمر جيد لأن هذا يعني أنك مشارك، ويمكنني أن أعدك بأن هذا سيؤتي ثماره بالنسبة لك. نعم، كانت هناك عدة مرات كنت متأكدًا بنسبة مائة بالمائة من أن الكود الخاص بي يعمل بشكل صحيح، لكن أداة التحقق من الصحة لم تسمح لي بالمرور. لن يحدث ذلك كثيرًا، ولكن إذا واجهت هذا الموقف، فما عليك سوى تجربة أشكال مختلفة ولا تتردد في الاستفادة من قسم المساعدة المتاح. قد تجد تلميحًا قيمًا لأن شخصًا آخر ربما واجه مشكلة مماثلة، أو قد يعطيك شخص ما تلميحًا لمشكلتك الخاصة... :-) وربما تسمح لنفسك بتوسيع الجدول الزمني الخاص بك قليلاً - لنقل بدلاً من ثلاثة إلى ستة أشهر لحضور دورة CodeGym وتعلم بعض قواعد البيانات وأساسيات SQL بالإضافة إلى ذلك، وشهر إلى ثلاثة أشهر أخرى للتعرف على Spring وHibernate. أعني أن الأمر كله يعتمد عليك في النهاية، ولكن أود ببساطة التأكيد على أنه لا ينبغي عليك ممارسة الكثير من الضغط على نفسك فيما يتعلق بالجدول الزمني. يستغرق الأمر ببساطة بعض الوقت لاكتساب المعرفة والمهارات الحقيقية، ولكن الشيء الجيد هو أنك على الطريق الصحيح، وأن محتوى دورة CodeGym يفي بالغرض. لا يوجد وقت ضائع هنا والدروس والمستويات مبنية على بعضها البعض بشكل جيد للغاية. فقط ابدأ الرحلة، وكن متسقًا ومثابرًا - وسوف تنجح. ؛-) شيء اخر حسنًا، حسنًا، قبل أن أنهي الأمور، أود الإجابة على سؤال آخر قد يكون لديك أيضًا. هل يمكن مقارنة دورة CodeGym بوحدة دراسة البرمجة في كلية أو جامعة عادية؟ أود أن أقول، نعم يمكن ذلك. إنه في الواقع يغطي أكثر من معظم وحدات البرمجة التمهيدية ويغطي أيضًا الكثير من الموضوعات المتقدمة، مثل تعدد مؤشرات الترابط، وبناء واجهات المستخدم الرسومية، وكتابة فئات المجموعة الخاصة بك، واتصالات المقبس، وحتى أنماط التصميم مثل نمط MVC أو المصنع أو الأوامر. وبصرف النظر عن المحتوى الشامل والمنظم، فإن الميزة الكبيرة بالتأكيد هي مقدار المهام ذات الصلة التي ستتمكن من ممارستها وصقل مهاراتك في البرمجة. من الصعب حقًا التغلب على التحقق الفوري من المهمة وتعليقات المرشد والمساعدة من المجتمع. من ناحية أخرى، إذا كنت محظوظًا للدراسة في دورة في الجامعة مع أستاذ رائع يتمتع هو نفسه بالمهارة ولديه الكثير من الخبرات العملية، علاوة على ذلك، فهو قادر على إلهام طلابه حقًا ويزودهم بالعالم العملي والواقعي. المهام، وبالإضافة إلى أن لديك أيضًا بعض زملائك الطلاب الجيدين والمتحمسين، فسيكون من الصعب التغلب على تجربة الجامعة. ولكن لنكون صادقين، فإن فرص الحصول على مثل هذه الدورة التدريبية الرائعة ليست عالية جدًا، وحتى إذا كنت أحد المحظوظين الذين حصلوا على مثل هذه الدورة، فمن المحتمل أن يكون الاستثمار في الجامعة أعلى بكثير، وعلى الأرجح ستظل كذلك لا يوجد لديهم مجموعة أفضل من المهام ولا نظام تحقق أفضل... :-) تجارب الدراسة الدولية ونعم، لقد درست بالفعل في الجامعة، لقد درست في أستراليا وألمانيا. لقد حصلت على دورتين جيدتين وقيمتين حقًا مع أساتذة جيدين، كما حصلت على عدد من الدورات التي لم تكن أكثر من مجرد مضيعة للوقت - لذلك أعتقد أنه من العدل أن أقول إنني رأيت كلا الجانبين. ولم أدرس فقط مع الاقتصاديين والعلماء والمهندسين، بل قمت أيضًا بتبادل الخبرات مع العديد من الطلاب الدوليين، سواء كانوا من تشيلي، البرازيل، فرنسا، إسبانيا، الولايات المتحدة الأمريكية، أيرلندا، إنجلترا، إندونيسيا، فيتنام، هولندا. أو سويسرا أو السويد أو الدنمارك أو الصين أو روسيا أو كندا - على سبيل المثال لا الحصر. وعلى الرغم من وجود بعض الاختلافات في كيفية تقديم التدريس في مختلف البلدان، إلا أن طرق التدريس بشكل عام متشابهة تمامًا. بأي حال من الأحوال، فإن المشكلة الأكبر في معظم المجالات هي حقيقة أنه في كثير من الأحيان لا يتم تزويد الطلاب بالمهارات العملية الحقيقية التي تمكنهم من كسب لقمة العيش بشكل مريح. يرجى التأكد من أنه مهما كان ما تفعله، فإنك في الواقع لا تستنشق وتستهلك بعض النظريات فحسب، بل تقوم في الواقع بتطبيق كل ما تتعلمه. وإلا فلن يأتي سلاح الفرسان للإنقاذ... ;-) :-) هذه بعض التلميحات من جانبي. لحسن الحظ، أنت هنا الآن، وقد قامت CodeGym بإعداد دورة تدريبية ستزودك بالمعرفة والمهارات اللازمة لتعلم البرمجة - إذا كنت ترغب في ذلك - لتصبح مطور Java، وسيدعمك المجتمع بأكمله هنا - جنبًا إلى جنب مع Captain Squirrels، وDiego، وEllie، وKim، وRishi، وBilaabo، وJulio Siesta، وبالطبع البروفيسور Noodles - لكنك الشخص الذي يحتاج بالفعل إلى السير على الأقدام. أتمنى لك كل التوفيق في أي اتجاه تختار اتباعه، وآمل أن تجد الطريقة المناسبة لك. وتذكر - إذا كان الأمر كذلك، فالأمر متروك لك. ومع ذلك، فإن كل قوة CodeGym تحت تصرفك. ؛-) :-) Cheers Seb PS: إذا كان هناك أي شيء آخر لا تزال لديك أسئلة بشأنه، فنحن نرحب بك للاتصال بي.
GO TO FULL VERSION