Bootstrapping - что это за термин и где используется? В вычислительной технике он относится к процессу загрузки основного программного обеспечения в память компьютера после нажатия кнопки питания. Обычно для этого используется сокращенное написание - booting или boot. Поэтому файл загрузки операционной системы называется boot.ini. В файл записываются сведения о параметрах, с которыми будет загружаться программное обеспечение.
История возникновения термина bootstrapping
Обладая начальными знаниями английского языка, можно разобраться, что слово bootstrapping состоит из двух корней boot - ботинок и strap - ремешок. Окончание -ing обозначает процесс. Но что это - bootstrapping, и как появилось это слово? Термин используется как цифровой эквивалент дилеммы курицы и яйца и переводится как “подтягивание ботинок за ремешки”. Такое название связано со старой американской сказкой и фразой, появившейся в XIX веке: “Тянуть себя за ремешки ботинок за забором" ("Pull yourself up over a fence by your bootstraps"). Позже это выражение стало означать выполнение каких-то бессмысленных действий. Дело в том, что раньше в высоких ботинках были специальные ремешки, при помощи которых можно было подтянуть их и надеть на ноги. Они остались до сих пор в виде язычков на задней части обуви, облегчающих процесс их надевания. Ранее существовали специальные инструменты в виде крюка, которыми цеплялись эти ремешки.
Bootstrapping в философии и литературе
В XIX фразеологизм “тянуть себя за ремешки ботинок" стал обозначать невыполнимую задачу. В 1860 году термин появился в комментарии к одному из трудов по философии сознания. В нем говорилось, что попытка разума проанализировать себя аналогична попытке поднять самого себя за ремешки ботинок. Что это - bootstrapping? Это можно также понять как метафору, что лучше самого себя себе не поможешь. Похожее значение она впервые получила в 1922 году в модернистской новелле ирландского писателя Джеймса Джойса “Улисс”. Эта метафора породила дополнительные вариации для описания самоподдерживающихся процессов, которые протекают без внешнего воздействия. Отсылки к термину bootstrapping находят также в произведении писателя Рудольфа Эриха Распе “Приключения барона Мюнхаузена”. В книге есть сцена, где барон вытаскивает самого себя и своего коня за волосы. Но в этом эпизоде нет упоминаний ремешков ботинок, и в ранних версиях сказки их также не нашли.
Bootstrapping в программировании
Что это - bootstrapping в программировании? Он обозначает процесс загрузки системы, когда она “подтягивает себя за ремешки”, то есть обращается к загрузочным устройствам для запуска. Последовательность начальной загрузки - это то, что начинает этот процесс. В этом и состоит дилемма. Bootstrapping является средством, при помощи которого можно разрешить проблемы с программным обеспечением вне зависимости от машин, на которых оно установлено. Другими словами, оно позволяет разделять код и машину, позволяя одному фрагменту кода работать на разных машинах. Без таких вещей, как bootstrapping и компиляторы, пришлось бы постоянно переписывать программы и копировать все инструкции на каждую из машин. Если бы компьютеры работали на переключателях, тогда любому из них понадобилась бы индивидуальная схема для запуска. Bootstrapping как процесс загрузки состоит из нескольких этапов, на каждом из которых сначала загружается более простая программа, а затем она выполняет более сложную программу следующего этапа. Именно в этом смысле компьютер "тянет себя за ремешки ботинок", то есть улучшает самого себя.
Bootstrapping - что это за процесс?
Загрузка - это цепочка событий, которая начинается с выполнения аппаратных процедур, а затем продолжается обращением к операционной системе и программному обеспечению, которое загружается в основную память. Она часто включает в себя такие процессы, как выполнение самотестирования, конфигурацию настроек и дополнительных утилит. Компьютерный термин “bootstrapping” стал использоваться как метафора в 1950-х годах. В компьютерах после нажатия кнопки запуска начинала работать программа для чтения утилиты начальной загрузки. Затем компьютер выполнял программу bootstrap, которая заставляла его читать больше инструкций. Это стало самоподдерживающимся процессом, который протекал без внешней помощи, в зависимости от вручную введенных инструкций.
Разработка программного обеспечения
Bootstrapping может также относиться к последовательной разработке более сложных и быстрых сред программирования. Например, самой простой средой будет текстовый редактор и программа, написанная на языке "Ассемблер". При помощи этих инструментов можно написать более сложный текстовый редактор, простой компилятор для высокоуровневого языка и так далее. Bootstrapping - это метод, используемый для последовательного совершенствования машин и машинного обучения. Существует гипотеза, что искусственный интеллект способен самосовершенствоваться, улучшая себя и постоянно увеличивая потенциал. Этот аспект разработки программного обеспечения остается активной областью исследований.
Фреймворк Bootstrap в верстке
Он представляет собой фреймворк для создания сайтов или набор компонентов для фронтенд-разработки. Он предназначен исключительно для верстки и стилевых описаний, то есть содержит в себе компоненты с предустановленной версткой и предопределенными стилями. Последняя версия фреймворка - bootstrap 4. Он состоит из набора компонентов, собирая которые вместе, можно получить итоговый продукт. Например, компонент bootstrap modal помогает отобразить контент в модальном окне - специальном контейнере, который находится над содержимым страницы. Существует множество споров среди верстальщиков, нужно ли использовать фреймворки для работы. Мнений очень много, и все они противоречивы. Но важно понимать, что использование бутстрапа - это необходимость, когда требуется быстро собрать готовый рабочий прототип с какими-то простыми стилями. Bootstrap 3 версии или 4 версии можно использовать и более серьезно, создавая собственную сборку, которую впоследствии можно использовать на крупном проекте.
Применение
Использование фреймворка очень сильно ускоряет работу верстальщика. Без него огромное количество стилевых описаний, которые пишутся регулярно, не нужно создавать каждый раз заново. Достаточно воспользоваться готовыми шаблонами - bootstrap templates. Конечно, можно отказаться от использования этого инструмента и писать все вручную, но тогда работа верстальщика становится менее эффективной. Например, создание меню в bootstrap займет несколько минут, а написание его с нуля может отнять несколько часов работы. Тогда на сборку небольшой простой странички потребуется гораздо больше времени, что негативно скажется на имидже верстальщика и повысит затраты заказчика на проект.
В современном фронтэнде использование CSS из Bootstrap считается нормой и одним из стандартов работы. Поэтому всем претендентам на должность веб-разработчика желательно иметь хотя бы минимальное представление о том, что это такое, как с ним взаимодействовать и применять в работе. Такие знания гарантируют больше возможностей для трудоустройства. В фреймворк входит набор стилевых описаний, HTML-шаблонов и скриптов на JS. Bootstrap использует в качестве основной библиотеки JS, на которую опирается - JQuery. В настоящее время примерно 5% всех существующих сайтов созданы с применением этого фреймворка. Среди самых посещаемых из них он используется в 18% случаев. Bootstrap может применяться полностью или частично.
Использование бутстрэппинга в бизнесе
Bootstrapping в бизнесе означает “начать свое дело без внешней помощи или капитала” или “дело с нуля”. Такие стартапы финансируют развитие своей компании через внутренний денежный поток и внимательно относятся к своим расходам. При запуске проекта предприятие выделяет небольшие суммы денег непосредственно под загрузочный процесс, или бутстрэппинг. Стартапы могут расти за счет реинвестирования прибыли в собственный рост при низких издержках и высокой окупаемости.
Такой подход к финансированию позволяет собственникам контролировать свой бизнес и вынуждает их внимательно относиться к клиентам, генерировать оригинальные идеи и мотивировать сотрудников. Бутстрэппинг дает возможность бизнесменам ориентироваться на клиентов, а не инвесторов, что увеличивает вероятность создания прибыльного бизнеса. Этот метод помогает быстро организовать свое дело, но при этом невозможен без тщательного планирования бюджета.