• Как посчитать квадратный корень в терминале Linux?

    @Eddy_Em
    Вот полезный кусок из моего ~/.bashrc:
    function round(){ [ "$2" = "" ] && NUM=3 || NUM=$2; echo $1 | sed "s/\([[:digit:]]*\.[[:digit:]]\{,$NUM\}\).*/\1/"; }
    function sin(){ echo "scale=10; s($1*a(1)/45);" | bc -l; }
    function cos(){ echo "scale=10; c($1*a(1)/45);" | bc -l; }
    function tan(){ echo "scale=10; arg=$1*a(1)/45; s(arg)/c(arg);" | bc -l; }
    function logn(){ echo "scale=10; l($1);" | bc -l; }
    function log(){ echo "scale=10; l($1)/l(10);" | bc -l; }
    function pow(){ echo "scale=10; ($1)^($2);" | bc -l; }
    function sqrt(){ echo "scale=10; sqrt($1);" | bc -l; }
    function exp(){ echo "scale=10; e($1);" | bc -l; }
    function bin2hex(){ echo "obase=16;ibase=2;$1" | bc; }
    function bin2dec(){ echo "obase=10;ibase=2;$1" | bc; }
    function dec2hex(){ echo "obase=16;ibase=10;$1" | bc; }
    function lower(){ echo $1 | tr [:upper:] [:lower:]; }
    function upper(){ echo $1 | tr [:lower:] [:upper:]; }
    function hex2binary(){ echo "obase=2;ibase=16; $(upper $1)" | bc; }
    function hex2dec(){ echo "obase=10;ibase=16; $(upper $1)" | bc; }
    alias pi="echo 'scale=10; a(1)*4;' | bc -l"
    export PI=$(pi)
    Ответ написан
    1 комментарий
  • Как рассчитывать стоимость сайта?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    В общем все дело во времени.
    1. Прикидываем сколько хотим зп в месяц. Допустим это 100к
    2. В месяце в среднем 24 рабочих дня по 8 часов. Получаем примерно 520 руб./час
    3. Округляем до 600 руб/час
    4. Прикидываем часы на разработку сайта
    5. Умножаем на 600
    6. Накидываем 20-30% на непредвиденные обстоятельства.
    7. Вот и цена. Далее можно добавить еще некий коэффициент жадности. Скажем +10-100%) и всё
    Ответ написан
    5 комментариев
  • Какова роль интерфейсов в ООП?

    Приведу пример на коленке. Хотим, например, написать абстрактную файловую систему. Для начала, определим интерфейс, для ФС:

    interface FileSystemInterface {
      public function write($file, $data);
      public function read($file);
    }


    Затем, хочу реализацию интерфейса ФС для работы с файликами:

    class OSFileSystem implements FileSystemInterface {
      public function write($file, $data) {
         // открываем файлик, пишем данные
      }
    
      public function read($file) {
        // открываем файлик, возвращаем данные
      }
    }


    Вдруг, кому-то захотелось файловую систему в облаке. Окей, не проблема, реализуем это:
    class CloudFileSystem implements FileSystemInterface {
      public function write($file, $data) {
         // открываем соединение с облаком, пишем данные
      }
    
      public function read($file) {
        // открываем соединение с облаком, возвращаем данные
      }
    }

    Пусть у нас есть кой-то код, работающий с файловой системой, назовем его "Хранилище файлов". Пусть он выглядит примерно так:

    class FileStorage {
      protected $Fs;
      
      public function __construct(FileSystemInterface $Fs) {
        $this->Fs = $Fs;
      }  
    
      public function saveFile() {
        $this->Fs->write('file.txt', 'file data');
      }
    
      public function getFile() {
        return $this->Fs->read('file.txt', 'file data');
      }
    }


    Отлично! Теперь мы можем хранилищу файлов отдать любой объект с реализованным интерфейсом FileSystemInterface. Пример:

    // Хранилище файлов работает с файловой системой ОС:
    $FS = new OSFileSystem();
    $FileStorage = new FileStorage($Fs);
    $FileStorage->getFile();
    
    // Хранилище файлов работает с файловой системой в облаке:
    $FS = new CloudFileSystem();
    $FileStorage = new FileStorage($Fs);
    $FileStorage->getFile();


    Использование интерфейса, в данном случае. позволяет нам писать только реализацию работы файловой системы, а бизнес-логика, работающая с файловой системой никак не меняется, она знает, что в любом случае файловая система реализует интерфейс FileSystemInterface и может без опаски использовать методы этого интерфейса.
    Ответ написан
    14 комментариев
  • Что учить, не могу определиться!?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    идите постепенно, вещи вроде Angular и React намного проще изучить когда у вас уже есть определенный уровень в JS, а именно четкое понимание базовых концепций. А так это будет просто тыканье на месте и не продуктивно потраченное время.

    Берусь за jquery, json, sass,lessи ничего толком выучить не могу

    Учить JSON? бред. Осоздайте необходимость появления форматов типа JSON/XML/etc. Целенаправленно учить less/sass, то же не ок. Учите CSS (less/sass/postcss это лишь инструменты которые позволяют вам более грамотно организовать ваш код), и не в плане свойства/селекторы, а в плане подходов к верстке (БЭМ, MCSS и т.д.). Ну и да, заучите что такое DRY и почему вообще возникла необходимость в инструментах типа less/sass.

    ajax

    Не изучайте AJAX, изучайте HTTP. Тогда будет проще отделить реализацию от общей концепции. Хватит бездумно говорить "сделаю AJAX запрос", давайте говорить "сделаю HTTP запрос".

    короче направление простое - когда у вас будет более мение стабильный фундамент - то можно приступать к более высокоуровневым вещам.
    Ответ написан
    15 комментариев
  • Как найти хорошего разработчика?

    @Inv3go
    Определите приоритеты что вам нужно от проектов красота кода/скорость работы/возможность работы с big data/безопасность и т.д.
    От этого и зависит код и фреймворк, так как взависимости от того что вы попросите по приоритету, то вам в коде и сделают, и код для одной и той же задачи будет различаться из-за этих приоритетов.
    Тот же jquery выигрывает по скорости разработки и удоству работы в сравнении с просто javascript, но проигрывает в скорости.
    С языками, php выигрывает в скорости разработки на начальном этапе, простоте нахождения человека и его стоимости, но страдает безопасность и дальнейшая разработка с ростом проекта становится сложнее. А тот же ASP.NET даст проседание на начальном этапе, зато потом будет проще, безопасность у него повыше, но человека для этого найти посложнее и платить ему нужно будет больше. (Это мое мнение, с ним конечно же можно поспорить)
    Давая код на анализ вы человека не найдете, потому что вы не говорите что хотите от него, один думает о скорости, другой о безопаности и оба они правы.
    Красоту кода/количество строк(символов) тоже оценки не поддаются, потому что вы можете не задать правила написания (например что нельзя использовать лямбда выражения) и думать что человек вам пишет плохой код используя их.
    Описанные вами проекты по сути дела простые вещи, их сможет без особых приоритетов сделать практически любой кодер уровня ниже-среднего.
    Лично я считаю что лучше человека искать по другим качествам, по тому насколько подробно он пытается узнать от вас что вы хотите за проект, каким видите его дальнейшее будущее, а потом предлагает вам свое видение ваших слов. Потому что этап проектирования куда важнее чем написание кода, правильно спроектированный проект намного легче поддерживать и изменять, даже меняя разработчиков. Но и раз вы судя по всему ищите разработчика в одном лице (фрилансера), то важным параметром будет то как он ведет проекты и что вы от него хотите. Чтобы он каждую неделю вам давал небольшие порции сделанного или исчез на месяц и появился с готовым продуктом, тот кто скажет что сделает за неделю, а сам задержит на две, или того кто скажет что нужно 3 недели, а отдаст через две. Вообщем если вам нужен не чисто кодер, а именно разработчик, то код должен явно стоять не на первом месте при выборе человека.
    Ответ написан
    Комментировать
  • Как отследить jquery клик не по текущему элементу?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А Вы попробуйте поставить курсор на одну ячейку таблицы и не перемещая его кликнуть по другой. Как получится - пишите, будем думать дальше.
    Ответ написан
    Комментировать
  • Как быстро развернуть rails + nginx с помощью capistrano 3?

    @gayavat
    Ответ написан
    Комментировать
  • CMS или писать движок самому?

    @ivkol
    если хотите все сделать самостоятельно, то ориентируйтесь на минимум два года усиленного обучения.
    Ответ написан
    2 комментария
  • Как сверстать перекрывающие друг друга пункты меню?

    thewind
    @thewind
    php программист, front / backend developer
    используйте свойства CSS position:relative; margin-left:-XXpx; (отрицательное значение) у каждого. А у родителя сделайте отступ слева, внутренний через padding-left:XXpx;

    А для регулирования уровней (кто кого перекрывает) используйте свойство CSS z-index;
    Ответ написан
    2 комментария
  • Rails: можете посоветовать гемы для системы достижений?

    miraage
    @miraage
    Старый прогер
    Комментировать
  • Посоветуейте gem для уведомлений о событиях?

    @vsuhachev
    гляньте faye
    Ответ написан
    Комментировать
  • Ассоциации в полиморфных связях?

    @Renius
    дурак восторженный
    Вы нас или себя где-то обманываете.
    Руби очень хорошо отличает объекты разных классов. Редки те случаи когда Location:0x007fd2c9d37018 вдруг становится nil-ом.

    Однако, если вы рендерите коллекцию, то возможно в этой коллекции есть estate с location nil, который и вызывает ошибку.

    если вы используете конструкцию вроде
    real_estate.location.address if real_estate.location

    или
    real_estate.location.try(:address)
    то легко найдете искомый объект

    С другой сторы, чтобы такого не происходило, валидируйте
    validates :location, presence: true
    чтобы данные всегдабыли в валидном состоянии
    Ответ написан
    1 комментарий
  • Как извлечь информацию сайта в удобную таблицу?

    @throughtheether
    human after all
    Встречал ссылки на такое решение, но сам его не использовал (под мои задачи проще самому написать).
    Ответ написан
    2 комментария
  • С чего начать школьнику 16 лет?

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

    @vsadm
    Бессистемный архитектор
    Всегда сначала декодируйте URL, а затем снова кодируйте. Декодирование незакодированного URL-а — немодифицирующая операция, изменений не привнесет.
    Ответ написан
    Комментировать
  • Сервер с сайтом и хранилищем фотографий за месяц?

    Taraflex
    @Taraflex
    Ищу работу. Контакты в профиле.
    запустить на нём сайт компании (готовый)

    Зависит от того на чем он написан. Мне почему-то нравятся вот эти туторы
    https://www.digitalocean.com/community/tutorials
    Плюс разработать какое нибудь удобное и красиво хранилище высококачественных фотографий (или видео), и также разместить на этом сервере

    owncloud.org
    Ответ написан
    5 комментариев
  • Как вывести всех пользователей онлайн Ruby on Rails?

    kirillplatonov
    @kirillplatonov
    Ruby on Rails developer
    # app/controllers/application.rb
    after_action :user_activity
    
    private
    
    def user_activity
      current_user.try :touch
    end

    # app/models/user.rb
    ONLINE_PERIOD = 5.minutes
    
    scope :online, -> { where('updated_at > ?', ONLINE_PERIOD.ago) }
    
    def online?
      updated_at > ONLINE_PERIOD.ago
    end

    Использование:
    User.online # все пользователи онлайн
    Ответ написан
    2 комментария