В разделе dynamic programming на leetcode более 400 задач, которые невольно толкают программиста на изучение подхода решения задач с помощью динамического программирования.
Его использование в самом начале может показаться контринтуитивным, однако, разбирая несложные задачи, можно проникнуться этим подходом и понять его основную идею. Для этого необходима практика: разбираемся с рекуррентными формулами, линейным/двухмерным динамическим программированием и другими его аспектами.
🎬 Смотреть
📰 Weekly #22: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
В этом выпуске: чем крут Unreal Engine 5; как научить Алису отправлять почту; линейная алгебра в Python; оптимизация передачи больших файлов в Linux с помощью Go; объяснение многопоточности в iOS на туалетах и многое другое.
🔗 Основной сайт
🔗 Зеркало
🤖🐍 Искусственное воображение: создание изображений из текста с помощью DALL·E 2 и OpenAI API
Из этой статьи вы узнаете, как внедрить OpenAI API в свои приложения на Python для создания изображений из текстовых подсказок.
🔗 Основной сайт
🔗 Зеркало
Многие разработчики используют Python-пакеты в своем ПО и даже не подозревают, что некоторые из них могут оказаться вредоносными.
Например, в репозитории PyPI было обнаружено более 200 вредоносных пакетов, которые чаще всего маскируются под легитимные и используются злоумышленниками для кражи данных.
В конце прошлого года Positive Technologies представила новую систему PyAnalysis — она предназначена для выявления подозрительных и вредоносных Python-пакетов.
Любой пользователь через API может отправить системе название Python-пакета на проверку и получить оценку его опасности (clean, suspicious, malicious).
А еще система объяснит, почему тот или иной пакет является вредоносным.
На данный момент PT PyAnalysis работает в тестовом режиме и компания приглашает Python-разработчиков и специалистов по безопасной разработке проверить сервис и поделиться своими замечаниями, чтобы улучшить его и сделать удобных для всех.
Отправить заявку на ранний доступ можно на сайте.
Алан Кертис Кей – американский ученый-компьютерщик, пионер в разработке объектно-ориентированного программирования и персональных компьютеров. Наиболее известен своей работой в Xerox PARC в 1970-х годах, где он сыграл ключевую роль в разработке компьютера Alto, раннего прототипа современного персонального компьютера. После 10 лет работы в Xerox PARC Кэй на три года (c 1981 по 1984 г.) становится главным учёным в Atari.
В 1984 году он стал стипендиатом Apple. После закрытия Apple Advanced Technology Group в 1997 году он был приглашен своим другом Браном Ферреном, руководителем отдела исследований и разработок компании Disney, в компанию Walt Disney Imagineering в качестве научного сотрудника Disney Fellow.
В 2001 году Кей основал Viewpoints Research Institute, некоммерческую организацию, занимающуюся проблемами детей, обучения и передовой разработки программного обеспечения. Кей занимал пост президента института до его закрытия в 2018 году. #личности
🌐 Что такое ООП
● Что такое ООП? Самое простое обьяснение в интернете
● Объектно-ориентированное программирование за 10 минут
📚 Книги
Скидка 25% на все книги издательства «Питер» по промокоду Proglib
● Объекты. Стильное ООП
● Паттерны объектно-ориентированного проектирования
● Объектно-ориентированный подход. 5-е межд. изд.
● Объектно-ориентированное программирование в С++. Классика Computer Science
Статьи по теме
● ☕️ Классы на прототипах: как работает ООП в JavaScript
● ☕️ Учебник по JavaScript: ООП на простых примерах
● 🤹 Введение в объектно-ориентированное программирование (ООП) на Python
● 👨🎓 Самоучитель по C# для начинающих за 30 минут. Часть 2: ООП и коллекции
🌐 Выступления Алана Кея
● Алан Кей, 2015: Сила простоты (англ., с субтитрами на русском)
● Является ли программная инженерия все еще оксюмороном? – Алан Кей (англ.)
Rust, Elixir, Clojure, Typescript и Julia — самые любимые языки программирования согласно опросу разработчиков на Stack Overflow, но те, кто учится программировать, предпочитают Python, JavaScript и React (в 2021-2022 гг. был Java).
Примерно такие выводы можно сделать из статьи, автор которой пытается выяснить, существует ли связь между популярностью языков программирования и вопросами, заданными на Stack Overflow.
🔗 Подробнее
Тренировки по алгоритмам
Все, кто проходили собеседования на позицию разработчика или участвовали в олимпиадах по спортивному программированию, так или иначе сталкивались с заданиями на алгоритмы. Для решения этого типа задач важна практика, так что для тех, кому хочется проверить свои силы перед техническим интервью в IT-компанию или олимпиадой, у Яндекса есть открытая программа тренировок.
Тренирующиеся разделяются на два дивизиона: олимпиадники и те, кто хотят пройти собеседование на работу или стажировку в IT-компанию. Обучение делится на 3 этапа, включающие лекции, домашние задания к ним и спринты на скоростное решение алгоритмических задач.
За решения заданий вы поднимаетесь в рейтинге: 50 лидеров рейтинга среди разработчиков смогут стать частью команды Яндекса по фаст-треку. Но соревноваться с другими не обязательно: тренировки можно проходить в своем темпе, доступ к материалам останется и после дедлайнов.
Ближайший поток начнется 13 февраля, больше подробностей и регистрация по ссылке.
🔶 Гайд по работе с деревом коммитов Git для начинающих
Гайд охватывает основы Git, включая то, что это такое и зачем он используется. Также обсуждаются такие концепции Git, как коммиты, ветки, слияние и сброс изменений. Руководство написано для людей, практически не имеющих опыта работы с Git.
🔗 Основной сайт
🔗 Зеркало
👩💻 Списки Awesome на GitHub — это курируемые списки ресурсов и инструментов, относящихся к определенной теме или области. Они создаются и поддерживаются сообществом GitHub и часто служат всеобъемлющей и хорошо организованной коллекцией полезных ресурсов для разработчиков, специалистов по анализу данных, сисадминов и т. д. Списки Awesome охватывают широкий круг вопросов: от конкретных языков программирования и фреймворков до более широких тем, таких как машинное обучение, безопасность и QA. Они являются отличной отправной точкой для тех, кто хочет узнать больше о конкретной теме или найти лучшие инструменты и ресурсы для своей работы.
👩💻 JavaScript: awesome-javascript
👩💻 React: awesome-react
👩💻 Vue: awesome-vue
👩💻 Angular: awesome-angular
👩💻 Node.js: awesome-nodejs
👩💻 Typescript: awesome-typescript
👩💻 Java: awesome-java
👩💻 Go: awesome-go
👩💻 Ruby: awesome-ruby
👩💻 PHP: awesome-php
👩💻 Kotlin: awesome-kotlin
👩💻 Rust: awesome-rust
👩💻 Swift: awesome-swift
🍎 iOS-разработка: awesome-ios
👩💻 Android-разработка: awesome-android
👩💻 C: awesome-c
👩💻 C++: awesome-cpp
👩💻 C#: awesome-dotnet
👩💻 Unreal Engine: awesome-unreal
👩💻 Unity: awesome-unity3d
👩💻 Python: awesome-python
👩💻 Django: awesome-django
🔬Data Science: awesome-datascience
👩💻 TensorFlow: awesome-tensorflow
👩💻 Linux: Awesome-Linux-Software
👩💻 DevOps: awesome-devops
👩💻 SysAdmins: awesome-sysadmin
👩💻 Nginx: awesome-nginx
👩💻 Kubernetes: awesome-kubernetes
🐋 Docker: awesome-docker
👩💻 AWS: awesome-aws
👩💻 Google cloud: awesome-google-cloud
🕵️ Информационная безопасность: awesome-security
🧪 QA: awesome-testing
👩💻 Базы данных: awesome-database-learning
#избранное
❓Какие списки awesome достойны упоминания? Расскажите в комментариях.
⚛️🎵 В ритмах React'a: руководство по созданию аудиоплеера
Будь вы новичок или опытный разработчик, это исчерпывающее руководство шаг за шагом проведет вас через процесс создания собственного аудиоплеера с помощью популярной JavaScript-библиотеки React.
🔗 Основной сайт
🔗 Зеркало
ChatGPT в деталях
Технических подробностей от OpenAI мало, поэтому ловите объяснение от Alex Xu:
🔗 Читать в Твиттере
🔗 Читать в Thread Reader App (если Твиттер не открывается)
😢 Обратная сторона медали: 9 причин, почему тебе не нужно идти в IT
Пессимистично-разоблачающая статья о минусах работы в ИТ-компаниях. Слабонервных просим отойти от экранов.
🔗 Основной сайт
🔗 Зеркало
Я сижу за параллельным VPN, использую пароли с 25+ цифрами, буквами и спецсимволами, регулярно меняю пароли, оплачиваю что могу наличкой, начал ходить в маске, когда это еще не было мейнстримом и в тот один единственный раз, когда на меня напала утренняя хандра и лень, когда я был беззащитен и малодушен, в начале марта 2022 года я открыл приложение крупной компании и заказал себе поесть. 22 марта слили базу «Яндекс Еды». Лол. Кек.
И вот опять: 26 января слили 42 Гб исходных кодов сервисов «Яндекса». В принципе, зачем латать дыры в системе безопасности, если штрафы низкие и всегда можно сказать, мол, «это устаревшая база», «чувствительных данных в базе нет» и т. д. Поговаривают, что Минцифры доработало законопроект об утечках данных: штраф за утечку составит от 5 млн до 500 млн руб. Другое дело. Когда бьют по кошельку, люди начинают очень быстро соображать, как решить вопрос.
Статьи по теме
🏴☠️ История цифрового взлома: 10 самых известных хакеров всех времен
🕵️ Пишем кейлоггер на Python для Windows за 5 минут
🕵️ Как взломать Wi-Fi с помощью Kali Linux 2020.4 и Ubuntu 20.04
😀 Скидка 25% на все книги издательства «Питер» по промокоду Proglib
📚 Книги для пентестера и хакера
● Black Hat Go: Программирование для хакеров и пентестеров
● Black Hat Python: программирование для хакеров и пентестеров, 2-е изд
● Безопасность веб-приложений
● Кибердзюцу: кибербезопасность для современных ниндзя
● Аудит безопасности информационных систем
● Вскрытие покажет! Практический анализ вредоносного ПО
● Защита данных. От авторизации до аудита
● Ловушка для багов. Полевое руководство по веб-хакингу
● Хакинг: искусство эксплойта. 2-е изд.
📚 Книги по Linux
● Библия Linux. 10-е издание
● Kali Linux: библия пентестера
● Командная строка Linux. Полное руководство. 2-е межд. изд.
— Bash и кибербезопасность: атака, защита и анализ из командной строки Linux
● BPF для мониторинга Linux
● Внутреннее устройство Linux. 3-е изд.
● Linux в действии
● Linux. Книга рецептов. 2-е изд.
● Linux API. Исчерпывающее руководство
❓Опрос: Как изменилась жизнь русскоязычных айтишников за последний год?
Прошедший год был неспокойным для многих, и русскоязычное ИТ-сообщество не стало исключением. Жизнь стала все больше напоминать ряд спринтов на прохождение головоломок: что делать, как быть, остаться или уезжать? Цель опроса — понять, с какими проблемами столкнулись русскоязычные ИТ-специалисты за последний год, как они адаптировались к этим изменениям и какой прогноз дают на ближайшее время.
Предыдущие опросы
● «💬📈 Что сейчас происходит с IT-индустрией и айтишниками?»
● «🗣📈 Как изменилась жизнь русскоязычных айтишников за последние полгода? Результаты опроса «Библиотеки программиста»
➡️ Пройти анонимный опрос
#ищу_команду
Ищите единомышленников, делайте коллабы, создавайте новые проекты. В комментариях под постом укажите #язык, #библиотеку и/или #стек, который вас интересует и опишите общую концепцию проекта.
One Day Offer для Data Engineer состоится уже 12 февраля: всего за один день вы сможете пройти все этапы отбора, получить оффер от Сбера и присоединиться к команде «Комплаенс» ⚡
Сбер ищет дата-инженеров уровня Middle/Senior с профильным техническим образованием, опытом работы от 1,5 лет и желанием создавать современные целевые решения.
Чем нужно будет заниматься 👇
✔️ Разрабатывать витрины данных, чтобы выявлять сомнительные операции и операции обязательного контроля.
✔️ Внедрять модели прогноза комплаенс-риска.
✔️ Реализовывать процессы передачи данных в смежные АС.
✔️ Визуализировать данные, которые отображают работу подразделений «Комплаенс».
✔️ Работать с разными технологиями: SQL, Hadoop (hive, spark), Python и Java SE8.
Готовы проверить свои силы и стать частью AI-сообщества крупнейшего банка страны? Переходите по ссылке и регистрируйтесь на One Day Offer 😉
🚀 Как релизить в продакшен: обзор используемых в разных компаниях подходов и практик
Кроме советов в течение всей статьи в конце вы увидите ссылки для полного погружения в подходы других инженерных команд.
🔗 Читать
🐍 Самоучитель по Python для начинающих. Часть 15: Методы работы с файлами и файловой системой
Научимся создавать, переносить и удалять файлы и директории, а в конце статьи – решим 10 практических задач, связанных с чтением информации и с записью данных в текстовые файлы.
🔗 Основной сайт
🔗 Зеркало
Вы наверняка заметили общую ситуацию в отрасли: не принято думать об эффективности, простоте и совершенстве. Эта проблема и побудила автора написать поток мыслей, от которого становится грустно. Радуют лишь фразы вроде:
2014 — нужно внедрить микросервисы для решения проблем с монолитами.
2016 — нужно внедрить Docker, чтобы решить проблемы с микросервисами.
2018 — нужно внедрить Kubernetes, чтобы решить проблемы с Docker. 🤷♂️
🔗 Читать перевод
В далеком 2001 году, когда был выпущен ретроноутбук IBM Thinkpad X21, многие члены нашего сообщества еще не родились... Этот лаптоп самый любимый у автора статьи и именно на нем он ее написал, вообще не используя современное железо.
Ну почти: современное железо было доступно по RDP. Достаточно простая идея удаленного подключения с умеренно древнего ноутбука к современному компьютеру потребовала довольно много времени на борьбу с глюками и просто особенностями Windows 98.
Но в результате получился очень приятный полуретро экспириенс: теперь можно использовать только старое железо, периодически подключаясь к современности по WiFi.
⌨️ Читать
🎙 Серия «Как мы попали в IT» продолжается. В новом видео про свой путь рассказывает Андрей Смирнов.
Сейчас Андрей лид в большой компании. Человек, который выступает абсолютно на всех конференциях по всей России. Путешественник, гурман, подкастер с золотым голосом.
Но даже он когда-то был новичком, не любил программирование и вообще хотел стать дипломатом. Послушайте про его путь в айти, возможно найдёте для себя полезных советов
🎬 Смотреть
📜 Как написать правильный API-клиент на Typescript
В этой статье я подробно расскажу о реализации API-клиента на языке TypeScript для работы как со сторонними API, так и со своими собственными. Клиент может работать с публичными и защищенными эндпойнтами и не привязан к конкретному фреймворку, что делает его пригодным для использования в React, Vue, Svelte и других фреймворках.
🔗 Основной сайт
🔗 Зеркало
Думаете начать заниматься backend разработкой с использованием Java?
Добро пожаловать на авторский канал JavaStart для начинающих!
Здесь вы найдете много полезной информации не только по Java, но и про backend технологии.
Наша команда расскажет, что еще необходимо знать помимо Java, на что обратить внимание и какие технологии уже устарели и необязательны к изучению.
Переходите по ссылке и подписывайтесь ⬇️
/channel/JavaStartTech
Более восьмиста ИИ-инструментов, разделенных по категориям, которые постоянно пополняются и обновляются. Под свою задачу точно найдете что-то интересное.👇
https://github.com/ai-collection/ai-collection
Яндекс открыл набор на оплачиваемые летние стажировки
В Яндексе по статистике как минимум каждый второй стажер попадает в штат, а как максимум – каждый девятый становится однажды руководителем. Так что у всех, прошедших отбор, есть неплохие шансы получить сильный карьерный буст, даже если вы в самом начале пути.
Этапы отбора зависят от направления, обычно это тестовое задание и 2-3 технических интервью. Затем кандидат знакомится с командами сервисов, куда требуются стажеры, и выбирает продукт по душе: сейчас, например, стажерские вакансии открыты в Музыке, Такси, Маркете, Поиске и других сервисах.
Главное, что нужно знать:
- стажеров ищут по направлениям: фронтенд, бэкенд, мобильная разработка, аналитика, машинное обучение, тестирование и информационная безопасность;
- длительность: от трех до шести месяцев, можно совмещать с учебой;
- кто хочет приступить уже сейчас, могут начать стажировку, не дожидаясь лета;
- стажировки проходят в офисах Яндекса в Москве, Санкт-Петербурге, Екатеринбурге, Сочи, Новосибирске и Нижнем Новгороде. Если вы из другого города, не расстраивайтесь — Яндекс обещает оплатить дорогу и проживание в Москве.
Больше инфо, в том числе по конкретным стекам, и форма заявки есть на официальном сайте.
Научитесь планировать архитектуру и создавать масштабируемые отказоустойчивые приложения для работы в крупных компаниях! Первые шаги можно сделать уже на открытых уроках онлайн-курсов «Microservice Architecture» и «Highload Architect» в OTUS. Выбирайте интересную тему и проходите вступительный тест для записи на занятие:
🗓 8 февраля в 20:00 — «Как сделать распределенное хранилище на Tarantool Cartridge».
На уроке мы напишем распределенное и отказоустойчивое in-memory хранилище данных, используя фреймворк Tarantool Cartridge.
Регистрация — https://otus.pw/Vm3i/
🗓 9 февраля в 20:00 — «Event Driven Architecture».
На занятии познакомимся с основами событийно-ориентированной архитектуры (EDA), рассмотрим взаимодействия на основе событий, подходы к проектированию событий, а также понятие Event Sourcing.
Регистрация — https://otus.pw/OSfr4/
Занятия будут полезны бэкенд-разработчикам, тимлидам и администраторам.
🎙 IT-подкасты на русском языке
● Podlodka Podcast – еженедельное аудио-шоу про IT и всё, что с ним связано
● РАДИО-Т – импровизации на темы высоких технологий
● Веб-стандарты – новости фронтенда в еженедельном подкасте сообщества «Веб-стандарты»
● Мы обречены – журналист Артем Малышев и программист Фил Ранжин ищут смысл в индустрии информационных технологий
● Frontend Weekend – самые честные интервью с известными людьми из мира web-разработки
● DevZen – подкаст о программировании, IT и смежных темах (16+)
● Moscow python podcast – подкаст о Python
● IT Way Podcast – скилл-шеринг сообщество для будущих, начинающих и практикующих ИТ-специалистов
● Форточку открой – Никита и Даша задаются экзистенциальными вопросами из мира IT, digital и маркетинга
● Как делают игры – научно-популярная радиопередача о создании игр
● Habr Weekly – команда Хабра и их гости собираются раз в неделю, чтобы обсудить лучшие посты сообщества и главные новости IT
● Zavtracast – технологический и игровой подкаст
● Запуск завтра – подкаст о технологиях, которые меняют нашу жизнь
● Разбор Полетов – «правильный подкаст для IT-шников»
● ForGeeks Podcast – каждую неделю Сергей Кузнецов рассказывает о самом важном, что случилось в мире технологий
👩💻 Больше подкастов в репозитории russia-it-podcast
❓ Какие подкасты слушаете вы? Расскажите в комментариях.
🐍 Самоучитель по Python для начинающих. Часть 14: Функции высшего порядка, замыкания и декораторы
Разберем важные концепции, связанные с функциями высшего порядка, напишем собственные версии map(), reduce() и filter(), потренируемся в создании декораторов и решим 10 практических заданий.
🔗 Основной сайт
🔗 Зеркало
👩💻 Помните в далеком 2020-м писали про Lazygit (GUI-клиент для Git, написанный на Go)? В блоге компании Флант вышел неплохой обзор этого инструмента. Если любите что-то подобное, залетайте под кат.👇
Читать