Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как организовать хранение фотографий для сайта?

Лучший ответ:
Загружайте файлы не в папку, а в s3-совместимое хранилище (чтобы при желании можно было без страданий и изменений в коде перейти на Amazon или в Linode какой-нибудь) - MinIO. Т.е. генерируете некий id, превращаете его в хеш, формируете ключ и по нему льёте в MinIO. Причём храните только оригиналы.

Что касается миниатюр, то их нарезать и хранить не нужно. Представьте, если размеры в дизайне поменялись - что тогда? А если для каждой миниатюры webp-версия потребовалась - все картинки опять обрабатывать? Есть решение - imgproxy. Это специальный прокси-сервис (можно на свой сервер поставить, как и MinIO), который нарезает картинки "на лету" в момент обращения (по параметрам в url). Кроме нарезки, есть ещё куча разных возможностей. Кеша внутреннего нет, т.е. перед imgproxy есть смысл поставить Nginx для кеширования миниатюр (чтобы при каждом обращении не нарезало).

Худший ответ:
Тоже считаю второй способ самым оптимальным. Когда-то смотрел разные варианты и остановился на этом. Генерируется уникальный ID, создаются директории для равномерного распределения согласно второму способу из stackoverflow... а дальше можно посмотреть по ссылкам (w - width, высота зависит от пропорций изображения):
// ID: 3d02573d-4d28-7144-9f6e-f7372a084069
// Путь: [uploads]/[первые два символа ID]/[след. два символа ID]/[ID]/[что угодно][разделитель][разрешение][расширение]
{
	...
	photos: [{
		original: '/uploads/3d/02/3d02573d-4d28-7144-9f6e-f7372a084069/3d02573d_4032x3024.jpg',
		w1024: '/uploads/3d/02/3d02573d-4d28-7144-9f6e-f7372a084069/3d02573d_1024x768.jpg',
		w600: '/uploads/3d/02/3d02573d-4d28-7144-9f6e-f7372a084069/3d02573d_600x450.jpg',
		w256: '/uploads/3d/02/3d02573d-4d28-7144-9f6e-f7372a084069/3d02573d_256x192.jpg',
		w56: '/uploads/3d/02/3d02573d-4d28-7144-9f6e-f7372a084069/3d02573d_56x42.jpg'
	}]
	...
}
Можно удалить фотографию вместе с тумбами за раз удалив папку 3d02573d-4d28-7144-9f6e-f7372a084069.
Вопрос: Где лучше рекламировать курсы обучения программированию?

Лучший ответ:
Такое определяется только эмпирически. Вашу ЦА можно на всех площадках найти.
Так что попробуйте с небольшим бюджетом везде зайти и посчитать цену лида.

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

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

Композером вы, конечно, не пользовались...
Уверен что отсталость разработчиков тут не при чем, а отстает от прогресса тут кто-то другой.

Худший ответ:
Если не умеете или не хотите работать с composer: пример вызова «Дадаты» из PHP одним файлом
Вопрос: Как правильно реализовывать фронтэнд в 2021?

Лучший ответ:
В современном мире действительно стоит разделять backend и frontend. Везде есть свои фреймворки которые стоит использовать для облегчения разработки. Бакенд обычно имеет только api и этого бывает достаточно. А шаблонизатор twig применяют в этом случае для email писем.

Frontend сейчас разнообразен. Это сейчас больше чем CSS+HTML и небольшой функционал на JS. Более того на Frontend сейчас тоже можно делать микросервисы. Одна страница может работать сразу на нескольких JS фреймворках. Например, меню на Vue, а Navbar на ReactJS.

С точки зрения поддержи и развития вы тоже проигрываете. Ведь большой проект требует узких специалистов, в том числе и фронтенд. Если Ваш фронтенд будет на PHP, то на фронтент уже потребуется фул стек разработчик, что дороже и проблематичнее. Значит сложнее масштабирование и развитие. Да и возникают проблемы монорепозитория, куда все изменения с frontend и backend поступают в один репозиторий, без возможности отделения их. Таким образом ко всем разработчикам сразу попадает готовый проект, который легко скопировать и украсть.

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

Худший ответ:
Ну в целом вы сами ответили на свой вопрос - React или Vue или их братья меньшие прекрасно справляются с приготовлением фронта. Вопрос в том, какой тип "приложения" вы пишите. React/Vue все еще пока не очень дружат с SEO (сейчас меня закидают тапками, но это мое мнение, я его никому не навязываю), поэтому на них хорошо делать фронт для мобильного приложения или фронт админки/cms/erp и т.п. Для классического веб-сайта (сайт компании, школы, сообщества), которому важно SEO - фронт лучше писАть "по-старинке".
Вопрос: Как переключиться с пин кода обратно на пароль при входе в Windows 10?

Лучший ответ:
ВЫКЛ делать пробовали?

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

Лучший ответ:
result = numpy.zeros(mask.shape + (3,), dtype=numpy.uint8)
result[mask > 0] = (255, 255, 255)
циклы в питоне - штука медленная. Если есть возможность, лучше использовать индексные операции numpy. Они заметно быстрее, чем тот же цикл в питоне.

Худший ответ:
Не уверен что данный код можно как то ускорить
Например можно сменить python на nuitka и компилировать бинарник из получаемого им c++ кода, вот такие простые вещи там однозначно могут быть быстрее, особенно если вручную ковырять
Как частный случая - написать критичный кусок кода на c++/c и вызывать его из питона, но сразу скажу что если по тупому заменить этот кусок на код си, никакого ускорения не получится, может даже ухудшение.

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

Поясни главную задачу, зачем у тебя исходный массив в виде двумерного числового, когда к примеру подошел какой-нибудь битмап (не уверен что это было бы быстрее но попробовать)? Почему надо генерировать итоговый массив таким? куда пойдут эти 3 числа, это описания RGB colors? а потом они все будут инициализироваться?
Вопрос: Какой VPN-софт посоветуете для Windows?

Лучший ответ:
Для браузера (я так понимаю вы про расширение) нет VPN, только Proxy. 

Для Windows есть несколько, на мой взгляд, хороших:
- RedShield VPN - достаточное количество серверов (есть Русская локация, не находящееся в России), возможность оплаты из РФ. 
- MULLVAD VPN - полный опенсорс, шведская компания, не требует никаких данных при регистрации, куча серверов и другие приятные штуки. Минус, что придется научится оплачивать сервис криптой, так как оплаты для РФ не подвезли. 
- TunnelBear - есть много серверов, есть возможность обфускации трафика, бесплатный тариф 500 мб и если получится зайти на сайт с Русского IP, то можно получить аккаунт на 10Gb бесплатно в месяц, расширение тоже есть

Худший ответ:
Freedome неплохой
Вопрос: Почему post запрос приходит с другого ip?

Лучший ответ:
cutl запрос делает твой сервер, а не клиент, само собой второй скрипт получает ip твоего сервера.

Худший ответ:
Скорее всего ты не проверяешь все хедеры. Как минимум куки должны быть одинаковыми
Вопрос: Как в файле hosts указать порт?

Лучший ответ:
> Как в файле hosts указать порт
Никак

Худший ответ:
Нет в файле хост этого делать нельзя. 
скорее всего надо перенаправить трафф фаерволом или возможно nginx proxy
Вопрос: Стоит ли писать // Given // When // Then в комментариях теста?

Лучший ответ:
Код должен быть самодокументируемым

Худший ответ:
Код должен быть самодокументируемым
Вопрос: Реально ли реализовать SAAS платформу на Laravel?

Лучший ответ:
этот пакет сделает все

Худший ответ:
Да и вообще как реализовать Multi connection для db (не в env же всё прописывать).
В .env прописать одну бд которая хранит пользователей и их бд и доступы. А у всех остальных моделей переписать метод getConnection который и будет подсовывать нужный на основе данных пользователя. но только я как то не уверен что способ хранить данные пользователя в отдельных дб - хороший. Как минимум с миграциями придется возиться.

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

Лучший ответ:
Убрать static? И создать экземпляр класса start?
Добавить статичное поле с Logger?
Создать экземпляр логгера на 1 раз?
Не понятно, какой результат в итоге хочется достичь.

Худший ответ:
Привожу упрощенный ответ.
Static Factory например.
Хотя задача неясна.
Вопрос: Как из строки «5 000 000 — 12 000 000₽» взять второе число без «₽»?

Лучший ответ:
Без регулярок можно )
parseInt(str.split("").filter((c) => c !== " ").join("").split("—")[1])Удалить все пробелы, разбить по тире, парсить как целое (проигнорирует символ валюты).

Худший ответ:
с помощью регулярного выражения.
Код писать не буду, он элементарный даже для джунов
Вопрос: Как с помощью return вернуть две переменные?

Лучший ответ:
Есть очень нужно то то используй "кортеж". 
Не лучшая практика как поговаривают, но если нужно именно так и не иначе, то почему и нет.

public (int, string) GetUser(){
int a = 14;
string b = "Roman";
return (a,b)
}

Худший ответ:
return возвращает что то, что то что содержит 2 значения это либо класс либо структура, либо извращенная строка с разделителями (не делайте так)
Вопрос: Насколько актуальна сборка ПК для программиста?

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

Корпус сделан из фольги (Толщина металла 0.45 мм)
SSD я бы больше взял (если бы для себя)
А ещё у тебя не хватает видеокарты - без неё не будет работать.

Остальное ок.

Худший ответ:
Лучший пк для программиста - макбук про с m1
Вопрос: Был самозанятым — клиенты платили переводом с карты на карту. Как принимать оплату ИП?

Лучший ответ:
Открываете ИП, открываете р/с в банке. Там же подключаете СБП и получаете оплату по QR.
Работаете без эквайринга, но нужно использовать ККТ и пробивать чеки, раз уж работаете с физ.лицами

По общему правилу продавец должен пробить кассовый чек в момент расчета. Но предусмотрено исключение: например, когда покупатель не присутствует при безналичном расчете. В этом случае чек должен быть сформирован не позднее рабочего дня, следующего за днем расчета

Худший ответ:
ИП может принимать оплату на банковскую карту или на расчётный счёт. Но, чтобы всё было законно надо использовать кассовый аппарат и ОФД. Деньги можете выводить любым удобным для Вас способом. Подробнее можете почитать тут: https://www.moedelo.org/club/article-knowledge/kak....

Если что, это не реклама.
Вопрос: Зачем конвертируют эксепшены различных типов в RuntimeException?

Лучший ответ:
Грубый косыль для проверяемых исключений.

Худший ответ:
Вот тут можно почитать и зачем так делают и как это делать элегантным способом.@SneakyThrows
Вопрос: ДНС — адрес в IPv4, Что будет если его изменить?

Лучший ответ:
Их сервер, им виднее. Если сервер написан так, что сильно зависит от работы DNS, может они и правы.

А, может, их нелегальный сервер просто банят везде по запросу RockStar, и только определенные DNS серверы с ними работают. :)

Худший ответ:
Ох и отборное не пойми что... Поменять доменное имя сервера имеется в виду и добавить/изменить А-записи? Или адреса ip dns серверов к которым обращается сервер?

В любом случае звучит странно, на моей практике (прим. она не столько большая, могу и чего-то не знать) если добавить запись на другое имя - она довольно быстро подтянется в мир и сервер будет нормально виден. 

Рубрика причин может быть множество, можно описать вопрос более конкретно?
Вопрос: Что лучше, 2 ядра 4 Гц или 8 ядер 1.6 Гц (цифры рандом)?

Лучший ответ:
То что в прикладной вашей задаче будет давать лучше результат.

Когда-то давно, когда в десктопах были преимущество одноядерные CPU, маркетинг любил называть частоты. Потом полюбил козырять числом ядер. Потом ещё чем-нибудь. Одна характеристика чтобы доказать собственное превосходство над конкурентом (и что не менее важно - над предыдущим поколением собственной же продукции) - это же так здорово! Только нихрена это так просто не работает.

Вот уже которое десятилетие единственный корректный ответ в выборе CPU - сравнить в конкретных условиях. Задача со звёздочкой: сравнить корректно.

В частности, вы не указали, одной ли микроархитектуры два сравниваемых CPU. А этот маленький нюанс моментально лишает всякого смысла декларируемую частоту работы. Двухкратная разница производительности на одной частоте? Почему нет, история знает такие примеры. Потом кэши, организация памяти, а из недавнего - состояние защит от атак на спекулятивное выполнение. Ежели всё это идентично и из различий только число ядер и частота - то опять же упрёмся в необходимые задачи. Однопоточному приложению будет безразлично, есть ли ещё 7 ядер или только второе.

Худший ответ:
Смотря для чего. Зависит от приложения
Вопрос: Лагает фотошоп, премьер про на мощном пк, как убрать лаги?

Лучший ответ:
И так, пораскинув мозгами, понял, что такое началось, после покупки материнской платы AsRock PRO4 z390.
Пошерстив сайты, форумы, много советов было про отключение "энергосбережения в биос". Это в разделе «Расширенное», дальше в конфигурации ЦП, там типо как-то с буквой «С» все режимы выключите. Отключил то, что нашел и знаете, ощущается работа системы бодрее, но все еще не идеально. Уверен, еще пару пунктов в биосе этой материнки я не отключил. Но улучшения заметны, серьезно. Безумно благодарен каждому, кто уделил время ответив в этой теме ( или топике ), с попыткой помочь мне, безумно приятно, что хороших людей еще много. Так же, буду благодарен, если подскажете, как окончательно отключить эти "кастрационные" фишки

Худший ответ:
Новый photoshop у всех лагает. Можете открыть англоязычный форум adobe и там десятки пользователей, которые жалуются на работу новых версий photoshop. Не жалуются на лаги только пользователи apple. Ещё из толпы только один пользователь с core i9, двумя 3080 и 128гб озу сказал, что у него ничего не лагает, а мы типа всё придумываем. Хотя он так и не назвал версию своего photoshop. Возможно он сидит вообще на PS 2017.  Последняя версия, которая у меня не лагала - это Adobe.Photoshop v21.0.2. Всё, что новее, имеет какой-то свой новый движок, который выдаёт фризы.

Ради эксперимента можете скачать portable версию PS ~2018 и вы сами удивитесь, на сколько сильно новые версии уступают старой по производительности в простых задачах.

spoilerя прочёл комментарии и на вашем месте я бы попросил у кого-нибудь из знакомых на пару часов другую материнку. Ну или купите новую, но не asrock. Потом продадите на авито (это тех. сложный товар, просто так вернуть нельзя)
Вопрос: Можно ли хранить права пользователей в БД?

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

Худший ответ:
Настоятельно рекомендую уйти от json сериализации (тем более такой в виде массива) и создать табличку, где строки - пользователи (точнее объекты-правообладатели) а колонки - выдаваемые права.

Дополнять такую табличку просто, создавая колонки можно указать дефолтное значение (типа нет прав) и все обновится автоматически.

В будущем же это неплохо модифицируется до многоуровневой системы Пользователь, их Группы, Объекты и Роли (как набор прав за ними стоящими) через вьюхи и триггеры. Но лучше сесть подумать и сделать сразу как надо, такие вещи менять потом больно.
Вопрос: Как сделать, чтобы бот банил пользователей, которые находятся в его БД?

Лучший ответ:
Можно, если у бота есть соответствующие права на сервере.

Хорошо, раз поправил вопрос, поправлю ответ:
1. Читаешь таблицу в БД, где хранятся пользователи, подлежащие бану. Работа с БД - это отдельная песня, почитай про модуль sqlite3 и что-нибудь по основам SQL.
2. Читаешь список забаненных сервера, чтобы определить, кто уже забанен.
3. Определяешь тех, кто еще не забанен, но кого нужно забанить.
4. Банишь. Можно использовать Guild.ban() или Member.ban()

Худший ответ:
да можно если есть доступ к базе данных
Вопрос: Переменная scss из view в component?

Лучший ответ:
Нет. Переменные нужно выносить в отдельный файл и импортировать его в нужных вам местах.

Худший ответ:
VueJS: где лучше хранить css, в компонентах .vue или main.css?
Вопрос: Как выбрать ограниченное количество записей разного типа?

Лучший ответ:
В MySQL, начиная с версии 8.0, вы можете использовать оконную функцию row_number():
select 
	class,
	price
from (
  select 
	  class,
	  price,
	  row_number() over (partition by class order by price) rn
  from complex
) prices
where 
	(class=1 and rn < 3) -- 2 econom
	or (class=2 and rn < 4) -- 3 comfort
	or (class=3 and rn < 2) -- 1 premium
;

Mysql online

Худший ответ:
С точки зрения пользовательского интерфейса это полная хрень, конечно, но решается довольно легко - нужно просто сделать 4 запроса и не пытаться объять необъятное. Полученные данные объединяете в один массив и всё - страница готова.

А что вы будете делать, когда страницы с премиумом закончатся, а экономы ещё нет?

Если очень уж необходимо сделать именно так, то приемлемый пользовательский интерфейс в данном случае был бы таким: 4 отдельных таблицы, по одной для каждого типа, и под ними один на всех блок пагинации. В качестве количества страниц в нём используется максимальногое значение среди указанных типов. Когда для какого-то типа данные заканчиваются, выводится сообщение об этом, остальные таблицы рендерят данные. И в итоге у вас будет 4 пагинации на бэкенде и один контрол для них на фронте. Валить данные в одну таблицу, когда пользователь явно указал, что хочет сортировать по цене - это ад. Я ещё понимаю, была бы сначала сортировка по классу, а потом по цене, здесь был бы хоть какой-то смысл, хоть это и не то, чего хотел пользователь.
Вопрос: Как можно хорошо сжать видео без потери качества на сайт?

Лучший ответ:
Как можно сжать видео без потери качества на сайт,Никак, любая перекодировка (даже в тот же формат с теми же параметрами) будет неизбежно терять качество. 

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

Худший ответ:
если видео продолжительное, то можно разбить его на видео по 5-10сек и загружать их постепенно.
Вопрос: Почему браузер не открывает веб-адрес зоны «.рф»?

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

Худший ответ:
Погуглить "firefox enable IDN". Но она уже давно включена по умолчанию-так что видимо ищите проблему у себя локально - может проблемы с DNS, прокси или расширениями какими-либо
Вопрос: У кого есть опыт обучения на программиста или другую it специальность за рубежом? Стоило ли оно того? Посоветуете учебное заведение?

Лучший ответ:
где мне дадут конкретную актуальную базу по программированию, уделяя этому бОльшую часть времени, и, что не менее важно в моей ситуации, без обязаловки тратить уйму времени на лазанье в дебрях высшей математики
Нигде вы не найдёте хорошего учебного заведения, соответствующего этим требованиям. Высшее образование во всём мире даёт фундаментальные знания.

Худший ответ:
Ну типо Ы.
Дам хорошую основу для программирования:
1) Логика.
2) Понимание что вся работа происходит с данными.
3) Понимание что код делает ровно то что вы пишите и ничего больше.
Как обучатся:
1) Типы данных (Число, Строка) - Основа в которой хранится все данные.
2) Булево значение.
3) Математические операции( +, - ....)
4) Логические операции( >,< ... ) 
5) Как работает условие if
6) Тип данных масив.( Штука для группировки других данных)
7) циклы, переборы. Изучают именно после массивов тк как они и нужны в основном для перебора группировок )
8) Функция как штука для группировки кода
9) Аргументы функции(Как делать группированный код подвижным) 
10) Понять что ООП - это лиль штука для удобной группировки функций и данных разделённой по логике. 
11) Объекты.
12) Классы.
13) Наследование.
Ну вроде основное всё.
Надеюсь я сэкономил вам 5 лет обучения. Тк как это можно освоить за пол года.
Вопрос: Имеет ли смысл в современном нерутованом android держать банковские приложения на отдельном устройстве?

Лучший ответ:
Существует ли безопасное хранилище данных для приложения в android, к которому точно не имеют доступ другие приложения?
У Samsung есть Knox и Secure Folder. Люди туда что-то ставят, но я сам до сих пор так и не нашёл время попробовать.

Из приложений: ... skype
Поставьте какой-нибудь firewall, например, этот, и последите за ним повнимательнее. Может это косяки майкрософтовской разработки под началом Наделлы, но что Skype, что Skype Lite крайне любят постоянно держать себя в памяти и стабильно что-то куда-то шлют. 
Причём даже если не открывать Скайп лайт вообще ни разу (уже почти никто не пользуется), его месячный трафик может быть, например, и 15 МБ и больше, несмотря на то, что не было ни одного сообщения.

Вряд ли это прямо слив какой-то банковской информации, но не исключаю, что шпионит он будь здоров.

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

Лучший ответ:
Научиться гуглить
https://wifigid.ru/raznye-sovety-dlya-windows/podk...
1. Поставить коммутатор. 100Mbit 5-й портовый рублей 500 стоит
2. Сделать два "крабика" 
Или купить https://aliexpress.ru/popular/1-to-2-lan-ethernet.html
3. Мост 
4-жильная - это имеется в виду 4 пары или 4 провода? Если 4 провода то только коммутатор

Худший ответ:
купить еще один дешевый свитч, и в кабинете его поставить.
Если это офис, без требований к сети (100 мбит хватит каждому), то самый дешевый хаб подойдет, ну или свитч.
Вопрос: Как узнать какой ip или host?

Лучший ответ:
С твоего собственного :)

В данном контексте ip - instruction pointer - адрес начала блока команд, sp -stack pointer - адрес стека, at - адрес точки останова.
segfault в libc - 100% попытка писать по адресу, не принадлежащему программе - либо использование неинициализированного указателя, либо ошибка в адресой арифметике

Худший ответ:
Это не ip адрес, вот тут  минимально доступно написано
Вопрос: Как сравнить таблицы?

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

Подскажи код, для загрузки 2 таблиц из xlsx для сравнения их по столбцу Договор, допустим и вывода таблицы с результатом разницы по тем полям, что есть в таблице и тем, которых вообще нету.Для загрузки таблиц из Excel в 1С предназначен объект ТабличныйДокумент. Если твои таблицы в нескольких файлах, то будет несколько ТабличныхДокументов. Если таблицы на разных листах одной книги, то это все загружается в единый ТабличныйДокумент, где каждая страница загружается в одноименную именованную область. Далее уже можно крутить циклы и получать данные из соответствующих ячеек.

Худший ответ:
В 8.3 это в менюшке есть. Ну или написать прочитать() и далее построчный поиск