إيجابيات استخدام مكدس مملة

لماذا أعتقد أن اختيار مكدس مملة مهم في البرمجة

سألني شخص سؤالاً قبل أيام قليلة. أراد الشخص بدء مدونة ، وقرروا كتابة نظامهم الأساسي الخاص بها ، باستخدام Angular في الواجهة الأمامية.

كان إجابتي أنه إذا كان الهدف هو التدوين ، فعليهم أن يخدشوا هذه الفكرة ، ويستخدموا حلًا جاهزًا.

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

يجب أن تبتعد التكنولوجيا عن الطريق، يجب عليك فقطركز على المحتوى.

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

إذا كنت تريد إنشاء مقطع فيديو ، فهل ستكتب نسخة من YouTube أولاً؟ هل يمكنها التعامل مع 100 مليون زائر في وقت واحد؟ يذكرني بالأشخاص الراغبين في كتابة ألعاب الفيديو والبدء في بناء محرك فيزيائي أولاً ، وعدم إنهاء اللعبة مطلقًا في هذه العملية.

أستخدم Hugo ، مولد موقع ثابت.

Hugo هو الأفضل بالنسبة لي لأنه يركز على التدوين وتخفيض الأسعار. أنهممل. لغتها النموذجية مملة. إنه أمر ممل لدرجة أنني عندما أضطر إلى تعديل شيء ما ، فإنني أنام. أحبه.

أفضل ميزة في Hugo هي أنهاسريع، أعتقد في الغالب بفضل استخدام Go under the hoods. تبدو وكأنها ميزة مملة هذه الأيام.

"انظر إلى غاتسبي ، إنه رائع ولامع للغاية!"

جاتسبي(استخدم كمثال فقط ، لا شيء ضده) هو بالفعل خيالي للغاية بالنسبة لذوقي ، على الرغم من أنها تقنية رائعة. لماذا؟ يجعلك تركز كثيرًا على التكنولوجيا وبدرجة أقل على النتيجة. بصفتك مطورًا ، قد تشعر أن هذا رائع ، لكنه ليس كذلك. رد فعل ، GraphQL ، كل شيء مثير للغاية.

هذا يذكرني بإعادة، والناس متحمسون للعرض التوضيحي مع "السفر عبر الزمن" ، وهي ميزة مفيدة حقًا للترميز اليومي [نهاية النكتة]. لحسن الحظ ، زاد الأشخاص من تعقيد تطبيقاتهم لمجرد استخدام تقنية لامعة.

دعنا نتحدث عن الجلب المسبق على سبيل المثال. هل نحتاج حقًا إلى الجلب المسبق عندما يكون الموقع الثابت بالفعل بأسرع ما يمكن؟ هل يطلب زوار مدونتنا ذلك؟ ما هي السلبيات؟ ما الخطأ الذي يمكن أن يحدث؟

تذكر قانون مورفي: "أي شيء يمكن أن يسوء سوف يسوء"

تحدثت ذات مرة إلى شخص بدأ مدونة باستخدام Gatsby فقط لأدرك أنه لم يقم بتمكين العرض من جانب الخادم ، على الرغم من أنه تم تمكينه ، مما جعل المدونة غير مرئية تقريبًا لـ Google (نعم أعلم أنهم ينفذون JSبعض الأحيانولكن تحمل معي ،التمسك بالعرض الممل من جانب الخادم).

في مدونة متوسطة ، تحصل على متوسط مشاهدة صفحة 1.1 / 1.2 لكل مستخدم. هذا يعني أن الغالبية العظمى من المستخدمين سيأتون إلى موقعك ، ربما عبر Google ، لإلقاء نظرة سريعة والرحيل. هل تحتاج حقًا إلى إحضار جميع الروابط مسبقًا؟ لماذا تضيع كل تلك البيانات والقوة؟

دعنا نتوقف عن مواجهة Gatsby ، فأنا أحبها حقًا كأداة لإنشاء مواقع الويب والتطبيقات.

كانت وجهة نظري هي أنه لبدء مدونة بسيطة ، لا تحتاج على الأرجح إلى 80٪ مما تفعله. استخدم أداة أبسط ، أداة مصممة فقط للتدوين ، وبالتأكيد لا تكتب ما تريد.

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

تضيع الكثير والكثير من ساعات العمل إلى الأبد لأننا نقفز بشكل جماعي من المكتبة القديمة إلى المكتبة الجديدة ومن الإطار القديم إلى الإطار الجديد. فكر في jQuery و Backbone و Ember ، بالإضافة إلى كل الجازيليون التي جاءت قبلها أو بعدها. أعتقد أن AngularJS مقابل Angular. فكر في جميع أطر PHP التي جاءت قبل أن ينتشر Laravel في عالم PHP. هل تتذكر "ثورة" NoSQL التي جعلتنا جميعًا نعيد النظر في استخدام MySQL لصالح أنظمة قواعد بيانات أكثر دقة ومرونة؟ تبين أن SQL لا تزال قوية.

“Just use MySQL, the boring tech revolution is here” Marty Weiner, Reddit CTO, 2016

تم إنشاء معظم الأدوات التي يعتبرها المطورون معايير الصناعة من قبل شركات ضخمة مثل Google و Facebook وهي مثالية لاحتياجاتهم. قد يكون لفريق صغير أو مطور منفرد نفس الاحتياجات ، ولكن هل هذا محتمل؟ أم أن كل ذلك مدفوع بضغط الأقران والضجيج؟ أم عن طريق التسويق؟

هل الشيء الذي تريد القيام به يمكن تحقيقه تمامًا باستخدام JavaScript عادي وDOMواجهات برمجة التطبيقات ، أو هل تحتاج حقًا إلى إعادة كتابة كل تطبيقاتك بتنسيقتتفاعلوتقضي أيامًا في محاولة صنعهاحزمة الويبافعل ما تريد؟ في بعض الأحيان يكون هذا خيارًا رائعًا ، وأحيانًا أقل من خيار مثالي. إن العمل مع واجهات برمجة تطبيقات DOM يشعر بالملل ، ولكن هذا قد يجعل تطبيقك أسرع بكثير ، بينما يقول كل شخص آخر في الدائرة الهندسية إن الأمر سيكون في حالة من الفوضى ، فقد تشحنه في وقت أقل بـ 10 مرات وقد يعمل بشكل أفضل 10 مرات.

إحدى القواعد هي أنك تعرف عيوب منصتك ، والعشب دائمًا أكثر خضرة على الجانب الآخر من السياج ، وتريد أن تتخيل منصات جديدة مثالية بنسبة 100٪. هذا لم يحدث أبدا ، والشيطان يكمن في التفاصيل.

التفاصيل التي ربما أتقنتها في سنوات من الاستثمار في تلك المجموعة التي تبدو الآن مملة بالنسبة لك ، لأنك مهندس! تحب التحديات! لا تريد أن تفوت فرصة تعلم أشياء جديدة!

لا زال بإمكانك فعلها.

أعتقد أنه يجب عليك دائمًا التجربة وإنشاء مشاريع جانبية ، ولكن عندما يتعلق الأمر بالمنصات الهامة (مثل منصة مدونتك ، فهذا أمر بالغ الأهمية إذا كنت جادًا في ذلك) ، فإن التكنولوجيا المملة أفضل. وفهم هذا المفهوم جزء من أن تصبح مطورًا أول.


المزيد من الدروس المعملية: