Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как определить что сервер именно локальный?

Лучший ответ:
Наверное, самый простой способ - через переменную окружения. 

Например, если установлена ENV_DEV_LOCAL, то ты на локалке :).

Худший ответ:
Частный случай, когда виндовс на локале и юникс на хостинге, то через предопределенную константу DIRECTORY_SEPARATOR 

ну и $_SERVER['HTTP_HOST'] - в локалке думаю будет другим чем на хостинге ;) 
это решение менее универсально так как завязывается на конкретное имя домена
Вопрос: Осталось мало памяти на хостинге. Что делать?

Лучший ответ:
Интересно что вы там храните? Можно попробовать использовать облачные сервисы https://cloud.yandex.ru/services/storage хранить и использовать файлы от туда (сам еще не пробовал реализацию, но на сколько я понимаю, сервис как раз для этого).
Думаю Вам нужно изменить структуру своего проекта, если вы предлагаете скачать что-то, проще выдавать ссылки на облако, опять же тот же Яндекс.Диск, Облако.Меил.РУ или гугл диск.
С такими объемами данных вам вряд ли стоит использовать хостинг.

Худший ответ:
Есть много вариантов. Основной момент - цена.
Сколько сейчас платите за хостинг? Сколько хотите платить за хостинг и что хотите от него получить?
Вопрос: Вопрос совместимости оперативки. Есть ли замечания и советы?

Лучший ответ:
бери ещё две любые(самые дешевые) по 8гб 2400MHz, 
хорошо если тайминги будут 16 (меньше=лучше, но таких нет),бери 17 не критично,
а радиаторы - это  от лукавого))) чтобы развести  покупателя на лишние доллары.

Худший ответ:
1. Нормально, но лучше купить комплект на 32, а старый продать.
2. Брендов много, а производителей чипов - хватит пальцев на одной руке посчитать. 
3. На частоту + тайминги.
4. Должен быть таким же. В интрукции к m/b ASUS PRIME B250M-PLUS об этом написано.
5. Радиатор бывает "конфликтует" с куллером. Надо подумать о размерах заранее.
Вопрос: Бесплатная тема wp?

Лучший ответ:
Всем известно что темы делаются за 5 минут, практически без труда, а разработчики просто из жадности просят за них большие деньги. Думаю нужно найти контакты разработчика и потребовать выдать вам тему бесплатно, ведь она вам понравилась, это неоспоримый аргумент. Если это не поможет, то можно пожаловаться на него в спортлото, я слышал это помогает. Главное не идти у злодеев на поводу и требовать, не платить ни в коем случае!
Разработчики просто обязаны раздавать результаты своей работы бесплатно, ведь это просто информация, она ничего не стоит и может быть скопирована сколько угодно раз.

Худший ответ:
Понравились Syndey и Colibri WP
Из всех нескольких тысяч в оф. каталоге???
Вы все просмотрели?
Вопрос: Как зашифровать пароль?

Лучший ответ:
Пароль не шифруют, пароль хэшируют. Соответственно, проверять тоже нужно не значение поля, а хэш введённого значения.

Худший ответ:
Если задача в хранении пароля в памяти в зашифрованном виде, то обычно делается так:Using System.Net;

SecureString SecurePassword = new NetworkCredential(string.Empty, "password").SecurePassword;
string PlainPassword = new NetworkCredential(string.Empty, SecurePassword).Password;
Вопрос: Максимально производительный процессор на AM2. Какой?

Лучший ответ:
Athlon 64 X2 6000+ (можно взять и 5600+ 5800+ ) = для ваших задач хватит
больше чем 400р я бы не дал за этот раритет
(у меня была такая же мама и камень 5200+ 
разогнаный до 3,0ггц , без поднятия напряжений и на штатном кулере.)
6400+ самый топовый,  стоит как космический корабль, но  не стоит и половины этих денег.
сейчас сижу на старом-ламповом 775 сокете E8500 с разгоном до 3,78ггц 
я не игроман - мне хватает )))
зы
видео - редактирование. ??? на линупсе ??? с таким железом???
ясли только по минимуму

Худший ответ:
Какой бы вы не выбрали процессор, скорости сборке для современных офисных задач это не прибавит,так как основная причина низкой скорости у вас будет  медленная оперативная память, т.е. выбор процессора даст считанные проценты производительности (а количество ядер не повлияют на результат). Хорошо что у вас 8 гигабайт, сейчас это минимум для работы.

Главный апгрейдом такой машины, я считаю, будет не дешевый ssd.
Вопрос: Сильно ли нагружает современные браузеры свойство text-shadow?

Лучший ответ:
Оптимизатор-маньяк)))
 Современное железо переваривает css3 на ура.
 Если уже углубиться в потери по самому минимуму, то анимация будет отнимать производительность, это не критично!
Вот для примера статья с 2011 года, соответствующего тому времени железа)) https://codeincomplete.com/posts/noglow/

Худший ответ:
нет
Вопрос: Какой фреймворк выбрать для микросервисов Slim или Swoft?

Лучший ответ:
Symfony тоже микрофреймворк.

Худший ответ:
как обычно, ответ на такие вопросы - то что вы и ваша команда лучше знает, то и использовать

а так желательно symfony, в symfony есть skeleton микросервиса. Лучше его, так как там соблюдаются и поддерживаются мировые стандарты кода
Вопрос: Метод copy и присваивание одной переменной значения другой. Что не так?

Лучший ответ:
Так все верно. Здесь var2 = var1 вы получили ссылку на ту же область памяти, что и var1.
А здесь var2 = "Новая переменная" уже на другую. При этом ссылка в var1 не изменилась.

Худший ответ:
Почитайте уже про типы данных в Python. 
А конкретно про изменяемые (mutable) и неизменяемые (unmutable) типы.
Вопрос: Можно ли указать два типа для аргумента?

Лучший ответ:
Нет, только если в аннотациях/**
 * @param string|int $a
 */
function test($a) {}

Худший ответ:
Проблема в том, что вы не понимаете данную функциональность и пытаетесь использовать ее механически, просто "шоб було". 
Так никогда не надо делать. Любой механизм надо применять только если вы понимаете, как с ним работать и зачем он нужен.
В данном случае строгая типизация как раз и служит для того, чтобы не было винегрета из типов. То есть вы хотите строго противоположного. Для начала разберитесь, что такое строгая типизация, и нужна ли она вам.
Вопрос: Где лучше хранить JWT?

Лучший ответ:
Где угодно, но в зашифрованном виде и с флагами secure и http-only.Доп.защита: Можно разместить в localStorage контрольную сумму полученного токена и тупо проверять его наличие в js и на соответствие конкретному значению, привязанному к клиенту. Любое обращение без подписи запроса этой КС - фиксировать как нарушение и блокировать учётку.Главное - привяжите токен к клиенту через fingerprint2.js при двухфакторной аутентификации клиента.
Чтобы при хищении даже всех кук (например, через сторонние расширения), они были бы попросту бесполезны, "отпечаток" клиента передавайте при:
1. Авторизации (только двухфакторная аутентификация: почта, смс, GA и т.п.),
2. При смене ip-адреса
3. При смене user-agent
4. По истечению срока давности
И обязательно это всё через шифрование своим публичным "ключом" сервера (помимо https!).

Худший ответ:
SessionStorage + HTTPS и TTL контролировать на сервере.
Может оверхед конечно. Но ничего лучше для параноиков  пока не придумано.
Вопрос: Где найти правила хабра?

Лучший ответ:
1. Крутим страницу в самый низ.
2. Тыцаем «О сервисе».
3. В правой колонке видим пункт «Правила».
4. Удивляемся, почему ТАК ГЛУБОКО ЗАПРЯТАЛИ ВЫ ТАМ ЧО ВАЩЕ С УМА СОШЛИ!

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

Лучший ответ:
/(?:^|\.\s+)(.*?бумаги.*?\.)\s+/

Худший ответ:
Добрый вечер.$text = 'Длина и ширина магниевого корпуса ноутбука равны 320x202 мм. <br><br>
Это почти как лист бумаги формата A4. Толщина устройства не превышает 14,9 мм. 
Весит же оно всего 880 граммов. <br>';

preg_match_all('#.*?бумаги.*?[.?!](?:\s|$)#', $text, $match);
print_r($match);
РезультатArray
(
    [0] => Array
        (
            [0] => Это почти как лист бумаги формата A4. 
        )

)
Вопрос: Какие курсы выбрать для обучения на Data analyst/Data scientist с нуля?

Лучший ответ:
Data scientist — это полноценный разработчик со склонностью к исследовательской работе, подкреплённой знаниями в области статистики и ML. За год не вкатитесь, я бы лет 5 на это закладывал.
Начать можете со специализации "Машинное обучение и анализ данных" на Coursera.
PS: без умения хотя бы читать на английском в этой профессии делать нечего.

Худший ответ:
Есть начальный курс на Степике [введение в ] Машинное обучение Артёма Шевлякова. Задачки решаются устно (вообще без программирования), так что язык потом выберете любой (MatLab, Python, R). Галопом по европам: обзор направлений и методов.
Вопрос: Почему меняется толщина шрифта только у цифр?

Лучший ответ:
По этому  https://fonts.google.com/specimen/Lato

Кириллицы там нет, и подключаются резервные шрифты для нее

Худший ответ:
У вас порядок подключения шрифтов такой Lato > "Trebuchet MS" > Helvetica > sans-serif
В Lato нет букв русских, по этому из этого шрифта берутся лишь цифры, а русские буквы берутся из следующего шрифта Trebuchet MS. Получается цифры из одного шрифта, буквы из другого, вот вам и разница
Вопрос: Почему видеокарты от AMD стоят значительно дешевле?

Лучший ответ:
Некоторый софт работает только на CUDA, про opencl знать не хочет. Но тут все зависит от софта.

Аппаратный видео энкодер у AMD очень печальный, хуже NVENC Pascal, а с NVENC HEVC Turing и вовсе не идет ни в какое сравнение. HEVC, правда, не стримят. На факт остается фактом - аппаратный видео энкодер AMD давно устарел и в нем регулярно всплывают какие-то баги типа рассинхронизации звука-видео или черных экранов вместо записи (см. reddit).
Из прошлого же пункта следует последний: у NVIDIA людей в одном отделе разработки драйверов больше, чем во всем Radeon. Поэтому баги в драйверах AMD, порой, висят неисправленными годами. Люди с релиза 5600\5700 жаловались на то, что у них крашится драйвер видеокарты или вовсе намертво виснет система - только в начале прошлого месяца AMD начали что-то с этим делать.

Поэтому лично я могу посоветовать видеокарту от AMD только энтузиасту, способному попытаться самостоятельно решить проблемы с видеокартой, либо человеку с очень ограниченным бюджетом. Ну или под mac\hacintosh.

Температуры видеокарт, в целом, проблемой не являются. Возможно, AMD будет немного громче. Но это в первую очередь зависит от того, как над моделью видеокарты поработал вендор. Можно и младшую NVIDIA найти громкую - с одним вентилятором, турбиной.

Худший ответ:
Смиритесь. Если ваш фреймворк показывает 1000 попугаев на CUDA и 600 на opencl то выбор очевиден. 
Был правда забавный период когда майнили на красных и они были быстрее в конкретных алгоритмах. 
Но в общем то это для особых случаев.
Сейчас правда синие пытаются попасть на этот рынок, так что все забавней.
Ну и вездесущий гугл двигает своего убийцу GPU
Вопрос: Каким способом эффективнее организовать сеть внутри вахтового поселка?

Лучший ответ:
Каким способом эффективнее организовать сеть внутри вахтового поселка?WiFi
Вахтовый поселок вещь временная и вагончики зачастую двигают поэтому тянуть кабель невыгодно, плюс замучаетесь с грозозащитой.
Качество WiF похуже чем у витой пары, но учитывая что это дорожники - эфир будет чистым и сеть будет работать нормально.  По цене практически одинаково, но в случае витой пары все затраты заново, а тут один раз потратились и все.Wi-Fi сквозь них не проходитНа каждый вагончик - WiFi клиент.
MikroTik SXT Lite, Ubiquiti NanoStation Loco и подобные. Размещать на улице чтобы ничего не мешало приему сигнала. Внутрь домика по витой паре, питание по ней же. Внутри либо подключение витой парой либо самый дешевый WiFi роутер.
Для раздачи использовать всепогодные станции вроде Ubiquiti UniFi AP AC Mesh. У микротика тоже есть неплохие модели в этом сегменте.

Худший ответ:
Желательно Wi-Fi
1. в каждый вагончик по роутеру/точке доступа со съемными антенами, одну из антен палок заменяем на уличную антенку и выводим на крышу вагончика
2. в центре городка столб с всенаправленной антеной/точкой к которой будут подключаться вагончики и направленной антеной/точкой которая будет смотреть на источник сигнала wi-fi/3g/lte
3. если с интернетом трудно и простой NAT не справится, то со столба спустить витуху в ближайший вагончик и поставить UTM проксю с кэшем, qos и т.д.
Вопрос: Аренда сайта/разработка интернет-магазина за % от продаж?

Лучший ответ:
Если гарантировано, то пусть пишет расписку займа на стоимость работ.
Ну или просто договор на разработку.
Я бы не согласился. Очередной халявщик.

Худший ответ:
В приципе нового ничего не скажу, просто попытаюсь обратить внимание на деталь.
Подумайте сколько стоит "ваш" сайт. То есть сколько бы клиент (этот) заплатил.
Ну, а затем прикиньте насколько сложно "такому солидному господину" найти эти деньги, чтобы перед Вами не отчитываться о продажах.
В самом принципе CPS нет ничего плохого, так работает куча ниш. Но я никогда не слышал о таких отношениях в начале.
Вопрос: Iphone. Резервное копирование?

Лучший ответ:
Да, вопрос конечно сложный.
Нужная настройка есть в параметрах iСloud



Худший ответ:
Также можете создавать копии самом устройстве используя iTunes.

1. Подключаете устройство к компьютеру.
2. В приложении iTunes нажмите кнопку устройства.

3. Нажмите: "Обзор/Summary".

4. Справа, в окне нажмите: "Создать копию сейчас/Back up now"
Вопрос: Разные Теги HTML?

Лучший ответ:
Да, они работают как div.

Худший ответ:
просто это политика браузера, скорее всего все непонятые эму элементы он по дефолту принимает как DIV, но то что он это делает не значит, что это нужно использовать))
Вопрос: Изучаю Android Studio пол года самостоятельно дома, когда стоит приступать к изучению паттернов MVP, MVC и т.д?

Лучший ответ:
надо было вчера, где ООП  - там паттерны

Худший ответ:
Может эти знания присущи и не всем, но возьмут того кто знает, а не тебя. А знают очень многие.
Вопрос: Что такое навыки программирования, «программистские скиллы», и почему они утрачиваются?

Лучший ответ:
«Программистские скиллы» - это что-то типа спорта, ежедневные тренировки. Если бросаешь, то теряешь форму, если возобновляешь, то опять приходишь в форму. Но честно сказать, никаких скиллов, к сожалению, не существует в прикладном программировании - ты просто плывешь по тому курсу, что задаёт рынок и он диктует какие твои «программистские скиллы» сейчас актуальны, а какие с пометкой «deprecated». Согласись, утратить то, что в последствие не будет актуальным - не такая уже и страшная потеря)

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

Лучший ответ:
Если не получается с фоном, почему бы не попробовать absolute positioning с z-index?

Худший ответ:
Всё правильно, на первых двух, например, фон - просто залит цветом, а картинки расположить с position: absolute;
Только подстраивать под разные размеры экранов, разумеется.
Вопрос: На каких этапах стоит комитить код?

Лучший ответ:
есть простое правило: больше коммитов, меньше конфликтов. 

это не значит, что нужно коммитить каждую минуту. это значит что как только вы написали законченный код, даже если это фрагмент другой задачи, его стоит коммитить.

Худший ответ:
1) когда работаешь над конкретным файлом/фичей
2) когда на данном этапе фича завершена

Это может привести к большому кол-ву коммитов, однако можно безболезненно откатываться и т.д.
Вопрос: Что в JS означает const { username, password } = this?

Лучший ответ:
Деструктуризация

Худший ответ:
Это деструктуризация. Прежде чем лезть во фреймворки, изучите js.
Вопрос: Почему при выводе в консоль и в текстовый файл выводятся разные значения?

Лучший ответ:
Потому что return завершает работу метода, er.close() не вызывается и запись в файл не происходит.

Худший ответ:
Почитайте про SOLID (https://ru.wikipedia.org/wiki/SOLID_(%D0%BE%D0%B1%...

Там буква S - single responsibility (Принцип единственной ответственности).
Старайтесь писать методы и классы которые будут выполнять только какую-то одну функцию.

В вашем случае myFunction не должен уметь писать в файл - ему достаточно будет уметь обрабатывать входящую строку. Выглядеть это будет, примерно, так:
private static String myFunction(String url) {
        if (some condition) {
            System.err.println(url + " " + statusCode); // Видимо, логирование в консоль
            return url + " " + statusCode + "\n"; // Возврат результата
        }
        return "";    // Это же пример, верно?))
    }

И основной код:
public static void main(String[] args) throws IOException {

        FileWriter err = new FileWriter("error.txt");

        String result = myFunction(args);
        er.write(result);
        //some logic
     
        err.write(something);

        err.close();
    }

В этом варианте myFunction ничего не знает о том куда писать результат своей работы. Сегодня вы хотите писать в файл, завтра в бд, а потом окажется, что достаточно вывести в консоль. Ваша функция будет оставаться неизменной в любом случае.
Вопрос: Изменеие пользователем статической страницы сайта django в админке?

Лучший ответ:
Код за вас писать не буду. Но в общем это может выглядеть так...

В models, как ни странно, пишете модель со всеми необходимыми полями — название, текст, background, адреса и телефоны...  Если используете django sites, то можно через OneToOneField привязать её к модели сайта.

Во views достаточно одного класса, наследованного от UpdateView. В нём переопределяете метод get_object так, чтобы экземпляр модели настроек создавался в случае его отсутствия в БД.

Про urls смысла писать нет — это вспомогательный код.

Удачи!

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

Лучший ответ:
Это один из багов отображения SVG-картинок во flex-контейнерах. Это вообще больная тема, там эти картинки то схлопываются по ширине, то получают странные отступы в отдельных браузерах. Можно решить, обернув картинку в div с явным указанием display=block для него:<div class="test">
    <img src="https://123.svg"/>
</div>.test {
    display: block;
}

Худший ответ:
потому что у тебя пропорции картинки такие) ты делаешь width:100% соответственно height выставляется автоматически в пропорциях вот тебе и белые полосы сверху и с низу. если напишешь height: 100% вместо width полосы уже по бокам будет)
Вопрос: Может ли поставщик VPN через сертификат расшифровать https?

Лучший ответ:
Если у Вас в корневых стоит сертификат CA, выпущенный поставщиком - может. Бампинг сертификатов + прозрачнй прокси - и  Вы, ну не то чтобы ни о чем не догадаетесь - но на многих сайтах даже и не заметите, что на самом деле Вам подставляют сертификат, сгенерированный поставщиком.
Я уже неоднократно повторял очень простую истину - безопасным является только VPN, построенный между Вами и Вашим собственным VPS в Забугории. По всем остальным - нет никакой гарантии, что Вас от чего-то защищают, а как бы хуже не сделали :)Фиктивная безопасность хуже чем отсутствие безопасности вообще

Худший ответ:
Не путай сертификат сайта и сертификат VPN-сервера.
Сертификат VPN-сервера используется для организации шифрованного канал между VPN-сервером и клиентом.
Сертификат сайта используется для организации шифрования передачи данных между браузером и http-сервером.
Второе передаётся внутри первого и никак между собой не связано в части шифрования.
Вопрос: Не запускается pycharm на винде проблемы с java?

Лучший ответ:
Вам говорят - установите JDK 64 bit. Скачайте и установите.

Худший ответ:
Переустановите IDE. 
При установке поставьте галочку - Установить JDK.
Установятся все необходимые пакеты
Вопрос: Как прописать для OpenVPN-клиента/сервера статический DHCP?

Лучший ответ:
Sergey Twin, прочтите об опции сервера:
client-config-dir

Худший ответ:
В ipp и указываете соответствие клиента и адреса
Вопрос: Незащищённое соединение. Чем грозит регистрация на таком сайте?

Лучший ответ:
Именно. В теории по http можно перехватить ФИО, телефоны, кредитки и т.д.

Вот первая же ссылка Google по запросу "http https разница".

А вот Хабрапост о том, как и зачем это работает

Худший ответ:
На вашем провайдере или на любом узле от вашего провайдера до целевого сайта, трафик может быть перехвачен и проанализирован, вне зависимости от того, идет он по http или https. В случае неправильной организации сети, он может быть перехвачен и внутри сети провайдера, другими абонентами провайдера, в этом случае использование https несколько затруднит процедуру анализа трафика.  В общем и целом стоит больше опасаться передачи кому-либо ваших данных владельцами сайта (особенно если они по жадничали на приобретения сертификата), нежели некими "хакерами".
Вопрос: Как получить имя пользователя по id (Laravel)?

Лучший ответ:
Ошибка в понимании того, как работают отношения моделей в Laravel, советую почитать документацию.

$post->user->first_name

Худший ответ:
При обращение $post->author_id - id пользователя получаю. Подскажите, где ошибся?
Скорее всего в выборе профессии, а также тут //Вместо
$post->author_id->first_name 

//Должно быть
$post->user->first_name
Вопрос: Как проверить строку на наличие спецсимволов?

Лучший ответ:
package main

import "fmt"
import "regexp"

var IsLetter = regexp.MustCompile(`^[a-zA-Z]+$`).MatchString

func main() {
    fmt.Println(IsLetter("golang")) // true
    fmt.Println(IsLetter("рои134432-=-!№;;")) // false
}
https://play.golang.org/p/7HTIbsBjumg

Худший ответ:
Кончено есть
package main

import (
	"fmt"
	"regexp"
)

func что_то_магическое(str string) bool {
	m, _ := regexp.MatchString("^[a-zA-Z]", str)
	return m
}

func main() {
	res := что_то_магическое("golang")
	fmt.Println(res)
	res = что_то_магическое("рои134432-=-!№;;")
	fmt.Println(res)
}
Вопрос: Преобразовать строку в число, узнать целое ли число?

Лучший ответ:
echo filter_input(INPUT_POST, 'имя_POST_переменной', FILTER_VALIDATE_INT) ? 'yes' : 'no';
Документация (пример 19)

Худший ответ:
echo filter_input(INPUT_POST, 'имя_POST_переменной', FILTER_VALIDATE_INT) ? 'yes' : 'no';
Документация (пример 19)
Вопрос: Как обновить кэш у пользователя сайта?

Лучший ответ:
Для css и js в пути файла можно подставлять версию после знака "?" <script src="/js/main.js?123456789"></script>
Картинки и так обновляются, если название отличное.

Худший ответ:
Отключите полностью кеширование всего сайта сразу после редактирования контента на время жизни кэша.
По истечении этого времени - снова включите кэширование.
Часто редактируете - отключайте или совсем, или точечно: только на изменённых линках.
Сайт простой - сделайте кэширование для всего контента на время самого длительного посещения: оптимально 30 минут.
Вопрос: Как связать домен третьего уровня с Django?

Лучший ответ:
В мидлваре в зависимости от домена подставлять нужные данные - будь то урлы или какие-то другие штуки.

Худший ответ:
Продолжив копать, я наткнулся на django-hosts от разработчиков Django
Вопрос: Книги по математике для машинного обучения?

Лучший ответ:
Тут куча книг на англ. языке, поищите по теме:  https://librariestech.com/
Например, Hands-On Mathematics for Deep Learning – Packt 2020. Не смотрел, не скажу, соответствует ли вашему запросу.

Худший ответ:
Судя по вопросу, начинать надо не с "математике для машинного обучения" а с математики для средней школы. Тогда и не придется "гуглить с самого начала".
Вопрос: Можете оценить верстку?

Лучший ответ:
Поработайте над доступностью

Худший ответ:
не везде есть ховеры
в выпадающем меню поиска тоже нету ховеров и не понятно что их можно выделять - но это наверно проблема макета)
Вопрос: Как залить все вокруг блока?

Лучший ответ:
Сделайте огромную полупрозрачную мегатень превосходящих размеров#my_block  {
  width: 100px;
  height: 200px;
  box-shadow: 0 0 0 5000px rgba(0, 0, 128, 0.5); 
}

Худший ответ:
Посмотрите как это реализовано на https://vk.com/ при редактировании аватарки. Там два слоя изображений, и миниатюра создается за счет позиционирования верхнего слоя.
Вопрос: Почему все современные протоколы передают маленькие куски?

Лучший ответ:
потому что если произойдет потеря/ошибка в одной из частей - она выкачивается снова. А теперь представте вы качаете 1 гиг - он качается уже 60% и "бац" - ошибка, вы начинаете качать снова с 0 - теперь уже 89% и снова ошибка. Закачка начнется снова с 0. Вы уже скачали 1.5 гига, но файла так и не получили.

Худший ответ:
1. Так быстрее - параллельная передача
2. Так надёжнее - вероятность ошибки снижается
3. Какие протоколы? Почти все протоколы, которые использую я, передают целые данные. Разбиение происходит на нижних уровнях.
4. Как бы tcp/ip в любом случае разбивает любые данные на пакеты по ~1кб