🌳Решение задачи про вырубку деревьев
Обозначим расстояние между деревьями после вырубки 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 (файл в комментариях)
🤯🔥Сеньор немного накосячил на проде...
Сам виноват, но быстро исправился и не потерял атмосферу!
#юмор
💰IT-специалистам в РФ с большим стажем предложили выдавать звание «Ветерана труда»
10 января 2024 года СМИ сообщили, что депутат Госдумы Яна Лантратова предложила IT-специалистам в РФ с большим стажем трудовой деятельности выдавать звание «Ветерана труда».
В случае принятия предложения со стороны правительства, мужчины смогут получить новые льготы после 40 лет работы в IT-отрасли, а женщины — после 35 лет. Внутри: ежемесячные выплаты, компенсация за коммуналку и льготные проездные. Размер выплат и порядок предоставления льгот будут разными в зависимости от региона.
🤷♂️ И да, на картинке должен был быть мем, но мы его еще не придумали. Есть идеи?
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
🏃 Самоучитель по Go для начинающих. Часть 5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
В этой части самоучителя мы узнаем про составные части любой программы — условные конструкции и циклы, рассмотрим особенности их реализации в Go, а также решим несколько занимательных задач для закрепления теоретического материала.
👉 Читать статью
👉 Часть 1
👉 Часть 2
👉 Часть 3
👉 Часть 4
💡Как сделать неправильный код заметным: по мотивам статьи 2005 года от Joel Spolsky, автора Trello и сооснователя Stack Overflow
Джоэл обсуждает идею о том, что писать код так, чтобы упростить обнаружение потенциальных проблем. Для этого он предлагает различные конвенции именования и структурирования кода, а также расширяет уже существующие.
📌 Несколько примеров кода, основанных на материалах статьи:
1. Венгерская нотация для разделения безопасных и небезопасных строк:
✔️ Небезопасная строка (например, ввод пользователя): usUserInput
✔️ Безопасная строка: sSafeString
Пример использования:
char *usUserInput = getUserInput();
char *sSafeString = sanitizeInput(usUserInput);
struct SafeString { std::string value; };
struct UnsafeString { std::string value; };
SafeString sanitize(UnsafeString us) {
// ...
return SafeString{/* ... */};
}
def delete_file_safe(file_path):
# Безопасное удаление файла с проверками
pass
def delete_file_force(file_path):
# Принудительное удаление файла без проверок
pass
🛒 Несколько дней назад OpenAI официально запустила магазин кастомных чат-ботов GPT Store
В ноябре 2023 года OpenAI представила функцию GPTs, с помощью которой пользователи могут создавать кастомных чат-ботов. Сообщалось, что с её помощью можно добавлять специальные возможности, навыки и знания. Настройка чат-бота осуществляется с помощью текстового описания его роли. Кроме того, можно передать системе источник специфических данных.
В OpenAI подчеркнули, что лучшие решения могут появиться только благодаря усилиям сообщества. Поэтому вместе с GPTs анонсировали магазин GPT Store для общедоступной публикации пользовательских чат-ботов.
Функция GPTs и площадка GPT Store постепенно появятся у пользователей с платными подписками уровня Plus, Team и Enterprise. Кроме того, в первом квартале 2024 года станет доступна система денежного поощрения создателей кастомных чат-ботов, а корпоративные клиенты получат возможность создавать частные разделы в GPT Store.
👉 Источник
#новости
👨🎓Направления проектирования систем: шпаргалка для подготовки к собесу от ByteByteGo
☑️ Балансировка нагрузки
☑️ API Gateway
☑️ Протоколы связи
☑️ CDN
☑️ База данных
☑️ Кэш
☑️ Очередь сообщений
☑️ Генерация уникальных идентификаторов
☑️ Масштабируемость
☑️ Доступность
☑️ Производительность
☑️ Устойчивость к сбоям и восстановление
☑️ Безопасность и многое другое
#проектирование_систем
🤔 ПО с открытым исходным кодом: что это, зачем нужно и как на этом заработать простому программисту и большой компании
🕐 00:00 Что такое опенсорс
🕐 00:36 Лицензии на код
🕐 05:28 Монетизация
🕐 12:33 Успешные примеры
🕐 16:00 Как выбрать идею
🕐 16:58 Открытый код от больших компаний
👉 Смотреть
🎉 Python и неопытные программисты: наши лучшие статьи за 2023 год
За 2023 год «Библиотека программиста» опубликовала 227 статей, и Питон второй год подряд в ТОПе.
Вот 5 самых популярных материалов (сохраняй, если не читал):
🐛 9 признаков неопытного программиста
😢 Обратная сторона медали: 9 причин, почему тебе не нужно идти в IT
🚩 Кому не подходит работа в IT: 6 красных флагов
🐍📚 ТОП-15 книг по Python для начинающих и опытных разработчиков в 2023 году
🐍 Самоучитель по Python для начинающих. Часть 11: Функции с позиционными и именованными аргументами
Ещё больше итогов года, а также ссылки на «Самоучитель по Python для начинающих» здесь 👈
🍊Подборка лучших статей «Библиотеки программиста» за декабрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🛠️ 17 суперинструментов для разработки фронтенда
🏃 Самоучитель по Go для начинающих: часть 3 + часть 4
🔟🏢 ТОП-10 российских IT-работодателей
📁💡Где программисту взять идеи для портфолио
🐍📋 F-строки в Python для интерполяции и форматирования строк
🤖 Машинное обучение: что это такое и как оно работает
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT
🐍🤖✍️ Документирование кода и проектов на Python с помощью ChatGPT
📈 Обзор рынка труда в ИТ: III квартал 2023 года
🐍⚙️ Python или Rust: что выбрать для анализа данных и машинного обучения
🧠🧩 Зачем айтишнику психолог?
🐍🧫 Создаём игру «Жизнь» Джона Конвея на Python
👨🎓 14 бесплатных ресурсов, которые пригодятся каждому разработчику
✍️ Почему отсутствие технической документации убьёт ваш проект?
❓👨💻 Вопросы для подготовки к собеседованию по JavaScript. Часть 1
🎄🎁 10 абсурдных подарков программисту на Новый год
😺🐙✅ Как разобраться в Git: краткая инструкция для джунов
🔥 12 признаков выгорания или как понять, что вам пора в отпуск
⚙️✅📕 Ответы на вопросы для самопроверки из книги «Тестирование Дот Ком» Романа Савина
🏦⚠️ Борьба с ошибками разработки ПО в финтехе
📊 Издание DB-Engines обновило свой рейтинг популярности СУБД и присудило звание СУБД 2023 года проекту PostgreSQL, который за год продемонстрировал наибольших рост популярности. Второе место присуждено облачной платформе Databricks, которая за год поднялась с 19 на 17 место в рейтиге, а третье место занял движок Google BigQuery, который поднялся с 21 на 19 место в рейтинге.
По методике расчёта рейтинг СУБД напоминает рейтинг языков программирования TIOBE и учитывает популярность запросов в поисковых системах, число результатов в поисковой выдаче, объём обсуждений на популярных дискуссионных площадках и социальных сетях, число вакансий в агентствах по найму персонала и упоминаний в профилях пользователей.
Что касается распределения СУБД в рейтинге, PostgreSQL продолжает занимать 4 место, несмотря на наибольший во всем рейтинге рост популярности — 34.11 балла. Значительное снижение популярности за год наблюдается у MySQL, Microsoft SQL Server, MongoDB, Redis и SQLite.
👉 Источник
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.
В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги
👉Подписаться👈
Когда осознал, что 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 основных метода объединения моделей.
#чтопроисходит
Представьте: вас берут на новый проект, а там сплошной легаси-код. Ваши действия👇
👍 — останусь, разберусь и постараюсь развить его
🤔 — любым способом перейду в другой проект
🥱 — а где эта грань между легаси и нормальным проектом?
❤️ — свой вариант (напишу в комментариях)
#холивар
❗«Библиотека программиста» ищет контент-менеджера для ведения телеграм-каналов
Ищем человека, который грамотно пишет и разбирается в одной из этих тем:
👉С++
👉C#
👉DevOps
Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴
Подробнее о вакансии и форма для отклика — по ссылке.
Ждем вас в команде!
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
🏖️ Синдром упущенного отпуска: почему так опасно игнорировать заслуженный отдых
Представьте: вы выиграли путевку на пляж с золотым песком и изумрудным океаном. Но радость быстро сменяется разочарованием — вместо коктейля в руках по-прежнему клавиатура и мышка. И вы понимаете — это всего лишь галлюцинации изможденного мозга, который умоляет вас остановиться и, наконец, сделать перерыв. Но мы ведь трудоголики, правда?
🔗 Читать статью
🔗 Зеркало
💣 Кем вы видите себя через 5 лет: как отвечать на странные и неудобные вопросы на собеседовании
7 самых распространенных вопросов, которые точно задавали каждому из вас.
Читать статью
🧩 Как разместить резюме на GitHub Pages?
GitHub Pages — удобная платформа для размещения статических веб-страниц. На ней можно размещать любой контент, не нарушающий правила сервиса.
🧙♂️ Из преимуществ:
Размер сайта — до 1 Гб.
Объем трафика — 100 Гб в месяц.
Количество сборок в час — до 10.
Но, вместе с плюсами, есть и минусы. О них и обо всём другом в статье 👇
🔗 Читать статью
🔗 Зеркало
💡Шпаргалка по REST API для начинающих
📌 Шесть фундаментальных принципов, которые служат строительными блоками архитектуры REST API:
1️⃣ Клиент-серверная архитектура
2️⃣ Взаимодействие без сохранения состояния
3️⃣ Возможность кэширования
4️⃣ Многоуровневая система
5️⃣ Поддержка кода по требованию
6️⃣ Унифицированный интерфейс
👉 Читайте подробнее на Medium или в PDF (файл в комментариях)
🤔 Как Instagram увеличился до 14 миллионов пользователей силами троих инженеров?
С октября 2010 по декабрь 2011 года аудитория Instagram (принадлежит Meta*) увеличилась с 0 до 14 миллионов пользователей благодаря трём ключевым принципам и надёжному технологическому стеку:
1️⃣ Делать всё как можно проще
2️⃣ Не изобретать велосипед
3️⃣ По возможности использовать проверенные и надёжные технологии
👉 Подробнее
*организация, деятельность которой запрещена на территории РФ
🍾 C# — язык программирования 2023 года по версии индекса TIOBE
Впервые в истории индекса TIOBE C# получил награду «Язык программирования года». C# входил в десятку лучших игроков на протяжении более двух десятилетий, а теперь, догоняя четыре языка, он получил заслуженную награду, став языком с самым большим ростом за год (+1,43%).
На втором месте Scratch (+0,83%) и Fortran (+0,64%). C# отнимает долю рынка у Java и становится все более популярным в таких областях, как бэкенд веб-приложений и геймдев (спасибо Unity).
И последнее: индекс TIOBE хоть и показывает тенденции развития языков программирования, выбор в пользу того или иного языка необходимо делать из следующих источников:
☑️ Опросы разработчиков от StackOverflow и JetBrains
☑️ Тренды Github
☑️ Тренды StackOverflow того, о чём спрашивают разработчики
☑️ Тренды Google того, что ищут разработчики
Ушёл из жизни создатель языка программирования Pascal Никлаус Вирт
Программы становятся медленнее куда шустрее, чем компьютеры становятся быстрее
👆«Закон Вирта» — шуточное высказывание Никлауса Вирта (1995) в духе законов Паркинсона, используемое для демонстрации нарастающих проблем с производительностью программного обеспечения, несмотря на прогресс аппаратного.
1 января ушёл из жизни швейцарский ученый Никлаус Вирт — разработчик Algol, Modula, Oberon и создатель Pascal.
Вирт получил степень доктора электротехники в области компьютерных наук в 1963 году. Спустя четыре года он был доцентом факультета компьютерных наук Стэнфордского университета, с 1967 по 1999 год — профессором информатики в Федеральном институте технологий в Цюрихе (ETH Zurich). За время преподавания он дважды взял отпуск на год для работы в научно-исследовательском отделении Xerox PARC.
В 1970 году Никлаус Вирт создал ЯП Pascal, а также стал ведущим разработчиком Euler, PL360, ALGOL W, Modula и Oberon. В 1984-м учёный стал лауреатом самой престижной премии в области информатики — премии Тьюринга. А еще в 2005 году Вирт получил звание почетного доктора Уральского государственного университета.
👉 Читайте более подробную историю в статье.
Самые популярные статьи на сайте proglib.io за 2023 год
Дорожная карта Python-разработчика в 2023 года
ТОП-7 книг для программистов, которые только начинают свой путь в IT
7 архитектурных паттернов, которые должен знать каждый программист
Где изучать Python в 2023 году: 75 ресурсов для начинающих
11 заповедей Junior-разработчика
Кстати, сегодня последний день распродажи наших курсов. Прокачай себя в 2024 на выгодных условиях!
Посмотреть каталог курсов