Онлайн-платформа goods открывает несколько вакансий на должности:
Frontend-разработчик
Backend-разработчик
Middle Android Developer
Golang Developer
Senior Golang Developer
Что мы предлагаем своим разработчикам маркетплейса? Комфортный офис в центре города, официальное оформление, высокую зарплату, премии и бонусы, бесплатные курсы, ДМС и годовые абонементы в фитнес-клубы.
Не упусти свой шанс! Пиши на почту: [email protected]
Если не нашли себе подходящую вакансию - посетите нашу страницу с рассказом о компании, фотками из офиса и множеством других вакансий - https://prglb.ru/19g3e
Frontend-разработчик
Backend-разработчик
Middle Android Developer
Golang Developer
Senior Golang Developer
Что мы предлагаем своим разработчикам маркетплейса? Комфортный офис в центре города, официальное оформление, высокую зарплату, премии и бонусы, бесплатные курсы, ДМС и годовые абонементы в фитнес-клубы.
Не упусти свой шанс! Пиши на почту: [email protected]
Если не нашли себе подходящую вакансию - посетите нашу страницу с рассказом о компании, фотками из офиса и множеством других вакансий - https://prglb.ru/19g3e
Самые важные советы для начинающих разработчиков С++
Джон М. Длугош вводит «горячий список», основанный на фактическом коде, создаваемом командой, с которой он работает. Вместо полного руководства с подробными пояснениями, это краткий список того, на что следует обращать внимание, который постоянно обновляется на основе того, что автор видит в обзорах кода.
Джон М. Длугош вводит «горячий список», основанный на фактическом коде, создаваемом командой, с которой он работает. Вместо полного руководства с подробными пояснениями, это краткий список того, на что следует обращать внимание, который постоянно обновляется на основе того, что автор видит в обзорах кода.
CodeProject
The Most Essential C++ Advice
Short list of things to watch out for when using C++
Какой инструмент статического анализа кода лучше в C: Klocwork или Coverity?
У каждой системы есть свои плюсы и минусы. Спрашивая, что лучше Windows или Linux, к примеру, мнения явно разойдутся. Поскольку каждый современный коммерческий анализатор кода является достаточно эффективным с точки зрения обнаружения ошибок, скорее всего вы сделаете выбор, основываясь на удобстве этого инструмента для вашей команды.
У каждой системы есть свои плюсы и минусы. Спрашивая, что лучше Windows или Linux, к примеру, мнения явно разойдутся. Поскольку каждый современный коммерческий анализатор кода является достаточно эффективным с точки зрения обнаружения ошибок, скорее всего вы сделаете выбор, основываясь на удобстве этого инструмента для вашей команды.
Коротко о stb
stb — это однофайловые общедоступные (или лицензированные MIT) библиотеки для C / C ++.
Включают:
- загрузчик изображений (JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC);
- средство записи изображений (PNG, TGA, BMP);
- изменение размера картинки;
- растеризатор текста шрифта;
- типизированные контейнеры.
Пример использования:
Как читать и записывать изображения с помощью библиотек stb_image, — пример, состоящий из двух частей: основного использования stb_image и написания оболочки вокруг функций stb_image.
stb — это однофайловые общедоступные (или лицензированные MIT) библиотеки для C / C ++.
Включают:
- загрузчик изображений (JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC);
- средство записи изображений (PNG, TGA, BMP);
- изменение размера картинки;
- растеризатор текста шрифта;
- типизированные контейнеры.
Пример использования:
Как читать и записывать изображения с помощью библиотек stb_image, — пример, состоящий из двух частей: основного использования stb_image и написания оболочки вокруг функций stb_image.
GitHub
GitHub - nothings/stb: stb single-file public domain libraries for C/C++
stb single-file public domain libraries for C/C++. Contribute to nothings/stb development by creating an account on GitHub.
Хорошие инструменты для покрытия кода на С++
Coco — это многоязычный инструмент для покрытия кода. Автоматический инструментарий исходного кода используется для измерения охвата тестов операторов, ветвей и условий.
BullseyeCoverage — это усовершенствованный инструмент покрытия кода C ++, используемый для улучшения качества программного обеспечения.
Parasoft CPP test — хороший инструмент для различного анализа, включая покрытие кода и статический анализ.
Coco — это многоязычный инструмент для покрытия кода. Автоматический инструментарий исходного кода используется для измерения охвата тестов операторов, ветвей и условий.
BullseyeCoverage — это усовершенствованный инструмент покрытия кода C ++, используемый для улучшения качества программного обеспечения.
Parasoft CPP test — хороший инструмент для различного анализа, включая покрытие кода и статический анализ.
www.qt.io
Coco: The Code Coverage Analysis Tool for Embedded Devices
Coco helps improve code quality and achieve code coverage for your Qt projects and embedded devices. Get accurate analysis and usage intelligence.
Что выведет этот код?
#include <iostream> int main(int argc, char **argv) { std::cout << 25u - 50; return 0; }
#include <iostream> int main(int argc, char **argv) { std::cout << 25u - 50; return 0; }
Anonymous Poll
17%
-25
8%
25
76%
4294967271
Ответ: 4294967271, предполагая 32-битные целые числа.
Почему так происходит?
Существует иерархия: long double, double, float, unsigned long int, long int, unsigned int, int. И когда два операнда определены как 25u (unsigned int) и 50 (int), 50 также будет интерпретироваться как беззнаковое целое число, то есть 50u.
Кроме того, результат операции также будет иметь тип операндов. Следовательно, результат 25u - 50u и сам является беззнаковым целым числом. Таким образом, результат -25 преобразуется в 4294967271.
Почему так происходит?
Существует иерархия: long double, double, float, unsigned long int, long int, unsigned int, int. И когда два операнда определены как 25u (unsigned int) и 50 (int), 50 также будет интерпретироваться как беззнаковое целое число, то есть 50u.
Кроме того, результат операции также будет иметь тип операндов. Следовательно, результат 25u - 50u и сам является беззнаковым целым числом. Таким образом, результат -25 преобразуется в 4294967271.
Виртуальный конструктор: что он собой представляет?
Anonymous Poll
9%
Специальный метод класса, который предназначен для инициализации элементов класса.
27%
Специальный метод класса, который обеспечивается инициализацию объекта производного класса.
64%
Ни одно из перечисленного не является верным.
Ответ:
Каверзный вопрос с IT-собеседований, который чаще всего задают именно после виртуальных деструкторов, дабы сбить кандидата с толку. Конструктор не может быть виртуальным, поскольку в нем нет никакого смысла: при создании объектов нет такой неоднозначности, как при их удалении.
Каверзный вопрос с IT-собеседований, который чаще всего задают именно после виртуальных деструкторов, дабы сбить кандидата с толку. Конструктор не может быть виртуальным, поскольку в нем нет никакого смысла: при создании объектов нет такой неоднозначности, как при их удалении.
C++17 STL Cookbook (2017)
Автор: Jacek Galowicz
#cpp #book #en
Язык: English.
Целевая аудитория: разработчики C++.
C ++ прошел большой путь. Быстрый, эффективный и гибкий, он используется для решения многих проблем. Если вы хотите понять практическую полезность C++ 17 STL для написания более умного, полностью переносимого кода, то эта книга для вас.
В книге рассматриваются следующие темы:
✔️ возможности C ++;
✔️ написание кода с помощью стандартной библиотеки (STL)
✔️ масштабы и возможности функций STL для решения реальных проблем;
✔️ составление собственных алгоритмов, не отказываясь от простоты и элегантности пути STL и др.
Преимущества:
➕ хорошее обсуждение текущего состояния стандартной библиотеки;
➕ отличные примеры;
➕ структурировано и понятно.
Недостатки:
➖ не обнаружено.
Автор: Jacek Galowicz
#cpp #book #en
Язык: English.
Целевая аудитория: разработчики C++.
C ++ прошел большой путь. Быстрый, эффективный и гибкий, он используется для решения многих проблем. Если вы хотите понять практическую полезность C++ 17 STL для написания более умного, полностью переносимого кода, то эта книга для вас.
В книге рассматриваются следующие темы:
✔️ возможности C ++;
✔️ написание кода с помощью стандартной библиотеки (STL)
✔️ масштабы и возможности функций STL для решения реальных проблем;
✔️ составление собственных алгоритмов, не отказываясь от простоты и элегантности пути STL и др.
Преимущества:
➕ хорошее обсуждение текущего состояния стандартной библиотеки;
➕ отличные примеры;
➕ структурировано и понятно.
Недостатки:
➖ не обнаружено.
Уроки по разработке 64-битных приложений на C / C++
Разработка 64-битных приложений на C и C++. Этот курс был разработан в 2010 году. Однако он не устарел, и приведенная в нем информация достаточно актуальна для современных версий Visual Studio.
Курс посвящен созданию 64-битных приложений на языке C / C++ и предназначен для разработчиков Windows, использующих среду Visual Studio 2005/2008/2010. Разработчики, работающие с другими 64-битными операционными системами, также могут найти для себя много интересного. В курсе рассмотрены все этапы создания безопасного 64-разрядного приложения или перенос существующего 32-разрядного кода в 64-разрядную систему.
Разработка 64-битных приложений на C и C++. Этот курс был разработан в 2010 году. Однако он не устарел, и приведенная в нем информация достаточно актуальна для современных версий Visual Studio.
Курс посвящен созданию 64-битных приложений на языке C / C++ и предназначен для разработчиков Windows, использующих среду Visual Studio 2005/2008/2010. Разработчики, работающие с другими 64-битными операционными системами, также могут найти для себя много интересного. В курсе рассмотрены все этапы создания безопасного 64-разрядного приложения или перенос существующего 32-разрядного кода в 64-разрядную систему.
Viva64
Lessons on development of 64-bit C/C++ applications (single file)
This course was developed in 2010. However, it hasn't become obsolete and the information given in it is relevant enough for modern Visual Studio versions.
«Chaos Game» — реализация в C++
«Chaos Game» — математическая игра для одного игрока. Как это типично для подобных математических вещей, на самом деле это не игра. В математике этот термин первоначально относился к методу создания фрактала с использованием многоугольника и произвольно выбранной начальной точки внутри него. В этой статье показана реализация в C++ классической «Chaos Game».
Фрактал возникает путем итеративного создания последовательности точек, начиная с начальной случайной точки, в которой каждая точка в последовательности представляет собой заданную дробь расстояния между предыдущей точкой и одной из вершин многоугольника. Вершина выбирается случайным образом на каждой итерации. Повторение этого итеративного процесса большое количество раз, выбор случайной вершины на каждой итерации и выбрасывание первых нескольких точек в последовательности часто (но не всегда) приводит к появлению фрактальной формы.
Использование правильного треугольника и множителя 1/2 приведет к треугольнику Серпинского, а создание правильного расположения с четырьмя точками и множителю 1/2 создаст отображение «Тетраэдра Серпинского», трехмерного аналога Серпинского. Поскольку число точек увеличивается до числа N, расположение образует соответствующий (N-1)-мерный симплекс Серпинского.
«Chaos Game» — математическая игра для одного игрока. Как это типично для подобных математических вещей, на самом деле это не игра. В математике этот термин первоначально относился к методу создания фрактала с использованием многоугольника и произвольно выбранной начальной точки внутри него. В этой статье показана реализация в C++ классической «Chaos Game».
Фрактал возникает путем итеративного создания последовательности точек, начиная с начальной случайной точки, в которой каждая точка в последовательности представляет собой заданную дробь расстояния между предыдущей точкой и одной из вершин многоугольника. Вершина выбирается случайным образом на каждой итерации. Повторение этого итеративного процесса большое количество раз, выбор случайной вершины на каждой итерации и выбрасывание первых нескольких точек в последовательности часто (но не всегда) приводит к появлению фрактальной формы.
Использование правильного треугольника и множителя 1/2 приведет к треугольнику Серпинского, а создание правильного расположения с четырьмя точками и множителю 1/2 создаст отображение «Тетраэдра Серпинского», трехмерного аналога Серпинского. Поскольку число точек увеличивается до числа N, расположение образует соответствующий (N-1)-мерный симплекс Серпинского.
Solarianprogrammer
C++ Implementing a Chaos Game simulator | Solarian Programmer
How to implement the Chaos Game in C++
Бьерн Страуструп огорчен тем, что C++ используется для майнинга биткоинов
В интервью одного из подкастов создатель C++ Бьярн Страуструп высказался против того, что Биткойн был написан на его языке программирования вообще. По его словам, есть вещи, которые пытаешься предотвратить, но на самом деле контролировать невозможно.
«Поэтому я очень счастлив и горд относительно некоторых вещей, для которых используется C++, а другие вещи я бы хотел, чтобы люди не делали. Майнинг биткоина мой любимый пример, он потребляет так много энергии в Швейцарии, и по большей части служит преступникам», — отметил создатель C++.
В интервью одного из подкастов создатель C++ Бьярн Страуструп высказался против того, что Биткойн был написан на его языке программирования вообще. По его словам, есть вещи, которые пытаешься предотвратить, но на самом деле контролировать невозможно.
«Поэтому я очень счастлив и горд относительно некоторых вещей, для которых используется C++, а другие вещи я бы хотел, чтобы люди не делали. Майнинг биткоина мой любимый пример, он потребляет так много энергии в Швейцарии, и по большей части служит преступникам», — отметил создатель C++.
Hard Fork | The Next Web
C++ creator hates that Bitcoin was written in the language he made
The guy who built C++, which Bitcoin was written in, says Bitcoin mostly serves criminals, and is salty that it uses electricity.
Лучшие инструменты и советы начинающему C++ программисту
Хотите изучать C++? Делимся важными навыками, фреймворками и советами, которые помогут начинающему C++ программисту устроиться на работу.
😉👇
https://proglib.io/p/cpp-dev-skills
Хотите изучать C++? Делимся важными навыками, фреймворками и советами, которые помогут начинающему C++ программисту устроиться на работу.
😉👇
https://proglib.io/p/cpp-dev-skills
Библиотека программиста
Лучшие инструменты и советы начинающему C++ программисту
Хотите изучать C++? Делимся важными навыками, фреймворками и советами, которые помогут начинающему C++ программисту устроиться на работу.
Изучение многопоточности в C++
Стремление к производительности — то, с чем MICHAEL ADAIXO экспериментирует и консолидирует свои знания о многопоточности в своем блоге. В настоящее время эта тема становится более важной, поскольку процессоры получают все больше и больше ядер. Современные игровые движки и приложения используют несколько процессорных ядер, чтобы оставаться быстрыми и отзывчивыми.
Серия статей на эту тему:
Часть 1: Изучение многопоточности в C++;
Часть 2: Изучение многопоточности в C++;
Часть 3: Изучение многопоточности в C++: загрузка текстур;
Часть 4: Изучение многопоточности в C++: распараллеливание трассировки лучей.
Стремление к производительности — то, с чем MICHAEL ADAIXO экспериментирует и консолидирует свои знания о многопоточности в своем блоге. В настоящее время эта тема становится более важной, поскольку процессоры получают все больше и больше ядер. Современные игровые движки и приложения используют несколько процессорных ядер, чтобы оставаться быстрыми и отзывчивыми.
Серия статей на эту тему:
Часть 1: Изучение многопоточности в C++;
Часть 2: Изучение многопоточности в C++;
Часть 3: Изучение многопоточности в C++: загрузка текстур;
Часть 4: Изучение многопоточности в C++: распараллеливание трассировки лучей.
Первый игровой движок на С++ и SFML
Пошаговый гайд по написанию простого 2D игрового движка на С++: твой уверенный старт в геймдеве!
🤟🕺👇
https://proglib.io/sh/XgMAkSeQhl
Пошаговый гайд по написанию простого 2D игрового движка на С++: твой уверенный старт в геймдеве!
🤟🕺👇
https://proglib.io/sh/XgMAkSeQhl
Библиотека программиста
Первый игровой движок на С++ и SFML
Пошаговый гайд по написанию простого 2D игрового движка на С++: твой уверенный старт в геймдеве!
5 способов использования скобок могут сделать ваш код C++ более выразительным
Многие языки используют фигурные скобки для структурирования кода. Но в C++ фигурные скобки — гораздо больше, чем просто инструмент для удержания блоков кода вместе. В C++ фигурные скобки имеют значение. Точнее, фигурные скобки имеют несколько значений. В блоге Джонатана Боккары можно найти 5 простых способов сделать их более выразительными.
Многие языки используют фигурные скобки для структурирования кода. Но в C++ фигурные скобки — гораздо больше, чем просто инструмент для удержания блоков кода вместе. В C++ фигурные скобки имеют значение. Точнее, фигурные скобки имеют несколько значений. В блоге Джонатана Боккары можно найти 5 простых способов сделать их более выразительными.
Fluent C++
5 Ways Using Braces Can Make Your C++ Code More Expressive
Expressive code in C++
Как C++ 17 извлекает выгоду из библиотек Boost — интересная информация от блогера Bartlomiej Filipek, который показывает проверенные в бою функции из известных библиотек Boost, которые были адаптированы для C++ 17. С ростом числа элементов в стандартной библиотеке, поддерживаемых опытом Boost, вы можете писать еще более свободный код на C++.
Fluent C++
How C++17 Benefits from Boost Libraries, Part One
Expressive code in C++