Тренды

Все что касается разработки: образовательные статьи, тренды, технологии, языки, фреймворки и многое другое!

Ссылки на методы в Java

Ссылки на методы в Java

Ссылки на методы появились вместе с лямбда-выражениями в Java 8, и с тех пор упрощают жизнь разработчикам. Но у их применения есть некоторые ограничения. Как обойти одно из них - на использование метода с параметром - расскажем в этом материале.
Обзор полезных инструментов для интроспекции объектов Python

Обзор полезных инструментов для интроспекции объектов Python 

Поделимся полезными советами и приемами для проверки объектов Python и получения информации о коде во время выполнения. В связи с этим рассмотрим такие инструменты интроспекции, как встроенные функции, атрибуты объектов и модуль inspect.
Доступно об API-вызове во Flutter: лучшие практики с демонстрацией кода

Доступно об API-вызове во Flutter: лучшие практики с демонстрацией кода

Рассказываем, как во Flutter использовать методы API-вызова HTTP, POST, GET и как создавать модели для представления данных, получаемых с сервера. Следуя этим практикам, вы будете писать более надежный и эффективный код.
Machine Learning Model

Как выбрать модель машинного обучения

Для начала рассмотрим некоторые руководящие принципы, которые используются при создании моделей: Сбор данных (обычно в больших количествах).Установление цели, гипотезы для проверки и сроков для достижения.Проверка...
Основы Android-разработки в Revolut

Основы Android-разработки в Revolut

Хотите заглянуть за кулисы онлайн-банка Revolut? Сотрудники компании рассказали о том, как устроены ее команды и рабочие процессы.
Python Django и OSRM: маршрут на интерактивной онлайн-карте

Python Django и OSRM: маршрут на интерактивной онлайн-карте

Python Django, Folium, Leaflet и OSRM API для веб-приложения с функционалом Google Maps
UX Design

10 шаблонов поведения для UX-дизайна

При разработке любого продукта важно понимать и учитывать ожидания пользователей. Если создавать продукт в вакууме, не принимая во внимание существующие варианты на рынке или...
Python

10 внешних Python-пакетов, которые вам точно понравятся

Python — это эксперимент о том, сколько свободы нужно давать программистам. Предоставь им слишком много свободы, и никто не сможет прочесть чужой код. Если дать слишком...
Лучшие практики модульного тестирования

Лучшие практики модульного тестирования

Тестирование имеет большое значение. Модульное тестирование  —  еще большее, это бесспорно. Вот пишешь какой-то код, и надо бы покрыть его тестами. Но как только...
Топ-6 инструментов и фреймворков для искусственного интеллекта

Топ-6 инструментов и фреймворков для искусственного интеллекта

Инженеру искусственного интеллекта требуется множество навыков. Один из них - знание инструментов и фреймворков, используемых в области ИИ. Предлагаем ознакомиться с самыми популярными и значимыми из них.
ТОП-5 законов для каждого UX-дизайнера

ТОП-5 законов для каждого UX-дизайнера

Когда люди слышат слово «дизайн», они обычно думают, что это творческая работа, которая подразумевает создание красивого внешнего вида. Но UX-дизайн доказывает, что привлекательный продукт...
Правила PRISM на языке Python

Правила PRISM на языке Python

PRISM - простой, но конкурентоспособный алгоритм вывода правил методом индукции. Ознакомьтесь с его реализацией на языке Python и рассмотрите несколько практических примеров использования.
Python

Овладей Python, создавая реальные приложения. Часть 7

Приложение для сбора данных с Flask и PostgerSQL Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4, Часть 5 и Часть 6 Работа с базой данных и запросами пугает некоторых (а...
Написание консольных скриптов: Bash против Python

Написание консольных скриптов: Bash против Python

Для создания скриптов командной строки часто используют такие инструменты, как Bash и Python. Сравним их возможности в современных задачах автоматизации рутинных операций программирования.
Swift: ссылочные типы и циклы сохранения, weak и unowned

Swift: ссылочные типы и циклы сохранения, weak и unowned

Разберем один из 10 технических вопросов недавнего собеседования по Swift и Objective C. На примере покажем, почему для предотвращения цикла сохранения применяется слабая ссылка weak, а не бесхозная unowned.
Spring Boot: реализация фабричного метода

Spring Boot: реализация фабричного метода

Шаблон Factory упрощает создание новых объектов и помогает прятать логику, ненужную для клиента. Предлагаем рассмотреть вариант реализации шаблона фабрики для простого приложения на Spring Boot.
Как превратить Google Таблицы в базу данных с помощью Python

Как превратить Google Таблицы в базу данных с помощью Python

Предлагаем простое руководство по созданию электронных таблиц и сохранению данных в Google Таблицах с помощью Python. В качестве бонуса предлагается инструкция по открытию любого файла из Google Таблиц с использованием Python.
Насколько С++ быстрее Python

Насколько С++ быстрее Python

Есть миллион причин любить Python (особенно специалистам по данным). Но сильно ли он отличается от более профессиональных низкоуровневых языков программирования, таких как С или С++? Скорее всего, многие дата-специалисты или пользователи Python задавались этим вопросом или однажды задумаются об этом.
python

Как создавать анимированные графы в Python

Matplotlib и Seaborn — вполне приличные Python-библиотеки для создания превосходных графиков. Но такие графики получаются статичными, и крайне трудно подобрать для них красивое представление данных или...
Основы многопоточности

Основы многопоточности

Вкратце знакомимся с понятием и принципами работы многопоточности, а также наглядно убеждаемся в преимуществах ее применения.
Python

Python — идеальный инструмент для любой проблемы

Размышления о моей первой программе на Python. Размышления это всегда помогающее (а иногда и развлекающее) занятие. Из ностальгических соображений, конечно, если можно испытывать ностальгию по...
Управляем зависимостями: возможности каталога версий и convention-плагина

Управляем зависимостями: возможности каталога версий и convention-плагина

В Android-разработке нужно учитывать множество факторов. Откройте для себя технологию каталога версий Gradle и силу convention-плагина, которые позволяют забыть о конфликтах версий и сбоях из-за несовместимости.
Golang

Полиморфизм с интерфейсами в Golang

Интерфейсы в Golang работают в совершенно особенной манере в сравнении с интерфейсами на других языках серверного программирования. Прежде чем углубляться в тему, начнём с...
Как создать простого командного бота в Python

Как создать простого командного бота в Python

Итак, как часто вы узнаете погоду или время у Siri, Алисы или Google? Сейчас на рынке существует несколько видов ботов. Некоторые из них более...
Оптимизация структур в Golang для эффективного распределения памяти

Оптимизация структур в Golang для эффективного распределения памяти

Поговорим сегодня о выравнивании структур в Golang. Производительность компьютеров растет с каждым годом. Их вычислительные возможности позволяют выполнять все более сложные задачи. В стремлении применять...
Создание анимированной кнопки-счетчика в Jetpack Compose

Создание анимированной кнопки-счетчика в Jetpack Compose

Предлагаем пошаговое руководство по созданию в Jetpack Compose анимированной кнопки-счетчика для небольшого приложения. Это не только полезный навык, но и довольно увлекательное занятие.
CProgramming

Новейшие возможности C# 9

В преддверии релиза .NET 5, объединяющего среды выполнения .NET, Microsoft недавно анонсировали возможности, которые будут включены в C# 9. О выпуске финальной предварительной версии C# было...
Как скрывают секретные ключи и пароли в Python

Как скрывают секретные ключи и пароли в Python

Всякий раз, загружая свой проект или код на GitHub с общедоступным репозиторием, нужно помнить о безопасности. Ведь пользователи, которые запустят файл, содержащий секретные ключи...
Переход на PgCat - прокси-сервер Postgres следующего поколения

Переход на PgCat — прокси-сервер Postgres следующего поколения

Сравним функционал PgCat по временно́й задержке и корректности. Рассмотрим особенности балансировки нагрузки и отработки отказа реплики, клиентов с плохим поведением и поддержку сегментированных БД.
Кэширование Redis для максимальной производительности в Spring Boot и Java

Кэширование Redis для максимальной производительности в Spring Boot и Java

Кэширование помогает повысить производительность приложений за счет снижения нагрузки на такие ресурсы, как базы данных и удаленные сервисы. Рассмотрим, как применять Redis в качестве кэша в приложении Spring Boot для достижения максимальной эффективности.
Паттерны проектирования генеративного ИИ: полное руководство

Паттерны проектирования генеративного ИИ: полное руководство

Преимущества генеративного ИИ, способного к созданию контента, давно стали очевидными для всех. Тем не менее сохраняется необходимость в дальнейшей разработке схем, способствующих высокой эффективности моделей на базе ИИ. Сегодня рассмотрим 9 наиболее перспективных паттернов, которые находят широкое применение в современной индустрии.
Как оптимизировать навигацию в Jetpack Compose

Как оптимизировать навигацию в Jetpack Compose

Проанализируем ситуацию с навигацией в Jetpack Compose, выявим существующие проблемы и рассмотрим конструктивное решение в виде реализации чистой навигации.
Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Перейдём сразу к делу. Допустим, у вас есть один GitLab для личных проектов и один для работы. Проблем не возникнет, пока не придётся работать...
Python

Attr - одна из лучших практик объектно-ориентированного Python

Известно, что Python очень гибкий язык, который может использоваться в функциональном, процедурном и объектно-ориентированном программировании. Честно говоря, я пишу на нем классы только при...
Java

Основы программирования TCP-сокетов на Java

Клиент-серверная архитектура — наиболее распространенная структура приложений в Интернете. В этой архитектуре клиенты (т.е. персональные компьютеры, устройства Интернета вещей и т. д.) сначала запрашивают ресурсы с...
Создай приложение Go и соревнуйся в реальном времени

Создай приложение Go и соревнуйся в реальном времени

Соревновательный дух живет в каждом! Расскажем, как реализовать приложение Go, которое позволяет в режиме реального времени состязаться с оппонентами и проверять свою эрудицию.
Введение в байт-код Java

Введение в байт-код Java

Каждому Java-разработчику известно, какую роль в экосистеме языка играет JVM. Однако большинство не разбирается в том, как работает JVM под капотом. Хотя для разработки...
Java

Java для начинающих: часть 4 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях...
Python

Учимся писать строки документации в Python

Все мы когда-то писали такой код, взглянув на который две недели спустя, трудно было понять почему и как он работает. Нам часто приходится иметь...
Создание приложения на Python для систематизации фото по геолокации и дате

Создание приложения на Python для систематизации фото по геолокации и дате

Накопилось множество папок с фотографиями из путешествий? Наведем в них порядок, создав приложение на Python для сортировки изображений по геолокации и дате.
Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1

Сложные вопросы на собеседовании для тех, кто 7 лет работал с Java. Часть 1

Увеличьте свои шансы на успех, впечатлив потенциальных работодателей знаниями и навыками. Разберем некоторые вопросы с подробными объяснениями и примерами.
Руководство по модулю Python itertools

Руководство по модулю Python itertools

Ознакомьтесь с 10 наиболее полезными функциями модуля Python itertools. Они помогут вам подняться на новый уровень программирования и стать более эффективным Python-разработчиком.
PostgreSQL вместо Kafka: способ реализации системы очередей

PostgreSQL вместо Kafka: способ реализации системы очередей

Очереди - ключевой элемент в распределенных системах. Поэтому так важно организовать их обработку наиболее оптимальным образом. Здесь о своем подходе к решению этого вопроса рассказывает представитель платформы работы с данными RudderStack.
Новый API форматировщика дат в Swift

Новый API форматировщика дат в Swift

В версии Swift 5.5 и iOS 15 у нас появился новый API средства форматирования. С ним строковое отображение дат будет более декларативным и интуитивно...
Осваиваем ViewThatFits. Часть 1

Осваиваем ViewThatFits. Часть 1

Рассмотрим критерии оценки и логику представления нового адаптивного контейнера макетов. Как выбирается отображаемое представление? Разберем концепцию «идеального размера».
Jupyter

Как легко оптимизировать Jupyter Notebook. Часть 2

Руководство для начинающих о том, как сделать Jupyter Notebook быстрее, мощнее и круче Часть 1, Часть 2 Магические команды (Magic) Magic — это отличные команды, упрощающие нашу жизнь при решении определенных...
Среда разработки Entity Framework в Docker

Среда разработки Entity Framework в Docker

Рассмотрим наглядный пример использования среды разработки Docker, который поможет разобраться в настройке и инициализации серверной базы данных.
Создаем юнит-тесты с помощью ИИ-инструмента

Создаем юнит-тесты с помощью ИИ-инструмента

В этой статье мы воспользуемся плагином на базе искусственного интеллекта для IntelliJ, чтобы автоматически сгенерировать юнит-тесты. Шаг 1. Установка плагина и импорт проекта Плагин для IntelliJ IDEA...
Как работает внедрение зависимостей в Angular

Как работает внедрение зависимостей в Angular

Предлагаем изучить механику внедрения зависимостей в Angular. Узнайте, как определить зависимость, как ее импортировать и как Angular разрешает конфликты зависимостей.
Когда стоит использовать перечисления в Java?

Когда стоит использовать перечисления в Java?

Где же все-таки можно, а где не стоит использоваться перечисления? Краткое руководство "в картинках".
Как перевести код R в Python с помощью ChatGPT

Как перевести код R в Python с помощью ChatGPT

Научимся переводить код с языка программирования R на Python и наоборот. Для этой цели воспользуемся возможностями ChatGPT и на примерах рассмотрим принцип действия.
Python

Пишем интерфейсы командной строки в Python как профи

Все мы, специалисты по анализу данных, выполняем множество рутинных и повторяющихся действий. Сюда относятся: создание еженедельных отчетов, ETL-операции (извлечение, преобразование, загрузка), обучение моделей с...
Android

Новое в Android 11

Оцените превью для обновлений некоторых уже существующих функций, а также доступных нововведений, таких как IME animation control. Синхронизированные анимации IME Идея заключается в том, что IME (редактор...
10 вопросов, которые помогут нанять лучшего Android-разработчика

10 вопросов, которые помогут нанять лучшего Android-разработчика

Мобильные приложения выведут компанию на новый уровень, но для этого нужен хороший Android-разработчик. Предлагаем 10 вопросов для собеседования, которые помогут выбрать квалифицированного специалиста.
Понятие об умных указателях Rust

Понятие об умных указателях Rust

В этой статье мы разберемся, что именно представляют собой умные указатели, откуда они берутся и как работают. Если по-простому, умный указатель  —  это абстрактный тип...
Самые полезные библиотеки Go

Самые полезные библиотеки Go

Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
CPP

Распознаём 50 видов текста на C++ с Plywood

Посмотрим на скромный текстовый файл: Этот файл может содержать удивительное количество различных форматов. Текст может быть закодирован как ASCII, UTF-8, UTF-16 (с прямым или обратным...
Python для начинающих: какая разница между tuple, list и set?

Python для начинающих: какая разница между tuple, list и set?

Язык программирования Python предоставляет четыре встроенных типа данных для хранения коллекций из объектов. Все они наделены различными свойствами и характеристиками: list (список), tuple (кортеж),...
JavaScript

Как пересчитать слова в массиве используя JavaScript

Считаем слова в массиве Дано: let array = ; Задача: посчитать все слова в данном массиве. Способ №1: используем цикл for function getWordCount() { let map = {}; for...
Как создать API-шлюз в Rust посредством библиотеки Hyper

Как создать API-шлюз в Rust посредством библиотеки Hyper

Научимся создавать эффективный API-шлюз в Rust, задействуя библиотеку Hyper и YAML-файлы конфигурации. Кроме того, напишем модульные тесты для тестирования логики авторизации и проверим корректную работу API-шлюза.
Python

Java убьет ваш стартап. PHP спасёт его

Так, всем спокойно. Это не очередной диспут на тему что лучше PHP, Java или ваш любимый язык. Я хочу поговорить о корпоративных технологиях, например...
Как освоить API-интерфейсы Metal с UIView и SwiftUI

Как освоить API-интерфейсы Metal с UIView и SwiftUI

Раскроем возможности программирования графических процессоров с Metal для создания сложной 3D-графики, обработки изображений и других задач. Предоставим фрагменты кода и рекомендации для применения Metal в собственном приложении iOS или macOS.
Python

Как специалисту по данным написать веб-приложение, используя простой Python

Проект машинного обучения нельзя назвать действительно законченным, пока у вас нет хорошего способа его продемонстрировать.  Раньше для демонстрации проекта хватало хороших визуализаций или небольших PPT,...
Простое руководство по форматированию строк в Python с помощью f-строк

Простое руководство по форматированию строк в Python с помощью f-строк

Использование f-строк - 5-го способа форматирования строк, появившегося в Python 3.6, - повысит ваш профессиональный уровень. В отличие от других способов в Python, f-строки являются более гибкими, работают быстрее и улучшают читаемость кода.
Самый быстрый способ cоздать CRUD API в Golang

Самый быстрый способ cоздать CRUD API в Golang

Поэтапно сделаем пригодный для промышленной эксплуатации API. Менее чем в 50 строках кода реализуем его с миграциями, REST-обработчиками, функцией main, создадим простейший компонент  -  слой данных.
Что такое ViewModel

Что такое ViewModel

Представляем ViewModel доступным языком. Рассказываем, что такое ViewModel и как эффективно использовать этот компонент в Android-приложениях.
Golang

Интерфейсы в Go для повышения тестируемости кода

Интерфейсы в Go Интерфейсы  —  это абстракции, описывающие поведение различных типов, но не определяющие детали его реализации. Например, вы можете запросить и принять деньги от кассира...
Заменят ли потоки данных циклы в Java?

Заменят ли потоки данных циклы в Java?

Затронем такую тему, как потоки данных в Java. Сравним их показатели производительности с циклами, а также выявим преимущества и ограничения в применении.
Создание рекомендательного движка статей на основе ИИ/МО

Создание рекомендательного движка статей на основе ИИ/МО

Обучающее руководство по созданию приложения Flask на Python с реализацией рекомендательного движка статей, в основе которого лежит поиск по сходству и алгоритм МО.
Python

Как создавать веб-сокеты в Python

WebSocket — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. — Википедия Мы научимся настраивать собственный веб-сокет на Python, используя WebSockets...
Python

Перестаньте использовать range() в цикле for в Python

Цикл for. Краеугольный камень программирования. Технологический приём, который вы осваиваете, ещё будучи новичком, и продолжаете использовать в течение всей своей карьеры программиста.  Если вы использовали...
Как создать чат-бот на основе данных CSV с LangChain и OpenAI

Как создать чат-бот на основе данных CSV с LangChain и OpenAI

Хотите пообщаться с чат-ботом, основанном на вашем собственном файле CSV? Не стоит отказываться от такого интересного опыта. При создании чат-бота поработаем с Langchain и OpenAI.
Android

Под капотом модификатора suspend

Корутины Kotlin предоставили Android разработчикам модификатор suspend. Изучив его, вы поймете, почему функция suspend не возвращает ничего до тех пор, пока не будет завершена...
Java-библиотеки, которые повысят вашу производительность

Java-библиотеки, которые повысят вашу производительность

Время - деньги, так что повышая эффективность труда - вы экономите одно и помогаете преумножить второе. Расскажем о нескольких полезных библиотеках, с помощью которых вы сможете избавиться от шаблонного кода и сосредоточиться на разработке бизнес-логики.
Как создать свой Twitter или управляемое данными приложение с Golang и Kafka

Как создать свой Twitter или управляемое данными приложение с Golang и Kafka

Сделаем легко масштабируемую систему с ML-алгоритмами для определения предпочтений пользователей. Заполним временну́ю шкалу, создадим тему, заведем задачу для получения и сохранения твитов из темы, проанализируем их с помощью тегирования.
Java

Фреймворк Executor в Java

Вплоть до Java 5 создавать потоки и управлять ими было возможно только на уровне приложения. Объекты Thread требуют значительного объема памяти. Таким образом, если...
iOS

Лучшие iOS SDK инструменты за 2019 год

В 2019 году появилось множество приложений для iOS, которые однозначно стоит добавить на главный экран вашего устройства. Например, Mobike для бесстанционного проката велосипедов, Blinkist...
Python

Импорт в Python

Импорт в Python. Основы В Python ключевое слово import применяется для того, чтобы сделать код в одном модуле доступным для работы в другом. Импорт в Python...
3 эффективные новинки Swift с WWDC 2022

3 эффективные новинки Swift с WWDC 2022

Познакомимся с интересными приемами Swift 5.7, которые значительно оптимизируют процесс написания кода.
Spring Data - сила доменных событий

Spring Data — сила доменных событий

Рассмотрим, как доменно-ориентированный дизайн помогает проектировать более надежные и устойчивые к расширению системы - на примере гипотетического сервиса продажи книг.
10 простых сниппетов Python для веб-разработки, автоматизации и обработки данных

10 простых сниппетов Python для веб-разработки, автоматизации и обработки данных

Используйте эти модули и сниппеты в программировании на Python - это позволит автоматизировать сложные задачи и оформлять код так, как вам нравится.
R

R - язык для статистической обработки данных. Часть 1/3

Я сам изучал R в течение последних нескольких недель.  В своей статье я рассказываю о языке программирования R и его главных концепциях, которые пригодятся каждому...
Python 3.11: функционал, который вам понравится

Python 3.11: функционал, который вам понравится

Стоит ли переходить на новую версию? Рассмотрим пять самых интересных новинок и одно суперкрутое улучшение.
Фреймворк Google Wire: автоматическое внедрение зависимостей в Go

Фреймворк Google Wire: автоматическое внедрение зависимостей в Go

Познакомимся с концепцией внедрения зависимостей и поработаем с фреймворком Google Wire, облегчающим определение и настройку зависимостей. Вперед, навстречу гибким и удобным в сопровождении приложениям Go!
Лучшие практики разработки на Python

Лучшие практики разработки на Python

Хотите создать профессиональный Git-репозиторий для версионирования и обмена кодом Python? Предлагаем доступный гайд с перечнем инструментов, которые помогают организовывать код Python и поддерживать его в хорошем состоянии в соответствии с профессиональными стандартами.
3 способа мониторинга изменений лог-файлов в Java

3 способа мониторинга изменений лог-файлов в Java

Научимся отслеживать изменения файлов тремя разными способами: запланированная задача + File.lastModified, WatchService и Apache Commons-IO.
Что возвращать в Go: структуры или интерфейсы?

Что возвращать в Go: структуры или интерфейсы?

В подробном руководстве исследуем преимущества и особенности возвращения структур и интерфейсов на Go. Рассмотрим реальные сценарии с практическими примерами, рекомендации, альтернативные стратегии.
Как разбить текст на абзацы с помощью Python

Как разбить текст на абзацы с помощью Python

Ищете простой и эффективный способ автоматического реферирования текстовых данных? Воспользуйтесь доступным руководством по реализации первого этапа реферирования - разбиения текста на абзацы.
Shared Components

Как обеспечить возможность обнаружения для совместно используемых компонентов

Компоненты привносят модульность в дизайн приложений. Модульность, в свою очередь, обеспечивает возможность повторного использования, благодаря которой можно создавать приложения без необходимости каждый раз изобретать...
Python

Как создать Telegram бота с помощью Python

Представьте, что у вас есть бот в мессенджере, который присылает вам случайно выбранную картинку с собачкой, когда вам захочется. Звучит здорово, да? Давайте сделаем...
Реализация конвейера CI/CD «от и до»

Реализация конвейера CI/CD «от и до»

Как эффективно автоматизировать интеграцию кода, ускорить разработку и выпуск надежных приложений, оптимизировав процессы? Полностью настроим конвейер с приложением Java, усовершенствовав автоматизацию.
Реализация масштабируемого и гибкого пользовательского экрана с несколькими переключателями на Swift

Реализация масштабируемого и гибкого пользовательского экрана с несколькими переключателями на Swift

Посмотрим, как обрабатывать переключение между разными опциями в меню: пройдем путь от сравнительно простого решения к более универсальному и поддерживаемому, через рефакторинг.
Python

Прокачка Jupyter Notebooks

Я открыл для себя Jupyter Notebooks несколько месяцев назад, когда всерьёз занялся машинным обучением. То, как всё работает в браузере, сначала откровенно восхитило, но...
Структурированное логирование JSON в приложениях на Golang

Структурированное логирование JSON в приложениях на Golang

Структурированные логи важны для отладки программного обеспечения. К счастью, это очень легко реализовать на Golang. Узнаем, как сэкономить время при отслеживании багов и как использовать уровни ведения журнала для контроля за логами, а также научимся создавать настраиваемые логгеры.
Понимание и реализация смарт-указателя Arc и мьютекса на Rust

Понимание и реализация смарт-указателя Arc и мьютекса на Rust

Изучим модель владения, функционал потоков области видимости, попробуем самостоятельно разобраться с типажами-маркерами Send и Sync.
Clean Code

О дивный читаемый код

Введение  Большинство начинающих программистов сталкивается со многими дилеммами в процессе написания кода, например задумываются о том, какой код будет востребован в индустрии. У каждой компании...
Python

Магические методы в Python

Создание объекта dict, принимающего только целые и плавающие числа в качестве значений В этом сценарии мы реализуем класс, который создает объекты-словари, принимающие только целые и...
Состояния потоков в Java

Состояния потоков в Java

«Гораздо проще уже спроектировать класс потокобезопасным, чем модернизировать его позже».― Брайан Гетц. Потоки Java играют важную роль в параллельном программировании. Поток в любой момент времени находится...
Методы лингвистического моделирования с использованием Python

Методы лингвистического моделирования с использованием Python

Лингвистическое моделирование как способ адекватной интерпретации текста, выявления и предупреждения в нем ошибок - один из конкурентных инструментов Python. Научитесь владеть этим инструментом и станьте грамотным программистом.
Python

Виртуальные Окружения в Python

В процессе работы над проектом мне потребовалось проверить, работает ли пакет Flask с установленным у меня Python. При запуске команды для установки Flask я...
Создай и играй: код для игры "Змейка" с кнопками управления в SwiftUI

Создай и играй: код для игры “Змейка” с кнопками управления в SwiftUI

Вспомним классическую игру "Змейка" и создадим для нее код в SwiftUI. Задача сложная, но интересная.
Python

Автоматизация работы с Python

Введение Работу по вводу данных можно разделить на следующие категории: Извлечение данных из таблиц (Excel, Google Sheets) и перемещение их в другое место (веб-страница или другая...
Startup

Что я понял за год работы программистом в стартапе

Год назад я стал разработчиком в Foxintelligence, стартапе в Париже. До этого я работал в двух компаниях в качестве администратора проектов в отделах информационных...
Что такое программирование?

Что такое программирование?

“Программирование  —  это о решении проблем”  —  проф. Дэвид Малан Краткий обзор Каждый день мы сталкиваемся с проблемами, которые должны быть решены. Этими проблемами могут быть как...
Структуры данных: двусвязный (двунаправленный) список

Структуры данных: двусвязный (двунаправленный) список

Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.