Задать вопрос
  • Взаимодействие приложения такси с сервером в реальном времени, какие протоколы и технологии использовать?

    @Zanak
    Видел. Когда я запускаю программу такси, меня интересует время ожидания, количество мест, если нас больше чем один и опции, вроде детского кресла, оценка, если она совсем в районе плинтуса. Остальное мало важно.
    Я больше про то, что каждое твое желание имеет свою цену в ресурсах.
    Например, ты хочешь каждую секунду знать, где находится конкретная машина, независимо от того, везет водитель клиента, стоит в пробке, пошел в кафе покушать или просто спит - я уточняю, зачем это нужно. Все варианты нужно отслеживать и адекватно на них реагировать, а их, даже в общении с водителями может быть масса, кмк. Не проще разделить логику работы с водителем и клиентом? Водитель видит все заказы с ранжиром по расстоянию/времени от его текущего места, клиент, по степени соответствия его запросу по характеристикам авто и времени на ожидание (просто, с какого - то момента, клиент, скорее всего, перестанет просматривать варианты авто и уйдет к другому оператору, поэтому, в начале и должны быть те, кто точно имеет шанс забрать этот заказ, а не тот, у кого есть время нажать по кнопкам).

    Впрочем, на вопрос я ответил в начале: стоит, кмк, использовать инструменты, которые лучше всего знаешь, задача не на столько сложна, чтобы городить огород на ровном месте.
    Написано
  • Какие бывают программирования?

    @Zanak
    Не понятны требования к классификации. Нужна конкретика.
    Человек, который написал прошивку для устройства, и человек написавший ОС. Они проделывают достаточно похожую работу, в плане работы с железом, только организуют результат несколько по разному. Где та граница, при которой различия начинают быть важными?
    С компиляторами, например, та же история. Кто автор этого продукта, системный программист, или прикладной? А если человек написал DSL, который работает в контексте другой программы, но разработчик проделал всю ту же работу, что и предыдущий автор, кто он?
    Примеров можно привести много, когда цели классификации определяют кого и в какую категорию включать.
    Написано
  • Чего стоит буферизация ответа на запрос?

    @Zanak Автор вопроса
    Да. там нашелся ответ.
  • Почему возникает ошибка cannot pickle '_thread.lock' object?

    @Zanak
    все типы данных загружены с обеих сторон? сомневаюсь, что pickle озаботится этим сам.
    сериализовать вручную, и передавать на обработку, например, json - не вариант?
  • Как отправить ответ до окончания выполнения скрипта PHP?

    @Zanak
    Кирилл Гусарев, принцип "работает, и ладно" для меня не преемлем, иногда он мне выходил боком. дай бог, чтобы в вашем случае было по другому.
  • Как отправить ответ до окончания выполнения скрипта PHP?

    @Zanak
    Кирилл Гусарев, подозреваю, что вы излишне нелюбопытны. рядом же все функции что вам нужны, в той ссылке, что привел Дмитрий. правильная последовательность действий: ob_start->вывод->ob_flush->вывод->ob_end_flush. как вариант - попробовать ob_end_clean до начала вывода.
  • Как оптимально выстроить траекторию изучения Spring?

    @Zanak Автор вопроса
    На каждый новый фреймворк - нет, хотя, если есть возможность, то не вижу ни чего предосудительного, реально экономит время. Да и изучить что либо достаточно крупное, последнее с чем возился - PyQt, без курения вменяемого туториала не реально.
    На каждый новый язык - читаю. А как иначе попробуешь что - то подобное rust или R? Да и go в достаточной мере экзотика, для мозгов, приученых к python и php.
  • Без двух нулей подряд, как решить??

    @Zanak
    если я правильно понял задачу, то вам стоит проанализировать условия на n и k.
    у меня получилось, что k=2, а n принадлежит [2..16].
    в таком случае условие зазвучит как: посчитайте количество возможных последовательностей из 0 и 1, при условии, что ни где не встречается 2 нуля подряд и имеющие длинны из диапазона [2..16]

    последний шаг оставляю вам на самостоятельную реализацию :)
  • Как здесь работает if not?

    @Zanak
    эта проверка отрабатывает пустую строку, если введена, то просто перезапускаем цикл. в чем вопрос - то?
  • Как реализовать свой API на домене?

    @Zanak
    Мальенькое уточнение, если речь идет о локальной сети без публичного доступа (у вас локалка, например, 192.168.0.* и доступ нужен только из нее): достаточно просто поднять службу DNS и указать адрес настроенного сервера первым в сетевых настройках, чтобы он отвечал на ваши локальные запросы, а остальные уходили к серверам прова.
  • Как подключится из Go к mongodb в докере с авторизацией?

    @Zanak
    А порт из контейнера пробрасываете (expose в докерфайле и -p при запуске, ну или подробно покурить раздел конфигурации сети в документации)?
  • Как указать кодировку при возвращении ответа с сайта?

    @Zanak
    Это не поможет?
    Встретил решение: запустить в командной строке chcp 65001 до запуска скрипта, но проверить или поделиться опытом не могу, потому как давно не пользуюсь форточками.
  • В чем причина 500 статуса на heroku?

    @Zanak
    и форматирование хорошо бы включать, благо редактор поддерживает, и немного подумать: первой строкой в сообщении идет " invalid memory address or nil pointer dereference", что скорее всего значит, что где-то, что-то не построилось/создалось и плясать надо от точки старта, а не от моделей.
  • Книги по работе с памятью?

    @Zanak
    А зачем вам взаимодействовать с чужой программой? Да еще таким нестандартным способом, как прямой доступ к ее памяти? :)
    Впрочем, логика ответа на ваш последний комментарий проста: форматом исполнимого файла linux является elf, его спецификация открыта, достаточно поставить пакет linux-headers, можно найти и подробности, например здесь, или здесь. Как именно ядро грузит исполнимый файл, выполняет его настройку, и запускает - это проще всего узнать в исходниках самого ядра.
    С форточками и проще и сложнее. Компания мелкомягких нацелена на то, чтобы вы разрабатывали легальный софт, а не взламывали их, поэтому, вся информация, сверх того, что отдается официально - это утечки от партнеров, либо, результаты исследования этой ОС энтузиастами.
  • Книги по работе с памятью?

    @Zanak
    - Вася в хакеры пошел
    - нету Васи круче
    - хочет хакать он программы
    - ктож его научит :)

    ну а если серьезно, не надо вам этим заниматься, вы еще не готовы. оставайтесь пока в программировании. и учитесь, учитесь, учитесь.
  • Почему Flask часто падает на сервере разработки, production но не выводит ошибок traceback?

    @Zanak
    Mikhail, сильно удивлюсь, если это код. я склонен думать на утечку памяти, все говорит за это, с ваших слов: недетерминированные ошибки в разных местах кода.
    Можно попробовать поэкспериментировать с расстановкой
    import gc
    gc.collect()

    в конце вьюх. если где - то остается мусор, который питон не может прибрать, иногда помогает явно попросить его прибраться.
  • Почему Flask часто падает на сервере разработки, production но не выводит ошибок traceback?

    @Zanak
    и на консоли ругани нет, если сервер разработки запустить руками?
    обычно, если ты позволяешь фласку жаловаться, и даешь на это повод, он, в отладочном режиме, достаточно подробен, в изложении всего, что о тебе думает :)
  • Почему Flask часто падает на сервере разработки, production но не выводит ошибок traceback?

    @Zanak
    Mikhail, Все еще надеетесь на телепатию. Включена или нет отладка у вас в конфиге остается догадываться.
    Попробуйте явно указать: app.run(debug=True)
  • Что означает за странное (namespace)?

    @Zanak
    воспроизвел вашу конфигурацию файлов с небольшим отличием для a/__init__.py и b/__init__.py виде:
    from .main import *
    __all__ = ['ClassA']
    для 'a' каталога, и аналогично 'b'.
    Попробовал импорт:
    Python 3.6.7 (default, Oct 22 2018, 11:32:17)
    [GCC 8.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from plugins import a
    >>> from plugins import b
    >>> dir()
    ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b']
    >>> exit()
    пакеты 'a' и 'b' присутствуют. Если я правильно понял суть вашей проблемы, то это должно помочь.