Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Wi-Fi 6, пришло твоё время
Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
Assargin

Anton Kuzmichev

Перед ответом смотрю наличие ✔ в ваших вопросах
  • 107
    вклад
  • 8
    вопросов
  • 122
    ответа
  • 49%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как в Docker Compose организовать шаринг файлов между контейнерами?

    Assargin
    Anton Kuzmichev @Assargin
    dm-kotlyar, ну, контейнер docker в итоге нужен для запуска процесса. Нет процесса - не нужен и контейнер, ведь запускать по сути нечего. Это если я правильно понимаю, что один jar может использовать другой, как в винде исполняемый exe подключает библиотеки dll. Второй jar тогда просто как файл в один контейнер добавить, вместе с первым. И пусть использует его, как хочет.
    Между контейнерами в docker, насколько я знаю, предусмотрено только сетевое взаимодействие. Это значит, что если вам позарез надо 2 контейнера, то jar2 надо реализовывать как сервер с API, с помощью которого его будет пользовать jar1 по сети. Каждый тогда может располагаться в своём контейнере.
    Написано более трёх лет назад
  • Как в Docker Compose организовать шаринг файлов между контейнерами?

    Assargin
    Anton Kuzmichev @Assargin
    А второй jar запускать отдельно вообще не требуется? Он нужен только для того, чтобы им пользовался первый jar?
    Написано более трёх лет назад
  • Почему не работает API Falcon?

    Assargin
    Anton Kuzmichev @Assargin
    verdex, сделал в отдельном venv'е на py3 всё как вы написали, всё работает.
    Ubuntu, python 3.5.2, virtualenv 15.0.3,
    $ pip freeze
    falcon==1.3.0
    gunicorn==19.7.1
    python-mimeparse==1.6.0
    six==1.11.0

    $ cat test.py 
    import falcon
    import json
    
    
    class MainResource:
        def on_get(self, req, resp):
            resp.media = json.dumps({'status': 'success'})
    
    api = falcon.API()
    api.add_route('/', MainResource())

    $ gunicorn test:api
    [2017-09-18 13:37:59 +0300] [11615] [INFO] Starting gunicorn 19.7.1
    [2017-09-18 13:37:59 +0300] [11615] [INFO] Listening at: http://127.0.0.1:8000 (11615)
    [2017-09-18 13:37:59 +0300] [11615] [INFO] Using worker: sync
    [2017-09-18 13:37:59 +0300] [11618] [INFO] Booting worker with pid: 11618

    $  curl 127.0.0.1:8000
    "{\"status\": \"success\"}"
    Написано более трёх лет назад
  • Почему не работает API Falcon?

    Assargin
    Anton Kuzmichev @Assargin
    С чего вы взяли, что у вас сервер запущен на порту 8000? Дефолт falcon / gunicorn?
    Написано более трёх лет назад
  • Python Как открыть файл не с компьютера в бинарном режиме?

    Assargin
    Anton Kuzmichev @Assargin
    Алексей Полоз, посмотрите здеся, как делают: kyle.gorak.us/2015/12/28/bytes-image-upload

    UPD
    И ещё, для справки:
    без загрузки его на компьютер

    Вы, наверно, имели ввиду, "без сохранения его локально", потому что это ваше требование реализовать невозможно - всё равно файл будет загружен как минимум в память при выполнении запроса к нему и взятия содержимого в переменную.
    Написано более трёх лет назад
  • Как построить приоритетную очередь на подобии weighted round robin?

    Assargin
    Anton Kuzmichev @Assargin
    LINKeR UA, вот да, тоже я обратил внимание, когда проверял. Недостаток того алгоритма - не совсем уж и round robin получается, из-за того, что там генератор случайных чисел используется. Понимаю, что гораздо адекватнее - с вашими последними весами - это когда А выбирается строго каждый второй раз (50 из 100)
    Написано более трёх лет назад
  • Как построить приоритетную очередь на подобии weighted round robin?

    Assargin
    Anton Kuzmichev @Assargin
    Нашёл рабочую имплементацию WRR на Python 2
    Тест для ваших весов балансировки
    $ python2 example.py 
    Choose for 0 is s03
    Choose for 1 is s05
    Choose for 2 is s02
    Choose for 3 is s03
    Choose for 4 is s04
    Choose for 5 is s05
    Choose for 6 is s02
    Choose for 7 is s03
    Choose for 8 is s04
    Choose for 9 is s05
    Choose for 10 is s01
    Choose for 11 is s02
    Choose for 12 is s03
    Choose for 13 is s04
    Choose for 14 is s05
    Choose for 15 is s01
    Choose for 16 is s02
    Choose for 17 is s03
    Choose for 18 is s04
    Choose for 19 is s05
    Choose for 20 is s03
    Choose for 21 is s05
    Choose for 22 is s02
    Choose for 23 is s03
    Choose for 24 is s04
    Choose for 25 is s05
    Choose for 26 is s02
    Choose for 27 is s03
    Choose for 28 is s04
    Choose for 29 is s05
    Choose for 30 is s01
    Choose for 31 is s02
    Choose for 32 is s03
    Choose for 33 is s04
    Choose for 34 is s05
    Choose for 35 is s01
    Choose for 36 is s02
    Choose for 37 is s03
    Choose for 38 is s04
    Choose for 39 is s05
    Choose for 40 is s03
    Choose for 41 is s05
    Choose for 42 is s02
    Choose for 43 is s03
    Choose for 44 is s04
    Choose for 45 is s05
    Choose for 46 is s02
    Choose for 47 is s03
    Choose for 48 is s04
    Choose for 49 is s05
    Choose for 50 is s01
    Choose for 51 is s02
    Choose for 52 is s03
    Choose for 53 is s04
    Choose for 54 is s05
    Choose for 55 is s01
    Choose for 56 is s02
    Choose for 57 is s03
    Choose for 58 is s04
    Choose for 59 is s05
    Choose for 60 is s03
    Choose for 61 is s05
    Choose for 62 is s02
    Choose for 63 is s03
    Choose for 64 is s04
    Choose for 65 is s05
    Choose for 66 is s02
    Choose for 67 is s03
    Choose for 68 is s04
    Choose for 69 is s05
    Choose for 70 is s01
    Choose for 71 is s02
    Choose for 72 is s03
    Choose for 73 is s04
    Choose for 74 is s05
    Choose for 75 is s01
    Choose for 76 is s02
    Choose for 77 is s03
    Choose for 78 is s04
    Choose for 79 is s05
    Choose for 80 is s03
    Choose for 81 is s05
    Choose for 82 is s02
    Choose for 83 is s03
    Choose for 84 is s04
    Choose for 85 is s05
    Choose for 86 is s02
    Choose for 87 is s03
    Choose for 88 is s04
    Choose for 89 is s05
    Choose for 90 is s01
    Choose for 91 is s02
    Choose for 92 is s03
    Choose for 93 is s04
    Choose for 94 is s05
    Choose for 95 is s01
    Choose for 96 is s02
    Choose for 97 is s03
    Choose for 98 is s04
    Choose for 99 is s05
    s01: 10 counts
    s02: 20 counts
    s03: 25 counts
    s04: 20 counts
    s05: 25 counts
    ('s01', 10): 10 counts
    ('s05', 25): 25 counts
    ('s04', 20): 20 counts
    ('s03', 25): 25 counts
    ('s02', 20): 20 counts
    Написано более трёх лет назад
  • Как сделать пагинацию внутри новости Django?

    Assargin
    Anton Kuzmichev @Assargin
    https://gist.github.com/dokterbob/1004216
    Написано более трёх лет назад
  • Выбор версии питона?

    Assargin
    Anton Kuzmichev @Assargin
    Не парьтесь насчёт 2.7, главное - освоите сам язык, а различия в синтаксисе, видах строк, и прочих мелочах, для которых имеется модуль six и его аналоги - фигня.
    Знания py2 пока ещё актуальны - очень много библиотек написаны под двойку и не портированы на тройку. Также всё ещё имеется немало компаний, разрабатывающих на py2.
    UPD:
    Но перспектива, конечно же, за py3, ведь поддержка и выпуск новых версий py2 закончится через несколько лет. Акцент в моём комменте сделан на то, что нет ничего плохого в том, чтобы иногда прибегать к работе с py2
    Написано более трёх лет назад
  • Update gitlab in Docker?

    Assargin
    Anton Kuzmichev @Assargin
    Как вы решили вопрос?
    С месяц назад установил 9.5.3, затем вышло обновление 9.5.4
    Я просто потушил контейнер, обновил образ и запустил контейнер на основе нового образа, с теми же параметрами. Прошло всё хорошо, но опыт, как видите, маленький, и хотелось уточнить вот что: я правильно понимаю, что гитлаб при запуске контейнера выполняет нужные миграции со своими настройками/данными, и не нужно беспокоиться за их целостность?
    P.S.: бэкапы, конечно же, перед обновлениями и периодически делаю.
    Написано более трёх лет назад
  • Docker и gitlab-ci: стратегия?

    Assargin
    Anton Kuzmichev @Assargin
    Здравствуйте! Вы в итоге подружили gitlab ci + docker + kubernetes?
    Написано более трёх лет назад
  • Как подобрать примитивный парсер?

    Assargin
    Anton Kuzmichev @Assargin
    которая очень похожа на ожидаемую входную

    Вообще, судя по примеру строки, вам нужен обычный html-парсер, которые обычно весьма толерантны к допускаемым ошибкам в разметке.
    Написано более трёх лет назад
  • Что еще добавить в юнит тест для функции сортировки?

    Assargin
    Anton Kuzmichev @Assargin
    NogerbekNurzhan, честно говоря, не могу понять. А данные после выполнения self.client.post в тестовой БД точно меняются?
    content_type='application/json; charset= utf-8',
    Кодировку, в принципе, можно и не указывать.
    Написано более трёх лет назад
  • Какой ЯП выгодно изучить в дополнение к PHP?

    Assargin
    Anton Kuzmichev @Assargin
    Когда-то мне крайне повезло: в фирме, где я работал, разработка велась на PHP, на тот момент меня это более чем устраивало. Потом верхами было принято решение перейти на Python. Первые 1-2 месяца всем отделом учились, потом начали понемногу переписывать имеющиеся проекты. В итоге и переквалифицировались, и с реальным коммерческим опытом.
    Написано более трёх лет назад
  • Что еще добавить в юнит тест для функции сортировки?

    Assargin
    Anton Kuzmichev @Assargin
    NogerbekNurzhan, вы запросили объекты из БД, а после вашего post-запроса данные же поменялись. Вам нужно перезапросить данные из БД, как-то вроде:
    first_article.refresh_from_db()
    second_article.refresh_from_db()
    third_article.refresh_from_db()
    self.assertEquals(first_article.idx, 2)  <-- вот теперь норм должно быть
    self.assertEquals(second_article.idx, 0)
    self.assertEquals(third_article.idx, 1)
    Написано более трёх лет назад
  • Почему возникает ошибка?

    Assargin
    Anton Kuzmichev @Assargin
    Вы работаете на секретном режимном предприятии? Почему нельзя предоставить больше кода, например того, в котором открывается файл сonfig? И весь стектрейс ошибки?
    newcontent[] = string.replace('\n' , '') # записываем строки без символа переноса строки в новый список

    Это не php, добавление в список пустыми квадратными скобками не будет работать.
    Написано более трёх лет назад
  • Что еще добавить в юнит тест для функции сортировки?

    Assargin
    Anton Kuzmichev @Assargin
    NogerbekNurzhan, вот документация к Client
    Например:
    import json
    ...
    test_data = {1: idx1, 2: idx2, ...}  # данные в нужном формате для передаче вьюхе
    response = self.client.post(
        reverse("article:article_sorting"),
        json.dumps(test_data),
        content_type='application/json',
        follow=True
    )
    Написано более трёх лет назад
  • В чем ошибка при внесении данных в разметку?

    Assargin
    Anton Kuzmichev @Assargin
    Aviator1989, самая лучшая благодарность - отметка ответа или ответов, которые помогли, решениями. Стимулирует :)
    Написано более трёх лет назад
  • Как исправить ошибку inconsistent use of tabs and spaces in indentation?

    Assargin
    Anton Kuzmichev @Assargin
    У вас для отступов одновременно используются и символы табуляции, и пробелы. Не надо так.
    Оставьте в проекте символы только одного вида.
    Чтобы найти, где у вас используются не те символы, настройте свой текстовый редактор или IDE, чтобы он показывал непечатные символы. Если редактор так не умеет - задумайтесь о его замене.
    Написано более трёх лет назад
  • Как при помощи @property получить @property.property?

    Assargin
    Anton Kuzmichev @Assargin
    Владислав Поляков, как в итоге реализовали?
    Написано более трёх лет назад
  • ← Предыдущие
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • Следующие →
Самые активные сегодня
  • Василий Банников
    • 14 ответов
    • 0 вопросов
  • solidcreature
    Николай Миронов
    • 10 ответов
    • 0 вопросов
  • bestowhope
    Евгений Голубев
    • 9 ответов
    • 0 вопросов
  • Dr. Bacon
    • 8 ответов
    • 0 вопросов
  • Jump
    АртемЪ
    • 8 ответов
    • 0 вопросов
  • hello_my_name_is_dany
    • 8 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации