#epoll — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #epoll, aggregated by home.social.
-
Когда на Rust уже всё переписали
Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.
https://habr.com/ru/articles/1022260/
#zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto
-
Когда на Rust уже всё переписали
Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.
https://habr.com/ru/articles/1022260/
#zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto
-
Когда на Rust уже всё переписали
Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.
https://habr.com/ru/articles/1022260/
#zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto
-
Когда на Rust уже всё переписали
Мем про переписывание всего на Rust в итоге стал индустриальным стандартом. Безопасность памяти и строгий компилятор реально решают кучу проблем. Но на практике регулярно всплывают задачи, где архитектурные рамки Раста только мешают и заставляют бороться с языком. Писать системные сетевые сервисы на C в 2026ом году можно, но CVE на переполнение буфера вам выпишут быстрее, чем вы допишете свой Makefile. Как говорится: Rust не позволит вам выстрелить себе в ногу. Zig позволит с радостью, но перед этим попросит явно передать аллокатор. В двух последних проектах, в разработке которых я участвую, был выбран Zig. Я не буду продавать язык как идеальный (он объективно сырой), но ниже будет разбор реального опыта.
https://habr.com/ru/articles/1022260/
#zig #rust #c #системное_программирование #управление_памятью #аллокаторы #epoll #comptime #telegram #mtproto
-
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. 🚀
https://geocar.sdf1.org/fast-servers.html #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated -
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. 🚀
https://geocar.sdf1.org/fast-servers.html #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated -
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. 🚀
https://geocar.sdf1.org/fast-servers.html #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated -
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. 🚀
https://geocar.sdf1.org/fast-servers.html #reinventingthewheel #networkserver #epoll #kqueue #softwaredevelopment #HackerNews #ngated -
Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux
Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся
https://habr.com/ru/articles/995032/
#asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты
-
Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux
Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся
https://habr.com/ru/articles/995032/
#asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты
-
Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux
Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся
https://habr.com/ru/articles/995032/
#asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты
-
Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux
Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся
https://habr.com/ru/articles/995032/
#asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты
-
Как я пытался внедрить IOCP в libcoro, выгорел на полгода, но вернулся с планом «Б»
Что делать, если в твоём очередном самописном движке внезапно понадобилась сеть, да ещё и на корутинах из C++ 20, а подходящая библиотека не поддерживает Windows? Правильно - лезть под капот, разбираться что такое epoll , почему он несовместим с IOCP, затем вкатиться в Open Source, сделав огромный PR, выгореть на полгода, чтобы потом вернуться и начать делать нормально. Небольшая история о том, почему первый PR не должен быть огромным и как (не) нужно переписывать сетевую библиотеку.
https://habr.com/ru/articles/993666/
#c++20 #корутины #асинхронный_вводвывод #epoll #iocp #кроссплатформенность
-
Как я пытался внедрить IOCP в libcoro, выгорел на полгода, но вернулся с планом «Б»
Что делать, если в твоём очередном самописном движке внезапно понадобилась сеть, да ещё и на корутинах из C++ 20, а подходящая библиотека не поддерживает Windows? Правильно - лезть под капот, разбираться что такое epoll , почему он несовместим с IOCP, затем вкатиться в Open Source, сделав огромный PR, выгореть на полгода, чтобы потом вернуться и начать делать нормально. Небольшая история о том, почему первый PR не должен быть огромным и как (не) нужно переписывать сетевую библиотеку.
https://habr.com/ru/articles/993666/
#c++20 #корутины #асинхронный_вводвывод #epoll #iocp #кроссплатформенность
-
Как я пытался внедрить IOCP в libcoro, выгорел на полгода, но вернулся с планом «Б»
Что делать, если в твоём очередном самописном движке внезапно понадобилась сеть, да ещё и на корутинах из C++ 20, а подходящая библиотека не поддерживает Windows? Правильно - лезть под капот, разбираться что такое epoll , почему он несовместим с IOCP, затем вкатиться в Open Source, сделав огромный PR, выгореть на полгода, чтобы потом вернуться и начать делать нормально. Небольшая история о том, почему первый PR не должен быть огромным и как (не) нужно переписывать сетевую библиотеку.
https://habr.com/ru/articles/993666/
#c++20 #корутины #асинхронный_вводвывод #epoll #iocp #кроссплатформенность
-
muRPC: Реализация протокола JSON-RPC на C++
Данная статья описывает библиотеку muRPC для создания сервера и клиента для протокола JSON-RPC. Режим работы предполагает, что один из клиентов JSON-RPC предоставляет какие-то методы и сообщает об этом серверу. Тогда другие клиенты JSON-RPC могут эти методы вызывать и получать ответ. Сервер предоставляет маршрутизацию и валидацию сообщений между клиентами. Область применения — это любые системы, где требуется обмен сообщениями, удобно соединяемый с вызовом программных функций.
-
muRPC: Реализация протокола JSON-RPC на C++
Данная статья описывает библиотеку muRPC для создания сервера и клиента для протокола JSON-RPC. Режим работы предполагает, что один из клиентов JSON-RPC предоставляет какие-то методы и сообщает об этом серверу. Тогда другие клиенты JSON-RPC могут эти методы вызывать и получать ответ. Сервер предоставляет маршрутизацию и валидацию сообщений между клиентами. Область применения — это любые системы, где требуется обмен сообщениями, удобно соединяемый с вызовом программных функций.
-
muRPC: Реализация протокола JSON-RPC на C++
Данная статья описывает библиотеку muRPC для создания сервера и клиента для протокола JSON-RPC. Режим работы предполагает, что один из клиентов JSON-RPC предоставляет какие-то методы и сообщает об этом серверу. Тогда другие клиенты JSON-RPC могут эти методы вызывать и получать ответ. Сервер предоставляет маршрутизацию и валидацию сообщений между клиентами. Область применения — это любые системы, где требуется обмен сообщениями, удобно соединяемый с вызовом программных функций.
-
I/O Multiplexing (select vs. poll vs. epoll/kqueue)
-
I/O Multiplexing (select vs. poll vs. epoll/kqueue)
-
I/O Multiplexing (select vs. poll vs. epoll/kqueue)
-
I/O Multiplexing (select vs. poll vs. epoll/kqueue)
-
Красно-черные сигналы в node.js
Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.
https://habr.com/ru/articles/840108/
#javascript #nodejs #libuv #красночерное_дерево #epoll #linux #сигналы
-
Красно-черные сигналы в node.js
Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.
https://habr.com/ru/articles/840108/
#javascript #nodejs #libuv #красночерное_дерево #epoll #linux #сигналы
-
Красно-черные сигналы в node.js
Что происходит, когда мы отправляем сигнал приложению на node.js? Когда вызываются обработчики? А где хранятся? Во всем этом мы разберемся в данной статье, начиная от пользовательского кода на javascript и до встречи с операционной системой.
https://habr.com/ru/articles/840108/
#javascript #nodejs #libuv #красночерное_дерево #epoll #linux #сигналы
-
epoll: The API that powers the modern internet
https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/
-
epoll: The API that powers the modern internet
https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/
-
epoll: The API that powers the modern internet
https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/
-
epoll: The API that powers the modern internet
https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/
-
Куча таймеров в node.js
А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.
https://habr.com/ru/articles/830644/
#javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры
-
Куча таймеров в node.js
А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.
https://habr.com/ru/articles/830644/
#javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры
-
Куча таймеров в node.js
А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.
https://habr.com/ru/articles/830644/
#javascript #nodejs #libuv #куча #очередь #epoll #linux #таймеры
-
Nice (very) high level overview of #epoll
https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/