Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Electron говорит «Require is not defined». Что сделать?

Лучший ответ:
Не буду себе ничего присваивать, мне кажется, ответ на этот вопрос уже есть
https://stackoverflow.com/questions/44391448/elect...

Переведу:
С пятой версии по умолчанию интеграция NodeJS (nodeIntegration) отключена.
Вы можете включить ее при создании BrowserWindow:
app.on('ready', () => {
    mainWindow = new BrowserWindow({
        webPreferences: {
            nodeIntegration: true
        }
    });
});

Худший ответ:
Та же ошибка на 12 версии электрона,  nodeIntegration: true не помогает
Вопрос: В чем заключается аудит 1С для IT?

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

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

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

В данному случае, вернее всего, будут проверять вашу базу на требование определенным нормам. Обычно к аудиту 1С прибегают, когда есть какие-то проблемы в её работе.
Вопрос: Каков путь в робототехнику?

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

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

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

Худший ответ:
Ну давай, программист, хочешь быть программистом?
Найди мне в трёх случаях мои ошибки, будь внимателен!
Писать буду на php.
1:$a=1;
$b++=3
$c=20;
2:echo "Я живу и "учусь!" как и всегда!";
3:$a=5;
$6=4;
$c=$a+$b;
Вопрос: Какие решения вы знаете для использования браузером без мышки?

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

Худший ответ:
Tridactyl под Firefox
https://github.com/tridactyl/tridactyl
Вопрос: Как правильно научиться делать такой объект?

Лучший ответ:
Ищите "css timeline"
Например: урок на w3schools
Хотя есть примеры реализации и с помощью js.

Худший ответ:
Писал давно на Stylus+Pug, может поможет чем. Не респонсив, но зато css-счётчик есть)
https://codepen.io/Arkham80/pen/MbYRzd
Вопрос: Как проверить статус отправки email?

Лучший ответ:
Никак. Нет для SMTP такого как "подтверждение".

Даже наоборот, многие админы настраивают сервера таким образом, что получая письмо на несуществующего юзера НИЧЕГО не отвечать и не давать потенциальным спаммерам лишнюю информацию.
Можно пробовать ориентироваться на ошибку 550, но опять же, ее могут и не возвращать.

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

Худший ответ:
Если email не существует, отправитель получит соответствующее письмо. Письмо может быть различного содержания, например такого
Delivery Status Notification (Failure)

Mail Delivery Subsystem 

Address not found
Your message wasn't delivered to xxxxx.xxxxx@xxxxx.com because the address couldn't be found, or is unable to receive mail.
The response from the remote server was:
550 #5.1.0 Address rejected.
Вопрос: Ограничение доступа к системе?

Лучший ответ:
Цель всего этого какова?
- access.conf может не использоваться
- ограничение обычно делается через pam
- при наличии консоли и незапароленного grub снести все такие "навороты" - дело пяти минут

Худший ответ:
Проверьте с другим пользователем.
Возможно для root по умолчанию не проверяется access.conf. (надо заглянуть в /etc/pam.d/ конфиги чтобы проверить)
Вопрос: Как вы делаете бэкапы в убунту?

Лучший ответ:
есть еще dar -  более мудреное развитие tar.

Худший ответ:
Ещё есть встроенные функции BTRFS (в данный момент времени я использую её для корня). Снапсшот корня read-only и его перенос на внешнее хранилище, например.
Вопрос: Как подключить к одному номеру whatsapp нескольких консультантов?

Лучший ответ:
Есть готовое российское решение https://wa.kubsite.ru, которое использует api и позволяет разным консультантам получать и отправлять сообщения с одного номера whatsapp, работает через браузер.

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

Худший ответ:
Нет. Доступа к api не дадут, за несколько параллельных подключений или устройств - банят. У них жёсткая политика. За намеки на автоматизацию банят даже без возможности оспорить
Вопрос: Какими правилами пользуются буржуи при дизайне?

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

Заходя на какой-нибудь Behance среди действительно круто продуманных работ часто вижу именно работы из СНГ. Но у нас сильное отставание по типографике - мало качественных кириллических шрифтов. Также у нас мало крутых промосайтов.

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

Худший ответ:
Ну так достаточно просто всё это гуглится

https://designmodo.com/web-design-trends-2020/
https://elementor.com/blog/web-design-trends-2020/

Ну и всё в таком духе. Изучай тренды, изучай сами сайты. Там уже всё и увидишь. Про колонки ты зря. Они там и появились, там и используются :D

Заглядывай сюда: https://www.awwwards.com/websites/
Вопрос: Менять стилизацию vue компонента пропсами или css переменными?

Лучший ответ:
Я бы придерживался правила: всё что можно сделать без js - надо делать без js.

Худший ответ:
Не согласен с отписавшимися выше. Компонент должен быть чёрным ящиком. Внешний пользователь ничего не должен знать о его внутренней структуре. Пользователь компонента передаёт ему свойства и получает гарантированый результат.

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

Конкретно в приведённом примере подход с css +- не должен привести к проблемам, но в большинстве случаев ситуация иная.
Вопрос: Для чего тут создается вспомогательный блок, чтобы отделить блоки (html)?

Лучший ответ:
Почему нельзя было просто блоку с классом "block-portfolio" прописать в стилях "margin-top: 30px"?
По бему блок не может знать о своем положении. Оно задается через элемент родительского блока .page__block-portfolio в который автор обернет сам блок.

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

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

Худший ответ:
Одна на 16 не пойдёт, у автора скорее всего Рязань, без двухканального очень грустно. И да, лучше переплатить тысячу и поставить 2 пары модулей. И стоит учесть настройки разгона памяти, 4 планки не возьмут те же частоты что 2
Вопрос: Знак _ в стрелочных функциях. Можно ли использовать?

Лучший ответ:
Насколько я знаю, _ в JS является валидным именем переменной, такую переменную можно создать, обращаться к ней и т.д. Так получается что я просто передаю в ф-цию неиспользуемую переменную?? Тоже самое как сделал бы a => { ... } ??
Именно так.

Лично я отдаю предпочтение () => { ... } по ряду причин:

Нет неиспользуемых переменных. Нет ругательств со стороны линтеров. Для рантайма это мизерное, но всё таки, улучшение производительности
Если говорить про TS, то тут вообще не рекомендуется синтаксис a => { ... }, только (a) => { ... }. И банально проще, когда у тебя весь код по разным проектам в одном стиле. 
Мне так больше нравится чисто эстетически. 


Худший ответ:
Это будет unused variables.
В целом ничего страшного и вполне допустимо.
Но если вы перфекционист, инспекции IDE будут мозолить вам глаз.
Кроме того, эти инспекции засоряют рабочее пространство.
Можно выключить, но тогда реально неиспользованный код можно оставить незамеченным.
Поэтому я всё же предпочитаю скобки.
Вопрос: Есть ли язык Eris и вообще существует-ли?

Лучший ответ:
Это не язык, а обёртка под node.js:
https://www.npmjs.com/package/eris

Худший ответ:
https://www.youtube.com/watch?v=FQH21X5IA3Y

я так понял это JS-пакет для работы с дискорд апи.
Вопрос: Почему запроса MySQL на VPS выполняется на порядки дольше?

Лучший ответ:
все что указано - мусор. Какие процессоры? сколько там памяти - не так важно. Какие диски? Может там magnetic? Какая конфигурация базы? 
Сравнивать надо все

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

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

Худший ответ:
Если у вас в различных TaskController будет разная логика, то все в порядке. Проблемы начнутся, если вы займетесь очевидным копипастом.
Вопрос: Как найти библиотеки/софт, которому можно доверять (особо: PHP, JS)?

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

Худший ответ:
и чьё мнение можно считать экспертным.ни чьё, даже если Вы сами с "нуля" написали свой код от начала и до конца.

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

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

Простое решение: "проксирование" запросов между вашим и чужим кодом в обоих направлениях и контроль данных регулярками.
Вопрос: Какую БД использовать для timeseries данных?

Лучший ответ:
то что указано это не timeseries. timeseries базы хранятся как key-value storage с небольшими объемами на item.Основное применение - метрики с IoT устройств
на вид очевидные проблемы:
- исторические данные хранятся вместе с актуальными (никто не слышал про CQRS или Event Sourcing)
- никто не думал про аналитику и колоночные базы данных (influxdb это time series и это не про ваш случай, clickhouse да, но работает хорошо только при большом потоке входящих данных). Можно подумать, например, про Cassandra.

Худший ответ:
Автор очень быстро отбросил Postgres. Но я хочу спросить были ли исследованы все возможности? Например TimescaleDb.
Вопрос: Защита в php от загрузки вредоносных скриптов на сервак при загрузке файла?

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

 Представляют ли опасность только файлы, у которых расширение .php? опасность предоставляют любые файлы, без оглядки на расширение. особенно, на никсах, где расширение не роялит.

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

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

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

Худший ответ:
UPS&/Surge Protection для системного блока и монитора
Surge Protection для принтера, колонок и т.п.
Вопрос: При попытке входа в админку вордпресс. В чем может быть проблема?

Лучший ответ:
Ошибка 500 - Внутренняя ошибка сервера.
Причин может быть куча...
Начинаю от кривых конфигов сервера вплоть до каких-либо кривых конфигов CMS WP

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

Лучший ответ:
Как вариант, сотрудники сливают

Худший ответ:
Еще вариант могу предложить такой.

Тайный покупатель.
Сам оформляешь заявку на своем сайте, под чужим именем и телефоном. Ждешь, когда тебя позвонят. Сначала все распрашиваешь, а потом задаешь  вопрос в лоб.
Откуда у вас мой номер телефона с моего сайта?
Вариант так себе, но может хоть что-то получится узнать.
Вопрос: NET Core. Как перенести с виндовс на mac os?

Лучший ответ:
Собрать приложение под другую платформу можно с помощью команды publishdotnet publish
с указанием правильного runtime. Например:dotnet publish -c Release --framework netcoreapp2.0 --runtime osx-x64

Худший ответ:
По моему есть официальная документация
.net core 2.1:
dotnet myapp.dll
https://docs.microsoft.com/ru-ru/dotnet/core/tools...
.net core 3.0:
dotnet run
https://docs.microsoft.com/ru-ru/dotnet/core/
Написано 4 минуты назад
Вопрос: Как измерять прогресс цели?

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

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

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

Так что если форточку на обе машины ставили под одним акком - получите, распишитесь.

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

Лучший ответ:
Позволю себе перевернуть твоё мировоззрение по поводу информационной безопасности)))))
TempestSDR https://www.youtube.com/watch?v=PV_v1HgjN3Q
После этого ты не будешь считать идиотами людей, которые обклеивают свои стены фольгой)))
и здесь без физики никуда...

Худший ответ:
на факультет информационной безопасности нужна физика, задался вопросом зачем
Попробуй-ка без знания физики обьяснить, почему еще в начале 90-х на ВЦ завода, производящего нечто для армии, все стены помещения, где стояла машина (это была ЕС-1046, еслиф че) были отделаны "фальшстенами" из легкого металла (вполне возможно подключенного куда-то), а пол представлял собой металлические плитки?
Спойлер: задача имеет прямое отношение к ИБ, прямее некуда.
Вопрос: Замена экрана на mikrotik rb2011?

Лучший ответ:
Да элементарно - идете в магазин, покупаете RB2011 выдергиваете оттуда экран и меняете.

Это гарантированно будет дешевле чем  найти, купить и привезти экран и шлейф.

Худший ответ:
Для замены нужно чтобы как минимум совпадало разрешение и контроллер экрана
то есть искать по фразе ST7735 128x160, судя по гуглу это довольно типовой экранчик.
Непонятно что там насчёт шлейфа, есть подробные фотки? Возможно что взяли типовой экран и приделали к нему длинный шлейф.
Вопрос: Как привлечь внимание менеджеров Яндекс.Почты?

Лучший ответ:
﻿Давайте, тролить их.
﻿Слева внизу реклама.
﻿Нажимаете крестик(закрыть) и отмечаете спам на всей рекламе.

Худший ответ:
на VC ru напишите

а тех, кто кликает - тоже в отдельный списочек, надо б HR к таким присмотреться, чем они заняты
Вопрос: Как правильно склонировать объеты?

Лучший ответ:
Без цикла никак.
const clone = (base, count, key = 'id') => [...new Array(count)].map((_, index) => {
  const cloned = { ...base };
  cloned[key] += index;
  
  return cloned;
});

const a = {
  id: 7,
  type: 'apple'
};
console.log(clone(a, 8));
console.log(a);
/**
[
  { id: 7, type: 'apple' },
  { id: 8, type: 'apple' },
  { id: 9, type: 'apple' },
  { id: 10, type: 'apple' },
  { id: 11, type: 'apple' },
  { id: 12, type: 'apple' },
  { id: 13, type: 'apple' },
  { id: 14, type: 'apple' }
]
{ id: 7, type: 'apple' }
*/

Худший ответ:
вместо { ...obj } используй JSON.parse(JSON.stringify(obj)), если объекты сложные (их свойства являются также объектами), но без методов или что-нибудь типа https://lodash.com/docs/4.17.15#cloneDeep если есть методы.
Ну а так - использоавние цикла тут логично, просто можно его немного поменять:
for (let i = 0, id = obj.id+1; i < count; i++, id++) {
    const clone = {...JSON.parse(JSON.stringify(obj)), id}
    objects.push(clone);
  }
Вопрос: Как выгоднее собирать свой форум?

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

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

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

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

Лучший ответ:
проф. съемка, затем ретушь в фотошопе

Худший ответ:
думаю на однотонный тон а потом накладывают элементы в фотошоп
Вопрос: Метод это функция или свойство?

Лучший ответ:
В классике метод (method) это функция ассоциированная с экземпляром класса (instance) (его объектом) или в случае статического метода непосредственно с самим классом. Свойствами (properties) называют геттеры (getters/get) или сетторы (setters/set). Так же геттер обозначают как акссесор, а сеттор как мутатор. Но зачастую можно встретить упоминание что геттер и сеттор, это аксессоры. Если метод содержит логику, то данные ассоциируются с полями (field). Методы, поля и свойства обозначают как члены (members) объекта\класса.

Реализация классов в JavaScript отличается от классической поскольку построена на прототипах, что вносит некую долю путаницы. Путанница связанна с тем, что проблемы возникающие от потери контекста (this) вынуждают разработчиков изучать javascript намного глубже, чем это требуется в других классических языках. Из-за того что на уровне движка v8 все является членами объекта, то большинство склоняется что все в объекте это поля. И до момента объявления непосредственно методов  {method(){}} это было справедливо. После необходимо разделять эти понятия даже если это всего лиш синтаксический сахар, поскольку даже в классических языках методы на самом низком уровне не могут быть чем-то отличными от полей. И всеже для ясности из называют методами.

Исходя из всего этого методы точно не могут обозначатся свойствами.

Худший ответ:
Объекты в ООП содержат "данные" и "поведение"
Методы - это и есть поведение, но не данные. 

Являются ли они при этом свойством технически - вопрос второстепенный, и зависит от реализации. Вообще "свойство" это что-то среднее между "полем" и "методом".
A property, in some object-oriented programming languages, is a special sort of class member, intermediate in functionality between a field (or data member) and a method. The syntax for reading and writing of properties is like for fields, but property reads and writes are (usually) translated to 'getter' and 'setter' method calls. The field-like syntax is easier to read and write than many method calls[citation needed], yet the interposition of method calls "under the hood" allows for data validation, active updating (e.g., of GUI elements), or implementation of what may be called "read-only fields".https://en.wikipedia.org/wiki/Property_(programming)

В js, например, вы можете в любое поле объекта присвоить функцию прямо в рантайме, а во многих других языках - не можете.
Вопрос: Как в Nginx посчитать md5 от url path без query args (нужно для кэширования)?

Лучший ответ:
https://github.com/openresty/lua-nginx-module/blob...
nginx.org/en/docs/njs/reference.html#crypto
В 99% что-то из этого уже есть или легко добавляется.

Худший ответ:
А почему бы не воспользоваться штатным кешированием nginx, которое один раз дернет бэк и у себя аккуратно разложит кеш как надо и проследит за его состоянием?
Или в вашем случае бек занимается генерированием статики, вы заранее раскладываете файлики по директориям и хотите, чтобы nginx их "умно" дёргал?
В таком случае я бы написал простейший роутер на любом ЯП, в котором бы считал md5 кеш, читал с диска нужный файл и отдавал его nginx, а nginx в свою очередь кешировал этот ответ и у себя хранил бы кеш.
Вопрос: Windows XP не устанавливается?

Лучший ответ:
Конфигурация железа где?
Если так нужна WinXP, то поставь на виртуалку.

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

Лучший ответ:
У вас тип поля category_id в таблице blog_posts не совпадает с типом поля id в таблице blog_categories.

// Заменить:
$table->foreignId('category_id')->constrained($tables['categories'])->onDelete('cascade');

// На:
$table->unsignedInteger('category_id');
$table->foreign('category_id')->references('id')->on($tables['categories'])->onDelete('cascade');

Худший ответ:
Исправь везде
$table->increments('id');
на 
$table->id();