Почему каждый разработчик должен потерпеть неудачу (хотя бы раз)

Почему каждый разработчик должен потерпеть неудачу (хотя бы раз)

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

Под ненадежным замком: скрытые риски встроенных менеджеров паролей

Все еще доверяете браузеру хранение всех своих паролей? Считаете это удобным и безопасным решением? Ощущение надежности может вас обмануть. Узнайте, почему встроенный менеджер паролей — слабое звено в защите вашей цифровой жизни.
Асинхронная опасность: mmap неявно блокирует ввод-вывод

Асинхронная опасность: mmap неявно блокирует ввод-вывод

Отображение файла в память для чтения — звучит красиво: превратить неудобные вызовы чтения и ручную буферизацию в простое индексирование памяти… но под капотом оно блокирует ввод-вывод, превращает массивы байтов &[u8] в асинхронную опасность и делает "конкурентный" асинхронный код фактически синхронным!
Не смотрите свысока на отладку через печать

Не смотрите свысока на отладку через печать

Люди склонны пренебрежительно относиться к отладке через печать, ведь она не использует сложные инструменты. Не использует отладчики, изысканные логгеры или профайлеры. А используется скромная инструкция print. Или функция print(), console.log() или println!(), или как она называется на вашем языке.
Как не потерять полгода работы из-за отказа диска

Как не потерять полгода работы из-за отказа диска

Пока разработчики-одиночки годами пересылают друг другу ZIP-файлы, AAA-студии пользуются бесплатной системой контроля версий. Вы тоже можете освоить ее базовые принципы за 30 минут, чтобы навсегда обезопасить свой проект от любых форс-мажоров.
Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ

Новая большая речевая модель Watson от IBM предоставит голос генеративному ИИ

Приготовьтесь к выпуску Watson LSM - новых больших речевых моделей, способных преобразовывать длинные аудиозаписи в готовые тексты. Пока они доступны только в закрытой бета-версии, но, войдя в массовое производство, смогут обеспечить бесперебойную работу с клиентами.
Как создать собственную библиотеку на Kotlin Multiplatform

Как создать собственную библиотеку на Kotlin Multiplatform

Сделаем простой, но эффективный Crashlytics для обработки навигационных цепочек и логов сбоев приложений. Смоделируем условия реального сценария с длительным сохранением логов.
Язык запросов Lisp Query Notation

Язык запросов Lisp Query Notation

Автор делится своей разработкой — альтернативой sed и awk для любителей Lisp. В материале вы найдете примеры применения языка, в частности для JSON, и ссылку на более техническое описание в формате PDF.
Как мы создавали автоматизированное тестирование с помощью Playwright

Как мы создавали автоматизированное тестирование с помощью Playwright

Переход на автоматизированное тестирование позволяет ускорить выпуск продуктов, повысить их качество, сэкономить усилия разработчиков и сохранить доверие клиентов. Ознакомьтесь с опытом команды Tempest по освоению автоматического тестирования веб-приложений с использованием фреймворка Playwright. 
Привет из 1984 года. Я опять решил попробовать программировать на BASIC на VIC 20 впервые за 40 лет

Привет из 1984 года. Я опять решил попробовать программировать на BASIC на VIC 20...

Спустя 40 лет я снова включил свой старый VIC 20 — компьютер, на котором учился программировать в 11 лет.  А потом решил познакомить с ним свою дочь — представительницу поколения iPad и TikTok. Получится ли у нас диалог через четыре десятилетия цифровой эволюции?
EdgeCloud: вывод генеративного ИИ на новый уровень с помощью конвейеризации моделей

EdgeCloud: вывод генеративного ИИ на новый уровень с помощью конвейеризации моделей

Знакомьтесь с EdgeCloud - первой гибридной платформой для облачных вычислений, которая реализует операции МО для настройки, управления и поддержки конвейеров моделей ИИ. Получите удовольствие от использования демонстрационной площадки EdgeCloud для преобразования текста в изображение.
Предварительный просмотр Jetpack Compose-анимации по ключевым кадрам в Android Studio

Предварительный просмотр Jetpack Compose-анимации по ключевым кадрам в Android Studio

Умело созданные интерактивные элементы способствуют улучшению пользовательского опыта. Сегодня создадим анимацию по ключевым кадрам в Jetpack Compose и просмотрим ее в Android Studio Koala.
Я могу назвать себя "экспертом по ИИ", а вы?

Я могу назвать себя «экспертом по ИИ», а вы?

Страшилки об искусственном интеллекте заполонили интернет. Но кому следует их бояться? Тем, кто создает модели ИИ, новые алгоритмы, сайты и приложения на основе ИИ, или тем, кто только использует все это? Пока еще искусственный интеллект не захватил наш мир, определитесь, кто вы - созидатель или потребитель. 
Оптимизация кэширования в TrendNow: объединение OkHttp Cache и базы данных Room. Часть 7

Оптимизация кэширования в TrendNow: объединение OkHttp Cache и базы данных Room. Часть 7

В этой части предлагается эффективное решение по оптимизации кэширования на стороне клиента: объединение OkHttp Cache и базы данных Room. OkHttp Cache будет управлять кэшем ответов, а база данных Room - сохранять метаданные кэша и контролировать истечение срока действия кэша.
Для переписывания программного обеспечения недостаточно нового кода

Для переписывания программного обеспечения недостаточно нового кода

Очевидное решение — доверить рефакторинг команде, создавшей проблему, — часто оборачивается порочным кругом. Главный вопрос не в том, кто перепишет код, а в том, почему одна и та же команда раз за разом наступает на те же грабли — и как разорвать этот порочный круг.
Почему Cloudflare не использует контейнеры в инфраструктуре платформы Workers?

Почему Cloudflare не использует контейнеры в инфраструктуре платформы Workers?

Автор отвечает на вопрос в заголовке, а также рассказывает об архитектуре изолированных процессов (изолятов) и о ее ограничениях. Конечно же, материал посвящен проблемам безопасности, ресурсоемкости и задержки в процессе работы.
Почему трудно писать полезные библиотеки

Почему трудно писать полезные библиотеки

Легко представить, как выглядит полезный продукт, гораздо сложнее его произвести. Вот почему стоит поговорить о том, как создаются полезные библиотеки, которых, к сожалению, не так много, как хотелось бы. 
Управление памятью в Ruby on Rails

Управление памятью в Ruby on Rails

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

Ранние версии кодовых баз популярных проектов: как все начиналось

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

Среда разработчика в монорепозитории Stripe

В лонгриде автор делится подробностями организации работы в международной платежной системе Stripe, где, конечно же, вопросы актуальности и безопасности среды, а также пригодности к оперативным изменениям и исправлениям стоят особенно остро.
VPR — первый процессор на RISC-V от Nordic

VPR — первый процессор на RISC-V от Nordic

Дениэл Магнум — главный инженер-программист платформы построения смешанных облачных решений Upbound разбирает загрузку нового процессора на архитектуре RISC-V. Он заглядывает в формальное описание устройств, код на C, ассемблерный код загрузки и знакомит читателей с межархитектурным взаимодействием различных наборов процессорных инструкций. Подробности читайте ниже.
7 факторов, которые помогут улучшить UX-дизайн

7 факторов, которые помогут улучшить UX-дизайн

Чтобы улучшить UX, нужно знать «слабые места» интерфейса. Есть типичные «проблемные зоны», на которые дизайнеру следует обращать особое внимание. Обычно именно здесь кроются причины...
Python

Контейнеризация в Python. Часть 2

Часть 1, Часть 2 Это вторая статья серии, посвящённой контейнеризации разработки в Python. В Части 1 мы уже разобрали лучшие практики контейнеризации Python-сервиса. Здесь мы...
Как быстро создать и развернуть веб-приложение на Python

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

Все, что вам потребуется для разработки и развертывания простейшего приложения, - знание языка Python и библиотеки Streamlit. Это пошаговое руководство поможет не только быстро создать приложение, но и поделиться им с друзьями.
Зачем писать компилятор Rust на C — личный опыт

Зачем писать компилятор Rust на C — личный опыт

Программист Джон Нанли пишет компилятор Rust на чистом C. По его словам, там нет никакого C++. Ничего, кроме чистого C. Но зачем? Сегодня вспоминаем, что такое бутстрепинг, и знакомимся с простейшим компилятором сырых байтов в ассемблер. Более того, автор считает, что для бутстрепинга Rust никакие затраты не будут слишком велики.
Продвинутые техники SQL

Продвинутые техники SQL

Подробно объясним используемые методы  -  концептуально и с практическими примерами. Создадим аналитические SQL-запросы PostreSQL, используя таблицу видеоигр из Kaggle.