Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Оптимальный формат хранения изображения в текстовом виде?

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

Всё, что некратно степени двойки, будет вызывать повышенную нагрузку на процессор при переконвертировании, но такова цена максимальной упаковки произвольной информации на конкретных системах работы с текстом.

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

Если это PNG, то можно перейти на палитру, 256 цветов достаточно для многих случаев, но можно взять ещё меньше. Если это фото, то JPG в низком качестве. Также есть векторный формат, который конечно не любую картинку заменит, но в некоторых случаях сильно выигрывает у других форматов, не говоря уж о побочном эффекте в виде неограниченной масштабируемости.

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

Худший ответ:
Base64 и не создавался для сжатия. Он хранит примерно 4 символа на 3 байта. Вот такая формула.

Есть другие кодировки наподобие base85 которые просто использую другую формулу укладки байтов в символы. Но все это фигня и экономия на спичках.

Можно ли просто хранить произвольную бинарную информацию в текстовом виде? Да можно. Но при отображении на экране возникнут следующие проблемы. Есть символы которые имеют разные коды но одинаково отображаются на экране. Это искажает наше восприятие информации. Какова цена ошибки - решайте сами. Есть символы которые имеют некий магический эффект для терминала linux (это диапазон от 00 до 1F (control)). При печати их на экран курсор может начать двигаться в разных направлениях. В некоторых терминалах может быть сбой или зависание. Или терминал может издавать писк. Есть символ 00 который имеет зарезервированное значение например для C++/C - ASCIIZ строк. Он маркирует конец строки. И любая попытка передать такой файл "строкой" вызовет неожиданное поведение для вас.

При хранении произвольных символов внутри XML или JSON строк могут работать ESC последовательности или экранировка которая увеличивает размер строки. Тоесть эффект может быть обратный в зависимости от того какие байтики будут сохранены.
Вопрос: Как открыть localhost для общей сети?

Лучший ответ:
Развернуть приложение на VPS и не заниматься ерундой

Худший ответ:
Если приложение слушает localhost - то только проброс порта.
Вопрос: Существует ли behavior в Joomla 4?

Лучший ответ:
В четвёрке теперь менеджер ассетов. 

/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
$wa = $this->document->getWebAssetManager();
$wa->useScript('keepalive')
	->useScript('form.validate')
Пример есть в /administrator/components/com_content/tmpl/article/edit.php.
Почитать о менеджере можно тут.

Худший ответ:
Заменить JHtml :: _ ('behavior.formvalidation');

на JHtml :: _ ('behavior.formvalidator');
Вопрос: LCD экран «with frame» и «without frame» в чем отличие?

Лучший ответ:
Рамка она и есть рамка.
Без рамки дешевле, но потребуется существенно больше умений и усилий по его замене (отклеить старый от рамки, вклеить новый). Если дисплей уже вклеен в рамку ("с рамкой") установить его гораздо проще.

Худший ответ:
Если сами ремонтом не планируете, то и покупать ничего не надо. Отдаете в ремонт и там вам конкретно говорят, что нужно покупать и нужно ли. Обычно кто занимается ремонтом сами покупают то что нужно и где нужно и лишь озвучивают цену ремонта.
Вопрос: Сетевой трафик продолжает поступать и исходить, при выключенном wi-fi и bluetooth. Откуда? Куда? Как?

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

Худший ответ:
у тебя  через петлю lo0 еще бегает внутренний трафик
https://ru.wikipedia.org/wiki/Loopback
Вопрос: Почему определение инкапсуляции дают неправильно?

Лучший ответ:
Цель инкапсуляции это объединение объектовкто Вам такое сказал?
Само слово инкапсуляция происходит от латинского "in capsula", что можно перевести как "закрытый в коробке".
Цель инкапсуляции - это сокрытие сложности. Не информации, не данных, не кода, а именно сложности.

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

Худший ответ:
Фиг знает, может из википедии?
Модификаторы доступа надо было куда-то включить, вот и запихнули их в инкапсуляцию. Не в наследование же и полиморфизм их пихать.
Вопрос: Будет ли тротлить процессор на macbook air M1 в Xcode?

Лучший ответ:
Нету там тротлинга. Если всё ок с охлаждением

Худший ответ:
Сам работаю с Xcode на air c M1 никаких проблем с тротлингом нет , у меня даже ноут , никогда не грелся максимум комнатной температуры
Вопрос: IOS разработка без Mac. Возможно ли?

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

Худший ответ:
mac mini можно взять в пределах 20к на авито, а если совсем захотеть, то и в пределах 15к
Вопрос: Оригинальность OEM Windows 95?

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

Худший ответ:
Ты 20 лет терпел, что бы задать этот вопрос? 95 сейчас официально вообще не продаётся. А уж OEM никогда и не продавалась отдельно.
Вопрос: Какая графика у Ryzen 3 5300u?

Лучший ответ:
AMD Radeon Vega 6 это всегда AMD Radeon™ Graphics
AMD Radeon™ Graphics это НЕ всегда AMD Radeon Vega 6

Скачай CRU-Z и посмотри, если так важно.

Худший ответ:
Это одно и то же: AMD Radeon™ Graphics и AMD Radeon Vega 6?
Да. 
Radeon это просто бренд, под которым АМД выпускает видеокарты.
Vega - семейство видеокарт внутри бренда.
Вопрос: Как в Notepad++ заменить все ссылки на другое выражение?

Лучший ответ:
Искать: (http[^\r\n ]+)
Заменить на: ffmpeg -i "$1" ...
Разумеется с галочкой RegExp.

Худший ответ:
я сделала вот так, (http[^\r\n ]+m3u8) - это правильно ?
Вопрос: Как отследить положение телефона в пространстве?

Лучший ответ:
 
К примеру : я поднимаю смартфон вверх, куб тоже поднимается вверх, и т.д.

Да, это решается акселерометром. Смотри ускорение по координате Z. В зависимости от этого значения ставишь скорость перемещения куба.

Положение в пространстве телефон не определяет, да тебе оно и не нужно.
Берешь куб в текущих координатах, и пока ты понимаешь телефон вверх, меняется ускорение по координате z. Применяешь это к текущим координатам куба и меняешь его положение в пространстве. Когда перестанешь поднимать телефон, ускорение станет равным 0 и куб остановится на некой высоте, которую ты в процессе изменения ускорения посчитал

конечно пробовал прописать движение исходя из осей акселерометра, но он видимо считывает только вращение, но никак не позицию, как мне кажется
Нет. Акселерометр отслеживает не вращение, а ускорение по трём осям

Худший ответ:
А как акселерометр должен определять высоту? Сначала узнай, что это такое, могу предложить для этих дел работу с камерой, например :
https://www.air-gun.ru/social/readtopic/prostoy_da...
В чистом виде не подойдёт, но думаю додумать можно.
Ещё вариант, можно попробовать считывать поднимание по показаниям акселерометра, вряд ли люди будут поднимать телефон идеально вверх.
Вопрос: Где взять дорожную карту c++?

Лучший ответ:
Какой именно интернет вы весь перекопали?
Первая же строчка по запросу в гугле "unreal engine developer roadmap", например - не устраивает?
Может, вам и не стоит в С++?..

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

Лучший ответ:
Нужно каждое слово оборачивать в %?
Нет. Вернее, этого недостаточно.
Условие WHERE name LIKE '%сок%перс%', конечно, не пропустит указанные нежелательные записи - но и "Персиковый сок" тоже будет отброшен.

Нужно проверять наличие каждого слова отдельно.

SELECT *
FROM table
WHERE name LIKE '%сок%'
  AND name LIKE '%перс%';

Худший ответ:
По-моему, возможностей полно-текстового поиска Mysql должно хватить.
https://www.mysqltutorial.org/mysql-boolean-text-s...
Вопрос: Универсальное использование section и article, будет ли такая структура верной для интернет-магазина?

Лучший ответ:
Разве структура в карточке такая большая, что нужен section?
Чего Вы хотите добиться, добавляя все эти обертки вокруг всех элементов внутри карточки (я про header вокруг заголовка например)?
Заголовки лучше сделать по иерархии, так как они будут помогать навигации по странице.
В отношении section -> article, согласен, по семантике похоже на правду. А вот внутри карточки скорее всего не будет сложной структуры, чтоб выделять целые секции, и не забывайте, что section обязан иметь заголовок.

Худший ответ:
Разве структура в карточке такая большая, что нужен section?
Чего Вы хотите добиться, добавляя все эти обертки вокруг всех элементов внутри карточки (я про header вокруг заголовка например)?
Заголовки лучше сделать по иерархии, так как они будут помогать навигации по странице.
В отношении section -> article, согласен, по семантике похоже на правду. А вот внутри карточки скорее всего не будет сложной структуры, чтоб выделять целые секции, и не забывайте, что section обязан иметь заголовок.
Вопрос: Почему трафик не идет через шлюз по умолчанию?

Лучший ответ:
Вы в traceroute видите ответ маршрутизатора о пути прохождения пакета. Вероятно, ваш первый хоп имеет адреса как 10.128.0.1, так и 10.128.0.4, но пакет ICMP Time-to-Live Exceeded он посылает с 10.128.0.1. Это не значит, что трафик маршрутизируется через адрес 10.128.0.1.

Худший ответ:
запустите в одном окне sudo tcpdump host 8.8.8.8 и после этого в другом окне traceroute 8.8.8.8,
смотрите, что покажет tcpdump, будут ли там пакеты в сторону 10.128.0.4 (обязаны быть).
Вопрос: Будут ли перспективы работы в IT в будущем?

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

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

Если тут есть действующие программисты, как обстоят дела на рынке IT?
В мире дела у отрасли радужные, она быстро растёт и развивается, спрос на программистов огромный, зарплаты высокие, рынок соискателя. В РФ пока непонятно, что происходит. Вполне возможно, что российская отрасль ИТ остановит рост на годы. Скорее всего потребность в профессионалах никуда не денется, но вот новички уже будут не нужны и порог входа для них станет преодолим для единиц.

Худший ответ:
В профориентации есть только один вопрос правильный: чем вы хотите заниматься?
Все остальное вроде "перспектив", "рынок", "ИИ" - это все для тех, кто не хочет и не умеет работать.
Вопрос: Где можно изучить Unity лучше чем самый базовый уровень?

Лучший ответ:
https://learn.unity.com/courses Официальные юнитивские курсы будут получше процентов 80 того, что показывают на YT. По c# есть курс от ulearn можете его пройти: https://ulearn.me/

Худший ответ:
Есть но оно все на английском ....к тому же часть платно  , это есть на самом юнити ...
А так проблематично конечно найти что то стоящее . Даже По визуальному Болт  не чего нет на русском языке. Я хотела бы по Болт на русском .
Вопрос: Проблема с ноутбуком?

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

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

Лучший ответ:
Это очень хороший вопрос. 
Ответ на него - никак не использовать.

Да, в mysqli действительно есть специальная функция, которая может сказать, какое количество строк вернул запрос SELECT.   
Традиционно употребляется в двух случаях:

а) когда это не нужно    
б) когда приводит к катастрофическим последствиям

Первый вариант - это когда мы хотим узнать, вернул ли запрос хоть какие-то данные, или нет. Но на этот случай у нас есть сами данные. Зачем отдельно запрашивать их количество, если мы все равно будем эти данные получать в переменную, которую потом и можно будет использовать чтобы узнать, вернул ли запрос что-нибудь или нет.

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

Правильным решением этой задачи будет сделать запрос вида SELECT COUNT(*) FROM .... В этом случае БД сама внутри себя посчитает количество строк (очень быстро) и вернёт только одно число, которое не занимает оперативную память вообще. 

Вот и получается, что функция mysqli_num_rows() является либо вредной, либо бесполезной

В данном случае надо сначала получить записи из БД
// БЕЗОПАСНО выполняем запрос
$stmt = $link->prepare("SELECT * FROM comments WHERE art_id = ?");
$stmt->bind_param("s", $note_id);
$stmt->execute();
// получаем данные
$result = $stmt->get_result();
$comments = $result->fetch_all(MYSQLI_ASSOC);
?>
А после этого уже их выводить
<?php if ($comments): ?>
    <?php foreach ($comments as $row): ?>
         <?=$row['comment']?><br>
    <?php endforeach ?>
<?php else: ?>
    Эту запись еще никто не комментировал
<?php endif ?>

Как видно, никакой mysqli_num_rows нам не понадобилось

Худший ответ:
$query_comments = "SELECT * FROM `comments` WHERE `art_id` = '{$note_id}'";
$s_note = mysqli_query($link, $query_comments);
if (mysqli_num_rows($s_note)) {
    while ($n = mysqli_fetch_assoc($s_note)) {
        echo $n['comment']."<br>";
    }
} else {
    echo "Эту запись еще никто не комментировал";
}
Вопрос: Как наверстать такую сетку?

Лучший ответ:
Если количество дочерних элементов сетки всегда известно, то можно построить такую ломаную сетку на гридах, добавив в неё вспомогательные колонки/строки и прописав каждому элементу его расположение в сетке.
snippet

Худший ответ:
Первое что в голову идет это grid-template-areas, просто как можно больше столбцов и строк сделать;
https://developer.mozilla.org/ru/docs/Web/CSS/grid...
Вопрос: Сборка Windows 10 LTSC by LEX_6000 | Что за стартовая страница в браузере?

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

Сборка Windows

Обычно в таких случаях работает только один совет - сноси её науй и ставь чистую

Худший ответ:
Ну  установи пустую страницу.... и вобще зачем тебе браузер Виндовса? поставь что то нормальное ...
Хм...скачай опера, потом уже поставишь нормальный браузер,затем сделаешь нормальный по умолчанию  а видновский отключишь
Вопрос: Можете дать идеи для проектов на языке C#?

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

Поскольку вы привели в пример калькулятор, то могу посоветовать библиотеку

AngouriMath

проект молодой, перспективный и багов пока хватает, но вам-же лучше - будет проще внести свой вклад в его развитие.

Если математика не то чем вы хотели бы заниматься, то уточните в комментариях области своих интересов, попробую подобрать пару ссылок на которые можно обратить внимание.

Худший ответ:
Решайте задачи с помощью c# те, с которыми вам приходится иметь дело. Учитесь? Напишите программу для решения уравнений/ задач, которые проходите. Работаете? Автоматизируйте свои текущие бизнес задачи. Синтетические задачи несут в себе меньше, чем те, с которыми приходится иметь дело вживую.
Вопрос: Как адаптировать код php под FreeBSD?

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

if (file_exists('myscript.running')) {
   echo 'Скрипт уже работает!', PHP_EOL;
   return;
}
touch('myscript.running');

// Тут ваш код

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

Лучший ответ:
При наличии прямых рук: 

Все полностью разбирается
Тщательно промывается дистиллированной водой в тазике и еще раз проливается потоком (продается в любом автосервисе бутылками, берите с запасом литров 10) - если где налет образовался, то можно аккуратно мягкой зубной щеткой потереть
Разъемы продуваются баллоном с воздухом
Оставляется сушится в теплом помещении на два-три дня
Еще раз разъемы продуваются баллоном с воздухом на всякий случай - могут капли остаться в труднодоступных местах

Далее собираем и смотрим - работает или нет. Если не работает - то надо уже смотреть что именно не работает и как именно. На промывку ноута у меня уходит примерно 4-5 литров воды.

Худший ответ:
Все разобрать, просушить, проверить на видимые неисправности (налет, ржавчина, следы КЗ, вздутие). Если есть - матери - пушной зверек, скорее всего. Если нет - вынуть из корпуса и на непроводящей подкладке (например, большой картонке) собрать мать, БП, видео (если надо), клаву и включить (замыканием контактов на разьеме матери) - исключаем проблемы с корпусом и КЗ, уводящие БП в защиту.
Если не заводится - скорее всего пушной зверек матери - там все-таки была дежурка. Проверяем работу БП (замыкаем контакты на разьеме скрепкой). Проверяем проц - разогревается ли (рукой, при снятом кулере). Вытаскиваем память, проверяем - должно орать.
Вопрос: Как «разнообразить» разработку?

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

Худший ответ:
У intel есть гораздо более продвинутый и быстрый анализатор vTune (аналог valgrind), но он стоит денег.
Ради интереса можно посмотреть, у него есть триальный период. По моему, он входит в комплект интеловского компилятора, а так же есть как отдельный продукт. Можно использовать с программами собранными gcc. Сейчас название, возможно, поменялось.
Статические анализаторы кода: PVS платный, но есть и бесплатные варианты cppcheck, например.
Системы сборки: cmake, meson
gdb вещь конечно крутая, но чаще всего быстрее и приятнее использовать GUI отладчики, даже с уменьшенным функционалом. Для gdb есть отдельные GUI, не привязанные к IDE. Во всех популярных IDE есть встроеный GUI отладчик.
С++20
Вопрос: Какой язык программирования выбрать чтобы стать игровым разработчиком?

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

Худший ответ:
Конечно выбирай Unity и C#, он стабильнее и легче в освоение и в плане производительности. 
Сейчас андройд игры востребованы, больше шанс получить небольшую прибыль, и вложенй меньше.
Право публикаций игр:
Gogle Store - 3$
Steam - 100$
App Store - 99$ каждый год и еще отклонить публикацию могут

Вывод: Unity, C#, Android
Вопрос: Как запланировать действие в python?

Лучший ответ:
Вопрос из заголовка: библиотека shedule
Вопрос из текста вопроса: библиотека Threading+sleep
По факту, сделайте лучше формулу, которая вычисляет исходя из текущей даты, даты когла вычислялась формула последний раз и значения этой формулы при прошлом расчёте. Сохраняйте дату и прошлое значение и обновляйте, когда поьзователь интересуется.  Такой подход сбережет вам куууучу вычислительных ресурсрв

Худший ответ:
Решение "в лоб": import time
while True:
    time.sleep(59)
    if time.localtime().tm_min == 59:
        #тут действие
Вопрос: Как запустить цикл внутри Tkinter?

Лучший ответ:
Для бесконечного цикла нужно использовать after, который будет перевызывать сам себя
def repeated():
    print(123)
    window.after(1000, repeated)

# и в основном коде программы запускать этот "цикл"
window.after(0, repeated)

Худший ответ:
from tkinter import *
root = Tk()
def repeat():
    while 1:
        print(123)
        root.update()
check = Button(root, text="Проверить ключ", command=lambda:repeat())
check.pack()
root.mainloop()
Вопрос: Смогу ли я восстановить бекап на болле новом Android?

Лучший ответ:
Есть такая замечательная программа с открытым исходным кодом -> OAndBackupX. Делал через эту программу бекап софта вместе с данными на android 9, а затем восстановил на android 11. Из около 500 программ 490 полностью восстановилось и работало, но были мелкие проблемы с некоторым софтом. К примеру, в том же Сбербанке слетела авторизация и пришлось входить по новой.

Худший ответ:
Синхронизация самого андроид? приложения, номера. Руками переносил только музыку, фото и смс
тел LG
Вопрос: Почему sum(sum(xy)/sum(x))/n приближенно равен sum(sum(xy))/sum(sum(x))?

Лучший ответ:
Должны быть какие-то определенные свойства матрицы даны. Иначе оно нифига приблеженно не равно. Например,

X= {{1, 5}, { 1, 5}}, Y={{5, 1/5}, {5, 1/5}}

слева даст: 1/2 (10/2 + 2/10) = 1/2 (5 + 0.2) = 2.7

а справа: (5+5+1+1)/(1+5+1+5)= 1

Вообще даже близко не равно. Меняя 5 в матрице выше на сколь угодно большое число, вы получите сколь угодно большую разницу.

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

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

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

Худший ответ:
Иди в аутсорсинг. Они чаще нанимают джуном и там можно прокачаться. Остальным джуны нужны крайне редко