Miroslav Kungurov
Пишу об IT и на Python. kungurov.net В этом выпуске: Taichi и 100-кратное ускорение Python-кода; важно ли DS-аналитику знать про software development; разбор четырех распространенных ловушек, которые ведут к неточностям тестирования в Go; о пользе async/await в ASP.NET Core простыми словами; пошаговый разбор процесса создания корутины Kotlin.
Python
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
Статьи и руководства
Списковые включения в Python мощнее, чем можно подумать.
Рецепты из документации по Python SQLite.
🐍🚀 Пишем гибридное приложение для хранения заметок на Django, Django Ninja REST Framework и Alpine.js 🐍 8 технологий, которые должен знать каждый Python-разработчик
GUI Генератор паролей на Python.
Taichi и 100-кратное ускорение Python-кода.
Пользовательские списки Python: наследование от List против UserList.
Руководство по программированию сокетов на Python. От введения до работающего примера.
🐍 Самоучитель по Python для начинающих. Часть 2. Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
Запуск Django в Kubernetes.
Python для биологов.
В Python повторно нашли не закрытую 15 лет назад уязвимость.
Важно ли DS аналитику знать про software development?
Делаем бизнес прозрачным или еще один пример распознавания капчи.
Как повысить безопасность приложений с помощью фабрик строк в psycopg.
Диагностика портов коммутатора DLink DGS-1210.
Data Science
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека data scientist’а»
Статьи и руководства
Обучение модели Stable Diffusion текстовой инверсии с помощью diffusers.
Аугментация текстовых данных для глубокого обучения.
Обучение с помощью дифференцируемых алгоритмов.
Makefile: один из лучших инструментов управления проектами машинного обучения.
Что, почему и как использовать A/B-тесты машинного обучения.
Развертывание текстового классификатора анализа тональности с помощью FastAPI.
Как создать переводчик, который переводит лучше, чем Google Translate.
Исследуем микроорганизмы Байкала. Открытый проект MaritimeAI и Yandex Cloud.
Как полюбить задачи регрессии.
Интерактивный мини-гайд по визуализации данных на Python.
Принципы хорошего проектирования системы машинного обучения.
Распознавание фейков с помощью технологий управления данными.
Stable Diffusion: Лучшая версия DALL-E 2 с открытым исходным кодом.
Даункастинг в Pandas для эффективного использования памяти.
15 нейросетей в один Telegram-бот: история успеха и реализация помощника для создателей контента.
Создание интеллектуальной вопросно-ответной системы.
Важно ли DS аналитику знать про software development?
Преимущества алго-трейдинга и важность анализа маркет-даты.
Делаем бизнес прозрачным или еще один пример распознавания капчи.
Небольшая статья о нахождении оптимального маршрута.
Go
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика»
Статьи и руководства
Filippo Valsorda до 2022 года отвечал за криптографию и безопасность в команде Go в Google, но на текущий момент он продолжает сопровождать стандартную библиотеку криптографии Go. О крипте и пойдет речь в статье, точнее о планах в Go 1.20.
Разбор четырех распространенных ловушек, которые ведут к неточностям тестирования в Go.
Гайд по разработке простого SPA-приложения на Go + Hugo + AWS Lambda.
Kafka producer/consumer на Go: руководство для начинающих.
Записи всех докладов с конференции GopherCon UK 2022.
После длительной работы представлена вторая версия Wails, альтернативы Electron на Go.
Go Get Podcast: правила хорошего тона для разработчика. В очередном выпуске обсуждаются вопросы, связанные с написанием хорошего кода на Go:
— Нужен ли он? — Насколько важен? — Экономит ли «грязный код» время? — Как научиться писать хороший код? И др.
Обзор полезных возможностей VS Code для Go-разработчика.
Полный гайд по интеграции JWT-аутентификации в приложение на Go + chi с использованием chi jwtauth middleware.
Анонс Go-линтера usestdlibvars, который определяет, можно ли повторно использовать переменные или константы из стандартной библиотеки, вместо того чтобы создавать собственные.
fgtrace — экспериментальный профилировщик/трассировщик горутин.
Обзор основных изменений в Go runtime за последние 4 года.
Местами спорные, но все равно любопытные мысли о структурировании Go-проекта.
Разработка кастомного Go-линтера с использованием Sylver.
Менее известные фичи go.mod. В статье рассматривается дизайн модулей в Go и разбирается, как они поддерживают безопасность цепочек поставок.
Практика сканирования Go-микросервиса на наличие уязвимостей и интеграции сканера в CI/CD пайплайн.
Автор недавно опубликованной книги радует новым контентом: полное руководство по работе с куками в Go.
Расширяем границы Markdown-файла с использованием Go: «крестики-нолики» в GitHub README.md.
Если вы работаете с БД напрямую через драйвер без использования ORM и устали вручную перебирать строки и сканировать данные из всех столбцов в соответствующее место назначения, то для вас есть хорошие новости. Инструмент scany стремится решить эту проблему. Он позволяет разработчикам сканировать сложные данные из БД в структуры Go и другие составные типы всего одним вызовом функции и не беспокоиться об итерации строк.
Фреймворк Bud в действии: настройка, структура проекта, создание простого приложения и сравнение с другими фреймворками.
C#
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека шарписта»
Статьи и руководства
Серия статей об интеграции C#-сценариев в игровой движок C++ для Windows:
— Введение — Настройка проекта — Хостинг .NET
Алгоритм подсчета количества ведущих нулей на C# от Эндрю Лока.
OrderBy().OrderBy()
vs. OrderBy().ThenBy()
в C#: разбор отличий типов сортировок с точки зрения производительности и потребления памяти.
Учимся работать со связкой PostgreSQL + TimescaleDB и EF Core.
Учитывайте это при использовании типа record в C#.
Запись вебинара от JetBrains, в рамках которого Nicholas Blumhardt рассказывает о настройке Serilog в современном стеке .NET и показывает, как Serilog меняет правила игры, когда речь идет об отслеживании проблем в продакшене.
Trie data structures: реализация на C#.
Отчет InfoQ о тенденциях .NET за 2022 год.
📁 Настраиваем Git для правильной работы с опенсорс-проектами
При написании юнит-тестов помните о F.I.R.S.T. (Fast, Independent, Repeatable, Self-validating и Thorough).
Генерация файлов XML-документации в ASP.NET Core Minimal API с использованием OpenAPI.
Сделайте первые шаги с F# с новым мини-курсом от Microsoft. Перед вами пять модулей, которые познакомят с базовым синтаксисом и особенностями языка.
👨🎓️ Учебник по C#: работа с классом List
Source Generators в действии: текстовая расшифровка доклада Андрея Дятлова на конференции DotNext.
Ник Чапсас делится опытом правильной работы с DateTime и DateTimeOffset в C#.
Погружение в машинное обучение с использованием F#:
— распознавание цифр с помощью ML.NET
— TensorFlow.NET
Полный гайд по разработке и деплою простого веб-API ASP.NET Core с MongoDB в Amazon ECS.
О пользе async/await
в ASP.NET Core простыми словами.
C/C++
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека C/C++ разработчика»
Статьи и руководства
Легкое достижение параллелизма с помощью алгоритмов stdlib.
ESPHome — это система для управления вашим ESP8266 / ESP32 с помощью простых, но мощных файлов конфигурации и удаленного управления через системы домашней автоматизации.
Ускорение экранирования строк с помощью AVX-512.
Простые, легкие и удобные в использовании асинхронные компоненты.
Знаете ли вы LLVM XRay? Обязательный инструмент для торговли с низкой задержкой.
Инициализация в C++, массивы и лямбда-выражения.
Use-after-freedom: MiraclePtr
Что Должно Быть в Каждом FirmWare Pепозитории.
Тандем Cpp/Dot для Описания Сложных ToolСhain(ов).
Вступительный доклад CppCon 2022: Бьярн Страуструп, пререлиз.
Торопиться не надо… (Про спинлоки)
Интервью с Джейсоном Тернером, одним из ведущих подкаста «CppCast»: история и причины закрытия проекта.
Монады являются частью C++ и находятся в вашем коде.
Эпизод 95 ADSP: Кейт Грегори о Carbon против C++! (Часть 4)
Печальное состояние производительности отладки в C++ — Витторио Ромео.
Unreal Engine: Unreal header tool и Рефлексия в деталях.
Tiny-qORM: рассказ без счастливого конца.
Моя попытка сделать Wi-Fi-флешку и что из этого получилось (а что нет).
Разгадываем загадку с помощью современного C++.
Мобильная разработка
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека мобильного разработчика»
Новости
Представлен релиз Kotlin 1.7.20, а вместе с ним и новой модели управления памятью.
Статьи и руководства
Как и когда использовать UIHostingConfigurationAPI в iOS 16.
Пошаговый разбор процесса создания корутины Kotlin.
Практика сокращения времени сборки iOS-приложения с помощью модуляризации.
Вчера разбирали процесс создания корутины Kotlin, а сегодня рассмотрим вопросы реализации правильной инфраструктуры для обработки ошибок и причины сложности корутин.
Ликбез по диплинкам в Android: Часть 1. Введение, Часть 2. Диплинки с нуля.
iOS-разработчику на заметку: замена if
let
в Swift 5.7.
Для общего развития Android-разработчику: подробный разбор атаки на Android-ядро с помощью Qualcomm TrustZone.
Введение в Android NDK для написания под Android на C++.
Тут команда EmergeTools проанализировала пять популярных приложений из App Store и поделилась советами, которые помогут сократить время их старта.
Ключевые особенности обработки исключений в Kotlin Coroutines, которые помогут освоить данную тему.
Практика использования нескольких механизмов для кэширования разных типов данных в Swift.
Акниет Арысбаев, Android-разработчик в Delivery Hero, рассказывает про автоматизацию отслеживания изменения размера релизной сборки приложения на каждом Pull Request. Также он затрагивает структуру APK, App Bundle и инструменты для определения разницы в размере между сборками.
Введение в профилирование производительности Swift в Linux с использованием perf.
Стали доступны записи всех докладов на Mobius 2022 Spring.
Игорь Буняков из 2ГИС рассказывает, как его iOS-команда переписала весь движок карт на Metal и с какими проблемами столкнулась на пути от первого прототипа к публикации готового релиза.
Взаимные блокировки (deadlocks) в Swift: что это, причины возникновения, способы обнаружения и устранения.
В новой статье об интересных моментах из Fragment API Максим Бредихин рассказывает о том, как (не) создавать новые инстансы фрагментов.
iOS-разработчику на заметку: объяснение архитектуры MVVM за 90 секунд.
Интервью с разработчиком фоторедактора Lensa, который использует OpenGL и AI, и все это оффлайн на Android.
Протокол Sendable и одноименная аннотация для замыканий в Swift: как работают, какие проблемы решают и как их использовать в своем приложении.
Kotlin Multiplatform: как превратить нативное приложение в кроссплатформенное. Анна Жаркова на TechTrain 2022 Spring рассказывает о том, как можно превратить Android-приложение в кроссплатформенное и сделать используемым вместе с iOS.
***
Предыдущие выпуски
📰 Weekly #18: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
📰 Weekly #16: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
📰 Weekly #14: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке