//IT-дайджест Proglib Weekly #10: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
IT-дайджест Proglib Weekly #10: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке
Пишу об IT и на Python. kungurov.net В этом выпуске: формы в Джанго 4.0+; как Spotify использует семантический поиск для подкастов; предотвращение утечек памяти в Go; любопытные трюки по работе со строками в C#; полный гайд по SwiftUI Grid и еще 180 полезных ссылок.
Python
Статьи и руководства
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
Шаблоны проектирования в коде и системах машинного обучения.
Система рекомендаций рецептов.
Создайте прогрессивное веб-приложение с помощью Django и Angular.
PyPI переходит на двухфакторную аутентификацию, атомарные записи работают вокруг этого, и начинается драма.
Измерение качества, простоты и поддерживаемости кода.
django-postgres-extra: привнесение всех возможностей PostgreSQL в Django.
Советы и рекомендации по доставке приложения PyGame на Mac.
Параллельная обработка большого файла в Python.
🐍🚀 Создаем рекрутинговый портал на Django: часть 1 🐍📚 Создаем аналог LiveLib.ru на Flask. Часть 1: основы работы с SQLAlchemy
Data Science
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека data scientist’а»
Статьи и руководства
R против Python: в чем реальная разница между R и Python?
Как мы будем использовать искусственный интеллект через 20 лет?
Глубокое обучение и нейронные сети с Python и Pytorch, введение. Часть I
О принципах экономии и самосогласованности для возникновения интеллекта.
Обзор архитектур image-to-image translation.
Применение научного подхода при решении задач в Data Science.
Как Spotify использует семантический поиск для подкастов.
Как структурировать код на Python.
Список чтения критических исследований наборов данных.
🔥 Вместо кофе — раскаленное железо, а вместо чашки — огромный ковш. Data Science на службе у сталеваров
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
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.
Разное
⚠️ 10 самых распространенных ошибок, ежедневно допускаемых каждым программистом 💰 «Нужно больше золота»: 8 шагов к достойной зарплате на собеседовании ***
Предыдущие выпуски
📰 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++