Задать вопрос
  • Что почитать C#-программисту чтобы быстро изучить ObjectPascal?

    2ord
    @2ord
    Lazarus - это среда, состоящая из визуальных и невизуальных компонентов. Нужно уметь пользоваться компонентами, расширять функциональность под свои нужды и писать свои. А можно вообще обходиться без единого компонента, используя IDE чисто как редактор кода.
    Без знания основный концепций не получится далеко продвинуться. Можно читать интернет статьи, и можно читать устаревшие печатные публикации.
    Для изучения языка я бы сделал упор на построение независимых модулей, которые можно было бы подключать позже в GUI.
    Нужно определиться для какой цели нужно изучать язык Object Pascal. Ведь можно писать как десктопные приложения, всякие системные и прикладные утилиты, так и веб-сервисы.
    Ответ написан
  • Как искать текст в куче файлов?

    2ord
    @2ord
    В Ubuntu 14.04 ищет русские слова:
    grep -r 'перевод' .
    ./config/locales/devise.ru.yml:# Русский перевод для https://github.com/plataformatec/devise/tree/v1.4.7
    ./config/locales/devise.ru.yml:# Другие переводы на http://github.com/plataformatec/devise/wiki/I18n

    Может, это особенность сборки grep в CentOS?
    Ответ написан
    Комментировать
  • Как сделать бекап и не уложить сервер?

    2ord
    @2ord
    Я думаю, что это связано с тем, что выполняется сжатие методом LZMA, которое имеет отличные характеристики сжатия, но сильно нагружает систему (особенно для плохо сжимаемых типов данных как JPG). Имеет смысл попробовать LZO, фокусирущийся на скорости сжатия, а не на качестве сжатия.
    --compression lzo
    Можно также попробовать поиграться с параметрами --cache-size, --threads.
    Однако стоит пробовать сначала применять их по отдельности, иначе не будет ясно какой параметр влияет, а какой - нет.
    Кстати, для JPG можно ещё поэкспериментировать с упаковщиком lepton (сжатие/расжатие без потерь).
    В целом, подобрать оптимальный способ сжатия можно исходя из природы данных.
    Ну и, наконец, самое напрашивающееся решение: использование выделенного вычислительного ресурса только для целей резервирования данных. Само собой, у него должен быть прямой доступ к данным.

    Добавлено
    В качестве решения инкрементальных резервных копий имеется
    zbackup-tar
    zbackup-tar is a very relaxed incremental tarring tool. Very relaxed means that the cost of tarring a file we don't need is very low (since it will be deduplicated) so we can tar files we don't strictly need, so long as we never miss tarring a file we do need.
    Ответ написан
    Комментировать
  • Какие есть дистрибутивы Linux с оптимизацией менеджера пакетов в сторону многопоточной загрузки?

    2ord
    @2ord
    Для Дебиан-подобных дистрибутивов стоит попробовать консольный пакетный менеджер cupt, который был написан по мотивам apt.
    Ответ написан
  • Как защищать авторские права на код?

    2ord
    @2ord
    Как минимум, необходимо хранить историю изменений кода в системе контроля версий (СКВ, англ. VCS) с указанием имени пользователя и эл. почты. Желательно также с цифровой подписью GPG.
    Держать хранилище СКВ можно как доступным публично, так и закрытым от публики.

    Я полагаю, что для доказательства прав на код необходимо доказывать что:
    1. код написан вами, а не другим
    2. код написан ранее других
    3. код написан в нерабочее время, чтобы работодатель не мог предъявить на него свои права
    Нужно понимать, что данный ответ не заменяет юридическую консультацию.
    Ответ написан
    7 комментариев
  • Какой софт может налету перепаковать файл ZIP, используя другую степень сжатия?

    2ord
    @2ord Автор вопроса
    Похоже, утилита AdvanceCOMP advzip выполняет то, что мне и нужно.
    advzip -z -3 test.zip
    -z, --recompress ARCHIVES...
    Recompress the specified archives. If the -1, -2, -3, -4 options are specified, it's used the smallest file choice from: the previous compressed data, the new compression and the uncompressed format. If the -0 option is specified the archive is always rewritten without any compression.
    ...
    -1, --shrink-fast
    Set the compression level to "fast" using the zlib compressor.
    -2, --shrink-normal
    Set the compression level to "normal" using the 7z compressor. This is the default level of compression.
    -3, --shrink-extra
    Set the compression level to "extra" using the 7z compressor. You can define the compressor iterations with the -i, --iter option.
    -4, --shrink-insane
    Set the compression level to "insane" using the zopfli compressor. You can define the compressor iterations with the -i, --iter option.
    Ответ написан
    Комментировать
  • Как сделать поиск по множеству?

    2ord
    @2ord
    Без циклов - это значит библиотечными средствами?
    stackoverflow.com/a/10366607
    Алгоритмы: Ахо-Корасик, КМП.
    Ответ написан
    Комментировать
  • Как открыть поврежденный zip файл?

    2ord
    @2ord
    Попробовать распаковать при помощи bsdtar. Ей не обязательно считывать центральный каталог с конца файла.
    Или так при помощи Info-zip:
    zip -FF Corrupted.zip --out New.zip
    unzip New.zip
    Ответ написан
    Комментировать
  • Почему формат .7z стал популярным?

    2ord
    @2ord
    Думаю, что помимо поддержки достаточного количества поддерживаемых популярных форматов сыграло на руку то, программа с открытой лицензией.
    Ответ написан
    Комментировать
  • Как построить гистограмму?

    2ord
    @2ord
    Найти максимальное и минимальное значения, рассчитать относительные значения в процентах, выводить каждый прямоугольник, умножая на процент экранную высоту прямоугольника, принятого за 100%.
    Если в консоли, то можно выводить символом "\u2592" или звёздочками, заполняя ими высоту каждого прямоугольника. Гистограмму можно строить горизонтально или вертикально.
    Ответ написан
    Комментировать
  • Как запретить рельсам коверкать unicode ссылки?

    2ord
    @2ord
    Есть лучшее решение: gem https://github.com/romiras/rails-translate-routes
    Gemfile:
    gem 'rails-translate-routes', git: "https://github.com/romiras/rails-translate-routes.git"

    позволяет хранить локализованные пути в файле config/locales/routes.yml
    en:
      routes:
        # you can leave empty locales, for example the default one
    es:
      routes:
        products: productos
        contact: contacto
        new: crear


    а сами пути в коде остаются ясными
    edit_product_es GET    /es/productos/:id/edit(.:format) {:action=>"edit", :controller=>"products"}

    Ответ написан
    3 комментария
  • Есть ли готовые решения или best practice для организации backup'ов с контролем версии?

    2ord
    @2ord
    Попробуйте ZBackup + rsync ( + s3fs для Amazon S3).
    tar -c /home | zbackup backup /my/backup/repo/backups/home-`date '+%Y-%m-%d'`.tar
    zbackup restore /my/backup/repo/backups/home-`date '+%Y-%m-%d'`.tar | tar -xf -

    Some filesystems (most notably ZFS and Btrfs) provide deduplication features. They do so only at block level though, without a sliding window, so they can not accomodate to arbitrary byte insertion/deletion in the middle of data.
    Ответ написан
    Комментировать
  • Как исправить запуск сервера Rails?

    2ord
    @2ord
    Добавить в Gemfile строку
    gem 'sqlite3'

    нужно проверить, установлен ли gem sqlite3 и сама dll.
    gem list sqlite3
    должен показать версию установленного gem.

    Можно проверять правильно ли установлено при помощи запуска
    ruby -rsqlite3 -e 'puts 1'
    Если не выводит 1, то, значит, проблема может быть в отсутствии dll.
    Можно также попробовать установить gem sqlite3-static.
    Перед запуском сервера Rails нужно проверять всё ли установлено при помощи
    bundle check.
    Ответ написан
  • Дизайн БД для сайта фильмо бд?

    2ord
    @2ord
    Из-за большого количества связей между сущностями (сильная связанность) придётся выполнять сложные запросы с несколькими JOIN, поэтому имеет смысл строить БД на основе графовых БД, таких как ArangoDB, Neo4j.
    arangodb-15-638.jpg?cb=1400798300
    Слайды:
    Neo4j Graph Database: Introduction and Simple Example
    ArangoDB – A different approach to NoSQL
    Ответ написан
    1 комментарий
  • Как извлечь или переконвертировать бекап в расширение .dar?

    2ord
    @2ord
    Для начала нужно убедиться, что это действительно dar.
    Файлы именуются обычно с расширением .1.dar, .2.dar, ...
    Имеет смысл проверить командой
    dar -t имя-без.1.dar
    Или онлайн в mark0.net/onlinetrid.aspx
    Если это точно он и не восстанавливается, то можно попробовать обратиться к автору, Denis Corbin (француз) через список рассылки (mailing list).

    Пользуюсь этим форматом регулярно.
    Ответ написан
  • Стоит ли бояться проблемы 2038 года и не использовать timestamp?

    2ord
    @2ord
    Зависит от того, на какой цикл поддержки идет расчет. Но я сомневаюсь, что веб-системы могут существовать так долго без апгрейда.
    Ответ написан
    Комментировать
  • Как сделать резервную копию БД при отсутствии места?

    2ord
    @2ord
    Попробуйте с дедупликацией данных при помощи ZBackup - великолепная утилита. С ней такой сценарий вполне возможен!

    mkdir ./zbackup-repo
    zbackup --non-encrypted init ./zbackup-repo
    mysqldump -u USER -p PASS MYDATABASE | zbackup backup ./zbackup-repo/backups/dump-`date +%F`.sql
    Ответ написан
    Комментировать
  • Как научиться делать обучающие курсы с помощью HTML?

    2ord
    @2ord
    Используя специальные редакторы кода, такие как Sublime Text, Atom, Avocode, нужно освоить набор базовых часто используемых элементов-тегов HTML (webref.ru в помощь).
    Для верстки HTML страниц настоятельно рекомендую воспользоваться так называемыми CSS-фреймворками. Например Semantic UI, ну или попсовый Twitter Bootstrap CSS. Из минимальных - Bass CSS.
    При помощи них можно получить красивое оформление страниц при минимальном участии. Без них всё будет выглядеть грубо и неэстетично.
    Ответ написан
    1 комментарий
  • Какую систему контроля версий можно использовать для работы с проектом в котором больше 200 файлов?

    2ord
    @2ord
    Сам занимался исследованием на эту тему.

    VCS (git, svn, hg, ...) тут вообще не в тему, поскольку типовые офисные документы (docx - это сжатый ZIP архив) не то же самое, что и исходный код текстового формата в кодировке UTF-8.
    Любое сохранение документов docx/odt порождает 100% новую версию, не имеющего общих частей файла между предыдущими.
    VCS - это геморрой при совместной работе с офисными документами между нетехническими лицами, однозначно. Выбирать VCS нужно только в случае, если идёт работа над простыми текстовыми файлами (открываются в Notepad), коими являются исходные тексты программного обеспечения.
    Есть ещё git-annex, оптимизированный для бинарных файлов, но это рассчитано на любителя командной строки.

    Облачные системы обычно хранения хранят несколько копий прежних версий файлов. Можно выполнить откат на предыдущие версии или восстановить удалённые. Делиться папками с другими можно при помощи функции Share.
    Используйте Dropbox или подобные хранилища: owncloud, например (мой выбор).
    Ответ написан
    3 комментария
  • Как cделать profile юзера + gem devise?

    2ord
    @2ord
    has_one :profiles
    Перевожу:
    имеет один профили

    И как связана тогда модель Profile к User?
    Ответ написан