• В чём разница между конструктором и initialize методом в Ruby?

    omun
    @omun
    1. Руби не поддерживает методы с разными сигнатурами. Но вместо ошибки он просто принимает последнюю вычисленную. В вашем случае первый метод init затрётся вторым. Для примера поменяйте их местами и вызов A.new(1) вернёт ошибку о недостаточности аргументов.
    Корни этой проблемы тянутся из динамичности руби и отсутствия pattern matching.

    2. initialize нельзя назвать конструктором, потому что конструктором фактически является метод класса new. И вот в A.new всегда вызывается метод инстанса initialize, если он присутствует. Но это настолько незначительное замечание, что можно и initialize называть конструктором, ошибка на данном этапе не существена.

    По поводу нескольких конструкторов - вот вам шаблон:
    def initialize(*args)
      if args.length == 1
        #initialize method 1
      else
        #initialize method 2
      end
    end
    Ответ написан
    1 комментарий
  • Автоматическая проверка PHP кода

    toxicmt
    @toxicmt
    CTO at hexlet.io
    https://github.com/sebastianbergmann/php-hudson-template сбор всех инструментов в одном месте с интеграцией в сервер CI hudson. PHPunit можно отключить.
    Ответ написан
    Комментировать
  • VIM set encoding, fileencoding если файл в windows-1251

    @qnikst
    Возможно поможет (автоопределение utf-8 файлов)
    " {{{ Locale settings
    " if we have BOM => this is BOM
    if &fileencodings !~? "ucs-bom"
    	set fileencodings^=ucs-bom
    endif
    if &fileencodings !~? "utf-8"
    	let g:added_fenc_utf8 = 1
    	set fileencodings+=utf-8
    endif
    if &fileencodings !~? "default"
    	set fileencodins+=default
    endif
    " }}}

    определяемые кодировки
    set fileencodings=utf-8,cp1251,koi8-r,cp866


    Меню для быстрого выбора кодировки
    menu Encoding.koi8-r :e ++enc=koi8-r ++ff=unix<CR>
    menu Encoding.windows-1251 :e ++enc=cp1251 ++ff=dos<CR>
    menu Encoding.cp866 :e ++enc=cp866 ++ff=dos<CR>
    menu Encoding.utf-8 :e ++enc=utf8<CR>
    menu Encoding.koi8-u :e ++enc=koi8-u ++ff=unix<CR>
    
    map <F8> :emenu Encoding.<TAB>
    
    Ответ написан
    1 комментарий
  • Бекапы версий контента при создании статьи как реализовать? (PHP, MySql)?

    LIAL
    @LIAL
    Это сокорее фича системы а не PHP+MySQL (хотя думаю и из под них прикрутить можно.)
    У меня так сайт бэкапится + база:

    1. tar -cvzf /_mybackups/NAME_www.tgz /home/NAME/public_html /home/NAME/includes — те каталоги которые мне нужны сворачиваю в архив

    2. mysqldump -h localhost -u LOGIN PASSWORD -d DATABASE > /_mybackups/db_service.sql — снимаю дамп с базы

    3. tar -cvzf /_mybackups/db_service.tgz /_mybackups/db_service.sql — базу в архив

    4. rm /_mybackups/db_service.sql — удаляю дамп

    Таким образом на выходе архив с БД и с сайтом

    про кроны (Cron) погугли — там ничего сложного. А это есть моих 4 задания крон, которые ты сам ставишь с какой нужно периодичностью. при необходимости можешь делать версионирование по датам. прораммировать ничего не нужно — раз настроил и у тебя всегда есть архив с тем что нужно
    Ответ написан
    2 комментария