• Telegram API, как получать ID отправленного сообщения?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Заходите в документацию метода sendMessage.

    Читаете там строку:
    Use this method to send text messages. On success, the sent Message is returned.

    Переводите её в переводчике, понимаете, что она значит и переходите к объекту Message, где есть поле:
    message_id Integer Unique message identifier inside this chat
    Ответ написан
    1 комментарий
  • Redmine роль для каждого трекера?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Если redmine не самой распоследней версии, то может помочь плагин extended watchers
    Глобальность наблюдателей - это бич redmine, он рушит нафиг всю систему прав
    Ответ написан
    2 комментария
  • Как получить публичный доступ к вложениям задачи в redmine?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    файлы - на внешнее хранилище, в редмайн - ссылки
    Ответ написан
    Комментировать
  • Как решить проблему с получением уведомлений с Redmine?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    В почте вообще-то есть уведомление о новых письмах :)
    Ответ написан
    4 комментария
  • Что выбрать: Syncthing vs nextCloud vs Seafile vs OwnCloud vs Другой сервис?

    @Vallefor
    На днях пробовал ownCloud, NextCloud и Seafile.
    ownCloud / Nextcloud:
    Серверная часть написана на PHP + БД (точно умеет работать с mysql и sqlite).
    Для фронтенда обязательно иметь Apache2+php или nginx+php.
    Без настройки redis в помощь - тормозной просто до невозможности. С redis все становится на много лучше. Все операции по сканированию и проверке идут через крон, который по умолчанию запускается раз в 15 минут (кстати, при установке серверной части - не предупреждают о том, что это нужно сделать).

    Все клиенты работают через WebDAV это просто супер-минус:
    Так как при синхронизации клиент сканирует по очереди все серверные папки, отправляя кучу запросов. Каждый файл при загрузке отправляется тоже отдельным запросом со всеми накладными расходами - в результате куча маленьких файлов синхронизируется просто невыносимо долго (10гб мелких файлов на сервер с 1Гбит линком может отправляться 10-20часов). Все это, в случае краша просто останавливается.
    А крашнуться может по разным причинам (перечислю то, что было у нас):
    • При загрузке больших файлов может отвалиться и nginx и php-fpm. Почему они не загружает их по умолчанию частями - это странно. При том, что вебдав это поддерживает.
    • php-fpm может крашуться, если придется отдать очень много файлов в одной папке (так и не получилось вылечить).
    • Крашится из-за ограничений линукс (255 байт на имя файла) - например, на маке файлы могут иметь более длинное имя.
    • От монтирование того же самого WebDAV в finder MacOS можно сразу отказаться, работает очень медленно и нестабильно. При этом при монтировании через Cloudmounter все ок. В Linux с монтированием тоже все ок.


    После каждого краша синхронизатор просто останавливается. Через какое-то время перезапускается, опять доходит до ошибки и опять останавливается. Я конечно понимаю, если нужно каждому юзеру выделить 1-5 гб места, то наверное все ок, но когда дизайнерам надо засинхронизировать 200Гб макетов и программистам по 5-20гб мелких файлов, то это решение можно смело обойти стороной.

    Единственный плюс owncloud/nextcloud это то, что он файлы хранит файлами.

    Интересно то, что не смотря на то, что вроде вся опенсорс тусовка ушла в nextcloud, в owncloud сейчас есть и виртуальная ФС и diff синхронизация, чего все еще нет в nextcloud.

    Seafile
    Разработчики говорят, что ядро сервера написано на C и оно очень быстрое. Остальное похоже написано на питоне. В качестве БД использует MySQL или sqlite.
    Для фронтенда можно использовать apache2 или nginx. А можно подсоединяться по IP.

    Первый день тестируем. Пока вообще все на столько хорошо, что даже не верится. 10Гб мелких файлов засинхронизировал вообще без всяких вопросов и ошибок менее чем за 1 час.

    Файлы хранятся в какой-то собственной структуре, это минус, но есть утилита seaf-fsck, которая, в случае беды может экспортнуть все файлы. Не получится так сделать только с зашифрованными библиотеками. Но никто не мешает настроить резервирование базы и данных на отдельное хранилище или по крайней мере хранить все на райд-массивах, чтоб обезопасить себя.

    Остановимся пока на Seafile. Скорость и глючность Nextcloud/owncloud своlит все его плюсы на нет.
    Ответ написан
    Комментировать
  • Кому принадлежит исходный код приложения созданного фрилансером на UpWork?

    @stratosmi
    В США - результат принадлежит заказчику вместе со всеми потрохами.
    В РФ - если заказчик не удосужился оформить как следует, принадлежит исполнителю и он может продать это еще и еще раз.

    Что касается исходников - надо оговаривать. Это вообще не проблема. Только ваше слово - этого достаточно.
    Но они, как правило, исполнителю эксклюзивно не нужны после оплаты заказчиком.

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

    То есть что бы не случится - заказчик всегда получит код со всеми изменениями.
    Другое дело а что он будет делать с этой тонной кода, если сам не специалист.

    Найм другого специалиста - выход так себе. Разбираться в чужом коде - в 3 раза дороже стоит.
    Ответ написан
    2 комментария
  • Кому принадлежит исходный код приложения созданного фрилансером на UpWork?

    zo0m
    @zo0m
    full stack developer
    Создаёте приватный репозиторий на bitbucket
    Добавляете туда исполнителя
    Все изменения в коде должны фиксироваться там начиная со старта проекта
    (любой нормальный программист обязан уметь пользоваться системой контроля версий, и объяснять ему не нужно)

    В будущем, если вы захотите расширить команду, нанять в помощь ещё человека, вам всего лишь нужно будет дать ему доступ к этому же репозиторию. И не будет проблем в духе "сдох диск и всё потерялось".

    Более того, на битбакет есть раздел issues, там можно создавать отдельные задачи. И трекать их исполнение, т.е. например задача: "добавить кнопку логин на главную", исполнитель, когда её будет закрывать - укажет номер коммита (и в идеале ветки), где эта задача выполнена, сразу со ссылкой на него.
    И мини вики, где удобно хранить базу знаний по проекту.

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

    @MdaUZH Автор вопроса
    [1-9]{1}$|^[1-9]{1}[0-9]{1}$|^100
    Ответ написан
    Комментировать
  • Как отменить git reset --hard ???

    @Chalovik Автор вопроса
    Вроде бы нашел решение, помогла команда git reset --hard HEAD@{1}
    Ответ написан
    3 комментария
  • Как перенести Win7 средствами linux на диск, где уже смонтирован раздел /home?

    Frankenstine
    @Frankenstine
    Сисадмин
    Если вы будете переливать весь диск (/dev/sda на /dev/sdb) то конечно же похерите таблицу разделов целевого винта. Если переливать один раздел (/dev/sda1 на /dev/sdb1) - никаких проблем не возникнет, убедитесь только что размер разделов совпадает ну или хотя бы целевой не меньше источника.
    Ответ написан
    2 комментария