Как превратить Google Таблицы в базу данных с помощью Python
Предлагаем простое руководство по созданию электронных таблиц и сохранению данных в Google Таблицах с помощью Python. В качестве бонуса предлагается инструкция по открытию любого файла из Google Таблиц с использованием Python.
Как прокачать навык отладки
В какой-то момент, каждый из нас сталкивается с ошибками при написании кода. Собственно, процесс разработки в том и состоит. При возникновении ошибки, вы теряетесь...
Как оркестровать микросервисы с помощью Docker Compose
Развертывание приложений с микросервисной архитектурой - довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет Docker Compose, инструмент оркестрации контейнеров. Рассказываем об упрощенном создании микросервисных приложений на Spring Boot.
Реверсинг плагина компилятора Compose: перехват фронтенда
Как плагином компилятора нарушаются правила Kotlin? Изучим архитектуру, FIR-фронтенд компилятора. Заглянем внутрь и попробуем сориентироваться: что и где перехватывается при прохождении этапов компилятора Kotlin?
Язык С: классы памяти
Классы памяти определяют область видимости и время жизни переменных и/или функций в программе, написанной на языке С. Они предшествуют типу, который модифицируют. В языке С различают четыре класса памяти. Рассмотрим их в данной статье.
10 языков программирования, которые пригодятся в 2023 году
Какие языки программирования стоит изучить в новом году? Ответ на этот вопрос поможет найти подборка из 10 самых популярных на сегодняшний день языков программирования.
Пишем балансировщик нагрузки на Golang
Реализуем логику распределения нагрузки с алгоритмом циклического перебора, перенаправлением запроса на бэкенды через обратный прокси-сервер, тремя повторами при сбое и обозначением бэкенда «мертвым». Как обрабатываются ситуации сбоя запроса?
Реализация ролевого контроля доступа в Elasticsearch
Как защитить данные и предотвратить несанкционированный доступ? Пройдем этапы настройки, дадим рекомендации по эффективному ролевому контролю.
Отступы в Python: так ли это плохо?
Является ли стиль отступов в Python недостатком? Не приводит ли он к сложному и склонному к ошибкам синтаксису? Не превращает ли язык в беспорядочные разбросанные блоки Lego? Подумаем вместе над этими вопросами.
Выбор лучшего фреймворка для создания мобильного приложения
Для создания мобильных приложений есть множество фреймворков. Но выбрать нужно лишь один.
Совсем недавно каждый разработчик занимался разработкой мобильных приложений, используя Software Development Kit (SDK),...
Команда Git Rerere — автоматизируйте решения для устранения конфликтов слияния
rerere - сокращение от "reuse recorded resolution" (повторное использование сохраненных разрешений конфликтов). С помощью этой команды Git запоминает, каким образом был разрешен конфликт, чтобы при...
Kepler.gl — инструмент для визуализации геоданных на Python
Познакомимся с отличным инструментом Kepler.gl и с его помощью создадим веб-приложение для визуализации геоданных на Python.
Как использовать управляемые Gradle устройства с собственными девайсами
Реализуем абстракцию Device с устройствами и эмуляторами. Используем собственную ферму устройств для удаленного запуска тестов и распараллеливания выполнения на нескольких устройствах.
Принципы SOLID в Kotlin
Изучаем, как использовать принципы SOLID в Kotlin. Разбираемся на примерах, что это за принципы и для чего они нужны.
C++: полное руководство по операторам Switch со строками
Разберем эффективные альтернативы строковым переключениям. Проиллюстрируем практическими примерами, дадим рекомендации и поможем с выбором оптимального подхода.
Конструкция контейнера в Docker
Контейнеризация приложений - основной принцип работы платформы Docker при разработке, тестировании и запуске веб-приложений. Эта краткая шпаргалка по важным концепциям и командам в процессах контейнеризации напомнит о свойствах образов, файлов, сетей и томов данных.
Spring Boot: реализация фабричного метода
Шаблон Factory упрощает создание новых объектов и помогает прятать логику, ненужную для клиента. Предлагаем рассмотреть вариант реализации шаблона фабрики для простого приложения на Spring Boot.
Работа с панелью индикаторов. Руководство программиста Python. Часть 3
Часть 1, Часть 2, Часть 3
В этой серии статей в качестве основной платформы для Dashboarding используется Dash от Plotly.
Прежде чем перейти к этой статье,...
Подробно об акторах в Swift
Чем акторы похожи на очереди и как ими решаются типичные проблемы параллелизма? Разберем на примерах эффективное применение акторов, опишем правила взаимодействия с ними.
Lombok: хорошее и плохое применение
Lombok - популярная библиотека, облегчающая рутинную работу с классами в Java. Но даже хороший инструмент можно применять неправильно. Дадим несколько рекомендаций, как этого избежать.
5 удивительных скрытых возможностей Python. Часть 1
Хотите повысить уровень своих навыков написания кода? Возьмите на заметку 5 скрытых возможностей Python. Они помогут сократить время разработки, улучшить читаемость кода и повысить его эффективность.
iOS/Swift: подробное руководство по модульным и UI-тестам. Часть 2
Рассмотрим особенности тестирования моделей декодирования и HTTP-запросов, настроим идентификаторы доступности. Протестируем ввод в поисковую строку, прокрутку в tableView, навигацию, статичные и динамические метки.
15 бизнес-идей агентов на основе ИИ в 2025 году
Агенты на базе ИИ открывают невероятные возможности перед предпринимателями. Они помогают достичь успехов в самых различных бизнес-сферах - будь то автоматизация поддержки клиентов, оптимизация продаж или разработка инновационных SaaS-решений. Не упустите и вы свой шанс извлечь выгоду с помощью ИИ в 2025 году!
Понимание шаблонов проектирования: шаблон “Строитель”
Опытный разработчик должен иметь в своем арсенале различные устоявшиеся инструменты проектирования. Сегодня рассмотрим полезный шаблон "Строитель".
Плюсы и минусы программирования на Java
Не так много технологий могут похвастаться тем, что они актуальны уже более 20 лет. Однако в этом году Java заняла пятое место в списке...
Java для начинающих: часть 2 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при...
Оптимизация структур в Golang для эффективного распределения памяти
Поговорим сегодня о выравнивании структур в Golang.
Производительность компьютеров растет с каждым годом. Их вычислительные возможности позволяют выполнять все более сложные задачи. В стремлении применять...
Думаете, хеш-карты нельзя отсортировать? Еще как можно!
Научимся реализовывать интерфейс sort.Sort в любой структуре данных. Узнаем, какие методы задействуются в Golang для добавления сортировки.
Строим конвейеры с Pandas, используя «pdpipe»
Введение
Pandas — прекрасная библиотека в экосистеме Python для анализа данных и машинного обучения. Она идеально соединяет мир данных, где живут файлы Excel/CSV и таблицы SQL, и...
8 полезных на практике приёмов для веб-разработчиков
Как веб-разработчику, мне всегда приятно узнавать фишки, которые упрощают жизнь, особенно если их можно сразу же использовать на практике. Однако список таких приёмов бесконечен,...
9 встроенных декораторов Python, которые помогут оптимизировать код
Делайте больше меньшими средствами: используйте возможности декораторов. Они помогут сэкономить время на написание кода и откроют новые функциональные возможности Python.
Откажитесь от SQLite в пользу DuckDB
Все еще пользуетесь SQLite? Пришло время забыть об этой библиотеке, поскольку теперь у нас есть DuckDB! Узнайте, что представляет собой DuckDB, почему и когда стоит использовать эту систему, а также о том, как интегрировать DuckDB в Python.
Изучаем AndroidManifest.xml: <service> как подэлемент <application>
Чтобы сервисы приложения обнаруживались и запускались системой, они должны быть представлены в файле AndroidManifest.xml элементом . Разберем ключевые атрибуты элемента и посмотрим на примерах, как они работают.
Полезные хитрости на Python от А до Я
Python — это один из самых популярных и востребованных языков программирования в мире. И на то есть множество причин:
· прост в изучении;
· мега-универсальный;
· огромное разнообразие модулей...
Топ-15 лайфхаков для работы с Python
Python, без сомнения, является одним из самых популярных языков программирования. Простой и легкий в освоении, он завоевал признание многочисленного сообщества.
Python — “самый мощный язык,...
Глубокое погружение в режим Copy-on-Write в pandas. Часть 3
Внедрение процесса Copy-on-Write (CoW) является серьезным изменением, которое способно оказать определенное влияние на код pandas. В этой части мы изучим способы адаптации кода, чтобы избежать ошибок при включенном по умолчанию CoW.
Защита секретов в Android: от ключей API до хранения в продакшене
В Android-разработке хранение секретов в коде приложения — прямая угроза безопасности. Ключи API, токены и другие конфиденциальные данные могут быть извлечены из APK-файла. Узнайте, как построить надежную защиту, исходя из того, что клиентское приложение всегда может быть скомпрометировано.
5 крутых функций Chrome DevTools, о которых не знают большинство разработчиков
Среди множества интересных функций Chrome DevTools есть несколько по-настоящему крутых, но малоизвестных. Каждая из этих возможностей позволит делать на пару-тройку кликов меньше. Так почему бы не узнать о них прямо сейчас?
Корутины: исключения
Часть 1, Часть 2
Мы, разработчики, обычно тратим много времени на полировку наилучшего сценария работы нашего приложения. Однако не менее важно обеспечить надлежащий пользовательский опыт,...
Команды Go и переменные среды, которые должен знать каждый разработчик
Как загружаются, кешируются и удаляются зависимости на Go, и что здесь изменилось с появлением GOPROXY и модулей? Как избежать ошибок сборки и обеспечить ее воспроизводимость?
Элегантное ООП в Python
Разбираемся с магическими методами в Python, облегчающими жизнь с ООП. Вам понравится!
Что за магические методы?
Магические методы — это специальные методы в python, обрамленные двумя...
Инъекция SQL: руководство для начинающих
Внедрение кода или инъекция SQL — это уязвимость системы безопасности в Интернете, позволяющая злоумышленнику завладеть доступом к SQL-запросам в базу данных. Так он может получить...
Обработка событий по времени в бессерверной архитектуре
Бессерверность — мир событий
Когда-то в качестве серверов все размещали непрерывно запущенные демоны, но теперь мы вступаем в бессерверную эру, когда все запускается событиями.
Это очевидно, если...
Лучшая IDE для Python-разработки в 2024 году
Обзор топовых сред разработки Python-проектов поможем понять, какая из них подходит именно вам. Помимо особенностей и возможностей каждой из них, вы получите рекомендации по началу работы с PyCharm - самой популярной IDE в профессиональном Python-сообществе.
Как компьютер выполняет математические вычисления
Что позволяет вашему ПК, ноутбуку или смартфону быть легким, быстрым и относительно недорогим девайсом? Что делает компьютер эффективным, сокращая энергопотребление и тепловыделение? Поищем ответы на эти вопросы "под капотом" вычислительной машины.
Архитектура виртуальной машины Java: объяснение для начинающих
На собеседованиях часто требуется знание внутреннего устройства JVM. Но и в повседневной практике Java-разработчику полезно понимать, что происходит внутри при запуске кода. Разобраться поможет эта статья.
Основы CI/CD
В современной компании процесс разработки редко обходится без систем непрерывной интеграции и доставки. Разберемся, как они работают и почему они так важны для бизнеса.
C++: подробное руководство по cортированным векторам
Разберем основные операции, выполняемые с сортированными векторами, и реальные сценарии. Сравним по эффективности эти векторы с несортированными.
ScyllaDB в K8S: как справляться с интенсивными рабочими нагрузками на спотовых экземплярах без простоев
Почему Scylla предпочтительнее, чем Cassandra и Mongo? Создадим высокодоступный оператор Scylla для кластера, настроим дашборды Grafana, оповещения, средства мониторинга, резервное копирование с VolumeSnapshots и расширение тома.
17 полезных скриптов автоматизации на Python. Часть 1
Эти скрипты значительно повысят вашу продуктивность и производительность. Они оптимизируют решение многих повседневных задач, включая сбор изображений, анализ качества кода, создание искусственных данных, мониторинг системных ресурсов, обработку email-рассылок, резюмирование статей, корректуру текстов.
Самые полезные библиотеки Go
Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
Рефакторинг большой раскадровки в несколько меньших
День настал
Я недавно работал над iOS приложением, которое уже находится на рынке. Оно было выпущено прежде, чем Apple запустили новый чудо фреймворк SwiftUI, и...
Проектирование и развертывание Python-приложения для машинного обучения. Часть 2
Не нужно быть Атлантом, чтобы перенести модель в облако. Нужно лишь усвоить ключевые концепции проектирования Python-приложения для машинного обучения. Предлагаем рассмотреть их на высоком и низком уровнях, чтобы принять оптимальные решения для сбалансирования нагрузки и устранения узких мест при развертывании.
7 наиболее полезных расширений VS Code, представленных в 2021 году
Представляем самые крутые расширения VS Code, выпущенные в 2021 году. Они помогут разработчикам расширить рабочий процесс и повысить продуктивность.
Rust: первые впечатления
Станет ли Rust пределом мечтаний разработчиков и универсальным языком, который заменит все остальные? Что делает его таким особенным? Рассмотрим текущее положение и разберем слабые и сильные стороны Rust.
Возможности C++, о которых должен знать каждый разработчик
С момента своего появления C++ очень хорошо развился как язык программирования.
Конечно, это не произошло моментально. Когда-то этому языку не доставало динамичности. В то время...
10 примеров для изучения модуля JSON в Python
Модуль json - мощный инструмент Python для работы с данными JSON. Рассмотрим 10 примеров, демонстрирующих общие задачи, которые можно выполнять с помощью этого модуля.
Магия Pry для отладки кода Ruby
Начну с ситуации, знакомой каждому программисту: вы приступаете к выполнению кода и вдруг к вашему полному недоумению получаете сообщение об ошибке, или еще хуже — код...
Android 14: обновления в области конфиденциальности и безопасности
Узнайте о новых функциях Android 14, чтобы обновить свои приложения в соответствии с ними. Это поможет обеспечить безопасность приложений и соблюдение конфиденциальности пользователей.
Как перевести код R в Python с помощью ChatGPT
Научимся переводить код с языка программирования R на Python и наоборот. Для этой цели воспользуемся возможностями ChatGPT и на примерах рассмотрим принцип действия.
Почему гейм-дизайнеру нужно программирование
Программисту не обязательно быть гейм-дизайнером, но каждый гейм-дизайнер должен быть программистом. Узнайте о том, почему навык написания кода жизненно важен в разработке игр и как им овладеть.
Функциональные возможности систем типов Julia и Rust
Я твёрдо убеждён, и многие со мной в этом согласятся, что прекрасным началом разработки программы является выявление подходящих представлений реальной проблемы, которую мы пытаемся...
Абстракции с нулевой стоимостью* в Kotlin
*Могут применяться особые условия
Внимание: этот пост в блоге охватывает экспериментальную функцию Kotlin, которая может быть изменена. Эта статья была написана с использованием Kotlin 1.3.50.
Безопасность...
Превратите свой Java-код в полностью асинхронный
Асинхронное программирование становится все популярнее благодаря своим преимуществам. Изучим, как добиться асинхронности в Java - на помощь в этом придут CompletionStage и AutoValue.
Эффективные шаблоны архитектуры программного обеспечения
Ознакомьтесь с востребованными шаблонами архитектуры программного обеспечения и их практическим применением. Четкое представление о том, какие из шаблонов наиболее эффективно работают в определенных ситуациях, - ключ к созданию оптимальной архитектуры.
8 рекомендаций по написанию читаемого кода на C# с помощью .NET 6
Научитесь избегать лишних операторов else, извлекать и именовать методы, грамотно использовать Linq и применять прочие подходы для придания коду читаемости и прозрачности.
Повышение безопасности Angular-приложения путем интеграции OCR и биометрии
Хотите защитить пользователей своих приложений от мошеннических действий? Сделайте это с помощью автоматического извлечения данных путем OCR и биометрических технологий. Предлагаем подробное руководство по интеграции OCR с биометрическими решениями.
Новейшие возможности C# 9
В преддверии релиза .NET 5, объединяющего среды выполнения .NET, Microsoft недавно анонсировали возможности, которые будут включены в C# 9. О выпуске финальной предварительной версии C# было...
Реализация интерфейсов в Golang
Интерфейсы — это инструменты для определения наборов действий и поведения. Они позволяют объектам опираться на абстракции, а не фактические реализации других объектов. При этом...
Преобразуем проект в мультиплатформенный с Kotlin Multiplatform: зачем, когда и как
Как сделать разработку эффективнее, не переписывая приложения? Расскажем о преимуществах и универсальной стратегии плавного перехода, при котором сохраняется надежность цифрового продукта.
6 отборных практик для определения метода __init__ в Python
Создание читаемого и удобного в обслуживании кода Python начинается с грамотного определения метода __init__. В связи с эти предлагаем 6 наилучших практик, проверенных личным опытом автора.
Как реализовать древовидную сортировку в стандартной библиотеке Go
Двоичная куча
Итак, двоичная куча — это:
Контейнер, предоставляющий свой максимальный элемент за время O(1), добавляющий элемент за O(log n) и удаляющий максимальный элемент за O(log n).Неполное бинарное...
Новое в Android 11
Оцените превью для обновлений некоторых уже существующих функций, а также доступных нововведений, таких как IME animation control.
Синхронизированные анимации IME
Идея заключается в том, что IME (редактор...
Ruby: рефакторинг без лишних сложностей
С чего начать и как избежать ловушки усложнения? Дадим рекомендации с небольшим примером.
Избегаем исключения Null Pointer Exception в Java с помощью Optional
В 1964 году британский ученый-компьютерщик Тони Хоар изобрел ссылки на нулевые указатели (Null Pointer References).
Исключение Null Pointer Exception составляет львиную долю всех исключений, которые...
C++: полное руководство по параметризованным классам
Изучим особенности создания и реального применения этих классов. Проиллюстрируем практическими реализациями и примерами.
Как создать компонент Toast в SwiftUI
Расскажем, как, не напрягаясь, создать интересный компонент Toast в SwiftUI. Присоединяйтесь - скучно не будет!
Python — идеальный инструмент для любой проблемы
Размышления о моей первой программе на Python.
Размышления это всегда помогающее (а иногда и развлекающее) занятие. Из ностальгических соображений, конечно, если можно испытывать ностальгию по...
Go: трассировочный пакет
ℹ️ В статье речь идёт о Go 1.13.
В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её...
Тестирование клиент-серверов на Rust для IoT
Выбор подходящих зависимостей для проекта может быть сложной задачей. При принятии решения здесь необходимо учитывать множество аспектов — начиная от производительности и заканчивая стилем...
Скрытые нововведения в iOS 15
Самая интригующая часть нового функционала, появившегося по итогам проведения конференции WWDC21, была запрятана в замечаниях к выпуску Xcode 13.
Все программы и библиотеки dylib, имеющие...
Принципы SOLID в инженерии данных. Часть 1
Продемонстрируем на примерах, как нарушается и соблюдается каждый принцип и что получается при расширении кодовой базы. Разберем достоинства и недостатки, в каких ситуациях принципы SOLID нужны, в каких - нет.
Среда разработки Entity Framework в Docker
Рассмотрим наглядный пример использования среды разработки Docker, который поможет разобраться в настройке и инициализации серверной базы данных.
Как стать Android-разработчиком за 2 месяца
Хотите всего за пару месяцев научиться разрабатывать приложения с нуля? Воспользуйтесь простым руководством для начинающих по созданию первого в жизни Android-приложения.
Овладей Python, создавая реальные приложения. Часть 3
Создаем блокировщик сайтов в 3 шага
Предыдущие части: Часть 1, Часть 2
Технологии стремительно развиваются, как и мир в целом. Каждый день вы сталкиваетесь с чем-то, о чем раньше...
Магические методы в Python
Создание объекта dict, принимающего только целые и плавающие числа в качестве значений
В этом сценарии мы реализуем класс, который создает объекты-словари, принимающие только целые и...
Релиз Koin 1.0.0✨
Так, так, так… вот оно! Уважаемые пользователи Koin, настал момент релиза нашей первой стабильной версии Koin. Спустя чуть больше года после начальной версии, мы...
Улучшение Python кода: замените if-elif условие на словарь!
Сегодня вы узнаете про быстрый, элементарный, но оттого не менее полезный совет, крайне редко упоминающийся в статьях о словарях Python.
Если вы уже знакомы с...
Введение в модульное тестирование на Python
Вы только что написали фрагмент кода и не знаете, что делать дальше. Отправлять ли pull request, чтобы коллеги провели ревизию кода или же протестировать...
Jetpack DataStore: улучшенная система хранения данных
Что такое DataStore
На протяжении многих лет разработчики Android хранили небольшие фрагменты конфиденциальных пользовательских данных с помощью общих настроек (shared preferences). Этот подход имеет следующие...
Как правильно объявлять API устаревшими и не сломать пользователям код
Как сделать переход плавным для вас и ваших пользователей, чтобы он ни для кого не стал неожиданностью, а внедрение нового функционала можно было спланировать? Рассмотрим критические изменения и техники их безопасного распространения.
Как загружать файлы и изображения в приложении Django
Вы каждый день загружаете какой-нибудь контент, будь то документы коллегам по работе или же различные файлы в любимую социальную сеть. В этом гайде вы узнаете, как это делается в приложении Django.
Конструктор перемещения на C++
Сравним конструкторы перемещения и копирования: что быстрее? Изучим их связь и соответствующие семантики, варианты применения.
Обработка аргументов в Python с помощью argparse
Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Хитрости объектно-ориентированного программирования. Часть 2: Закон Деметры
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1
Единственный закон в программировании — это отсутствие законов. А закон Деметры — это, скорее, рекомендации, а...
LocalStack: запуск AWS на локальном компьютере
Более миллиона компаний по всему миру создают приложения на облаке AWS. Одна из проблем при работе с облаком — это огромное количество сервисов в распоряжении, а...
Мой первый опыт работы с языком Gleam
Gleam - надежный инструмент в мире функционального программирования. Проведем объективное исследование возможностей этого языка и выделим его сильные стороны.
Когда чистый код нецелесообразен
Хотя у чистого кода имеется ряд преимуществ, его внедрение в проект не всегда оправдано. Рассмотрим ситуации, когда чистый код слишком дорог.
Скрипт для WhatsApp-сообщений в 20 строках кода Python
В повседневной рутине мы часто забываем о близких. А ведь можно воспользоваться WhatsApp! То, с какой регулярностью родители шлют мне с утра пораньше сообщения — засыпая...
Построение потоков событий с Rust и Kafka: практическое руководство
Реализуем отправителей и получателей, настроим корректную обработку ошибок, конфигурацию и типы. Обозначим подводные камни, дадим рекомендации.
Отладка Go для профессионалов
Многие разработчики редко используют отладчик при возникновении проблем в коде. Если вы пишете модульные тесты и используете линтинг и рефакторинг, то этот быстрый и...
Тестируя нетестируемое — битва с легаси-кодом
Знакомимся со стратегией приведения легаси-системы в разумный вид, из которого с ней можно будет работать привычными средствами. Разбираемся, что происходит, и действуем, не боясь все сломать.
Запуск с нуля: как я создала сайт с нуля при помощи Netlify + Gatsby
После года работы front-end разработчиком, я решила создать свой собственный сайт. Это должна была быть платформа, где я могла показать свою работу, чем-то поделиться....
3 основных закона разработки ПО
Чтобы стать инженером-программистом, требуются годы обучения. Однако основные принципы, на которых базируется подход к разработке программного обеспечения, можно свести к 3 фундаментальным законам.
Три примера, когда не стоит использовать стрелочные функции JavaScript
Стрелочные функции ES6
Вы их знаете, любите и наверняка постоянно используете! Представленные в 2015 году как часть обновления ECMAScript 6 стрелочные функции приобрели свою популярность совершенно...








































































































