Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как узнать сколько времени займет поиск значения в тхт-списке?

Лучший ответ:
Как понять сколько времени будет занимать поиск заданного значения и каким способом эффективнее парсить файл?
Что известно о файле кроме того, что он есть?

Если значения в случайном порядке, то сложность будет всегда O(N) в худшем случае

Если в нём значения отсортированы по какому-то признаку и есть явный разделитель (перевод каретки, например), то можно сделать аналог бинарного поиска (за O(logN)). Ну то есть, тыкаем в середину файла (seek(file_size_in_bytes / 2)), ищем вперёд ближайший разделитель (например, перевод каретки), читаем до следующего разделителя (получается строка), сравниваем ну и дальше как обычно. Но нужно учесть, что если это HDD, то движения головки диска не бесплатные и рандомный seek будет медленней последовательного, так что сравнивать "количество строк в секунду" в лоб не выйдет.

Если ОЗУ позволяет, то можно вычитать весь файл туда и закинуть в структуру, которая больше подходит. Будь то дерево, сортированный массив или хэш-таблица. Если требуется только ответ на вопрос "есть?", то хэш-таблица будет самым производительным вариантом со сложностью O(1)

Если ОЗУ не позволяет и большинство запросов заведомо будут "мимо", можно сделать фильтр Блума и сканировать файл только если он "возможно есть" и никогда не сканировать, если его "точно нет" (собственно, эти ответы и даёт фильтр Блума)

Если ОЗУ не позволяет, но файл можно менять, то можно отсортировать его единоразово и дальше бинарный поиск

Да можно даже содержимое файла в sqlite залить и решить все проблемы, пусть драйвер сам разбирается, что хранить в ОЗУ

Худший ответ:
это задача поиска подстроки и для нее есть быстрые специализированные алгоритмы
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B8%D...
Вопрос: Есть ли смысл вкатываться в data science в 14 лет?

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

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

Лучший ответ:
* деанонимизация, как минимум сайт узнает ваш ip адрес (а из него примерные географические координаты), очень часто об этом забывают пользователи telegram и других анонимных чатов
* спам через уведомления, сайты запрашивают разрешение на прием уведомлений (иногда циклически, пока не нажмешь да) и через некоторое время у вас будут всплывающие окна с картинками (реклама)
* атака уязвимых веб сервисов где вы авторизованы - click jacking (вслепую заставлять нажимать кнопки на авторизованном сайте, рисуя его со 100% прозрачностью в iframe, пододвигая под курсор пользователя), cross site scripting (выполнять действия на сайтах вызывая напрямую там запросы)
* есть опасность доступа к буферу обмена, дело в том что по стандарту, браузер не имеет прямого доступа к буферу, пока пользователь не совершит действие на сайте (клик мышкой), заставить пользователя это сделать не сложно, а содержимое буфера будет у злонамеренного сайта, а что там у вас в буфере бывает - иногда очень интересно
* фишинг - подсовывать визуальную копию других сервисов, требовать авторизацию и таким образом выуживать логин пароль
* многие люди разрешают (поведение браузеров по умолчанию) автоматическую загрузку файлов в каталог загрузки, злонамеренный сайт может подсунуть туда легитимное приложение, зараженное трояном, в надежде что пользователь когда-нибудь запустит его, увидев в папке загрузки (там всегда бардак и никто не запоминает откуда что скачали), на самом деле это одно из самых опасных действий, так как переводит операции из браузерной песочницы в операционную систему, а там уязвимости опаснее
...

Худший ответ:
Сайт может запустить код на компьютере пользователя, например через уязвимости самих браузеров или DLL planting.

Сайт может манипулировать другими сайтами через их уязвимости, например если где-то есть XSS уязвимость  - он может эту уязвимость эксплуатировать.

Сайт может маскироваться под легитимный сайт. Он может это делать так, что визуально невозможно найти отличия. Проще научить людей не переходить по ссылкам чем отличать фишинг от не фишинга, надежно распознать фишинг  в общем случае невозможно.
Вопрос: Какую современную систему стейт-менеджмента лучше выбрать для React-проекта с «нуля»?

Лучший ответ:
Все сильно зависит от специфики вашего проекта, но по своему опыту могу сказать, что ФП хранилища в проекте с бизнес-логикой - зачастую хуже, чем ООП варианты.
В своих проектах обычно использую стек из Mobx + tsyringe(DI). С недавних пор добавил в эту схему React-Query. Иногда бывает полезно использовать MST, если ваша бизнес логика требует каких-то сложных моделей данных с собственной логикой, а так же сложной связи между ними. В частности, MST дает немного больше возможностей для проектирования моделей данных, нежели обычные классы с Mobx.
Поясню за ответственности:
1. Mobx - отвечает именно за бизнес-логику frontend приложения. Не надо туда пихать геттеры данных с бэкенда, которые нужно просто визуализировать, для это есть React-Query. Поскольку Mobx базируется в первую очередь на классах, для работы с ним мы можем применять ООП и соответствующие паттерны, выстраивая интересно логику из хранилищ и сервисов прямо на frontend. Для лучшего понимания как это правильно варить, рекомендую глянуть на backend.
2. React-Query - у них на сайте прекрасно описано, зачем они нужны, и этот инструмент в любом случае призван дополнять типичные хранилища состояний, будь то хоть Mobx, хоть Redux, хоть еще что-либо, рекомендую почитать. Отличный инструмент для работы с состоянием приложение в случае тех данных, которые просто нужно взять с бэка и отобразить.
3. Tsyringe - для меня проверенный и неплохой инструмент для работы с DI на фронте. Это гораздо лучше, чем пробрасывать хранилища внутрь других хранилищ через конструкторы или через глобальные переменные. Аналогично с подключением в эту схему сервисов. Сразу скажу, что есть риск запутаться в конфигурациях сборщика, если используете CRA, ибо и Mobx, и Tsyringe используют в своей основе декораторы, а babel их переваривает с переменным успехом, но если разобраться, настроить можно)

Опять таки, адепты Redux и ФП могут сказать, что я просто не умею готовить Redux. Действительно, не умею. Несколько раз пытался трогать Redux, но он не нравился ни до того, как узнал про Mobx, ни после. Верю, что разрабатывать на нем можно. Но и ухо можно чесать левой рукой через затылок. Чтобы Redux был производительным и эффективным, нужно понимать как устроены данные и как работает его реактивность. Он может неплохо подойти для менеджмента состояния каких-то простых моделей данных, например, форм. Но зачем нам центральное хранилище для форм? 
Mobx в этом плане сильно проще и при хорошей архитектуре проекта и самого приложения, джуниоры редко могут там что-то вытворить своеобразное, да и производительность там поломать куда сложнее. В общем, Mobx банально удобнее и проще, но при этом не только не ограничивает разработчиков в возможности создавать сложные и элегантные решения, а только помогает в этом.

Вот такие мысли, надеюсь поможет)

Худший ответ:
Я конкретно в react недавно, всего год работаю, но сразу в большой проект попал. Выбрал recoil, пока доволен.
Вопрос: Прыгает частота на видеокарте после кз при просмотре видео?

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

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

Разве что в каком-нибудь фирменном ПО от производителя не стоит "Max super turbo gaming mode"  или типа того.

То что при просмотре видео частота скачет это нормально. Карта заполняет буфер кадрами при декодинге - частота выросла. Заполнение закончилось - режим idle, т.к для отображения на мониторе не нужны большие вычислительные мощности, тем более для просмотра стримов.

На будущее скажу, ни одна видеокарта не будет работать на макс частотах в простое без нагрузки.

видеокарта всегда работала на максимальных частотах
Поэтому данное утверждение неверно
Вопрос: Можно ли реализовать графику на стандратных и системных библиотеках?

Лучший ответ:
Да, конечно. Начиная от wingdi и заканчивая directx - Это все стандартные виндовые библиотеки.

Худший ответ:
Можно начать с книжки Петцольд Ч. "Программирование для Windows 95".  Основа справедлива и для современных Windows.
Вопрос: Какова сложность алгоритма?

Лучший ответ:
В лучшем случае O(N), в худшем O(N^2)

Если сделать по нормальному, всегда будет O(N)

Худший ответ:
Квадратичная сложность.

Решение со стеком будет линейным.
Вопрос: Как правильно вывести строку через условные теги WordPress и условные операторы?

Лучший ответ:
Похоже, вы хотите отобразить строку «Главная страница» для главной страницы и заголовок страницы для всех остальных страниц.

Одна проблема с вашим кодом заключается в том, что оператор else не связан ни с одним из операторов if. Это означает, что он всегда будет выполняться, независимо от того, верны ли какие-либо из предыдущих операторов if.

Чтобы исправить это, вы можете использовать оператор elseif вместо оператора else. Оператор elseif будет выполнен только в том случае, если предыдущий оператор if ложен, а условие в операторе elseif истинно.

Вот как вы можете изменить свой код для достижения желаемого поведения:

<meta property="og:description" content="

<?php

if ( is_front_page() ) {
    echo 'Main page';
} elseif ( is_404() ) {
    echo 'Error 404';
} elseif ( is_search() ) {
    echo 'Search page';
} else {
    echo the_title();
} ?>

">

Это должно отображать правильную строку для каждой страницы.

Худший ответ:
Похоже, вы хотите отобразить строку «Главная страница» для главной страницы и заголовок страницы для всех остальных страниц.

Одна проблема с вашим кодом заключается в том, что оператор else не связан ни с одним из операторов if. Это означает, что он всегда будет выполняться, независимо от того, верны ли какие-либо из предыдущих операторов if.

Чтобы исправить это, вы можете использовать оператор elseif вместо оператора else. Оператор elseif будет выполнен только в том случае, если предыдущий оператор if ложен, а условие в операторе elseif истинно.

Вот как вы можете изменить свой код для достижения желаемого поведения:

<meta property="og:description" content="

<?php

if ( is_front_page() ) {
    echo 'Main page';
} elseif ( is_404() ) {
    echo 'Error 404';
} elseif ( is_search() ) {
    echo 'Search page';
} else {
    echo the_title();
} ?>

">

Это должно отображать правильную строку для каждой страницы.
Вопрос: Можно ли записывать бэкап на диск, бэкап которого делается?

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

Хранить бакапы нужно НА ДРУГОМ физическом носителе, лучше другой компьютер и в идеале, компьютер, находящийся в другом доме/городе

p.s. Создавать резервную копию системного диска могут очень небольшое количество софта. Для windows нужно использовать shadow copy, файлы будут доступны только как файлы, т.е. загрузочную копию так не создать. Точно помню что старая версия windows backup это умела. Обычно приложения для бакапа, работающие из системы плохо работают с системными файлами windows, т.е. если в момент восстановления ты попробуешь их скопировать, можно получить незагружаемую систему (я с таким сталкивался, то ли с правами что то неверное мутили, то ли с символическими ссылками ошибки были, но это было во времена win7, осадочек остался)

p.p.s. настоятельно рекомендую для резервного копирования использовать clonezilla, загрузившись с usb/cdrom/другого носителя, так как работает она с диском на уровне раздела (при этом поддерживает все файловые системы и позволяет пропустить копирование не занятого места, что очень экономит время)
spoilerодин раз acronis меня уже кинул, когда бакап, созданный старой версией приложения не мог быть развернут новой версией (различия в версиях были значительными)

Худший ответ:
Можно. Но умрет диск - умрет бэкап
Вопрос: Как научиться понимать геометрию?

Лучший ответ:
https://c82.net/euclid/

есть переведенная версия на github`е

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

То есть, вся геометрия превращается в метод координат и векторы, после чего все сводится к обыкновенной алгебре. 

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

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

Что за пиз...ц с сериализацией картинок в base64 потом это все в json, а в базе хранить php-щным serialize?

http post прекрасно справляется с отправкой файлов, там своя сериализация, никто не мешает миксить в запросе get и post данные

Не храните картинки в базе данных, никак, ни блобом ни сериализацией, кто придумал этот маразм, в каком бредовом туториале это прочитали и каждый второй это реализует?

Файлы храни в файлах на диске, а в базу записывай путь или имя файла (либо сам файл по идентификатору называй), раз в сто лет на обслуживании базы сравнивай наличие файлов на диске и записей в базе и удаляй висяки (образуются если во время обработки произошла ошибка, например скрипт умер, файл записали а транзакция в базе откатилась)

p.s. в php во всех репозитариях есть красивый сериализатор igbinary, если что он в каком то смысле даже быстрее старого serialize и точно компактнее, его потихоньку в стандарт пропихивают, например можно использовать его для хранения сессий

Худший ответ:
Посмотрите в slow логи mysql. Угадываю, что вы можете найти запросы, которые можно оптимизировать.

А так - информации очень мало. Для диагностики, лучше:
1. Проанализировать ttfb
2. Если ttfb мал, но запросов много - уменьшить количество запросов.
3. Запросов не много, но большой ttfb - тут нужно профилирование / анализ лога системных вызовов
4. Если из анализа видно, что больше времени тратиться на получение данных с диска - то диск узкое место.
5. Если из анализа видно, что узкое место mysql - то тут нужно смотреть, что за запрос, проверить его explain. 
6. Если запрос нельзя оптимизировать, то тут только кеш.

Из того, что вижу, вы можете ускорить скрипт:
1. Обломать руки "программисту" (чтобы он больше не писал такой код)
2. Вынести delete в отдельный скрипт и запускать раз в 10 минут
3. Действительно ли вам нужна капча (если я правильно понимаю), для запросов от локальных машин?
4. Какого либо кеширования запросов у вас не увидел (наймите нормального разработчика), попробуйте (если ещё не используете) redis.

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

Если не хватает места на диске, могу предложить 2 варианта решения:
1. Могу предложить, что у вас дедик, отсюда - "Купи нормальные диски"
2. Если логи вам не нужны, то можеие их в dev null сразу отправлять, а потом гадать, что случилось. Если серьезно - используйте нормальный сбор логов (на отдельный сервер), например, на сервер с бэкапами (надеюсь, они у вас есть).
Вопрос: Как лучше всего строить карты в unity?

Лучший ответ:
Полностью карту в редакторах сделать не получится, все равно часть компонентов и связей надо будет строить в Unity.  Это значит что при внесении изменений и экспорте в редакторе, что то может рухнуть при переимпорте в Unity. 

Более всего удобней переносить модульно, лестницы, дома, бочки и другие пропсы делать в редакторе, потом расставлять в Unity префабами. Если уровень грунтовый, то земля (Terrain) сразу в Unity.

Худший ответ:
Разница в гибкости. Например дом для своей игры мы строили с помощью блокаута в блендере, перенос в юнити и редактирование с помощью ProBuilder.

Если строит из каких-нибудь кубов, то будет не удобно редактировать. Можно делать как вам удобно. Каждый раз редактировать в блендере .fbx или перенести его в юнити и редактировать из него с помощью ProBuilder
Вопрос: Смарфон с качественой камерой от 48Мп имеющий самый большой пиксель?

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

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

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

p.s. я игрался с xiaomi redme note 8 pro и по старее xiaomi a2, у второго камера дает меньше мегапикселов но чувствительность ночью выше на столько, что поставив на штатив и направив в небо ночью, можно получить шикарные снимки зведного неба в загаженном городским светом с минимальным iso и 8сек затвором, первый же требует либо повышать длительность съемки либо iso что дает больше шумов
Но note8pro позволяет включив 64мп режим выдавать более четкие снимки, с цветовыми артефактами (соседние пикселы фейковые, если говорить про звезды) с огромным разрешением

В любом случае помимо камеры нужна оптика, по дефолту в смартфонах она не очень

p.p.s. ты смотрел смартфоны с 108мп сенсором? xiaomi 10 или 11 honor 50?

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

Лучший ответ:
Если без внешних инструментов с бесплатным триалом и деньжищами за использование,
можно через Docker API получать живой стрим событий.  Отфильтровать в нём только интересующие, например, container=<string> когда имя интересующего контейнера известно и постоянно.

Но вообще присмотритесь подробнее к опции restart – пусть контейнер перезапускается автоматом после падения. И может, при запуске как-то куда-то отправляет «Доброе утро, админ!»

Худший ответ:
https://www.site24x7.com/ умеет и мониторить URLs, есть и агент, которым можно мониторить процессы и контейнеры.
Вопрос: Подключение к сайту не защищено с сертификатом Lets Encrypt. Почему?

Лучший ответ:
задайте эти вопросы техподдержке хостинга, они вам помогут быстрее

Худший ответ:
Привет! Я тоже, теоретически, использовал сертификаты от let`s encrypt и происходила таже самая история с недоверием со стороны гугла, причем это гугл популяризировал https-защищеное соединение первым! С одной стороны он прав, доверять только тем центрам сертификации у которых с ним монетизация. Покупай сертификат в центрах которые указаны на телефоне с андройдом. И все будет хорошо. С другой стороны, если на гугл пох с его обширной аудиторией, то загружай сертификат по методам указанными на сайте https://letsencrypt.org/
Вопрос: Почему сайты не подключаются к SMTP яндекса?

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

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

Худший ответ:
Потому что плохая идея использовать почтовые сервера Яндекса не в персональных целях. Яндекс всячески борется с попытками рассылок, подключения к сайту для отправки уведомлений и тп.

Для рассылок есть свои сервисы.
Для технических уведомлений – свои.

В крайнем случае, подними свой почтовый сервер.
Вопрос: Почему не стартует служба Zabbix server?

Лучший ответ:
Ну запустите zabbix_server вручную, с подсовыванием нужных конфигов. Сервер сам всё и скажет...

Худший ответ:
http://
вас не смущает
адрес протух уже давно,
что за дистриб вы установили, от какого Васяна?
Вопрос: Что делать с потерей пакетов?

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

Худший ответ:
У тебя до роутера УЖЕ потери. Понятно же, что твои ЛОКАЛЬНЫЕ потери будут наслаиваться на потери в инете. Всё логично.
Что ты хочешь, чтобы тебе виртуально по телефону зуб вылечили?
Вопрос: Не запускается виртуальная машина, что делать?

Лучший ответ:
Ам в же в ошибке указано. 

Виртуализацию в БИОС включите

Худший ответ:
Тут от биоса еще зависит, какая версия стоит?
Блин редактор не дал ссылку поставить, как ниф отметил, вот ссылка, по поводу кода ошибки, тут и есть ответ по твоей проблеме https://ichip-ru.turbopages.org/turbo/ichip.ru/s/s...кс
Вопрос: Как заменить название словаря в методе TryGetValue?

Лучший ответ:
(Пояснение идей других отвечающих)
Как вариант:
var allDictionaries = new Dictionary<string, Dictionary<string, string>> {
  ["1"] = new Dictionary<string, string>(),
  ["2"] = new Dictionary<string, string>()
};

var input = Console.ReadLine();
var selectedDictionary = allDictionaries[input];
var key = Console.ReadLine();
var value = selectedDictionary[key];
Console.WriteLine(value);

Худший ответ:
Начните с банального, если пользователь ввёл "1" то dictionary1.TryGetValue иначе если пользователь ввёл ... Возможно потом, вы осознаете списки, где под нужным индексом будет лежать нужный словарь или словари, если пользователь будет вводить что-то сложнее цифры.
Вопрос: Влияет ли цвет на нас?

Лучший ответ:
Потому что из "люминофор P1 – зеленый цвет, люминофор P3 – светло-коричневый, или люминофор P4 – белый" в IBM 5151 использовали первый.

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

Лучший ответ:
Так, попробуй перед тем как открывать диалог VirtualBox, размонтировать диск, чтобы он не был смонтирован в каталог /mnt/floppy (лучше это делать не в файловом менеджере а командой sudo umount /dev/sdc в терминале)

Затем, если диск так и не появится в списке дисков, запусти для простоты VirtualBox из под root (в консоли sudo VirtualBox) и проверь там

Если и это не сработает, добавь вручную raw диск в списке floppy дисков, указав свое блочное устройство /dev/sdc

Если не получится, создай на основе блочного устройства vmdk файл диска, с помощью команды:
sudo VBoxManage internalcommands createrawvmdk -filename floppy_name.vmdk -rawdisk /dev/sdc
и получившийся floppy_name.vmdk уже подсовывай виртуалке, если не скушает как floppy, давай ему его как жесткий диск

p.s. следи чтобы система не монтировала этот диск автоматически во время работы виртуалки, а то повредится содержимое файловой системы на нем

Худший ответ:
снотировать как raw-диск
https://docs.oracle.com/en/virtualization/virtualb...
наверное полноценной в госте как флопик не появится, просто как виртуальное устройство размером в 1,44мб.
слишком давняя технология - никто не пишет под флопики