home.social

#epoll — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #epoll, aggregated by home.social.

  1. Когда на Rust уже всё переписали

    Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.

    habr.com/ru/articles/1022260/

    #zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto

  2. Когда на Rust уже всё переписали

    Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.

    habr.com/ru/articles/1022260/

    #zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto

  3. Когда на Rust уже всё переписали

    Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.

    habr.com/ru/articles/1022260/

    #zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto

  4. Когда на Rust уже всё переписали

    Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.

    habr.com/ru/articles/1022260/

    #zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto

  5. Ah, the classic tale of reinventing the wheel 🛞! Behold, the famed network server pattern, dear reader: marvel as it twiddles its thumbs for an event, then dispatches like a waiter at a Michelin-star restaurant 🍽️. Forget progress, let's wrap "epoll" and "kqueue" in redundant libraries and call it #innovation. 🚀
    geocar.sdf1.org/fast-servers.h #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated

  6. Ah, the classic tale of reinventing the wheel 🛞! Behold, the famed network server pattern, dear reader: marvel as it twiddles its thumbs for an event, then dispatches like a waiter at a Michelin-star restaurant 🍽️. Forget progress, let's wrap "epoll" and "kqueue" in redundant libraries and call it #innovation. 🚀
    geocar.sdf1.org/fast-servers.h #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated

  7. Ah, the classic tale of reinventing the wheel 🛞! Behold, the famed network server pattern, dear reader: marvel as it twiddles its thumbs for an event, then dispatches like a waiter at a Michelin-star restaurant 🍽️. Forget progress, let's wrap "epoll" and "kqueue" in redundant libraries and call it #innovation. 🚀
    geocar.sdf1.org/fast-servers.h #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated

  8. Ah, the classic tale of reinventing the wheel 🛞! Behold, the famed network server pattern, dear reader: marvel as it twiddles its thumbs for an event, then dispatches like a waiter at a Michelin-star restaurant 🍽️. Forget progress, let's wrap "epoll" and "kqueue" in redundant libraries and call it #innovation. 🚀
    geocar.sdf1.org/fast-servers.h #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated

  9. Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

    Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся

    habr.com/ru/articles/995032/

    #asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты

  10. Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

    Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся

    habr.com/ru/articles/995032/

    #asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты

  11. Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

    Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся

    habr.com/ru/articles/995032/

    #asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты

  12. Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

    Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся

    habr.com/ru/articles/995032/

    #asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты

  13. Как я пытался внедрить IOCP в libcoro, выгорел на полгода, но вернулся с планом «Б»

    Что делать, если в твоём очередном самописном движке внезапно понадобилась сеть, да ещё и на корутинах из C++ 20, а подходящая библиотека не поддерживает Windows? Правильно - лезть под капот, разбираться что такое epoll , почему он несовместим с IOCP, затем вкатиться в Open Source, сделав огромный PR, выгореть на полгода, чтобы потом вернуться и начать делать нормально. Небольшая история о том, почему первый PR не должен быть огромным и как (не) нужно переписывать сетевую библиотеку.

    habr.com/ru/articles/993666/

    #c++20 #корутины #асинхронный_вводвывод #epoll #iocp #кроссплатформенность

  14. Как я пытался внедрить IOCP в libcoro, выгорел на полгода, но вернулся с планом «Б»

    Что делать, если в твоём очередном самописном движке внезапно понадобилась сеть, да ещё и на корутинах из C++ 20, а подходящая библиотека не поддерживает Windows? Правильно - лезть под капот, разбираться что такое epoll , почему он несовместим с IOCP, затем вкатиться в Open Source, сделав огромный PR, выгореть на полгода, чтобы потом вернуться и начать делать нормально. Небольшая история о том, почему первый PR не должен быть огромным и как (не) нужно переписывать сетевую библиотеку.

    habr.com/ru/articles/993666/

    #c++20 #корутины #асинхронный_вводвывод #epoll #iocp #кроссплатформенность

  15. Как я пытался внедрить IOCP в libcoro, выгорел на полгода, но вернулся с планом «Б»

    Что делать, если в твоём очередном самописном движке внезапно понадобилась сеть, да ещё и на корутинах из C++ 20, а подходящая библиотека не поддерживает Windows? Правильно - лезть под капот, разбираться что такое epoll , почему он несовместим с IOCP, затем вкатиться в Open Source, сделав огромный PR, выгореть на полгода, чтобы потом вернуться и начать делать нормально. Небольшая история о том, почему первый PR не должен быть огромным и как (не) нужно переписывать сетевую библиотеку.

    habr.com/ru/articles/993666/

    #c++20 #корутины #асинхронный_вводвывод #epoll #iocp #кроссплатформенность

  16. muRPC: Реализация протокола JSON-RPC на C++

    Данная статья описывает библиотеку muRPC для создания сервера и клиента для протокола JSON-RPC. Режим работы предполагает, что один из клиентов JSON-RPC предоставляет какие-то методы и сообщает об этом серверу. Тогда другие клиенты JSON-RPC могут эти методы вызывать и получать ответ. Сервер предоставляет маршрутизацию и валидацию сообщений между клиентами. Область применения — это любые системы, где требуется обмен сообщениями, удобно соединяемый с вызовом программных функций.

    habr.com/ru/articles/992934/

    #с++ #jsonrpc #json #epoll #linux

  17. muRPC: Реализация протокола JSON-RPC на C++

    Данная статья описывает библиотеку muRPC для создания сервера и клиента для протокола JSON-RPC. Режим работы предполагает, что один из клиентов JSON-RPC предоставляет какие-то методы и сообщает об этом серверу. Тогда другие клиенты JSON-RPC могут эти методы вызывать и получать ответ. Сервер предоставляет маршрутизацию и валидацию сообщений между клиентами. Область применения — это любые системы, где требуется обмен сообщениями, удобно соединяемый с вызовом программных функций.

    habr.com/ru/articles/992934/

    #с++ #jsonrpc #json #epoll #linux

  18. muRPC: Реализация протокола JSON-RPC на C++

    Данная статья описывает библиотеку muRPC для создания сервера и клиента для протокола JSON-RPC. Режим работы предполагает, что один из клиентов JSON-RPC предоставляет какие-то методы и сообщает об этом серверу. Тогда другие клиенты JSON-RPC могут эти методы вызывать и получать ответ. Сервер предоставляет маршрутизацию и валидацию сообщений между клиентами. Область применения — это любые системы, где требуется обмен сообщениями, удобно соединяемый с вызовом программных функций.

    habr.com/ru/articles/992934/

    #с++ #jsonrpc #json #epoll #linux

  19. Красно-черные сигналы в node.js

    Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.

    habr.com/ru/articles/840108/

    #javascript #nodejs #libuv #красночерное_дерево #epoll #linux #сигналы

  20. Красно-черные сигналы в node.js

    Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.

    habr.com/ru/articles/840108/

    #javascript #nodejs #libuv #красночерное_дерево #epoll #linux #сигналы

  21. Красно-черные сигналы в node.js

    Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.

    habr.com/ru/articles/840108/

    #javascript #nodejs #libuv #красночерное_дерево #epoll #linux #сигналы

  22. Куча таймеров в node.js

    А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.

    habr.com/ru/articles/830644/

    #javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры

  23. Куча таймеров в node.js

    А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.

    habr.com/ru/articles/830644/

    #javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры

  24. Куча таймеров в node.js

    А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.

    habr.com/ru/articles/830644/

    #javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры

  25. Nice (very) high level overview of #epoll

    https://
    darkcoding.net/software/epoll-
    the-api-that-powers-the-modern-internet/

    #linux