ch
Feedback
Библиотека C/C++ разработчика

Библиотека C/C++ разработчика

前往频道在 Telegram

Полезные материалы по всему, что может быть полезно плюсовику/сишнику. По всем вопросам @evgenycarter

显示更多
7 324
订阅者
-324 小时
+57
+1230
帖子存档
Низкоуровневый скриптинг на C++ для игровых движков Я постарался охватить только основы, но текст всё равно получился очень длинным. libriscv — это зрелый эмулятор RISC-V, который в настоящее время используется в игровых движках. Насколько мне известно, это единственный эмулятор, в котором основной акцент делается на обработке задержек, а также предоставляются специализированные решения и инструменты для выполнения быстрых вызовов при обращении с функциями — как входящих, так и исходящих. Причём, всё это заключено в безопасной песочнице. Задержки, наблюдаемые в libriscv, гораздо ниже, чем в эталонных эмуляторах. Меня многие спрашивали, как им пользоваться, но здесь интереснее то, как вообще может прийти в голову мысль писать скрипты на C++ — не слишком ли сложно это будет? Оказывается, нет, не очень. Вот уже несколько лет я пишу на C++ скрипты для одной большой и одной не очень большой игры, и меня почти не посещало ощущение, что виной каким-то возникающим при этом проблемам являются язык C++ или связанные с ним скриптовые API. Я много лет программирую на Lua, а до этого пользовался обычным C. Но сейчас современный идиоматический C++ — то, что мне нужно. Причём, я могу писать на этом языке как в самом игровом движке, так и за его пределами, при этом опираясь (буквально) на одни и те же абстракции и оперируя одинаковыми структурами данных. Наконец, C++ просто очень мощный. Правда, я признаю, что о вкусах не спорят, и при работе с C++ также не обойтись без компромиссов. https://habr.com/ru/articles/919620/ #cpp #programming 👉 @cpp_lib

🚀 Подборка Telegram каналов для программистов Системное администрирование, DevOps 📌 https://t.me/bash_srv Bash Советы https://t.me/win_sysadmin Системный Администратор Windows https://t.me/sysadmin_girl Девочка Сисадмин https://t.me/srv_admin_linux Админские угодья https://t.me/linux_srv Типичный Сисадмин https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin https://t.me/linux_odmin Linux: Системный администратор https://t.me/devops_star DevOps Star (Звезда Девопса) https://t.me/i_linux Системный администратор https://t.me/linuxchmod Linux https://t.me/sys_adminos Системный Администратор 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 1C разработка 📌 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С https://t.me/DevLab1C 1С:Предприятие 8 https://t.me/razrab_1C 1C Разработчик https://t.me/buh1C_prog 1C Программист | Бухгалтерия и Учёт https://t.me/rabota1C_rus Вакансии для программистов 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 академия. https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском https://t.me/python_360 Книги по Python 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/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Big Data, Machine Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/rust_lib Полезный контент по программированию на Rust https://t.me/golang_lib Библиотека Go (Golang) разработчика https://t.me/itmozg Программисты, дизайнеры, новости из мира IT https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста https://t.me/lifeproger Жизнь программиста. Авторский канал. QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности https://t.me/xakep_2 Хакер Free Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров Математика 📌 https://t.me/Pomatematike Канал по математике https://t.me/phis_mat Обучающие видео, книги по Физике и Математике https://t.me/matgeoru Математика | Геометрия | Логика Excel лайфхак📌 https://t.me/Excel_lifehack https://t.me/mir_teh Мир технологий (Technology World) Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT

Пишем игру для игровой ретро-консоли Anbernic на C++ Дисклеймер Сразу скажу, что почти всё, что описано в этой статье, я дела
Пишем игру для игровой ретро-консоли Anbernic на C++ Дисклеймер Сразу скажу, что почти всё, что описано в этой статье, я делал первый раз в жизни, поэтому я не мог не совершить ошибок. Некоторые мои решения и заявления могут быть некорректными. Воспринимать эту статью как туториал можно только на свой страх и риск. Для нормального восприятия этой статьи вы должны обладать базовыми навыками программирования на C++ и хотя бы общим представлением о том, что из себя представляет операционная система Linux. Как всё начиналось Не так давно ко мне в руки попала игровая консоль Anbernic RG35XX SP. Это портативная игровая консоль на базе четырёхъядерного процессора Allwinner H700 с ядрами Cortex-A53, которая имеет на борту операционную систему OFW (дистрибутив Linux, основанный на Ubuntu). Консоль предназначена для запуска ретро игр на эмуляторе Retroarch. Этот эмулятор поддерживает эмуляцию множества популярных игровых консолей 90х и 2000х и позволяет запускать ТЫСЯЧИ популярных игр, которые можно устанавливать на SD карточку. https://habr.com/ru/articles/897338/ #cpp #programming 👉 @cpp_lib

Как заставить шаблоны компилироваться быстро и выглядеть опрятно Павел Сухов Каждый раз при наборе ключевого слова template у меня за плечом магическим образом появляется какой-то коллега и задает стандартные вопросы: — Это же будет долго компилироваться? — Это же будет нечитабельно, мы не сможем это поддерживать? — Там же будут отвратительные ошибки компиляции, которые мы разберем только консилиумом буддийских монахов? И все эти вопросы повторяются раз за разом. Компилируется долго не все, а то, что компилируется долго, — зачастую можно ускорить. Писать шаблоны можно по-разному, кое-что можно написать красиво, емко и наглядно. Да и ошибки можно причесать новыми инструментами современного С++. В докладе — некоторые идеи по поводу медленных и сложных шаблонов, идеи по их ускорению, и развенчание некоторых мифов. источник #cpp #programming 👉 @cpp_lib

📚 Продвинутые методы архивации: LZ77/78 Приглашаем на открытый урок. 🗓 25 июня в 20:00 МСК 🆓 Бесплатно. Урок в рамках стар
📚 Продвинутые методы архивации: LZ77/78 Приглашаем на открытый урок. 🗓 25 июня в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Алгоритмы и структуры данных». ✔️ На этом вебинаре мы завершим создание архиватора, добавив алгоритм LZ77/78. Разберем принцип словарного сжатия, механизм поиска повторяющихся последовательностей и формат их кодирования. ✔️ Имплементируем выбранный алгоритм и проведем финальное сравнение всех трех методов сжатия (RLE, Huffman, LZ77/78). Определим, какие алгоритмы лучше работают для различных типов файлов и почему. Завершающее практическое занятие для тех, кто хочет освоить продвинутые алгоритмы и увидеть их применение в реальном проекте.​​​​​​​​​​​​​​​​ 🎁 Всем участникам вебинара дарим промокод, который дает скидку на обучение - Algo5 👉 Регистрация на вебинар: https://vk.cc/cMXv29 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Улучшите читаемость и надежность кода на C++: узнайте основы эффективного рефакторинга ⏺️ На открытом уроке вы научитесь двум
Улучшите читаемость и надежность кода на C++: узнайте основы эффективного рефакторинга ⏺️ На открытом уроке вы научитесь двум мощным приемам дизайна ПО: декомпозиции и абстрагированию. ▸ Мы покажем, как с их помощью улучшить производительность, сохраняя при этом ключевой принцип C++: zero overhead. ▸ Вместе с вами выполним рефакторинг небольшого приложения и повысим его читаемость и тестируемость. ❗️ В результате вы получите практические навыки, которые сможете сразу применить в своей работе. Это поможет вам улучшить кодовую базу проекта и сделать его более надежным и удобным для разработки. Посетите открытый урок в преддверие старта курса «C++ Developer» и получите скидку на обучение! 🔴 Встречаемся 19 июня в 20:00 МСК. Регистрируйтесь прямо сейчас, чтобы не пропустить: https://vk.cc/cMTUi6 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Руководство по сборке Qt под Windows из исходников с MinGW Официальный способ установки готовых бинарников Qt - через онлайн
Руководство по сборке Qt под Windows из исходников с MinGW Официальный способ установки готовых бинарников Qt - через онлайн инсталлятор. Однако он требует обязательной регистрации. Да еще и недоступен на территории РФ. Есть и другие способы получить бинарники, или собрать с компилятором от Microsoft, однако не всегда эти способы приемлемы. Сборка из исходников под Windows может оказаться несколько нетривиальна для новичков, потому сделал небольшую инструкцию по сборке Qt 5 и Qt 6. А так же рассмотрена базовая настройка QT Creator. https://habr.com/ru/articles/917252/ #cpp #programming 👉 @cpp_lib

Отсутствие динамической аллокации в embedded мире Когда мы разрабатываем под embedded, нам приходится сталкиваться с такими ф
Отсутствие динамической аллокации в embedded мире Когда мы разрабатываем под embedded, нам приходится сталкиваться с такими флагами компиляции как -nostdlib -fno-exceptions -fno-rtti. Во многих средах нет malloc/free (new/delete) и вообще нет встроенного выделения памяти. Использование «больших» стандартных контейнеров C++ (например, std::vector) нередко исключено В результате приходится решать задачу «ручного» управления памятью. https://habr.com/ru/articles/918122/ #cpp #programming 👉 @cpp_lib

Ищем Middle C++/ QML разработчик в команду Android 2ГИС Твоя зона ответственности — всё, что пользователь видит и трогает в п
Ищем Middle C++/ QML разработчик в команду Android 2ГИС Твоя зона ответственности — всё, что пользователь видит и трогает в приложении 2ГИС на Android.UI, взаимодействие с core-SDK, логика поверх API — если это на экране, значит это мы. Что делаем: — UI и механика Android-приложения — интеграция с Java/Kotlin и нативными SDK — бизнес-логика на C++ поверх core— проектирование архитектуры— фиксим, оптимизируем, покрываем тестами Команда: 20 разработчиков 3-недельные спринтывнутренние метапы, хакатоны, пятничные онлайн-чаепитияи, конечно, забота о 20+ млн пользователей Наш стек: C++20 • Qt • QML • Java/Kotlin (интеграции)Многопоточность, UI, архитектура, автотесты — всё как ты любишь. Что важно: — 3+ года на C++ — Опыт с QML - обязательно от 2-х лет — уверенность в многопоточке — умение оценивать и декомпозировать задачи — готовность к кросс-функциональному взаимодействию Условия: Удалёнка или офис (на выбор) ДМС, телемедицина, тимтусы, поездки в горы, 2FEST, митапы, хакатоны, всё по классике Хочешь делать интерфейс, которым пользуются миллионы каждый день? 👉 Откликайся

Чтение-копирование-обновление (RCU) Чтение-копирование-обновление эффективно в многопоточных средах, где структура данных поч
Чтение-копирование-обновление (RCU) Чтение-копирование-обновление эффективно в многопоточных средах, где структура данных почти исключительно читается, но редко записывается. https://www.modernescpp.com/index.php/read-copy-update-rcu/ #cpp #programming 👉 @cpp_lib

Электронная картина с автонастройкой яркости на C++/Qt Всю свою жизнь я обходил самоделки. Не привлекало, да и на непосредств
Электронная картина с автонастройкой яркости на C++/Qt Всю свою жизнь я обходил самоделки. Не привлекало, да и на непосредственной работе вполне хватало сложных программистских и инженерных задач. Но любовь к сыну сподвигла взяться за один DIY-проект. Дело в том, что я давно люблю и ценю изобразительное искусство. И также люблю изучение истории (и вообще считаю, что не программированием единым должен жить человек). И я подумал, что изучение истории и живописи можно слить в единый флакон – будет и не скучно, и полезно. Особенно полезно подрастающему школьному и дошкольному поколению. Я захотел электронную картину – чтобы выглядела как картина, а изображения бы настраивались мной, автоматически сменяясь по таймеру. Каждый день – новая картина. Каждый день – повод обсудить с сыном, как видели этот мир художники 200, 300, 500 лет назад, и вообще, а что это за разновидность палаша, аркебузы или фрегата запечатлел здесь художник. А здесь какое важное для мировой истории событие показано? https://habr.com/ru/articles/895768/ #cpp #programming 👉 @cpp_lib

Что значит инициализировать int в C++? Недавно я получил по почте от Сэма Джонсона этот вопрос. Вот слегка отредактированное
Что значит инициализировать int в C++? Недавно я получил по почте от Сэма Джонсона этот вопрос. Вот слегка отредактированное письмо Сэма: «Возьмём для примера этот код в локальной области видимости функции:

int a;
a = 5;
Многие люди считают, что инициализация происходит в строке 1, потому что веб-сайты наподобие cppreference дают такое определение: "Инициализация переменной предоставляет его начальное значение на момент создания". Однако я убеждён, что инициализация происходит в строке 2, потому что [в разных хороших книгах по C++] инициализация определяется как первое существенное значение, попадающее в переменную. Можете ли вы сказать, какая строка считается инициализацией?» https://herbsutter.com/2024/08/07/reader-qa-what-does-it-mean-to-initialize-an-int/ #cpp #programming 👉 @cpp_lib

📚 Эффективное сжатие текста: код Хаффмана в действии Приглашаем на открытый урок. 🗓 11 июня в 20:00 МСК 🆓 Бесплатно. Урок
📚 Эффективное сжатие текста: код Хаффмана в действии Приглашаем на открытый урок. 🗓 11 июня в 20:00 МСК 🆓 Бесплатно. Урок в рамках старта курса «Алгоритмы и структуры данных». На этом вебинаре мы продолжим разработку архиватора, реализовав код Хаффмана. ✔️ Рассмотрим, как построить дерево кодов, где частота появления символов определяет их битовое представление. ✔️ Интегрируем алгоритм в наш архиватор и проведем сравнительное тестирование с RLE. ✔️ Увидим, как эффективно работает код Хаффмана на текстовых файлах и других типах данных. Отличная возможность изучить продвинутые древовидные структуры данных на практическом примере. Развивайте алгоритмическое мышление, увеличивайте производительность программ. 🎁 Всем участникам вебинара дарим промокод, который дает скидку на обучение - Algo5 👉 Регистрация на вебинар: https://vk.cc/cMzzmd Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Семантика для кремниевых мозгов | Юрий Минаев, PVS-Studio Это Юрий Минаев, архитектор C++-анализатора PVS-Studio, и его доклад на C++ Zero Cost Conf 2024. Юрий рассмотрел семантику языка с точки зрения статического анализатора или фронтенда компилятора. автор: pvsstudio_rus #cpp #programming 👉 @cpp_lib

#cpp #programming 👉 @cpp_lib
#cpp #programming 👉 @cpp_lib

Хотите научиться эффективно отлаживать C++ код и устранять ошибки? ⏺️ На открытом вебинаре вы узнаете: ▸ Как искать и устраня
Хотите научиться эффективно отлаживать C++ код и устранять ошибки? ⏺️ На открытом вебинаре вы узнаете: ▸ Как искать и устранять ошибки в C++ с помощью таких инструментов, как assert'ы, логирование и юнит-тесты. ▸ Мы покажем, как использовать отладчик и почему core dump может стать вашим другом. ▸ Также познакомим вас с powerful инструментами, такими как address sanitizer и valgrind, которые помогут найти ошибки в самых сложных случаях. ❗️ Сформируйте свою «аптечку» инструментов и приемов, которые не только помогут вам быстрее находить баги, но и улучшат надежность кода на C++. Этот урок даст вам важные практические знания, которые пригодятся на всех этапах разработки. 📆 Посетите открытый урок 9 июня в 20:00 МСК в преддверие старта курса «C++ Developer» и получите скидку на обучение! Регистрация уже открыта: https://vk.cc/cMyKTU Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Опенсорс от кристалла до программного стека Нужны ли нам открытые архитектуры? Что нам нужно, чтобы они работали? В этом докладе мы попытаемся изложить основные проблемы и преимущества открытых архитектур на примере RISC-V — и расскажем про то, как происходит разработка различных инструментов, включая генераторы, компиляторы, средства бенчмаркинга. 00:00 Введение. Архитектура RISC-V, открытая и расширяемая (sigh). 05:38 Стадии конвейера и интерфейсы. 13:37 Открытые ядра на базе RISC-V, тестовое окружение и проблема верификации 19:14 Компиляторные технологии и LLVM 24:46 Моделирование и верификация RISC-V на разных уровнях и llvm-snippy 29:17 Задача бенчмаркинга и llvm-exegesis 34:24 Проблема высокоуровневого ПО, профили и развитие экосистемы 41:15 Ответы на вопросы источник #cpp #programming 👉 @cpp_lib

Проектируем змейку под учебный RISC-V микроконтроллер На третьем курсе некоторые направления в МИЭТ проходят лабораторный пра
Проектируем змейку под учебный RISC-V микроконтроллер На третьем курсе некоторые направления в МИЭТ проходят лабораторный практикум, на котором им даётся возможность спроектировать собственную систему архитектуры RISC-V и написать под неё программу на С или C++. В качестве затравки и повышения мотивации, хотелось показать им на что будет способна их процессорная система, и для этого было решено написать какую-нибудь простенькую игру, не требующую особых требований к ресурсам и графике. Так выбор пал на Змейку. В этой я расскажу о том, как была написана данная игра под платформу, поддерживающую символьный вывод. https://habr.com/ru/articles/915450/ #cpp #programming 👉 @cpp_lib

Game++. Performance traps Стандартная библиотека C++ содержит множество классов и функций, которые легко интегрируются в прое
Game++. Performance traps Стандартная библиотека C++ содержит множество классов и функций, которые легко интегрируются в проект, безопасны и протестированы на множестве кейсов. Однако за удобность и всеядность приходится платить производительностью. В играх, если производительность сразу не стоит на первом месте, то к концу проекта вы получаете такой технический долг, что проще бывает всё выкинуть и начать заново. Прямолинейное использование стандартной библиотеки в большинстве случаев, когда нужен производительный и эффективный код, я сейчас не только про игры, оказывается не лучшим выбором. Примеры ниже завершают серию статей, в которой я постарался собрать интересные моменты использования разных структур данных, используемых при разработке игр, их расширений и возможностей для улучшения. Статья рассчитана на читателей, которые не являются гуру C++ или знатоками тонкостей языка, но в целом знакомы с языком и его идеями, хотя знание ассемблера x86 не требуется, я буду прикладывать ссылки на примеры кода quickbench, чтобы объяснить, почему даю те или иные советы. Иногда я тут буду ужасы рассказывать, но большинство этих случаев мешало нормальной работе игр в проде, так что пришлось относиться к ним с уважением. https://habr.com/ru/articles/912926/ #cpp #programming 👉 @cpp_lib

🚀 Подборка Telegram каналов для программистов Системное администрирование, DevOps 📌 https://t.me/bash_srv Bash Советы https://t.me/win_sysadmin Системный Администратор Windows https://t.me/sysadmin_girl Девочка Сисадмин https://t.me/srv_admin_linux Админские угодья https://t.me/linux_srv Типичный Сисадмин https://t.me/devopslib Библиотека девопса | DevOps, SRE, Sysadmin https://t.me/linux_odmin Linux: Системный администратор https://t.me/devops_star DevOps Star (Звезда Девопса) https://t.me/i_linux Системный администратор https://t.me/linuxchmod Linux https://t.me/sys_adminos Системный Администратор 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 1C разработка 📌 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С https://t.me/DevLab1C 1С:Предприятие 8 https://t.me/razrab_1C 1C Разработчик https://t.me/buh1C_prog 1C Программист | Бухгалтерия и Учёт https://t.me/rabota1C_rus Вакансии для программистов 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 академия. https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском https://t.me/python_360 Книги по Python 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/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Big Data, Machine Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/rust_lib Полезный контент по программированию на Rust https://t.me/golang_lib Библиотека Go (Golang) разработчика https://t.me/itmozg Программисты, дизайнеры, новости из мира IT https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста https://t.me/lifeproger Жизнь программиста. Авторский канал. QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности https://t.me/xakep_2 Хакер Free Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров Математика 📌 https://t.me/Pomatematike Канал по математике https://t.me/phis_mat Обучающие видео, книги по Физике и Математике https://t.me/matgeoru Математика | Геометрия | Логика Excel лайфхак📌 https://t.me/Excel_lifehack https://t.me/mir_teh Мир технологий (Technology World) Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT