Задать вопрос
  • Как правильно называется вакансия?

    @protven
    Он на взлете (опять) зарубежом, используется как правило аналитиками (data scientist). Взлет связан в основном с хайпом вокруг анализа данных, машинного обучения и бигдаты. R очень хорош для быстрого прототипирования на небольшом наборе данных или уже для "окончательного" анализа и визуализации, опять же на небольшом или среднем наборе данных, которые прошли предварительную обработку и очистку. Много библиотек связанных с матстатистикой, машинным обучением, анализом данных, визуализацией. Оракл обещал вставить возможность писать хранимки на R в свою базу данных, но я не следил сделали ли.
    Я проходил в свое время курсы на Coursera по анализу данных, мне R как сам язык понравился средне. Сейчас идет конкуренция между R и питоном с библиотеками типа numpy, pandas, sklearn и тд за звание лучшего инструмента для анализа данных. Плюс есть вендорские инструменты, типа SPSS, которые предлагают ту же возможность.
    Что касаемо вакансий в вашем регионе, то они есть, но их мало. Вот пример https://hh.ru/vacancy/20496633?query=%D0%B0%D0%BD%...
    Я бы не стал расчитывать что в России вообще, а тем более за пределами Москвы вы сможете легко найти работу аналитиком данных, не имея реального опыта и успехов в этой области. Но, повторюсь, за рубежом профессия Аналитка Данных сейчас очень популярна и язык R часто считается одним из необходимых инструментов, которым он должен владеть (см. ремарку про питон).
    Ответ написан
    2 комментария
  • В чём техническая сложность борьбы с телефонными звонками о ложных минированиях?

    gobananas
    @gobananas
    finishhim.ru
    Наверное, есть какие-то паттерны: звонки в одно время, через один гейт, по одному списку телефонов.

    Смысл не в паттернах а в регламенте. Есть закон, внутренние инструкции МВД всякие, где прописано что вы обязаны: эвакуировать, завести собак, проверить и т.д.
    Представьте себе что он 100 раз за неделю позвонит и скажет про бомбу, а потом 101й раз реально заложит её и взорвёт. И если этот раз не эвакуируют и не проверят то будет ппц. Вы же не знаете, может там с родителем кого-то из учеников договорённость или с самим учеником.
    Поэтому регламент есть, регламент надо выполнять. Всё. Если появилась новая информация или новые технологии можно только поменять регламент, например ввести ускоренную проверку.
    Ответ написан
    Комментировать
  • В чём техническая сложность борьбы с телефонными звонками о ложных минированиях?

    Jump
    @Jump
    Системный администратор со стажем.
    В чём техническая сложность борьбы с телефонными звонками о ложных минированиях?
    Нет никакой сложности.
    Просто никто с ними не борется.
    С ними нужно не бороться, а реагировать - любой звонок потенциальная угроза.

    А если это спам - спамера ловят и сажают в места не столь отдаленные.
    Ответ написан
    Комментировать
  • Как понять докер, если ничего не понятно?

    planc
    @planc

    Нужно ли для каждого компонента(php, nginx, DB) создавать отдельный образ?

    на докер хабе есть официальные образы
    для сборки всего воедино нужен docker-compose


    Например, если у меня отдельный образ для БД, как я должен к ней подключаться?


    при создании дать имя контейнеру --name
    docker run --rm -it --name deb1 debian bash
    и прилинковать второй контейнер
    docker run --rm -it --name deb2 --link deb1 debian bash
    теперь второй контейнер может разговаривать с первым по имени deb1


    И как работать с кодом?

    использовать volume( опция -v)

    на хосте файл:
    echo 'hello world' > /tmp/yo.txt
    создаем контейнер
    docker run --rm -it -v /tmp/yo.txt:/tmp/yo.txt debian bash
    и теперь у нас в контейнере есть доступ к этому файлу


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

    https://docs.docker.com/get-started/
    Ответ написан
    Комментировать
  • Как сверстать языки пламени?

    Olek1
    @Olek1
    Гифом
    Ответ написан
    Комментировать
  • Как получить число символов в Unicode строке в bash?

    <<< добавляет в конец символ перевода строки.

    CHRLEN=$(echo -n $TEST | wc -m)
    printf "%s has %d characters\n" "$TEST" "$CHRLEN"
    Ответ написан
    Комментировать
  • Как получить число символов в Unicode строке в bash?

    xotkot
    @xotkot
    ответы это убийцы вопросов
    Почему-то показывает 11, на 1 больше, чем правда.

    оно считает еще перенос строки как символ

    возвращает 16 – кириллицу считает один за два.

    добавьте тогда просто нужную кодировку перед командой, например:
    LANG=ru_RU.UTF-8 CHRLEN=$(echo -n $TEST | wc -m)
    или
    LANG=ru_RU.UTF-8 echo ${#TEST}
    из приведённых выше примеров
    Ответ написан
    1 комментарий
  • Какой монитор выбрать для контроля цвета в монтаже видео?

    Используйте телевизор
    Ответ написан
    Комментировать
  • Как реализовать такие линии у списка?

    evgeniy8705
    @evgeniy8705
    Повелитель вселенной
    Ответ написан
    Комментировать
  • Как отдать файл php через nginx?

    castomi
    @castomi
    Серверный администратор - tickets.settin.ru
    Ничего там прописывать не надо или можешь всё-таки что-то добавить. Само наличие отдельного локейшена в котором не прописана передача php бэкенду заставит файл качаться.
    Ответ написан
    Комментировать
  • Поиск в массиве используя массив ключей?

    DevMan
    @DevMan
    $a1 = ['a', 'b', 'c'];
    $a2 = ['a'=>10, 'b'=>20, 'c'=>30,'d' => 40];
    print_r(array_intersect_key($a2, array_flip($a1)));
    https://ideone.com/0M9o2W
    Ответ написан
    4 комментария
  • Простой пример одного и того же кода в ООП, функциональном и процедурном стиле?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    (Все это дико не академично, не корректно и воообще, но должно быть понятно):

    Процедурный подход: есть последовательность команд. Каждая из них может содержать последовательность команд.
    возьми_кофемашину();
    налей_воды_в_кофемашину();
    нажми_кнопку();
    подставь_кружку();
    вылей_кофе_в_кружку();
    наслаждайся();


    ФП - акцент на действии. Одни действия влекут за собой другие.
    наслаждайся(
        своим_кофе(
            которое_сделала_кофемашина(
                в_которую_налили_воды())))


    ООП - акцент на объектах. Любое действие совершает конкретный предмет
    есть кофемашина;
    есть кружка;
    есть ты;
    
    ты.имеешь(кружку)
    кофемашина.имеет(кружку)
    кофемашина.поехали();
    ты.возьми_свою_кружку();
    ты.наслаждайся();
    Ответ написан
    2 комментария
  • Как можно сократить код?

    longclaps
    @longclaps
    resolve((recoupment > 0 && probability <= 50 && setWinnerDrop(itemsbot, true))
        || setWinnerDrop(itemsbot, false) || false);
    Ответ написан
    1 комментарий
  • Как можно сократить код?

    @rustler2000
    погромист сикраш
    if (recoupment > 0 && probability <= 50) {
        var drop = setWinnerDrop(itemsbot, true);
        if (drop) {
            resolve(drop);
            return;
        }
    }
    
    var drop = setWinnerDrop(itemsbot, false) || false;
    resolve(drop);
    Ответ написан
    Комментировать
  • Как составить все возможные комбинации?

    longclaps
    @longclaps
    гугл
    Сергей Соколов сказал, что мопед надо помыть
    function* permutation(s) {
        if (s.length < 3) {
            yield s;
            if (s.length == 2) yield s[1] + s[0];
        } else {
            for (let i = 0; i < s.length; i++) {
                let h = s[i];
                for (let t of permutation(s.substr(0, i) +
                    s.substr(i + 1))) yield h + t;
            }
        }
    }
    
    for (let s of permutation("abcd")) {
        console.log(s)
    }
    Ответ написан
    8 комментариев
  • Что может вызывать такой паттерн нагрузки CPU?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Поставьте atop в режиме логирования - сможете пост-фактум посмотреть, какие процессы грузят процессор.
    Ответ написан
    Комментировать
  • Как оформиться фрилансеру на работу?

    @BorisKorobkov
    Web developer
    Псевдо-официально:
    НДФЛ 13%
    Пенсия 22%
    Медицина 5,1%
    Соцстрах 2,9%
    = 43%
    + прибыль самой компании
    Итого минимум половину денег будете отдавать просто так.

    ИП:
    регистрация 800 руб + 28 тыс руб/год + 1% (свыше 300 тыс. руб./год) + УСН 6%

    ООО:
    регистрация 4 тыс + уставной капитал 10 тыс. + УСН 6% + НДФЛ 9%
    Ответ написан
  • Curl стал чаще тормозить. Как определить причину?

    gobananas
    @gobananas
    finishhim.ru
    Смотрите в curl_getinfo там есть:

    CURLINFO_TOTAL_TIME - время выполнения операции в секундах;
    CURLINFO_NAMELOOKUP_TIME - время разрешения имени сервера в секундах;
    CURLINFO_CONNECT_TIME - время, затраченное на установку соединения, в секундах;
    CURLINFO_PRETRANSFER_TIME - время, прошедшее от начала операции до готовности к фактической передаче данных, в секундах;
    CURLINFO_STARTTRANSFER_TIME - время, прошедшее от начала операции до момента передачи первого байта данных, в секундах;
    CURLINFO_REDIRECT_TIME - время, затраченное на перенаправление, в секундах;

    Если всё это у вас быстро отрабатывает то проблема у вас, если какая-то из переменных велика то какая - посмотрите где идёт задержка времени. Если проблема у них, то тут особо ничего не сделать, если не в curl то можно думать уже...
    Ответ написан
    1 комментарий
  • Как разрешить Google Apps Script отправлять email для любого пользователя Spreadsheet?

    oshliaer
    @oshliaer Куратор тега Google Apps Script
    Google Products Expert
    Описания недостаточно, код не видно, хотя, можно уже предполагать, где скрывается ошибка. Разделите понятия:

    Судя по описанию, User-B прошел авторизацию, а остальные пользователи нет. Заставьте этих пользователей пройти авторизацию, и у них появится разрешение на запуск функций.

    Как заставить пользователей авторизоваться - это проблема разработчика, а не Google. Но, не имея в техническом плане серьезных противоречий, этот подход сложен для понимания практического. Примеры приложений, код которых может быть одинаков до запятой.
    • Отправить присьмо при изменении. Простой триггер onEdit(). Может отпрвлять только то, кто прошел авторизацию.
    • Отправить присьмо при изменении. Устанавливаемый триггер. Триггер установлен кем-то одним. Может отпрвлять только то, кто прошел авторизацию, т.е. один. Письма будут приходить согласно условию в коде.
    • Отправить присьмо при изменении. Устанавливаемый триггер. Триггер установлен каждым умником, кто залез в код. Может отпрвлять только тот, кто прошел авторизацию. Письма будут приходить согласно условию в коде умноженное на количество умников, потому что это будет один и тот же код, срабатываемый для каждого триггера в каждом аккаунте.

    Разрабатывая клиент-серверное приложение, вам необходимо заботиться о многопользовательском доступе. Необходимо разработать процесс и порядок доступа, и только после этого разбираться, как это реализовать. Например,
    • Каждый пользователь сам себе будет отправлять письма? Зачем и нах!?
    • Каждый пользователь будет отправлять письма на заданный адрес?
    • Письма будет отправлять только один аккаунт всем участникам подписки, группе, редакторам и т.д.?
    • Письма будет отправлять только один аккаунт, тому кто совершил изменения? Для аккаунтов googlemail.com это недоступно.

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

    Пересмотрите свое приложение. Какие цели оно преследует? Чего вы уже добились? Так ли это работает? Приведите пример кода и суть приложения.
    Ответ написан
    1 комментарий