📰 Weekly #10: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
В этом выпуске: формы в Джанго 4.0+; как Spotify использует семантический поиск для подкастов; предотвращение утечек памяти в Go; любопытные трюки по работе со строками в C#; полный гайд по SwiftUI Grid и еще 180 полезных ссылок.
Python
Статьи и руководства
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
- Шаблоны проектирования в коде и системах машинного обучения.
- Система рекомендаций рецептов.
- Создайте прогрессивное веб-приложение с помощью Django и Angular.
- Формы в Джанго 4.0+
- Python 3.11 Preview: TOML и tomllib.
- Применение ограничений с помощью assert в Python.
- Жаргон функционального программирования простыми словами.
- PyPI переходит на двухфакторную аутентификацию, атомарные записи работают вокруг этого, и начинается драма.
- Измерение качества, простоты и поддерживаемости кода.
- django-postgres-extra: привнесение всех возможностей PostgreSQL в Django.
- Советы и рекомендации по доставке приложения PyGame на Mac.
- Параллельная обработка большого файла в Python.
Data Science
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека data scientist’а»
Статьи и руководства
- R против Python: в чем реальная разница между R и Python?
- Как мы будем использовать искусственный интеллект через 20 лет?
- Глубокое обучение и нейронные сети с Python и Pytorch, введение. Часть I
- О принципах экономии и самосогласованности для возникновения интеллекта.
- Обзор архитектур image-to-image translation.
- Применение научного подхода при решении задач в Data Science.
- Как Spotify использует семантический поиск для подкастов.
- Как структурировать код на Python.
- Список чтения критических исследований наборов данных.
- 10 библиотек машинного обучения с открытым исходным кодом.
- NumPy max() и maximum(): поиск экстремальных значений.
- Глубокое обучение через Интернет: совместное обучение языковых моделей.
- Статистический анализ по картинке.
- Обзор и применение больших языковых моделей (LLM).
- Рост экспертов в области глубокого обучения.
- Модели-трансформеры: введение и каталог — издание 2022.
Go
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика»
Новости
- Представлены Go 1.18.4, Go 1.17.12 и Go 1.19 Release Candidate 2.
- Что нового в Go 1.19 EN & RU
- Релиз ent 0.11
- Релиз afero 1.9
- Релиз croc 9.6
- Релиз usql 0.11
- Релиз kratos 2.4
- Релиз ferretDB 0.5
- Релиз caddy 2.5.2
- Релиз frp 0.44
- Релиз tproxy 0.4
- Релиз gorse 0.4.5
- Релиз PB 3.1
- Представлен VSCodeGo v0.35.0. Подсказки показывают дополнительную информацию прямо в вашем коде — предполагаемые типы, имена полей/параметров и многое другое. Настройте параметры "go.inlayHints.*".
Статьи, руководства и собеседования
- Виталий Исаев, бэкенд-разработчик в компании МойОфис, описывает проблему повышенного потребления оперативной памяти Go-приложениями и советы по ее предотвращению. 🔗Часть 1. Ошибки бизнес-логики, 🔗Часть 2. Особенности рантайма
- Distributed Message Streaming: работаем с Nats в Go.
- Mat Ryer, Jaana Dogan и Johnny Boursiquot на подкасте Go Time обсуждают инструменты, которые они используют каждый день для повышения продуктивности.
- Антон Киреев, техлид в Авито и бэкенд-разработчик с 11-летним опытом, рассказывает о работе Go с памятью.
- В официальной документации новое руководство по сборщику мусора Go.
- Серия собеседований на Middle Go разработчика с Сергеем Парамошкиным (руководит центром разработки и автоматизации в МТС.Digital). Вы увидите реальные вопросы, кейсы и задачи, а также узнаете, почему спрашивали именно эти вопросы и как лучше всего подготовиться к собеседованию.
- Как мы себя обманываем, только бы продолжать пользоваться Golang.
- Go + WebAssembly снова в деле: 🔗gotemplate.io, 🔗Что это?, 🔗Как это работает?
- Базовое руководство по работе с пакетом Validator, который реализует проверку значений для структур и отдельных полей на основе тегов.
- В серии статей о предотвращении утечек памяти в Go обновление.
- Шпаргалка по Go для начинающих с примерами из Go-тура.
- Разбираемся на практике с пакетом sync/singleflight, который предоставляет механизм подавления повторяющихся вызовов.
- Обзор наиболее полезных функций GoLand от команды JetBrains.
- Реализация простого клона jq на Go + разбор основ профилирования памяти в Go.
- Настройка Neovim для разработки на Go с использованием плагинов Lua и
init.lua
. - Разработчик библиотеки для распознавания лиц размышляет о сильных сторонах Go в области «творческого программирования». Никуда от этого не денешься, но варианты использования Go со временем продолжают расширяться в стиле Python.
- Преобразование байтов в VarInt и VarLong: примеры + юнит-тесты на Go.
- 🎙Go Time: Go для новичков. Этот выпуск подкаста предназначен для всех: кто еще не начал использовать Go, кто интересуется или начал изучать Go, но хочет выйти за рамки основ. Ведущие отвечают на вопросы о том, как изучать Go, приводят доступные ресурсы и векторы дальнейшего развития. Apple Podcasts, Changelog.com.
- Разбор практического кейса завершения Go-приложения с использованием пакетов
context
иos/signal
. - Базовое руководство по использованию пакета migrate для миграции базы данных на Go: 🔗 Часть 1. Миграция на примере PostgreSQL
Библиотеки
- Go-библиотеки от CTO ScreebApp, основанные на дженериках: do, lo и mo.
- 🔧 gokey — простой менеджер паролей на Go от Cloudflare, который не требует хранилища паролей. Вместо того, чтобы хранить ваши пароли в хранилище, он получает их «на лету» из мастер-пароля и предоставленной строки (например, URL-адрес ресурса). Таким образом, вам не нужно управлять, создавать резервные копии, синхронизировать хранилище паролей или доверять его управление третьей стороне, поскольку ваши пароли доступны немедленно в любом месте.
- 🔧tproxy — CLI-инструмент для проксирования и анализа TCP-соединений. Можно использовать для мониторинга подключений gRPC, пулов соединений MySQL и любых TCP-соединений на лету.
- Go-библиотека marshmallow: предпосылки создания и практические кейсы, которые позволили сократить 70% затрат на парсинг JSON.
- 🔧 lensm — инструмент для одновременного просмотра сборки и исходного кода Go.
C#
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека шарписта»
Новости
- На днях Unity и ironSource объявили о слиянии. Предпосылки и видение будущего этого союза описано в статье.
- .NET July 2022 Updates – .NET 6.0.7 and .NET Core 3.1.27
- .NET Core 3.1 will reach End of Support on December 13, 2022
- Announcing Entity Framework Core 7 Preview 6: Performance Edition
- ASP.NET Core updates in .NET 7 Preview 6
- Announcing .NET 7 Preview 6
- .NET Framework July 2022 Security and Quality Rollup Updates
- Announcing Rate Limiting for .NET
- Customizing Controls in .NET MAUI
- VS2022 Performance Enhancements: Git Branch Switching
- Analysis Services and Reporting Services extensions for Visual Studio 2022 are here!
- IEnumerable Debugger Visualizer Improvements
- Visual Studio Code 1.69
- July patches for Azure DevOps Server
- Content archived for Azure DevOps previous versions
- Azure Boards Summer Update
- Introducing the Azure Developer CLI (azd): A faster way to build apps for the cloud
- Azure SDK Release (July 2022)
- Keyboard navigation mode in dotTrace 2022.1
Статьи и руководства
- Погружение в Unity: быстрый старт для разработчиков на C# от JetBrains.
- Руководство по запуску веб-приложения ASP.NET Core в Linux с использованием systemd.
- А почему бы не побрутить соседский Wi-Fi? Естественно, на C# и в учебных целях.
- TensorFlow.NET: краткое введение в популярную библиотеку для машинного обучения.
- SelectMany в LINQ: простой, но довольно полезный метод.
- Иван Якимов, старший инженер-программист в Confirmit, делится опытом использования LiteDB для для .NET-приложения.
- В предыдущей статье Эндрю Лок описал практические аспекты возврата XML из эндпоинта minimal API. В этом материале он рассматривает альтернативный подход, использующий библиотеку Carter.
- Ковариантность и контравариантность обобщенных типов в C# на примерах.
- Предпосылки создания и подробный гайд по работе с Westwind.Scripting.
- Key Promoter X, String Manipulation, .NET Core User Secrets, Azure Toolkit for Rider, Window Resizer и другие: MVP Joseph Guadagno делится плагинами Rider, которые помогают ему с разработкой и ведением блога.
- 50 главных причин использовать Uno Platform. Последняя публикация подобного рода была в 2019 году. С тех пор команда выпустила 18 релизов — обновилась и публикация.
- История и реализация простой библиотеки для взаимодействия с MOEX ISS на C#.
- Unity-разработчику на заметку: что такое шейдеры и зачем они нужны.
- Простые шаги и советы по миграции старых приложений ASP.NET на ASP.NET Core.
- Serialization Binders в .NET: как обойти механизм, который часто используется для предотвращения десериализации опасных типов. В статье рассматриваются примеры реальных публичных уязвимостей, в которых применение вышеописанного механизма привело к сбою и, следовательно, обходу проверок.
- Практические советы, которые помогут избежать проблем при создании или использовании IEnumerable в C#.
- Nullability в C#: серия статей, которая наводит порядок в голове. 🔗 Nullability in C# – What It Is and What It Is Not, 🔗 Null Conditional Operators in C# – ?. and ?, 🔗 Null Forgiving Operator in C# – !, 🔗 Null Coalescing Operators in C# – ?? and ??=.
- Любопытные трюки по работе со строками в C#.
- Замена стандартного механизма замыкания в C# на собственный велосипед: преимущества и недостатки.
- Мини-гайд по использованию mocking framework для упрощения юнит-тестирования в C#.
- В Rider 2022.2 завезли встроенный инструмент профилирования памяти. Разбираемся с новым функционалом, который доступен пока только для Windows.
- Let's Learn .NET — серия видеоуроков, которая расскажет об основах использования C# и . NET для создания реальных приложений.
- В .NET 7 Preview 6 завезли output caching middleware, что позволило улучшить кэширование в ASP.NET. В статье исследуются возможности и способы использования нового функционала на примерах.
- Разбор примеров простых математических комбинаций на языке C#.
- Функциональное программирование наконец-то становится мейнстримом. Размышления о функциональном программировании, C#, LINQ и многом другом.
- Подробный пример решения задачи с использованием кодогенерации в C#.
- Простое решение для мониторинга HTTP-запросов в .NET-приложении.
- Юнит-тесты в .NET: структурирование & рефакторинг и мокинг.
- Перевод анонса Entity Framework 7 Preview 6. Хоть данный формат и не характерен для статей Хабра и переводов, содержание данного материала настолько интересно, что автор не смог удержаться.
Библиотеки
- 🔧 Refit — вдохновленная Retrofit (http://square.github.io/retrofit) типобезопасная REST-библиотека для .NET Core, Xamarin и .NET.
- 🔧 ZeroQL — высокопроизводительный GraphQL-клиент, совместимый с C#. Поддерживает синтаксис, подобный Linq. 🔗 Анонс , 🔗 Репозиторий
- 🔧 Fody — расширяемый инструмент для создания .NET-сборок.
C/C++
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека C/C++ разработчика»
Новости
- Выпущен Qt Creator 8.
Статьи и руководства
- Дериватив 7-Zip, предназначенный для современной работы с Windows.
- 50 ужасных советов по программированию для разработчика на C++.
- Как я могу написать сопрограмму, которая выдает результат, но продолжает работать?
- Пошаговое решение задачи среднего алгоритма — минимальное количество платформ, необходимое для железнодорожного вокзала.
- Проекты C++: от начальных до продвинутых.
- Что такое string_views и почему мы должны их использовать?
- Пример, когда встроенный constexpr имеет значение.
- Языка С/C++ не существует. Каждый день, везде, в том числе в технических статьях, появляется мифический С/С++, честно говоря я просто устал это видеть и хочу в этой короткой статье донести простейшую мысль – С и С++ это два совершенно разных языка с разными требованиями и подходами к разработке.
- Создание HTTP-запросов на C++.
- Перевернутое полиморфное наследование: использование P2162 для удовольствия и профита.
- Основной доклад открытия CppCon 2022: Бьярн Страуструп, живое выступление.
Библиотеки
- zetk: утилиты CLI, скрипты на основе fzf, библиотека C++ для управления вашим Зеттелькастеном.
Мобильная разработка
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека мобильного разработчика»
Новости
- Новости мобильной разработки от Кирилла Розова: обзор изменений для жизни магазинов приложений, презентация Nothing Phone, Android 13 и многое другое.
Статьи и руководства
- Полный гайд по дизайну UI для iOS и Android приложений: обзор различий в дизайне и в подходах к дизайну.
- Записи с Mobius 2022 Spring (Community Day & активности из главной студии) доступны на YouTube.
- Swiftly: на заметку iOS-разработчику.
- Полное руководство по тестовым дублерам (легковесные заглушки, которые замещают реальные зависимости и необходимы для тестирования системы или поведения) в Android: Часть 1. Теория, Часть 2. Практика
- Рендереры в SwiftUI: хитрости ImageRenderer и ChartRenderer.
- Собеседование на позицию джуниор Android-разработчика от Кирилла Розова.
- The-OldOS-Project — полнофункциональная версия iOS 4 на SwiftUI. Можно глубже погрузиться в SwiftUI или просто поностальгировать.
- Использование Kotlin Multiplatform в продакшене в течение года: основные результаты и полезные советы.
- Разбираемся, за счет чего iOS 16 ускоряет запуск приложения.
- История о том, как небольшая команда мобильных разработчиков выбрала Kotlin Multiplatform Mobile и не ошиблась, сэкономив значительное количество времени на разработку.
- Если вы хотели последовать примеру Apple и добавить поддержку
ParseableFormatStyle
к вашим кастомным типам в Swift, Brett Ohland приготовил для вас нечто полезное. - Георгий Мишин, мобильный разработчик в СберМаркете, рассказывает о подключении Swift в проект React Native.
- Очередной выпуск Now in Android.
- Погружаемся в некоторые скрытые функции Swift runtime и новые экзистенциальные инструменты Swift 5.7.
- Бесплатный курс «Сборка с Bazel», который включает 19 уроков для разработчиков, которые хотят внедрить Bazel в свой рабочий процесс.
- Оценка безопасности Android-приложений многогранна и может включать автоматическое тестирование безопасности, фаззинг, ручное тестирование на проникновение и многое другое. Если хотите попрактиковаться в этом деле, то добро пожаловать на YouTube-канал Android AppSec.
- iOS-разработчик Marco Eidinger в своем блоге делится исключительно полезным опытом разработки для iOS: от различных инструментов до кратких советов и хитростей.
- Подборка полезных расширений Kotlin для Android-разработчиков.
- Диспетчеризация методов iOS: виды, преимущества и недостатки + практика для закрепления знаний.
- Полный гайд по SwiftUI Grid.
- Кейс использования паттерна «фасад» для упрощения внедрения зависимостей в iOS.
- Тимур Задворнов, Android-разработчик в Surf, разбирается с Accessibility в Android.
- Все советы по улучшению производительности iOS-приложения теперь на одной странице документации.
- Новичку в мобильной разработке на заметку: разбор различий в философиях iOS и Android.
- URLSessionConfiguration можно использовать для инициализации экземпляров URLSession в Swift. Разбираемся на практике, что к чему.
- Коллекция практических советов и фрагментов кода, позволяющих избежать ненужной рекомпозиции в Jetpack Compose.
- Воркшоп на тему билдинга iOS-проекта в Xcode от Тимофея Солонина из Авито.
Библиотеки
- 🔧 SwiftUIKitView — библиотека для простого использования UIKit views в SwiftUI.
Разное
***
Предыдущие выпуски
- 📰 Weekly #8: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
- 📰 Weekly #6: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C# и C/C++
- 📰 Weekly #4: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C# и C/C++