Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: UnboundLocalError: local variable 'metawallet' referenced before assignment. Что делать?

Лучший ответ:
Если в result нет ни одной строки, какое значение будет у metawallet?

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

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

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

Худший ответ:
Если проекты над которыми вы работаете развиваются, то развиваетесь и вы, что как бы логично. Приведу пример.
Я второй год работаю в компании в которой следующая ситуация: над нами сверху есть только менеджерский контроль по срокам. По выбору технологий мы (кто обычно работает над проектами, это команда +- 3-5 чел.) вольны выбирать всё что сами захотим. Строить систему мы можем как хотим, указаний сверху нет. Да как можно понять проекты не энтерпрайз уровня, по сути не очень большие, но разноплановые. И сервис который работает с IoT построенный на микросервисах, написанный на Go, и монолиты полу энтерпрайз (в том плане, что для реальных мамонтов в 1000000000 строк кода этим проектам далеко, но бизнес логика довольно сложна), написанные на пыхе. И еще куча разных сервисов на разных технологиях которые выбирает команда, там и питон и haskell даже вроде где-то был. И я например могу по учувствовать если захочу в любом проекте, что я частенько и делаю. Есть минусы, это жесткие сроки, которые порой доходят до смешного. Типа соберите mvp за неделю. Мы его собираем, а дальше сверху думают - "какие парни молодцы, за неделю такую систему собрали, давайте ка им выдвинем еще кучу требований, за две недели управятся". В таких сроках да, в архитектуре ПО особо не прокачаешься, потому что планировать тупо некогда. В этом плане я скорее деградну через год два. Но в остальном я очень даже развиваюсь, и не в свободное время, а прям на работе. У нас очень плохо построен пайплайн, во многих проектах отсутствует CI/CD, там где он был бы кстати, ну потому что опять же никто времени не находит. Но в этом опять же есть плюс, потому что я потихоньку начинаю вокруг своих проектов его налаживать, по мере возможностей и времени. Чем не развитие? Так что деградация начинается тогда, когда у тебя задачи одна на другую похожи, в таком случае лучше естественно валить в другую компанию. Еще как пример я сейчас перевожу одну небольшую систему как бы по работе, но как бы в качестве пет проекта с одного стека на другой (не потому что мне так захотелось, есть реальная необходимость которую я вижу), и когда переведу весь текущий функционал, продолжу работать уже с новым стеком технологий.
Вопрос: Есть ли риск спалить системник при использовании блока питания с 450 ватт?

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

В целом, даже если 450вт фактически хватает - он будет на предельных значениях работь, а тут и КПД ниже, и нагрев больше.
+ со временем (с годами) общая мощность БП может падать.

Так что лучше в ближайшее время купить более мощный БП.

Худший ответ:
Выше все абсолютно верно написано.
Хочу обратить внимание НА:
Обычный (не 80+ "Голд ....") БП имеет реальную выходную мощность примерно 50% от заявленной на корпусе.
Хороший запас по мощьности считается 1,5 раза.

Возвращаясь к данной ситуации из БП 450 получим реальных 225Вт.
Система с расходом 160 (видеокарта)  + 90 (процесоор, материнка, HDD) получаем 250Вт. 
Тоесть даже 500 Вт. это как бы на перделе. Я бы взял 600Вт а лучше 700Вт. обычный или 500 Вт. "80+" (Бронза, голд...)
В общем если работает можно и так оставить, но стабильность системы будет под большим вопросом.
Вопрос: Есть ли принципиальные преимущества Intel+NVidia перед AMD+AMD?

Лучший ответ:
Все что вы пишите про "сочетания" - это мракобесие и ненаучный подход.
intel + amd
intel + nvidia
amd + amd
amd + nvidia
Все эти варианты я перепробовал и все работает отлично.

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

Худший ответ:
Программное обеспечение разное, по моему опыту в связке intel\nvidia углублённые настройки графики (ну в основном в видеокарте), а в амд 2-3 пункта и ппц
Вопрос: Существует ли в природе учебник по ООП на русском, где пошагово создается приложение на PHP?

Лучший ответ:
не существует.
ООП – это не создать приложение. ООП – это понять концепцию и прокачать ее.

создание одного приложения по книжке или другому уроку(ам) никак не поможет в освоении. здесь нужна продолжительная практика.

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

Пример из практики, хотел ради прокачки знаний свой фреймворк сделать, чисто потренироваться.
Нашел для СЕБЯ, подходящий курс и сделал. Да он никуда не годиться мой фреймворк, но все эти принципы я понял как делают, да еще и потренировался.

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

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

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

Худший ответ:
Т.е на той же винде на диске С можно создать директорию projects С://projects/.
А можно и не создавать. А можно создать с другим именем, а можно на другом диске.
На маке аналогично.
Я, когда на маке сидел, создавал ~/repos
Вопрос: Что значит фраза «two's complement integer» в определении примитивных типов в Java?

Лучший ответ:
https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D...
В частности, для byte это означает, что числа принимают значения от -128 до 127, а не от 0 до 255 как это могло бы показаться.
То же самое и для знакового целого int

Худший ответ:
Добрый день.
Ммм... так ведь, можно же погуглить?
https://en.wikipedia.org/wiki/Two%27s_complement
https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D...
Думаю, на русском, да и на английском достаточно информативно написано.
Вопрос: За что отвечает эта строка?

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

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

Лучший ответ:
echo number_format(1.65/0.55, 30);
//или лучше так
 debug_zval_dump(1.65/0.55);
https://ru.wikipedia.org/wiki/IEEE_754-2008

https://www.php.net/manual/en/book.bc.php

Худший ответ:
floor() - округление "отбрасывает дробную часть" при положительном аргументе, и округляет в меньшую сторону при отрицательном. То есть [ floor(-1.65/0.55) = -3 ], а [ floor(1.65/0.55) = 2 ]
round() - округляет по математическим правилам
ceil() - округляет в большую сторону
Вопрос: Как сделать alt linux сервером?

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

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

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

Окей, гугл  - "фермы накрутки лайков китай"


PS: Есть еще клик-фермы:

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

Лучший ответ:
Вобщем да, это можно назвать "синтаксическим сахаром", а более официально это звучит так:
"Данная конструкция(new) гораздо удобнее и читабельнее, чем многократное создание литерала объекта.

Это и является основной целью конструкторов – реализовать код для многократного создания однотипных объектов."
Источник

Худший ответ:
При создании через конструктор, будет просто объект с методами.
Используая классы, можно использовать всю мощь ООП, например наследование, интерфейсы и т.п.
https://learn.javascript.ru/class-inheritance
https://codecraft.tv/courses/angular/es6-typescrip...
Вопрос: Как задать сайту протокол https?

Лучший ответ:
В зависимости от строгости (каждый последующий пункт включает в себя все предыдущие):
1) Принудительно перенаправлять с HTTP на HTTPS.
2) Добавить заголовок Strict-Transport-Security, чтобы браузер после первого захода запомнил это и не пытался грузить по HTTP.
3) Добавить сайт в HSTS Preload List, чтобы браузеры заранее знали, что сайт нужно через HTTPS открывать, и даже не открывали по HTTP.

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

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

Худший ответ:
Когда возникает система классов, констант, функций, возможно глобальных переменных и объектов, которая описывает сущности одной задачи или набора связанных задач и создаёт инструменты для их решения, для каких-либо действий с этими сущностями.
Например, пространство имён, содержащее классы описания сокетов, IP-адресов, соединений, функции для создания соединения, принятия входящего запроса, отправки и принятия данных. Или другой пример: набор разных алгоритмов для работы с матрицами, определение типа "матрица" и "вектор" как стандартного или пользовательского с помощью using/typedef.
Вопрос: Как сделать открытие страницы в новой вкладке в маленьком размере?

Лучший ответ:
Можно, например на кнопку, повесить событие onclick и прописаь небольшой скрипт с кучкой параметров.  Источник с описанием кучки параметров.
<!doctype html>
<html lang="en">
 
    <body>
    <button id="search">Search with Google</button>
    </body>
 
    <script>
    document.getElementById("search").onclick = function() {
        var window = window.open("https://www.google.com", "_blank", "toolbar = yes, top = 500, left = 500, 
        width = 400, height = 400");
        window.focus();
    };
    </script>
 
</html>

Худший ответ:
window.open
window.prompt
window.alert
сейчас рекомендуется не использовать, попапы браузеры по умолчанию блокируют. 

Выход простой. Сделать модалку диалог, например как тут
https://getbootstrap.com/docs/4.0/components/modal/
Вопрос: Странное поведение флешки?

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

Худший ответ:
Очень много причин может быть. Основная - это ноутбук и смартфон используют разные драйверы для FAT32.
У ноутбука этот драйвер - более толерантный к ошибкам. У смартфона нет. Дальнейшее расследование этого
пустяка уже потребует денег и специалистов. 

Попробуй отформативроать в ExFat https://en.wikipedia.org/wiki/ExFAT
Возможно многие потенциальные баги там уже исправлены.

FAT12/FAT32 - это морально устаревшая система и сегодня нет оснований ее использовать. Она создавалась для магнитных дисков и дискет малого объема.
Вопрос: Как вырубить автоматические редирект Firefox?

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

Худший ответ:
В профиле firefox есть файл places.sqlite, это sqlite база, ее можно открыть и отредактировать, удалив записи о посещении ненужных сайтов
Вопрос: Как декодировать текст?

Лучший ответ:
Правильный ответ
print(base64.b64decode(text + '=' * (-len(text) % 4)))
Все же написано в сообщении об ошибке. Строка не добита символами = до нужной длины, чтобы быть кратной 4

Худший ответ:
import base64

text = 'eyJzaWQiOiJmYVVGVjBpTVo2OTRpY3BTVnhsMGJNbzBaUEJGTmcyWiIsImFpZCI6bnVsbCwiZXhwIjoxNjY3MTQ4NTQyfQ'
print(base64.b64decode(text + "=="))

Пожалуйста
Вопрос: Как работают начинающие фрилансеры?

Лучший ответ:
Только одно бери деньги вперёд, налоговая то тут причем

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

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

Худший ответ:
По логике JUnit занимается модульным тестированием
Нет. На JUnit можно реализовать любой вид тестирования. Даже Acceptance и E2E
следовательно методы теста не должны зависеть друг от друга. 
Это хорошая практика для любых тестов.
Тогда возникает парадокс. Если в каком-то методе происходит удаление записи из БД, а в другом пойдет обращение к этой записи, которая уже была удалена, как быть?
Привожу пример. Один метод проводит проверку по поводу удаления записи из таблицы БД по id. Другой метод должен прочитать эту запись по id.
Для этого есть setup, teardown, AAA, и контроль параллельности (тесты, которые работают с общим окружением, не должны запускаться одновременно, а только последовательно)
Каждый тест должен сам для себя устанавливать предусловия и чистить общее окружение после прогона.
Вопрос: Почему некоторые блокируют «якобы плохих ботов»?

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

Худший ответ:
Причин блокировок - тонны.
Первая - это снижение нагрузки на сервер. Не каждый провайдер спокойно отнесется даже к интенсивному обходу сайта каким-нибудь Screaming Frog.
Вторая - это нежелание отдавать вовне важную информацию по сайту. К примеру, данные о ссылочном профиле, контенту страниц и т.п. Банально: вы не хотите, чтобы ваши данные кто-то банально спёр и разместил у себя - а это обычная практика.
Ну, и есть ещё пачка разных суеверий у вебмастеров, которым дали чьи-то чеклисты, только не объяснили, что это конкретно и для чего.
Вопрос: Как «распаковать» параметры из переменной в bash-скрипте?

Лучший ответ:
ncdu посмотри, это типа htop только для du


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

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

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

Лучший ответ:
Если без GPO и прочего, то PowerShell в помощь. Подключаете через скрипты локально принтер по ip-адресу, проблем возникнуть не должно.

Худший ответ:
Использование параметров групповой политики для управления принтерами в Active Directory. Руководство.
Вопрос: Как лучше сделать сайт для турфирмы?

Лучший ответ:
Дело в том, что ТЗ нет ;( Говорят, не успели составить, делай как хочешь, мы тебе доверяем
serge_lutens, ну удачи, что-ли. Ну и терпения выслушивать реплики вроде:

Чет мне не очень нравится компоновка/цветовая гамма/что-угодно, можешь поменять?
Я тут к конкурентам зашел, у них в мобильной версии такой прикольный слайдер, которым можно свайпами управлять, может добавишь?
А может вообще мобильное приложение написать?

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

Худший ответ:
Каталог наверное нужен. Для начала хватит. Я бы на Modx+Minishop2 сделал или Laravel.
Вопрос: Почему возникает ошибка?

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

Худший ответ:
Вам требуется правильно изучить библиотеку discord.py, обращая внимания на мелкие детали

@client.event
async def on_member_join(member):
 emb = discord.Embed(
  title = "Hello world!". # В переменной title / description был прочерк
  color = discord.Colour.red()
 )
 my_channel = client.get_channel(1013857829800644619)
 role = member.guild.get_role(role_id=1013858298577027072)
 await member.add_roles(role)
 await channel.send(f"> **{member.mention} присоединился на сервер!**")
 member_emb = discord.Embed(
  description = f'***Привет {member.mention}! \nМы рады приветствовать тебя на нашем сервере! \nУ нас тут: \nПриятное комьюнити \n-Здесь ты умрёшь!***'
 )
 await member.send(embed=member_emb)
Так же убедитесь что на Discord Developer, у вас включены следующие пункты:
Вопрос: Чем отличаются Unix- подобные системы от не unix систем?

Лучший ответ:
Читай что такое https://ru.wikipedia.org/wiki/POSIX
Вкратце - это стандарт, который описывает требования к операционке.
Если операционка написана так, что этот стандарт она поддерживает, то уже готовую программу можно под нее скомпилировать из существующего кода, а не писать специально для нее с нуля.

Какие фреймворки? Какие библиотеки - ОС это практически самое низкоуровневое, что есть. Поэтому да, чистый код, с использованием функций биос.

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

Худший ответ:
Что бы потренироваться почитайте  вот тут 
https://forum.ixbt.com/topic.cgi?id=48:12447
Плюс в том что относительно простые системы, не сравнить с ОС общего назначения. 
https://habr.com/ru/post/249273/
А насчет сравнений это неблагодарное дело. Unix like OS очень широкое понятие. 
https://en.wikipedia.org/wiki/Comparison_of_operat...
Вопрос: Как отключить автоматическуцю сортировку массива для fetch запросе?

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

[
     "+36" => 'Авиационные',
     "+1" => 'Военные',
     "+15" => 'Гуманитарные'
]

либо поменяйте структуру данных. Можно отдавать массив объектов , где объект может выглядеть ,как :



{id: 36, title:'Авиационные'}



Худший ответ:
Вы на PHP отдаёте в функцию json_encode нумерованный массив, а надо отдавать именованный массив, т. е. цифры у вас должны быть строками - тогда по идее порядок сохранится, так как при парсинге JSON на стороне браузера уже получится объект, а не массив, как сейчас. При обходе объекта циклом порядок должен поручится такой же, какой он в JSON, но надо проверять.
Вопрос: Как можно сохранять данные определенных событий журнала Windows в файле в режиме реального времени?

Лучший ответ:
... а если вам надо вот прям рилтайм, есть .net  класс System.Diagnostics.EventLog
а у него событие EventWritten
$global:log = New-Object System.Collections.ArrayList
$testobj = New-Object -TypeName System.Diagnostics.EventLog
$testobj.Log = "Security"
Register-ObjectEvent -InputObject $testobj -EventName EntryWritten -Action {
  param($sender, $e)
  [void]$global:log.Add([PSCustomObject]@{Sender = $sender; Args = $e })
}

# Смотреть потом события в переменной
$global:log

Заменил пример на более полезный

Худший ответ:
например:
PowerShell-скрипт, запуск по расписанию каждые N минут, ловит определенные события в журнале Security, складывает результаты в файл/БД
Security Log Quick Reference Chart
Вопрос: Как сделать плавающий блок, чтобы он не выходил за границы экрана?

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

Если у него абсолютное позиционирование относительно body, можно указать right: 0
Второй вариант, вложить его в прозрачный div, растянутый на весь viewport с position: relative, тогда дочерний элемент не полезет наружу.
JavaScript. Вероятнее всего, на сайте со скриншота именно JS. Кстати, Popover в Bootstrap умеет подыскивать себе удобное местоположение, не уходя за границы экрана


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

Лучший ответ:
Вон там номер указан по которому надо вопросы задавать)

Худший ответ:
А если по telnet? Просканить порты на 192.168.0.1, может есть другой веб-интерфейс? Посмотреть исходник веб-странички, может есть скрытая кнопка?
Если роутер ваш, то перепрошить на нормальную прошивку.
Вопрос: Что нужно просить у заказчика при разработке сайта на фрилансе?

Лучший ответ:
смотря что Вы точно делаете. это всё обговаривается

Худший ответ:
Деньги.

А если серьёзно, поищите примеры брифа на разработку сайтов (вот первый попавшийся для примера) и это должно закрыть большинство ваших вопросов, остальное по ходу.