26 июля 2022

📰 Weekly #10: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке

Пишу об IT и на Python. kungurov.net
В этом выпуске: формы в Джанго 4.0+; как Spotify использует семантический поиск для подкастов; предотвращение утечек памяти в Go; любопытные трюки по работе со строками в C#; полный гайд по SwiftUI Grid и еще 180 полезных ссылок.
📰 Weekly #10: новости, подкасты, отборные статьи и обучающие материалы по Python, Data Science, Go, C#, C/C++ и мобильной разработке

Python

Статьи и руководства

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»

Data Science

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека data scientist’а»

Статьи и руководства

  • R против Python: в чем реальная разница между R и Python?
  • Как мы будем использовать искусственный интеллект через 20 лет?
  • Глубокое обучение и нейронные сети с Python и Pytorch, введение. Часть I
  • О принципах экономии и самосогласованности для возникновения интеллекта.
  • Обзор архитектур image-to-image translation.
  • Применение научного подхода при решении задач в Data Science.
  • Как Spotify использует семантический поиск для подкастов.
  • Как структурировать код на Python.
  • Список чтения критических исследований наборов данных.

Go

Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика»

Новости

Статьи, руководства и собеседования

  • Виталий Исаев, бэкенд-разработчик в компании МойОфис, описывает проблему повышенного потребления оперативной памяти 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: быстрый старт для разработчиков на 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++ разработчика»

Новости

Статьи и руководства

  • Дериватив 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.

Разное

***

Предыдущие выпуски

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ