Магия swizzle из шейдеров в C++
В шейдере мы можем написать vec3 v0 = v1.xxy * 2, а также любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может иметь не только ту же самую размерность, но и меньшую или большую, причем его компоненты могут быть скопированы в произвольном порядке. Эта операция называется 'swizzle', и она чертовски удобна для различных операций с малоразмерными векторами, особенно если они представляют игровые сущности в виде позиций, размера или цветов. Вектора используются повсюду в игровых проектах (да и не только в игровых), а не только в шейдерах. В какой-то момент было решено добавить 'swizzle' в наш игровой движок в базовые классы vec2, vec3 и vec4. Возникли вопросы: как добиться такого же синтаксического и семантического поведения в C++ коде, при этом минимизируя потери производительности.
https://habr.com/ru/articles/779616/
#cpp #programming
👉 @cpp_lib
В шейдере мы можем написать vec3 v0 = v1.xxy * 2, а также любую другую комбинацию x, y, z и w в зависимости от длины вектора. Я рассматриваю только размеры вектора до 4, как самые распространенные для использования. Полученный вектор может иметь не только ту же самую размерность, но и меньшую или большую, причем его компоненты могут быть скопированы в произвольном порядке. Эта операция называется 'swizzle', и она чертовски удобна для различных операций с малоразмерными векторами, особенно если они представляют игровые сущности в виде позиций, размера или цветов. Вектора используются повсюду в игровых проектах (да и не только в игровых), а не только в шейдерах. В какой-то момент было решено добавить 'swizzle' в наш игровой движок в базовые классы vec2, vec3 и vec4. Возникли вопросы: как добиться такого же синтаксического и семантического поведения в C++ коде, при этом минимизируя потери производительности.
https://habr.com/ru/articles/779616/
#cpp #programming
👉 @cpp_lib
👍2
21 фича современного C++, которые вам обязательно пригодятся
Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче.
https://www.vishalchovatiya.com/21-new-features-of-modern-cpp-to-use-in-your-project/
#cpp #programming
👉 @cpp_lib
Итак, судьба снова свела вас с C++, и вы поражены его возможностями с точки зрения производительности, удобства и выразительности кода. Но вот незадача: вы теряетесь в этом многообразии замечательных новых фич и, как следствие, затрудняетесь сходу определить, что из этого всего вам действительно стоило бы взять на вооружение в своей повседневной работе по написанию кода. Не стоит расстраиваться, в этой статье вашему вниманию будут представлены 21 новая фича современного C++, которые помогут сделать ваш проект лучше, а работу над ним легче.
https://www.vishalchovatiya.com/21-new-features-of-modern-cpp-to-use-in-your-project/
#cpp #programming
👉 @cpp_lib
🔥5👍2👏2🎉2
Современный С++ в разработке девайсов
Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.
На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных устройств с виртуальным ассистентом. А также о том, как инструменты статического и динамического анализа помогают поддерживать единый стиль и высокое качество кода в проекте.
Во время доклада меня попросили подробнее описать детали нашего подхода в статье, поэтому рад поделиться с вами расширенной текстовой версией.
Все наши устройства должны уметь взаимодействовать c виртуальным ассистентом, проигрывать музыку, обновлять прошивку, выполнять аутентификацию пользователя и т.д.. Такая функциональность реализована в едином для всех платформ приложении, работающем в пользовательском режиме на каждом из наших устройств, будь то умная колонка, ТВ-приставка или умный телевизор.
Язык С++ позволяет писать эффективный и переносимый между различными платформами код, поэтому выбор языка программирования для нашего приложения был очевиден. При этом язык известен своей сложностью и возможностью выполнить одну и ту же задачу несколькими способами.
Чтобы успешно разрабатывать большой проект на языке C++, необходимо хорошо настроить процесс разработки в команде (а у нас это несколько десятков инженеров). Также можно значительно осовременить разработку на C++ за счет использования подходящих инструментов статического и динамического анализа и правильной интеграции их в процесс разработки.
https://habr.com/ru/companies/sberdevices/articles/780476/
#cpp #programming
👉 @cpp_lib
Меня зовут Андрей Белобров. Я тимлид одной из команд, разрабатывающих приложения для умных девайсов Сбера.
На прошедшей недавно конференции Салют, OS DevConf! я выступил с докладом, в котором рассказал, как мы с командой разрабатываем приложения на С++ для умных устройств с виртуальным ассистентом. А также о том, как инструменты статического и динамического анализа помогают поддерживать единый стиль и высокое качество кода в проекте.
Во время доклада меня попросили подробнее описать детали нашего подхода в статье, поэтому рад поделиться с вами расширенной текстовой версией.
Все наши устройства должны уметь взаимодействовать c виртуальным ассистентом, проигрывать музыку, обновлять прошивку, выполнять аутентификацию пользователя и т.д.. Такая функциональность реализована в едином для всех платформ приложении, работающем в пользовательском режиме на каждом из наших устройств, будь то умная колонка, ТВ-приставка или умный телевизор.
Язык С++ позволяет писать эффективный и переносимый между различными платформами код, поэтому выбор языка программирования для нашего приложения был очевиден. При этом язык известен своей сложностью и возможностью выполнить одну и ту же задачу несколькими способами.
Чтобы успешно разрабатывать большой проект на языке C++, необходимо хорошо настроить процесс разработки в команде (а у нас это несколько десятков инженеров). Также можно значительно осовременить разработку на C++ за счет использования подходящих инструментов статического и динамического анализа и правильной интеграции их в процесс разработки.
https://habr.com/ru/companies/sberdevices/articles/780476/
#cpp #programming
👉 @cpp_lib
👍4⚡1
Длительность хранения и нелокальные объекты в C++
C++ позволяет нам объявлять различные формы нелокальных объектов: обычно они живут на протяжении всего выполнения программы. В этой статье мы рассмотрим глобальные переменные, динамические и потоково-локальные объекты. Также мы рассмотрим новые возможности безопасной инициализации C++20.
https://www.cppstories.com/2023/storage-init-cpp/
#cpp #programming
👉 @cpp_lib
C++ позволяет нам объявлять различные формы нелокальных объектов: обычно они живут на протяжении всего выполнения программы. В этой статье мы рассмотрим глобальные переменные, динамические и потоково-локальные объекты. Также мы рассмотрим новые возможности безопасной инициализации C++20.
https://www.cppstories.com/2023/storage-init-cpp/
#cpp #programming
👉 @cpp_lib
👍2🎉1
Media is too big
VIEW IN TELEGRAM
Технические собеседования: что болит у тех, кто их проводит и кто на них приходит
Константин Владимиров, Елена Степанова, Илья Казаков (все YADRO) и Илья Шишков (экс-Яндекс) обсудили с аудиторией московского C++ митапа все, что наболело в теме собеседований.
00:00 - Кто больше всех насобеседовал в своей карьере
01:35 - "Собеседования как пощечина вузовскому образованию"
02:20 - Стоит ли "спрашивать кандидата за резюме" (особенно когда собеседуешь не в свою команду)
05:55 - Лучшее собеседование в жизни Елены Степановой
07:45 - Можно ли обойтись без leetcode и алгоритмических секций
13:35 - Стоит ли применять подход fake it till you make it
16:30 - Грустная история про стажера и софтскиллы
17:45 - Вопрос про выбор между опытом и остротой ума или "проблема вагонетки"
21:10 - Вопрос про интересные вопросы и неожиданные ответы
24:40 - Продолжение грустной истории про стажера и софтскиллы
26:35 - Про ключевые вопросы и красные флаги на собеседованиях
34:35 - О фидбеке после интервью (и почему его не всегда дают)
35:45 - Вопрос про код-ревью как форму собеседования
36:45 - Как понять, надолго ли к вам выйдет кандидат
38:30 - Вопрос про Qt и зло ли это
41:50 - Про каверзные вопросы и нужны ли они
43:25 - Вопрос про странных интервьюеров
45:10 - Стоит ли спрашивать про алгоритмы того, кто будет перекладывать байтики
47:50 - Итоговый вопрос для Константина Владимирова
источник
#cpp #programming
👉 @cpp_lib
Константин Владимиров, Елена Степанова, Илья Казаков (все YADRO) и Илья Шишков (экс-Яндекс) обсудили с аудиторией московского C++ митапа все, что наболело в теме собеседований.
00:00 - Кто больше всех насобеседовал в своей карьере
01:35 - "Собеседования как пощечина вузовскому образованию"
02:20 - Стоит ли "спрашивать кандидата за резюме" (особенно когда собеседуешь не в свою команду)
05:55 - Лучшее собеседование в жизни Елены Степановой
07:45 - Можно ли обойтись без leetcode и алгоритмических секций
13:35 - Стоит ли применять подход fake it till you make it
16:30 - Грустная история про стажера и софтскиллы
17:45 - Вопрос про выбор между опытом и остротой ума или "проблема вагонетки"
21:10 - Вопрос про интересные вопросы и неожиданные ответы
24:40 - Продолжение грустной истории про стажера и софтскиллы
26:35 - Про ключевые вопросы и красные флаги на собеседованиях
34:35 - О фидбеке после интервью (и почему его не всегда дают)
35:45 - Вопрос про код-ревью как форму собеседования
36:45 - Как понять, надолго ли к вам выйдет кандидат
38:30 - Вопрос про Qt и зло ли это
41:50 - Про каверзные вопросы и нужны ли они
43:25 - Вопрос про странных интервьюеров
45:10 - Стоит ли спрашивать про алгоритмы того, кто будет перекладывать байтики
47:50 - Итоговый вопрос для Константина Владимирова
источник
#cpp #programming
👉 @cpp_lib
👍6
Media is too big
VIEW IN TELEGRAM
[MUC++] Елизавета Шуланкина - Анализ приложений на C++ для оптимизации производительности
Некоторые из нас, вольно или невольно, сталкивались с необходимостью анализа кода для повышения производительности. Конечно, мы прибегали к различным профилировщикам кода, чтобы выяснить, что не так с нашим идеально написанным кодом... И чаще всего профилировщик удивлял нас, указывая на узкое место в коде!
Этот доклад станет введением в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor. Мы кратко рассмотрим шаги по оптимизации производительности, затем возьмем небольшое приложение на C++ и попросим VTune и Advisor помочь нам понять, что происходит, каковы узкие места в производительности и как с ними справиться, чтобы сделать наше приложение эффективным с точки зрения памяти и вычислений. Мы проведем несколько итераций настройки этого приложения на C++ и посмотрим, как оно ускорится.
https://www.youtube.com/watch?v=M1D8iez1Ph0
источник
#cpp #programming
👉 @cpp_lib
Некоторые из нас, вольно или невольно, сталкивались с необходимостью анализа кода для повышения производительности. Конечно, мы прибегали к различным профилировщикам кода, чтобы выяснить, что не так с нашим идеально написанным кодом... И чаще всего профилировщик удивлял нас, указывая на узкое место в коде!
Этот доклад станет введением в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor. Мы кратко рассмотрим шаги по оптимизации производительности, затем возьмем небольшое приложение на C++ и попросим VTune и Advisor помочь нам понять, что происходит, каковы узкие места в производительности и как с ними справиться, чтобы сделать наше приложение эффективным с точки зрения памяти и вычислений. Мы проведем несколько итераций настройки этого приложения на C++ и посмотрим, как оно ускорится.
https://www.youtube.com/watch?v=M1D8iez1Ph0
источник
#cpp #programming
👉 @cpp_lib
👍4⚡1👏1
Неклассические контейнеры в C++
Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.
В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL1 и их отличия от классических контейнеров.
https://habr.com/ru/post/664044/
#cpp #programming
👉 @cpp_lib
Контейнер - это объект, используемый для хранения других объектов. Контейнер берет на себя управление всей памятью, которые эти объекты занимают.
В стандартную библиотеку C++ входит несколько контейнеров. Кроме этого, в Open Source есть несколько контейнеров, которые покрывают больше юзкейсов. Я опишу устройство интересных контейнеров вне STL1 и их отличия от классических контейнеров.
https://habr.com/ru/post/664044/
#cpp #programming
👉 @cpp_lib
👍4⚡1
Стремление к лучшему коду на C++, часть I: основы анализа потоков данных
В CLion встроен анализатор потока данных, который постоянно работает во время написания кода и помогает улучшить его качество. Он может выявить различные проблемы в коде, которые впоследствии могут привести к проблемам во время выполнения, нарушениям безопасности и другим уязвимостям. Примерами таких полезных проверок являются проверки на наличие постоянных условий, мертвого кода, разыменований нулевых указателей, утечек памяти и проблем с индексами массивов. Мы начинаем серию статей в блоге, в которых расскажем, как некоторые из этих проверок работают в CLion.
https://blog.jetbrains.com/clion/2023/11/striving-for-better-cpp-code-part-i-data-flow-analysis-basics/
#cpp #programming
👉 @cpp_lib
В CLion встроен анализатор потока данных, который постоянно работает во время написания кода и помогает улучшить его качество. Он может выявить различные проблемы в коде, которые впоследствии могут привести к проблемам во время выполнения, нарушениям безопасности и другим уязвимостям. Примерами таких полезных проверок являются проверки на наличие постоянных условий, мертвого кода, разыменований нулевых указателей, утечек памяти и проблем с индексами массивов. Мы начинаем серию статей в блоге, в которых расскажем, как некоторые из этих проверок работают в CLion.
https://blog.jetbrains.com/clion/2023/11/striving-for-better-cpp-code-part-i-data-flow-analysis-basics/
#cpp #programming
👉 @cpp_lib
❤4⚡1👍1🎉1
Стремление к лучшему коду на C++, часть II: краткие описания функций для ускорения анализа потока данных
В CLion 2023.3, которая сейчас находится в стадии Early Preview, мы полностью переработали DFA CLion, чтобы сделать анализ более быстрым и точным. Мы реализовали подход, называемый суммированием функций, который позволил нам различать различные контексты функций для произвольных вложенных цепочек вызовов, что привело к более точному анализу. Давайте посмотрим, как это было сделано.
https://blog.jetbrains.com/clion/2023/12/striving-for-better-cpp-code-part-ii-function-summaries-to-speed-up-the-data-flow-analysis/
#cpp #programming
👉 @cpp_lib
В CLion 2023.3, которая сейчас находится в стадии Early Preview, мы полностью переработали DFA CLion, чтобы сделать анализ более быстрым и точным. Мы реализовали подход, называемый суммированием функций, который позволил нам различать различные контексты функций для произвольных вложенных цепочек вызовов, что привело к более точному анализу. Давайте посмотрим, как это было сделано.
https://blog.jetbrains.com/clion/2023/12/striving-for-better-cpp-code-part-ii-function-summaries-to-speed-up-the-data-flow-analysis/
#cpp #programming
👉 @cpp_lib
👍2⚡1
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
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
CMake Tutorial
1 | Understanding The Basics
2 | Libraries | Installing | Pairing with Executables | RE-DONE!
3 | Git Submodules (adding glfw windowing library example)
4 | Versioning Source Code
5 | Making Libs Optional
6 | Installing Your Software! (part 1/2 of install)
7 | Installing With CPack! (part 2/2 of install)
8 | find_library(...) (part 1/2 of find lib)
9 | find_package modules and config options (2/2 of find libs)
10 | Running CMake on Windows (like linux) (Over-explained)
источник
#cpp #programming
👉 @cpp_lib
1 | Understanding The Basics
2 | Libraries | Installing | Pairing with Executables | RE-DONE!
3 | Git Submodules (adding glfw windowing library example)
4 | Versioning Source Code
5 | Making Libs Optional
6 | Installing Your Software! (part 1/2 of install)
7 | Installing With CPack! (part 2/2 of install)
8 | find_library(...) (part 1/2 of find lib)
9 | find_package modules and config options (2/2 of find libs)
10 | Running CMake on Windows (like linux) (Over-explained)
источник
#cpp #programming
👉 @cpp_lib
❤13👍4🔥3⚡1
Дорожная карта навыков разработчика на C++
В этой статье мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в разработке на C++.
https://habr.com/ru/specials/726724/
#cpp #programming
👉 @cpp_lib
В этой статье мы с помощью карты покажем, какие навыки и знания нужны разработчику на C++. Естественно, разбирать путь развития «плюсистов» будем на собственном примере — тем более что у нас в «Лаборатории Касперского» много очень разных проектов с отличающимися задачами. Однако наша карта по большей части универсальна и будет полезна всем, кто хочет развиваться в разработке на C++.
https://habr.com/ru/specials/726724/
#cpp #programming
👉 @cpp_lib
👍11⚡2🤔2💩2😁1
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
👍5