Используй git-команды, как senior developer
Как разработчику вам наверняка приходится ежедневно использовать Git. Базовым Git-командам посвящено уже много статей. В этой же статье речь пойдёт о git-командах для продвинутых:...
Терминал: 3 команды для продуктивности
Вот несколько важных вещей, помогающих мне быть продуктивным в течение всего рабочего дня:
Псевдонимы для команд.Команда pbcopy.Обратный поиск и другие трюки.
Псевдонимы
Псевдоним может быть одним из...
Как стать разработчиком Go: в 6 шагах от карьеры
Golang (иначе Go) является востребованным языком программирования, особенно у тех, кто работает с продуктами Google. Он используется многими крупными компаниями такими, как Uber, Medium,...
Kotlin-реализация RecyclerView на Android
RecyclerView - улучшенная замена устаревшего и во многом несовершенного ListView. С помощью этого краткого обзора вы легко сможете создать свой собственный пользовательский RecyclerView.
Составные типы данных на Golang
Рассмотрим один за одним четыре составных типа, поддерживаемых на Go: массивы, срезы, ассоциативный массив и структуры. Узнаем все, что нужно о них знать: размер, хранимые в них данные, стили объявления, поведение копий этих типов данных и опорные данные, на которые они ссылаются.
Продвинутые методы и техники списков в Python
Списковое включение
Это продвинутая функция списков Python, делающая код более чистым и читабельным. Композиция - это способ выполнения ряда операций над списком с использованием одной...
Шорткаты VS Code, с которыми ввод кода напоминает игру на пианино
Застряли в замкнутом круге "клавитура-мышка", из-за которого устаете и теряете время при написании кода? Представляем вашему вниманию полезные шорткаты VS Code, которые избавят от этих проблем.
4 ситуации из жизни лямбда-функций в Python
Начнем с того, что лямбда-функции не пользуются особой популярностью у программистов Python, да и у меня они вызывают смешанные чувства. Новичкам непросто в них...
Превращаем сценарии Python в инструменты МО
В конечном счете в каждом нетривиальном проекте машинного обучения появляется масса ошибок и внутренними инструментами, которые невозможно сопровождать. Эти инструменты - обычно patchwork из...
Nota Bene для программиста Python
В данной статье мы рассмотрим основные концепции Python, которые необходимо знать и понимать каждому профессиональному программисту. Они образуют основу продвинутого программирования на Python, нацеленного...
Почему стоит использовать Pathlib в качестве альтернативы модуля OS
Применять модуль OS при работе с Python не совсем удобно. Сегодня расскажем о преимуществах библиотеки Pathlib, которая может стать достойной заменой этого компонента.
Анимации с Matplotlib
Используем библиотеку matplotlib для создания интересной анимации
Изображение имитации дождя выполнено с помощью библиотеки Matplotlib, известной как прародитель пакетов для визуализации данных на python. Matplotlib...
Навигация в приложениях Flutter
Flutter — это продукт от Google, который используется для создания гибридных мобильных приложений на ЯП Dart.
Страница приложения Flutter — это Widget, который представляет собой описание изображенного пользовательского интерфейса....
Сравнение Go и Rust через написание CLI-инструмента
В этой статье я описал свой увлекательный опыт создания небольшого CLI-приложения на двух малознакомых мне языках — Go и Rust.
Если вы предпочитаете сразу перейти к самому...
Распознавание речи с помощью Python
Предлагаем краткое руководство по преобразованию речи в текст на Python с помощью нескольких строк кода. Справиться с этой задачей поможет API AssemblyAI, используемый тысячами организаций по всему миру.
5 причин выбрать Flutter в 2020 году
Что такое Flutter?
Flutter — это платформенно-независимая технология Google для создания приложений, используемых на мобильных, настольных и веб-платформах. Официально она была представлена в декабре 2018 года и за...
Знакомьтесь, компонент Navigation в Android!
Что такое компонент Navigation?
Всем известно, что навигация между экранами является одним из фундаментальных принципов в приложениях Android. Как правило, мы осуществляем ее при помощи...
4 подводных камня на Go, на которые часто натыкаются
Эти баги приводят к ошибкам, которые пропускаются компилятором и их легко проглядеть при проверке кода. Каковы причины появления, как их можно обойти и избежать мучений при отладке?
Регулярные выражения для извлечения информации о расходах из текстового файла
Паттерны регулярных выражений (ReGex) выглядят как какая-то ерунда и все же являются мощным инструментом для извлечения информации из текста. Куча, казалось бы, случайных знаков...
Пользователь Linux пробует Windows в 2020
Неужели WSLv2, новый терминал и PowerToys переманят меня в другой лагерь?
Я сижу на Linux уже 2 года и последние полгода проработал на Arch. И вот,...
React для начинающих: какие компоненты лучше — классы или функции?
Синтаксис, передача свойств, быстродействие, изменение и хранение состояния в двух разных типах компонентов ReactJS.
3 инструмента для отслеживания и визуализации выполнения кода на Python
Для чего нужны новые инструменты?
Видели когда-нибудь такой вывод ошибок?
2 divided by 1 is equal to 2.0.
Traceback (most recent call last):
File "loguru_example.py", line...
Создание собственной симуляции активной материи на Python
Сегодня наша задача — создать симуляцию активной материи, т. е. роевое поведение. С помощью этой системы можно имитировать поведение стаи птиц или косяка рыб,...
Знакомство с Kotlin для Android за один день
Имея за плечами опыт с Java, я понял, что синтаксис Kotlin похож на Java, но в то же время может сильно отличаться. Kotlin — очень мощный...
Кэширование в связке Spring Boot + Redis + PostgreSQL
Успешное кэширование крайне важно для веб-приложений. Вкратце рассмотрим способ настройки работы с кэшем через Redis с помощью Docker.
LocalStack: запуск AWS на локальном компьютере
Более миллиона компаний по всему миру создают приложения на облаке AWS. Одна из проблем при работе с облаком — это огромное количество сервисов в распоряжении, а...
Овладей Python, создавая реальные приложения. Часть 2
Предыдущие части: Часть 1
Первая часть цикла получила множество положительных отзывов, которые мотивировали меня закончить цикл как можно скорее. Сделаю всё, что смогу. В первой...
Создание дашбордов в Dash
Дашборды - отличные инструменты для мониторинга бизнес-целей, отслеживания прогрессов и анализа данных. Читайте о том, как с минимальными усилиями создать, настроить и запустить Dash-приложение.
Почему вам стоит написать свой API-шлюз с нуля
Любой организации, имеющей в своем распоряжении пару микросервисов, необходим контроль за тем, кто получает к ним доступ и на каких условиях. Такой контроль помогает...
Android Networking в 2019 - Retrofit с Kotlin Coroutines
В 2018 году произошли серьезные изменения мира Android, особенно касательно Android Networking. Многие перешли от использования RxJava к Kotlin Coroutines, для обработки многопоточности в...
6 отборных практик для определения метода __init__ в Python
Создание читаемого и удобного в обслуживании кода Python начинается с грамотного определения метода __init__. В связи с эти предлагаем 6 наилучших практик, проверенных личным опытом автора.
Основы работы с Git
В процессе разработки ПО значимая роль отводится сотрудничеству. В большинстве случаев деятельность разработчика включает работу в команде и совместное использование проекта с другими специалистами....
Расширение Python с помощью C
Есть несколько способов ускорения кода Python:
В первую очередь попробуйте сократить временную сложность. Выберите более быстрый алгоритм. В большинстве случаев этого более чем достаточно.Если первый...
Лучшие практики написания кода в Spring Boot
Фреймворк Spring Boot позволяет быстро создавать и легко запускать высокопроизводительные Spring-приложения корпоративного уровня. Рекомендации опытного специалиста помогут максимально упростить разработку такого приложения.
Руководство по наиболее востребованным базовым командам SQL
Изучим основные команды и операторы - базовые строительные блоки MySQL, применяемые в запросах к базе данных, а иногда и самостоятельно. Сохраните себе в закладках эту шпаргалку по SQL.
Почему мы создаем инфраструктуру машинного обучения в Go, а не в Python
Ни для кого не секрет, что Python является наиболее востребованным языком для проектирования машинного обучения. В то время как R, C++ и Julia имеют...
Новинка Python 3.10: оператор переключения Structural pattern matching
Разбираемся в работе механизма сопоставления с образцом из обновления Python до версии 3.10: новые операторы match и case.
Графовые сверточные сети: введение в GNN
Предлагаем подробное описание механизма работы графового сверточного слоя. Пошаговое руководство по использованию PyTorch Geometric (PyG) позволит на практике применять этот механизм для решения задач классификации узлов.
Освойте оконные функции SQL раз и навсегда
Пошаговое руководство по освоению оконных функций поможет решать различные задачи. Изучите на конкретных примерах, как оконные функции помогают выполнять агрегирование, ранжирование и смещения данных.
Полное руководство по тестированию контрактов с помощью PACT и Go
Расскажем, как преодолеть трудности с интеграцией микросервисов благодаря контрактному тестированию: в чем его преимущества, как написать контрактные тесты и для сервера, и для клиента, а также зачем нужен PACT-брокер.
4 лучших шаблона для написания простого кода
О шаблонах
В этой статье речь пойдет о наборе шаблонов ООП, использующих простую композицию, а не наследование.
Большинство шаблонов взяты из книги Gang of Four: Design Patterns....
Python для новичков: логические операторы, выражения присваивания и управление контекстом
Для большинства начинающих программистов Python стал отличной стартовой площадкой в мир разработок. Большинство же тех, кто уже владеет каким-либо другим языком программирования, подумывают о...
Pydantic — гарантия надежного и безошибочного кода Python
Сравним проверку типов в динамически и статически типизированных языках. Рассмотрим подсказки типов в Python и использование Pydantic для их реализации.
Rust или Си: кто Усэйн Болт в мире программирования?
Си — это сэнсэй черепашек-ниндзя
«Си — язык небезупречный, со странностями, но невероятно успешный». (Деннис Ритчи).
Си — это императивный язык программирования общего назначения и один...
3 применения исключений, которые улучшат навыки программирования на Java
В статье мы узнаем:
1. Как выбрасывать исключение в пустом классе «Optional».2. Как тестировать и просматривать исключение.3. Как использовать ошибки утверждения.
1. Как выбрасывать исключение в...
Набор инструментов Go для работы с микросервисами
REST и gRPC: идеальное сочетание
Микросервисы обычно работают на фреймворках HTTP и RPC, таких как REST и gRPC.
REST построен на основе объектно-ориентированного проектирования — подхода,...
Метапрограммирование на Go
Большинство современных сайтов реализуют некий MV*-фреймворк как формально, так и неформально. Если вы пишете много кода, скорее всего, вы пишете много моделей снова и...
Java убьет ваш стартап. PHP спасёт его
Так, всем спокойно. Это не очередной диспут на тему что лучше PHP, Java или ваш любимый язык. Я хочу поговорить о корпоративных технологиях, например...
Использование методов расширения в C# для элегантного и плавного кода
Методы расширения являются неотъемлемой частью современной платформы .NET и широко применяются в языке запросов LINQ, одной из лучших функциональных возможностей .NET. К сожалению, многих они отпугивают:...
9 встроенных декораторов Python, которые помогут оптимизировать код
Делайте больше меньшими средствами: используйте возможности декораторов. Они помогут сэкономить время на написание кода и откроют новые функциональные возможности Python.
10 внешних Python-пакетов, которые вам точно понравятся
Python — это эксперимент о том, сколько свободы нужно давать программистам. Предоставь им слишком много свободы, и никто не сможет прочесть чужой код. Если дать слишком...
R - язык для статистической обработки данных. Часть 3/3
Часть 1, Часть 2, Часть 3
В предыдущем материале мы остановились на теме корреляции из раздела “Статистические вычисления в языке R”. Переходим к ковариации.
Ковариация
Ковариация была...
String, StringBuilder и StringBuffer: понимаете ли вы разницу?
Все разработчики имеют дело со словами и фразами в некоторых частях кода. String — это тип данных, используемый в программировании для представления текста.
В Java есть три...
Возможности C++, о которых должен знать каждый разработчик
С момента своего появления C++ очень хорошо развился как язык программирования.
Конечно, это не произошло моментально. Когда-то этому языку не доставало динамичности. В то время...
Кэширование Redis для максимальной производительности в Spring Boot и Java
Кэширование помогает повысить производительность приложений за счет снижения нагрузки на такие ресурсы, как базы данных и удаленные сервисы. Рассмотрим, как применять Redis в качестве кэша в приложении Spring Boot для достижения максимальной эффективности.
9 советов по работе с консолью JavaScript, которые помогут оптимизировать отладку
Для отладки кода JavaScript недостаточно использовать только console.log(). Представляем более подробную информацию о различных методах работы с JS-консолью.
Распознавание лиц с помощью OpenCV
Читая очередную статью по OpenCV, я обнаружил, что в этой библиотеке есть собственная нейросеть для распознавания лиц с высокой точностью.
Я решил опробовать OpenCV и...
Магия Pry для отладки кода Ruby
Начну с ситуации, знакомой каждому программисту: вы приступаете к выполнению кода и вдруг к вашему полному недоумению получаете сообщение об ошибке, или еще хуже — код...
Знакомство с объектно-ориентированным программированием в Python: классы и экземпляры
Новичок в ООП? Узнай, как создавать классы и экземпляры в Python
Про объектно-ориентированное программирование в Python писали многие. Большинство специалистов по обработке данных, в том числе...
Автоматизируем создание отчета о расходах с помощью Python
Используйте Python и API Mindee для автоматизации скучных и повторяющихся задач, таких как составление отчетов о расходах. Всего несколько строк кода позволят эффективно организовать рабочий процесс и сэкономить немало времени.
Функциональное программирование на Python
Что такое функциональное программирование?
Функциональные языки программирования разрабатываются специально для создания приложений, ориентированных на обработку списков или символьные вычисления, так как функциональное программирование основывается на...
Как оркестровать микросервисы с помощью Docker Compose
Развертывание приложений с микросервисной архитектурой - довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет Docker Compose, инструмент оркестрации контейнеров. Рассказываем об упрощенном создании микросервисных приложений на Spring Boot.
Альтернатива switch в Python
Во многих языках программирования (например, JavaScript) есть операторы switch. Это блок кода, в котором значение сравнивается с цепочкой переключателей case. При обнаружении соответствия выполняется...
Как построить масштабируемый API на Go с помощью Gin
Пошаговое руководство по проектированию API, от с создания базы данных и прописывания основных маршрутов до тестирования его работоспособности.
Java. Вложенные классы
Вложенный (иначе — внутренний) класс в объектно-ориентированных языках программирования — это такой класс,объявленный внутри другого класса.
Это позволяет объединять логически связанные между собой классы и...
Что такое SQL-атаки и как с ними бороться?
Давайте поговорим о наиболее опасной уязвимости, которая может присутствовать у вас в приложении — внедрение SQL-кода.
Внедрение SQL позволяет атакующему коду изменять структуру SQL-запросов приложения...
Лучшие практики разработки на Python
Хотите создать профессиональный Git-репозиторий для версионирования и обмена кодом Python? Предлагаем доступный гайд с перечнем инструментов, которые помогают организовывать код Python и поддерживать его в хорошем состоянии в соответствии с профессиональными стандартами.
Отладка Go для профессионалов
Многие разработчики редко используют отладчик при возникновении проблем в коде. Если вы пишете модульные тесты и используете линтинг и рефакторинг, то этот быстрый и...
Java для начинающих: часть 4 из 4
Часть 1, Часть 2, Часть 3, Часть 4
Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях...
Обзор инструментов для автоформатирования кода Python
Краткое руководство по установке, настройке и работе с инструментами автоформатирования кода Python перед выполнением коммита: хуки pre-commit, библиотеки black и isort.
Kotlin Android Extensions: полное руководство
Если у вас уже есть опыт разработки приложений для Android, вероятно, вы уже устали использовать findViewById, чтобы восстанавливать view. Или, может быть, вы уже сдались...
Углубление в параметры ядра. Часть 1: загрузочные параметры
Диапазон статьи.
EC2 (эластичное облако вычислений) — это наиболее часто используемый AWS-сервис, поскольку он надёжен, гибок и позволяет масштабируемость. EC2 можно назвать “хребтом” AWS, т.к. прямо или...
6 веских причин поговорить об f-строках в Python
Одним из первых наших шагов в самом начале изучения любого языка программирования является вывод строки “Hello, World!”. Практически то же самое мы делаем и...
Самые полезные библиотеки Go
Эти библиотеки всегда оказываются первыми в списке инструментов Go-разработчика при запуске нового проекта. Они помогают устранить избыточный код и позволяют создавать более качественные и быстрые приложения.
Микросервисы. Руководство для начинающих
Вы наверняка слышали подобные высказывания: «Наши сервисы состоят из множества масштабируемых микросервисов», «Мы планируем перейти на архитектуру микросервисов». Но что такое микросервисы? Я постараюсь...
Алгоритм Гровера - квантовые вычисления
Задача
Предположим, у нас есть крупная база данных из N элементов. Мы хотим найти один из элементов, например p, по ID, скажем w. Используя классические...
Узнать и забыть: 4 антипрактики обработки ошибок в Python
Внимание! Обнаружены 4 практики обработки ошибок в Python, резко снижающие скорость разработки. Предупрежден - значит вооружен!
Несколько распространенных вопросов об ElasticSearch
Зачем я пишу эту статью?
Документация Elasticsearch не показалась достаточно хорошо организованной и способной пригодиться новичку. В итоге я прыгал по различным статьям и видео в...
4 новых продукта GitHub, которые изменят код
Совсем недавно GitHub провел свое первое виртуальное мероприятие — GitHub Satellite. Тысячи людей подключились к прямой трансляции, которая весь день радовала публику интересными докладами, сгенерированной музыкой...
Что такое *args и **kwargs в Python?
Функции — жизнь, не так ли? Не важно, новичок вы в программировании в целом или пришли из другого языка: осваивая Python, вы узнаете, что число параметров,...
Изучение Blockchain на Python
Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Сетевое программирование в Go
Предлагаем пошаговый гайд по созданию надежного TCP-сервера с использованием Go. Такой сервер обеспечивает регистрируемую и контролируемую доставку потока одновременных соединений.
Rust: выполнение HTTP-запросов и обработка ответов с помощью reqwest
Изучим запросы GET и POST, отображение HTTP-ответа на предопределенную структуру и нюансы обработки различных кодов состояния HTTP. Весь код - в репозитории GitHub.
Как легко и надежно реализовать модульные тесты на Python
Хотите крепко спать, зная, что ваш код не будет взломан? Обеспечьте себе спокойную жизнь с помощью модульных тестов. Узнайте о том, что такое модульное тестирование, зачем оно применяется и как его реализовать на Python.
Перегрузка функций в TypeScript
Если у вас есть опыт работы с любым типизированным языком, то, вероятно, вам знакома концепция перегрузки функций. Если нет, то вкратце напомню ее суть:...
Бесперебойный API на Golang
Создадим API с максимальным временем бесперебойной работы при обновлении двоичных файлов. Реализуем два решения и протестируем их примерами.
Превратите свой Java-код в полностью асинхронный
Асинхронное программирование становится все популярнее благодаря своим преимуществам. Изучим, как добиться асинхронности в Java - на помощь в этом придут CompletionStage и AutoValue.
10 языков программирования, которые пригодятся в 2023 году
Какие языки программирования стоит изучить в новом году? Ответ на этот вопрос поможет найти подборка из 10 самых популярных на сегодняшний день языков программирования.
Популярные лайфхаки для Python
Эти крутые советы для Python сделают ваш код красивее
1. Распаковка элементов массива
first_name, last_name = print(first_name) #выводится Farhadprint(last_name) #выводится Malik
2. Обмен значений переменных
first_name, last_name = last_name,...
Введение в модульное тестирование на Python
Вы только что написали фрагмент кода и не знаете, что делать дальше. Отправлять ли pull request, чтобы коллеги провели ревизию кода или же протестировать...
Сегментация по границам объекта и областям изображения с реализацией в Python
Рассмотрим такое понятие, как сегментация и два ее основных метода с выделением границ и областей, а также подкрепим примерами реализации в Python.
Руководство по созданию интерактивных визуализаций на Python
Хотите научиться создавать эффектные интерактивные визуализации? Сегодня разберем построение графиков и диаграмм, а также развернем контрольную панель на Heroku.
Java 17: что нового по сравнению с Java 11
Что может предложить разработчикам новая стабильная версия Java? Вкратце обрисуем самые важные функции, отличающие эти два релиза: Java 11 и 17.
Как создавать легкие платформонезависимые приложения на Go — без JS и BS
Ознакомимся с методами, виджетами и функционалом библиотеки Gio, сделаем приложение GoGiggles, запустим его в ОС. Добавим функционал СhatGPT, кнопку, обработку событий нажатия.
Синхронизация в Java. Часть 1
Прежде чем перейти к самой синхронизации, я объясню многопоточность на примере простого кода.
Первым классом будет класс “Countdown”, а класс “ThreadColor” будет выглядеть вот так:
public...
Не используйте оператор «+» для объединения строк в Python
Когда я только начал работать с Python, интуитивно стал использовать оператор + для объединения строк, как в Java и многих других языках программирования.
Однако вскоре...
Как создавать диаграммы с помощью ChatGPT
Узнаем, как ChatGPT создает диаграммы на основе скриптов Mermaid. Проиллюстрируем весь процесс наглядными примерами и обойдемся без глубоких знаний Mermaid.
Управление средами Python на профессиональном уровне
Все еще используете virtualenv? Попробуйте новый инструмент - virtualenvwrapper. Хотя virtualenv отлично управляет средами, virtualenvwrapper является его рекомендуемым дополнением. Сходство его команд с командами Linux облегчает запоминание операций.
Как на самом деле работает Git
В этой статье мы на реальном примере погрузимся во внутренние процессы Git. Если у вас еще не открыт терминал, то сделайте это, пристегните ремни...
Преобразование речи в текст с помощью ИИ на Python: пошаговый гайд
Давно мечтали о виртуальном собеседнике на базе искусственного интеллекта? Представляем подробное руководство по созданию такой модели с помощью языка Python.
Постквантовая криптография на Python, C и Linux
Предлагаем руководство для начинающих по постквантовой криптографии - лучшему методу защиты ценных данных от квантовых угроз. Вместо сугубо теоретического анализа, будем опираться на примеры кода на языках Python, C и Linux.
Sparrow: альтернатива ChatGPT от DeepMind
Представляем потенциального конкурента ChatGPT - диалогового агента Sparrow от DeepMind. По заверению разработчиков, он обеспечивает более безопасное общение за счет одновременного использования больших языковых моделей и обучения с подкреплением.
Диагностика кода на Rust
Отладка кода на Rust — дело непростое. Может быть, она и возможна, но здесь и близко нет таких инструментов, которые позволяют осуществлять её в...
Знакомство с объектно-ориентированным программированием в Python: классы и экземпляры
Новичок в ООП? Узнай, как создавать классы и экземпляры в Python
Про объектно-ориентированное программирование в Python писали многие. Большинство специалистов по обработке данных, в том числе...
Несколько распространенных вопросов об ElasticSearch
Зачем я пишу эту статью?
Документация Elasticsearch не показалась достаточно хорошо организованной и способной пригодиться новичку. В итоге я прыгал по различным статьям и видео в...