Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какие существуют альтернативы Git — более простые и с графическим интерфейсом?

Лучший ответ:
Поверьте мне на слово, это очень тонкая грань, между тем когда вы ищете какую-то более простую реализацию сложной технологии и тем когда вам просто лень разбираться в чем-то и поэтому вам кажется, что технология сложная.
Вам не нужна никакая альтернатива. Используйте GIT. В интернете огромная куча видео уроков и текстовых материалов о том, как этим всем пользоваться. Большая часть команд, судя по всему, вам и не нужны. git pull, git push, git checkout, git merge, git commit и на этом всё — 5 элементарных команд, о которых можно легко загуглить.
Вы потратили сейчас столько времени на поиски альтернативы, сколько реально нужно, чтобы понять самые основы. Это того не стоит.

Худший ответ:
Надстройки над git же.
Веб, развернутые:
Bitbucket
Github
Gitlab
Веб, свои:
Gogs
Gitea
Десктоп:
SourceTree
Хорошие IDE имеют встроенную довольно удобную поддержку git:
Вся линейка JetBrains - Android Studio, Intellij IDEA, PyCharm, Goland, WebStrom, PhpStrom, RubyMine...
Интерфейс git, действительно, перегружен.
Есть не git-система pijul.
Созданная на принципах darcs. Позицируется авторами как более логичная в обработки ветвлений/слияний https://pijul.org/faq/
Но совсем уж простой-примитивной-понятно я бы ее тоже не назвал.
В принципе, без слияний - git крайне прост.
Там нужно то знать менее 10 команд, даже если все подварианты считать как отдельные (самые распространенные вообще 3).
Вопрос: Кружок во время отправки формы это обычная гифка?

Лучший ответ:
Скорее всего обычная гифка. Но бывает что и анимированый SVG делают.
При желании можно и видео вставить :)

Худший ответ:
Скорее всего обычная гифка. Но бывает что и анимированый SVG делают.
При желании можно и видео вставить :)
Вопрос: Ограничения прав локального администратора?

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

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

Лучший ответ:
Кому интересно решение данной задачи: все предельно просто.
Сначала создаем pop-up окно, авторизовываемся в нем и редиректимся на нашу страницу прослойку, там мы имеем уже наш jwt токен (или любой другой) и через window.opener мы можем вызвать любой метод в родительском окне. К примеру: window.opener.setToken('{token}'), перед этим определив функцию в родительском окне:window.setToken = function(token){ /* записываем наш токен */}

Худший ответ:
Первая часть правильная: открывается окошко (Вы сами, вероятно, много раз видели такое), в нём происходит вход. 
После успешного (или нет) входа, сервис (скажем, VK) отправит юзера на вашу страницу (redirect_url). Окошко закрывается.
В JS можно проверять, не закрыто ли окно входа (а оно должно закрыться после входа): вот пример. Отправляете не сервер запрос (действительно вошли?), если да, то перерисовываете интерефейс (отправляете юзера на другой роут).
Вопрос: Законно ли хранить личнык данные за пределами Украины?

Лучший ответ:
В Украине такого закона пока что нет.

Худший ответ:
Если все делать по закону, то нужно проработать с юристом оферту  на основании zakon2.rada.gov.ua/laws/show/2297-17
Вопрос: Как можно по условию передавать пропс или нет?

Лучший ответ:
const needDefaultValue = false;

React.createElement('input', needDefaultValue ? { defaultValue: i } : {});
// или
const params = {};
if(needDefaultValue) params.defaultValue = i;
<input {...params} />;

Худший ответ:
Немного вопрос не понятный. Если вы хотите установить пропсу значение по дефолту то это делается вот так class AddAddressComponent extends React.Component {
  render() {
    let {provinceList,cityList} = this.props
    if(cityList === undefined || provinceList === undefined){
      console.log('undefined props')
    } else {
      console.log('defined props')
    }

    return (
      <div>rendered</div>
    )
  }
}

AddAddressComponent.defaultProps = {
  cityList: [],
  provinceList: [],
};
Вопрос: Какая минимальная конфигурация VPS будет достаточной для создания собственного VPN на нем только для веб-серфинга?

Лучший ответ:
На 256мб мне хватало на 20мб/с
у вас shared ip, что может вызвать небольшие проблемы в виде частой капчи

Худший ответ:
Для ваших задач пойдет самая минимальная, которую найдете.  128мб - вполне.
Вы же не с него в интернет ходить будете, там только прокси будет.
Смотрите чтобы IP был не shared, и использованная виртуализация позволяла делать VPN  без лишних телодвижений.Или же нужен VPS с большим количеством оперативной памяти, а также с доступом к двум ядрам процессора, а не одному? Плохая идея сравнивать VPS по количеству памяти и ядер.
VPS с 0,5Гб памяти и одним ядром может быть  в сотню раз производительней чем VPS с 16Гб памяти и десятком ядер.
Вопрос: Как создать связный список?

Лучший ответ:
1. Виртуальный деструктор тут нужен — ведь в списке будут вперемешку элементы разных классов.
2. Не видны два компонента, которые и делают список связным — указатель на следующий элемент (test* next) и указатель на голову (test* head = NULL).
3. В попытке скрыть реальную жизненную задачу — ведь СС не вещь в себе, а решает какую-то задачу вроде «держать список объектов в игре» — вы слишком уж напереименовывались.

Худший ответ:
Насколько я понимаю, виртуальный деструктор нужен только тогда, когда уничтожение производных и базового классов должны отличаться. У вас пока нет каких-либо выделений памяти или чего-то отличающегося, так что при использовании виртуального деструктора к производным классам добавиться пока что не нужный указатель на таблицу виртуальных функций.
Как вы хотите сделать ссылки на элементы списка статическими компонентами класса? Ссылки же должны быть разными, а статические переменные общие?
https://ru.wikipedia.org/wiki/%D0%A1%D0%B2%D1%8F%D...
Вопрос: Почему Python + imap выдаёт ошибку «'ascii' codec can't encode characters» при поиске по теме письма на русском языке?

Лучший ответ:
Потому что по стандарту заголовки письма (From, To, Subject, ...) могут содержать только печатные символы из ASCII-128, то есть с кодами от 0x20 до 0x7F.

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

Лучший ответ:
https://help.market.envato.com/hc/en-us/articles/2...
ИМХО: Скорее всего, ещё не зачислились на баланс от последней продажи. Может есть какой-то таймаут на отказ от покупки до зачисления на баланс автора?...Я эксклюзивный авторСудя по сумме и проценту удержания, Envato считает иначе.
Про W8 (non US Authors): https://help.market.envato.com/hc/en-us/articles/2...
If you do not provide a Form W-8, we are required to treat you as a US person and ALL sales will be subject to backup withholding tax of 28% (regardless of the buyer’s location).Итого, если покупатель из US, а Вы - не продавец из US: 
50%-28% = 22% (Ваша прибыль от общей цены на маркете!)

Худший ответ:
Если что, там нужно было просто заполнить Tax информацию :)
Вопрос: Разработка приложения в облаке, какие для этого есть бесплатные сервисы?

Лучший ответ:
Amazon Google cloud Azure дают бесплатные лимиты

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

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

Худший ответ:
4 мбит - действительно ни о чем. 
Мы примерно таким же числом сотрудников пару лет назад сидели на 6 Мбитах (WiMax), внутренняя сетка исключительно проводами, гейтом работал полноценный Линукс-сервер.
И все равно приходилось отлавливать любителей включить интернет-радио или посмотреть ролик ровно в то время, когда мне срочно требовалось удаленно поработать с нашим сайтом. А жалоба "компьютер медленный", как правило, относилась к его "работе" во Вконтакте.
Вопрос: Какие системы виртуализации используются у провайдеров?

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

Худший ответ:
Тот, которым пользуюсь я - испольузет KVM. Его используют все, кто поэкономней - он же бесплатный. Кто понажористей - те используют vmware.
Вопрос: Как защитить (подтвердить) уникальность макета?

Лучший ответ:
Авторство - депонирование текста документа/программы, в том числе и любых визуальных образов. Можно описать макет, сделать описание его поведения и задокументировать в MS Word. Затем - выполнить депонирование данного произведения в реестре Роспатент.
Можно сделать здесь.

Худший ответ:
Авторство закрепляется автоматически, никаких дополнительных телодвижений делать не обязательно. 
Рекомендуется оставлять все исходники работы, в идеале - разные версии макета по мере его создания. Можно отправить распечатку макета себе почтой для получения штампа. Можно и более сурово заверять, если планируете суровый суд. Но еще раз - все это не закрепление за собой авторства. Все это - дополнительные доказательства для суда на случай каких-то конфликтных ситуаций. В большинстве случаев - достаточно хранить историю создания макета.
Вопрос: Cinema 4D vs Blender?

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

Худший ответ:
Да ипать-колотить, торренты вам в помощь)
Вопрос: Если заказчик попросиль скопировать сайт, будет ли что-то разработчикам?

Лучший ответ:
Не будет. Владелец будет отвечать. Да если уже и так, то работайте по 100% предоплате и без заключения договоров, и будет как у Грибоедова:А судьи разработчик кто?

Худший ответ:
сплагиатить сайт(изменить изображение, код, немного структуру и тп)
А что остаётся от прежнего сайта? И точно ли вы понимаете что значит "сплагиатить"?П.с.Много сайтов-лендов частенько копируют, особенно, в области товаров. Не видел ни одного обращения и обвинения в плагиате.это не говорит о том что их нет.
Вопрос: Брут MySQL сервера: mysqld: [Warning] access denied for user 'xxxxxx'@xx.xx.xx.xx стоит ли переживать?

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

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

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

Худший ответ:
По поводу безопасности я все четко описал в комментах к своей статье. 
Если делать проверку биометрических признаков при помощи MLP-классификатора, то шифровать не имеет смысла, сама матрица весов нейронной сети уже будет чем-то вроде хэша, а feed-forward входного вектора через нейронную сеть - сверкой с этим хэшом. Таким образом по моему ту методу имеем N матриц весов, где N - количество пользователей, хранить вектора уже не имеет смысла.
https://habrahabr.ru/post/336198/
Кстати, удачно, всего через 5 дней после вашего вопроса. Прочтите статью, мб интересные идеи оттуда подчерпнете.
Вопрос: JS последний элемент массива?

Лучший ответ:
Как сеньер разработчики бы выбрали последний эллемент массива?
Наверное, как и все остальныеarray[array.length - 1]Чтобы без лишних операций в виде поиска длины массива
Если тут и есть лишняя операция, то это как раз -1,  длина массива - это свойство, ничем от вашего array.last оно не отличалось бы, если бы второе существовало, конечно.

Худший ответ:
Если этот массив больше не нужен, то можно делать .pop()

[1,2,3].pop() // -> 3

Еще можно делать slice(-1), но мне кажется, что это хуже читается.

Чтобы без лишних операций в виде поиска длины массиваИ вообще, нет никакой операции поиска, длина массива - это свойство самого массива, и обращение к элементу через индекс (вот как у вас сейчас) гораздо быстрее, чем модифицировать массив )
Вопрос: Как выполнить PHP код из строки?

Лучший ответ:
смотри семейство ob_* функций<?php
ob_start();
echo "Привет мир";
$out = ob_get_clean();
var_dump($out);

Худший ответ:
echo $name;
Или я что-то не так понял?
Вопрос: Как генерировать случайные комбинации символов без повторений на python?

Лучший ответ:
Все уникальные комбинации элементов списка (в размере всех входящих в список элементов):>>> import itertools
>>> values = list(range(1, 4))
>>> values
[1, 2, 3]
>>> list(itertools.permutations(values, 3))
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

Худший ответ:
извините, но очень непитонячий, неидиоматичный код!!
Когда говорят об уникальности , неповторяемости элементов в финальной
коллекции, то либо применяйте множество, либо сэмплуйте, типа
>>> random.sample(symbs,k=8)
['z', 'h', 'V', 'T', 'l', 'j', 'g', 'c']  
и зачем список, когда вы всё в стрОках делаете...
не проще ли:
>>> import string
>>>  symbs = string.digits + string.ascii_letters
>>> # а, если надо всё-таки список, то делайте классику
>>>  symbs = ','.join(symbs)
>>> symbs = symbs.split(sep =',')
>>> 
 и совсем не понятно 
"исключить повторения при генерации таких комбинаций" каких?
внутри восьмерок, которые ранд-интом выдёргиваются или повторений из
самих восьмерок в восьмидесятитысячной генерируемых 
комбинаций (от первого цикла)   
что за имя x_ ?? зачем оно??
вы растите т (в предпоследней строчке ), но нафиг?, она от 80000 
и вверх и никогда не будет равна тт, т.е. нулю, вы плохо списали. 
такие решения я у своих студентов не принимаю.....
В идеале такие задачи в 2-3 строки и через разные комприхенкшины...
Вопрос: Почему гугл не видит мои посты?

Лучший ответ:
Может вы просто рукожоп и надо использовать опцию site: в поисковой строке

Худший ответ:
не проиндексирован
или под пеналем
Вопрос: Помимо Java что надо для Android?

Лучший ответ:
Грубо говоря тебе надо знать Android framework, который использует java в качестве языка программирования.
В андроиде используется SQLite либо NoSQL решения.
По сути открываешь офф доку и читаешь.
Вот тут гугл тебя можешь научить с чего начать https://developer.android.com/training/index.html

Худший ответ:
основные компоненты android sdk ─ activity, fragment, servise, reciver ... must have
Знание основных компонентов туда же 
Навык разработки ui ─ верстка xml layout, общего понимания работы ресурсов 
База данных ─ хелперы, провайдеры, лоадеры
Навыки работы с сетью (тут от команды к команде отличается, но понимать что пальцы в розетку совать нельзя, то есть слатть запросы из ui потока нельзя ))), ну и здравый смысл естественно ─ понимать что такое rest и как лучше организовать работу с ним )
это некий минимум андроид разработки. А остальное все области разработки ПО, с которыми вы разбираетесь по необходимости. Понятное дело что со знанием синтаксиса одного языка вы далеко не уедете.
Вопрос: Почему многие отвечают в комментариях под вопросом, вместо написания отдельного ответа?

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

Худший ответ:
Комментарии чтобы дискутировать под вопросом, а ответ — это для 100% ответа на все сто
Вопрос: Почему не работает position sticky?

Лучший ответ:
блок прилипает внутри родителя
jsfiddle.net/eo4nsfrt/1

еще может не работать из-за overfloy: hidden в родительских блоках

Худший ответ:
блок прилипает внутри родителя
jsfiddle.net/eo4nsfrt/1

еще может не работать из-за overfloy: hidden в родительских блоках
Вопрос: Как получить доступ к MySQL установленном внутри Docker контейнера?

Лучший ответ:
Так у Вас проброшены порты (3306), подключайтесь к localhost:3306.
Но если локально уже работает мускуль, то поменяйте порт в compose-файле.
Вот тут можно почитать как посмотреть проброшенные порты:
https://docs.docker.com/engine/reference/commandli...

Худший ответ:
Для начала проверьте с хоста доступ до БД. Вам писали выше что порт 3306 должен быть доступен на localhost. Если доступ с паролем вашего docker-compose работает, тогда смотрите настройки сервиса `app`, возможно вы там используете не правильные данные для подключения. 
Ну и для сервиса `app` добавьте параметр links:
 - "database"
Вопрос: Правильна ли реализация наследования синглтона?

Лучший ответ:
По-моему, фигня и бред. Открой для себя dependency injection.

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

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

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

Лучший ответ:
Вообще непонятно почему у вас так. Попробуйте чистый пример вроде:QSharedPointer<QDataStream> doFoo()
{
    return false;
}
Возможно у вас что-то не то с флагами, или окружением, или компилятором, или версией Qt. Дело в том, что у QSharedPointer нет такого конструктора. Сделаю предположение, что у вас MSVC вместо компилятора :)
Советую возвращать какой-нибудь DefaultAnswer или просто nullptr.
Roman, те ссылки, что вы привели не релеванты. Они про приведение типа к bool, но не наоборот.

Худший ответ:
Дополнение:
Опыты показали, что во всем виноват конструкторQSharedPointer(std::nullptr_t), как только к своему классу добавил аналогичный конструктор, стало возможно преобразование "return false" в объект класса.nullptr_t ff2(0); //так можно
nullptr_t ff1(false); //так вроде нельзя, но MSVC не ругается
Старый и неверный ответ:
Ну так судя по документации QSharedPointer имеет соответствующие операторы преобразования, а именно bool QSharedPointer::operator bool() const
bool QSharedPointer::operator!() const
Returns true if this object is not null. This function is suitable for use in if-constructs, like:if (sharedptr) { ... }
Вопрос: Почему появляется ошибка компилятора '?

Лучший ответ:
Статические члены класса

Худший ответ:
Ошибся тут не компилятор, а линкер. Этот вопрос идёт со времён Си и происходит из технологии компиляции: несколько единиц компиляции компилируются независимо, а потом собираются воедино компоновщиком (линкером).
Статический член класса — это глобальная переменная, и если объявлять её в каждой единице компиляции, то какую потом линкеру брать? Вот мы и пришли к выводу: static int counter; в хедере — это тот же extern. Другими словами, мы не объявляем переменную, а говорим: не беспокойся, компилятор, в какой-то единице компиляции она будет.
И решается этот вопрос так же, как для любого extern’а: в одной единице компиляции (CPP) объявляемint Skript::counter;
Можно также статически инициализировать этот счётчик:int Skript::counter = 0;
Ах да. А технология эта с единицами компиляции откуда? Из ассемблера. Если программа у нас почти на всю память в 16 килобайт, то ассемблерный текст намного, намного превышает память ПК. Вот и приходится ассемблировать по частям, а потом собирать куски полуготового машинного кода в полную программу. Наконец, чтобы язык заработал, КиР пришлось написать только компилятор Си, а линкер — имеющийся.
Вопрос: Какое нужно железо под битрикс?

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

Худший ответ:
Для битрикса, чем мощней, тем лучше, особенно стоит уделить внимание жесткому диску, так как битрикс его использует нещадно. RAID на SSD, будет неплохим вариантом.
И пусть вам повезет и вы не разочаруетесь в выборе битрикса.
Вопрос: Как добавлять каждые 10 минут новое поле в базу mysql?

Лучший ответ:
А в чем проблема? Делайте скрипт на php и ставьте его в крон, чтобы он запускался каждые 10 минут.
Но имейте в виду, что в mysql больше 4096 полей у таблицы создать не получится. А скорее всего вы достигнете предела ещё раньше.

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

Лучший ответ:
В данном случае, цикл такой:
1. заказчик что-то решает 
2. просит поправить
3. смотрит результат
4. GOTO 1
И всё это мелкими порциями.
Да, так можно работать, если у Вас есть свободное время и часы потраченные на это - хорошо оплачиваются.
В любом другом случае - говорите, так: 
"Извините, но я не занимаюсь доделками или доработками на уровне рядового фрилансера и не работаю в таком "растянутом" темпе. 
Предлагаю Вам на выбор два варианта:
1. Если хотите, чтобы я Вам делал эти простые доработки - копите пул из 10-ти (или более) задач и давайте мне их на исполнение в виде кратких описаний в DOC-документе.
2. Найдите более свободного (не загруженного) и менее квалифицированного фрилансера на эти простые задачи.
Выбирайте любой из предложенных мной вариантов."
Это будет лучшим вариантом для решения вопроса по продолжению сотрудничества для всех сторон!

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