Тренды

Все что касается разработки: образовательные статьи, тренды, технологии, языки, фреймворки и многое другое!

Golang

Приключения Java-разработчика, решившегося изучать Go

Мне нравится изучать что-то новое, особенно новые языки. Всегда интересно узнать, как с одной и той же проблемой справляются разные языки и как различается...
Как ИИ влияет на развитие NFT

Как ИИ влияет на развитие NFT

Искусственный интеллект - настоящий бустер для развития NFT (невзаимозаменяемых токенов). Представляем 3 передовых проекта, на которые вам стоит обратить внимание.
Python

Обработка аргументов в Python с помощью argparse

Если вы хотите разрабатывать ПО на Python, то умение использовать argparse в своих скриптах будет крайне полезным. Если же вы специалист по данным, то,...
Golang

Удалённые вызовы процедур в Golang

Что такое удалённые вызовы процедур? Удалённый вызов процедур (RPC) — это подпрограмма в распределённых вычислениях. Реализация RPC напоминает реализацию локальных вызовов, но обычно они не идентичны. Как...
Spring Data - сила доменных событий

Spring Data — сила доменных событий

Рассмотрим, как доменно-ориентированный дизайн помогает проектировать более надежные и устойчивые к расширению системы - на примере гипотетического сервиса продажи книг.
Swift: 7 секретов оптимизации

Swift: 7 секретов оптимизации 

Обзор 7 функциональностей Swift для создания качественного кода: ключевое слово indirect, атрибут @autoclosure, свойства Lazy и другие.
Шаблоны проектирования распределенных систем и не только

Шаблоны проектирования распределенных систем и не только

Изучим преимущества и недостатки типовых шаблонов распределенных систем и микросервисов. Рассмотрим также не связанные с ними, но интересные концепции.
python

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

Неделю назад я поняла, почему испытывала неприязнь к Bitcoin. У меня не было его, и я не понимала как он работает. Я начала изучать...
Python и Java: комплексное сравнение двух популярных языков программирования

Python и Java: комплексное сравнение двух популярных языков программирования

Python или Java? Какой язык выбрать для создания успешных проектов? Однозначного ответа на эти вопросы нет, поскольку и Python, и Java обладают как достоинствами, так и недостатками. Сегодня поговорим о сильных и слабых сторонах двух популярных языков программирования.
Основы CI/CD

Основы CI/CD

В современной компании процесс разработки редко обходится без систем непрерывной интеграции и доставки. Разберемся, как они работают и почему они так важны для бизнеса.
25 основных вопросов для собеседования с Android-разработчиком. Часть 2

25 основных вопросов для собеседования с Android-разработчиком. Часть 2

Техническое собеседование - важная часть найма разработчика Android-приложения. Продолжаем рассматривать частые вопросы на собеседованиях по Android-разработке.
Реализация односвязного списка в Golang

Реализация односвязного списка в Golang

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

Байт-код JVM: манипулирование и инструментация

Манипулирование байт-кодом JVM и его инструментация  -  техники, позволяющие максимально оптимизировать Java-приложения и входящие в арсенал каждого продвинутого разработчика. Узнайте о широких возможностях этих техник, сложностях их применения и лучших практиках.
Golang

Почему мы создаем инфраструктуру машинного обучения в Go, а не в Python

Ни для кого не секрет, что Python является наиболее востребованным языком для проектирования машинного обучения. В то время как R, C++ и Julia имеют...
Android

Новое в Android 11

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

20 фрагментов Python, которые стоит выучить прямо сегодня

Python — язык программирования без лишнего синтаксиса. Читаемость и простота дизайна — две основные причины его огромной популярности. Как говорится в дзене Python: Красивое лучше, чем уродливое.Явное лучше, чем неявное. Вот...
Как PyPy ускоряет Python до уровня C?

Как PyPy ускоряет Python до уровня C?

Обзор PyPy, быстрого интерпретатора Python: улучшение производительности программы без изменения кода!
Руководство по наиболее востребованным базовым командам SQL

Руководство по наиболее востребованным базовым командам SQL

Изучим основные команды и операторы - базовые строительные блоки MySQL, применяемые в запросах к базе данных, а иногда и самостоятельно. Сохраните себе в закладках эту шпаргалку по SQL.
Извлечение текста из PDF-файлов с помощью Python: исчерпывающее руководство

Извлечение текста из PDF-файлов с помощью Python: исчерпывающее руководство

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

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

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

Функциональные возможности систем типов Julia и Rust

Я твёрдо убеждён, и многие со мной в этом согласятся, что прекрасным началом разработки программы является выявление подходящих представлений реальной проблемы, которую мы пытаемся...
Комбинаторы парсеров: от parsimmon до nom (Typescript → Rust)

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

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

Распознаём 50 видов текста на C++ с Plywood

Посмотрим на скромный текстовый файл: Этот файл может содержать удивительное количество различных форматов. Текст может быть закодирован как ASCII, UTF-8, UTF-16 (с прямым или обратным...
Как усилить электронные таблицы Google возможностями ChatGPT

Как усилить электронные таблицы Google возможностями ChatGPT

Предлагаем улучшить электронные таблицы Google с помощью ChatGPT и начать работать с ними по-новому: более качественно, продуктивно и творчески.
Как работают обобщения в Kotlin

Как работают обобщения в Kotlin

Краткое руководство по обобщениям в Kotlin: преимущества, принцип действия и значимость в создании оптимального кода.
Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 3

Глубокое погружение в Java: рефлексия и загрузчик классов. Часть 3

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

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

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

Создание интерфейсов RESTful API в Golang

Часть 1, Часть 2, Часть 3 В предыдущей статье мы говорили о создании «идеальной» настройки для Golang проекта. Теперь пришла пора найти для неё...
Julia

Стоит ли заменить Python на Julia?

В течение последних двух лет популярность интерпретируемого языка Python, который был написан на C, резко возросла. Хоть он и является полезным языком, который стал...
Java-библиотеки, которые повысят вашу производительность

Java-библиотеки, которые повысят вашу производительность

Время - деньги, так что повышая эффективность труда - вы экономите одно и помогаете преумножить второе. Расскажем о нескольких полезных библиотеках, с помощью которых вы сможете избавиться от шаблонного кода и сосредоточиться на разработке бизнес-логики.
Основы API Time для Java

Основы API Time для Java

Во многих языках программирования работа с датой и временем  —  непростая задача. Но, начиная с Java 8, JDK предоставляет новый API Time, полностью меняющий...
Топовые пакеты Python для очистки данных

Топовые пакеты Python для очистки данных

Многим кажется, что наука о данных сводится исключительно к разработке моделей машинного обучения и оценке технических показателей. Это не так - круг обязанностей гораздо шире. Специалисты работают над сбором, очисткой, анализом, пониманием данных и т. д. Разберем же наиболее эффективные инструменты Python, предназначенные для очистки данных.
Kepler.gl - инструмент для визуализации геоданных на Python

Kepler.gl — инструмент для визуализации геоданных на Python

Познакомимся с отличным инструментом Kepler.gl и с его помощью создадим веб-приложение для визуализации геоданных на Python.
Сделай сам  -  как автоматизировать прошивку смартфонов

Сделай сам  -  как автоматизировать прошивку смартфонов

Иногда выдается свободное время, когда можно смастерить что-нибудь полезное из старых гаджетов. Однажды я подумал… сколько добра пропадает! Ведь вся эта вычислительная мощность может быть...
Динамическое извлечение видеокадров в Android

Динамическое извлечение видеокадров в Android

Предлагаем пошаговое руководство по извлечению кадров из воспроизводимого видео в Android-приложениях с использованием ExoPlayer и MediaMetadataRetriever. Описанные здесь методы предлагают эффективные решения - будь то редактирование видео, анализ кадров или улучшение пользовательского опыта.
Android

Dynamic Feature Modules: навигация

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

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

Обширная экосистема Python содержит в себе пакеты, модули и библиотеки, которые можно использовать для создания собственных приложений. Некоторые пакеты и модули включены в Python...
Kotlin 1.5.30 и KMM/KMP

Kotlin 1.5.30 и KMM/KMP

Узнайте, почему специалисты называют Kotlin 1.5.30 поворотным моментом в мультиплатформенном программировании.
5 визуально эффектных программ для командной строки

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

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

На собеседование в Google через челлендж Python #1

Как-то раз я искал в гугле что-то насчёт Python, как вдруг всплыло приглашение принять участие в испытании по программированию от Google (так называемое foo.bar...
Java

Кто на свете всех сильнее - Java, Go и Rust в сравнении

Мне показалось интересным провести сравнение между Java, Go и Rust. Речь идет не о бенчмарке, а о сравнении таких характеристик, как размер выходного исполняемого...
Как создать простой планировщик событий в Go

Как создать простой планировщик событий в Go

Базовый рабочий механизм представляет собой следующее: запланированное событие добавляется в базу данных, из которой оно будет выполняться в определенное время. Другая задача будет запускаться...
Python

Лучшие практики Python для специалистов по обработке данных

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

Как я создавал систему для алгоритмического трейдинга на Rust и о чем сожалею

Вы когда-нибудь ныряли в бассейне с цепными пилами на дне? Не удивляйтесь, но что-то похожее можно испытать при первом погружении в Rust. Избежать подобного экстрима поможет ознакомление с опытом человека, решившего использовать Rust без предварительной подготовки.
OOP

Хитрости объектно-ориентированного программирования. Часть 6 SLAP для функций

Это мини-серия статей по написанию поддерживаемого объектно-ориентированного кода без лишней нервотрепки.  Предыдущие части: Часть 1, Часть 2, Часть 3, Часть 4 и Часть 5. Элементарные функции Должен признать: очень долгое...
Julia

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

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

Go — единственный выбор для бэкенд-разработчика?

Go впечатляет балансом свой простоты и мощи. Но можно ли его назвать "золотой клеткой" для бэкенд-разработчика? Способен ли он удовлетворить широкий спектр бэкенд-потребностей? Чтобы ответить на этот вопрос, оцените технические возможности языка Go.
Patterns for Writing Simple Code

4 лучших шаблона для написания простого кода

О шаблонах В этой статье речь пойдет о наборе шаблонов ООП, использующих простую композицию, а не наследование. Большинство шаблонов взяты из книги Gang of Four: Design Patterns....
Python

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

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

5 ключевых понятий Python и их магические методы

Введение Когда дело касается именования функций в Python, мы вольны использовать нижние подчеркивания, наряду с буквами и числами. Символы подчеркивания между словами особой роли не...
Flutter

5 причин выбрать Flutter в 2020 году

Что такое Flutter? Flutter — это платформенно-независимая технология Google для создания приложений, используемых на мобильных, настольных и веб-платформах. Официально она была представлена в декабре 2018 года и за...
Python

10 инструментов Python для работы с изображениями

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

Что нового в Jetpack

Android Jetpack — это набор библиотек, направленных на то, чтобы помочь вам легко писать высококачественные приложения, поддерживая более старые версии Android. Спустя два года после запуска...
5 способов выйти из вложенного цикла в Python

5 способов выйти из вложенного цикла в Python

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

Taipy: создание полнофункциональных приложений для работы с данными

Taipy - библиотека Python, предлагающая простые и быстрые способы создания полнофункциональных приложений для работы с данными. Узнайте, чем Taipy отличается от Streamlit и как с помощью Taipy создать простое, но эффективное приложение для работы с данными.
Три способа захвата скриншотов с помощью Selenium WebDriver

Три способа захвата скриншотов с помощью Selenium WebDriver

При работе с автоматизированными тестами в Selenium часто приходится делать скриншот веб-страницы или ее части. Это полезно, особенно при отладке ошибок или проверке согласованности...
Операционная система Android

Операционная система Android

Android  —  это операционная система с открытым исходным кодом, созданная для мобильных устройств на основе модифицированного ядра Linux. Эта ОС разработана консорциумом Open Handset...
3 инструмента для отслеживания и визуализации выполнения кода на Python

3 инструмента для отслеживания и визуализации выполнения кода на Python

Для чего нужны новые инструменты? Видели когда-нибудь такой вывод ошибок? 2 divided by 1 is equal to 2.0. Traceback (most recent call last): File "loguru_example.py", line...
7 фреймворков для работы с LLM

7 фреймворков для работы с LLM

Предлагаем детальное описание 7 фреймворков с открытым исходным кодом для развертывания и обслуживания LLM. Сравните особенности, преимущества, ограничения и затратность таких фреймворков, как vLLM, Text Generation Inference, OpenLLM, Ray Serve, CTranslate2 и MLC LLM.
Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Как настроить отдельные SSH-ключи для нескольких учётных записей GitLab

Перейдём сразу к делу. Допустим, у вас есть один GitLab для личных проектов и один для работы. Проблем не возникнет, пока не придётся работать...
Как на самом деле работает Git

Как на самом деле работает Git

В этой статье мы на реальном примере погрузимся во внутренние процессы Git. Если у вас еще не открыт терминал, то сделайте это, пристегните ремни...
Среда разработки Entity Framework в Docker

Среда разработки Entity Framework в Docker

Рассмотрим наглядный пример использования среды разработки Docker, который поможет разобраться в настройке и инициализации серверной базы данных.
Как создать форму текстового фона в Jetpack Compose

Как создать форму текстового фона в Jetpack Compose

Красивое оформление повышает привлекательность текста для пользователей. Сегодня расскажем, как с помощью Jetpack Compose "одеть" текст в фоновую форму.
Go: точечная вставка значения в структуру

Go: точечная вставка значения в структуру

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

10 рекомендаций, которые повысят производительность разработки на Flutter в 2023 году

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

Java для начинающих. Часть 1 из 4

Часть 1, Часть 2, Часть 3, Часть 4 Данные статьи помогут легко и быстро разобраться в концепциях и программировании на Java. Даже при нулевых знаниях о...
Функциональные возможности Python, которые часто игнорируют

Функциональные возможности Python, которые часто игнорируют

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

Очереди с приоритетом в Java

В Java включает очереди с приоритетом в рамках Collections Framework. Очередь приоритетов называется так по одному из главных способов применения  —  планирования работы в...
UseCase: лучшие практики чистой архитектуры и красные флаги

UseCase: лучшие практики чистой архитектуры и красные флаги

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

Поврежден жесткий диск? Python спешит на помощь!

Невероятная и поучительная история о том, как смекалистый программист спас результаты годовой работы с помощью простого скрипта на Python, когда все другие инструменты оказались бессильны.
AWS

Создание бесчисленных областей предпросмотра в AWS с помощью Lambda@Edge

Целью большинства команд веб-разработки является переход к непрерывному развёртыванию, для которого одним из существенных факторов может послужить наличие у каждой ветви функции собственного URL...
iOS

Как сделать кастомные шорткаты для Siri

Шорткаты в Сири Это новая эппловская фича для iOS 12. Ее анонсировали во время приветственной речи на WWDC 2018, и вот уже этой осенью ею можно...
Kotlin изнутри: как работают inline-функции

Kotlin изнутри: как работают inline-функции

Inline-функции могут как и увеличить код, так и повысить его производительность. Чтобы с выгодой использовать этот Kotlin-инструмент, необходимо понять принцип его действия, а заодно разобраться в том, зачем нужен crossinline и как работает reified.
Магия совместимости XML и Jetpack Compose

Магия совместимости XML и Jetpack Compose

Статья подскажет, как перевести проект с представлений XML на Jetpack Compose и воспользоваться всеми его преимуществами.
Разработка приложения на основе генеративного ИИ в React IDE

Разработка приложения на основе генеративного ИИ в React IDE

Создание приложений сопряжено с проблемами, способными замедлить процесс разработки и затруднить совместную работу. Codux  -  бесплатная визуальная среда разработки для приложений React + TypeScript  -  сделает этот процесс намного проще и эффективнее.
Отладка зависимостей в Gradle

Отладка зависимостей в Gradle

Узнайте, как с помощью dependencyInsight отлаживать версии транзитивных зависимостей в Android-приложении. Переопределение транзитивных версий зависимостей позволит избежать конфликта версий, ведущим к сбоям работы приложений.
Android

Чистый код в Android

Прежде чем начать писать код, стоит разобраться в том, как им управлять, и как сделать его масштабируемым. Как сказал Дядя Боб в своей книге: Вы читаете...
Оптимизация кода задачи на миллиард строк — ускоряем запуск в 87 раз

Оптимизация кода задачи на миллиард строк — ускоряем запуск в 87 раз

Поэтапно увеличим производительность реализации парсера для огромного файла. Устраним копии и баги, воспользуемся профилировщиком, хеш-картой линейного зондирования, микрооптимизациями, распараллелим код.
Golang

Примитивы синхронизации в Go

Изучаем Mutex, WaitGroup и Once с примерами В данной статье кратко рассмотрим некоторые конструкции низкоуровневой синхронизации, которые наряду с горутинами и каналами предлагает нам один...
Что важнее — промпт-дизайн или промпт-инжиниринг?

Что важнее — промпт-дизайн или промпт-инжиниринг?

В сфере языковых моделей разграничивают такие аспекты, как “промпт-дизайн” и “промпт-инжиниринг”. Первый относят к искусству, второй  —  к науке. Какой же из них важнее? Ответ на этот вопрос определит как настоящее, так и будущее человекоориентированного ИИ.
Как стать разработчиком Go: в 6 шагах от карьеры

Как стать разработчиком Go: в 6 шагах от карьеры

Golang (иначе Go) является востребованным языком программирования, особенно у тех, кто работает с продуктами Google. Он используется многими крупными компаниями такими, как Uber, Medium,...
Clean Architecture в Android для начинающих

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

Даже до того, как я начал специализироваться на Android, меня, как разработчика, всегда восхищал хорошо структурированный, чистый и понятный в целом код. “Задача архитектуры программного...
3 функции Python Matplotlib: повысьте информативность визуализации данных

3 функции Python Matplotlib: повысьте информативность визуализации данных

Форма представления так же важна, как и содержимое. Python Matplotlib поможет вам в создании понятных и лаконичных визуализаций.
Отображение превью камеры с помощью PreviewView

Отображение превью камеры с помощью PreviewView

Расскажем, почему лучше использовать класс PreviewView для отображения превью в приложениях для камеры на Android.
Golang

Go: трассировочный пакет

ℹ️ В статье речь идёт о Go 1.13. В Go имеется инструмент для проведения трассировки и получения подробного представления о работе программы во время её...
AWS

LocalStack: запуск AWS на локальном компьютере

Более миллиона компаний по всему миру создают приложения на облаке AWS. Одна из проблем при работе с облаком — это огромное количество сервисов в распоряжении, а...
3 способа мониторинга изменений лог-файлов в Java

3 способа мониторинга изменений лог-файлов в Java

Научимся отслеживать изменения файлов тремя разными способами: запланированная задача + File.lastModified, WatchService и Apache Commons-IO.
Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации

Создание кастомизированного кругового загрузчика в Jetpack Compose: изучение Android Canvas и анимации

Простое руководство поможет вам создать в Jetpack Compose кастомизированный круговой загрузчик. Вы также узнаете, как добиться переключения между тремя типами круговой анимации, манипулируя основным и дополнительным цветами.
Типы функций и функции высшего порядка на Go

Типы функций и функции высшего порядка на Go

Рассмотрим объекты первого класса, их влияние на производительность. Изучим варианты использования с примерами: обратные вызовы, анонимные функции, замыкания, композиция функций, обработка ошибок, тестирование.
Python

4 ситуации из жизни лямбда-функций в Python

Начнем с того, что лямбда-функции не пользуются особой популярностью у программистов Python, да и у меня они вызывают смешанные чувства. Новичкам непросто в них...
22 сниппета на Python для повседневных задач

22 сниппета на Python для повседневных задач

В этом кратком списке методов изучим фрагменты кода, которые пригодятся в работе со списками, словарями, строками, в управлении файлами. Выведите свои навыки написания кода на новый уровень!
Интеграция Google Maps в приложение Jetpack Compose

Интеграция Google Maps в приложение Jetpack Compose 

Научимся интегрировать Google Maps в приложение Jetpack Compose с помощью библиотеки Maps Compose. В связи с этим рассмотрим ряд требуемых компонуемых функций и параметров.
Python

Почему Python не станет языком программирования будущего

Причины популярности Python Успех Python отражается в тенденциях Stack Overflow, рассчитанных по количеству тегов в постах, что является довольно хорошим показателем популярности языка, учитывая размер...
SQL - язык программирования? 10 аргументов "за" и "против"

SQL — язык программирования? 10 аргументов “за” и “против”

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

Интерактивное управление в Jupyter Notebooks

Вряд ли найдётся занятие бесполезнее, чем вновь и вновь запускать одну и ту же ячейку, немного меня значение входных данных и параметров. Несмотря на...
Эволюция кортежей в C#

Эволюция кортежей в C#

Углубимся в изучение кортежей в C#. Посмотрим, как они совершенствовались от версии к версии и обрастали новыми эффективными возможностями.
С

[C++] часть 3: синхронизация потоков в ресторане

Часть 1, Часть 2, Часть 3 Мы уже видели, как разные потоки с помощью мьютекса спокойно могут получать доступ к общим данным. Но что делать,...
Как скрывают секретные ключи и пароли в Python

Как скрывают секретные ключи и пароли в Python

Всякий раз, загружая свой проект или код на GitHub с общедоступным репозиторием, нужно помнить о безопасности. Ведь пользователи, которые запустят файл, содержащий секретные ключи...
Rust

Кросс-компиляция программ Rust для запуска на маршрутизаторе

Вы никогда не задумывались о том, чтобы запустить на домашнем роутере какой-нибудь пакет Ubuntu? Для этого можно было бы использовать контейнеры LXC. Всё это...
Java

Синхронизация в Java. Часть 2

Часть 1, Часть 2 Состояние гонки Вновь приветствую вас в теме “Синхронизация в Java”! Надеюсь, что вы прочли мою предыдущую статью. Давайте разберёмся, что же такое состояние...
Составные типы данных на Golang

Составные типы данных на Golang

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

Создание CLI в Rust для исполнения гитарных аккордов

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

Правило 3-х часов: сколько времени в день отводить для работы

Средняя продолжительность человеческой жизни абсурдно коротка - всего 4000 недель. Как же распоряжаться нашим самым дефицитным, но самым ценным ресурсом? Правило трех часов - один из ключей к осмысленной и продуктивной жизни. Оно поможет вам установить новые отношения со временем и с самой жизнью.
Почему не стоит использовать localStorage

Почему не стоит использовать localStorage

Все еще используете localStorage? Тогда ознакомьтесь с IndexedDB - разумной альтернативой localStorage. IndexedDB - оптимальный инструмент для постоянного хранения данных - облегчит вам жизнь, особенно при использовании библиотеки-обертки.
Android

Внедрение зависимостей на Android с помощью Hilt

Внедрение зависимостей (DI) — это метод, широко используемый в программировании и хорошо подходящий для Android-разработки. При нем зависимости предоставляются классу, а не создаются самостоятельно. Следуя принципам...