• Материал для изучения сервер-клиент?

    @Zanak
    Я бы начал изучение разработки для сети с изучения C/C++ в качестве языка. Rust, на мой взгляд, для людей, которые уже попробовали это на других языках. Да и уровень входа, для освоения какого нибудь tokio способен напрочь убить и желание вести разработку для сети, и интерес к самому языку, если адепт сильно начинающий. Познакомится с Go можно, но много чего в нем реализованно из коробки, и мотивации лезть под капот не всем хватает.
    Далее стоит посмотреть на устройство tcp/ip в часности, и модель OSI в целом. На практике освоить api для работы с tcp соединениями и udp датаграммами. Здесь замечательная книжка Стивенса "Unix: разработка сетевых приложений" вам в помощ.
    Далее можно, в качестве тренировки, реализовать собственный протокол взаимодействия, используя tcp или udp в качестве транспорта. Protobuf можно попробовать, но после полноценной попытки запилить свой прикладной протокол руками, правда это чисто мое мнение, которого вы придерживаться совсем не обязаны. :)
    Далее можно пристальнее посмотреть на тему специфики выбранной вами платформы и инструментов.
    И только теперь можно взглянуть на другие языки. :)

    Примерно такой план изучения данной темы я бы вам посоветовал. :)
    Ответ написан
    Комментировать
  • Особенности рантайма (любой язык)?

    @Zanak
    1. Ответ на ваш вопрос специфичен для конкретного языка. Например Цэ, на сколько я знаю, не несет дополнительного оверхеада во время выполнения, в то время как golang имеет свой рантайм, что связано с управлением памятью и поддержкой специфичных для языка возможностей. У скриптовых языков рантайм еще более тяжел, и потому они они дольше стартуют, даже если далее подключается jit компиляция и полезная нагрузка исполняется бодро.
    2 + 3. В подавляющем большинстве ответ нет, заменить загруженную в память программу нельзя. Erlang вроде как умеет штатно, но и там это высший пилотаж.
    Ответ написан
    Комментировать
  • Как использовать "requests" рядом с "grequests"?

    @Zanak
    Обернуть отправку асинхронного запроса в функцию, если этого не сделано, и импортировать grequests локально, внутри функции.
    Ответ написан
    Комментировать
  • Как на python сделать таймер?

    @Zanak
    Еще можно как - то так:
    import signal, os
    
    def handler(signum, frame):
        print 'Signal handler called with signal', signum
        exit()
    
    signal.signal(signal.SIGALRM, handler)
    signal.alarm(5)
    
    for i in range(0, 1000000):
        print "i: %s\n" % (i)
    Ответ написан
    Комментировать
  • Библиотека aiohttp. Параллельность обработки запросов возможна?

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

    @Zanak
    По поводу json есть и стандарт, я про https://ru.wikipedia.org/wiki/JSON-RPC. Возможно и не один, просто этот вспомнился первым.
    Ответ написан
    Комментировать