Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Сайт с доступом только по https. Плюсы и минусы?

Лучший ответ:
Текущая общепринятая практика это редирект в https на 80м порту и HSTS на 443м. Использование HSTS приводит к тому, что клиент никогда не будет использовать HTTP с сайтом, даже если явно указать http в URL. Дополнительно, можно отправить домен в список HSTS preload В США практика официально закреплена в документе  The HTTPS-Only Standard, обязательном для правительственных агентств, в нем есть отдельное упоминание что:

Allowing HTTP connections for the sole purpose of redirecting clients to HTTPS connections is acceptable and encouraged. HSTS headers must specify a max-age of at least 1 year..

т.е. разрешать подключения к 80му порту с целью редиректа не толко допустимо, но и желательно.

Закрытие 80го порта не обеспечивает более высокой защиты чем редирект + HSTS, т.к. в случае MitM атаки атакующий может перехватить запрос к 80му и подменить ответ независимо от того открыт он или нет на сервере назначения. Т.е. закрытие 80го порта приводит к нежелательным эффектам без какого-либо повышения уровня защищенности.

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

Но если стои-и-иит плагииии-и-и-ин автоперевода на HTTPS, или сам сервер редиректит, или руками добавляешь S куда надо - вот тогда даааа, нате вам HTTPS. Но только тогда.

А по умолчанию, если набран просто домен - будет HTTP. Точка!
Вопрос: Есть разница, на низком уровне, между классом со статичными полями и глобальным экземпляром класса?

Лучший ответ:
Нет разницы.

Можно же проверить самостоятельно. Технологии нынче - все легко. Вот: https://godbolt.org/z/PKWPdY4nn

Как видите, и то и другое компилируется в практически одинаковые инструкции:

eax, DWORD PTR MyGlobalPool[rip+4]
...
eax, DWORD PTR MyPool1::numOfAllocatedObjects[rip]

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

Худший ответ:
Скорее всего низкоуровневой разницы нет, если речь об одном глоб. объекте во втором случае:
https://godbolt.org/z/YaWccvPx3
Мне кажется, если это pool для аллокации памяти и т.д., то предпочтительно ближе ко второму варианту, т.к. можно создавать разные пулы одного типа в одной программе. Скорее даже лучше что-то вроде shared_ptr на pool у аллокатора...
Вопрос: Как обезопасить рабочую почту и яндекс диск для 5-6 пользователей?

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

Ваша мысль не сработает. Изменить поведение сервиса вы не сможете.

Худший ответ:
Если с почтой то можете сделать 6 почт а с основного всем пересылать  на них 
Диск можно расшарить папки 
Как сказали выше  NextCloud отличное решение  
у яндекса есть пароли для сервисов отдельные 
также у них есть приложение для авторизации на ихз сервисе двухфакторное
Вопрос: Как разрешить всем пользователям доступ к папке linux?

Лучший ответ:
chmod -R 777 /usr/local/bin/bot

папка bot будет иметь разрешение для всех

Худший ответ:
/usr/local/bin/bot/bot.py
Правильнее такое размещать в opt
mkdir /opt/bot/
chmod -R u+rw  /opt/bot

А потом уже копировать.
Вопрос: Можно ли запустить VSC из консоли Linux (Ubuntu 20.04) с указанием конкретной Workspace которую требуется открыть?

Лучший ответ:
а можно ли ей передать в качестве параметра Workspace которую требуется открыть?
В vs-code папки сами по себе неявно являются воркспейсами. 
Если нужно открыть явный воркспейс, который .code-workspace, то просто укажи путь к нему первым параметром
$ code /path/to/my-project.code-workspace
https://code.visualstudio.com/docs/editor/command-line

Худший ответ:
Просто передать путь параметром.
Тут есть документация по параметрам запуска: https://code.visualstudio.com/docs/editor/command-line
Вопрос: Как избавиться от try-catch в контроллерах?

Лучший ответ:
Смотря для чего вы делаете эти try catch. Это не всегда повторяемость иногда действительно нужна, например, чтобы перебросить своё исключение. Пойти можно разными способами. Но а простой - это вам нужно просто их убрать и сделать Listener или Subscriber, который будет обрабатывать ошибки и отдавать их в нужном формате в api. Если правильно понял для чего нужно. Пример.

Худший ответ:
сделать мидлвар/слушатель, который вокруг контроллера, но просто его в коде не видно, он как правило часть фреймворка. или в index.php обернуть require что-то в try catch в одном единственном месте

try catch это же "поставить следилку, закрыть следилку, что делать с отслеживаемым". Не пиши их и их не будет. Респонсы ифами генерируй "if (! $content) return new JsonResponse();". А то что вы хотите эксепшен выбросить как JSON это не про конкретный трайкетч, это про "обработка ошибок в рамке папки с контроллерами по имени api/v1/"
Вопрос: Учусь в 11 классе, как расставить приоритеты?

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

Худший ответ:
Привет. В 11 классе, я был точно в такой же ситуации как и ты. Начал изучать программирование параллельно подготовке к экзаменам. Еще тогда я знал что мои балы не будут играть сильной роли, если я поступлю на контракт + проблем с учебой у меня особо не было. 
Сейчас я на втором курсе, учусь дистанционно но пары не посещаю. Все что я знаю о программировании я выучил сам, сейчас подкрепляю свои навыки на фрилансе.
Судя по моему опыту, если ты не планируешь учиться на бюджете, то смело можешь совмещать. spoilerхотя скажу по секрету - я ненавижу программирование
Вопрос: Возьмут ли на работу в 19 лет?

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

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

Худший ответ:
Да почему не возьмут-то? Единственное, что приготовь - приписное, военник или что там у тебя по воинскому учету. 19 лет - не 17, проблем быть не должно.
Сходи на пару-тройку собесов, будет понятно, что и кому нужно. Опыт прохождения собесов - это тоже кстати опыт :)
Вопрос: Можно ли зделать свою команду в командной строке linux?

Лучший ответ:
1. Добавь в начало файла шебанг, т.е. строку вида
#!/usr/bin/env python
Чтобы при запуске файла было понятно, чем его открывать
2. Переименуй файл в add (без расширения) и сделай его исполняемым командой chmod +x add
3. Либо помести файл в один из каталогов в переменной окружения PATH, либо добавь каталог, в котором файл лежит, в PATH.
Загляни в скрытый файл .profile в твоём домашнем каталоге, он как раз этим занимается. Он может быть настроен так, чтобы автоматически добавлять в PATH каталог bin в твоем домашнем каталоге, тогда просто создай этот каталог и закинь файл туда.

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

Лучший ответ:
Можно

Худший ответ:
 Жизнеспособный ли это план и какие мин. требования к железу? 
Почти наверняка в плане железа вашего компьютера будет сверхдостаточно. 
Простых ботов можно гонять на VPS с 256 MB оперативной памяти.

Более актуальным вопросом представляется канал в интернет. В зависимости от того, что вы используете в коде, вам может потребоваться статический белый IP. Он может оказаться дороже покупки простого VPS.

UPD:
Кроме того, если вы говорите, что компьютер немолод, оцените сколько электроэнергии он будет потреблять за месяц при работе 24/7. Возможно, что недорогой ВПС обойдётся дешевле.
Вопрос: Как исправить запись файла?

Лучший ответ:
Подвинуть
f.write(password)
на четыре пробела вправо

Худший ответ:
f.write(password) выполнять на каждую итерацию цикла. 

Я в недоумении. Как можно не понять в чем проблема?
Вопрос: Возможно ли частичное подписание PDF документа с помощью ЭЦП?

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

Худший ответ:
Конечто нет. Смысл ЭЦП - убедиться что документ не будет изменен

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

Лучший ответ:
Я не знал что есть такая утилита. Я обычно через php.ini комменчу че не нужно и раскоменчю что нужно.

Худший ответ:
Вопрос разрешился. В муках)
Виной всему оказалось мое очень поверхностное знание настройки PHP и... дурацкий скрипт phpdismod.
phpdismod отрабатывает и НИЧЕГО не сообщает. Сделал он что-то, не сделал - хз.
Оказалось, что он все таки делает! Только не совсем так, как от него ожидалось.
Я считал что он должен что-то делать с /etc/php/7.x/mods-avilable, а он на самом деле этот каталог не трогает. Просто рубит символьные ссылки, напримр в cli.
Вопрос: В чем разница между vm Ha и Fault tolerance?

Лучший ответ:
Нет, вы поняли неправильно. Обе технологии требуют, чтобы виртуалки лежали на общем хранилище.
1) Требования для FT
2) Требования для HA

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

FT - виртуалок две. Одна исполняется, на вторую сливаются изменения памяти и состояния cpu. Хранилище тоже нужное общее, чтобы состояние дисков не синхронизировать

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

Что именно вам необходимо - выбирать вам, в зависимости от решаемой задачи.
Вопрос: Есть у кого ссылки на статью по созданию ТГ бота?

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

По API читай документацию: https://core.telegram.org/bots/api
По конкретным инструкциям: google "как сделать telegram-бота на [название языка]"

Если вы никаким ЯП не владеете, то его нужно выбрать и отдельно изучить (Лично я советую C#).

PS: Есть всякие конструкторы ботов, которые можно использовать без знания каких-либо ЯП, но я хз, что в них можно сделать, и никой не могу посоветовать.

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

По API читай документацию: https://core.telegram.org/bots/api
По конкретным инструкциям: google "как сделать telegram-бота на [название языка]"

Если вы никаким ЯП не владеете, то его нужно выбрать и отдельно изучить (Лично я советую C#).

PS: Есть всякие конструкторы ботов, которые можно использовать без знания каких-либо ЯП, но я хз, что в них можно сделать, и никой не могу посоветовать.
Вопрос: Как хранить в базе профиль пользователя?

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

Худший ответ:
Две таблицы users и profiles
Связь Один-к-Одному
Т.к. профиль всегда нужен, можно его сразу прописать в жадную загрузку

class User {
  protected $with = [
    'profile',
  ];
  public function profile(){
    return $this->hasOne(Profile::class);
  }
}

$user = User::create([
   'email'      => $input['email'],
   'password'   => Hash::make($password),
]);

$user->profile()->create([
  'company'   => $input['company'],
  'position'  => $input['position'],
]);

Обращение через отношение

$user->profile->company
Вопрос: Почему не могу отправить датаграмму с размером 65516, но могу с 65000?

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

Длина датаграммы. 
Поле, задающее длину всей датаграммы (заголовка и данных) в байтах. Минимальная длина равна длине заголовка — 8 байт. Теоретически, максимальный размер поля — 65535 байт для UDP-датаграммы (8 байт на заголовок и 65527 на данные). Фактический предел для длины данных при использовании IPv4 — 65507 (помимо 8 байт на UDP-заголовок требуется ещё 20 на IP-заголовок). 
https://ru.m.wikipedia.org/wiki/UDP

Худший ответ:
На линуксе есть свои ньюансы. На VB-Ubuntu у меня UDP работает только с размером буфера 512
Вопрос: Какие есть программы для мониторинга заполняемости дискового пространства на ПК?

Лучший ответ:
Windows 10, Параметры, Система, Память.

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

Лучший ответ:
Информация с паблика где распространяли это дело:

Способ был пофикшен ВКшниками и больше не актуален, поэтому личный просить больше нет смысла. Те изображения, которые уже были загружены, скорее всего, останутся.

Ещё есть информация, что очень известные страницы с гиф-авами будут банить (за достоверность не отвечаю)

А вот и тот самый способ залива фото самостоятельно (опять же, уже пофикшен):
Человек перехватил функцию загрузки фото через сайт (не вк апи!), сделал такую же махинацию с большим размером APNG, ссылка на пост запрос ->
https://pu.vk.com/gu/photo/v2/bulk_upload
После ему дает ответ с ссылкой, на pp.userapi.com/раздел/документ.png
Он кидает её в чат, дополнительно указав в конце (.png?size=500x500) только тогда она во вложениях будет анимирована, вот почему бот багосов кидал ссылку в чат

Худший ответ:
А Вы пробывали переименовывать расширение APNG в PNG?
Так же надо попробывать использовать для загрузки разные клиенты.
Есть предположение, что при загрузке туда файл с раширением PNG, облако пытается определить разрешение фотки, и если разрешение слишком большое, пытается его пересжать встроенными библиотеками, в таком случае произойдет потеря анимации. Но если разрешение будет достаточно низким, то пересжатия не будет происходить.
Вопрос: Как убрать роутер с DHCP, без доступа к нему?

Лучший ответ:
DHCP работает в пределах L2 домена. Его необходимо вынести в отдельный L2 домен, или физически или с помощью vlan.

Худший ответ:
Вариант (1): на микротике выкинуть из бриджа порт, идущий на тот роутер, т.е. участок между микротиком и тем роутером выделить в отдельный сегмент сети с отдельной адресацией; настроить маршрутизацию на микротике.
Сложность: т.к. адрес и маску на том роутере нельзя трогать, то вместо этого пришлось бы менять адресацию в основной локальной сети микротика; это может быть не совсем удобно.
Поэтому вот вариант (2): https://www.google.com/search?q=dhcp+snooping+mikrotik
Вопрос: Есть ли опыт работы российской компании и украинских программистов?

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

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

Худший ответ:
Ну так пошлите этих ребят подальше.
Вопрос: Можно ли сменить версию node при помощи nvm локально в одной директории?

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

Худший ответ:
Я использую n – Interactively Manage Your Node.js Versions Позволяет запустить кад в нужной версии NodeJS
Вопрос: Как запустить несколько фреймворков одновременно?

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

Худший ответ:
Технически можно запускать их в разных потоках. Но это чревато кучей других проблем, типичных для многопоточности.
Может, имеет смысл переделать приложение на PyQT так, чтобы оно само использова FastAPI как бэкэнд?
Вопрос: Какой браузер выбрать для анонимности на Windows?

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

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

Худший ответ:
Могу посоветовать https://brave.com/ имеет встроенный TOR, изначально настроен на безопасность и анонимность, есть даже встроенный криптокошелек.
Вопрос: Как оптимизировать нагрузку на ЦП при отправке сообщения?

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

Худший ответ:
Действительно, почему же оно такое медленное? Может потому, что binary_t производит нечто подобное?
{"bytes":[116,101,115,116],"subtype":null}.
То есть происходит преобразование КАЖДОГО байта в десятичное число. Даже с применением несколько ускоренного алгоритма это всё занимает уйму процессорного времени.
Вопрос: Какую JS библиотеку использовать для SPA приложения где максимально разграничена логика и верстка?

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

Можно поступить так - программист декомпозирует задачу, описывает какие компоненты ему нужны на выходе, а верстальщик верстает их без логики (в storybook например).  

Но мое ИМХО - фронтендеры должны уметь хорошо верстать. Верстка это ведь не просто psd/figma to html, это еще и доступность, сложные анимации, это производительность, размер бандлов и куча всего, что нужно учитывать при разработке приложений.

Худший ответ:
Если выбор падает на React, то:
когда пишешь на React+TypeScript, то есть возможность разграничивать логику и отрисовку UI.
В файлах с расширением .ts содержится необходимая логика, функционал
В файлах с расширением .tsx уже отрисовка самого интерфейса.
Может, если вы пишете без TS, имеет смысл делать также? -  .js для логики и .jsx для отрисовки.
P.s.  просто как вариант улучшения ситуации автора.
Вопрос: Как найти работу на С++ после вуза?

Лучший ответ:
Открываете сайт hh.ru и идете по собесам. Так вы узнаете и о вакансиях, и о своей возможности получить оффер.

Худший ответ:
Так же как и до универа на хх
Вопрос: Как изменить определённый элемент списка в цикле for?

Лучший ответ:
Потому что ты не понимаешь итерацию по списку.
for vote in votes: означает, что переменной по имени vote поочерёдно будут присваиваться ссылки на значения элементов списка votes. ТОЧКА. Это не означает, что присвоив другое значение этой переменной, ты изменишь список. Присвоив что-то vote, ты заменишь ссылку внутри vote на другую, но и только.
Тем не менее, если само значение является изменяемым (например, это вложенный список или словарь), то его можно по этой ссылке изменить.

Во втором случае ты с какого-то перепугу решил, что индексы списка - это его значения. Индексы - это индексы. Числа от нуля до N-1, где N - длина списка. Так что для модификации списка нужно знать индекс элемента.
for index in range(len(votes)):
    vote = votes[index]
    x = vote.split(',')
    votes[index] = x[0]+x[1]
Или вот так:
for index, vote in enumerate(votes):
    x = vote.split(',')
    votes[index] = x[0]+x[1]

Худший ответ:
Пробуй так: 
votes = ['51,639', '51,480', '51,344', '51,267', '50,879', '50,532', '50,419', '50,250', '50,187', '50,139', '50,106', '50,064', '49,988', '49,906', '49,705', '49,641', '49,624', '49,385', '49,347', '49,221', '49,165', '49,085', '49,057', '49,043', '48,982', '48,641', '48,398', '48,347', '48,347', '48,214', '47,929', '47,830', '47,725', '47,688', '47,681', '47,678', '47,542', '47,532', '47,459', '47,392', '47,161', '47,153', '47,056', '47,046', '47,027', '46,926', '46,718', '46,679', '46,593', '46,569']

for index in range(len(votes)):
    x = votes[index].split(',')
    votes[index]=x[0]+x[1]

print(votes) # ['51639', '51480', '51344', '51267', '50879', '50532', '50419', '50250', '50187', '50139', '50106', '50064', '49988', '49906', '49705', '49641', '49624', '49385', '49347', '49221', '49165', '49085', '49057', '49043', '48982', '48641', '48398', '48347', '48347', '48214', '47929', '47830', '47725', '47688', '47681', '47678', '47542', '47532', '47459', '47392', '47161', '47153', '47056', '47046', '47027', '46926', '46718', '46679', '46593', '46569']
Вопрос: Что может ESLint без плагинов?

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

Худший ответ:
https://eslint.org/docs/rules/ — без плагинов

Для TS нужны плагины, как минимум парсер
https://github.com/typescript-eslint/typescript-es...
Вопрос: Как изменить символьное значение структуры?

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

Худший ответ:
На C++ надо использовать vector
Вопрос: Как за 1.5 месяца максимально подготовиться к собеседованиям php на высокую зарплату?

Лучший ответ:
Просто. Иди. На. Собеседование.

PS и там всё узнаешь.

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

Лучший ответ:
str.maketrans() чтобы сделать таблицу преобразований
str.translate() чтобы её использовать.
Правда, этот подход работает только для преобразований "1 символ -> 1 символ".
Если тебе нужно что-то другое, то, как написали выше, словарь в помощь.

Худший ответ:
Сделайте словарь, в котором буквам (ключам) будут соответствовать числа (значения), и с помощью него проводите замену.
Вопрос: Как проверить теорию «броска монеты», имея 100(или больше) людей, с помощью JS?

Лучший ответ:
переусложнили. Достаточно, наверное, массива из 100 чисел, изначально все 10.
Дальше в цикле проходить, выбирая пары ненулевых, и случайно определять победителя в каждой.
Пока не останется 1. Или чисто проходов не превысит какой-то порог.

Для всего 3 игроков требуется 200+- итераций. С сотней комп может нагреться )
snippet

Худший ответ:
if (Math.random() < 0.01) {
return "получит все деньги"}
else
{ return "ничего не получит"]
Вопрос: Есть ли разница SELECT * FROM `bd` WHERE `id` = '$id' и SELECT * FROM `bd` с поиском через цикл?

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

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

Лучший ответ:
Идете по массиву. Встречаете открывающую - +1 к счетчику. Встречаете закрывающую - -1 к счетчику. Если на каком то этапе счетчик стал <0 - скобки неверные. Если в конце прохода счетчик != 0 - скобки неверные

Худший ответ:
Если скобки бывают разного вида, то понадобится стек: https://www.geeksforgeeks.org/check-for-balanced-p...