🤔 очередной #дайджест по С++
🔻 Книга «Разработка высокочастотных торговых систем с помощью основ C++ или Java» — как построить высокочастотную торговую систему из сложных технологических компонентов, подкрепленных точными данными
🔻 Первый выпуск мультимедийной библиотеки LDL c поддержкой старых систем — вперед в прошлое и библиотека Little DirectMedia Layer
🔻 Фильтруем логи санитайзеров и valgrind на примере приложения с Qt — настройка санитайзеров и valgrind для логирования ошибок, связанных с интересующими библиотеками
🔻 Как добавить non-copyable и non-movable объект в std::map или std::unordered_map — как мы можем поместить некопируемый неперемещаемый объект в ассоциативный контейнер
🔻 Physical Units и System of Quantities — о библиотеке mp-units, кандидате на включение в C++29
🔻 Книга «Разработка высокочастотных торговых систем с помощью основ C++ или Java» — как построить высокочастотную торговую систему из сложных технологических компонентов, подкрепленных точными данными
🔻 Первый выпуск мультимедийной библиотеки LDL c поддержкой старых систем — вперед в прошлое и библиотека Little DirectMedia Layer
🔻 Фильтруем логи санитайзеров и valgrind на примере приложения с Qt — настройка санитайзеров и valgrind для логирования ошибок, связанных с интересующими библиотеками
🔻 Как добавить non-copyable и non-movable объект в std::map или std::unordered_map — как мы можем поместить некопируемый неперемещаемый объект в ассоциативный контейнер
🔻 Physical Units и System of Quantities — о библиотеке mp-units, кандидате на включение в C++29
#вопросы_с_собеседования
Что будет выведено на экран?
В первом случае на печать выведется 9, потому что функция f принимает параметр t = 5, внутри функции к глобальной переменной a прибавляется 5, теперь a = 9, а f возвращает ссылку на неё и печатается значение a, то есть 9.
Далее неважно, что происходит внутри функции, важно, что возвращаемой ссылке на a присваивается 20, значит a = 20. Переменная t не поменяла своё значение, так как в функцию она передается по значению, а не по ссылке.
Затем опять вызываем f(5), при этом a = 20, a = 20 + 5, на печати увидим число 25.
Теперь присваиваем t значение a (в этот момент a = 25 + 5), значит, t станет равно 30.
И, наконец, последняя печать. Вызываем f(30), a = 30 + 30, и возвращается значение 60.
Что будет выведено на экран?
#include <iostream>
int a = 4;
int &f(int x){
a = a + x;
return a;
}
int main(void){
int t = 5;
std::cout << f(t) << std::endl;
f(t) = 20;
std::cout << f(t) << std::endl;
t = f(t);
std::cout << f(t) << std::endl;
}
Далее неважно, что происходит внутри функции, важно, что возвращаемой ссылке на a присваивается 20, значит a = 20. Переменная t не поменяла своё значение, так как в функцию она передается по значению, а не по ссылке.
Затем опять вызываем f(5), при этом a = 20, a = 20 + 5, на печати увидим число 25.
Теперь присваиваем t значение a (в этот момент a = 25 + 5), значит, t станет равно 30.
И, наконец, последняя печать. Вызываем f(30), a = 30 + 30, и возвращается значение 60.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📯Внимание всем отважным героям и искателям приключений!
«Библиотеки Программиста» с гордостью представляет новую захватывающую игру — «Битва с Драконом». Выберите своих персонажей и сразитесь с древним Крылатым Ужасом Бурлопиворогом в эпическом поединке!
Мы предлагаем вам взять под свой контроль хитроумного изобретателя или ловкого вора.
💎Победителей ждет почет, уважение и награда! Итак, кто осмелится бросить вызов Бурлопиворогу? Начните свою «Битву с Драконом»!
«Библиотеки Программиста» с гордостью представляет новую захватывающую игру — «Битва с Драконом». Выберите своих персонажей и сразитесь с древним Крылатым Ужасом Бурлопиворогом в эпическом поединке!
Мы предлагаем вам взять под свой контроль хитроумного изобретателя или ловкого вора.
💎Победителей ждет почет, уважение и награда! Итак, кто осмелится бросить вызов Бурлопиворогу? Начните свою «Битву с Драконом»!
📚 Qt 6. Разработка оконных приложений на C++ (2022)
✍️ Автор: Прохоренок Н.А.
📃 Страниц: 512
Описываются базовые возможности библиотеки Qt, позволяющей создавать приложения с графическим интерфейсом на языке C++. Книга ориентирована на тех, кто уже знаком с языком программирования C++ и хотел бы научиться разрабатывать оконные приложения. Рассматриваются способы обработки событий, управление свойствами окна, создание формы, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна. Книга содержит большое количество практических примеров, помогающих начать разрабатывать приложения с графическим интерфейсом самостоятельно.
Что внутри:
🔸Управление окном приложения
🔸Обработка сигналов и событий
🔸 Размещение компонентов внутри окна
🔸 Основные компоненты
🔸 Списки и таблицы
🔸 Работа с графикой и изображениями
🔸 Графическая сцена
🔸 Диалоговые окна
🔸 SDI и MDI приложения
🔸 Редактор Qt Creator
✍️ Автор: Прохоренок Н.А.
📃 Страниц: 512
Описываются базовые возможности библиотеки Qt, позволяющей создавать приложения с графическим интерфейсом на языке C++. Книга ориентирована на тех, кто уже знаком с языком программирования C++ и хотел бы научиться разрабатывать оконные приложения. Рассматриваются способы обработки событий, управление свойствами окна, создание формы, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна. Книга содержит большое количество практических примеров, помогающих начать разрабатывать приложения с графическим интерфейсом самостоятельно.
Что внутри:
🔸Управление окном приложения
🔸Обработка сигналов и событий
🔸 Размещение компонентов внутри окна
🔸 Основные компоненты
🔸 Списки и таблицы
🔸 Работа с графикой и изображениями
🔸 Графическая сцена
🔸 Диалоговые окна
🔸 SDI и MDI приложения
🔸 Редактор Qt Creator
🤔🤷♂️ Как и зачем мы парсим XML
Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML — достаточно типовая задача, но даже в ней можно выделить несколько основных подходов. В этой статье автор расскажет, зачем ему потребовалось парсить XML, какие подходы он опробовал, а заодно продемонстрирует замеры производительности для самых популярных реализаций на C++.
Читать статью
#почитать
Большинство разработчиков рано или поздно сталкиваются с XML. Этот язык разметки настолько глубоко вошел в нашу жизнь, что сложно представить систему, в которой не используется он сам или его подмножества. Разбор XML — достаточно типовая задача, но даже в ней можно выделить несколько основных подходов. В этой статье автор расскажет, зачем ему потребовалось парсить XML, какие подходы он опробовал, а заодно продемонстрирует замеры производительности для самых популярных реализаций на C++.
Читать статью
#почитать
#вопросы_с_собеседования
Что такое явное и неявное приведение типов в С++?
Явное приведение типов в C++ происходит, когда программист явно указывает, что значение одного типа должно быть преобразовано в значение другого типа. Это делается с помощью операторов приведения типов, таких как static_cast, dynamic_cast, const_cast и reinterpret_cast.
Неявное приведение типов в C++ происходит автоматически, когда компилятор обнаруживает, что значение одного типа используется в контексте, где ожидается значение другого типа. Например, если вы пытаетесь присвоить значение типа int переменной типа double, компилятор автоматически преобразует значение int в значение double.
Что такое явное и неявное приведение типов в С++?
⚡️Свершилось: канал с книгами только по C++
Мы создали для вас канал с книгами по C и C++, куда будем публиковать самые полезные книги для сишников. Подписывайтесь!
👉 Книги для C/C++ разработчиков
Мы создали для вас канал с книгами по C и C++, куда будем публиковать самые полезные книги для сишников. Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 очередной #дайджест по С++
🔸 Как выбрать тимлида в команду — на что смотреть, как сделать выбор, как построить свое развитие, как продемонстрировать руководителям?
🔸 Разработка расширения для PHP на C++ — хуки встроенных функций и методов
🔸 Как войти в айти за час — с нуля, на языке с++ Win32 (графические приложения) «для самых маленьких»
🔸 Концепция RAII — про парадигму управления ресурсами, которая способствует безопасности и эффективности кода
🔸 Верле: разрешаем коллизии. Продолжение — продолжение занимательной истории про шарики
🔸 Как выбрать тимлида в команду — на что смотреть, как сделать выбор, как построить свое развитие, как продемонстрировать руководителям?
🔸 Разработка расширения для PHP на C++ — хуки встроенных функций и методов
🔸 Как войти в айти за час — с нуля, на языке с++ Win32 (графические приложения) «для самых маленьких»
🔸 Концепция RAII — про парадигму управления ресурсами, которая способствует безопасности и эффективности кода
🔸 Верле: разрешаем коллизии. Продолжение — продолжение занимательной истории про шарики
🎉🎉 QIWI SERVER PARTY 9.0
14 декабря в 17:30 состоится митап для тех, кто хочет узнать об опыте больших IT-компаний в реализации современных подходов и решении насущных проблем. Своими историями поделятся спикеры из QIWI, Яндекса и Альфа-Банка.
Программа:
Павел Черняк — Нельзя просто так взять и обновить
В этом докладе автор покажет коллекцию заботливо отобранных граблей, по которым пришлось пройти при обновлении одного из монолитных процессингов QIWI. Если вы хотите обновиться до Java 17 с Java 8 / Java 11, то узнаете о возможных проблемах и получите решения для них. Вишенкой — про переход на новый Spring Framework 6.
Андрей Свиридов — Как TDD поможет лучше работать
Расскажет, как Test Driven Development поможет решить ежедневные проблемы разработчиков. Если вы подумывали использовать TDD, но почему-то сомневались, то этот доклад станет хорошей стартовой точкой».
Дмитрий Некрылов — Защищаем пользователей от раздвоения конференций
Иногда медиасерверы падают. Автохилинг пытается подменить их, но пользователи могут оказаться на разных медиасерверах, и конференции раздваиваются. Защититься от такого можно с помощью математически корректной и высокопроизводительной реализации конечного автомата на Java и SQL.
В докладе как раз и рассмотрите лучшие практики, которые помогли автору решить задачу с минимальной нагрузкой на систему.
Самвел Барсегян — Инфраструктурная платформа QIWI
В этом докладе автор расскажет, какое место в современном IT занимает DevOps и как его прикладное применение привело к формированию нового технологического подхода — Platform engineering. А ещё вы узнаете, как в QIWI применяется этот подход, разрабатываются и поддерживаются инструменты самообслуживания для IT-специалистов.
Регистрация тут
#мероприятие
14 декабря в 17:30 состоится митап для тех, кто хочет узнать об опыте больших IT-компаний в реализации современных подходов и решении насущных проблем. Своими историями поделятся спикеры из QIWI, Яндекса и Альфа-Банка.
Программа:
Павел Черняк — Нельзя просто так взять и обновить
В этом докладе автор покажет коллекцию заботливо отобранных граблей, по которым пришлось пройти при обновлении одного из монолитных процессингов QIWI. Если вы хотите обновиться до Java 17 с Java 8 / Java 11, то узнаете о возможных проблемах и получите решения для них. Вишенкой — про переход на новый Spring Framework 6.
Андрей Свиридов — Как TDD поможет лучше работать
Расскажет, как Test Driven Development поможет решить ежедневные проблемы разработчиков. Если вы подумывали использовать TDD, но почему-то сомневались, то этот доклад станет хорошей стартовой точкой».
Дмитрий Некрылов — Защищаем пользователей от раздвоения конференций
Иногда медиасерверы падают. Автохилинг пытается подменить их, но пользователи могут оказаться на разных медиасерверах, и конференции раздваиваются. Защититься от такого можно с помощью математически корректной и высокопроизводительной реализации конечного автомата на Java и SQL.
В докладе как раз и рассмотрите лучшие практики, которые помогли автору решить задачу с минимальной нагрузкой на систему.
Самвел Барсегян — Инфраструктурная платформа QIWI
В этом докладе автор расскажет, какое место в современном IT занимает DevOps и как его прикладное применение привело к формированию нового технологического подхода — Platform engineering. А ещё вы узнаете, как в QIWI применяется этот подход, разрабатываются и поддерживаются инструменты самообслуживания для IT-специалистов.
Регистрация тут
#мероприятие
Функция remove_if
Функция remove_if() используется для удаления из списка всех значений, которые соответствуют истине предикату или условию, заданному в качестве параметра функции.
Функция выполняет итерацию по каждому члену контейнера списка и удаляет все элементы, которые возвращают true для предиката.
Функция remove_if() используется для удаления из списка всех значений, которые соответствуют истине предикату или условию, заданному в качестве параметра функции.
Функция выполняет итерацию по каждому члену контейнера списка и удаляет все элементы, которые возвращают true для предиката.
📚 C++ in One Hour a Day, Sams Teach Yourself
✍️ Автор: Siddhartha Rao
📃 Страниц: 793
Всего за один час в день у вас будут все навыки, необходимые для начала программирования на C++. С помощью этого полного руководства вы быстро освоите основы, а затем перейдете к более продвинутым функциям и концепциям. Книга представляет язык с практической точки зрения, помогая научиться использовать C++ для создания быстрых, простых и эффективных приложений.
Что внутри:
🔸 Освоите основы C++ и объектно-ориентированного программирования;
🔸 Поймете, как фичи C++ помогают писать компактный и эффективный код с использованием лямбда-выражений;
🔸 Изучите передовой опыт и научитесь избегать ошибок, используя полезные правила;
🔸 Изучите стандартную библиотеку шаблонов, включая контейнеры и алгоритмы, используемые в большинстве реальных приложений;
🔸 Проверите свои знания и опыт с помощью упражнений в конце каждого урока.
✍️ Автор: Siddhartha Rao
📃 Страниц: 793
Всего за один час в день у вас будут все навыки, необходимые для начала программирования на C++. С помощью этого полного руководства вы быстро освоите основы, а затем перейдете к более продвинутым функциям и концепциям. Книга представляет язык с практической точки зрения, помогая научиться использовать C++ для создания быстрых, простых и эффективных приложений.
Что внутри:
🔸 Освоите основы C++ и объектно-ориентированного программирования;
🔸 Поймете, как фичи C++ помогают писать компактный и эффективный код с использованием лямбда-выражений;
🔸 Изучите передовой опыт и научитесь избегать ошибок, используя полезные правила;
🔸 Изучите стандартную библиотеку шаблонов, включая контейнеры и алгоритмы, используемые в большинстве реальных приложений;
🔸 Проверите свои знания и опыт с помощью упражнений в конце каждого урока.
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
В какой компании РФ лучше всего работать?
Anonymous Poll
34%
Яндекс
2%
Мегафон
2%
Ростелеком
3%
X5 Retail Group
10%
VK
15%
Сбер
8%
Росатом
18%
Тинькофф
8%
Газпром
38%
Свой вариант
🔟🏢 ТОП-10 российских IT-работодателей
Рейтинг работодателей, которые могут конкурировать по условиям труда с лидерами рынка.
Читать статью
#почитать
Рейтинг работодателей, которые могут конкурировать по условиям труда с лидерами рынка.
Читать статью
#почитать