Python

Создаем краткое содержание текста с помощью Python без NLP

Существует много библиотек NLP, например Natural Language Toolkit (NLTK), TextBlob, CoreNLP, Gensim, и spaCy. Также есть множество способов обобщения текстов  —  покажу самый простой,...
Альтернатива Java 8: что умеет VAVR

Альтернатива Java 8: что умеет VAVR

Обзор на крайне полезную Java-библиотеку: вкратце рассмотрим примеры ее функциональных возможностей и сравним с тем, что предоставляет Java 8 по умолчанию.
Python

Как создавать и публиковать консольные приложения на Python

Подробное руководство по созданию и публикации консольных приложений на Python Консольные приложения — это те, которые вы запускаете в терминале. Скорее всего, вы уже пытались их создать. Или,...
Генерация аналитических данных из PDF-файлов с помощью Apryse и GPT

Генерация аналитических данных из PDF-файлов с помощью Apryse и GPT

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

Изучение Blockchain на Python

Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Топ-10 типичных ошибок при реализации паттерна MVVM в Android 

Топ-10 типичных ошибок при реализации паттерна MVVM в Android 

Вы наверняка совершали эти ошибки при реализации паттерна Model-View-ViewModel в Android. Предлагаем на практических примерах разобраться в их причинах и рассмотреть способы их исправления. Это позволит значительно повысить сопровождаемость, тестируемость и общее качество Android-приложений. 
Структурированное логирование JSON в приложениях на Golang

Структурированное логирование JSON в приложениях на Golang

Структурированные логи важны для отладки программного обеспечения. К счастью, это очень легко реализовать на Golang. Узнаем, как сэкономить время при отслеживании багов и как использовать уровни ведения журнала для контроля за логами, а также научимся создавать настраиваемые логгеры.
Frink

Злые единицы - добрый Frink

Введение Единица измерения  —  это физическое свойство, представляющее собой число, например, расстояние или время. Мы почти всегда говорим о системе единиц СИ. У единиц могут быть...
Как оркестровать микросервисы с помощью Docker Compose

Как оркестровать микросервисы с помощью Docker Compose

Развертывание приложений с микросервисной архитектурой - довольно громоздкий процесс, занимающий много времени. Уменьшить рабочую нагрузку позволяет Docker Compose, инструмент оркестрации контейнеров. Рассказываем об упрощенном создании микросервисных приложений на Spring Boot.
Python vs Node.Js

Python или Node.Js: какой язык программирования выбрать?

Каждый проект обладает определенными особенностями и требованиями. При создании приложения важно выбрать правильную технологию. В этой статье мы рассмотрим особенности Python и Node.js, чтобы...
Lombok: хорошее и плохое применение

Lombok: хорошее и плохое применение

Lombok - популярная библиотека, облегчающая рутинную работу с классами в Java. Но даже хороший инструмент можно применять неправильно. Дадим несколько рекомендаций, как этого избежать.
Классификация текстов отзывов о фильмах с помощью Scikit-learn

Классификация текстов отзывов о фильмах с помощью Scikit-learn

Сначала мы посмотрим, как подготовить текстовые данные для подачи их в модель машинного обучения. Затем покажем, как использовать Scikit-learn для реализации модели классификатора, а...
Docker

Docker для разработки Go с горячей перезагрузкой

Создание модуля Go В Go 1.13 были введены модули. Это означает, что больше не нужно размещать все проекты в одно рабочее пространство Go. Для начала создаем...
10 способов повысить качество Python-кода

10 способов повысить качество Python-кода

Пополните копилку своих Python-компетенций 10 лайфхаками, которые должен знать каждый программист. Применяя их в повседневной практике, вы не только будете писать эффективный код профессионального уровня, но и повысите собственную производительность.
Как стать инженером Python в 2023 году

Как стать инженером Python в 2023 году

Предлагаем подробное руководство по овладению основными навыками работы с Python, которые требуются начинающим программистам в 2023 году. Это руководство, составленное с учетом последних тенденций и технологий IT-индустрии, поможет сосредоточиться на самом главном.
R

R - язык для статистической обработки данных. Часть 1/3

Я сам изучал R в течение последних нескольких недель.  В своей статье я рассказываю о языке программирования R и его главных концепциях, которые пригодятся каждому...
Как запустить любое ПО с графическим интерфейсом в Docker?

Как запустить любое ПО с графическим интерфейсом в Docker?

Вы, конечно, прекрасно знаете, что такое docker и контейнеры и даже как развернуть модель машинного обучения в docker? Но есть еще один интересный вопрос:...
Рецензирование кода Flutter: лучшие практики

Рецензирование кода Flutter: лучшие практики

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

Rust: безопасный парсинг с нулевым копированием

В Rust парсинг с нулевым копированием избавляет от ошибок безопасности памяти, возникающих в других языках. Руководство по использованию такого алгоритма позволит повысить общую производительность системы.
Проект API с точки зрения разработчика Android

Проект API с точки зрения разработчика Android

Обучающее руководство по созданию API с точки зрения разработчика Android. Рассмотрим разные аспекты данного процесса: структуру проекта, архитектуру, точки входа, внедрение зависимостей и тестирование.
Python

Как обнаружить злые твиты при помощи машинного обучения

Мне не нужно напоминать вам о том, что Интернет может быть очагом негатива, несмотря на все его положительные качества. Вы только взгляните на Reddit,...
Реализация масштабируемого и гибкого пользовательского экрана с несколькими переключателями на Swift

Реализация масштабируемого и гибкого пользовательского экрана с несколькими переключателями на Swift

Посмотрим, как обрабатывать переключение между разными опциями в меню: пройдем путь от сравнительно простого решения к более универсальному и поддерживаемому, через рефакторинг.
Конвейер BitBucket CI/CD для синхронизации веток с GitHub

Конвейер BitBucket CI/CD для синхронизации веток с GitHub

Зачастую возникает необходимость синхронизировать ветки между двумя различными репозиториями  —  например, репозиторий BitBucket и репозиторий GitHub. Это распространенный сценарий при работе с облачным репозиторием, но...
Как протестировать код на Go с Github Actions

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

Введение Процесс тестирования очень важен при разработке программного обеспечения. Разработчики должны быть уверены в стабильности своего кода и в том, что он соответствует требованиям проекта....
Как создать бессерверное приложение с помощью AWS Chalice

Как создать бессерверное приложение с помощью AWS Chalice

Недавно я наткнулся на AWS Chalice и был очарован его простотой и удобством пользования. AWS Chalice  —  это бессерверная платформа, которая позволяет создавать бессерверные приложения...
Язык C: операторы

Язык C: операторы

Оператор - это символ, который дает команду компилятору выполнить определенные математические или логические функции. В распоряжении пользователей языка С множество встроенных операторов различных типов. Рассмотрим их в данной статье.
Комбинаторы парсеров: от parsimmon до nom (Typescript → Rust)

Комбинаторы парсеров: от parsimmon до nom (Typescript → Rust)

В этой статье мы вкратце рассмотрим процесс повторной реализации фиктивного синтаксического анализатора языка запросов, написанного на Typescript. Новая реализация будет на Rust. Комбинатор парсеров представляет...
5 малоизвестных компонентов Compose

5 малоизвестных компонентов Compose

Jetpack Compose Material 3 скрывает целый арсенал малоизвестных, но крайне полезных компонентов. Они помогают решать специфические UI-задачи быстрее и создавать более продуманный пользовательский опыт. В этой статье рассмотрим пять таких "скрытых жемчужин".
Thonny - идеальная IDE для новичков Python

Thonny - идеальная IDE для новичков Python

Мечтаете освоить программирование на Python, но не знаете, с чего начать? Не волнуйтесь. Thonny станет вашим гидом на протяжении всего пути обучения  —  даже...
Python

Создаем чат-бот в Python с помощью nltk

Чат-бот — это искусственный интеллект, который может имитировать разговор с пользователем на естественном языке через мессенджеры, веб-сайты, мобильные приложения, телефон и т.д. Чат-боты можно использовать в...
10 конструкций для написания Bash-скриптов

10 конструкций для написания Bash-скриптов

Эти конструкции (10 основных и 5 дополнительных) должен освоить каждый инженер. Они помогут вам писать более элегантные, эффективные и удобные в обслуживании скрипты, предназначенные для решения реальных инженерных задач. 
Основы SQL: разница между GROUP BY и PARTITION BY

Основы SQL: разница между GROUP BY и PARTITION BY

Несмотря на кажущуюся простоту, SQL может таить в себе немало особенностей, о которых лучше узнать заранее. Сегодня рассмотрим основные различия между операторами GROUP BY и PARTITION BY, а также их основные сценарии использования.
7 признаков того, что Flutter готов к разработке корпоративных приложений

7 признаков того, что Flutter готов к разработке корпоративных приложений

Есть ли у Flutter будущее в корпоративной сфере? Ответить на этот вопрос разработчики смогли только после бета-тестирования движка. Flutter доказал свою перспективность, предоставив программистам массу встроенных средств, облегчающих разработку платформозависимых приложений.
Карусель изображений в React Native

Карусель изображений в React Native

Пошаговое руководство по созданию карусели изображений с помощью библиотеки React Native Snap Carousel, которая превращает этот процесс в истинное удовольствие.
Как писать безопасный код на Go

Как писать безопасный код на Go

Что значит помнить о безопасности при написании кода Go? Ответить в одной, короткой статье кажется невозможным. По этой причине сузим его до нескольких конкретных практик. При постоянном применении они приведут к написанию надежного, безопасного и производительного кода. Как быть в курсе новостей о безопасности Go? Как поддерживать код Go в актуальном состоянии? Как тестировать код, уделяя особое внимание безопасности и надежности? Что такое CVE и где можно узнать о самых распространенных уязвимостях ПО?
Python

Понятие о виртуальных средах в Python

Введение в виртуальные среды Python с использованием VR Нет, вам не нужны очки виртуальной реальности (VR) для чтения этой статьи. Будет достаточно внимательности и интереса...
Как удаленно отлаживать сайты для Android с помощью Chrome DevTools

Как удаленно отлаживать сайты для Android с помощью Chrome DevTools

Поскольку под управлением Android работает более 2,5 млрд устройств, разработчики не могут игнорировать оптимизацию веб-страниц для этой операционной системы (ОС). Обычно на устройствах с...
Как овладеть наукой о геопространственных данных в 2023 году

Как овладеть наукой о геопространственных данных в 2023 году

Предлагаем пошаговое руководство по овладению наукой о геопространственных данных с помощью Python с нуля. Имея в своем распоряжении указанные здесь навыки и ресурсы, каждый сможет стать профессионалом в области анализа геопространственных данных.
Как создать анимацию колебания с помощью UIKit

Как создать анимацию колебания с помощью UIKit

А почему бы не "оживить" компоненты в приложениях iOS с помощью интересной анимации? Для этого воспользуемся практическими рекомендациями автора - и дело готово!
AWS

Автоматизация скриптов на Python при помощи AWS Lightsail

В своей работе специалиста по данным я осознал, насколько необходимо автоматизировать любой и каждый аспект рабочего процесса. Когда большинство людей слышит слова “наука о...
Шпаргалка Swift для разработчиков Android/Kotlin

Шпаргалка Swift для разработчиков Android/Kotlin

Рассмотрим концепции Swift, обнаруживаемые при просмотре кода iOS, сравним их реализацию в Kotlin. Изучим, как здесь реализуется функционал опциональных привязок, словарей, расширений, структур, протоколов, анализируется код, просматриваются или пишутся технические спецификации/предложения.
Как создать свой Twitter или управляемое данными приложение с Golang и Kafka

Как создать свой Twitter или управляемое данными приложение с Golang и Kafka

Сделаем легко масштабируемую систему с ML-алгоритмами для определения предпочтений пользователей. Заполним временну́ю шкалу, создадим тему, заведем задачу для получения и сохранения твитов из темы, проанализируем их с помощью тегирования.
Регулярные выражения в Python: необходимый запас знаний

Регулярные выражения в Python: необходимый запас знаний

Хотите овладеть силой регулярных выражений? Тогда вы обратились по адресу. Расскажем об основных принципах их действия, раскроем значения ключевых символов и рассмотрим 3 конкретные ситуации использования.
Как учиться программировать с помощью ChatGPT

Как учиться программировать с помощью ChatGPT

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

Руководство по созданию интерактивных визуализаций на Python

Хотите научиться создавать эффектные интерактивные визуализации? Сегодня разберем построение графиков и диаграмм, а также развернем контрольную панель на Heroku.
Обучение программированию лучше начать с языка С. И вот почему

Обучение программированию лучше начать с языка С. И вот почему

Изучать основы программирования можно на любом языке, но более эффективно это получится на C! И на это есть 4 причины.
Проекты Go: создаем собственное канареечное развертывание

Проекты Go: создаем собственное канареечное развертывание

Каким образом перенаправляется трафик? Разберем различные подходы к развертыванию с примерами кода.
Почему стоит использовать Ruby on Rails

Почему стоит использовать Ruby on Rails

Краткий обзор Ruby. Чем объясняется его эффективность? Разберем преимущества этого языка.
Создание собственной симуляции активной материи на Python

Создание собственной симуляции активной материи на Python

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

Выполняйте загрузку Excel-файлов в Python в 1000 раз быстрее

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

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

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

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

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

Вы умеете говорить на Python?

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

Создание Copilot для визуального распознавания в Azure

Хотите создать чат-бота для обобщения и релевантного поиска видеоконтента в Azure? Ознакомьтесь с примером разработки и использования цифрового помощника Copilot. Он поможет быстро находить как ключевые моменты видеоролика, так и заданные фрагменты.
Python

Изучаем Python: генераторы, стримы и yield

В Python часто используются generator иyield. Расскажу в этой статье об основных свойствах generator, а также преимуществах работы с ним. Разберёмся в подробностях, как...
Android

Как создать плавающую кнопку для Android приложения

Для начала создайте пустой Android проект. Добавьте зависимость Android Design, потому что FAB находится в этой библиотеке. Скопируйте и вставьте её в свой проект. implementation 'com.android.support:design:28.0.0' Если...
Julia

Улётные пакеты Julia для машинного обучения - мечта программиста!

Несмотря на то, что Julia все еще относительно молодой и перспективный язык, иногда он просто поражает своей не по годам зрелой экосистемой. Особенно это...
Artificial Intelligence

Обратные вызовы Keras за 2 минуты

Что такое обратный вызов Keras? Из документации Keras: Обратный вызов — множество функций, применяемых на данной стадии тренировки. Вы можете использовать их, чтобы посмотреть на внутреннее состояние...
Почему большинство программистов выбирают Python

Почему большинство программистов выбирают Python

Python - второй (после JavaScript) по распространенности язык программирования, который используют 15,7 млн человек. Рассказываем, с чем связана его популярность и как понять, подходит ли он именно вам.
Псевдоним типа в Swift

Псевдоним типа в Swift

Рассмотрим практические применения typealias: упрощение сигнатур и типов функций, кортежи, рефакторинг и миграции, ограничения, замыкания, словари, протоколы. Изучим на примерах, как создаются четкие, лаконичные, гибкие структуры кода, благодаря чему в Swift совершенствуется процесс разработки, упрощаются сложные типы, повышается удобство восприятия кода.
3 интерактивных инструмента для управления командами в Linux

3 интерактивных инструмента для управления командами в Linux

Эти инструменты позволят находить и отфильтровывать нужные команды, добавлять их в избранное для мгновенного выполнения и предоставят множество других полезных возможностей.
3 эффективные новинки Swift с WWDC 2022

3 эффективные новинки Swift с WWDC 2022

Познакомимся с интересными приемами Swift 5.7, которые значительно оптимизируют процесс написания кода.
Как построить масштабируемый API на Go с помощью Gin

Как построить масштабируемый API на Go с помощью Gin

Пошаговое руководство по проектированию API, от с создания базы данных и прописывания основных маршрутов до тестирования его работоспособности.
C

Игра на C# меньше 8 Кб

Как уменьшить размер исполняемого файла C#? Как человеку, выросшему во времена дискет и 56 Кбит модемов, мне всегда нравились небольшие программы. Я мог поместить много небольших...
Android

Что нового в Jetpack

Android Jetpack — это набор библиотек, направленных на то, чтобы помочь вам легко писать высококачественные приложения, поддерживая более старые версии Android. Спустя два года после запуска...
Подписки, чеки и StoreKit в iOS 14

Подписки, чеки и StoreKit в iOS 14

Из всех способов получить деньги за работу, которую вы вкладываете в разработку приложений, лучшим на сегодняшний день является подписка. В статье я надеюсь рассмотреть...
Создание анимированных диаграмм в Python

Создание анимированных диаграмм в Python

Изображение вместо тысячи слов - такой принцип лежит в основе визуализации данных. А если добавить в нее анимацию? Представляете, какой живой отклик она вызовет у вашей аудитории! Так что самое время научиться создавать анимированные диаграммы в Python.
Golang

Как работает функция Defer в Golang

В Golang, благодаря появлению целого ряда новых средств и инструментов, которыми не могут похвастать другие языки серверного программирования, реализована очень мощная и гибкая модель...
Борьба с веб-скрейперами с помощью Rust

Борьба с веб-скрейперами с помощью Rust

Боты, использующие инструменты веб-скрейпинга, могут быть использованы злоумышленниками в самых неприглядных целях. Можно ли им противостоять? Да! Сегодня рассмотрим мощный инструмент для борьбы с такими непрошенными гостями, построенный на Rust.
Anaconda

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

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

Что такое SQL-атаки и как с ними бороться?

Давайте поговорим о наиболее опасной уязвимости, которая может присутствовать у вас в приложении  —  внедрение SQL-кода. Внедрение SQL позволяет атакующему коду изменять структуру SQL-запросов приложения...
Топ-10 вопросов о Pandas на StackOverflow

Топ-10 вопросов о Pandas на StackOverflow

Эти десять вопросов получили наибольшее количество голосов в категории Pandas на платформе StackOverflow. Они были актуальны десять лет назад, такими же остаются и сегодня. Ответы на них позволяют закрепить фундаментальные операции в Pandas.
Как отслеживать события файловой системы в Python

Как отслеживать события файловой системы в Python

Прочитав эту статью, вы научитесь обнаруживать изменения в существующих файлах приложения Python. Для этого возьмем хорошо поддерживаемый модуль под названием watchdog.  Согласно официальной документации, watchdog...
15 бизнес-идей агентов на основе ИИ в 2025 году

15 бизнес-идей агентов на основе ИИ в 2025 году

Агенты на базе ИИ открывают невероятные возможности перед предпринимателями. Они помогают достичь успехов в самых различных бизнес-сферах - будь то автоматизация поддержки клиентов, оптимизация продаж или разработка инновационных SaaS-решений. Не упустите и вы свой шанс извлечь выгоду с помощью ИИ в 2025 году!
Стратегии Async/Await и MainActor

Стратегии Async/Await и MainActor

Разберемся, где и как обновлять основной поток. Изучим код SIL, генерируемый разными механизмами, их эффективность, размер кода и связанные с этим последствия. Какой подход проще, эффективнее, где меньше кода и побочных эффектов?
Android 14: обновления в области конфиденциальности и безопасности

Android 14: обновления в области конфиденциальности и безопасности

Узнайте о новых функциях Android 14, чтобы обновить свои приложения в соответствии с ними. Это поможет обеспечить безопасность приложений и соблюдение конфиденциальности пользователей.
Julia

Стоит ли учить Julia?

Julia — это новейший IT-язык, поэтому я решил его попробовать. Вопрос в том, стоит ли добавлять его в арсенал специалиста по данным? Установка Первое, что стоит знать о...
Scala

Функциональное программирование со Scala: введение

Если вас интересует функциональное программирование, в этой статье вы найдете несколько важных аспектов этого направления и особенностей его работы в Scala. Классические программы порождают концептуальные...
3 применения исключений, которые улучшат навыки программирования на Java

3 применения исключений, которые улучшат навыки программирования на Java

В статье мы узнаем: 1. Как выбрасывать исключение в пустом классе «Optional».2. Как тестировать и просматривать исключение.3. Как использовать ошибки утверждения. 1. Как выбрасывать исключение в...
Python для начинающих: all, any, zip, enumerate, filter, map

Python для начинающих: all, any, zip, enumerate, filter, map

Подробные примеры применения на практике шести стандартных функций Python: all, any, zip, enumerate, filter, map.
Однострочный for на Python: списковое включение и генераторные выражения

Однострочный for на Python: списковое включение и генераторные выражения

Генератор словарей и генератор кортежей - как написать цикл for в одну строчку при помощи специальных генераторных выражений?
Java Script

10 отличных JavaScript библиотек на 2020 год

JavaScript  —  язык интернета. Вы можете запускать его в браузере или на сервере, а можете использовать для мобильных приложений. Хотя он и хорош сам по...
Clean Architecture в Android для начинающих

Clean Architecture в Android для начинающих

Даже до того, как я начал специализироваться на Android, меня, как разработчика, всегда восхищал хорошо структурированный, чистый и понятный в целом код. “Задача архитектуры программного...
Какую архитектуру выбрать  -  с единой или множеством Activity?

Какую архитектуру выбрать  —  с единой или множеством Activity?

Обе архитектуры - как с единой, так и со множеством Activity - находят свое место в Android-разработке. Изучаем плюсы и минусы каждого подхода, а также их случаи использования.
Кэширование трендовых новостей в приложении TrendNow с помощью OkHttp Cache. Часть 6

Кэширование трендовых новостей в приложении TrendNow с помощью OkHttp Cache. Часть 6

В этой части вы узнаете о решении проблемы ограничения скорости API в TrendNow путем реализации OkHttp Cache для кэширования трендовых новостей на стороне клиента. Это решение, хотя и не устраняет полностью проблему, помогает минимизировать ограничение скорости API.
Заменят ли потоки данных циклы в Java?

Заменят ли потоки данных циклы в Java?

Затронем такую тему, как потоки данных в Java. Сравним их показатели производительности с циклами, а также выявим преимущества и ограничения в применении.
Python

Обучение Inception в Google распознаванию пользовательских изображений

Ищете краткое руководство по обучению классификатора пользовательских изображений? С помощью Inception API от Google Brain с этой задачей можно справиться быстрее, чем выпить чашку...
Software Development

11 важнейших консольных команд для разработчика

Командная строка сильно облегчает нам жизнь, позволяя легко автоматизировать несколько рутинных задач и повысить плавность хода всего процесса. Вместо того, чтобы постоянно кликать повсюду...
Почему борьба GitHub с тостовыми уведомлениями — плохая новость для специалистов по доступности

Почему борьба GitHub с тостовыми уведомлениями — плохая новость для специалистов по доступности

Решение GitHub полностью отказаться от тостовых уведомлений в своих продуктах, мотивированное заботой о доступности, вызвало бурную дискуссию в сообществе. Но является ли запрет действительно решением проблемы?
C++

Языки C и C++. Где их используют и зачем?

Сфера применения C и C++ на удивление широка. Даже в сегодняшнем мире, несмотря на всё многообразие современных надёжных инструментов, эти два языка программирования остаются незаменимыми
Как оптимизировать набор текста с помощью Python

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

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

Многозадачность и параллелизм: руководство для начинающих

Многие новички в программировании путают понятия "многозадачность" и "параллелизм". Большинство ошибочно считает, что это одно и то же. Разберемся в сути этих понятий с помощью простых примеров, ярких образов и прозрачных аллегорий.
Поддержание документации в актуальном состоянии с помощью Bit и GitHub

Поддержание документации в актуальном состоянии с помощью Bit и GitHub

Написание документации для кода (будь то небольшая библиотека или полный набор микросервисов, взаимодействие с которыми необходимо другим разработчикам)  —  это занятие кропотливое и утомительное. Основная...
Что мы теряем, когда экономим творческие усилия

Что мы теряем, когда экономим творческие усилия

Искусственный интеллект создает идеальные изображения собак за секунды, но мы почему-то до сих пор помним уродливых щенков, нарисованных в детстве на старом софте. Не обесценивает ли упрощение творческого процесса его результат? Ответ на этот вопрос заставит вас пересмотреть свое отношение к творчеству и технологиям.
Как обогатить контекст большой языковой модели (LLM) для улучшения ее возможностей

Как обогатить контекст большой языковой модели (LLM) для улучшения ее возможностей

Большие языковые модели способны на большее, но мы сами часто их ограничиваем. Ключ к раскрытию истинного потенциала LLM лежит не в создании более сложных архитектур, а в простом и часто упускаемом из виду действии — предоставлении большего количества релевантных данных.
Создание базы данных на Rust

Создание базы данных на Rust

Опишем роли каждого уровня БД, изучим фундаментальные концепции: фреймы, страницы. А также планировщик дисков и внутренние механизмы диспетчера буферного пула, включая политику LRU-K вытеснения данных из кэша.
Зачем Python столько знаков подчеркивания?

Зачем Python столько знаков подчеркивания?

Неочевидные примеры использования символа нижнего подчеркивания для обеспечения инкапсуляции и улучшения читаемости вашего кода на Python
Освойте оконные функции SQL раз и навсегда

Освойте оконные функции SQL раз и навсегда

Пошаговое руководство по освоению оконных функций поможет решать различные задачи. Изучите на конкретных примерах, как оконные функции помогают выполнять агрегирование, ранжирование и смещения данных.
Выполнение AES/GCM в Android

Выполнение AES/GCM в Android

Столкнувшись с рядом проблем, связанных с выполнением шифрования и расшифровки AES в Android, я решил поделиться своим опытом. TL;DR: здесь можно найти готовое решение. Если...
Как Ktlint облегчает жизнь разработчикам

Как Ktlint облегчает жизнь разработчикам

Узнайте о фантастических возможностях Ktlint и о том, как внедрить его в проект. Этот инструмент, выполняющий статический анализ и автоматическое форматирование кода, позволит сэкономить массу времени и трудозатрат. 
Julia

Улётные пакеты Julia для машинного обучения - мечта программиста!

Несмотря на то, что Julia все еще относительно молодой и перспективный язык, иногда он просто поражает своей не по годам зрелой экосистемой. Особенно это...
Ubuntu

Установка и использование Snap-пакетов в Ubuntu 18.04

Введение Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная...
Кастомизируем дефолтную заставку во Flutter

Кастомизируем дефолтную заставку во Flutter

Во Flutter невозможно переопределить экран заставки, который задан по умолчанию, а значит любой виджет-заставка, созданный внутри Flutter, будет отображаться только после дефолтной заставки. Пока...
Почему большинство инженеров ПО не пишут документацию?

Почему большинство инженеров ПО не пишут документацию?

Неважно, работаете вы в небольшом стартапе или же в крупной корпорации, когда возникает необходимость в хорошей, ценной документации сервисов или проектов, то на ее...
Git

Основы Git за 5 минут

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