Задать вопрос
  • Где задается переменная ENV["RAILS_MAX_THREADS"]?

    bogdan_uman
    @bogdan_uman Автор вопроса
    шлЫмазл неукЪ-поцЪ
    Отвечу сам себе :)
    Все решилось через foreman и файл ".env" в котором можно задавать переменные среды используемые в Rails
    RAILS_MAX_THREADS=100
    WEB_CONCURRENCY=2
    Ответ написан
    4 комментария
  • Как разобрать файлы типа docx, doc?

    @ralaton121
    Есть специальные библиотеки для работы с ними.
    Для разных языков программирования
    Ответ написан
    Комментировать
  • Какой первый Linux-дистрибутив поставить?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Самый лучший ответ дал Данил Бирюков-Романов Иши того, кто будет отвечать на вопросы - и ставь то, что стоит у него. Не, рекомендации можно дать даже если рядом на сто километров нет никого. И может быть они даже помогут.

    Итак, если гуру рядом нет или он бурчит что-то типа "читай маны, ламер" (кстати, вполне неплохой совет)

    - Крайне необходимо умение и желание самому искать и находить ответы на вопросы. Оно конечно не лишне и в винде, но в линухе оно просто аще как необходимо - многие обсуждения в итоге вырождаются к "твой пингвин - ты и трахайся"...
    - Терпение, аккуратность и отсутствие желания запустить в монитор ботинком, когда в четвертый раз переставляешь систему и все равно ни хрена не получается
    - Знание английского на уровне чтения технической литературы - а читать придется и еще как
    - Знание С/C++ или подобного языка программирования здорово облегчит жизнь

    Дистрибы бывают пакетные и source-based (еще бывают с systemd и без оного, но Вам сейчас это не актуально).

    Пакетные дистрибы - их большинство. Программы в них распространяются пакетами - как в винде msi. Установкой и удалением пакетов занимается менеджер пакетов - специальная программа (аналог оснастки "Программы и компоненты"). У разных дистрибов свои форматы пакетов и свои программы. Широко известных форматов два - RPM и DEB. Как правило, менеджеры пакетов отслеживают зависимости (в линухе нет привычки пихать в каждый дистриб все необходимые компоненты, вместо этого устанавливается пакет, содержащий нужный компонент), устанавливают и удаляют их сами. Сами же обновляют пакеты при выходе новых версий. Чем популярнее дистриб, тем больше под него пакетов. В качестве первого дистриба я бы посоветовал пакетный дистриб.
    Source-based дистрибы рассчитаны на то, что все программы собираются на целевом компе из исходников, а распространяются только описания как собрать - сценарии (порты, портеджи etc). Здесь тоже отслеживают зависимости и все такое, только обычно это ложится на установщика программ. Достоинства - запустив source-based дистриб, с любым пакетным справляешься на ура. Недостатки - ооооочень высокий порог вхождения, оооочень много времени и терпения нужно, чтобы не кинуть в монитор тапком. Новичку я бы не советовал source-based - а то на самом деле знакомство закончится, не начавшись
    Ответ написан
    1 комментарий
  • Как запустить два веб-сервера на NodeJS на одном порте?

    amorphis
    @amorphis
    Технолог в Студии Артемия Лебедева
    Запускаете nodejs приложения на разных портах, а перед ними на 80м порту ставите nginx, который уже будет в зависимости от домена определять в какое-из приложений отправить запрос.
    Ответ написан
    3 комментария
  • Какие альтернативы есть для rabbitmq?

    devspec
    @devspec
    Помогло? Отметь решением
    Не вижу связи между MQ и кроном - MQ это способ связи между клиентом и сервером.
    RabbitMQ на данный момент весьма актуальна (последний релиз от 25 мая) - не представляю, куда уж "посвежее".
    Ответ написан
    Комментировать
  • Что делать если команда говнокодит?

    Мы стараемся не запускать эту проблему посредством code review, пытаясь распределить нагрузку по ревью между наиболее опытными участниками. Если в коде есть проблемы - тикет возвращается на доработку с замечаниями. Даже если банально не мержится с главной веткой. Попробуйте наладить этот процесс.

    Также мы всё собираемся настроить Continuous Integration. Jenkins может прогонять по коду проверку на соблюдение стандартов и покрытие тестами, а затем показывать результаты в красивом виде. Если чей-то коммит показывает более чем N ошибок в расчёте на единицу объёма кода - можно возвращать на исправление.

    Прямо уж откровенной копипасты и лапши у нас вроде бы нет почти. Мы стараемся избегать её, придумывать декларативные абстракции во всех случаях, где много тупого императивного кода, писать в функциональном стиле. Я думаю, что необходимы постоянные целенаправленные усилия в этом направлении, чтоб не допускать засилья энтропии.

    Ещё пара идей.
    • можно отправить разработчиков на какой-нибудь онлайн-курс по чистому коду, хотя я таких даже не знаю, но наверняка должны быть
    • или устраивать "хакатоны чистого кода", на коих команда разбивается на пары-тройки, каждая из коих пишет какую-нибудь маленькую, но полезную, а главное чистую и оттестированную штуковину, причём тема - по собственному выбору. Потраченное время - оплачиваемое, разумеется. Это уже зависит от руководства фирмы, согласится ли оно на такие развлечения.


    Мне думается, что чистота и красота кода должны быть пунктами культуры в команде разработчиков, ценностями, если угодно. Нужно не только ругать за ошибки, но и не забывать похвалить товарища за красивое решение, за хороший код, за внимательность.

    Ну и важно, чтобы у самих разработчиков была установка на хороший код, профессиональная гордость. У фрилансеров её, бывает, нет, а есть отношение "тяп-ляп, лишь бы работало и лишь бы часы оплатили, а там хоть потоп". Учитывая, что их заказчики занимаются code review нечасто, развитие такого отношения закономерно. Но всё-таки хочется писать красивые программы. Такое желание обязано быть.

    Я, конечно, сам не волшебник, я только учусь, и работа с командой - такая штука, которой надо постоянно учиться. Видимо, вы тоже учитесь; успехов в этом.
    Ответ написан
    2 комментария
  • Как исполнить Go - код на PHP?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    типа загрузка файлов на сервер, работа с БД и может еще что ни будь

    А на php только echo останется видимо?
    если вы это на php нормально не можете сделать, стоит ли на GO пытаться?

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

    Загрузка файлов и работа с базой это не тяжелые задачи, тем более для php.
    Обработка файлов после загрузки да, может быть тяжелой и долгой, но это очень редко: видео, большой импорт/экспорт данных.
    Да только они тоже решаются на php, просто черед очередь задач, а не во время выполнения запроса отпользователя.

    В общем исходя из того что написано: или у вас говнокод или вы что-то нафантазировали несуществующее, и GO вас ниак не спасёт пока не разберетесь что конкретно вам надо сделать/исправить.
    Ответ написан
    Комментировать
  • Как пишутся консольные псевдографические приложения?

    @dinegnet
    Кроме уже сказанного - а еще есть различные ренкарнации TurboVision
    в том числе и для Java
    https://github.com/klamonte/jexer
    Ответ написан
    Комментировать
  • Какую файловую систему лучше использовать для Windows и Linux?

    chupasaurus
    @chupasaurus
    Сею рефлекторное, злое, временное
    Вариантов целых 1: NTFS, поскольку под ext*,btrfs и другие нормальных драйверов под Win нет, а вот ntfs-3g вполне ничего.
    FAT не рассматривается по причине отсталости.
    Ответ написан
    2 комментария
  • Как быстро можно освоить Bash?

    nicosha
    @nicosha
    VOIP Developer, DEVOps
    Комментировать
  • Ошибка при tar-backup живой linux-машины?

    3vi1_0n3
    @3vi1_0n3
    Для резервного копирования целых разделов я бы лучше предложил dump/restore
    Ответ написан
  • Как лучше сделать закрытое REST API?

    al_gon
    @al_gon
    Ответ написан
    Комментировать
  • Какую базу выбрать под большое кол-во данных?

    devspec
    @devspec
    Помогло? Отметь решением
    Postgresql с вероятностью 99% потянет, что бы вы там ни напридумывали
    Ответ написан
    Комментировать
  • Какую базу выбрать под большое кол-во данных?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Скорость выборки во многом зависит от схемы базы данных и самих запросов для выборки. При правильной сегментации и разделении данных - можно добиться значительного прироста скорости.
    Например, "нарезать колбаску": можно хранить отдельно сегментированную сводную статистику по определённым выборкам за минимальный временной период, чтобы сразу брать эти данные и присоединять к выборке за незавершённый (текущий) период или перемещаться по истории без потери скорости при изменении диапазона дат во время выборки.
    И т.д.

    База: mysql 5.7 (лимиты)
    Максимальный лимит на размер таблицы MyISAM: 65 536 TB (на первое время должно хватить :)) )
    Ответ написан
    Комментировать
  • Как правильно хранить статистику?

    @entermix
    Ответ написан
    Комментировать
  • Как кешировать динамические изображеия с помощью PHP?

    opium
    @opium
    Просто люблю качественно работать
    Просто подождите на диск все само закешируется это же статика
    Ответ написан
    2 комментария
  • Как проводилась атака (вирус WCry)?

    Ahen
    @Ahen
    Универсальный дилетант
    https://geektimes.ru/post/289115/

    Тут вам и видео, и фото, и как воспользоваться, и как защититься. Бонусом пол тыщи комментариев.
    Ответ написан
  • Как узнать кодировку зашифрованного изображения и корректная ли она?

    15432
    @15432
    Системный программист ^_^
    Обычное шестнадцатеричное представление файла.
    Просто байты, написанные текстом.
    Вот эти FF D8 FF ... перевести в данные вам надо. (ну или это логер так их печатает, а на самом деле оно и так в нужном виде)
    FF D8 это точно начало заголовка JPG.
    Ответ написан
    5 комментариев
  • Какое средство резервного копирования для Ubuntu лучше всего?

    @immaculate
    Программист-путешественник
    Я использую утилиту duplicity уже около 6 лет. Причем как для резервного копирования своего ноутбука, так и для копирования серверов, которые поддерживаю и администрирую.

    Она простая, запускается из командной строки, поддерживает шифрование (GPG), бэкапы в определенную папку, на S3, ftp, и т.д. и т.п. Инкрементальное копирование с полным через определенные интервалы, разбиение копий на тома заданного размера.

    Настоящий комбайн, при том достаточно простой. Например, вот часть моего скрипта для бэкапа ноута:
    duplicity \
        --full-if-older-than 3M \
        --volsize 150 \
        --exclude='**/*.pyc' \
        --exclude='**/firefox/*/cache2' \
        --exclude='**/lib/python2.7' \
        --exclude='**/.thumbnails' \
        --exclude='**/.virtualenvs' \
        --exclude='**/.virtualenv' \
        --exclude='**/thumbnails' \
        --exclude='**/.xsession-errors*' \
        --exclude='**/.PyCharm*' \
        --exclude=/home/jmv/.Private \
        --exclude=/home/jmv/.ecryptfs \
        --exclude=/home/jmv/.cache \
        --exclude=/home/jmv/.macromedia \
        --exclude=/home/jmv/.adobe \
        --exclude=/home/jmv/.nvm \
        --exclude=/home/jmv/.local/share/zeitgeist \
        --include=/etc \
        --include=/home/jmv \
        --exclude='**' \
        / $DEST
    
    duplicity remove-older-than 12M --force $DEST
    Ответ написан
    11 комментариев