Как создать тайм-трекер с помощью API Telegram Bot и веб хуков

Как создать тайм-трекер с помощью API Telegram Bot и веб хуков

Увлекательный рассказ о том, как разработчик отправился на поиски идеального инструмента для учета рабочего времени и как ему в этом помогли API Telegram Bot и веб хуки.
Как оптимизировать набор текста с помощью Python

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

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

Автоматический импорт библиотек в IPython или Jupyter Notebook

Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то попробуйте этот способ: Перейдите к ~/.ipython/profile_defaultСоздайте папку...
Продвинутый Python: оператор dot

Продвинутый Python: оператор dot

Все знают, что оператор dot позволяет реализовать объектно-ориентированную парадигму в Python. Но далеко не все понимают механизм, лежащий в основе оператора dot. У вас есть возможность углубиться в этот вопрос.
Go

Почему Go прекрасно подходит для DevOps

Go — это язык программирования с открытым исходным кодом, история которого началась в Google примерно десять лет назад. Сегодня Go стремительно приобретает популярность как язык будущего....
Jupyter

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

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

Топ-10 самых распространенных ошибок в проектах Go. Часть 1

Неизвестное значение enum Рассмотрим простой пример: type Status uint32 const ( StatusOpen Status = iota StatusClosed StatusUnknown ) Enum создан с помощью iota, что приводит к следующему состоянию: StatusOpen = 0 StatusClosed = 1 StatusUnknown =...
Fake-объекты практичнее mock-объектов

Fake-объекты практичнее mock-объектов

Стоит помнить  —  если вы имеете дело с неудачно разработанным API, предпочтительнее использовать mock-объекты. Пример кода. Что такое mock- и fake-объекты Определения можно найти во множестве статей...
C

Программируем робота E-puck в симуляторе Webots

Хотите изучить робота, но у вас нет возможности его купить? А может, вы просто не знаете с чего начать? Тогда симулятор роботов Webots вам...
API

Веб-API для улучшенного UX

Примечание: некоторые из представленных здесь API все еще находятся в разработке или не поддерживаются в некоторых браузерах. Рекомендуем прочитать полную документацию перед их использованием. Видимость...
Шпаргалка по Kotlin Flow для продвинутых инженеров Android

Шпаргалка по Kotlin Flow для продвинутых инженеров Android

Изучим ключевые понятия и нюансы: холодные и горячие потоки, каналы channel, потоки flow. Разберем операторы, промежуточные операции и функции для объединения потоков, сценарии применения и фрагменты кода.
5 удивительных скрытых возможностей Python. Часть 1

5 удивительных скрытых возможностей Python. Часть 1

Хотите повысить уровень своих навыков написания кода? Возьмите на заметку 5 скрытых возможностей Python. Они помогут сократить время разработки, улучшить читаемость кода и повысить его эффективность.
Модификатор Kotlin, которого не должно было быть

Модификатор Kotlin, которого не должно было быть

Большинство разработчиков Kotlin уверены в том, что свойство val здесь эквивалентно использующемуся в Java свойству final. А что, если я скажу, что это не...
UX Design

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

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

Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 2

Хотите получить должность Java-разработчика или повысить свой профессиональный уровень? Ознакомьтесь с актуальными ответами на 50 ключевых вопросов по микросервисам Spring Boot, которые задают во время собеседования на должность Java-программиста или инженера ПО.
Разветвление вселенной UI

Разветвление вселенной UI

В 2023 году нам предстоит увидеть новые версии пользовательского опыта. Ознакомьтесь с некоторыми из них, а заодно поразмышляйте над тем, нужно ли нам отказаться от пользовательского интерфейса вообще или стоит переосмыслить его в пользу более естественных, минималистичных и осязаемых вариантов?
Конвейер данных в реальном времени с Kafka и ClickHouse

Конвейер данных в реальном времени с Kafka и ClickHouse

Рассмотрим нюансы при запуске обработки на Python. Создадим скрипт для выдачи сообщений, настроим ClickHouse для их получения и обработки. Поэкспериментируем с представлением в реальном времени и удалением данных.
7 лучших CLI-библиотек Python в 2023 году

7 лучших CLI-библиотек Python в 2023 году

Повысьте свой уровень программирования на Python, освоив 7 самых продвинутых CLI-библиотек. Их возможности максимально упростят разработку интерфейса командной строки и позволят сократить код до минимума.
25 основных вопросов для собеседования с Android-разработчиком. Часть 1

25 основных вопросов для собеседования с Android-разработчиком. Часть 1

Техническое собеседование - важная часть найма разработчика Android-приложения. Чтобы выдержать это испытание, изучите 25 вопросов, которые обычно задают на таких собеседованиях. Разберем их в двух частях.
Open Source

Как написать хороший README: краткий курс

После Hacktoberfest в проектах с открытым исходным кодом появилось много новых правок. Только за октябрь было сделало более 400 000 запросов на включение кода. Это невероятно! Я...
Python

Обзор библиотеки Datatable в Python

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

Сможет ли Julia занять место рядом с Python

Julia и Python —языки программирования, которыми я очень дорожу. Использование Julia вместо Python обладает множеством преимуществ, таких как меньшее время написания кода и более...
Android

Изменение типа с помощью typealias

Когда определения типов отвлекают от значения вашего кода из-за нечитабельности, выразительности или просто длины, у Kotlin есть подходящая функция: typealias! Typealias позволяет давать альтернативные...
Spring Data - сила доменных событий

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

Рассмотрим, как доменно-ориентированный дизайн помогает проектировать более надежные и устойчивые к расширению системы - на примере гипотетического сервиса продажи книг.
Создание простого клиента RabbitMQ с помощью Go

Создание простого клиента RabbitMQ с помощью Go

Как известно, Go  —  это язык программирования с открытым исходным кодом, позволяющий легко создавать простое, надёжное и эффективное программное обеспечение. RabbitMQ представляет собой общедоступный программный...
Как работает шлюз API на Golang: на примере одного симпатичного платья

Как работает шлюз API на Golang: на примере одного симпатичного платья

Совместим просмотр красивых платьев в веб-магазинах и заодно разберем принцип работы шлюза API на Golang!
Как защитить учетные данные с помощью переменных среды в Python

Как защитить учетные данные с помощью переменных среды в Python

Как быстро и без особых усилий скрыть учетные данные, исключив их передачу по сети небезопасным способом.
Микрооптимизации в Java. Enum  -  хороший, красивый и медленный

Микрооптимизации в Java. Enum  -  хороший, красивый и медленный

Перечисления  —  важная часть каждого приложения, которое представляет собой чуть больше, чем “Hello World”. Они повсюду. И, на самом деле, перечисления очень полезны: они...
Как использовать инструменты статического анализа в коде Python

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

Научимся работать с такими инструментами статического анализа, как MyPy, Bandit и Radon. Они предоставляют мгновенную обратную связь об уязвимостях и ошибках в коде, а также снабжают разработчика полезными метриками.
Как создать NFT-маркетплейс с полным стеком

Как создать NFT-маркетплейс с полным стеком

Предлагаем подробное руководство по созданию полнофункционального NFT-маркетплейса. В реализации используются Polygon, Next.js, Tailwind, Solidity, Hardhat, Ethers.js и IPFS.
3 приема для определения функций в Python

3 приема для определения функций в Python

Пополним копилку знаний по Python полезными приемами для определения функций. Разберем применение аргументов по умолчанию, подсказок типов, конструкции *args и **kwargs.
Фреймворк Google Wire: автоматическое внедрение зависимостей в Go

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

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

Логирование  —  корень всех проблем отладки

Логирование играет важную роль в получении информации о поведении системы, помощи в отладке и эффективном решении проблем. Следуя лучшим практикам и используя инструменты анализа логов, такие как ELK Stack, вы получите более глубокое представление о своих системах и сможете создавать более надежные и производительные приложения.
CPP

Шаблон проектирования прототипов в современном C++

Шаблон проектирования прототипов — это порождающий шаблон проектирования, который помогает в прототипировании (недорогом создании/копировании) объекта с использованием отдельных методов или полиморфных классов. Прототипом можно считать модель...
Отображение превью камеры с помощью PreviewView

Отображение превью камеры с помощью PreviewView

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

Python: публикация ваших пакетов в PyPi

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

4 golang-сниппета, которые вводят в заблуждение разработчиков C#!

В лингвистике такое явление получило название ложные друзья переводчика, то есть слова, похожие по звучанию или написанию, но совершенно разные по значению. Например, английское...
Как создать приложение Android за 7 шагов

Как создать приложение Android за 7 шагов

Хотите создать свое первое Android-приложение и ищете доступное руководство? Оно перед вами: всего 7 простых шагов - и приложение успешно работает на Android-устройстве.
Как использовать PHP для вывода данных?

Как использовать PHP для вывода данных?

Функциональность и простота PHP не вызывают сомнений. Однако знание нюансов этого языка не повредит разработчику, приступающему к его изучению. Сегодня поговорим о выводе данных с помощью PHP.
Нормальное завершение работы в Go

Нормальное завершение работы в Go

Go очень популярен среди разработчиков бэкенда, а его сообщество с каждым днем только растет.Лично я предпочитаю писать код на Go. В этом кратком руководстве описывается...
ТОП-5 законов для каждого UX-дизайнера

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

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

Как автоматизировать удаление ненужных файлов с помощью Python 

Пошаговое руководство по автоматизации удаления ненужных файлов. Поработаем с Python и планировщиком задач cron.
Rust

Actix или Rocket? Сравнение двух мощных платформ для веб-приложений на Rust

Понятие платформ для веб-приложений Прежде чем приступать к сравнению этих двух платформ Rust, давайте сначала разберёмся, что в принципе собой представляют платформы для веб-приложений. Для создания...
Язык С: типы данных

Язык С: типы данных

Типы данных в языке C - это обширная система, используемая для объявления переменных или различных функций. Тип переменной определяет, сколько места она занимает в памяти и как интерпретируется хранящийся битовый паттерн.
Управляем зависимостями: возможности каталога версий и convention-плагина

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

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

Миграции баз данных с Golang

Изучим достоинства и недостатки очень полезного инструмента не только для тестирования, но и для контроля и управления версиями БД. Разберем особенности написания и применения SQL-миграций в службах на Go.
4 способа улучшить навыки написания кода

4 способа улучшить навыки написания кода

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

Лучшие инструменты для разработки приложений под Android

Android предлагает разработчикам массу возможностей: это универсальная, открытая платформа, используемая миллионами пользователей по всему миру, с удивительно простой в использовании площадкой для распространения приложений....
Устранение неполадок в Kubernetes - стратегический подход

Устранение неполадок в Kubernetes - стратегический подход

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

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

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

Как установить Anaconda на Mac

Просто и понятно о том, как установить Anaconda на Mac и исправить страшную ошибку «conda command not found» Необходимость Anaconda Начав работать в области науки о данных,...
Golang

Ловушка для горутины

Горутина — это эффективный и легковесный механизм многопоточного выполнения, популярный среди разработчиков Go. С помощью семантики горутин программисты добиваются эффективного выполнения параллельных процессов в программе. Впрочем,...
Как протестировать код на Go с Github Actions

Как протестировать код на Go с Github Actions

Введение Процесс тестирования очень важен при разработке программного обеспечения. Разработчики должны быть уверены в стабильности своего кода и в том, что он соответствует требованиям проекта....
Middleware Django: пользовательское ПО промежуточного слоя

Middleware Django: пользовательское ПО промежуточного слоя

Что такое middleware, как создать пользовательский Django middleware и как проверить стандартные? Всё, что нужно знать о связующем ПО.
Java

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

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

Сферы применения Python

Собираетесь стать Python-программистом, но не знаете, с чего начать? Предлагаем базовые рекомендации о том, в каких областях стоит и не стоит применять этот язык.
Реляционные базы данных в контейнерах Docker Compose

Реляционные базы данных в контейнерах Docker Compose

Простое и быстрое руководство по контейнеризации базы данных MySQL.
Kotlin: продвинутые техники функционального программирования

Kotlin: продвинутые техники функционального программирования

Подробно и с реальными примерами рассмотрим приемы программирования для создания выразительного и эффективного кода. Изучим мощный инструментарий: от нюансов функций для работы с коллекциями, элегантности композиции функций и до эффективности хвостовой рекурсии.
10 полезных советов по повышению производительности при работе с VS Code

10 полезных советов по повышению производительности при работе с VS Code

Visual Studio Code - не просто текстовый редактор. Это мощный инструмент, который значительно повышает производительность и оптимизирует рабочий процесс. Воспользуйтесь этими советами по работе с ним.
Python

Контейнеризация в Python. Часть 2

Часть 1, Часть 2 Это вторая статья серии, посвящённой контейнеризации разработки в Python. В Части 1 мы уже разобрали лучшие практики контейнеризации Python-сервиса. Здесь мы...
Python

Хитрости на Python

Болтовня ничего не стоит. Покажите мне код. Эти приемы на Python весьма незаурядны и крайне полезны. Обмен значениями Создание одной строки из всех элементов списка Поиск самого частого значения...
Перестановка двух чисел на Си

Перестановка двух чисел на Си

Что такое перестановка двух чисел? Перестановкой двух чисел называют обмен значениями двух переменных. Например, переменная num1 содержит значение 20, а num2 содержит значение 40. После перестановки...
C# -  создаем клиент-серверный чат на TCP

C# —  создаем клиент-серверный чат на TCP

Сделаем простую TCP-настройку, чтобы приложения C# «общались» по сети, как старые друзья. Снабдим сервер «ушами», а клиента  -  рацией.
Rust

Замыкания в Rust

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

Начало работы с базой данных Room в Android

Хранение данных  —  один из важнейших аспектов разработки мобильных приложений для Android. Чтобы упростить этот процесс, используйте передовую библиотеку Room. В сегодняшнем гайде пошагово пройдемся по настройке Room и выполнению с ее помощью базовых операций.
Kepler.gl - инструмент для визуализации геоданных на Python

Kepler.gl — инструмент для визуализации геоданных на Python

Познакомимся с отличным инструментом Kepler.gl и с его помощью создадим веб-приложение для визуализации геоданных на Python.
Taipy: создание полнофункциональных приложений для работы с данными

Taipy: создание полнофункциональных приложений для работы с данными

Taipy - библиотека Python, предлагающая простые и быстрые способы создания полнофункциональных приложений для работы с данными. Узнайте, чем Taipy отличается от Streamlit и как с помощью Taipy создать простое, но эффективное приложение для работы с данными.
Data Analysis

Анализ автоаварий в Барселоне с использованием Pandas, Matplotlib и Folium

Open Data Barcelona - это сервис, предоставляющий наборы данных Барселоны, который содержит около 400 наборов, охватывающих широкий спектр тем, таких как население, бизнес и...
10 лайфхаков для Linux, которые повысят продуктивность

10 лайфхаков для Linux, которые повысят продуктивность

Эти 10 лайфхаков для работы с CLI Linux помогут вам повысить производительность. Все они довольны просты и показывают, как делать больше меньшими средствами.
Магия совместимости XML и Jetpack Compose

Магия совместимости XML и Jetpack Compose

Статья подскажет, как перевести проект с представлений XML на Jetpack Compose и воспользоваться всеми его преимуществами.
Основы реактивного программирования

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

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

5 причин грядущего господства Go в мире программирования

Еще пару лет назад Go считался языком с ограниченными возможностями. Однако сегодня у него есть как минимум 5 причин стать номером один в веб-разработке.
Electron

Создаём «ToDo» приложение с помощью Electron

Мы будем создавать приложение ToDo с помощью библиотеки Electron. Мы затронем следующие темы: хранение данных, использование нескольких окон, взаимодействие между браузерами. Что необходимо для этого Я...
Разработка приложения на ChatGPT: пошаговое руководство

Разработка приложения на ChatGPT: пошаговое руководство

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

Строим конвейеры с Pandas, используя «pdpipe»

Введение Pandas — прекрасная библиотека в экосистеме Python для анализа данных и машинного обучения. Она идеально соединяет мир данных, где живут файлы Excel/CSV и таблицы SQL, и...
Жажда скорости: Python с расширениями С

Жажда скорости: Python с расширениями С

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

Дирижируйте горутинами с помощью каналов

Go получил известность во многом благодаря своему чистому и эффективному подходу к параллельному выполнению. С применением горутин можно добиться огромного повышения эффективности, выполняя несколько...
Чистая реализация структуры проекта на Go

Чистая реализация структуры проекта на Go

Изучим модульную структуру проекта для тестируемого и сопровождаемого приложения Go, которое создается по принципам чистой архитектуры. Используя веб-фреймворк Gin и базу данных MongoDB, сделаем простой REST API с функционалом регистрации, авторизации пользователей и управления их профилями.
Julia

В поисках лучшей среды для Julia: Juno или Jupyter?

Одним из важнейших факторов, влияющих на производительность программирования, является среда разработки. Особенно это относится к науке о данных, так как специалисты, работающие в этой...
Аннотации Java  -  основы

Аннотации Java  —  основы

Разберем базовые аннотации Java и научимся применять их в собственном коде для упрощения как процесса работы, так и читаемости кодовой базы.
Комбинации команд Unix/Linux, которые должен знать каждый разработчик

Комбинации команд Unix/Linux, которые должен знать каждый разработчик

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

5 визуально эффектных программ для командной строки

Долой унылые черно-белые приложения для командной строки. Добавим в рабочий процесс красок, анимации и динамики с помощью отличных программ: WTF, htop, mapscii, btop и wttr.
Data Science

Анализ независимых компонент в Python

Предположим, вы на вечеринке беседуете с милой девушкой. Вас атакует множество звуков: разговоры людей по всему дому, громко играющая на фоне музыка. Тем не...
Scrum: 5–3–5–3–3

Scrum: 5–3–5–3–3

В начале работы с Agile и Scrum, оказывая помощь коллегам, я обычно использовал комбинацию 3–5–3, где: первые “3”  —  три роли Scrum;“5”  —  пять событий...
Создание интерактивных точечных диаграмм с помощью Python Altair

Создание интерактивных точечных диаграмм с помощью Python Altair

Рассказываем, как повысить информативность визуализаций данных, создавая интерактивные точечные диаграммы с помощью Python Altair.
20 экспертных советов по эффективному использованию Python

20 экспертных советов по эффективному использованию Python

Хотите раскрыть для себя весь потенциал Python, чтобы легко справляться со сложными проектами? Благодаря этим советам, а также практике и упорству, вы приобретете полезные навыки программирования на Python, которые помогут вам повысить эффективность кода.
Pattern

Шаблоны функционального программирования. Рецепты

Эти рецепты будут наиболее полезны для тех, кто переходит от функциональных библиотек, таких как ramda, к использованию алгебраических типов данных (ADT). Мы будем использовать...
Mito: быстрый анализ данных на Python

Mito: быстрый анализ данных на Python

Выбиваетесь из графика? Боитесь, что не уложитесь в срок? Mito сэкономит драгоценное время. Эта библиотека Python поможет провести анализ данных в считанные минуты.
Аннотации для параллелизма в Java: расцвечивание потоков

Аннотации для параллелизма в Java: расцвечивание потоков

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

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

Стоит ли переходить на новую версию? Рассмотрим пять самых интересных новинок и одно суперкрутое улучшение.
Golang

Привет, Go!

За последние пару месяцев я полюбил Go по разным субъективным причинам. Чтобы продемонстрировать всю красоту и простоту языка Go, рассмотрим классическую небольшую программу, которая...
Доступно об API-вызове во Flutter: лучшие практики с демонстрацией кода

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

Рассказываем, как во Flutter использовать методы API-вызова HTTP, POST, GET и как создавать модели для представления данных, получаемых с сервера. Следуя этим практикам, вы будете писать более надежный и эффективный код.
Улучшение визуализации данных с помощью двухосевых диаграмм в Python

Улучшение визуализации данных с помощью двухосевых диаграмм в Python

Хотите анализировать и представлять данные в удобном для чтения виде? Библиотека Plotly поможет улучшить визуализацию данных с использованием двухосевых диаграмм.
10 эффективных методов написания Python-кода в одну строку

10 эффективных методов написания Python-кода в одну строку

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

Сравниваем целочисленное и линейное программирование в Python

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

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

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

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

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

Бережливое тестирование, или Почему модульные тесты хуже, чем вы думаете

Тестирование — противоречивая тема. Люди крепко держатся за свои убеждения относительно подходов к тестированию. Разработка через тестирование — самый яркий пример. Нехватка чётких эмпирических данных провоцирует людей на...
React

Реализация жизненных циклов React с помощью Reason React Hooks

Использование хуков React дает множество полезных преимуществ. Узнаем, что такое жизненные циклы React и рассмотрим реализацию этих циклов с помощью Reason React Hooks. После выпуска...
Kotlin 1.5.30 и KMM/KMP

Kotlin 1.5.30 и KMM/KMP

Узнайте, почему специалисты называют Kotlin 1.5.30 поворотным моментом в мультиплатформенном программировании.
Fake-объекты практичнее mock-объектов

Fake-объекты практичнее mock-объектов

Стоит помнить  —  если вы имеете дело с неудачно разработанным API, предпочтительнее использовать mock-объекты. Пример кода. Что такое mock- и fake-объекты Определения можно найти во множестве статей...
Data Science

От продвинутой к эффективной аналитике

За последнюю декаду в компаниях произошел фундаментальный сдвиг в философии принятия решений. Лидеры ушли из среды, где был важен личный опыт и интуиция, в...
Топ-5 способов стилизации React-приложений в 2024 году

Топ-5 способов стилизации React-приложений в 2024 году

Использование библиотек для стилизации React-приложения может сэкономить много времени. Изучите возможности лучших из них: StyleX, Styled Components, Sass, Tailwind и Emotion. Алгоритмы реализации и демо-версии каждой библиотеки значительно облегчат работу.
Interfaces

Программируем с интерфейсами: и у нас на это 5 причин

Начну с самого важного. ВСЕГДА используйте интерфейсы . Ну или хотя бы в большинстве случаев, когда пишете программу или создаёте проект. Чем больше, тем лучше....
Базовый класс Android ViewModel за 5 минут

Базовый класс Android ViewModel за 5 минут

Класс ViewModel служит прослойкой между View и Model в структурном паттерне проектирования MVVM. Рассмотрим особенности реализации ViewModel на реальном примере.