Как автоматизировать удаление ненужных файлов с помощью Python
Пошаговое руководство по автоматизации удаления ненужных файлов. Поработаем с Python и планировщиком задач cron.
Основы безопасного программирования
Безопасность приложений не ограничивается только аутентификацией. У хакеров есть бесчисленное множество способов атаковать систему в обход этой процедуры.
Программистам важно обладать базовыми знаниями, чтобы не...
Доступно об API-вызове во Flutter: лучшие практики с демонстрацией кода
Рассказываем, как во Flutter использовать методы API-вызова HTTP, POST, GET и как создавать модели для представления данных, получаемых с сервера. Следуя этим практикам, вы будете писать более надежный и эффективный код.
Контейнеризация в Python. Часть 3
Часть 1, Часть 2, Часть 3
Это последняя статья серии, посвящённой контейнеризации, в которой мы рассмотрели настройку и оптимизацию контейнеризованной среды разработки Python. В Части...
Приемы работы в терминале Linux для повышения продуктивности
Освоим приемы, хитрости, рекомендации, сочетания клавиш в терминале Linux. С им помощью упростим повседневную рутину и облегчим выполнение многих задач.
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 1
Рефлексия и загрузчики классов в Java позволяют решать многие проблемы и создавать гибкие программы. В этой части уделим основное внимание рефлексии - способности работающей программы исследовать себя и внешнее окружение, изменяя свое поведение.
Выбор лучшего фреймворка для создания мобильного приложения
Для создания мобильных приложений есть множество фреймворков. Но выбрать нужно лишь один.
Совсем недавно каждый разработчик занимался разработкой мобильных приложений, используя Software Development Kit (SDK),...
Middleware Django: пользовательское ПО промежуточного слоя
Что такое middleware, как создать пользовательский Django middleware и как проверить стандартные? Всё, что нужно знать о связующем ПО.
Как работает шлюз API на Golang: на примере одного симпатичного платья
Совместим просмотр красивых платьев в веб-магазинах и заодно разберем принцип работы шлюза API на Golang!
Знакомство с Papermill
Как превратить Jupyter Notebook в рабочий процесс по обработке данных
1. Введение
Jupyter Notebook — это «золотой стандарт» в разведочном анализе данных (EDA-анализ) и отличный инструмент для документирования...
Жажда скорости: Python с расширениями С
Хотите, чтобы Python работал на всех скоростях? Тогда пора познакомиться с расширениями С. Узнаем, как их создавать, применять в программах Python, а затем сравним скорость программы с расширениями и без.
Переоткрываем для себя эмулятор Android для ускорения тестирования
Нет смысла подслащивать пилюлю: UI-тесты на Android могут быть медленными, особенно если со временем у вас накопилось их много.
Итак, что же делать, когда у...
Релиз Koin 1.0.0✨
Так, так, так… вот оно! Уважаемые пользователи Koin, настал момент релиза нашей первой стабильной версии Koin. Спустя чуть больше года после начальной версии, мы...
Как создать инструмент PGP-шифрования на основе Python
Сделаем первый шаг в мир кибербезопасности и шифрования. Для этого создадим инструмент командной строки для PGP-шифрования с помощью Python.
Реализация GitHub Action в контейнере Docker
В предыдущей статье я подробно рассказала о сути GitHub Actions, архитектуре этого инструмента, о реализации потока событий через GitHub и создании собственного экшена с...
Анимируем скучные табличные представления в iOS-приложении
Почти в любом iOS-приложении присутствуют табличные представления. Их применяют для отображения одиночного столбца содержимого с вертикальной прокруткой, разделённого на строки.
Анимация — отличный способ привлечь...
Какие языки программирования нужно знать, чтобы разрабатывать приложения под Android?
Итак, вы решили научиться разрабатывать приложения под Android? Отлично! Но нужно понимать, что без труда не вынешь и рыбку из пруда. Программирование — это крайне обширная...
C++ и Java: сравнительный анализ
Рассмотрим преимущества и недостатки двух лучших в настоящее время языков. Определим, где каждый из них предпочтительнее использовать.
Когда параллелизм превосходит конкурентность
Скорее всего, для большинства из вас эти две концепции означают одно и то же, или же вы затрудняетесь объяснить, в чём между ними разница....
8 частых ошибок в Android-разработке
Ошибка № 1: не учитывать, что всё должно быть на своих местах
Экосистема Android стремительно распространяется по всему миру. Вместе с этим растёт и сообщество, состоящее...
Синхронизация в Java. Часть 2
Часть 1, Часть 2
Состояние гонки
Вновь приветствую вас в теме “Синхронизация в Java”! Надеюсь, что вы прочли мою предыдущую статью.
Давайте разберёмся, что же такое состояние...
Python и Java: комплексное сравнение двух популярных языков программирования
Python или Java? Какой язык выбрать для создания успешных проектов? Однозначного ответа на эти вопросы нет, поскольку и Python, и Java обладают как достоинствами, так и недостатками. Сегодня поговорим о сильных и слабых сторонах двух популярных языков программирования.
Основы программирования на Ruby
Изучим типы данных на Ruby, напишем и запустим простую программу. Разберем, как получаются данные от пользователя, текущая дата и время, чем методы отличаются от функций, как создается массив.
3 функции Python Matplotlib: повысьте информативность визуализации данных
Форма представления так же важна, как и содержимое. Python Matplotlib поможет вам в создании понятных и лаконичных визуализаций.
Дизайн системы для Чайников. Создаём стиль для приложения на React Native за 3 простых шага
В наше время, создать собственное приложение уже не кажется чем-то сложным. Ещё несколько лет назад вам пришлось бы освоить две экосистемы, чтобы создать кроссплатформенное...
Как создать на Python скринер акций и выполнить анализ настроений на основе ИИ
Ищете продвинутый способ скрининга акций для инвестирования? Предлагаем руководство по запуску программы, которая поможет получить список "недооцененных" акций с их обзором и список статей с последними финансовыми новостями с их общим настроением.
Почему Dockerfile больше не нужен для создания контейнера в Go
Интегрируя, адаптируя и обучая новых инженеров в FlowUp, я пришел к выводу: на формирование глубокого понимания того, как работают Dockerfiles, уходит слишком много времени....
Логирование — корень всех проблем отладки
Логирование играет важную роль в получении информации о поведении системы, помощи в отладке и эффективном решении проблем. Следуя лучшим практикам и используя инструменты анализа логов, такие как ELK Stack, вы получите более глубокое представление о своих системах и сможете создавать более надежные и производительные приложения.
Лучшие практики модульного тестирования
Тестирование имеет большое значение. Модульное тестирование — еще большее, это бесспорно. Вот пишешь какой-то код, и надо бы покрыть его тестами. Но как только...
Как создать приложение Android за 7 шагов
Хотите создать свое первое Android-приложение и ищете доступное руководство? Оно перед вами: всего 7 простых шагов - и приложение успешно работает на Android-устройстве.
Обработка аргументов в Python с помощью argparse
Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Овладей Python, создавая реальные приложения. Часть 3
Создаем блокировщик сайтов в 3 шага
Предыдущие части: Часть 1, Часть 2
Технологии стремительно развиваются, как и мир в целом. Каждый день вы сталкиваетесь с чем-то, о чем раньше...
Рефакторинг кода Go для тестопригодности: возможности интерфейсов
Раскроем возможности модульных тестов для раннего обнаружения багов. Продемонстрируем на конкретном примере, как сделать приложение на Go более тестопригодным.
Как пересчитать слова в массиве используя JavaScript
Считаем слова в массиве
Дано:
let array = ;
Задача: посчитать все слова в данном массиве.
Способ №1: используем цикл for
function getWordCount() { let map = {}; for...
RxPermissions: простой способ управления разрешениями в Android M
Давайте узнаем, как можно с легкостью настроить управление потоком разрешений с помощью всего нескольких строк кода.
С того времени, как в качестве меры безопасности был...
Как создать масштабируемую архитектуру для крупных мобильных проектов
Принципы создания крупного масштабируемого проекта
Для начала определим нормы разработки крупного приложения:
Сокращение зависимостей. Любое изменение должно затрагивать как можно меньшее количество кода.Возможность повторного использования. Отдельные...
Null - это зло!
Не сомневаюсь, что заголовок статьи привлек ваше внимание! А теперь позвольте мне аргументировать свою точку зрения, поскольку процентов на 50%, а то и больше,...
Магия совместимости XML и Jetpack Compose
Статья подскажет, как перевести проект с представлений XML на Jetpack Compose и воспользоваться всеми его преимуществами.
10 лайфхаков для Linux, которые повысят продуктивность
Эти 10 лайфхаков для работы с CLI Linux помогут вам повысить производительность. Все они довольны просты и показывают, как делать больше меньшими средствами.
Parcel + Rust и WASM = идеальный ромком
Введение
Мне уже давно хотелось попробовать использовать Rust и WASM вместе. Причин для этого была масса: небольшой размер пакета, низкоуровневый доступ с надёжной производительностью и...
Полезные Python модули, которыми мало кто пользуется
Python — это прекрасный язык с множеством встроенных модулей, цель которых — помочь нам писать более красивый и качественный код.
Цель
В данной статье мы будем работать с малоизвестными методами...
Эти декораторы Python позволят сократить код вдвое
Декораторы - интересный, мощный и полезный инструмент, способный значительно сокращать и структурировать код Phyton. Убедитесь в этом сами.
Кросс-компиляция программ Rust для запуска на маршрутизаторе
Вы никогда не задумывались о том, чтобы запустить на домашнем роутере какой-нибудь пакет Ubuntu? Для этого можно было бы использовать контейнеры LXC. Всё это...
Корутины в Kotlin: топ-50 вопросов для собеседования с Android-разработчиками в 2024 году
Хотите поразить рекрутеров своими знаниями в области корутин или стремитесь повысить свой квалификационный уровень? В любом случае будет полезно изучить основные вопросы для собеседования по корутинам, актуальные для Android-разработчиков в 2024 году.
Разворачиваем декораторы. Часть 1
Предпосылки
Для начала я должен убедиться, что все одинаково хорошо разбираются в теме. Если вам хорошо известны такие понятия как: переменные, параметры, возвращение значений переменной...
Малоизвестные функции JavaScript
Считается, что JavaScript — самый простой язык, чтобы начать и самый сложный язык, чтобы полностью освоить. Не могу не согласиться, так как JS очень старый и...
Овладей Python, создавая реальные приложения. Часть 5
Делаем анализ тональности высказываний в Twitter за 3 минуты
Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4
В этой части мы создадим скрипт Python, который при помощи Twitter поможет...
Инструмент, который автоматически находит уязвимости в Python-коде
TL;DR
В январе 2019 года мы запустили инструмент, который эффективно находит уязвимости в Python-коде. Мы создали автоматизированную систему, в которой объединили алгоритмы анализа потока данных...
Распространенные и нелепые ошибки разработчиков Android-приложений
Создание Android-приложений - интересное занятие. Некоторым разработчикам оно позволяет создать собственный рынок и получить немалую прибыль. Хотите стать одним из них? Тогда постарайтесь избежать ошибок, которые могут помешать приложению стать хитом.
Обзор итераторов в Go
Релиз Go 1.22 запланирован на февраль 2024 года, но уже сегодня можно оценить некоторые из его возможностей. Поговорим о том, как будут выглядеть итераторы и как может расшириться стандартная библиотека для их поддержки.
3 классные малоизвестные функции Pandas
Я и раньше писал о Pandas по очевидным причинам — это изумительная библиотека для анализа данных и даже для визуализации. Предыдущая статья была о функциях, которые...
Jetpack DataStore: улучшенная система хранения данных
Что такое DataStore
На протяжении многих лет разработчики Android хранили небольшие фрагменты конфиденциальных пользовательских данных с помощью общих настроек (shared preferences). Этот подход имеет следующие...
Выполняйте загрузку Excel-файлов в Python в 1000 раз быстрее
Обеспечьте молниеносную обработку данных с помощью экспертных методов. Используя преимущества оптимизации форматов файлов и параллельной обработки, вы существенно повысите производительность операций загрузки данных в Python.
Java 21: новый подход к созданию строк
Рассмотрим и сравним существующие техники конкатенации и интерполяции строк в Java, обратив особое внимание на новую функциональность Java 21 - шаблоны строк.
Карусель изображений в React Native
Пошаговое руководство по созданию карусели изображений с помощью библиотеки React Native Snap Carousel, которая превращает этот процесс в истинное удовольствие.
Python-библиотеки интерпретации моделей ML
Все эти библиотеки устанавливаются через pip и сопровождаются подробной документацией. Акцент в них делается на визуализацию.
Yellowbrick
Yellowbrick — это расширение scikit-learn, которое позволяет использовать полезные и красивые...
Как создать плавающую кнопку для Android приложения
Для начала создайте пустой Android проект.
Добавьте зависимость Android Design, потому что FAB находится в этой библиотеке. Скопируйте и вставьте её в свой проект.
implementation 'com.android.support:design:28.0.0'
Если...
5 рекомендаций по оптимизации пул-реквестов
Создание пул-реквеста (запроса на размещение изменений в основной ветке) и ожидание результатов ревью — стандартные процедуры в процессе написания кода, являющиеся важной и неотъемлемой...
Использование строк в Rust
Копировать одну переменную в другую и ожидать, что значение будет доступно в первой переменной — это обычное дело для многих языков программирования. Но это не совсем...
Git: простое руководство о том, как стать мастером контроля версий
Раскройте возможности контроля версий с помощью Git - системы, используемой в тысячах проектов и положившей начало новому уровню совместного написания кода.
Kotlin Coroutines для Android — Прощай RxJava?
Недавно JetBrains анонсировала новую фичу, которая известна как coroutines (coroutines является экспериментальной функцией в Kotlin 1.1+). Кстати, jetbrains — это место, где можно найти настоящее сокровище,...
Создаем настраиваемую цепочку обязанностей в Go
Цепочка обязанностей или цепочка команд — это шаблон проектирования, позволяющий передавать запросы по цепочке Handlers. Каждый Handler решает, нужно ли обработать и расширить запрос или же...
Как создать чат-бот на основе данных CSV с LangChain и OpenAI
Хотите пообщаться с чат-ботом, основанном на вашем собственном файле CSV? Не стоит отказываться от такого интересного опыта. При создании чат-бота поработаем с Langchain и OpenAI.
Кастомизируем дефолтную заставку во Flutter
Во Flutter невозможно переопределить экран заставки, который задан по умолчанию, а значит любой виджет-заставка, созданный внутри Flutter, будет отображаться только после дефолтной заставки. Пока...
5 удивительных скрытых возможностей Python. Часть 2
Python - эффективный и надежный язык программирования, пользующийся авторитетом в сообществе благодаря своей универсальности и динамике. Рассмотрим 5 недооцененных функций Python, которые сделают вас еще более грамотным разработчиком.
Миграции баз данных с Golang
Изучим достоинства и недостатки очень полезного инструмента не только для тестирования, но и для контроля и управления версиями БД. Разберем особенности написания и применения SQL-миграций в службах на Go.
7 признаков того, что Flutter готов к разработке корпоративных приложений
Есть ли у Flutter будущее в корпоративной сфере? Ответить на этот вопрос разработчики смогли только после бета-тестирования движка. Flutter доказал свою перспективность, предоставив программистам массу встроенных средств, облегчающих разработку платформозависимых приложений.
Что возвращать в Go: структуры или интерфейсы?
В подробном руководстве исследуем преимущества и особенности возвращения структур и интерфейсов на Go. Рассмотрим реальные сценарии с практическими примерами, рекомендации, альтернативные стратегии.
Swift: 7 секретов оптимизации
Обзор 7 функциональностей Swift для создания качественного кода: ключевое слово indirect, атрибут @autoclosure, свойства Lazy и другие.
5 визуально эффектных программ для командной строки
Долой унылые черно-белые приложения для командной строки. Добавим в рабочий процесс красок, анимации и динамики с помощью отличных программ: WTF, htop, mapscii, btop и wttr.
Как оптимизировать навигацию в Jetpack Compose
Проанализируем ситуацию с навигацией в Jetpack Compose, выявим существующие проблемы и рассмотрим конструктивное решение в виде реализации чистой навигации.
Хотите стать классным разработчиком? Работайте с UX
В свою первую стажировку я проработал продукт-менеджером и UX-дизайнером всего лишь два месяца, однако узнал о проектировании куда больше, чем за время работы разработчиком.
Технические...
Язык С: типы данных
Типы данных в языке C - это обширная система, используемая для объявления переменных или различных функций. Тип переменной определяет, сколько места она занимает в памяти и как интерпретируется хранящийся битовый паттерн.
Мутационное тестирование: создай мутанта и прокачай тест
Какая же проблема связана с модульными тестами? Дело в том, что можно написать их сколько душе угодно, и они даже пройдут, но это совсем...
Злые единицы - добрый Frink
Введение
Единица измерения — это физическое свойство, представляющее собой число, например, расстояние или время. Мы почти всегда говорим о системе единиц СИ.
У единиц могут быть...
5 проектов Go: управление безопасностью и контейнерами, создание бэкендов
Расскажем об интересных проектах Golang, связанных в том числе с разведкой по открытым источникам. Используйте их в своих приложениях.
Как удаленно отлаживать сайты для Android с помощью Chrome DevTools
Поскольку под управлением Android работает более 2,5 млрд устройств, разработчики не могут игнорировать оптимизацию веб-страниц для этой операционной системы (ОС). Обычно на устройствах с...
Улётные пакеты Julia для машинного обучения - мечта программиста!
Несмотря на то, что Julia все еще относительно молодой и перспективный язык, иногда он просто поражает своей не по годам зрелой экосистемой. Особенно это...
Как пользоваться Thread.sleep на JVM без блокировки
У таких языков JVM, как Java и Scala, есть возможность запускать параллельный код с помощью класса Thread. Потоки, как известно, сложны и подвержены ошибкам,...
Понятие о виртуальных средах в Python
Введение в виртуальные среды Python с использованием VR
Нет, вам не нужны очки виртуальной реальности (VR) для чтения этой статьи. Будет достаточно внимательности и интереса...
Создание общей библиотеки Linux
Краткая вводная инструкция по написанию общей библиотеки Linux на C++. Разберемся, что такое библиотека, и поэтапно ее создадим.
3 способа мониторинга изменений лог-файлов в Java
Научимся отслеживать изменения файлов тремя разными способами: запланированная задача + File.lastModified, WatchService и Apache Commons-IO.
Запечатанный класс
Часто нам приходится представлять ограниченный набор возможностей: веб-запрос либо успешно выполняется, либо не выполняется, User может быть либо про-пользователем, либо обычным.
Чтобы смоделировать это, мы...
Рост производительности машинного обучения с Rust
Сделаем с нуля небольшой ML-фреймворк на Rust для создания нейросетевых моделей. За счет чего скорость обучения здесь в 5,5 раза выше, чем с Python и PyTorch?
Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab
Перейдём сразу к делу. Допустим, у вас есть один GitLab для личных проектов и один для работы. Проблем не возникнет, пока не придётся работать...
Как создать простую браузерную игру с помощью Phaser 3 и TypeScript
Большую часть своего времени я занимаюсь backend-разработкой, поэтому я не могу похвастаться большим опытом во frontend. Какое-то время назад у меня возникло желание создать...
Программируем с ChatGPT: 10 советов
Хотите извлечь максимальную пользу из ChatGPT? Эти советы помогут ускорить работу, внедрив в нее ChatGPT, но при этом не допустить критических ошибок.
Создание оркестратора для событийно-ориентированного приложения с Golang и RabbitMQ
Реализуем простое решение маршрутизации для отправки сообщений со стабильным потоком запросов, обработкой ошибок и соответственных действий. Это конвейер передачи запросов для системы бронирования гостиницы - резервирование, проверка, зачисление средств, бронь номеров - со всеми преимуществами архитектуры микросервисов и очередью недоставленных сообщений.
Портируем решатель судоку с Java на WebAssembly
Мне давно хотелось приступить к изучению WebAssembly, но никак не находилось подходящего материала. Однако недавно я просматривал некоторые старые программы и вспомнил, что как-то...
Поддержание документации в актуальном состоянии с помощью Bit и GitHub
Написание документации для кода (будь то небольшая библиотека или полный набор микросервисов, взаимодействие с которыми необходимо другим разработчикам) — это занятие кропотливое и утомительное.
Основная...
4 способа улучшить навыки написания кода
Чтобы достичь карьерных высот в сфере программирования, нужно постоянно работать над мастерством написания кода. Воспользуйтесь советами опытного программиста, которые помогут стать профессионалом.
Хитрости объектно-ориентированного программирования. Часть 6 SLAP для функций
Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.
Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 и Часть 5.
Элементарные функции
Должен признать: очень долгое...
Go — единственный выбор для бэкенд-разработчика?
Go впечатляет балансом свой простоты и мощи. Но можно ли его назвать "золотой клеткой" для бэкенд-разработчика? Способен ли он удовлетворить широкий спектр бэкенд-потребностей? Чтобы ответить на этот вопрос, оцените технические возможности языка Go.
Думаете, хеш-карты нельзя отсортировать? Еще как можно!
Научимся реализовывать интерфейс sort.Sort в любой структуре данных. Узнаем, какие методы задействуются в Golang для добавления сортировки.
Под капотом модификатора suspend
Корутины Kotlin предоставили Android разработчикам модификатор suspend. Изучив его, вы поймете, почему функция suspend не возвращает ничего до тех пор, пока не будет завершена...
Android 12: радикально новый дизайн от Google
Material You — новая веха в эволюции текущего поколения Material Design (“материального дизайна”), используемого Android-устройствами (и почти всеми продуктами Google). Идея, лежащая в основе...
Принципы SOLID в инженерии данных. Часть 3
Выясним, как с принципами SOLID сочетается функциональное программирование, каковы их достоинства и недостатки. Продемонстрируем на примерах нарушение и соблюдение этих принципов.
Как я создал свою первую видеоигру
В прошлом году во время новогодних праздников мне очень захотелось начать новый параллельный проект. Я не знал, чего именно хочу, но я был уверен,...
Понятие об умных указателях Rust
В этой статье мы разберемся, что именно представляют собой умные указатели, откуда они берутся и как работают.
Если по-простому, умный указатель — это абстрактный тип...
Ключевые вопросы для собеседования по Spring Boot в 2023 году. Часть 2
Хотите получить должность Java-разработчика или повысить свой профессиональный уровень? Ознакомьтесь с актуальными ответами на 50 ключевых вопросов по микросервисам Spring Boot, которые задают во время собеседования на должность Java-программиста или инженера ПО.
Производительность в Jetpack Compose: стабильность и неизменяемость
Jetpack Compose - мощный набор инструментов для создания современных мобильных приложений. Рассмотрим особенности его работы с пропускаемыми и перезапускаемыми функциями, а также фактор стабильности и его роль в рекомпозиции.
Почему в React важен порядок вызова хуков?
Следование правилам использования хуков в React позволит оптимизировать процесс разработки и повысить эффективность React-приложений. Но прежде стоит выяснить, почему так важен порядок вызова хуков в React.
Автоматический импорт библиотек в IPython или Jupyter Notebook
Если вы — частый пользователь IPython или Jupyter Notebooks и вам надоело постоянно импортировать одни и те же библиотеки, то попробуйте этот способ:
Перейдите к ~/.ipython/profile_defaultСоздайте папку...
ClickHouse: оконные функции с нуля
Узнаем, как в ClickHouse упрощаются анализ и агрегирование сложных данных, компактно и эффективно внутри запроса вычисляются нарастающие итоги, ранжирование, процентили. Разберем синтаксис оконных функций, приведем примеры из реальных сценариев.
Настройка Apache для PHP
Apache HTTP-сервер - свободный веб-сервер, основными достоинствами которого считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.