Программирование — это про общение
Люди стареют. Вместе со щёлкающей шеей, сединой в бороде и морщинами проявляется ещё одно возрастное изменение - непреодолимое желание вещать.
Политики садятся за мемуары. Спортсмены открывают тренировочные площадки . Режиссёры катают жемчужины воспоминаний о встречах с легендарными коллегами по цеху.
Программисты же бросаются излагать свои философские системы. Меня время тоже не щадит.
https://habr.com/ru/post/684282/
Руководство по CMake для разработчиков C++ библиотек
В этой статье я расскажу о том, как правильно писать современные CMakeLists.txt файлы для C++ библиотек. Идеи, используемые в ней, основаны на докладе Крейга Скотта (разработчик CMake) и докладе Роберта Шумахера (разработчик vcpkg) c CppCon 2019. Поскольку мне достаточно часто приходится разрабатывать С++ библиотеки, я создал для себя небольшой шаблон cpp-lib-template, который будет использоваться в этой статье в качестве примера.
Замечу, что я предполагаю, что читатель этой статьи имеет опыт работы с CMake, однако, как и я, часто задается вопросом, как правильно ему сделать сборку своей библиотеки.
#cpp #programming
👉 @cpp_lib
В Python так и не закрыли уязвимость, найденную ещё в 2007 году, утверждается в отчёте Trellix. Под ударом сейчас находится более 350 тысяч проектов с открытым исходным кодом.
Как пишет Bleeping Computer, в связи с тем, что ее не могли устранить так долго, она проникла в несколько сотен тысяч проектов, написанных на Python. Проблема CVE-2007-4559 была найдена в пакете tarfile и относится к типу path traversal (обход каталога), то есть позволяет злоумышленнику перезаписывать произвольные файлы.
Уязвимость существует из-за того, что код в функции extract в Python-модуле tarfile доверяет информации в объекте TarInfo.
@BookPython
⁉️Хотите делать игры на Unity в 2 раза быстрее и качественнее?
OTUS открывает набор на углубленный онлайн-курс «Unity Game Developer. Professional» для разработчиков с опытом.
📚За 5 месяцев обучения вы сможете:
- Выстраивать архитектуру игры с помощью принципов SOLID, DRY-KISS-YAGNI и паттернов GoF, GRASP
- Проектировать поведения ИИ на основе подходов Behavior Tree, Goal-Oriented Action Planning
- Реализовывать игровую систему с событиями старта, паузы и завершения
- Разрабатывать туториал без костылей
👉 Пройдите тест и пройдите на группу по спеццене
Хотите протестировать процесс обучения и познакомиться с преподавателями заранее? Регистрируйтесь на бесплатные вебинары:
1. «Механики игровых объектов» Записаться на вебинар
2. «Компоненты игровых объектов»: Записаться на вебинар🚀Регистрируйтесь сейчас — напомним перед вебинаром!
Из джуна в мидла: рекомендации, как справиться с проблемами роста
Планомерный и беспроблемный рост — мечта любого IT-специалиста. Но, к сожалению, так бывает только в идеальном мире. В реальной жизни всегда встречаются сложности, которые нелегко обойти, особенно джунам. Далее
👉 @bookflow
gRPC на практике: особенности, преимущества и недостатки
В этом материале я расскажу:
о преимуществах gRPC;
об особенностях работы с протоколом, и о том, как с ними жить;
о тех проблемах, с которыми мы столкнулись;
и о том, как их решить. Далее
👉 @bookflow
Оптимизация GUI на Qt
Как правило, при создании desktop-приложений на платформе Qt не возникает проблем, связанных с медленностью работы GUI. Qt – платформа достаточно надежная, неплохо вылизанная по всем параметрам, в том числе и по скорости работы. Однако всё же иногда бывают ситуации, когда из-за обилия виджетов графический интерфейс немного притормаживает, и это печально). В этой статье я приведу один частный пример простого графического интерфейса и покажу, как за два шага можно сначала ускорить его в 11 раз, а потом и в целых 34 раза. Вдобавок к этому, я постараюсь немного осветить механизм принятия решения для таких оптимизационных задач, постараюсь показать направление мыслей для правильного решения. Поехали!
👉 @bookflow
ВВС: История математики
Часть 1 Язык вселенной
Часть 2 Гений Востока
Часть 3 Пределы пространства
Часть 4 За пределы бесконечности
Математика - универсальный язык Вселенной, фундамент, на котором основаны все другие науки. Как человечество смогло открыть тайны этого универсального языка? Начиная с древнейших времен, прослеживается история математики до наших дней и завершается рассказом о наиболее важных проблемах современности. За решение каждой из этих "проблем тысячелетия" полагается крупное денежное вознаграждение. Но главное, их решение позволит лучше понять устройство нашего мира.
@phis_mat
Как я решил проблему плохого кода с помощью architecture guide
Буквально на днях, спустя три недели после выхода на работу, мой новый программист пишет такой же код, как и трое моих других опытных разработчиков, которые на том же проекте около года. В свою очередь эти трое создают единую архитектуру, дают одинаковые названия сущностям и пишут чистый код, что сильно упрощает проведение code review и облегчает всем понимание кода.
В этой статье я поделюсь своим опытом : за счет чего же я этого достиг. Я думаю мой опыт может быть вами применен в любой сфере IT и не только!
👉 @bookflow
Что делать, если в твоем тексте или коде нашли ошибку?
Ситуация глазами разработчика
Ты написал код, отправил его на ревью. Во время ревью тебе указали на ошибку в коде и вернули задачу на доработку.
Здесь мы не рассматриваем ошибки в бизнес-логике написанного кода — только ошибки на уровне интерпретатора/компилятора, из-за которых приложение «падает». Далее
👉 @bookflow
Сегментация экземпляров с помощью Mask R-CNN
Задача сегментации изображений может решаться в нескольких постановках. Самая распространённая - semantic segmentation с одним классом и фоном, необходимо просто отделить объекты от фона, не различая их между собой. Но часто просто отделения от фона недостаточно, необходимо отделять отдельные образцы друг от друга, например, чтобы оценить размер или расположение каждого отдельного объекта. Как это можно сделать? Далее
👉 @bookflow
Осваиваете C++?⚡️ Приглашаем 20 сентября, вторник в 20:00 мск на бесплатный вебинар «ООП глазами C++».
📚 На вебинаре поговорим и посмотрим на примерах, как термины ООП реализуются в синтаксисе языка C++.
Хоть и модно критиковать ООП-подход к разработке кода, он остаётся самым популярным во многих и многих сферах. Поэтому настоящему профессионалу необходимо знать и уметь использовать данную парадигму разработки.
✅ Используйте эту возможность, чтобы познакомиться с преподавателем и оценить материалы онлайн-курса «C++ Developer» от OTUS!
👉 Записаться на вебинар: https://otus.pw/4Qbp/
Что такое «Разделение ответственности» в коде
Машины Руба Голдберга «работают». А еще они неэффективные, хрупкие, их сложно изготовить и поддерживать. Поэтому написать код, который «просто работает» — очень низкая планка.
Многие не осознают, что написание кода во многом напоминает написание эссе или книги. Насколько же я был уверен, что умение писать эссе мне «в жизни не пригодится» - но позже я узнал, что писать эссе – значит гораздо больше, чем укладываться в число слов и соответствовать критериям оценки. Далее
👉 @bookflow
Идиома CRTP и написание общих функций в C++
Что такое идиома CRTP?
Термин CRTP (curiously recurring template pattern) появился в 1995 году в одноименной статье, написанной Джеймсом О. Коплином. Он предполагает специализацию базовых классов с использованием производных классов в качестве аргументов шаблона. Далее
#cpp #programming
👉 @cpp_lib
Хотите начать карьеру разработчика, но непонятно, с чего начать? Узнайте на дне открытых дверей направления программирования Яндекс Практикума.
→ Бесплатно, 20 сентября в 17:00
На встрече будет три блока о программировании.
1) Какие профессии есть в сфере?
Расскажем о задачах специалистов и навыках для старта. А ещё — о том, как и где учиться, чтобы не забросить на полпути и найти работу после обучения.
О каждой профессии расскажет эксперт:
◾️ Веб-разработчик
Максим Чеченёв, Lead Frontend Developer в Яндекс Практикуме.
◾️ Python-разработчик
Андрей Пронин, техлид в Яндекс Практикуме.
◾️ Java-разработчик
Александр Поплёвко, автор курса «Java-разработчик» в Яндекс Практикуме.
◾️ Инженер по тестированию
Дарья Мартынова, Lead Software Testing Engineer в EPAM Systems.
◾️ iOS и Android-разработчик
Иван Афанасьев, Staff Engineering Lead.
Мария Кирдун, Lead Android Developer в Trinity Monsters.
2) Как обстановка на IT-рынке?
Расскажет Катя Бутырская, менеджер по трудоустройству выпускников курсов по бэкенд-разработке Практикума.
◾️ Динамика и перспективы на IT-рынке.
◾️ Барьеры и возможности для роста начинающих разработчиков.
◾️ Как Практикум помогает с трудоустройством на примере направления веб-разработки.
В конце будет время, чтобы задать спикерам вопросы, которые вас волнуют.
→ Зарегистрироваться на день открытых дверей
Колхоз. Большая история фермы устройств Яндекса
Все новые сервисы Яндекса, а также апдейты к существующим приложениям и сайтам нужно тестировать: на айфонах, андроидах, десктопах, умных колонках, телевизорах. Раньше часть тестировщиков работали на личных телефонах и компьютерах, а часть — использовали для тестов корпоративные девайсы. Процесс не был гибким и с трудом масштабировался. Поэтому мы сделали свою клауд-ферму устройств. Сначала ей пользовались только отдельные команды тестирования, но со временем ферма стала особенно популярна и среди разработчиков. В итоге мы собрали почти 800 разных девайсов, которые теперь доступны 24/7. Далее
👉 @bookflow