Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Upwork только для людей-оркестров?

Лучший ответ:
Upwork же мне предлагает...
Upwork к вам лично обратился с таким предложением?)) Можно увидеть скрин?

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

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

А вот знание одновременно Laravel и ASP.NET - это бред. Потому что это разные бекендовые языки (С# и PHP) и их не принято мешать.

Худший ответ:
Это просто добавленные слова и теги чтобы охватить больше фрилансеров в поиске, как правило 90% из списка не нужно знать вообще.
Вопрос: С чего начать делать сайт если никогда не писал для web?

Лучший ответ:
С чего начать делать сайт если никогда не писал для web?
- с этого:<html>
  <head>
    <h1>Заголовок</h1>
  </head>
  <body>Привет, это моя первая страничка!</body>
</html>

Худший ответ:
Попробуйте Wordpress, самый простой вариант. А если хотите сами создать с нуля, то до изучения php нужно освоить html и css
Вопрос: Стоит ли углубляться в изучение git и тп?

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

По такой логике можно писать в IDEA как в текстовом редакторе (или вообще не попробовать IDEA, ведь в Sublime код тоже можно писать), дебажить в gdb, ходить в БД через cli, смотреть, кто правил твой код через git blame и не писать тесты вообще, потому что "ну я же руками проверить могу". Путь абсолютно тупиковый и никак не коррелирует с развитием. Потолок такого подхода — джуниор самодур девелопер.

Худший ответ:
Добрый день.

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

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

Худший ответ:
1. Если есть посты с проектами на фриланс-площадках - значит работа точно есть.
2. То, что Вы их не можете взять на реализацию - говорит о вашем скилле: он стал крайне низким. Нужно ПОСТОЯННО его качать, чтобы иметь возможность конкурировать с другими исполнителями.
3. Возможно, нужно промониторить среднерыночную стоимость работ и на первое время немного снизить ценник на свои, чтобы иметь возможность брать проекты во время повышения скилла.
4. Может все поняли, что сегодня без договора и реальных гарантий вообще не стоит никому доверять свой проект.
Вопрос: Программа для стабильной записи FullHD-видео с веб-камеры в Windows?

Лучший ответ:
Да какой-нибудь OBS Studio или аналогичное для стриминга.
Только не стримить, а писать в файл.

Худший ответ:
Ffmpeg тоже умеет, даже 1:1, без перекодировки.
Вопрос: Как оформить бэкенд?

Лучший ответ:
освоил полностью Фронтенд
Да ладно!
Я не видел в своей жизни ни одного человека, который полностью освоил фронтенд.
Я тебе сейчас парочку вопросов по фронту задам и ты на них не ответишь :)
Начнём с Андроида и iOS. Ты же не будешь отрицать, что мобильные приложения - это тоже фронтенд?

Худший ответ:
Исходники (src/), конфиги (configs/) и прочие внутренности проекта всегда должны быть выше или на уровне директории (public/) которая доступна веб-серверу, но никогда не в ней.
Вопрос: Как проверить доступность сайта в течении дня?

Лучший ответ:
https://www.statuscake.com/
https://hetrixtools.com/
https://www.freshworks.com/website-monitoring/

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

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

Лучший ответ:
Делайте 1 слайдер а при клике по категории данные (ссылки на картинки) передаете слайдеру массивом. В итоге 22 категории, каждый со своим массивом ссылок и 1 слайдер, который будет подтягивать по массиву картинки

Худший ответ:
Спасибо за совет @gh0sty
Использовал первый вариант, при клике слайдер удаляется, удаляется содержимое слайдера, и грузиться новые значения из БД
Вопрос: Как вурнуть массив из ajax?

Лучший ответ:
Потому что это работает не так, как вы подумали. Вы присваиваете своей переменной ссылку на сам AJAX-объект, а не результат выполнения AJAX-запроса. С данными полученными в AJAX-запросе вам нужно работать именно в коллбэк-функции. То есть вот так:success: function (res) {
    /* здесь весь остальной код для работы с данными полученными в запросе */
}});
Или прописать отдельную функцию и передавать ее имя:function customFunc(res) {
    /* здесь весь остальной код для работы с данными полученными в запросе */
}

$.ajax({ // получаем массив вопросов
    .....
    success: customFunc
});
А присвоить эти данные переменной можно только через промис. Например так:(async () => {
    let array = await new Promise(resolve => {
        $.ajax({ // получаем массив вопросов
            type: "POST",
            url: '/site/questions',
            cache: false,
            dataType: 'json',
            global: false,
            success: function (res) {
                return resolve(res);
            }
        });
    });
    console.log(array); /* вот сейчас в переменной будет то, что вам нужно */
})();

Худший ответ:
В общем кажется у меня  получилось. Вот как нужно было сделать! Всем спасибо!var arr = [];


    $.ajax({ // получаем массив вопросов
        type: "POST",
        url: '/site/questions',
        cache: false,
        dataType: 'json',
        global: false,
        async:false,
        success: function (res) {
            console.log(JSON.stringify(res));
            getArray(res);
        }});

    function getArray(res) {
        // console.log(JSON.stringify(res));
        arr = JSON.stringify(res);
    }

    console.log(arr);
Вопрос: Как добавить отправку файла в форму ajax _ php (скрипт рабочий — проверял)?

Лучший ответ:
Используйте FormData и не используйте serialize.

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

Лучший ответ:
Вычтите координаты центра из координат точки. Теперь шестиугольник лежит центром в (0, 0).

Составьте 6 уравнений сторон шестиугольника в виде Ax+By+C=0, так что C положительно (если нет - домножте на -1). Подставьте в эти 6 уравнений координаты точки, все они должны дать положительные значения (или нули, если точка на границе считается лежащей внутри в вашей задаче).

Почему это работает? Мы просто проверяем, что точка лежит с той же стороны от всех 6 прямых, что и центр (0, 0).

Как составить уравнения? Найдите координаты 6-ти углов. Если сторона = a, то координаты точек (a, 0), (a/2, sqrt(3)*a/2), (-a/2, sqrt(3)*a/2), (-a, 0) ...

Для уравнения одной из сторон возьмите в виде A разность по у у соседних точек, а в виде B разность по x (но с другим знаком). Потом подставьте туда координаты одной из точек и возьмите C так, чтобы был 0.

Можно все 6 уравнений составить на бумажке и закодировать в программе.

Пример для первой стороны:
A = sqrt(3)*a/2-0 = sqrt(3)*a/2
B = a - a/2 = a/2
C = -A*a - B*0 = -sqrt(3)*a*a/2.

Поскольку C отрицательно, меняем знаки:
A = -sqrt(3)*a/2
B = -a/2
C = sqrt(3)*a*a/2

Для второй прямой будет 0*x-a*y+sqrt(3)*a*a/2 = 0

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

Худший ответ:
Первая грубая проверка: если расстояние от точки до центра больше стороны шестиугольника, значит точка даже в описанную окружность не попадает, ответ отрицательный. Если расстояние меньше sqrt(3)/2 стороны, значит точка попадает во вписанную окружность, ответ положительный.

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

Лучший ответ:
Нужно открыть dev tools , и посмотреть какой  ajax запрос шлется для получения новостей. Вот этот запрос и нужно отправлять. и не надо спешить использовать  тяжеловесов типа selenium ! :) 

Худший ответ:
Находите последний в списке элемент (ноду): element и скролите к нему или чуть ниже (прибавив дополнительно к 'top' константу).function scrollIt(element) {
  window.scrollTo({
    'behavior': 'smooth',
    'left': 0,
    'top': element.offsetTop
  });
}(в любом случае - обработка на JS)
Вопрос: Как лучше организовать подключение к интернету?

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

и т.д. и т.п.

Худший ответ:
Первый лучше, но это только в данной ситуации!
Вопрос: Зачем хранить state в localStorage c помощью react-persist?

Лучший ответ:
ну в localStorage  я бы не стал,  он не типизирован, есть же indexDB,  хотя на маленьких размерах пофиг
пригодится может в любом offline first приложении, и не только

Худший ответ:
Скорее всего имеется в виду redux-persist? Он нужен, чтобы, например, после перезагрузки вашего приложения состояние возвращалось к тому, которое было до перезагрузки, что экономит время на инициализацию, запросы данных, которые ранее уже были загружены и т.д.
Не обязательно хранить состояние в localStorage, для этого рекомендуется использовать библиотеку localForage, которая позволяет использовать IndexedDB или WebSQL
Вопрос: Какой уровень знаний программирования нужен для игрового движка?

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


Худший ответ:
Нужно знание синтаксиса языка.

Посмотри канал SimpleCode на ютубе. Там по плюсам и шарпу много видосов. В кратце - вот это и надо знать. Можешь еще metanit почитать.
Также можешь книжку почитать по выбранному языку. Герберт Шилдт пишет книги по плюсам и шарпу.
Вопрос: Начинающий верстальщик. Куда, и что учить, что-бы развиваться?

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

На фрилансе заказов с легкой вёрсткой нет, а WP (И всё что с ним связано) учить, пока что, намерений не было.
Потому-что легкие заказы сразу разбирают, там по 50+ заявок на них. Если хотите только фронт зачем вы акцентируете внимание на WP?

Чуть пошарив в инете, понял что нужно просто оставлять своё резюме в разные компании/команды, и ждать пока кто-то ответит.
И кому вы нужны? 13 лет. База html/css/js. Классное резюме. 
Люди и с нормальными скилами не особо могут найти работу, а тут вы еще будете составлять конкуренцию. 
Нет, серьезно кто возьмет на работу 13-и летнего?

Ну и по теме заработка, хотелось бы узнать побольше.)
Wordpress,  и все что занимаете много заявок на фрилансе.

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

Худший ответ:
Погугли frontend roadmap. Верстка это начало frontend.

По теме заработка: до 14-16 это фриланс только. Заказы на вёрстку есть. И без CMS большое количество.  С 14 можно пробовать как стажор или junior в вёрстку или фнонтенд. Если будет портфолио хорошее и знания, то все реально.
Вопрос: Сколько человек может быть на сервере в игре?

Лучший ответ:
Зависит от игры, её архитектуры, её механик (насколько много они кушают ресурсов), сетевой оптимизации и выбранных технологий.

Например, в популярных ММО сервера тянут обычно порядка 5000 человек, плюс-минус. Там применяется хитрая технология распределения по зонам, когда каждую зону обслуживает отдельный сервер. То есть если в теории все игроки соберутся в одном городе, то начнутся проблемы (лаги, фризы). Хотя есть решения, которые и это предусматривают, определяя границы новых зон "на лету". Но это как бы не совсем "сервер", потому что за названием конкретного сервера, где игроки могут пересекаться и взаимодействовать, скрывается несколько серверов.

В EVE применяется решение, при котором время игры замедляется, если сервера не справляются. То есть в теории ограничений нет для этой игры.

Условно можно считать, что 1 сервер простенькой игрульки тянет около 1000 человек. Но повторюсь, зависит от игры. И если у вас там супер умные NPC  с продвинутым ИИ, который кушает много ресурсов, или если у вас там супер реалистичный обсчёт физики (на сервере), то лимит может быть и в 4-5 игроков, например.

Худший ответ:
смотря какой сервак. ну оочень много
Вопрос: Как с помощью Letsencrypt и Nginx получить сертификат — один домен с двумя IP адресами?

Лучший ответ:
1. Вариант
 синхронизируйте папку  /var/www/acme  между серверами, можно в принципе даже не париться и подмонтировать одну к другой  через fstab
2. Вариант в location /.well-known впишите прокси пасс на  соседний сервер но поскольку может быть и тут и там, то 
 не просто прокси а в 404 ошибку, в таком случае вы будите отдавать его локально, если 404 то оттуда .
Или челез upstream.

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

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

Вы так же можете создавать сущность разными фабричными методами.

Исключение должно быть в методе get() вашего репозитория. И не путайте методы find() и get():


find() —  возвращает сущность или null. 
 get() — возвращает сущность или исключение.


Худший ответ:
А БД у вас глобально торчит в виде синглтона? Вы даёте id конструктору пользователя, и этот конструктор сам (!) лезет в БД (какую-то), что-то оттуда подтягивает, бросает исключения в зависимости от внешнего состояния...

У какой-то другой сущности, к примеру у приложения, должен быть фабричный метод get_user. Он по идентификатору достаёт необходимые данные (этот код можно в классовый метод юзера поместить) и создаёт на основе этих данных инстанс юзера, например передавая все основные данные в конструктор.
Вопрос: Какой серьёзный софт можно подставить на e6750. 6gb. Gt730?

Лучший ответ:
Е6750
6гб ddr2
Gt730 4gb

я бы в помойку выкинул

Худший ответ:
Ну тогда займитесь анализом радиосигналов из Космоса. Будете искать доказательства существования инопланетян :)
Вопрос: Отсутствуют метатеги в Яндексе. Хотя они есть. Что делать?

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

Худший ответ:
Добрый день!
Робот еще не успел переиндексировать содержимое страниц. Ошибки вебмастера могут висеть некоторое время. Обычно недели-двух после исправления точно бывает достаточно.
Вопрос: Почему V::set() не является членом «V»? В чем ошибка?

Лучший ответ:
У вас set() объявлен так void set(int);, реализован так void V::set() {, а вызывается вот так  rez.set(p1.y / p2.y); (т.е. set(double)).

Худший ответ:
В чем ошибка?
В том, что в классе объявлено void set(int) а определяется -- void V::set(). Объявление должно соответствовать определению.
Вопрос: Как использовать несколько доменов для нескольких серверов на одном IP?

Лучший ответ:
Nginx обратный прокси.

Худший ответ:
Короткий мануал как я я всё настроил

Скачал свежий Nginx

Распаковал по пути C:\nginx

Создал два файла cmd внутри папки nginx
start.cmd
@echo off
start /D%cd% nginx.exe
stop.cmd
@echo off
start /D%cd% nginx.exe -s quit

И отредактировал файл C:\nginx\conf\nginx.conf
worker_processes 1;
    events {
    worker_connections 1024;
}
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    #Server 1
    server {
        listen 80;
        server_name server1.site.com;
        #Redirect to HTTPS
        location / {
            proxy_pass http://10.0.0.1:80;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
    #Server 2
    server {
        listen 80;
        server_name server2.site.com;
        #Redirect to HTTPS
        location / {
            proxy_pass http://10.0.0.2:80;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
}

Далее запустил Nginx с помощью start.cmd и все заработало!
Вопрос: Как убрать hostinger с сайта?

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

Худший ответ:
Перенести на beget.ru - бесплатно и без рекламы.
Вопрос: Почему это не работает?

Лучший ответ:
У вас возвращаемое из функции значение принадлежит к чистому типу T у которого отсутствуют признаки типа ITest, о чем и говорит ошибка. Это вы думаете что с помощью аргументов типа конкретизировали возвращаемое функцией значение. То есть вы смотрите как-бы из вне. Но компилятору необходимо сопоставить типы внутри самой функции. Выполняя это он и обнаруживает несоответствие типа { testField: number } типу T.

Советовать что-либо сложно, поскольку в таком контексте не понятно что вы хотите добится.

Худший ответ:
У вас возвращаемое из функции значение принадлежит к чистому типу T у которого отсутствуют признаки типа ITest, о чем и говорит ошибка. Это вы думаете что с помощью аргументов типа конкретизировали возвращаемое функцией значение. То есть вы смотрите как-бы из вне. Но компилятору необходимо сопоставить типы внутри самой функции. Выполняя это он и обнаруживает несоответствие типа { testField: number } типу T.

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

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

Худший ответ:
Используем много лет вот такое: Электрическая садовая воздуходувка HITACHI RB40SA 
Ну и аналогичных много бывает.
Для чистки компьютеров и сетевого оборудования. Технология такая - разбираем системник, снимаем с БП крышку (можно и не разбирать, но не всё продуется). Выносим это всё на улицу, там продуваем, придерживая (!) вентиляторы, собираем обратно. На саму продувку тратится максимум минута, с учётом того, чтобы во все щели со всех направлений дунуть.
НЕ используйте такое для ноутбуков! Их только разбирать, снимать вентилятор, и щёточкой (антистатической) прочищать. Можно дунуть слегка через рёбра радиатора, если не удаётся щёткой. Но при снятом вентиляторе - иначе лопасти просто оторвёт все.
Вопрос: Почему так мало соединений с базой данных на 1ГБ оперативной памяти?

Лучший ответ:
Вот честно могу ответить - ни малейших представлений как можно абстрактно сказать, сколько памяти займёт client backend процесс базы.
Это будет меняться от:
- очевидно версии базы, плюс от компилятора и настроек сборки
- session_preload_libraries, work_mem (к слову о work_mem - вы знаете, что один запрос может использовать несколько work_mem?), temp_buffers. Да ещё maintenance_work_mem для некоторых операций
- величины системного каталога - как pinned таблиц, так и затем кэшированных при обращениях
- выполняемых ранее запросов. Тот же кэш хранимых процедур у каждого backend свой
Один backend вполне и десятки гб памяти может использовать и такие настройки может иметь смысл делать для, например, построения индекса.
Помимо собственной private памяти на каждое активное соединение всё множество max_connections резервирует себе некоторое место в сегменте разделяемой памяти, независимо от того, сколько соединений вы затем используете.
Чтобы админить калькуляторы и чайники обычно DBA не нанимают. Тем более если на том же самом калькуляторе помимо базы ещё и приложение отъедает непредсказуемо сколько памяти. Чего там от этого 1гб останется? Видимо даже shared_buffers с 128мб поднимать некуда, а то может и уменьшать придётся. Так что по опыту сложно что-то сказать о такой конфигурации.
Скорей всего не трогайте max_connections. Оставьте дефолтные 100.Правильно ли я понимаю, что пул соединений не помогает в плане экономии оперативной памяти
Смотря какой пул и как работает приложение.
pgbouncer в pool_mode = transaction вполне может свести пару сотен подключений к баунсеру на десяток коннектов в базе. Ну а 10 процессов базы будут использовать наверняка поменьше памяти чем 200.
Для pool_mode = session - да, только сгладить стоимость fork годится.

Худший ответ:
Не спец по PSQL
Но:
1. А где хранить данные в быстро доступе? Где хранить кэш таблиц и запросов?
2. Почти так
3. Со стороны СУБД нужно держать коннект и для этого требуется 10МБ на один коннект и со стороны клиента тоже надо держать коннект и тратить уже свою память (размер зависит от конкретной реализации конкретного клиента)
P.S. зачем вам столько соединений? Обычно достаточно одного соединения одному клиенту. И если у вас просто back, то ему хватит одного коннекта
Вопрос: Как принимать и совершать звонки с ПК через смартфон?

Лучший ответ:
Your phone. Нужно на телефон и комп скачать. Там можно и телефоном управлять с компа.

Худший ответ:
Хм...вариантов так то масса
1. Купить виртуальный номер (пользоваться им как на смарфтоне (через фирменное приложение или acrobits), так и на компьютере (ПО или WebRTC).
Сделал скриншот - звоню прям из браузера
spoiler
2. Если у вас есть мобильный номер, то его можно подвязать к виртуальной атс (работает только с мегафоном по sip-протоколу) и пользоваться также как в п.1.
Либо без использования виртуальной АТС - ставите ПО на комп PhonerLite или Bria Solo (X-Lite) и прописываете мегафоновские настройки sip (услуга мультифон).
3. PS: При использовании sip телефонии можно и управление голосом прикрутить (на айфон команды siri, на андроиде наверняка тоже что то есть + телеграм (который на сервер шлет команды для набора номера (обратный звонок)).

Если исхитрится и погрузиться в тему, то вообще ничего платить не придется (только из пакета минуты будут тратиться). Рекламировать не буду, думаю на скриншоте понятно - какой вам сайт нужно посетить.

ЗЫ2:
Блютуз гарнитура + таймвьюер для андроид, не?