سؤال

أظل رؤية "bootstraping" المذكورة في مناقشات تطوير التطبيقات. يبدو على حد سواء على نطاق واسع وغير مهم، لكنني بعد أن صادف حتى التفسير الفقراء لما هو في الواقع؛ بدلا من ذلك، يبدو الأمر كما لو كان من المفترض أن يعرف الجميع ما يعنيه. أنا لا، على الرغم من ذلك. بالقرب من أن أتمكن من معرفة ذلك، له علاقة بمهام التهيئة المطلوبة للتطبيق عند الإطلاق، لكنني قد أكون مخطئا تماما في ذلك. هل يمكن لأي شخص أن يساعدني في فهم هذه الفكرة؟

هل كانت مفيدة؟

المحلول

يأتي "bootstrapappappapping" من المصطلح "سحب نفسك من قبل boottraps الخاص بك." هذا كثيرا يمكنك الحصول عليها من ويكيبيديا.

في الحوسبة، يكون لودر Bootstrap أول قطعة من التعليمات البرمجية التي تعمل عند بدء تشغيل الجهاز، وهي مسؤولة عن تحميل بقية نظام التشغيل. في أجهزة الكمبيوتر الحديثة التي يتم تخزينها في ROM، لكنني أذكر عملية Bootstrap على PDP-11، حيث تقوم بتدوك بت عبر مفاتيح اللوحة الأمامية لتحميل شريحة قرص معينة في الذاكرة، ثم قم بتشغيله. وغني عن القول، محمل bootstrap هو عادة صغيرة جدا.

يستخدم "Bootstraping" أيضا كصطلح لبناء نظام يستخدم نفسه - أو أكثر بشكل صحيح، إصدار سلف. علي سبيل المثال، antlr. مكتوب الإصدار 3 باستخدام محلل متطابق تم تطويره في Antlr الإصدار 2.

نصائح أخرى

مثال على التمهيد هو في بعض أطر الويب. يمكنك استدعاء index.php (bootstrapper)، ثم يقوم بتحميل الأطر المساعدين، النماذج، التكوين، ثم قم بتحميل وحدة التحكم ويمرر التحكم في ذلك.

كما ترون، إنه ملف بسيط يبدأ عملية كبيرة.

انظر حول مقال ويكيبيديا bootstrapping..

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

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

"... هي تقنية يقوم بها برنامج كمبيوتر بسيط بتنشيط نظام أكثر تعقيدا للبرامج".

"استخدام مختلف من مصطلح Bootstrapap هو استخدام مترجم لتجميع نفسه، من خلال كتابة جزء صغير من مترجم لغة برمجة جديدة في لغة موجودة لتجميع المزيد من برامج التحويل البرمجي الجديد المكتوبة باللغة الجديدة."

ينطبق مصطلح "Bootstrapappapapple" عادة على الموقف الذي يعتمد فيه النظام على نفسها للبدء ونوع مشكلة الدجاج والبيض.

على سبيل المثال:

  • كيف يمكنك ترجمة مترجم C مكتوب في ج؟
  • كيف تبدأ عملية تهيئة نظام التشغيل إذا لم يكن لديك نظام التشغيل يعمل بعد؟
  • كيف تبدأ نظام موزز (نظير إلى نظير) حيث يعتمد العملاء على أقرانهم المعروفين حاليا لمعرفة أقرانهم الآخرين في النظام؟

في هذه الحالة، يشير bootstrapping إلى طريقة كسر الاعتماد الدائري، عادة بمساعدة كيان خارجي، على سبيل المثال

  • يمكنك استخدام مترجم C آخر لتجميع (Bootstrap) التحويل البرمجي الخاص بك، ثم يمكنك استخدامه لإعادة ترجمة نفسه
  • يمكنك استخدام قطعة من التعليمات البرمجية منفصلة تقوم بإعداد العملية الأولية دون اعتمادا على أي وظائف مقدمة من نظام التشغيل
  • يمكنك استخدام قائمة بجدية مشفرة من الأقران الأوليين أو عنوان URL المقتفي المشفوف به اللوائح التي تزود قائمة الأقران

إلخ.

في سياق تطوير التطبيقات، عادة ما يأتي "bootstrapapping" عند الحديث عن برنامج وحدات وقابلة للتحديث التلقائي.

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

من أجل اكتمالها، إنها أيضا طريقة مهمة للغاية (و جديدة نسبيا) في الإحصاءات التي تستخدم إعادة زراعة / محاكاة لاستنتاج العقارات السكانية من عينة. لديها طولها مقال ويكيبيديا حول bleadstrapping (إحصاءات).

أليكس، إنه لأمر إلى حد كبير ما يفعله جهاز الكمبيوتر الخاص بك عندما يحدق. ("تمهيد" الكمبيوتر يأتي فعليا من كلمة bootstrapping)

في البداية، يعمل البرنامج الصغير في BIOS الخاص بك. يحتوي ذلك على رمز آلة كافية لتحميل وتشغيل برنامج أكبر وأكثر تعقيدا.

ربما يكون البرنامج الثاني هو شيء مثل NTLDR (في Windows) أو LILO (في Linux)، والذي ينفذ ثم يتمكن من تحميله، ثم قم بتشغيل، وبقية نظام التشغيل.

التمهيد الربط في معنى القاموس هو البدء مع الحد الأدنى من الموارد. في سياق نظام التشغيل، يجب أن يكون نظام التشغيل قادرا على التحميل بسرعة بمجرد أن تحدد الطاقة في الاختبار الذاتي (POST) أن آمنة لاستيقاظ وحدة المعالجة المركزية. سيتم تشغيل رمز حزام التمهيد من BIOS. BIOS هو مدمج صغير الحجم. بشكل عام، تعزز قفزة إلى مجموعة الإرشادات التي ستحميل نظام التشغيل إلى ذاكرة الوصول العشوائي. وجهة القفز هي قطاع التمهيد في القرص الثابت. بمجرد أن يتحقق برنامج BIOS هو قطاع تمهيد صالح يحتوي على عنوان بدء تشغيل نظام التشغيل المخزن، أي ما إذا كان برنامج MBR صالح (سجل التمهيد الرئيسي) أم لا. إذا كان سيتم نسخ نظام تشغيل MBR صالحا صالحا إلى الذاكرة (RAM) من هناك على نظام التشغيل يعتني بالذاكرة وإدارة العملية.

IMHO لا يوجد تفسير أفضل من حقيقة كيف كان أول مترجم مكتوب؟

في هذه الأيام، فإن تحميل نظام التشغيل هو العملية الأكثر شيوعا التي تمت الإشارة إليها

من حيث ذلك فيما يتعلق باستخدام Bootstrap Twitter الشهير، أشعر بأن هذا النوع من Bootstraping هو إجراء دمج مكون وحدات في تطبيق ويب دون وجود تطبيق الويب حتى يعترف حتى أن العنصر المعياري موجود حتى يحتاج إليه أو يشير إليه وبعد

يمكن للمطور دمج نسخة افتراضية بسلاسة من موضوع Bootstrap Twitter CSS بمجرد التحميل (الرجوع) في تطبيق الويب. فوهولا! ثم قد تحتاج إلى تجاوز بعض هذه التغييرات، ولكن يمكنك القيام بذلك بطريقة لا يمل بها الموارد / المكون وقابلة لإعادة الاستخدام تماما.

هذا المفهوم نفسه هو كيفية تنفيذ الويب Devs Apis المسج، وما إلى ذلك، لكنه لم يتم التعبير عنها حقا من قبل Devs ك bootstrapping في حد ذاته. ما تفعله هو أنه يحسن المرونة وإعادة الاستخدام مع السماح لعزل مكونات / موارد مختلفة من التطبيق للإقامة بحرية إما على نفس الخادم / S أو ربما على CDN.

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

bootstrappt لديه معنى آخر في سياق تعزيز التعلم قد يكون من المفيد معرفة المطورين، بالإضافة إلى استخدامها في تطوير البرمجيات (معظم الإجابات هنا، على سبيل المثال Kdgregory.) واستخدامها في الإحصاءات كما ناقش ديرك إديلبيتيل.

من ساتون وبارتو:

قامت Werrow، GUPTA، و MAITRA (1973) بتعديل خوارزمية المربعة الأقل مربعا (LMS) من Werrow and Hoff (1960) لإنتاج قاعدة تعليمية لتعزيز التعزيز التي يمكن أن تتعلم من الإشارات الناجحة والفشل بدلا من أمثلة التدريب. ودعوا هذا الشكل من التعلم "التكيف مع bootstrap الانتقائي"ووصفها بأنها" تعلم مع الناقد "بدلا من" التعلم مع المعلم ". قاموا بتحليل هذه القاعدة وأظهروا كيف يمكن أن يتعلموا لعب Blackjack. كان هذا هو صيغة معزولة في التعلم التعزيز من خلال Worrow، الذي كانت مساهماتها في التعلم المشرف أكثر نفوذا.

يصف الكتاب خوارزميات التعزيز المختلفة حيث تعتمد القيمة المستهدفة على تقريب سابق كطرائق Bootstrap:

أخيرا، نلاحظ أن آخر خاصية خاصة من طرق DP [البرمجة الديناميكية]. جميعهم تحديث تقديرات قيم الدول بناء على تقديرات قيم الدول الخلف. وهذا هو، فإنهم يقومون بتحديث التقديرات على أساس تقديرات أخرى. نسمي هذه الفكرة العامة bootstrapping.. وبعد العديد من أساليب التعلم التعزيز تؤدي bootstrapping، حتى تلك التي لا تتطلب، كما يتطلب موانئ دبي نموذجا كاملا ودقيقا للبيئة.

لاحظ أن هذا يختلف عن تجميع bootstrap والانفجار الاستخبارات الذي تم ذكره ويكيبيديا صفحة على bleadstrapping.

أنا أنتمي إلى الجيل الذي انقلبت مفاتيح لإدخال برنامج التمهيد. في أوائل الثمانينيات، عملت على الحواسيب الصغيرة تسمى Micro-78، التي طورتها شركة إلكترونيات الهند المحدودة (ECIL). لقد كان نوعا من استنساخ Altair 8800. أتذكر بشكل واضح ما يحدث عندما تم إدخال برنامج تمهيد صغير باستخدام مفاتيح التبديل وتنفيذه عن طريق الضغط على زر. يقرأ البرنامج برنامجا التمهيد الثاني الوارد في المسار الأول للقرص المرن والكتابة فوقه على حد ذاته بطريقة يمكن أن يبدأ برنامج التمهيد الثاني في التنفيذ لتحميل نظام تشغيل القرص. أعتقد أن مصطلح "Bootstrap" يشير إلى هذه العملية لقراءة برنامج التمهيد الأول والكتابة فوق برنامج التمهيد الثاني على حد ذاته، بطريقة "سحب نفسها" مع الوظائف الإضافية لبرنامج التمهيد الثاني. قد يكون ذلك أصل المعنى الأصلي ل "برنامج Bootstrap".

كمبتدئين متواضعين في عالم البرمجة، وضغفوا جميع الإجابات هنا بعد رؤية هذه الكلمة استخدمت كثيرا في طرق مختلفة قليلا في أماكن مختلفة، وجدت قراءة صفحة ويكيبيديا على Bootstraping (DUH! لم أفكر في إما في البداية) هو بالمعلومات للغاية لفهم اختلافات في استخدام هذه الكلمة. هل يمكن أن يكون ...... في مناسبات نادرة للغاية ...... قد يكون لدى ويكيبيديا تفسيرات أفضل من شروط معينة من .... (منقوشة)؟ هل سيحضرون نقاط مندوب على ويكيبيديا رغم ذلك؟

بالنسبة لي، يبدو أن هذه المعاني من المعاني التي يجب القيام بها مع: ابدأ بشيء بسيط قدر الإمكان 1، وجعل شيئا أكثر تعقيدا قليلا مع هذا الشيء 2، والآن يمكنك استخدام شيء 2 للقيام ببعض المهام بشكل أكثر كفاءة وبسرعة مما تستطيع في الأصل مع الشيء 1. ثم كرر من الشيء 2 إلى الشيء 3 adfinitum ...

أراها مرتبطة ارتباطا وثيقا لكل من التطور البيولوجي وطبقات التجريد "(مبتدئين مثلي لرؤية، اهيم، ويكيبيديا، السعال) - التطور من أجهزة الكمبيوتر في 1940 مع مفاتيح، رمز الجهاز، التجمع، ج، بيثون، AIS يمكنك إعطاء جميع أنواع التعليمات المعقدة التي تحبها "جعل العشاء٪ 4 ^٪ إلى متطلباتي الافتراضية و ^٪٪ وتنظيف الأرضية التي تقوم بها٪ $ £" @: ~ "في حالة سكر اللغة الإنجليزية أو الأمازون القبلية '(للمبتدئين مرة أخرى ... لقد خمنت ذلك) - غاب عن الكثير من الروابط هناك بسبب الجهل البسيط.

ثم في بعض معاني البرامج المحددة: المعنى 1: يستخدم Thing1 لتحميل أحدث إصدار من Thing2 (نظرا لأن الشيء بالطبع سيكون أكبر من الشيء 1، تماما كما هو شيء 3 سيكون أكبر من الشيء 2).

المعنى 2: Thing1 هو لغة مستوى أقل (أقرب إلى 1001011100 .... 011001 من الطباعة ("مرحبا،"، المستخدم. اسم المستخدم)) تستخدم لكتابة قليلا من لغة أعلى من الشيء 2، ثم هذا القليل من الشيء تستخدم لتوسيع Thing2 نفسه من مستوى المفردات للأطفال نحو مستوى المفردات للبالغين (يبدأ في معالجة Thing2، أو استخدام المصطلح التقني الصحيح "مترجم"، من خلال إصدار الطفل من نفسه (إنه طفل ذكي!)، في حين أن إصدار الطفل من Thing2 نفسها يمكن تجميعها بالطبع فقط من قبل Thing1، لأنها لا يمكن أن تكون موجودة قبل أن تكون موجودا، صحيح DUH!)، ثم النسخة الطفلة من Thing2 Compiles Surly Version من Teenager من Thing2، في أي نقطة، يقرر مجتمع البرمجة ما إذا كان "قضايا المراهق" تقدم مصطلح البرنامج ومصطلح الاستعارة!) إن قضاء وقت كاف لحل ما يكفي من حلها على المدى الطويل، أو التخلي عنها (غير متأكد من أين تأخذ القياس هنا).

إذا كانت الإجابة بنعم، فإن الشيء الثاني لديه "bootstrapped" نفسها (ربما بضع مرات) من الطفولة إلى مرحلة البلوغ: "الطفل هو والد الرجل" (wordsworth، واقترح لا تحاول البحث عن الاقتباس أو المؤلف على تجاوز سعة مكدس) وبعد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top