Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как должно выглядеть портфолию сисадмина?

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

Худший ответ:
Да тут особо ничего не придумаешь: описание завершенных проектов, с указанием чем как и почему
На счет крусеры - не уверен, а вот всякие MCSA, MCSE, RHCE, RHCSA, OCE, etc - очень даже
Вопрос: Нужно ли делать исходник на каждую страницу сайта, если у большинства страниц одинаковая структура?

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

Худший ответ:
Такие вещи неплохо бы обсудить для начала с верстальщиком (upd: ну или тем кто это потом внедрять будет). Не поленитесь, потратьте на это время и оно окупится в дальнейшем.
Вопрос: Как подготовить таблицы БД для Yii?

Лучший ответ:
Есть два различных подхода: Database-first и Code-first. Yii настаивает на Database-first подходе, который вы понимаете приблизительно правильно. Желательно начать проектирование базы данных не с phpmyadmin, а с визуального представления схемы (хотя в phpmyadmin тоже есть дизайнер схемы, он не очень удобен для начала работы). 
В том инструменте, который я указал, вы сможете потом сгенерировать код и запихнуть его в миграции, после чего провести эти миграции, а потом уже работать с Gii

Худший ответ:
Спроектировать на листочке, создать миграцию со структурой БД, мигрировать (создастся БД), а потом уже всё остальное.
Вопрос: Движение персонажа под углом?

Лучший ответ:
Расскажу, как поступал я. Писал на Java ME, так что особо сложных идей не было.
У каждой плитки была алгоритмически заданная поверхность (pavement). В более новых версиях движка приделали и потолок — впрочем, неважно.
Для простоты введём несколько ограничений. Все они, разумеется, обходятся усложнённой логикой.
• Ни на чём, кроме плиток, персонаж стоять не может. Тогда можно обойтись флагом: isSupported: true/false.
• Поднимаясь по склону, персонаж не ударится головой в потолок. Кстати, у нас было два разных геймдиза и два разных подхода — когда один увидел этот баг, пошёл жаловаться, второй взял ограничение на карандаш и не делал таких уровней.
• Неровности достаточно велики, чтобы можно было проверить ноги слева и ноги справа — и понятно, на какой высоте ему стоять.
• Соотношение «площадь ног / размер хитбокса» достаточно велико, чтобы, пока персонаж падает, его гарантированно вытолкнуло из стены.
В зависимости от скорости персонажа и крутизны склонов подберём epsilon — диапазон поиска поверхности.
Предположим, наш персонаж стоит на чём-то и двигаем его вправо.
1. Сдвинем его туда, где он должен быть.
2. Попробуем подстроить высоту, взяв правую сторону ног и отыскав новую поверхность в диапазоне (y — epsilon, y + epsilon). То же самое с левой стороной ног. То, что выше — и есть наш новый y. Если не получилось — УПИРАЕТСЯ (см. шаг 3).
3. Если на шаге 2 персонаж не упирается в стену, проверим на упор весь хитбокс. Если упирается — вытолкнем его из стены, снова подстроим высоту по принципу 2.

Худший ответ:
Я делал через расчёт вектора смещения между двумя позициями и угла наклона, с учётом всех физических параметров игрового мира:
Вопрос: Где можно попрактиковаться с svg?

Лучший ответ:
Идете сюда - tutorials.jenkov.com/svg/index.html
Наугад изучаете и тут же что-то делаете. В свг очень важно научиться писать все эти координаты "ручками". То есть не ждать какого-то сферического экспорта из иллюстратора от дизайнера, а сидеть и по фану что-то делать. Причем ставку надо делать на path (tutorials.jenkov.com/svg/path-element.html) элемент, потому-что с помощью него в свг можно сделать что угодно и потом это дело анимировать. Вначале освойте базовые формы, потом разберитесь как юзать всякие Q/C/a элементы. Затем попробуйте это дело анимировать без специальных либ (то бишь велосипедирование с помощью rAF). Это безусловно не особо быстрый путь, но зато прокачаетесь огого как.
Я вначале года начал изучать таким способом. Помню как несколько дней бился головой о стену, пытаясь понять как грамотно юзать arc элемент, в итоге получилась такая простенькая демка - codepen.io/suez/pen/vEgZba
Потом пошло поехало,  5 дней назад вот эту запилил, где все куда интереснее - codepen.io/suez/pen/epgZjK
codepen.io/search/pens/?limit=suez&page=1&q=svg - вот вроде как все svg демки, можете по дате отсортировать и идти от начала к концу, изучая внутренности. Там конечно много рандомного говнокода и я комментировал только особенно интересные демки, но все же лучше чем ничего.

Худший ответ:
Может тут чего найдёшь)
Вопрос: Как «Обновить» DOM дерево?

Лучший ответ:
Про делегирование слышали?

Худший ответ:
На jQuery можно так:$('body').on('click', '.selector', function(){
...
});
Вопрос: Как ускорить работу php скрипта?

Лучший ответ:
скрипт зависает из-за окончания время ожидания (т.е курл слишком долго получает ответ от сервера)
1. mysqli_query($CONNECT, "SELECT * FROM `account`") добавить LIMIT
2. mysqli_query($CONNECT, "UPDATE `account`  SET `balance` = '$balance[1]' WHERE `id` = '$likes'");
mysqli_query($CONNECT, "UPDATE `account`  SET `last` = '$last' WHERE `id` = '$likes'");
mysqli_query($CONNECT, "UPDATE `account`  SET `last_work` = 'like' WHERE `id` = '$likes'");
Зачем 3 запроса когда все это можно делать в 1?

Худший ответ:
curl тратит много времени на соединение, старьте лайки маленькими пачками по 10 аккаунтов и точно измерьте время запроса, время обработки одного аккаунта. Вдруг у вас там индексы не стоят.
Про trim верно сказали, данные в БД должны быть очищены уже, хотя это, конечно, экономия на спичках...
Вопрос: Как откатить UPDATE в PostgreSQL через pg_xlog?

Лучший ответ:
И все-таки удалось восстановить. Изложил процесс востановления тут: ikuznetsov.blogspot.com/2012/04/update-postgresql-pgxlog-pitr.html

Может кому-то пригодится

Худший ответ:
В WAL'ах информации скорей всего нужной нет. Есть небольшая вероятность что получится вытащить данные из файлов базы, подробнее тут. Может быть получится восстановить это поле по каким-то косвенным данным из других таблиц или логов приложения.
P.S. у самого был подобный случай, правда у меня свежий бэкап был. Пришлось восстанавливать из него + по данным из других таблиц. После этого завел табличку, в которую все изменения баланса триггером заносятся.
Вопрос: Upwork: какую информацию получает работодатель?

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

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

Лучший ответ:
та же ерунда. наблюдаю в портативной версии ТГ на ноуте с виндой, когда подключен внешний микрофон через USB. На родном микрофоне все работает, насколько помню. в ПК микрофоны только внешние, поэтому вообще без вариантов. Решили проблему или забили?
UPD: расписал ситуацию и разобрался почти сразу. Ситуация возникает если телеграм в автозагрузке и по умолчанию стоит микрофон, который был подключен после загрузки телеграма. То бишь любой) 
то есть лечить элементарно: ПЕРЕЗАПУСТИТЬ приложение ТГ :-)

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

Лучший ответ:
Создать много небольших одинаковых таблиц для вставки (например для каждого часа). В этих таблицах убрать все constraints (foreign key, indexes, ...), в них импортировать csv файлы напрямую средствами базы (load from если база умеет).
На момент вставки - понизить уровень изоляции транзакций до минимума (MyISAM раньше идеальна была для таких вставок именно из-за отсутствия транзакций).
Эти таблицы можно уже потом для выборки либо связать через view, либо через более сложные процедуры партиционирования.
Если в течение дня (ночи?) есть какие-то промежутки времени когда база используется мало - можно запустить тяжелый скрипт, который переложит данные из этих таблиц в одну большую и добавит индексы и ключи.
Вставку данных желательно делать в одной транзакции. Если через ORM - то bulk_insert.
Если все это не помогает или не нравится - то улучшайте железо (как можно больше памяти) и настройки базы тяните, но это уже от безысходности.
Учтите, что лучше писать в базу с 3 коннектов, но большими порциями, чем с 30 коннектов но маленькими. Каждый коннект - отдельная транзакция и при закрытии транзакций базе приходится ее согласовывать с остальными текущими.

Худший ответ:
Я бы посмотрел в сторону реляции и связей данных, возможно ли упростить выборку, применить что-то типа справочников, и проверять группы записей. Например по start_time_of_date и origination_source_number.
Вопрос: Оптимальный набор устройств для тестирования Android приложений?

Лучший ответ:
Выбирайте устройство не по классу а по расширению и производительности
1. несколько расширений
2. несколько разных частот процессора
3. несколько разных версий
Тогда Вы покроете все на 100%
Я понимаю что все не хотят себе геморрой на голову и проверяют только на лидерах, но бюджетных моделей очень много, и Вы (теоретически) теряете кучу потенциальных пользователей.

Худший ответ:
Desire HD я бы заменил на что-то с разрешением 960*540, например HTC Evo 3D.
Можно добавить что-то из бюджетных устройств, какой-нибудь дешёвый LG или Samsung, но это зависит от разрабатывемого приложения.
Вопрос: Как научиться писать такой ООП код?

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

Худший ответ:
Читайте и практикуйтесь, что тут еще посоветовать. Волшебной пилюли, которую съешь и всему научишься, не существует
Вопрос: Как работает ИИ в играх?

Лучший ответ:
Подходов к разработке ИИ много, конкретная реализация зависит от конкретной игры, где-то достаточно двух правил, которые реагируют на события, где-то нужно городить поведенческие деревья. Начинают обычно с конечных автоматов, как самых простых в реализации, далее по степени сложности идут поведенческие деревья и Utility AI, про все три можно почитать в статье на гамасутре. Помимо этого, можете почитать pdf-ки со статьями на сайте Game AI Pro. Если больше любите смотреть презентации, то можете заглянуть на канал GDC.
Выполняется код в отдельных потоках или нет к разработке ИИ не относится, это просто оптимизация, которая используется по ситуации.

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

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

Худший ответ:
Лучше всего HTML+CSS+JS - адаптивность, возможна кроссплатформенность, но дорого, медленно (быстродействие) и на ПК "весить" программа будет много, потому что придется комплектовать "движком" браузера.
Вопрос: Как создаются большие игры на c++ или c#?

Лучший ответ:
Собираешь команду. Желательно где-нибудь в Монреале; Делаешь красивый промо-ролик и промо-текст, описывающий все ваши крутые идеи;Целый год в твиттере и фейсбуке публикуешь посты о том, каких успехов добилась ваша компания в поддержании расового и полового разнообразия команды, как вы уважаете геев и женщин, какие клёвые вегетарианские обеды в вашей столовке и непринуждённая атмосфера в офисе и т.п.;Выпускаешь Mass Effect: Andromeda;Полгода клепаешь заплатки, чтобы игра не заваливалась на каждом чихе, параллельно добавляя новые гомосексуальные романтические линии в сюжет;Оправдываешься в прессе, рассказывая о недостатках движка и финансирования;Разгоняешь команду;PROFIT

Худший ответ:
1. Разработка крупных игровых проектов имеет как минимум те же особенности, что и разработка крупных приложений вообще. Раз вопрос о движках, не будем рассматривать прочие аспекты, такие как построение игровой модели, графический дизайн игры, написание сюжета и пр. Разработка движка, как большого проекта, требует:
- умение поставить начальные технические условия, которые будут заложены в архитектуру проекта (чтобы потом не было очень больно это всё менять);
- умение разбить движок на крупные подсистемы и выстроить между ними необходимые интерфейсы, чтобы каждую из подсистем отдать на разработку в отдельную команду;
- умение получить MVP в разумные сроки и строить дальнейшую разработку итеративно.
2. Как большой проект, связанный именно с компьютерной графикой, проект движка предполагает:
- что немалая часть кода будет писаться с учётом архитектурных особенностей аппаратуры - например, если ваш движок будет пытаться передавать слишком много данных по шине на видеокарту (постоянно гонять геометрию/текстуры), то скорость шины быстро станет узким местом и никакое новейшее оборудование вам не поможет.
- что графический код рано или поздно может потребовать мелких оптимизаций (вплоть до переписывания супернагруженных мест на ассемблере под каждую поддерживаемую аппаратную платформу);
- что графический код сегодня требует серьезного понимая физики света и цветовосприятия.
Для всех тех, кто понимает как реализовать вышеописанное, C++ и C# - лишь инструменты и жизненная необходимость, чтобы получить всё это, поэтому про знание языков даже говорить не буду, это подразумевается.
Вопрос: Какой дистрибутив линукс ставить на нетбук?

Лучший ответ:
Что-то на XFCE или LXDE (второе менее требовательное). Дистрибутив по вкусу, для новичков — Ubuntu (то есть Xubuntu или Lubuntu).

Худший ответ:
если чтобы по популярнее и попроще поставь ubuntu, снеси unity и поставь себе легкий DE, а лучше WM
Вопрос: Вопрос насчет сетей. Какие IP будут? Какие маски и прочее?

Лучший ответ:
Эквивалент 255.255.255.224.
В данном случае пул ip адресов будет таков:
c 1.2.3.65 по 1.2.3.94. 
Так же, для расчёта есть хороший сайт Жмяк

Худший ответ:
27 это маска подсети (точнее число единиц в ней).
Соответственно все биты, соответствующие нулевым битам маски можете менять, это и будут ваши адреса.
Вопрос: Как разбить ListView на ячейки?

Лучший ответ:
Можно вот так:public class Main extends Application {
    
    @Override
    public void start(Stage primaryStage) throws Exception{
        Pane root = new Pane();
        primaryStage.setTitle("Hello World");
        primaryStage.setScene(new Scene(root, 300, 275));
        primaryStage.show();


        //подготавливаем список для листа
        ObservableList<TestEntity> list = FXCollections.<TestEntity>observableArrayList();
        
        list.addAll(
                new TestEntity(new Button("button1"), "str1"),
                new TestEntity(new Button("button2"), "str2"),
                new TestEntity(new Button("button3"), "str3"));


        ListView<TestEntity> listView = new ListView<TestEntity>(list);

        //устанавливаем фабрику для отрисовки ячейки.
        listView.setCellFactory(new Callback<ListView<TestEntity>, ListCell<TestEntity>>() {
            @Override
            public ListCell<TestEntity> call(ListView<TestEntity> param) {

                //тут нужно собрать объект ListCell, и вернуть его
                ListCell<TestEntity> listCell = new ListCell<TestEntity>(){

                    //отрисовка происходит здеся
                    @Override
                    protected void updateItem(TestEntity item, boolean empty) {


                        super.updateItem(item, empty);

                        if (empty || item == null) {
                            setText(null);
                            setGraphic(null);
                        } else {

                            //тут конструируешь все что захочешь
                            //или можешь подгружать fxml
                            HBox hBox = new HBox();


                            Label label = new Label(item.getString());
                            hBox.getChildren().addAll(item.getButton(), label);

                            //устанавливаем графику
                            setGraphic(hBox);

                        }
                    }
                };

                return listCell;



            }
        });

        root.getChildren().add(listView);

    }

    class TestEntity{
        Button button;
        String string;
        TestEntity(Button button, String str){
            setButton(button);
            setString(str);
        }

        public Button getButton() {
            return button;
        }

        public void setButton(Button button) {
            this.button = button;
        }

        public String getString() {
            return string;
        }

        public void setString(String string) {
            this.string = string;
        }
    }


    public static void main(String[] args) {
        launch(args);
    }
}

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

Лучший ответ:
Если речь только про FullHD, то бери gtx1070 и не думай. С учетом того, как сейчас "оптимизируют" игры, года через 2-3 ее придется менять, да и новые серии выйдут. Проц бери 7700К и не парься, в играх не так критичен, как видео. Оперативы 16 Гб с головой хватит, главное чтобы материнка расширение поддерживала до 32. 
ИМХО 120к для FullHD  - явный перебор. Более 60-70к нет смысла вкладывать.

Худший ответ:
1) ждите i7-8700k на 1151v2,  они появляются уже в магазинах.  только матери дешевые ближе к НГ появятся.
i7 7700 имеет 4 ядра, и у него есть множество проблем. т.е. по сути это проц для игр только. 
Если ждать не хотите, то посмотрите на ryzen 1700
2) обратите внимание на немецкий магазин техники сможете сэкономить процентов 20 на железе. в группе вк их часто сборки хороших компьютеров
3) на счет ВК я вам не подскажу, но я бы остановился на 1070. 
4) я бы купил 16гб памяти, но если у вас нет ограничения, возьмите 32
Итог, в бюджете 120К за внутренности , вы можете себе ни в чем не отказывать , это может быть и 1080ti, и топовый ryzen 1800, и вы все равно будете в бюджете.
Вопрос: Количество ссылко в HTML-карте сайта не должно превышать 200?

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

Худший ответ:
Задачи такой кары:
1. Упростить навигацию по сайту людям.
2. Сократить уровень вложенности ВСЕХ страниц максимум до 3.
Это какие-то сеобредни.
Нужно нормально продумать юзабилити, сделать каталогоризатор, фильтрацию и поиск. А html-карта в наше время это переджиток прошлого. Для ПС есть сайтсмап, А люди вряд ли кто пользуется картой (не путать с каталогоризатором!)
Вопрос: Как обойти защиту провайдера раздачи интернета?

Лучший ответ:
Вот так и мучают кол-центры операторов и потом удивляются "что же мне никто не может помочь"

Худший ответ:
причем тут провайдер к ПО и настройкам ОС ? 
купите роутер и не парь мозги себе и людям
Вопрос: Вопрос о сервисе Gravatar

Лучший ответ:
Запрашивайте аватар с параметром ?d=404. Тогда gravatar будет возвращать 404, если аватара нет.

Худший ответ:
В GET параметре d или default можно указать url картинки, которая будет отображаться в случае отсутствия аватара, в вашем случае это может быть 1 прозрачный пиксел.

Тут подробно:
ru.gravatar.com/site/implement/images/
Вопрос: Насколько хорошо индексируются node.js сайты?

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

Худший ответ:
Просто оставлю это здесь :)
https://meteorhacks.com/meteor-server-sider-render...
Вопрос: Неадекватный клиент, как быть?

Лучший ответ:
Я вчера отписал здесь и параллельно в суппорт, они ответили достаточно быстро, сказали, что исходники раз он не требовал изначально, то я передавать не должен. Они сказали, что я должен предложить ему открыть еще один контракт с другими ценовыми условиями, если ему нужен исходник, так как это всегда стоит других денег.
А если же он будет что-то делать иное, угрожать или ставить плохие оценки на этой основе, то сообщить им и они вынесут отдельное решение по нему. 
То есть совет всем фрилансерам, писать сразу в суппорт, там все очень круто отработано!
PS последнее сообщение от него: не закрываю контракт, так как могут быть еще доделки за отдельные часы… пока вопрос с исходником внутри оДеска он замял… Тон общения сразу изменился, как ушли из скайпа внутрь системы (messages).

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

Лучший ответ:
Кириллица в РНР - вообще не очень хорошо. 
Если вам доведется как-нибудь перевести проект с cp1251 на utf8 или обратно - прочувствуете, почему...
Ну, и пара мелочей:
1. ($array != $аггау) === true. Сами догадаетесь, почему?
2. Вам же оплачивают ваше время работы? Добавьте к нему бесплатную практику в английском - думая о процессе по-английски, называя переменные по-английски, добавляя комментарии по-английски. Гугля, если понадобится, на английском... Со временем вы не только прокачаете язык, но и действительно будете думать о коде в английских терминах. Не понадобится переключать контекст в голове. А это дольше, чем переключение раскладки, даже если вы этого не замечаете.

Худший ответ:
Если кратко:
1. Пишите всё для себя - пишите хоть на Морзе.
2. Пишите для показа кода (заказчик, команда, open source) - пишите исключительно на международном: английском!
Вопрос: Как вывести данные с сервера без lodash?

Лучший ответ:
lodash кушает в кач-ве аргумента на входе как Array, так и Object - https://lodash.com/docs/4.17.4#map
нативная же имплементация map подходит только для массивов.
так что вероятнее всего твой prop - это объект.
чтобы от"мэппить" объект - нужно сделатьObject.keys(yourPropObject).map(item => {
   return <p> {yourPropObject[item].title} </p>
})

Худший ответ:
lodash кушает в кач-ве аргумента на входе как Array, так и Object - https://lodash.com/docs/4.17.4#map
нативная же имплементация map подходит только для массивов.
так что вероятнее всего твой prop - это объект.
чтобы от"мэппить" объект - нужно сделатьObject.keys(yourPropObject).map(item => {
   return <p> {yourPropObject[item].title} </p>
})
Вопрос: Как сделать тостер своими руками?

Лучший ответ:
Гуглите "Принципиальная схема тостера".
Например: el-shema.ru/publ/ehlektrika/skhema_tostera/10-1-0-134

Худший ответ:
биметаллическая пластина + подпружиненный контактор + нихромовая проволока = механический тостер.
скорее всего, там нет никакой электроники ;)
Вопрос: Как называется дизайнер интерфейсов на профессиональном языке?

Лучший ответ:
Дизайнер интерфейсов или UI-дизайнер.
Обычно, UI-дизайнер и UX-дизайнер - это один человек, но это не всегда так.
UI - только прорисовка/визуализация графических элементов интерфейса
UX - интуитивно-понятное (для мозга пользователя) расположение графических элементов интерфейса и их поведение

Худший ответ:
только об этом знают немногие. в убогой глуши, которую я представляю, это называют веб-дизайнер. от того и рунет такой убогий
Вопрос: Yandex kassa для opencart 3.X есть ли? как связать?

Лучший ответ:
Что посоветуете?
Не торопиться ставить последние версии Opencart

Худший ответ:
opencart 3.X еще на стадии бетта тестирования и сомневаюсь что в ближайшие пол года будет релиз. К тому же модулей актуальных под эту версию еще дольше не будет. Так что вариант или писать самим под 3.Х или переделать с 2.3 или отложить переход на 3.X до лучших времен.