Пикассо однажды сказал: «Главный враг творчества — здравый смысл»
Мой простенький блог размещён в S3 buckets за CDN и генерируется с помощью кода Python, который применяет HTML-шаблоны на основе Jinja к файлам Markdown. Почему? Потому что я могу!
🤔 Как правильно формулировать вопросы?
🤯 Согласитесь, что бесит, когда у тебя спрашивают какие-то очевидные вещи, и ты сразу понимаешь, что человек просто ленится сам погуглить. Автор треда прошел через многое, прежде чем научился правильно задавать вопросы.
📌 Его мысли можно выразить одной фразой: «Чтобы не задавать вопрос в духе "привет, а как делать N?", попробуйте разобраться сами и задайте его уже по сути, а не в общем».
🤯 Про нашумевший тред парня, который нашел жену из 5239 девушек с помощью ChatGPT, слышно из каждого утюга. Поэтому интересна уже не сама история, а то, как люди на нее реагируют. А люди обычно разбираются, правда это или хайп, а также делают мемы.
🤦 Так вот, здесь айтишник с технической точки зрения оценил этот самый тред. Спойлер: либо парень гений, либо врёт.
Ну а мемы прикрепили к посту 😉
#назлобудня
🎙️ Подкаст «Доктор Кот»: вредный трудоголизм — программирую, учусь и работаю 24/7, но этого все еще мало
Знакомо? Еще бы, но за трудоголизмом не всегда кроется благородное достигаторство — там может быть много негативных последствий.
Если вы, как и многие айтишники, не можете позволить себе нормально отдохнуть, этот выпуск для вас.
📺 Смотреть
🎧 Слушать
#подкасты
🛤 Ах, как хочется вернуться, ворваться в монолит! / Павел Лакосников, TechLead команды SLA/Antimonolith в Авито
🤔 Микросервисы — это все еще новый черный. Любой продукт станет лучше, если в нем есть блютус, блокчейн и микросервисы. Но как оно на самом деле? Ждет ли вас «град на холме»?
🎙В докладе на конференции Saint HighLoad++ Павел рассказывает о том, как команда Авито шла к микросервисам. Доклад представляет собой таймлайн-историю, где показаны разные этапы микросервисной архитектуры Авито, компромиссы и что в итоге получилось.
🤯 В любой архитектуре простое и очевидное решение может потянуть за собой хвост проблем в будущем. Например, добавление ретраев. Денис Исаев из Яндекс Go поделился опытом решения проблем с отказоустойчивостью из-за ретраев. История основана на реальных инцидентах в системе из 800 микросервисов.
🎙🔥Серия языковых и платформенных выпусков подкаста 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 подробнее в нашей статье 👈
🤯 Вроде в сообществе появилось устойчивое мнение, что каждый конкретный язык подходит для конкретной задачи, но все равно каждый год мы видим подобные сравнения.
В любом случае согласитесь, что интересно посмотреть на результаты сравнения языков, которые сейчас на хайпе?! 😉👇
Программируемая, масштабируемая и безопасная конфигурация
🤩 Подборка случайных докладов на недавних конференциях (и не только) от известных специалистов в индустрии
📺 C++ Russia: «C++ трюки из userver» / Антон Полухин
📺 HolyJS: «CSS first. Когда JS не нужен» / Никита Дубко
📺 DotNext: «Поговорим об описательной статистике перформанс-распределений» / Андрей Акиньшин
📺 HighLoad++: «От 0 до 200 000 000 игроков — об эволюции бэкенда за 40 мин» / Андрей Михеев
📺 Heisenbug: «Используем JS в браузере для повседневных задачек» / Алексей Иванов
📺 TechTrain: «Что такое MLOps и как это работает на примере Сбера» / Дмитрий Бугайченко
😈 Даркнет: как устроен теневой рынок труда
Рассказываем, как устроен теневой рынок даркнета, каких ИТ-специалистов там ищут и какую зарплату предлагают.
🔗 Читать статью
🔗 Зеркало
🏃 Самоучитель по Go для начинающих. Часть 6. Функции и аргументы. Области видимости. Рекурсия. Defer
В этом уроке рассмотрим функции, аргументы, области видимости, затронем тему указателей, узнаем про рекурсию и её применение в программировании, а также научимся использовать ключевое слово defer.
👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
👉 Часть 5
🤯 Работа с конфликтами слияния (merge
) и перебазирования (rebase
) в Git может быть сложной и трудозатратной, особенно в больших проектах или при частых изменениях. Здесь на помощь приходит малоизвестная, но мощная функция Git — git rerere
(reuse recorded resolution).
🛠 Этот инструмент позволяет Git запоминать, как вы разрешали конфликты, и автоматически применять эти решения в будущем, существенно упрощая процесс разрешения повторяющихся конфликтов.
📌 Существует несколько ситуаций, в которых данный функционал может пригодиться:
1️⃣ Один из примеров состоит в том, чтобы обеспечить в будущем простоту слияния некоторой долгоживущей ветки, не создавая при этом набор промежуточных коммитов слияния.
При использовании rerere
вы можете время от времени выполнять слияния, разрешать конфликты, а затем откатывать слияния. Если делать это постоянно, то итоговое слияние должно пройти легко, так как rerere
сможет разрешить все конфликты автоматически.
Такая же тактика может быть использована, если вы хотите сохранить ветку легко перебазируемой, то есть вы не хотите сталкиваться с одними и теми же конфликтами каждый раз при перебазировании.
2️⃣ Другая ситуация возникает, когда вы изредка сливаете несколько веток, относящихся к ещё разрабатываемым задачам, в одну тестовую ветку. Если тесты завершатся неудачей, вы можете откатить все слияния и повторить их, исключив из них ветку, которая поломала тесты, при этом не разрешая конфликты снова.
📌 Для включения функциональности rerere
достаточно изменить настройки следующим образом:
$ git config --global rerere.enabled true
Друзья, DevOpsConf 2024!
4 и 5 марта в Москве, в Сколково соберутся более 1000 ваших коллег и ведущих экспертов отрасли. В программе — 80+ докладов, митапы, воркшопы и круглые столы.
Покажем все новинки индустрии: использование ChatGPT в своей работе и новые фичи и утилиты. Расскажем, как жить без Kubernetes, но с ansible и 1С.
Не пропустите доклады от самых крутых спикеров мира DevOps:
Антон Гаврилов (Инфосистемы Джет). "Kyverno: 99+2"
Евгений Харченко (Райффайзен Банк). "Как DevOps влияет на эффективность организации?"
Максим Чудновский (АО "СберТех"). "Istio Ambient Mesh - эволюция или революция?"
Илья Кочнев (СберМаркет). "FinOps в Облаках"
Карапет Манасян (MOEX). "Сколько стоит платформа?"
Вся Программа - уже на сайте конференции.
✅ Билеты здесь: devopsconf
Ждём вас на DevOpsConf 2024!
Реклама. ООО "КОНФЕРЕНЦИИ ОЛЕГА БУНИНА". ИНН 7733863233.
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
📙 Книга тайных знаний — тщательно подобранная коллекция ресурсов, руководств, шпаргалок, блогов, советов, однострочников, 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 факторов, как превратиться из рядового программиста в высокооплачиваемого специалиста и научиться аргументированно запрашивать зарплату выше рынка.
Читать статью
#новость