🎙🔥Серия языковых и платформенных выпусков подкаста Podlodka пополнилась интересной темой про разработку на Qt
Изначально ведущие планировали говорить о Qt исключительно в контексте кроссплатформенной десктопной разработки. Но в процессе осознали, что такое представление слишком ограничено, и возможности Qt гораздо шире.
Андрей Бочарников, desktop-разработчик и техлид в компании Mode, устроил насыщенный экскурс в мир Qt. Вы узнаете про:
✅ Историю развития технологии в контексте вызовов индустрии тех времён
✅ Основные компоненты Qt — объектную модель, виджеты, QML, стандартную библиотеку
✅ Возможности работы с Qt не только на C++
✅ Рынок Qt-разработки
⏯️ YouTube | Apple Подкасты | Google Подкасты | Яндекс Музыка | Сайт подкаста
#подкасты
💡 Стратегии ветвления на практике: что выбрать для своей команды?
📌 Git flow — стратегия ветвления, полезная для команд, у которых есть четкие процессы выпуска и необходимость поддерживать стабильность своих продакшн-окружений.
Однако зависимость от множества веток и правил добавляет много сложности к процессу. Это может быть непосильно для новых членов команды и может привести к конфликтам из-за несоблюдения принципов непрерывной интеграции.
📌 GitHub flow — легковесная стратегия ветвления, хорошо подходящая для команд, практикующих непрерывный деплой. Эта стратегия подчеркивает совместную работу, частые выпуски и упрощенный процесс разработки.
Учитывая ее простоту, GitHub flow лучше всего подходит для небольших команд и проектов. Однако по мере увеличения размера и сложности становится сложно управлять изменениями во всей кодовой базе.
📌 Trunk-based development — стратегия ветвления, при которой разработчики работают над кодом в одной ветке, называемой trunk
. Она требует прямых пушей в trunk
и совместной работы разработчиков для поддержания стабильной ветки trunk
.
Поскольку изменения непрерывно интегрируются в trunk
, существует более высокий риск внесения изменений, которые могут повлиять на стабильность всей системы.
📌 Space Git flow — стратегия ветвления от JetBrains, похожая на GitHub flow, но с бо́льшим акцентом на безопасность при внесении изменений в ветку main
и возможностью масштабирования до крупных проектов и команд.
💬 Каждая стратегия имеет свои сильные и слабые стороны, и лучший выбор зависит от конкретных потребностей вашей команды, а также таких факторов, как размер команды, процесс разработки, частота деплоя и требования к качеству кода.
👉 Подробнее здесь и здесь
#советыдляразрабов
🤯 Когда усердно выделял и копировал код, но для вставки снова нажал Ctrl+C (⌘+C) вместо Ctrl+V (⌘+V)
#жиза
Программируйте со скоростью мысли
🛠 Zed — высокопроизводительный многопользовательский редактор кода с открытым исходным кодом от создателей Atom и Tree-sitter. Он сочетает в себе мощь IDE с оперативностью легкого редактора, обеспечивая производительность, которую вы можете почувствовать под рукой.
📌 Он написан на Rust и поддерживает:
✅ Полное синтаксическое дерево для каждого буфера по мере ввода, обеспечивая точную подсветку кода, автоматический отступ, просмотр схемы с возможностью поиска
✅ GitHub Copilot с возможностью генерации/рефакторинга кода с помощью GPT-4
✅ Встроенный полнофункциональный терминал для доступа к командной строке
✅ Модальное редактирования в стиле Vim, а также использование хоткеев и командной палитры
✅ Работу с кодом на любом устройстве
✅ Набор светлых/темных тем, а также возможности кастомизации
✅ Каналы для обсуждения, планирования и написания кода с командой, включая возможности аудио и текстового чата
👉 GitHub
👉 Сайт
🤩 Новый выпуск Game Bytes уже здесь
📌 Game Bytes — ежемесячная серия из мира разработки игр на GitHub. Ниже — некоторые из наиболее ярких новостей:
🎮 Выпуск VVVVVV 2.4: популярный платформер-головоломка, в котором нельзя прыгать, но можно переворачивать гравитацию, был выпущен как Flash-игра в 2010 году, портирован на C++ в 2011 году и открыт в 2020 году. Версия 2.4 включает переводы на 21 язык, исправления ошибок и улучшения производительности.
🎮 Выпуск Hypersomnia на Steam. Hypersomnia — это быстрый многопользовательский топ-даун шутер, вдохновленный такими играми, как Counter-Strike и Hotline Miami. Игра разрабатывалась с 2013 года и была впервые запущена на Steam в декабре 2023 года.
🎮 Hyperrogue 13.0: уникальная рогалик-игра, разворачивающаяся на гиперболической плоскости, получила свое первое крупное обновление с 2021 года. Версия 13.0 вводит новые игровые механики, включая арбалет, и новые способы визуализации неевклидовых геометрий.
🎮 Daggerfall Unity 1.0 теперь доступен: этот проект по сохранению игры является самой полной реализацией The Elder Scrolls II: Daggerfall 1996 года. Daggerfall Unity переносит классическую RPG из эмуляции DOS на Windows, macOS и Linux.
🎮 Heaps.io 2.0: игровой движок, созданный оригинальным дизайнером языка Haxe, получил обновление с рефакторингом буферов, унифицированным кэшированием шейдеров и поддержкой DirectX 12.
🎮 GodotOS — новый минималистичный десктопный интерфейс: созданный в игровом движке Godot, GodotOS предлагает элегантный и минималистичный десктопный опыт.
🎮 LDtk 1.5: известный редактор уровней от создателя Dead Cells и Nuclear Blaze получил обновление с новыми функциями, включая глобальный поиск и улучшенную поддержку больших проектов.
🎮 ScummVM 2.8.0: проект по сохранению игр добавил поддержку 50 новых игр, включая несколько титулов Nancy Drew и Syberia, а также выпустил версию для iPhone и iPad.
#геймдев #чтопроисходит
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
🐻❄️ Быстрее Pandas в 10 раз: Polars — высокопроизводительная библиотека для анализа больших данных на Python
Разработанная с нуля на языке Rust библиотека Polars объединяет в себе скорость, гибкость и богатый инструментарий для анализа больших данных на Питоне, что позволяет считать её достойной заменой популярной библиотеке Pandas.
👉 Читайте о Polars подробнее в нашей статье 👈
🤯 Вроде в сообществе появилось устойчивое мнение, что каждый конкретный язык подходит для конкретной задачи, но все равно каждый год мы видим подобные сравнения.
В любом случае согласитесь, что интересно посмотреть на результаты сравнения языков, которые сейчас на хайпе?! 😉👇
🐍➰ Создаём игру «Виселица» на Python. Часть 1. Командная строка
Осваиваем азы программирования на Python, разработав классическую игру «Виселица» с интерактивным интерфейсом и увлекательной геймплейной механикой.
🔗 Читать статью
🔤 Азбука SQL в примерах. Часть 3. Обрабатываем результаты и делаем сложные запросы
Мы уже умеем довольно много, и наша база содержит полезную информацию. А еще она умеет проверять новые данные, когда мы их добавляем. Пора разобраться, как их обрабатывать, чтобы узнать из данных что-то интересное.
👉 Читать статью
👉 Часть 1
👉 Часть 2
📈 9 главных трендов в разработке фронтенда в 2024 году
В статье разбираем самые популярные языки, технологии, инструменты и архитектурные концепции:
1️⃣ JavaScript — по-прежнему бесспорный лидер
2️⃣ TypeScript набирает популярность
3️⃣ Прогрессивные веб-приложения (PWA) стали стандартом
4️⃣ Микрофронтенды (Micro Frontends) — микросервисы на фронтенде
5️⃣ Feature-Sliced Design — оптимальная архитектура
6️⃣ Jamstack — статические сайты, неотличимые от динамических
7️⃣ SWC — супербыстрый транспайлер
8️⃣ Backend-driven UI — интерфейс, управляемый бэкендом
9️⃣ Использование ИИ на всех этапах разработки фронтенда
🌳Решение задачи про вырубку деревьев
Обозначим расстояние между деревьями после вырубки d. Тогда существует n – d х (m – 1) – m + 1 способов вырубить деревья. Чтобы найти все варианты, нужно просуммировать способы по всем d. Кроме того, нужно учесть 2 частных случая – когда количество оставшихся после вырубки деревьев равно 0 или 1.
1️⃣ вариант:
n, m = list(map(int, input().split()))
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, n):
trees += (n - d) // (m - 1)
print(trees)
n, m = map(int, input().split())
trees = 0
if m == 0:
trees = 1
elif m == 1:
trees = n
else:
for d in range(1, (n - 1) // (m - 1) + 1):
trees += n - (m - 1) * d
print(trees)
🛠️ Better Commits — CLI-инструмент для написания коммитов в соответствии с соглашением Conventional Commits, которое предлагает простой и понятный набор правил для создания истории изменений (писали подробнее здесь).
👉 cz-cli — аналогичный инструмент с бОльшим количеством звезд, но с менее активной поддержкой
#инструменты
💡От Big Bang до Canary: шпаргалка с ключевыми стратегиями деплоя ПО
☑️ Big Bang
☑️ Rolling
☑️ Canary
☑️ Blue-Green
☑️ A/B тестирование
☑️ Shadow
☑️ Immutable
☑️ Feature Toggle
👉 Читайте на Medium или в PDF (файл в комментариях)
📙 Книга тайных знаний — тщательно подобранная коллекция ресурсов, руководств, шпаргалок, блогов, советов, однострочников, CLI-инструментов и многого другого для системных и сетевых администраторов, DevOps-специалистов, пентестеров и исследователей безопасности.
👉 GitHub
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
🐍➰ Создаем игру «Виселица» на Python. Часть 2. Графический интерфейс на PySimpleGUI
В первой части мы написали код для получения и обработки вводимых игроком данных, создали некоторые компоненты и текстовый пользовательский интерфейс (TUI). Во второй части реализуем логику игры «Виселица» и создадим графический интерфейс с помощью PySimpleGUI.
🔗 Читать статью
🧩🧠 Хотите узнать насколько хорошо вы знаете математику, чтобы начать заниматься Data Science?
Вот несколько не самых сложных задач, главное в которых — проверить математическую интуицию и смекалку. Все задачи снабжены пояснениями и ответами.
🔗 Пройти тест
Не расстраивайтесь если не сможете набрать максимальное колличество баллов. Чтобы подтянуть знания поможет наш курс Математика для Data Science.
👉 Начать можно с вводных занятий, чтобы познакомиться с преподавателями и форматом обучения.
На водных занятиях вас ждет:
– Лекции с преподавателями кафедры ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск.
– Практические задания для закрепления материала.
– Ссылки на дополнительные материалы.
⚡️Переходите и активируйте – https://proglib.io/w/d7b4e866
👨💻🧩 Психология и ИТ: 17 личностных качеств, необходимых для успешной карьеры
В статье разберем, какие качества необходимы для успешного старта в IT-сфере.
Читать статью
#новость
🤯 Rust vs. Go в 2024 году
🤔 Ну что, давненько не было холиваров. Прошлогодняя статья-сравнение актуализирована в соответствии с реалиями 2024 года (хотя плюсы и минусы остаются весьма схожими).
👉 Читайте подробнее, чтобы узнать о преимуществах/недостатках обоих языков и некоторых компромиссах.
💰⬆️ 10 факторов, влияющих на зарплату программиста
Узнайте 10 факторов, как превратиться из рядового программиста в высокооплачиваемого специалиста и научиться аргументированно запрашивать зарплату выше рынка.
Читать статью
#новость
Погрузись в системный дизайн высоконагруженных проектов на 3 месяца
Хотите получить новые навыки в проектировании высоконагруженных систем, а также преимущество в технических собеседованиях? Это можно сделать с курсом «Системный дизайн высоконагруженных проектов» 👇
На курсе вы получите:
💡 фундамент компетенций архитектора сложных и высоконагруженных информационных систем;
💡 архитектурные брейштормы на проектирование в формате «живых» онлайн-сессий;
💡 практику прохождения и проведения секций системного дизайна на интервью.
Автор курса – Алексей Рыбак (@rybakalexey), ex-CTO Badoo и Vezet, член программного комитета Highload с многолетним опытом разработки программного обеспечения и управления технологическими организациями.
Успейте зарегистрироваться и получить пробное занятие бесплатно.
🤔🚜 Попытка убедить клиента, что его одностраничному приложению нужен Kubernetes
Придумали описание поинтереснее? Кидайте в комментарии👇
#юмор
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
🤔 Rust ужасен или просто многословен? Решать вам!
Если хотите немного погрузиться в #rust, здесь есть отличное объяснение всех типов строк языка.
Когда осознал, что 2024 год — високосный. А это значит, что придётся работать НА ОДИН ДЕНЬ БОЛЬШЕ.
Читать полностью…🤖 Итоги недели в мире ИИ и обзоры новых сервисов
Мы написали статью на VC, которая основана на очередном выпуске нашей рассылки про последние новости и тенденции в мире ИИ. Залетайте и читайте!
👇Ниже — мини-подборка из статьи 👇
📰 Новости
▫️ OpenAI объявила о запуске долгожданного магазина кастомных чат-ботов.
▫️ В Пасадене (штат Калифорния) открывается первая закусочная CaliExpress by Flippy, полностью управляемая ИИ.
▫️ NVIDIA выпустила модель для распознавания речи Parakeet, которая по всем показателям превосходит OpenAI Whisper.
▫️ Использование ИИ в совместном научном проекте Microsoft и Тихоокеанской северо-западной национальной лаборатории в течение недели помогло определить новый элемент, который поможет снизить на 70% использование лития в батареях. Без ИИ такое исследование заняло бы по меньшей мере 20 лет.
▫️ Компания ByteDance выпустила новую модель MagicVideo-V2 для генерации видео.
🛠 Инструменты
◾️ Auto Wiki — генерирует вики-документацию для GitHub репозиториев.
◾️ Code to Flow — визуализирует, анализирует и объясняет код, написанный на всех популярных языках и фреймворках.
◾️ Concepto — платформа для создания прототипов веб-приложений.
◾️ Afforai — выполняет суммаризацию, перевод и поиск по множеству документов.
◾️ Corgea — исправляет уязвимые фрагменты кода.
◾️ Jan — опенсорсный оффлайновый чат-бот.
◾️ Plus AI — плагин для Google Slides: делает профессиональные презентации, персональные и командные дашборды, любые отчеты.
🤙 Сделай сам
🔸 WikiChat — опенсорсный инструмент для коррекции галлюцинаций с помощью информации из Википедии.
🔸 Подробная шпаргалка и советы по созданию продвинутых RAG.
🔸 OpenVoice — опенсорный инструмент для мгновенного клонирования голоса.
🎓 Туториалы
🔹 Туториал по работе с новым API Query Pipelines показывает примеры создания простых линейных цепочек и сложных ациклических графов из модулей LlamaIndex.
🔹 Туториал по объединению LLM с помощью mergekit детально разбирает 4 основных метода объединения моделей.
#чтопроисходит