📰 Weekly #12: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
В этом выпуске: измерение качества, простоты и ремонтопригодности кода; подкаст о том, как побеждать на Kaggle; обзор простых методов «экономии» памяти в Go; интервью с командой «Кинопоиск Android» о внутреннем устройстве видеостриминга.
Python
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
Статьи и руководства
- Измерение качества, простоты и ремонтопригодности кода.
- Создание интерфейса командной строки Python с постоянной аутентификацией.
- Техническое письмо для разработчиков.
- Стоит ли вам вести личный блог/бренд?
map()
противsubmit()
сProcessPoolExecutor
в Python.- Попрощайтесь с этими устаревшими библиотеками Python.
- Распознавание поднятых пальцев на Python+OpenCV.
- Как докеризировать Django за 5 минут.
- Почему
a, b = b, a
не всегда эквивалентноb, a = a, b
?
Data Science
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека data scientist’а»
Статьи и руководства
- readysetdata: скрипты для очистки определенных наборов данных.
- Каких метакогнитивных структур интеллекта человека не хватает ИИ.
- Обучающие видеоматериалы по библиотеке pandas.
- Серия обучающих видео по TensorFlow 2.0.
- Автоматический синтез речи: взгляд лингвиста.
- Token Pruning или «Первое слово съела корова».
- Мечтает ли нейросеть LaMDA об отмене законов робототехники?
- Как я нейроны паял.
- Поиск объектов на видео с помощью Python.
- Переход от Платформы работы с данными к Платформе конфиденциальных вычислений.
- Нейросетевой подход к кредитному скорингу на данных кредитных историй.
- CVAT. Инструкция по разметке.
- Подкаст о том, как побеждать на Kaggle, с создателем платформы.
- Создание механизма рекомендаций песен и плейлистов как в Spotify.
- Статья о тестировании систем машинного обучения.
- Сортировка моих носков с помощью глубокого обучения.
- Самые интересные нейросети открытого доступа.
- Действительно ли data-driven компании выигрывают?
- Распознавание поднятых пальцев на Python+OpenCV.
- Один интересный трюк для сжатия сверточных сетей для TinyML.
- Параметризация и автоматизация Jupyter ноутбуков с помощью Papermill.
- DeepSpeed: библиотека оптимизации глубокого обучения.
Go
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика»
Новости
- Представлен официальный релиз GoLand 2022.2.
- Анонс Go 1.18.5 и 1.17.13 (включают исправления безопасности encoding/gob and math/big)
- Анонс Go 1.19.
- Релиз modernc/sqlite 1.18.0
- Релиз Go Micro 4.8
- Релиз Sonic 1.3.4
- Релиз Sarama 1.35
- Релиз Bud 0.2.3
- Релиз chromedp 0.8.3
- Релиз aws-lambda-go 1.34.1
- Релиз Milvus 2.1
- Релиз Buf 1.7
- Релиз fq 0.0.8
- Релиз imgproxy 3.7.1
- Релиз Chaos Mesh 2.3
- Релиз gobackup 1.1
- Разбор атаки ParseThru
- GoLand Roadmap 2022.3
- Анонс gitea 1.17
- Релиз yaegi 0.14.1
- Релиз listmonk 2.2
- Релиз progressbar 3.9
- Релиз dig 1.15
- Релиз fiber 2.36
- Релиз muffet 2.6
Статьи и руководства
- Если вас заинтересовала библиотека Allure-Go, погрузиться в работу с ней можно с помощью нового материала.
- Пример объединения концепций нескольких паттерноа для создания простой и гибкой структуры Go-сервиса.
- Простой пример бенчмаркинга Go-кода на примере двух алгоритмов сортировки.
- В далеком 2015 году команда CockroachDB объясняла, почему Go был для них правильным выбором. Спустя семь лет все осталось по-прежнему и вот почему.
- Советы по расширению функциональности тегов структур в Go.
- Разбор основных аспектов, которые необходимо учитывать при написании конкурентного кода на Go.
- На заметку Go-разработчикам, которые имеют дело с криптой и инвестициями.
- Пошаговое руководство для начинающих по разработке и тестированию REST API на Go с использованием Gorilla Mux и PostgreSQL.
- Broadcast Channels в Go: основные принципы и примеры из практики.
- CLI пинг-понг в качестве первого проекта на Go — отличный способ узнать основные концепции языка.
- Пошаговая реализация простого веб-сервиса для создания и чтения самоуничтожающихся секретов на Go.
- Артем Чаадаев, Go-разработчик в МТС Digital, рассматривает распространенные примеры использования конкурентного кода в Go на основе личного опыта.
- Гайд по разработке GraphQL-сервера на Go с использованием go-graphql.
- Видеоруководство по рефакторингу юнит-тестов в процессе разработки на основе TDD.
- Линтинг c golangci-lint в действии: установка, настройка, использование, интеграция в pre-commit хуки и CI workflow.
- Практика работы с gRPC, HTTPGateway, buf и Go от Артура Карапетова (YouTube-канал The Art of Development).
- Обзор простых методов «экономии» памяти в Go.
- Интервью с разработчиком фреймворка Bud Мэттом Мюллером. Тот самый фреймворк, который использует лучшее из Go и Svelte, чтобы помочь разработчикам сосредоточиться на решении реальных проблем, не беспокоясь о безопасности типов, производительности или деплое.
- Разработка аналога SSH-сервера на Go, который умеет только исполнять команды, но не использует шифрование.
- Простой сервер от Gotify для обмена сообщениями в режиме реального времени через веб-сокеты.
- Пошаговое руководство по использованию Go, AWS Lambda, DynamoDB и API Gateway для разработки бессерверного сокращателя URL-адресов.
- Разбор четырех различных методов организации доступа к базе данных на Go.
- Руководство по управлению секретами в Go-приложений с использованием HashiCorp Vault.
- Пример обработки 60k одновременных HTTP-запросов на Raspberry Pi с использованием Go.
C#
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека шарписта»
Свежие новости и статьи из мира .NET-разработки и геймдева
- Недельный геймдев
- Rider 2022.2 Beta
- On .NET Live – Taking .NET game development in Stride
- ASP.NET Community Standup – HTTPS Updates in ASP.NET Core 7
- Announcing .NET Conf – Focus on .NET MAUI, Reactor, and Community Events
- Visual Studio 2022 version 17.3 Preview 5 Release Notes
- Rider 2022.2 Comes With More C# 11 Features, Performance Improvements, and Extended Unreal Engine Support
- ReSharper 2022.2 Comes With C# 11 Support, Solution-Wide Analysis Optimizations, and Virtual Formatter
- dotCover, dotMemory, dotPeek, and dotTrace 2022.2 are here
.NET-документация: новые возможности за июль 2022 г.
- Default authentication scheme
- Dynamic X509ChainPolicy verification time
- Middleware no longer defers to endpoint with null request delegate
- x86 host path on 64-bit Windows
- Changes to reflection invoke API exceptions
- required modifier
- Resolve nullable warnings
- Source generation for platform invokes
- Diagnostic monitoring and collection utility (dotnet-monitor)
- dotnet dev-certs
- Deploy Orleans to Azure Container Apps
Статьи и руководства
- Простое решение для мониторинга HTTP-запросов в .NET-приложении.
- Юнит-тесты в .NET: структурирование & рефакторинг и мокинг.
- Перевод анонса Entity Framework 7 Preview 6. Хоть данный формат и не характерен для статей Хабра и переводов, содержание данного материала настолько интересно, что автор не смог удержаться.
- Хоть данный формат и не характерен для статей Хабра и переводов, содержание данного материала настолько интересно, что автор не смог удержаться.
- GitHub Actions для .NET-разработчика: начало работы и сборка проекта.
- Переход с MSSQL на MySQL при использовании Entity Framework: опыт Dodo Engineering.
- От шаблонов проектирования к теории категорий: местами старая, но фундаментальная серия статей с примерами на C#.
- Плейлист с краткими советами по .NET и C# от Ника Чапсаса.
- Union types в C#, или Как эффективно определить бизнес-логику приложения.
- Singleton на C#: цели, преимущества, реализация и примеры из реальной жизни.
- Обзор интересных C#-проектов с открытым исходным кодом, о которых вы, возможно, не знали.
- Простой пример использования F#-фреймворка NBomber, который упрощает нагрузочное тестирование.
- Профилирование популярной библиотеки QuestPDF с использованием dotTrace и dotMemory. Из статьи вы узнаете, как небольшие изменения кода могут сильно повлиять на производительность и использование памяти.
- Adam Chester, старший консультант по безопасности в TrustedSec, рассматривает некоторые «странные» способы запуска неуправляемого кода в .NET.
- Асинхронное программирование в .NET: введение, заблуждения, проблемы и полезные ссылки для изучения.
- Краткое, но ёмкое руководство по интеграции dotnet format в цикл разработки.
- Разбираем три категории данных телеметрии, поддерживаемых OpenTelemetry, и способы их использования с .NET: трассировка, метрики и логи.
- Продолжаем знакомиться с лучшими современными технологиями Microsoft для создания веб-приложений. Вышла третья часть в серии.
- Теория и практика проектирования и разработки параметрического генератора зданий на Unity.
- Мысли об использовании EditorConfig для обеспечения единообразия кодовой базы в .NET-проекте.
- Частично обновленная, но все равно качественная подборка популярных вопросов и ответов на собеседовании по C#.
- Библиотеки классов в C#: что это, как использовать в различных проектах и как извлечь максимальную выгоду.
- На официальном сайте Microsoft вышел свежий мини-курс по использованию .NET MAUI для разработки и сборки мобильных/десктопных приложений с помощью C# и Visual Studio.
- Мысли о будущем C#-библиотек, ориентированных на рефлексию.
- Как оптимизация производительности вызовов функций в C# может привести к повреждению стека. В статье среди прочего представлена ценная информация о внутреннем устройстве CLR и приемах, которые многие используют для ускорения работы приложений.
- Практические аспекты эффективного использования
CancellationTokenSource
в C# async/await. - Теория и практика проектирования и разработки параметрического генератора зданий на Unity.
Библиотеки
- build-image — инструмент для контейнеризации .NET-приложения без создания Dockerfile’ов, потому что жизнь слишком коротка, чтобы писать их! В статье показано, как использовать этот инструмент, в том числе в GitHub workflow.
C/C++
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека C/C++ разработчика»
Новости
Статьи и руководства
- Основной доклад открытия CppCon 2022: Бьярн Страуструп, живое выступление.
- Статический анализатор кода против разработчиков. Here we go again
- Пользовательские типы и формат std::format из C++20.
- Carbon от Google: альтернатива C++?
- Пять сложных тем для членов данных в C++20.
- Простая в использовании быстрая база данных с открытым исходным кодом для поиска.
- Почему в С++ массивы нужно удалять через
delete[]
. - С++ для тех кто не шарит от начинающего для начинающих.
- Как научить операционную системы «выбрасывать» С++ исключения из системных вызовов и как это можно применять.
- StarRocks — это база данных MPP следующего поколения с точностью до секунды для полных аналитических сценариев, включая многомерную аналитику, аналитику в реальном времени и специальные запросы.
- Оценка в Магазине: размещение приложения Win32 C++/CMake/Qt в Магазине Microsoft от А до Я.
- Взгляд с обратной стороны: как смотрит на код реверсер.
- Алекс Степанов: эффективное программирование с использованием компонентов.
Мобильная разработка
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека мобильного разработчика»
Новости
- Обзор обновлений политик Google Play от 27 июля.
- Обзор основных функций бета-версии Kotlin 1.7.20.
Статьи и руководства
- Воркшоп на тему билдинга iOS-проекта в Xcode от Тимофея Солонина из Авито.
- Подборка Now in Android — теперь проект с открытым исходным кодом. Под капотом: Compose, Navigation, WindowManager и Coil.
- Анонс расширения Swift для Visual Studio Code.
- Игорь Сорокин, iOS-разработчик в Юле, рассказывает о миграции с RestKit на Alamofire, проектировании слоя хранения данных и многом другом.
- Миграция на Android 12: пошаговое руководство, проблемы и решения.
- Использование Dynamic Type с кастомными шрифтами в iOS: гайд для начинающих.
- Обзор возможностей нового Bottom sheet API в SwiftUI.
- Техлид команды приложения «Кошелек», которая занимается интеграцией функционала оплаты картами через NFC, поделился опытом и рассказал:
— Как происходит оплата
— Как вендоры портят жизнь
— Про токенезацию карт
— Про QR-код против NFC
— Про повышенную безопасность и как ее обеспечить
- Обзор open source проектов на языке Swift, в которых можно принять участие. (Читать в Твиттере, Читать, если Твиттер не открывается)
- Артур Василов делится опытом ускорения сборки мобильного Яндекс Браузера, состоящего из ~150 Gradle-модулей, ~2 млн LoC на Java/Kotlin, десятка Gradle-плагинов и тысячи строк кода в buildSrc.
- Пошаговое руководство по модуляризации iOS-приложения с использованием Cocoa Touch Frameworks.
- Цикл статей про аудит безопасности iOS-приложений: Готовим iOS-устройство к пентесту, Анализ iOS-приложений.
- Много лайв-кодинга от Алексея Гладкова, автора YouTube-канала Mobile Developer.
- SwiftUI view — это не только View, но и ViewModel. Автор статьи сравнил SwiftUI View с Windows Presentation Foundation (WPF) и показал, что SwiftUI уже имеет встроенную поддержку ViewModel прямо во View.
- Паша Стрельченко, Android-разработчик в HeadHunter, делится опытом интеграции Jetpack Compose в продакшн-приложение.
- Swift Result Builder в действии.
- Практическое применение App Store Connect API SDK в Swift.
- Советы по поиску retain cycle с использованием инструментов Xcode.
- Интервью с командой Кинопоиск Android о внутреннем устройстве видеостриминга, задачах разработчиков в этом направлении и многом другом.
- Введение в «Плагинизацию» базового контроллера в iOS, которая позволяет:
— избавиться от дублирования кода;
— разгрузить базовый контроллер;
— сделать конфигурацию разных контроллеров гибкой и удобной.
- Теоретические и практические аспекты мониторинга интернет-соединения в Android с примерами на Kotlin.
- Создание и повторное использование цветовых палитр в Xcode: методы, советы и приемы для Swift-разработчиков.
- Видеокурс по изучению Kotlin с нуля от канала TAP CODE.
- 5 советов по разработке Swift Package Plugins, которые помогут избежать проблем в дальнейшем.
- Пошаговая реализация клона калькулятора Apple на SwiftUI: руководство для новичков и профи, которое поможет освоить некоторые важные приемы создания масштабируемых и удобных в сопровождении SwiftUI-приложений. Часть 1. View, Часть 2. Бизнес-логика.
- Clean Architecture для Android-разработчика и распространенные заблуждения, связанные с ней. Статья далекого 2017-го, но она должна быть здесь.
- Android-разработчику на заметку: мини-тред с советами по обходу внутренних проверок безопасности
ContentProvider.openFile()
. Читать в Твиттере, Читать в Thread Reader App, если Твиттер не открывается - Разбор внутренних механизмов работы 3D-преобразований iOS views: How do 3D transforms of iOS views work under the hood, 3D transforms on iOS under the hood part II: Perspective shifts.
- Лайв-ревью Android-библиотеки для упрощения работы с разрешениями от Кирилла Розова.
***
Предыдущие выпуски
- 📰 Weekly #10: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
- 📰 Weekly #8: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
- 📰 Weekly #6: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C# и C/C++