Что выведет код?
Anonymous Quiz
11%
(42, 1337)
15%
42, 1337
26%
42
5%
1337
31%
Compiler Error
13%
Поведение не определено
👍8
August 3, 2023
Передача адреса переменной в функцию в Си
По умолчанию параметры передаются по значению, то есть копируются. В десятиминутном видео разобраны основы этой логики.
Смотреть видео
По умолчанию параметры передаются по значению, то есть копируются. В десятиминутном видео разобраны основы этой логики.
Смотреть видео
👍2👏1
August 3, 2023
Представьте, что вы за час можете научиться чему угодно — что бы это было?
#интерактив
#интерактив
👍2❤1
August 3, 2023
std::tie
std::tie — это функция, которая создает кортеж ссылок на lvalue из своих аргументов или экземпляров std::ignore.
Она может использоваться для распаковки кортежей или пары значений в отдельные переменные. Например, если у вас есть функция, которая возвращает std::pair или std::tuple, вы можете использовать std::tie, чтобы присвоить значения этого кортежа отдельным переменным.
В этом примере мы используем std::tie для распаковки результата вызова set_of_s.insert(value) в две переменные: итератор iter и логическую переменную inserted.
Это позволяет нам проверить, было ли значение успешно вставлено в набор.
#код
std::tie — это функция, которая создает кортеж ссылок на lvalue из своих аргументов или экземпляров std::ignore.
Она может использоваться для распаковки кортежей или пары значений в отдельные переменные. Например, если у вас есть функция, которая возвращает std::pair или std::tuple, вы можете использовать std::tie, чтобы присвоить значения этого кортежа отдельным переменным.
В этом примере мы используем std::tie для распаковки результата вызова set_of_s.insert(value) в две переменные: итератор iter и логическую переменную inserted.
Это позволяет нам проверить, было ли значение успешно вставлено в набор.
#код
🔥11👍2❤1
August 4, 2023
❗«Библиотека программиста» в поиске контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих трех тем:
👉Data Science
👉Frontend
👉мобильная разработка
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
Ищем человека, который грамотно пишет, разбирается в контенте и в одной из этих трех тем:
👉Data Science
👉Frontend
👉мобильная разработка
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
👍3
August 5, 2023
В чем разница между git fetch и git pull?
Разница между этими командами заключается в том, что когда вы используете команду git fetch, Git извлекает последние изменения из удаленного репозитория в ваш локальный репозиторий, но оставляет эти изменения в отдельной ветке git origin.
А команда git pull извлекает и интегрирует (скачивает и сливает) последние изменения из удаленного репозитория в вашу текущую ветку работы.
Разница между этими командами заключается в том, что когда вы используете команду git fetch, Git извлекает последние изменения из удаленного репозитория в ваш локальный репозиторий, но оставляет эти изменения в отдельной ветке git origin.
А команда git pull извлекает и интегрирует (скачивает и сливает) последние изменения из удаленного репозитория в вашу текущую ветку работы.
👍14
August 5, 2023
execution policy для параллельных алгоритмов
Execution policy в C++ — это новшество, введенное в стандарте языка C++17. Это механизм, который позволяет выбрать, как именно должны выполняться алгоритмы в стандартной библиотеке: последовательно или параллельно.
Существуют три варианта execution policy:
— seq: выполняет алгоритм последовательно.
— par: выполняет алгоритм параллельно, используя все доступные ядра процессора.
— par_unseq: выполняет алгоритм параллельно и может использовать неупорядоченное исполнение.
Execution policy может быть использован в комбинации с многими алгоритмами в стандартной библиотеке, такими как std::for_each, std::transform, std::reduce и другими. Например, код выше выполняет алгоритм std::for_each параллельно.
Execution policy в C++ — это новшество, введенное в стандарте языка C++17. Это механизм, который позволяет выбрать, как именно должны выполняться алгоритмы в стандартной библиотеке: последовательно или параллельно.
Существуют три варианта execution policy:
— seq: выполняет алгоритм последовательно.
— par: выполняет алгоритм параллельно, используя все доступные ядра процессора.
— par_unseq: выполняет алгоритм параллельно и может использовать неупорядоченное исполнение.
Execution policy может быть использован в комбинации с многими алгоритмами в стандартной библиотеке, такими как std::for_each, std::transform, std::reduce и другими. Например, код выше выполняет алгоритм std::for_each параллельно.
👍16
August 5, 2023
August 6, 2023
🤯20👍12❤1
August 6, 2023
Задача
Найти среднее арифметическое в трех рядах.
Для начала продумаем наше решение. Сразу условимся, что длина ряда у нас будет 5. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл, только уже для чисел этого ряда.
Теперь подумаем, какие переменные нам понадобятся:
Переменная summa — для суммы чисел каждого ряда;
Переменная average — для среднего арифметического каждого ряда;
Переменная number — обычное число которое мы будем постоянно прибавлять;
Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться в цикле.
#вопросы_с_собеседований
Найти среднее арифметическое в трех рядах.
Для начала продумаем наше решение. Сразу условимся, что длина ряда у нас будет 5. Нам надо найти среднее арифметическое в трех рядах, и в каждом по отдельности, т.е. мы сначала сделаем цикл для рядов, а потом в этом цикле сделаем еще один цикл, только уже для чисел этого ряда.
Теперь подумаем, какие переменные нам понадобятся:
Переменная summa — для суммы чисел каждого ряда;
Переменная average — для среднего арифметического каждого ряда;
Переменная number — обычное число которое мы будем постоянно прибавлять;
Переменные i и j — для циклов, перпенные у нас будут локальные, т.е. использоваться и объявляться в цикле.
#вопросы_с_собеседований
👍11
August 6, 2023
Внутри STL: строка
Вы можете подумать, что std::string (и все его друзья в семействе std::basic_string) внутри в основном представляют собой вектор символов. Но строки организованы по-другому из-за определенных оптимизаций, разрешенных для строк, но не для векторов.
Читать статью
Вы можете подумать, что std::string (и все его друзья в семействе std::basic_string) внутри в основном представляют собой вектор символов. Но строки организованы по-другому из-за определенных оптимизаций, разрешенных для строк, но не для векторов.
Читать статью
👍8
August 7, 2023
«Библиотека программиста» запустила два новых канала для C++ разработчиков и тех, кто хочет ими стать👨🏫
В них мы:
🔸тренируемся на практических задачах
🔸отвечаем на популярные вопросы с собеседований
🔸проверяем свои знания
Подписывайтесь:
👉Библиотека собеса по C++ — тут мы готовимся к интервью
👉Библиотека задач по C++ — тут решаем задачи, проходим тесты и изучаем код
В них мы:
🔸тренируемся на практических задачах
🔸отвечаем на популярные вопросы с собеседований
🔸проверяем свои знания
Подписывайтесь:
👉Библиотека собеса по C++ — тут мы готовимся к интервью
👉Библиотека задач по C++ — тут решаем задачи, проходим тесты и изучаем код
❤4
August 8, 2023
Dependency Injection
Dependency Injection (DI) — это паттерн проектирования, который позволяет управлять зависимостями между объектами. Он помогает разделить создание объектов от их использования и обеспечить более гибкую и тестируемую архитектуру программы.
В DI объекты получают свои зависимости не напрямую, а через внешний источник, который их предоставляет. Этот источник называется контейнером внедрения зависимостей. Контейнер отвечает за создание и управление зависимостями, а объекты получают их через конструкторы, методы или свойства.
#код
Dependency Injection (DI) — это паттерн проектирования, который позволяет управлять зависимостями между объектами. Он помогает разделить создание объектов от их использования и обеспечить более гибкую и тестируемую архитектуру программы.
В DI объекты получают свои зависимости не напрямую, а через внешний источник, который их предоставляет. Этот источник называется контейнером внедрения зависимостей. Контейнер отвечает за создание и управление зависимостями, а объекты получают их через конструкторы, методы или свойства.
#код
👍17❤3😁1
August 8, 2023
Очередной #дайджест по С++:
✍️ Визуализируйте расширение макроса для C++
Эта функция дает значительные преимущества, позволяя вам понимать и анализировать сложные многоуровневые расширения макросов шаг за шагом.
✍️ soagen: генератор и библиотека структуры массивов
Обзор soagen — новый генератор структуры массивов и библиотека для C++17 и более поздних версий.
✍️ Измерение производительности подсистемы памяти
Обширный материал об оптимизации.
✍️ Юникод сложнее, чем вы думаете
Unicode — это тема, которую многие разработчики часто упускают из виду. Существует много путаницы и неправильных ожиданий относительно того, что такое Unicode, и какие рекомендации следует соблюдать при работе со строками, которые могут содержать символы за пределами диапазона ASCII.
✍️ Визуализируйте расширение макроса для C++
Эта функция дает значительные преимущества, позволяя вам понимать и анализировать сложные многоуровневые расширения макросов шаг за шагом.
✍️ soagen: генератор и библиотека структуры массивов
Обзор soagen — новый генератор структуры массивов и библиотека для C++17 и более поздних версий.
✍️ Измерение производительности подсистемы памяти
Обширный материал об оптимизации.
✍️ Юникод сложнее, чем вы думаете
Unicode — это тема, которую многие разработчики часто упускают из виду. Существует много путаницы и неправильных ожиданий относительно того, что такое Unicode, и какие рекомендации следует соблюдать при работе со строками, которые могут содержать символы за пределами диапазона ASCII.
👍5
August 8, 2023
Какой сертификат вы бы посоветовали получить?
#интерактив
#интерактив
August 8, 2023
Использование Boost
Если ваш проект открыт для поддержки библиотеки, рассмотрите возможность использования boost::algorithm::join алгоритм. Он объединяет все элементы в указанном списке в строку, где сегменты объединяются заданным разделителем.
Другие способы преобразования вектора в строку можно найти здесь.
Если ваш проект открыт для поддержки библиотеки, рассмотрите возможность использования boost::algorithm::join алгоритм. Он объединяет все элементы в указанном списке в строку, где сегменты объединяются заданным разделителем.
Другие способы преобразования вектора в строку можно найти здесь.
👍8❤4
August 9, 2023
Весь август бесплатный IT-интенсив про алгоритмы и структуры данных
👀 Ведущие эксперты из крупных IT-компаний поделятся опытом успешного прохождения собеседований на позицию разработчика. А также расскажут простым языком о NP-трудных задачах и графах.
Регистрируйтесь по ссылке
😎На вебинарах вас ждет много практики и интерактива!
Программа интенсива:
🗓️ 14 августа, «NP-трудные задачи: почему их плохо решают».
🎙️Спикер: Дмитрий Коротенко, ML specialist at Yandex, Ex BusDev at Alfa Bank.
🗓️ 22 августа, «Графы: алгоритмы и структуры данных на Python».
🎙️Спикер: Иван Потапов, Staff machine learning engineer at Sharechat.
🗓️ 29 августа, «Собеседование на разработчика: разбор задач и ошибок».
🎙️Спикер: Алексей Бочкарев, Engineering Manager at Meta*
Зарегистрироваться и ознакомится с подробной программой можно по ссылке: https://proglib.io/w/62ce6c0e
До встречи на вебинарах!!
*Компания Meta признана в РФ экстремистской и запрещена
👀 Ведущие эксперты из крупных IT-компаний поделятся опытом успешного прохождения собеседований на позицию разработчика. А также расскажут простым языком о NP-трудных задачах и графах.
Регистрируйтесь по ссылке
😎На вебинарах вас ждет много практики и интерактива!
Программа интенсива:
🗓️ 14 августа, «NP-трудные задачи: почему их плохо решают».
🎙️Спикер: Дмитрий Коротенко, ML specialist at Yandex, Ex BusDev at Alfa Bank.
🗓️ 22 августа, «Графы: алгоритмы и структуры данных на Python».
🎙️Спикер: Иван Потапов, Staff machine learning engineer at Sharechat.
🗓️ 29 августа, «Собеседование на разработчика: разбор задач и ошибок».
🎙️Спикер: Алексей Бочкарев, Engineering Manager at Meta*
Зарегистрироваться и ознакомится с подробной программой можно по ссылке: https://proglib.io/w/62ce6c0e
До встречи на вебинарах!!
*Компания Meta признана в РФ экстремистской и запрещена
❤9👍7
August 9, 2023
Что случится, если exception выйдет за пределы потока?
Если exception выходит за пределы потока, то оно не может быть обработано на текущем уровне, т. к. он уже завершен. В таком случае исключение будет зарегистрировано как неперехваченное и может привести к аварийному завершению программы.
Чтобы избежать данной ситуации, необходимо обернуть код, где может возникнуть исключение, в try-catch блок на том же уровне, что и поток, с которым он связан.
#вопросы_с_собеседований
Если exception выходит за пределы потока, то оно не может быть обработано на текущем уровне, т. к. он уже завершен. В таком случае исключение будет зарегистрировано как неперехваченное и может привести к аварийному завершению программы.
Чтобы избежать данной ситуации, необходимо обернуть код, где может возникнуть исключение, в try-catch блок на том же уровне, что и поток, с которым он связан.
#вопросы_с_собеседований
❤11👍8
August 9, 2023
std::hash
Это структура шаблонного класса, определенная в заголовочном файле. Она предоставляет хеш-функцию для хэширования различных типов данных, включая встроенные и пользовательские.
std::hash используется, например, в ассоциативных контейнерах, таких как std::unordered_map и std::unordered_set, для быстрого доступа к элементам по ключу.
Для пользовательского типа данных требуется явная специализация структуры std::hash для корректной работы хэширования.
#код
Это структура шаблонного класса, определенная в заголовочном файле. Она предоставляет хеш-функцию для хэширования различных типов данных, включая встроенные и пользовательские.
std::hash используется, например, в ассоциативных контейнерах, таких как std::unordered_map и std::unordered_set, для быстрого доступа к элементам по ключу.
Для пользовательского типа данных требуется явная специализация структуры std::hash для корректной работы хэширования.
#код
👍15❤9
August 10, 2023
Сколько времени в рабочий день тратите на разработку?
#интерактив
#интерактив
❤9
August 10, 2023
Опыт создания клипа на Unreal Engine 5.1 с метахьюманом, ветром и багами
Обширный материал со ссылками на обучающие источники.
Читать статью
Обширный материал со ссылками на обучающие источники.
Читать статью
❤12
August 11, 2023