Отправка push-уведомлений с помощью Firebase Cloud Messaging
Познакомимся с инструментом для отправки уведомлений на одно или несколько устройств и разберем, какие типы уведомлений существуют и как их можно реализовать.
11 важнейших консольных команд для разработчика
Командная строка сильно облегчает нам жизнь, позволяя легко автоматизировать несколько рутинных задач и повысить плавность хода всего процесса. Вместо того, чтобы постоянно кликать повсюду...
Зачем Python столько знаков подчеркивания?
Неочевидные примеры использования символа нижнего подчеркивания для обеспечения инкапсуляции и улучшения читаемости вашего кода на Python
Удалённые вызовы процедур в Golang
Что такое удалённые вызовы процедур?
Удалённый вызов процедур (RPC) — это подпрограмма в распределённых вычислениях. Реализация RPC напоминает реализацию локальных вызовов, но обычно они не идентичны. Как...
Python Django и OSRM: маршрут на интерактивной онлайн-карте
Python Django, Folium, Leaflet и OSRM API для веб-приложения с функционалом Google Maps
Сниппеты Python для начинающих: распаковка кортежей, пауза в секундах и случайное число
Добавьте в закладки 12 профессиональных Python сниппетов для решения повседневных задач, ведь когда-нибудь они помогут сохранить ваш день!
Java-Lombok: нужны ли геттеры и сеттеры?
Привет всем энтузиастам Java! Давайте поговорим о Java и рефакторинге. Как известно, Java остается одним из наиболее популярным языком программирования. В каждом новом релизе...
3 способа локального хранения и чтения учетных данных в Python
Хранение учетных данных в качестве глобальных переменных среды
Если учетные данные хранятся в виде глобальных переменных среды, к ним можно получить доступ с помощью любого...
Мир Docker и Kubernetes в аналогиях с жизнью разработчика
Новый подход к объяснению основных концепций платформы Kubernetes! Автор находит аналогии объектам K8s в реалиях разработчика, что значительно упрощает понимание принципов их работы.
Полное руководство по встроенным структурам данных Python
Структуры данных — это просто специализированные форматы для организации и хранения данных. Они крайне необходимы для разработки программного обеспечения, поэтому их правильный выбор очень важен.
“Плохие программисты...
Основы Go: ввод-вывод файловой системы
Введение
Чтение с диска и запись на диск, а также перемещение по файловой системе — это основной элемент в любом языке. Узнаем, как все это...
Генерируем образы Docker с помощью Spring Boot
Почему контейнеры?
В мире, где пользователи обращаются к приложениям, способным возвращать данные за считанные миллисекунды, есть единственный в своем роде инструмент, который любая компания стремится...
Новейшие возможности C# 9
В преддверии релиза .NET 5, объединяющего среды выполнения .NET, Microsoft недавно анонсировали возможности, которые будут включены в C# 9. О выпуске финальной предварительной версии C# было...
Как оптимизировать код на Python
Как я сократил время выполнения приложения на 1/10
Данные советы просты в реализации и могут пригодиться вам в обозримом будущем.
Считается, что первоочередной задачей программиста является написание...
Делегаты в Kotlin для Android
Kotlin действительно красивый язык, в котором есть очень крутые фичи. Из-за них разработка приложений становится веселым и захватывающим опытом. Одна из этих фич — делегированные свойства....
Отправляем E-mail с помощью Python
Я участвую в разработке одного проекта на работе. Мы разрабатываем прототипы Raspberry Pi и специальное программное обеспечение. Хоть и разработанное ПО работает блестяще, нам...
Обновления в Android 11: Scoped Storage и другие улучшения конфиденциальности
Все последние улучшения в Android на уровне ОС касаются защиты приложений и пользовательских данных, а также более упорядоченного предоставления доступа. Несмотря на преимущества изменений,...
Конкурентность на Go: объяснение шаблона Worker Pool
Введение
Если хотите, можете пропустить вводную часть и переходить сразу к подробному разбору реализации.
Когда я только начинал работать с языком Go, то немного скептически относился...
Разбираемся с компилятором Go
В статье речь идёт о Go 1.13
Компилятор Go занимает важное место в экосистеме Go. Компиляция — необходимый этап создания исполняемого двоичного кода. Компилятор проходит долгий путь:...
Продвинутый Python: 9 важнейших аспектов при определении классов
По своей сути, Python является объектно-ориентированным языком программирования, вследствие чего он работает с данными и функциональностями, поддерживая различные объектно-ориентированные возможности. Например, все структуры данных — это...
Изучаем Python: генераторы, стримы и yield
В Python часто используются generator иyield. Расскажу в этой статье об основных свойствах generator, а также преимуществах работы с ним. Разберёмся в подробностях, как...
Как специалисту по данным написать веб-приложение, используя простой Python
Проект машинного обучения нельзя назвать действительно законченным, пока у вас нет хорошего способа его продемонстрировать.
Раньше для демонстрации проекта хватало хороших визуализаций или небольших PPT,...
Асинхронная многопоточность в Python
Вступление
В этом разделе я попытаюсь сформулировать цель своей статьи (можете пропустить его, если хотите просто узнать, как настроить асинхронную многопоточность в Python). Мне потребовалось...
10 отличных JavaScript библиотек на 2020 год
JavaScript — язык интернета. Вы можете запускать его в браузере или на сервере, а можете использовать для мобильных приложений.
Хотя он и хорош сам по...
9 советов, как выделиться среди Java-разработчиков
На протяжение десятилетий Java считается одним из самых популярных языков программирования. Все больше и больше людей желают освоить этот язык, из-за чего образуется сильная...
Учимся избегать null-значений в современном Java. Часть 1
Null. Правила использования
В своем выступлении “Null References: The billion dollar mistake” (“Нулевые ссылки: ошибка на миллиард долларов”), Тони Хоар описывает реализацию нулевых ссылок в...
Как развернуть GitLab с помощью Docker за 5 секунд
GitLab - это веб-инструмент управления репозиториями Git, который помогает командам совместно работать над кодом. Расскажем, как быстро развернуть экземпляр GitLab.
Освойте оконные функции SQL раз и навсегда
Пошаговое руководство по освоению оконных функций поможет решать различные задачи. Изучите на конкретных примерах, как оконные функции помогают выполнять агрегирование, ранжирование и смещения данных.
9 Уровней применения функции zip в Python
Введение
В Python есть несколько встроенных функций, которые делают код очень элегантным. Одна из них — функция zip. Но начинающим не всегда бывает понятно, как...
Графовые сверточные сети: введение в GNN
Предлагаем подробное описание механизма работы графового сверточного слоя. Пошаговое руководство по использованию PyTorch Geometric (PyG) позволит на практике применять этот механизм для решения задач классификации узлов.
MVVM на Android с компонентами архитектуры + библиотека Koin
Введение
С MVVM (Model-View-ViewModel) процесс разработки графического интерфейса для пользователей делится на две части. Первая — это работа с языком разметки или кодом GUI. Вторая — разработка бизнес-логики или...
Основы многопоточности
Вкратце знакомимся с понятием и принципами работы многопоточности, а также наглядно убеждаемся в преимуществах ее применения.
Как запустить любое ПО с графическим интерфейсом в Docker?
Вы, конечно, прекрасно знаете, что такое docker и контейнеры и даже как развернуть модель машинного обучения в docker? Но есть еще один интересный вопрос:...
5 основных фреймворков для Java-разработчиков
Приветствую вас, Java-разработчики! Размышляете над тем, какой фреймворк освоить, чтобы стать полноценным специалистом? Спешу вас обрадовать — это как раз тема данной статьи. Как-то...
Как использовать ИИ и Python для распознавания речи
Создаем систему распознавания речи с использованием искусственного интеллекта (ИИ) для транскрибирования звука. Рассмотрим особенности создания такой системы на языке Python с использованием сетевой платформы AssemblyAI.
Сможете ли вы решить эти 3 «простые» задачи на Python?
Правильное решение вас удивит
Попробуйте решить эти задачи самостоятельно, а потом проверьте себя по готовым ответам.
Подсказка: У всех задач есть нечто общее. Так что если разобраться...
Создаем бота клиентской службы с помощью Python, Flask и Pinecone
Простой и наглядный пример создания бота, способного заменить специалиста клиентской службы по основным вопросам. Экономит время и не требует зарплаты.
Простое объяснение интерфейсов на Golang
Что общего у электророзеток с интерфейсами? Как создавать интерфейсы правильно? Попробуем понять этого непонятного зверя!
Простое руководство по форматированию строк в Python с помощью f-строк
Использование f-строк - 5-го способа форматирования строк, появившегося в Python 3.6, - повысит ваш профессиональный уровень. В отличие от других способов в Python, f-строки являются более гибкими, работают быстрее и улучшают читаемость кода.
Осваиваем реактивное программирование на Java
Асинхронный ввод/вывод уже какое-то время используется в обиходе. При этом разные языки реализуют его по-разному, но все предоставляют способ уменьшить количество потоков, давая вроде...
QR-разложение матрицы
Наука о данных и разложение матриц
Специалистам по данным стоит хорошо знать несколько разложений матриц, потому что они помогают находить методы для актуальных вычислений и...
Приключения Java-разработчика, решившегося изучать Go
Мне нравится изучать что-то новое, особенно новые языки. Всегда интересно узнать, как с одной и той же проблемой справляются разные языки и как различается...
Новое в Android 11
Оцените превью для обновлений некоторых уже существующих функций, а также доступных нововведений, таких как IME animation control.
Синхронизированные анимации IME
Идея заключается в том, что IME (редактор...
Графовое моделирование данных на Java
Моделирование данных — это жизненно важная часть разработки ПО, а выбор подходящих структур данных или баз данных — основа успеха приложения или сервиса.
В этой...
Автоматизируем задачи на Python с помощью ChatGPT
Используйте мощь искусственного интеллекта для построения графиков, отправки электронных писем и скрейпинга. Каждая из этих операций при участии ИИ займет всего несколько секунд.
9 странностей Python и их объяснение
Python - элегантный, но далеко не идеальный язык. Некоторые необычные функции могут сбивать с толку даже опытных разработчиков. Рассмотрим такие фрагменты в Python и постараемся дать им точное объяснение.
7 расширенных возможностей Python
Python - один из самых продвинутых языков программирования, который широко используется во многих отраслях. Он обладает множеством расширенных функций, которые делают его мощным инструментом в руках опытных программистов. Вот подборка из 7 наиболее полезных расширенных возможностей Python.
Создаем юнит-тесты с помощью ИИ-инструмента
В этой статье мы воспользуемся плагином на базе искусственного интеллекта для IntelliJ, чтобы автоматически сгенерировать юнит-тесты.
Шаг 1. Установка плагина и импорт проекта
Плагин для IntelliJ IDEA...
Руководство по использованию регулярных выражений Python
Одна из главных задач при работе с текстовыми данными — это создание множества текстовых функций.
Некоторые функции ищут конкретные паттерны в тексте, например, адреса электронной почты или...
Создаем чат-бот в Python с помощью nltk
Чат-бот — это искусственный интеллект, который может имитировать разговор с пользователем на естественном языке через мессенджеры, веб-сайты, мобильные приложения, телефон и т.д. Чат-боты можно использовать в...
R - язык для статистической обработки данных. Часть 1/3
Я сам изучал R в течение последних нескольких недель.
В своей статье я рассказываю о языке программирования R и его главных концепциях, которые пригодятся каждому...
От Pandas к Pyspark
Если Pandas удобно использовать для небольших наборов данных, то Pyspark - отличный инструмент для распределенных вычислений огромных массивов данных. Возьмите на заметку готовую инструкцию по преобразованию кода Pandas в Pyspark.
Как использовать Laravel Sail с бэкендом Docker Desktop на WSL 2
Каждому разработчику рано или поздно приходится иметь дело с Docker и контейнерами. Посмотрим, как происходит установка Docker Desktop на Windows 10, как она интегрируется...
Наследование и полиморфизм в Python
Наследование
Наследование — это способность объекта принимать одну или несколько характеристик от других классов объектов, обычно переменных или функций-членов. Можно провести аналогию между этим понятием...
Шорткаты VS Code, с которыми ввод кода напоминает игру на пианино
Застряли в замкнутом круге "клавитура-мышка", из-за которого устаете и теряете время при написании кода? Представляем вашему вниманию полезные шорткаты VS Code, которые избавят от этих проблем.
Встроенная база данных Python
Если вы разработчик программного обеспечения, то, скорее всего, вы знакомы с невероятно легкой базой данных SQLite или даже уже использовали ее. Она содержит практически...
Инъекция SQL: руководство для начинающих
Внедрение кода или инъекция SQL — это уязвимость системы безопасности в Интернете, позволяющая злоумышленнику завладеть доступом к SQL-запросам в базу данных. Так он может получить...
Введение в программирование на Rust
Rust — это перспективный язык программирования, набирающий рекордную популярность для низкоуровневых систем, таких как операционные системы и компиляторы.
В 2020 году по итогам опроса разработчиков...
3 секретных оружия в арсенале Python
Я уже пишу на Python более 5 лет. Примечательно, что при этом мой арсенал инструментов с течением времени не увеличивался, а наоборот уменьшался. Многие...
Пять действительно крутых пакетов Python
Обширная экосистема Python содержит в себе пакеты, модули и библиотеки, которые можно использовать для создания собственных приложений. Некоторые пакеты и модули включены в Python...
Использование SQLite с Rust и Actix Web (с тестами)
В этой статье мы рассмотрим, как использовать SQLite (вместе с Diesel) и Rust как в файловом режиме, так и в режиме памяти.
Необходимые условия
Кроме Rust...
Среда разработки Entity Framework в Docker
Рассмотрим наглядный пример использования среды разработки Docker, который поможет разобраться в настройке и инициализации серверной базы данных.
Clean Architecture с Kotlin
Мощная базовая архитектура — важный показатель для масштабируемости приложения. Внесение таких изменений, как замена API на обновленную и оптимизированную структуру API, требует переписать практически все приложение...
5 задач для Python
Лучший способ укрепить знания и попрактиковаться в Python
Цель этой статьи — помочь вам разобраться в основах языка, а не поделиться готовыми ответами, которые легко вызубрить и списать.
5...
Потоковые и многопроцессорные модули на Python
Главная идея потоков заключается в выполнении последовательности таких инструкций внутри программы, которые могут выполняться независимо от другого кода.
Так в чём же разница между потоковой...
Основы API Time для Java
Во многих языках программирования работа с датой и временем — непростая задача. Но, начиная с Java 8, JDK предоставляет новый API Time, полностью меняющий...
Продвинутый функционал Git: хитрые приемы и команды
git — очень мощный инструмент, который практически каждый разработчик задействует ежедневно. Но для большинства его использование сводится всего к нескольким командам: pull, commit и...
Избегаем исключения Null Pointer Exception в Java с помощью Optional
В 1964 году британский ученый-компьютерщик Тони Хоар изобрел ссылки на нулевые указатели (Null Pointer References).
Исключение Null Pointer Exception составляет львиную долю всех исключений, которые...
Интерактивные отчеты в Jupyter Notebook
Jupyter Notebook - важный инструмент для специалиста по науке о данных. С его помощью можно выполнять базовые задачи, такие как очистка данных, визуализация, создание...
Стоит ли заменить Python на Julia?
В течение последних двух лет популярность интерпретируемого языка Python, который был написан на C, резко возросла. Хоть он и является полезным языком, который стал...
7 ошибок Python, от которых стоит немедленно избавиться
Введение
Python относительно прост в освоении, но, учитывая его обширный функционал, в нём легко допустить ошибку. Кроме того, ошибки в течение длительного времени могут оставаться...
Как создавать легкие платформонезависимые приложения на Go — без JS и BS
Ознакомимся с методами, виджетами и функционалом библиотеки Gio, сделаем приложение GoGiggles, запустим его в ОС. Добавим функционал СhatGPT, кнопку, обработку событий нажатия.
8 рекомендаций по написанию читаемого кода на C# с помощью .NET 6
Научитесь избегать лишних операторов else, извлекать и именовать методы, грамотно использовать Linq и применять прочие подходы для придания коду читаемости и прозрачности.
Программа на Си для проверки числа: положительное или отрицательное
Чему вы научитесь в этой статье?
Проверять, является ли число (введенное пользователем) отрицательным или положительным.
Какие нужны знания для понимания этой программы?
Потребуются знания по следующим темам на...
Rust: первые впечатления
Станет ли Rust пределом мечтаний разработчиков и универсальным языком, который заменит все остальные? Что делает его таким особенным? Рассмотрим текущее положение и разберем слабые и сильные стороны Rust.
Как построить масштабируемый API на Go с помощью Gin
Пошаговое руководство по проектированию API, от с создания базы данных и прописывания основных маршрутов до тестирования его работоспособности.
Как оркестровать микросервисы с помощью Docker Compose
Развертывание приложений с микросервисной архитектурой - довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет Docker Compose, инструмент оркестрации контейнеров. Рассказываем об упрощенном создании микросервисных приложений на Spring Boot.
Перестаньте использовать range() в цикле for в Python
Цикл for. Краеугольный камень программирования. Технологический приём, который вы осваиваете, ещё будучи новичком, и продолжаете использовать в течение всей своей карьеры программиста.
Если вы использовали...
Битва 4 инструментов визуализации данных на языке Python
Предлагаем сравнить потенциал Pyecharts, Plotly, Matplotlib и Seaborn, а также возможности использования каждого инструмента (на примерах визуализации данных фондового рынка).
На собеседование в Google через челлендж Python #1
Как-то раз я искал в гугле что-то насчёт Python, как вдруг всплыло приглашение принять участие в испытании по программированию от Google (так называемое foo.bar...
Kotlin-реализация RecyclerView на Android
RecyclerView - улучшенная замена устаревшего и во многом несовершенного ListView. С помощью этого краткого обзора вы легко сможете создать свой собственный пользовательский RecyclerView.
Анализ аудиоданных с помощью глубокого обучения и Python (часть 2)
Предыдущая часть: Часть 1
Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
Запросы сразу к нескольким базам данных MySQL
Представьте, что вы создаёте SaaS-продукт (связанный с электронной торговлей), где каждый пользователь занимает свою собственную маленькую базу данных (MySQL). Можно гарантировать, что данные пользователя...
Python: декоратор @retry
Python часто называют “склеивающим” языком. Для меня этот термин означает, что язык помогает соединять системы и обеспечивает передачу данных из A в B в...
Генерация API-документации из docstrings на Python
pdoc3 - профессиональная документация с LaTeX и markdown, автоматическая генерация HTML и CSS из docstrings
Пишем быстрее в любой IDE
У каждого разработчика программного обеспечения есть любимая IDE. IDE предоставляют нам все необходимые инструменты, чтобы писать чистый, читаемый код быстрее и с меньшим количеством...
Как автоматизировать электронную почту с помощью Python
С помощью Python можно с легкостью автоматизировать ежедневные задачи. Используя комбинацию API и простых для понимания библиотек, можно настроить системы, которые выполняют скрейпинг веб-сайтов,...
9 встроенных декораторов Python, которые помогут оптимизировать код
Делайте больше меньшими средствами: используйте возможности декораторов. Они помогут сэкономить время на написание кода и откроют новые функциональные возможности Python.
Учимся избегать null-значений в современном Java. Часть 2
Предыдущая часть: Часть 1
В предыдущей статье мы разобрали, почему в некоторых случаях null оказывается необходимым злом, а также узнали, что есть правильные и ошибочные...
Кэширование Redis для максимальной производительности в Spring Boot и Java
Кэширование помогает повысить производительность приложений за счет снижения нагрузки на такие ресурсы, как базы данных и удаленные сервисы. Рассмотрим, как применять Redis в качестве кэша в приложении Spring Boot для достижения максимальной эффективности.
Импорт в Python: часть 2
Часть 1, Часть 2
Система импорта Python
Мы видели много преимуществ системы импорта Python и способов их использования. В этой статье мы приподнимем завесу над тем, что...
Java-библиотеки, которые повысят вашу производительность
Время - деньги, так что повышая эффективность труда - вы экономите одно и помогаете преумножить второе. Расскажем о нескольких полезных библиотеках, с помощью которых вы сможете избавиться от шаблонного кода и сосредоточиться на разработке бизнес-логики.
5 впечатляющих возможностей Julia, которых не хватает в Python
Считаете Python верхом совершенства? А как насчет альтернативы - высокопроизводительного языка Julia? Некоторые из возможностей Julia явно не помешали бы старому доброму Python.
Lombok: хорошее и плохое применение
Lombok - популярная библиотека, облегчающая рутинную работу с классами в Java. Но даже хороший инструмент можно применять неправильно. Дадим несколько рекомендаций, как этого избежать.
Как определить содержимое ZIP-файла без скачивания
Расскажем, как определить содержимое ZIP-файла и при этом обойтись без его скачивания! Для этого нам понадобятся всего 52 строки кода и немного полезных знаний!
Лучшие практики написания кода в Spring Boot
Фреймворк Spring Boot позволяет быстро создавать и легко запускать высокопроизводительные Spring-приложения корпоративного уровня. Рекомендации опытного специалиста помогут максимально упростить разработку такого приложения.
Методы лингвистического моделирования с использованием Python
Лингвистическое моделирование как способ адекватной интерпретации текста, выявления и предупреждения в нем ошибок - один из конкурентных инструментов Python. Научитесь владеть этим инструментом и станьте грамотным программистом.
Go скучный. И это здорово!
Я профессионально занимаюсь разработкой вот уже почти 23 года, а программы пишу в общей сложности почти 38 лет.
За это время мне приходилось пользоваться множеством...
Внедрение зависимостей на Android с помощью Hilt
Внедрение зависимостей (DI) — это метод, широко используемый в программировании и хорошо подходящий для Android-разработки. При нем зависимости предоставляются классу, а не создаются самостоятельно. Следуя принципам...
Обучение программированию лучше начать с языка С. И вот почему
Изучать основы программирования можно на любом языке, но более эффективно это получится на C! И на это есть 4 причины.
Как определить цели разработчику программного обеспечения
Почему важно устанавливать цели
За последние несколько лет постановка целей стала неотъемлемой частью жизни, поскольку отслеживание процесса развития помогает в достижении новых высот.
Каждому специалисту по...
11 уникальных однострочников JavaScript, достойных восхищения
Для всех, кто любит удивлять коллег и решать задачи в одной строке кода, предлагаем 11 малоизвестных, но невероятно эффективных однострочных скриптов.
C++: подробное руководство по массивам
Разберем основные концепции, в том числе продвинутые. Проиллюстрируем примерами с решениями, поможем подготовиться к собеседованию.
Как оформить поле ввода: советы и техники
Как быстро и легко разработать поле ввода? Ответим на этот и сопутствующие вопросы доступным языком.








































































































