• Centos как разгрузить сервер?

    ZloyHobbit
    @ZloyHobbit
    https://habrahabr.ru/company/ua-hosting/blog/281519/

    Либо читайте маны и выпрямляйте руки, либо наймите админа с пярмыми руками за деньги.
    Ответ написан
    Комментировать
  • Как стать хорошим Big Data / Data Scientist'ом в России?

    ZloyHobbit
    @ZloyHobbit
    Смотря что вы понимаете под "хорошим DS специалистом".
    В идеале для этого надо окончить сильный технический вуз, отлично знать матанализ, линейную алгебру (матрицы это туда), дискретную математику, математическую статистику, теорию вероятности, теорию алгоритмов, и.т.д. и.т.п.
    А потом знать R, python, с++ и все используемые в работе библиотеки и инструменты.

    Проблема большей части курсов, от того же ШАДа, что они раситчаны на студентов физтеха, которым уже дана очень серьезная математическая подготовка. Большая часть людей, прослушав эти курсы, научится применять стандартные инструменты в стандартных ситуация, абсолютно не понимая, какая математика за всем этим стоит, и как ее можно модифицировать. Это не специалисты, а ремесленики дата сайна, которых на хайпе расплодилось очень много.
    Хотите быть крутым исследователем - учите математику и становитесь математиком.
    Ответ написан
    10 комментариев
  • Как отфильтровать массив?

    ZloyHobbit
    @ZloyHobbit
    У вас в коде очень много, не то чтобы ошибок, но вещей, которые в ruby делать не рекоммендуется. Очень советую почитать rails guide, книгу Мацумото по руби и "Гибкая разработка веб-приложений в среде Rails".
    К примеру:
    @ - префикс для instance переменной, она здесь совсем не нужна.
    if not - в ruby есть операторы not, and, or и.т.д. но у них приоритет выполнения существенно ниже, чем у аналогов !, && и || так что лучше использовать символы, что бы не прострелить себе ногу.
    camel_case используется для названия классов и модулей, и тем более не в js стайле с маленькой буквы, пишите красивый код, что бы не мучиться потом.
    и замечаний еще много много можно высказать по синтаксису, так что очень рекомендую его подтянуть.
    Ответ написан
    Комментировать
  • "Большой Брат" в офисе, за интернет-трафиком следят. Как можно обойти эту систему?

    ZloyHobbit
    @ZloyHobbit
    На мой взгляд самый простой способ - vpn over ssh.
    Берем любую vps за бугром (что бы уж сразу и на pornhub и linkedin ходить без проблем). Разворачиваем там любой доступный linux, получаем ssh из коробки.
    После чего достаточно подключитсья к серверу при помощи команды:
    ssh -D 3456 user_name@hostname
    и мы имеем шифрованный тоннель на vps, в который можно отпраивть любой трафик, как через сокс прокси.
    К примеру в firefox в настрйоках сети достаточно прописать прокси 127.0.0.1 и указанный нами порт 3456 и весь трафик пойдет через этот ssh туннель. Плюс в том, что большой брат даже не узнает тип траффика, т.к. все это будет ssh на 22 порту.
    Ответ написан
  • Переход из С++ в PHP?

    ZloyHobbit
    @ZloyHobbit
    Я бы предложил, ruby/rails или python по следующим причинам:
    1) C# (.NET) и Java - лютый энтерпрайз, который лично я надух не переношу.
    2) PHP достаточно убогий язык, и на нем пишут почти все. В результате за него мало платят, и вы постоянно будете сталкиваться с проблемой: "Зачем мне платить вам, даже если вы профессионал, я лучше залачу в пять раз меньше недоученному школьнику и он как-нибудь да сговнокодит"
    3) PHP - это только web разарботка, python и ruby - универсальные языки, на ruby есть серверные приложения (puppet к примеру) на python вообще очень много всего, и на него сильно перешла обработка данных на пару с R. Надоест писать сайтики, и при должном знании математики пойдете в анализ данных.
    4) Я сам 6 лет писал на C++ в нии, но не считаю себя ни мидом ни сеньёром, поскольку самоучка без серьезных коммерческих проектов. За полтора года в рельсах стал зарабатывать весьма неплохо, и при этом получаю удовольствие от работы. Так что рекоммендую =)
    Ответ написан
    1 комментарий
  • Как обработать такую форму?

    ZloyHobbit
    @ZloyHobbit
    Какое-то запутанное объяснение получается. Лучше приведите пример кода.
    Из того, что я понял, вы хотите при создании обыъекта одной модели создавать объект другой, который с первой никак напрмяую не связан. Это архитекрутно не слишком удобно и не слишком тривиально. Лучше бы попробовать как-то преобразовать архитекрутуру.
    Что бы использовать один и тот же метод при создании и обнволении можно делать так:
    group = Group.find_or_initialize_by(params)
    Что бы создавать объект модели сразу со связанными моделями, полезно использовать nested attributes.
    В вашем случае это будет что-то вроде:
    class Trainig < ActiveRecord::Base
      has_many :exercises
      accepts_nested_attributes_for :exercises
    end
    ...
    training = Training.create(training_params.merge(exercises_atrributes: array_with_hashes_of_exercises_atrributes))

    Причем в массив параметров для упражнений можно внести данные для создания групп и создавать группу при ее отсутсвии перед созданием упраженения при помощи find_or_initialize_by.

    PS. Как правильно сказали в комментариях, для того что бы предевать nested attributes из общей формы удобно использовать fields_for.
    Ответ написан
    1 комментарий
  • Как динамически создавать webhook'и?

    ZloyHobbit
    @ZloyHobbit
    На самом деле совершенно непонятно, что есть, что должно быть, и какими средствами выпланируете этого достичь. Одно могу сказать, любая динами делается при помощи программирования, соответсвенно нужен язык программирования, в идеале тот же, что уже используется на сервере. А на нем возможно множество различных реализаций с идентификаторами, токенами, и множеством других хитростей.
    Ответ написан
    Комментировать
  • Как может заработать чистый математик?

    ZloyHobbit
    @ZloyHobbit
    Вам прямая дорога в Data Science, программировать на python научится пятикалсник за неделю, огромное количество инструментов уже написаны и их надо просто использовать. Но большая проблема в том, что люди не понимают, что они делают, и как оно работает. А там как раз аналит пермешанный со статистикой, и платят неплохо. Куча русов есть на всех возможных платформах.
    Ну или если совсем от компьютера воротит, то готовить народ к ЕГЭ и экзаменам в институте можно. Сейчас, на удивление, выросла область репетиторов, которые готовят студентов к экзаменам. Потому что студенты не могут сами почитать книжку и порешать задачки.
    Ответ написан
    Комментировать
  • Как вылечить сервер, который считает, что все место на диске закончилось, так как df -h показывает 100% занятого места на /, но df -ih показывает 27%?

    ZloyHobbit
    @ZloyHobbit
    Достаточно классический случай, процесс держит удаленный файл, место не очищается, но и файла уже нет.
    Ищется так: lsof -nP | grep '(deleted)'
    Лечится убиением процесса, или прочисткой proc файла.
    Вот есть обсуждение на стаке.
    Ответ написан
    Комментировать
  • Как научиться делать сортировки любой сложности в JavaScript?

    ZloyHobbit
    @ZloyHobbit
    Если вас интересуют именно сортировки, то я зык не важен, надо изучать алгоритмы.
    www.ozon.ru/context/detail/id/6290126 - одна из лучших книг для начала, на мой взгляд. Гораздо меньше и проще Кнута, или Кормена. Ну и советов с книгами по алгоритмам на Тостере хватает.

    Ну и надо отличать сортировки и обходы. Методы типа map и reduce вызывают некоторую функцию для каждого элемента массива. Они просто проходят по нему, без сравнений.
    sort - сортирует массив, тоесть сравнивает элементы между собой и переставляет. Сложность такого алгоритма обычно гораздо выше, чем при простом проходе, а сравнение можно проводить различными способами, и это можно регулировать, передавая функцию сравнения arr.sort(function). Но эта функция будет только менять принцип сравнения двух элементов массива, а не алгоритм сортировки, который отвечает за порядок сравнения и перестановки. Передавая кастомную функцию, мы можем, к примеру отсортировать числа по алфавиту, или в обратном порядке, при помощи того же самого алгоритма сортировки.
    Ну а если надо реализовывать свой алгоритм, то надо писать свой метод сортировки =)
    Ответ написан
    Комментировать
  • Как не вводить каждый раз пароль для подключения по SSH?

    ZloyHobbit
    @ZloyHobbit
    Почитайте про ssh-agent, rsa-keys и.т.д.
    В нормальных системах все работает из коробки, в винде придется приделывать костыли ryanlanciaux.github.io/blog/2014/05/15/running-ssh...
    Ответ написан
  • Контроль заряда батареи ноутбука?

    ZloyHobbit
    @ZloyHobbit
    Такая проблема была, но достаточно давно, современные батареи имеет смысл временами тренировать, разряжая и заряжая, а отключать - смысла нет, они сами отключаются.
    Ответ написан
    Комментировать
  • Операции присваивания: как?

    ZloyHobbit
    @ZloyHobbit
    Как работает ajax: ваш скрипт отправляет некоторую информацию на сервер, сервер обрабатывает эту информацию и возвращает ответ, скрипт обрабатывает ответ.
    url - это адрес, куда скрипт отправляет информацию. Это не переменная, не php код, это адрес, содержащий тип протокола (http), адрес сервера (somesyte.com) и конкретный обработчик на сервере (somecode.php).
    Если вы хотите отправить на сервер информацию, то вы пишите серверный код:
    <?php
    return $_POST['var'];
    ?>

    И отправляете на него запрос в виде:
    $.post("http://somesyte.com/somescript.php", {var: 'hello'};

    Тогда скрипт отправит json var=hello по указанному адресу, php код на сервере его получит и сохранит в массив $_POST в ассоциативном виде $_POST[var]=hello. После чего вернет ответ, который скрипт может обрабатывать.
    Однако весь приведенный выше код нежизнеспособен, а почему - спросите у гугла. Все равно, не умея с ним общаться, вы не научитесь ничему и никогда, только добьетесь игнора сообщества, задавая вопросы типа: "а как мне написать html чтобы было хорошо php в js под windows на ARM через ajax?"
    Ответ написан
  • Операции присваивания: как?

    ZloyHobbit
    @ZloyHobbit
    Или так :
    <?php
    .....
    echo "url:" . $x;
    .....
    ?>

    От перемены мест слагаемых...
    Ответ написан
  • Какие книги или материалы стоит изучить для полного понимания программирования?

    ZloyHobbit
    @ZloyHobbit
    Г. Бог "Жизненный опыт"
    Ответ написан
    Комментировать
  • Как высчитывается такая математическая задача?

    ZloyHobbit
    @ZloyHobbit
    Я прям не знаю что сказать... а в школах сейчас чем заниматься модно?
    Ответ написан
    1 комментарий
  • Какой есть хороший скрипт расылки уведомлений?

    ZloyHobbit
    @ZloyHobbit
    Берем что-нибудь типа mailutils (просто первое что попалось что бы слать письма из скрипта) и пишем что-нибудь вроде:
    #!/bin/bash
    cat $1 | while read line
    do
      MAIL=${line%% *} #отрезаем от строки line все что после первого пробела включительно
      BODY=${line#* } #отрезаем все, что до первого пробела включительно
      echo $BODY | mail $MAIL
    done

    При помощи БАСГа можно усложнить скрипт, добавив в тему сообщения, адрес отправителя и.т.д. И, соответственно, сложнее кромсая строки.

    Ах да, скрипт сохраняется в script.sh, и запускается как:
    script.sh filename
    Где filename - имя файла с мэйлами и сообщениями
    Ответ написан
    4 комментария
  • Как реализовать однострочный оператор в php как на js?

    ZloyHobbit
    @ZloyHobbit
    Это называется тернанрый оператор, в php синтаксис аналогичен С:
    $action = <условие> ? <вариант1> : <Вариант2>;
    В вашем случае:
    $lol = ret ? ret : 0;
    А с версии 5.3 даже:
    $lol = ret ?: 0;
    Ответ написан
    3 комментария
  • Что будет, если наполненную водой металическую сферу быстро заморозить до -500?

    ZloyHobbit
    @ZloyHobbit
    Помню на семинаре по рукопашному бою кто-то задал тренеру вопрос: "Как правильно принимать идеальный удар?". Мне сразу представился абсолютно твердый кулак с массой близкой к бесконечности, движущийся со скоростью близкой к скорости света, и совершающий абсолютно неупругий контакт с челюстью... теоретически выкинутой в тепло энергии может хватить на уничтожение галактики.
    Ответ написан
    Комментировать