Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Будут ли проблемы с внешним жестким диском, если он постоянно подключен к разветвителю ноутбука к которому подключено питание?

Лучший ответ:
Не увидел отдельного кабеля питания.
До сих пор все, с которыми я сталкивался обеспечивали стабильную работу жесткого диска, если там отдельных кабель под питание, а отдельный под данные.
Если питать и передавать данные по одному-единственному USB - то все очень плохо.Получается внешний диск будет постоянно стартовать и останавливаться или он будет постоянно работать?
Если взять прямо специализированное устройство нормального производителя типа https://www.seagate.com/ru/ru/consumer/backup/
то такие сами умеют вне умений ОС уходить в сон, когда не нужны.

Худший ответ:
Если внешний жесткий диск подключить через этот адаптер, будет ли он работать?Не знаю что за адаптер - как правило да, если питания хватит.
Обычно ноутбучному диску 2.5дюйма вполне хватает.Не будет ли проблем, если я периодически отключаю\подключаю ноутбук к этому адаптеру (ну и зарядке, соответственно)?Нет. Каких то особых проблем для диска нет.  Получается внешний диск будет постоянно стартовать и останавливаться или он будет постоянно работать?Если питание будет отключатся естественно будет останавливаться как же он без питания.
А пока не отключите питание он будет вращаться, при длительном бездействии разве что головки запаркует.
Вопрос: В чем ошибка в методе reduce()?

Лучший ответ:
Начальное значение для суммы не указалlet array = [-2, 0, 1, 2, 3];
let result = array.reduce(function(sum, element, index, thisArray) {
  if(element >= 0) {
    return sum + element;
  } else {
    return sum;
  }
}, 0);
console.log(result); // 6

Худший ответ:
Начальное значение для суммы не указалlet array = [-2, 0, 1, 2, 3];
let result = array.reduce(function(sum, element, index, thisArray) {
  if(element >= 0) {
    return sum + element;
  } else {
    return sum;
  }
}, 0);
console.log(result); // 6
Вопрос: Как правильно упаковать .py в .exe?

Лучший ответ:
Ну судя по ошибке - telebot не может найти файл сертификата SSL.
Дело все в том, что при запуске exe, созданного pyinstaller, сначала все содержимое распаковывается во временную папку, а затем запускается из нее, соответственно путь другой.
Поэтому что можно сделать в вашем случае:
файл SSL добавить в упаковку pyinstaller, с помощью опции --add-data. Пример:
pyinstaller -F --add-data ssl;. main.py
Где:
ssl - файл сертификата;
. - точка означает текущий каталог, это если файл сертификата лежит в корне со скриптом.
Затем в самом скрипте надо добавить следующий код:import os
import sys
def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    if getattr(sys, 'frozen', False):
        base_path = sys._MEIPASS
    else:
        base_path = os.getcwd()
    return os.path.join(base_path, relative_path)
Затем в том коде, где вы передаете данный файл боту, надо задавать его через данную функцию.

Худший ответ:
Попробуй cx_freeze.python -m pip install cx_freeze
Далее создай файл setup.py и внеси в него следующий код:import some_module
from cx_Freeze import setup, Executable

executables = [Executable('example.py')]

setup(name='hello_world',
      version='0.0.1',
      description='My Hello World App!',
      executables=executables)
В начале импортируй все модули, которые использует твоя программа.
Далее запускай консоль и пиши:python setup.py build
Вопрос: Какой использовать плагин для стилизации checkbox и radio?

Лучший ответ:
Именно для checkbox и radio лучше использовать просто css.
https://codepen.io/anon/pen/wyZLdy

Худший ответ:
дык они как раз без плагинов отлично стилизуются
вот грубый пример с двумя картинками<label>
  <input type="checkbox">
  <img src="notchecked">
  <img src="checked">
</label>[type=checkbox] {display: none}
[type=checkbox] + img { display: block;}
[type=checkbox] + img + img { display: none;}
[type=checkbox]:checked + img { display: none;}
[type=checkbox]:checked + img + img { display: block;}
Вопрос: Как лучше организовать сеть между несколькими офисами?

Лучший ответ:
наймите того кто сделает

Худший ответ:
Добрый день.
 Если есть убунту то можете попробовать openvpn.
и советую поменять ваш маршрутизатор на какой нибудь cisco или микротик.
Вопрос: Использовать только width для флексбокс сетки норм?

Лучший ответ:
В чем разница между flex-basis и width?

Худший ответ:
Разницы не будет до тех пор, пока не повернете главную ось. Например, при адаптации к мобильным размерам. 
В случае с шириной, указанное значение так шириной и останется. А в случае basis станет высотой. 
Я обычно не меняю направление оси, а только изменяю width или basis. В случае с сеткой вероятнее всего будет также, но надо смотреть как устроена конкретная.
Т.е. вывод: если поворота главной оси нет, то без разницы. 
Песочница для горизонтальной основной оси: https://jsfiddle.net/Ls3mdfa5/ В ней можно поэкспериментировать с разными shrink, grow и содержимым ячеек, при том, что у средней в одном случае width, в другом basis.
Вопрос: Можно/целесообразно ли делать анимированные переходы в вебе?

Лучший ответ:
Классный пример, спасибо, сохранил себе в закладки.
Тут сильно зависит от технологий, которые применяются в проекте. Если это стандартный серверный рендеринг, то такое сделать не получится. В данном же случае используется изоморфный фреймворк nuxt.js,  который при переходам по ссылкам внутри проекта использует клиентский рендеринг, а при "прямой" загрузке страницы - серверный. 
Именно за счет клиентского рендеринга можно хранить глобально определенные данные и делать такие смены интерфейса
Тут 2 подводных камня:
1. Красивые анимации - это всегда сложно и долго для тех, кто с ними плотно не работает. 
2. Почти вся информация забирается с сервера, а значит надо при переходе на новые страницы постоянно делать запросы, выполняющиеся определенное время. В этот момент в интерфейсе желательно вставлять какие-то заглушки, которые потом аккуратно будут заменяться на новый контент.

Худший ответ:
Такого рода анимации предполагают работу без перезагрузки страницы. Если это какой-то контентный сайт, то возникнут сложности с подготовкой сайта к СЕО. Отсюда сильно возрастет ценник на разработку. Не знаю, готов ли кто-нибудь переплатить за красивые анимации, а потом еще переплатить за SSR. А потом еще год отлавливать баги)
Вопрос: Как лучше указывать локаль?

Лучший ответ:
Первый вариант удобен тем, что выбранную локаль можно убрать в куку/в сессию/ещё куда-то, и потом прозрачно использовать. А если использовать эту ссылку только для переключения между языками - так вообще удобно, плюс можно можно использовать уже настроенные приоритеты по языкам в браузере.

Второй вариант удобен для веб-пауков поисковых машин и прокси серверов. Но пользователям по этим ссылкам ходить недобно, они будут попадать на конкретный фиксированный язык, не зависящий от приоритета языков в браузерных настройках.

Худший ответ:
Тем же озадачен.
Поисковики настоятельно рекомендуют использовать второй вариант.
Вопрос: Как узнать длину числа в битах?

Лучший ответ:
как это "длина числа в битах", что нужно делать чтобы ее определить. 
Это количество бит необходимых для записи числа.
Нужно взять следующее бОльшее целое число после логарифма числа по основанию 2. Т.е. 1 -- 1 бит, 2 -- 2 бита, 3 -- 2 бита, 4 -- 3 бита... 1023 -- 10 битов, 1024 -- 11 битов... 179,769,313,486,231,590,772,930,...,304,835,356,329,624,224,137,215 (309 цифр) -- 1024 бита, 179,769,313,486,231,590,772,930,...,304,835,356,329,624,224,137,216 -- 1025 битов...

Худший ответ:
128 байтовое целое?
Вопрос: Как проверить чужой код на безопасность, если не особо разбираешься во всех тонкостях языка?

Лучший ответ:
Прекратить копипастить и начать писать код самостоятельно.

Худший ответ:
Попробуй обратиться в лабораторию комплексной защиты объектов информатизации. Этому учатся годами. По этому запросу точно найдешь. Я уже искал. А еще посмотри канал Хауди Хо. Там про уязвимости есть (не только sql-инъекции). Там про js есть.
Вопрос: Компилирую ядро на Линуксе Федоре 31, при исполнении команды «make -j2 bindeb-pkg» вылезают такие ошибки ,как исправить господа?

Лучший ответ:
С компиляции ядра шарить в Linux не начинают. Тем более зачем компилировать ядро? Тем более в Fedora? Ядра компилируют для чего-то конкретного, а судя по

В линуксах совсем не шарю
автору вопроса просто делать на карантине в режиме самоизоляции нефиг.

Мой совет: надо вернутся на вантуз, продолжать играться в танчики или ещё какую ересь и не лезть туда, где "совсем не шарю" даже из-за того, что делать нечего.

Худший ответ:
Зачем же править го́спода?
Просто установите, для начала, все указанные зависимости - bc, rsync, kmod, cpio, bison и flex - в dev-варианте.
Вопрос: Когда не стоит использовать стрелочные функции?

Лучший ответ:
function - кода тебе нужна функция.
arrow-function - когда тебе нужна лямбда, т.е., условно, коротенькая анонимная функция, объявляемая по месту использования.

Всё остальное в основном хипстерский хайп или мракобесие от непонимания как работать с контекстом.

Худший ответ:
Когда нужен ИЕ версии без поддержки таковых или моб устройства с не оч свежими версиями браузеров... Ну или не засорять проект разными стилями конструкций.
Вопрос: Как контролировать FTP аккаунты?

Лучший ответ:
Манов полон Гугл:
разложено всё по полочкам, но длинно: blog.sedicomm.com/2018/11/05/ustanovka-nastrojka-i...
коротко и ясно: https://moonback.ru/page/vsftp-debian-9

Худший ответ:
 На просторах интернета ничего похожего найти не смог.
Плохо искали :)
Вам, насколько я понял нужен обычный FTP-сервер, которых полно самых разнообразных под все что угодно, в том числе даже под винду :)
Вопрос: Как систематизировать изучение JS?

Лучший ответ:
Если это не первый язык, то основы синтаксиса вы быстро освоите.
Затем встроенные методы работы со строками, массивами, объектами. Это не обязательно зубрить, какой-нибудь Array.forEach и так рано или поздно усвоится, но желательно знать какие вообще методы бывают и где о них почитать подробнее.
Приведение типов немного отличается от PHP, надо привыкнуть.
Дальше всякие специфические js штуки, типа замыканий и странноватого this, с ними можно долго возиться.
Асинхроность отдельным пунктом.
Потом (или параллельно) браузерный API и DOM. Объемы там в разы больше чем собственно в языке, но для повседневной работы нужно далеко не все, тут тоже важно понять какие возможности существуют в принципе, и где примерно в справочнике их найти.
И затем фремворки и библиотеки.
Естественно вы можете немного переставлять эти пункты местами и что-то изучать параллельно, но у вас не получится изучить Vue до того, как освоите основы синтаксиса.
Учебник https://learn.javascript.ru/  неплох, но можно почитать и бумажную книгу какую-то.
Отдельные темы неплохо расписаны на mdn, но все-же это в первую очередь крутой справочник, а не структурированный учебник.
Основы языка можно потренировать на codewars. Очень круто, если решаешь задачу не подглядывая, а потом сравниваешь свой код с топовыми ответами и разбираешься почему у них 7 строчек, а у тебя 30. Но надо вовремя остановиться и не увлечься написанием всякой нечитаемой фигни.

Худший ответ:
Ссылок, собственно, дофига..
https://learn.javascript.ru/
https://github.com/getify/You-Dont-Know-JS
jstherightway.org
largescalejs.ru
shop.oreilly.com/product/9780596517748.do
https://habr.com/company/ruvds/blog/337042/
У Кантора вполне себе систематизированный учебник. Именно с него я начал, когда понял, что jquery для меня недостаточно.
Но дело не только в том, что вы читаете учебник. Я уже 100500 раз, наверное, это говорю, но:
1. Вы должны решать все задачи, которые есть в списке задач к главам.
2. Важно ещё пытаться применить полученные знания где-то: в своей работе, или в какой-то выдуманной задаче. То есть, например, нужно использовать `Array.prototype.filter` столько раз, чтобы не возникало больше вопросов "как оно работает?", чтобы руки "помнили". 
Разумеется, это всё нужно для того, если вы хотите во фронт. Пласт информации огромный. Сам js, браузерные API, и прочее-прочее.. 
Может быть, что всё выше - оффтоп, но дело в том, что нет систематизированного подхода, как мне кажется.
Есть знакомые, которые умеют работать только с DOM-ом и событиями, а как работать с данными в js, что такое замыкания - не знают. А сайт Ильи Кантора им почему-то кажется сложным.
Просто решайте разные задачи: работайте с данными; рисуйте на canvas, svg; манипулируйте DOM-ом; используйте service worker-ы; etc.. Это и будет расширять ваш кругозор.. 
Но начать я бы советовал всё-таки с учебника Ильи ;)
Вопрос: Как запустить приложение Flask на сервере?

Лучший ответ:
Соответствующий раздел документации Flask.

Худший ответ:
Используйте nginx с его proxy pass.
Вопрос: Проектирования СУБД для хранения больших объемов?

Лучший ответ:
Говорят, именно в таких случаях  реляционные БД показывают своё преимущество.

Худший ответ:
За MongoDB не скажу. Но общее направление очевидно:
- планы запросов (используются ли индексы? или перебирается вся таблица?)
- дисковые операции (возможно, имеет смысл купить SSD с лучшим показателем IOPS).
- масштабирование (организовать несколько slave-реплик и распределять "поисковую" нагрузку между ними)
- денормализация (создать поля и таблицы со "вторичными" данными; например, с количеством товаров; тогда, возможно, удастся обойтись без операций count или сократить кол-во этих операций)
- логика приложения (возможно, без каких-то операций можно обойтись)
Вопрос: Как лучше подключать Bootstrap?

Лучший ответ:
Локально.
Подключение через сервисы дольше времени занимает. Тем более, твой ресурс будет больше зависеть от места, с которого ты подключаешь его.

Худший ответ:
вообще лучше как npm пакет
Вопрос: В чем причина постоянно умирающего SSD?

Лучший ответ:
В первую очередь нужно посмотреть на БП, так как если там присутствует какое-либо не соответствие по напряжению (либо сильные отклонения при нагрузке), то это напрямую может влиять на сам контроллер и продолжительность его работы. Обычно при работе жёстких дисков и SSD допустима норма отклонения в 5%, но иногда, в зависимости от БП, эти отклонения могут быть и больше (ввиду просадок или скачков напряжения). 
В сети много статей на тему «допустимые отклонения по напряжению при работе жёсткого диска» (что также подходит и для SSD). Возможно стоит идти в данном направлении.

Худший ответ:
Можно ещё попробовать запустить `iostat 60` в терминале чтобы посмотреть, может там действительно большое количество записи в простое или от какого-то приложения. В S.M.A.R.T. непонятно со счётчиком записанного, если только Total_LBAs_Written в Гб (тогда получается 2911 против 1702 прочитанного).
Ещё где-то видел совет оставлять на SSD неразмеченное пространство не относящееся ни к какому разделу. Всегда так делаю и пока всё живо при сравнимом износе.
Вопрос: Как увеличить конверсию сайта?

Лучший ответ:
Старая версия сайта давала как минимум чёткое представление о порядке цен. Новая же, напичкана кучей говна, которое не даёт вообще никакой новой информации. Тот кто хочет заказать себе сруб уже изучил тему в интернете и знает про срубы достаточно много, чтобы ещё раз демонстрировать ему эти "профили". Чтобы добраться до цен, приходится переходить на другую страницу (что вообще не очевидно) до которой скорее всего люди не доходят.
Не увидел ни одного конкурентного преимущества. Чем вы отличаетесь от других? Дёшево, качественно, быстро? Было бы странно если бы вы написали "Ну как бы дёшево и быстро, но не очень качественно. Ну сами понимаете." 
А это милое "Мы вам всё посчитали, а теперь дайте нам свой email, чтобы мы вас задолбали и мы покажем вам готовые цифры" - вообще бред. Никто никогда. практически, не оставляет свой адрес незнакомым людям.
В общем займитесь портретом целевой аудитории а не анимашками на сайте.

Худший ответ:
Пришел вечером домой с завода :) . Плюхнулся на диван с ноутбуком и бутылочкой "Балтики" :) . Посмотрел ваш сайт несколько минут. Сделал несколько глотков пива :). Ещё посмотрел. Самое первичного ощущение:
--- мне не хватает видимости лиц, которые за всем этим стоят. Хотя бы на уровне основных столпов команды. Ощущение, что сайт-муляж.
Вопрос: Как убрать из Google Forms надписи, что это гугл фом?

Лучший ответ:
Нет, это нарушит правила использования сервиса

Худший ответ:
другой сервис, но такие надписи удаляются платно
Вопрос: Как и что учить по сетям?

Лучший ответ:
Для cisco могу посоветовать "Сети для самых маленьких" . Отличный курс . Также у них есть свой сайт, где много интересного и не только cisco. Так же у INE есть отличные курси и по циске и по джуну.
P.S. В packet tracer столькнётесь со многими багами, для начала вам сойдет, потом сомтрите в сторону GNS3 и  Eve-ng. У них есть возможность виртуализировать и циско и микротик и джунипер и линукс сервер. Для huawei  лучше использовать eNSP

Худший ответ:
Рекомендую пройти курсы по Микротику - на них дается много нюансов и мелочей, которые не найдешь или набивая шишки постигаешь сам. (По собственному опыту знаю). :) Дороговато, но оно того стоит.
Вопрос: Как правильно юридически оформить сайт по продаже услуг?

Лучший ответ:
1. Если это не результат вашей творческой деятельности и речь идет о регулярных платежах - то нужно ИП или ООО или т.п.
2. Можете, но зачем? Если вы все оформите полноценно, то платежная система будет просто перечислять вам на банковский счет.
3. Не важно.
4. Да. Нормальные платежные системы требуют этого. И дают пример такого текста. Как минимум там должно быть внятно написано, что человек покупает, как он может вернуть и пр. и пр.
5. А еще нужна онлайн-касса.
0. Но как правило при небольших объемах на всю юриспруденцию забивают.

Худший ответ:
Если по-хорошему, то надо ИП/ООО. 
Сейчас неразбериха с самозанятыми, пилотный проект запускают в 4х регионах. Есть негласное указание по-мелочам не щемить.
Вопрос: Как правильно добавлять класс active?

Лучший ответ:
Не используйте миллион parent(). Лучше 1 раз closest - это улучшает читаемость в тысячи раз:$('.law-face__item-toggle').click(function(e) {
    $('.law-face__item-toggle').removeClass('active').closest('.parent').removeClass('active');
    $(this).addClass('active').closest('.parent').addClass('active');
});

Худший ответ:
Не используйте миллион parent(). Лучше 1 раз closest - это улучшает читаемость в тысячи раз:$('.law-face__item-toggle').click(function(e) {
    $('.law-face__item-toggle').removeClass('active').closest('.parent').removeClass('active');
    $(this).addClass('active').closest('.parent').addClass('active');
});
Вопрос: Как в моем случае использовать flexbox?

Лучший ответ:
Можно вот так, размеры естественно свои подставить:snippet

Худший ответ:
https://wp-kama.ru/id_8045/flex-v-css.html
 На будущее ..
Вопрос: Как разместить на 80 порту IIS 7.5 сервера SharePoint 2010 и Laravel 5.6?

Лучший ответ:
Диспетчер служб IIS -> Установщик веб-платформы -> в поиске набрать php, добавить нужную версию (7.1)
далее в сайте добавляете виртуальный каталог, физически указывающий на папку public проекта laravel. Указываете пользователя для анонимного подключения ("Подкл как..." указываете владельца папки).
В настройках в  переопределении Url адресов должно все само импортироваться из .htaccess
Теперь проект на laravel будет открываться по http://server/созданная папка.

Худший ответ:
Создайте еще одно приложение в iis с другим именем в заголовке на 80 порту, у нас так 40 прилаг вертится на исе на одном серваке. Как пример 1 вэб прилаг в шарике: wiki на 80 порту, затем на другом прилаге общие проекты: projects на 80 порту и куча мелких прилаг на 80 порту аля морда от атс облачка и так далее тому подобное
Вопрос: Powershell матерится на юникод?

Лучший ответ:
попробуйте поставить строку в одинарные кавычки:
rename-item 'Р РЈРљР Р’Р’Р•Р РҐ! - Р§СѓР¶РёРµ Р“СѓР±С‹.mp3'
rename-item -path 'Р РЈРљР Р’Р’Р•Р РҐ! - Р§СѓР¶РёРµ Р“СѓР±С‹.mp3' -newname 'new-name.mp3'
хотя там одинарная кавычка есть в имени...
тогда нужно ее пробовать эскейпить - \'
а еще можно попробовать move-item с -literalpath ключом.

Худший ответ:
Мне для компилятора потребовалась собственная обработка Юникода с автоматическим распознаванием UTF-8, утилита LiteConv — из примеров кода к библиотеке. Автоматом распознает, что нужно — перекодирует, что не нужно — не испортит:rn *.mp3LiteConv-r825
Это если вдруг PowerShell использовать необязательно, а требуется просто переименовать файлы.
Вопрос: Как вы подбираете шрифты для сайта?

Лучший ответ:
А в чем собственно проблема?
Самый простой алгоритм такой.
1. Решаешь будут шрифты с засечками или нет. Обычно - нет.
2. Заходишь на https://fonts.google.com.
3. Устанавливаешь критерии поиска (поддержка кирилицы, наличие/отсутствие засечек) и выбираешь шрифт из первой пятерки предложенных вариантов. Очень часто им оказывается Roboto.
4. В настройках сервис предлагает тебе подходящие варианты для второстепенного шрифта. Например, для Roboto это Open Sans, Lato, Montserrat и др. Выбираешь, если таковой нужен.
5. Подключаешь и юзаешь.

Худший ответ:
Миша Озорнин написал большой гайд по этому поводу.
Вопрос: Можно ли Композицию и наследование назвать паттерном?

Лучший ответ:
Паттерн — довольно утилитарная вещь, некая четкая последовательность или описание связей, чтобы можно было повторить, легко опознать и донести тот или иной инструмент.
Композиция — абстрактное понятие, классифицирующая то, что нужно выстроить как-то иначе, нежели наследование. Делегировать и выстроить так, чтобы полиморфизм проявил себя через некоторое число объектов, не связанных в цепочку наследования.
Наследование —про то, что объекты наследуют интерфейс/состояние, тут нет схемы взаимодействия, она довольно прямая: А от Б отнаследовался и все. Но внутри сокрыто много всего.

Худший ответ:
Это не паттерны. Вот паттерны: Хранитель, Посетитель, Приспособленец, Заместитель, Одиночка, Строитель, Планировщик, Наблюдатель и т.д.
Но лучше, конечно, знать и применять композицию и наследование, чем тратить время на справочник кодов.
Вопрос: Как парсить сайт на python?

Лучший ответ:
Для некоторых задач селениум избыточен:>>> import re
>>> from urllib.request import urlopen
>>> regex = r"createObject\(\"Placemark\",\s?new\sYMaps\.GeoPoint\(([\d\s\.\,]+)\),\s?\"(\w+)\",\s?'([^']+)'\s?\);"
>>> text = str(urlopen("https://koleso.ru/shops/").read(),"windows-1251")
>>> result = [list(x.groups()) for x in re.finditer(regex, text, re.MULTILINE)]
>>> result[0]
['37.834803,55.776082', 'Koleso', '<div><a class="MenuNav_YmapsBalloonPreButton" style="font-size:11px;" href="/shops/3653118/">Карточка магазина</a></div><div class="MenuNav_YmapsBalloonComment"><b>г. Москва</b><br />ш. Энтузиастов, д. 63<br />тел.: +7(499)308-59-93</div>']
>>>
но регулярку надо уметь написать

Худший ответ:
Я сам недавно начал изучать это направление и использую Selenium.
Сложного ничего если есть минимальные знания HTML, можно конечно и без них
Вопрос: Сырой сайт сейчас, или готовый, но позже?

Лучший ответ:
Лучше сырой, но сейчас.
Поисковикам важнее всего контент. И тот факт, что он меняется (в лучшую сторону), никого не плагиатит и т.д. идет в плюс сайту, потому что сайт считается живым. Так что если есть годный контент - выкладывайте, даже тупо текстом без картинок. А если это заглушка типа "в разработке", то не надо.

Худший ответ:
Допилить нормальный экстерьер (пусть и с нулевым функционалом) и контентом, и можно выкладывать.
Раньше - не стоит.
Вопрос: Как в batch узнать имя текущей ветки git и перейти на эту ветку в другой папке?

Лучший ответ:
Перепишите бат на шелл - если у вас стоит git, то и git-bash стоит. На шелле это решается простоcd DIR_MAIN
BRANCH=$(git rev-parse --abbrev-ref HEAD)

cd DIR_1
git checkout $BRANCH
git pull

cd DIR_2
git checkout $BRANCH
git pull

Худший ответ:
Аналогично предложенному Saboteur задачу можно решить и в PowerShell.
В bat:FOR /F "tokens=* USEBACKQ" %%F IN (`command`) DO (
SET var=%%F
)
ECHO %var% и дальше работать так же как в примере выше. 
Но лучше использовать PowerShell или sh
Вопрос: Где и как хранить много ГБ изображений для сайта?

Лучший ответ:
смотри как тут пацанчики сделали
mywed.com

фотки каждого - в гугл акке каждого

Худший ответ:
На imgur 10к фоток в месяц бесплатно :)
https://rapidapi.com/imgur/api/imgur-9/pricing