Media is too big
VIEW IN TELEGRAM
TCP/IP сети с помощью Boost.Asio
Boost.Asio - это кроссплатформенная библиотека C++ для программирования сетей и низкоуровневого ввода-вывода, которая предоставляет разработчикам последовательную асинхронную модель с использованием современного подхода C++.
В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:
- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?
источник
#cpp #programming
👉 @cpp_lib
Boost.Asio - это кроссплатформенная библиотека C++ для программирования сетей и низкоуровневого ввода-вывода, которая предоставляет разработчикам последовательную асинхронную модель с использованием современного подхода C++.
В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:
- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?
источник
#cpp #programming
👉 @cpp_lib
👍3🔥2
Include guards и их оптимизация
В этой статье обсуждается назначение и важность include guards в проектах на C/C++. В ней также рассматриваются оптимизации, которые компиляторы применяют вокруг include guards для улучшения времени сборки, и то, как легко можно непреднамеренно отключить эти оптимизации!
https://includeguardian.io/article/include-guards-and-their-optimizations
#cpp #programming
👉 @cpp_lib
В этой статье обсуждается назначение и важность include guards в проектах на C/C++. В ней также рассматриваются оптимизации, которые компиляторы применяют вокруг include guards для улучшения времени сборки, и то, как легко можно непреднамеренно отключить эти оптимизации!
https://includeguardian.io/article/include-guards-and-their-optimizations
#cpp #programming
👉 @cpp_lib
👍1
Как итерироваться через std::tuple, std::apply и многое другое
https://www.cppstories.com/2022/tuple-iteration-apply/
#cpp #programming
👉 @cpp_lib
https://www.cppstories.com/2022/tuple-iteration-apply/
#cpp #programming
👉 @cpp_lib
👍2
Реализация утилиты cat на C
Программисты часто используют встроенные команды unix для решения задач. Давайте реализуем cat. cat - утилита которая объединяет файлы и выводит их в стандартный вывод.
Цель
Идея довольно проста - принять файл в качестве аргумента, открыть его, занести в буфер по частям и вывести на стандартный вывод. Утилита cat также оснащена различными флагами опций, которые позволяют пользователю манипулировать буфером перед его отправкой на стандартный вывод.
https://habr.com/ru/articles/734254/
#cpp #programming
👉 @cpp_lib
Программисты часто используют встроенные команды unix для решения задач. Давайте реализуем cat. cat - утилита которая объединяет файлы и выводит их в стандартный вывод.
Цель
Идея довольно проста - принять файл в качестве аргумента, открыть его, занести в буфер по частям и вывести на стандартный вывод. Утилита cat также оснащена различными флагами опций, которые позволяют пользователю манипулировать буфером перед его отправкой на стандартный вывод.
https://habr.com/ru/articles/734254/
#cpp #programming
👉 @cpp_lib
👍3
Forwarded from Библиотека Python разработчика | Книги по питону
В Москве заметили необычные баннеры с кодом от Академии Яндекса, в которых точно что-то спрятано, но в коде есть ошибка.
Пытаемся разобрать эту задачку, но пока не выходит. Может, у вас получится?
@BookPython
Пытаемся разобрать эту задачку, но пока не выходит. Может, у вас получится?
@BookPython
👍10👎3😱2
Как отлаживать лямбда-выражения C++ с помощью GDB
В современных версиях языка программирования C++ есть функция, известная как лямбда-выражения. В этой статье показано, как можно отлаживать лямбда-выражения с помощью GDB, GNU Project Debugger. Даже если вас не интересует отладка лямбда-выражений, представленные здесь приемы полезны для многих других ситуаций отладки.
https://developers.redhat.com/articles/2023/05/03/how-debug-c-lambda-expressions-gdb
#cpp #programming
👉 @cpp_lib
В современных версиях языка программирования C++ есть функция, известная как лямбда-выражения. В этой статье показано, как можно отлаживать лямбда-выражения с помощью GDB, GNU Project Debugger. Даже если вас не интересует отладка лямбда-выражений, представленные здесь приемы полезны для многих других ситуаций отладки.
https://developers.redhat.com/articles/2023/05/03/how-debug-c-lambda-expressions-gdb
#cpp #programming
👉 @cpp_lib
Red Hat Developer
How to debug C++ lambda expressions with GDB | Red Hat Developer
Modern versions of the C++ programming language have a feature known as lambda expressions. This article shows how you can debug lambda expressions using GDB, the GNU Project Debugger. Even if you're
👍3
Автоматическая сериализация в C++ для игровых движков
Вы создали свою игру, возможно, сделали движок, и теперь готовы внести последние штрихи. Игроки определенно захотят сохранить свою игру. Это означает сохранение всего текущего состояния игры в файл..... Ничего себе, сколько работы, правда? Теперь каждый враг, персонаж, предмет, поваленное дерево, взорванное здание, локация и т.д. должны быть помещены в файл. А потом нужно снова его прочитать. Какой кошмар.
В этой статье я собираюсь показать вам, как я создал свою собственную библиотеку сериализации. Конечно, есть существующие библиотеки, которые можно использовать, но я, как всегда, даже не смотрю на них, мне интереснее сделать это самому.
https://indiegamedev.net/2022/03/28/automatic-serialization-in-cpp-for-game-engines/
#cpp #programming
👉 @cpp_lib
Вы создали свою игру, возможно, сделали движок, и теперь готовы внести последние штрихи. Игроки определенно захотят сохранить свою игру. Это означает сохранение всего текущего состояния игры в файл..... Ничего себе, сколько работы, правда? Теперь каждый враг, персонаж, предмет, поваленное дерево, взорванное здание, локация и т.д. должны быть помещены в файл. А потом нужно снова его прочитать. Какой кошмар.
В этой статье я собираюсь показать вам, как я создал свою собственную библиотеку сериализации. Конечно, есть существующие библиотеки, которые можно использовать, но я, как всегда, даже не смотрю на них, мне интереснее сделать это самому.
https://indiegamedev.net/2022/03/28/automatic-serialization-in-cpp-for-game-engines/
#cpp #programming
👉 @cpp_lib
👍4🤔1
Practical usage of ref-qualified member function overloading
https://victor-istomin.github.io/c-with-crosses/posts/ref-qualifiers/
#cpp #programming
👉 @cpp_lib
https://victor-istomin.github.io/c-with-crosses/posts/ref-qualifiers/
#cpp #programming
👉 @cpp_lib
victor-istomin.github.io
Practical usage of ref-qualified member function overloading | C with Crosses
Recently, I discovered that std::ranges prohibits the creation of dangling iterators and provides an owning_view to take ownership of temporaries. Digging into the details led me to the ref-qualified memeber functions which can be used to make code safer.
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
STL IN C++
STL In C++
std array C++
Vector In C++
Optimized Way To Use Vector In C++
std::set In C++
Container Inside Container In C++
Multiset In C++
Map In C++
Multimap In C++
Emplace In C++
источник
#cpp #programming
👉 @cpp_lib
STL In C++
std array C++
Vector In C++
Optimized Way To Use Vector In C++
std::set In C++
Container Inside Container In C++
Multiset In C++
Map In C++
Multimap In C++
Emplace In C++
источник
#cpp #programming
👉 @cpp_lib
👍1
Три очень практичные фичи C++23
C++23 — это текущая рабочая версия стандарта C++. На момент написания статьи туда пока не было включено ни одной крупной фичи, но ряд небольших нововведений, а также множество отчетов о дефектах уже утверждены в стандарте. Вы можете посмотреть текущий статус и поддержку компиляторами новых фич здесь. Многие из этих нововведений представляют из себя небольшие улучшения и вещи, которыми вы, вероятно, не будете пользоваться на регулярной основе. Однако сегодня я хочу обратить ваше внимание на три новые фичи C++23, которые, на мой взгляд, выделяются на фоне остальных именно тем, насколько часто они будут встречаться в нашем коде.
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
#cpp #programming
👉 @cpp_lib
C++23 — это текущая рабочая версия стандарта C++. На момент написания статьи туда пока не было включено ни одной крупной фичи, но ряд небольших нововведений, а также множество отчетов о дефектах уже утверждены в стандарте. Вы можете посмотреть текущий статус и поддержку компиляторами новых фич здесь. Многие из этих нововведений представляют из себя небольшие улучшения и вещи, которыми вы, вероятно, не будете пользоваться на регулярной основе. Однако сегодня я хочу обратить ваше внимание на три новые фичи C++23, которые, на мой взгляд, выделяются на фоне остальных именно тем, насколько часто они будут встречаться в нашем коде.
https://mariusbancila.ro/blog/2022/01/17/three-cpp23-features-for-common-use/
#cpp #programming
👉 @cpp_lib
Marius Bancila's Blog | About code. Mostly on C++
Three C++23 features for common use
A look at three new C++23 features that you could potentially use on a regular basis
👍5
Анонс scip-clang: новый SCIP-индексатор для C и C++
scip-clang - это наш новый индексатор для кода на языках C и C++, написанный с нуля для нативной эмуляции SCIP и особенно для поддержки широкого спектра языковых возможностей, присутствующих в C++.
https://about.sourcegraph.com/blog/announcing-scip-clang
#cpp #programming
👉 @cpp_lib
scip-clang - это наш новый индексатор для кода на языках C и C++, написанный с нуля для нативной эмуляции SCIP и особенно для поддержки широкого спектра языковых возможностей, присутствующих в C++.
https://about.sourcegraph.com/blog/announcing-scip-clang
#cpp #programming
👉 @cpp_lib
Sourcegraph
Announcing scip-clang: a new SCIP indexer for C and C++ | Sourcegraph Blog
scip-clang is our new SCIP indexer for C and C++ supporting precise code navigation in Sourcegraph, supporting a wide variety of language features.
👍3
Получить работу в крутой компании за один день? Легко!
Оставь заявку на участие в One day offer, который проводит разработчик офисного ПО МойОфис, и оперативно получи предложение о работе.
Компания ищет программистов C++ с хорошим знанием C++ 11/14, STL, Boost, QT и опытом работы более 3-х лет. Если ты соответствуешь этим критериям, то оставь заявку на участие до 10 июня, выполни тестовое задание и ожидай приглашение на собеседование, которое пройдет 17 июня.
Обещают удаленный или гибридный график работы, интересные задачи, конкурентную заработную плату, а также помощь с релокацией в Москву, Санкт-Петербург, Самару или Иннополис.
Подробности и регистрация на сайте проекта
Оставь заявку на участие в One day offer, который проводит разработчик офисного ПО МойОфис, и оперативно получи предложение о работе.
Компания ищет программистов C++ с хорошим знанием C++ 11/14, STL, Boost, QT и опытом работы более 3-х лет. Если ты соответствуешь этим критериям, то оставь заявку на участие до 10 июня, выполни тестовое задание и ожидай приглашение на собеседование, которое пройдет 17 июня.
Обещают удаленный или гибридный график работы, интересные задачи, конкурентную заработную плату, а также помощь с релокацией в Москву, Санкт-Петербург, Самару или Иннополис.
Подробности и регистрация на сайте проекта