habrahabr
OpenAPI станет проще: готовится версия 4.0

Сегодня OpenAPI считается стандартом де-факто для описания программных интерфейсов. Основной смысл этих спецификаций в том, что и документация, и серверный интерфейс API генерируются автоматически на основании схемы OpenAPI. Во-первых, это гарантирует актуальность документации и её соответствие реально используемым методам. Во-вторых, сильно облегчает жизнь потребителям API, у которых автоматически генерируется клиентский код. До появления расширения OpenAPI DevTools проектировать схему Op…

  • четверг, 28 декабря 2023 г. в 00:00:25
habrahabr
Распаковываем архив gzip вручную

В этой небольшой статье мы создадим архив gzip, после чего разберём его внутренние составляющие и просмотрим начинку. Избегая лишней сложности, в качестве содержимого для сжатия мы просто запишем в изначальный файл 8 символов a. $ echo "aaaaaaaa" > test.out $ xxd test.out 00000000: 6161 6161 6161 6161 0a aaaaaaaa. Файл получился размером 9 байт — 8 символов a плюс перевод каретки в конце. Теперь архивируем его. Сделаем это командой gzip -1, поскольку так мы задействуем самый …

  • четверг, 28 декабря 2023 г. в 00:00:24
habrahabr
Тайна образования Луны, двойных астероидов и лунной воды

В 1988 году в Крымской астрофизической обсерватории доктор физико-математических наук Валентина Владимировна Прокофьева-Михайловская со своей группой начала телевизионные наблюдения блеска астероидов. Телевизионный комплекс был смонтирован на телескопе с диаметром зеркала 0.5 метра. Характерная переменность, зарегистрированная у астероида (87) Сильвия, доказывала, что этот астероид имеет спутник – что и было объявлено в статье 1992 года Прокофьевой В.В. и Демчика М.И. в «Астрономический журнал…

  • четверг, 28 декабря 2023 г. в 00:00:23
habrahabr
«Квантовая» диаграма Виенна: как нас дурит научпоп

Хорошо, когда нам простыми словами объясняют сложные вещи, правда? Особенно когда речь про такие неочевидные эффекты как квантовая запутанность, суперпозиция и прочее квантовое. А как здорово, когда квантовый эффект можно увидеть своими глазами! Нам всего-то нужны три простые советские поляризующие пластинки......и вот, вот это серое окошко на пересечении пластинок—квантовый эффект! По крайней мере, так твердит нам научпоп. This is weirder than you think! Но это неправда, и я расскажу почему.В…

  • четверг, 28 декабря 2023 г. в 00:00:22
habrahabr
Почему B-деревья быстрые?

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.ПроисхождениеЧтобы понять B-дерево, давайте снач…

  • четверг, 28 декабря 2023 г. в 00:00:20
golang
Логирование в Golang

Привет, Хабр!Как в Golang логирование поживает? Рассмотрим этот вопрос в статье.Рассмотрим основные библиотеки и подходы.Логирование в GoCтандартная библиотека log дает вам все необходимое для логирования без внешних зависимостей.Для начала работы с log достаточно импортировать пакет и использовать его функции:import "log" func main() { log.Println("This is a log message!") }Этот код выведет сообщение вместе с датой и временем его записи. Выглядит достаточно просто.Функции…

  • четверг, 28 декабря 2023 г. в 00:00:17
javascript
Astro vs Next.js

Astro vs Next.js: Подробный анализ для разработчиковВведение в Astro и Next.jsВ этой статье мы поговорим про основы Astro и Next.js — двух надежных, богатых функциями JavaScript‑фреймворков. Мы обсудим их функции, цели и отличительные характеристики, предоставляя подробный обзор обоих решений.Обзор Astro Astro — это современный веб‑фреймворк, построенный на основе React, который изначально предназначался для создания статических сайтов. В отличие от типичных конструкторов сайтов, он позволяет …

  • четверг, 28 декабря 2023 г. в 00:00:12
javascript
KPI разработчика: какие метрики можно использовать и эффективно ли их внедрение

KPI (Key Performance Indicators) – ключевые показатели эффективности сотрудника, которые позволяют оценить достижение поставленных целей и задач, результативность работы в компании. С продажниками все понятно. Их эффективность можно измерить по сумме прибыли, которую они ежемесячно приносят компании. А вот с IT-специалистами дела обстоят сложнее. Как оценить разработчика с точки зрения ключевых показателей эффективности? Какие KPI можно внедрить? Об этом я и расскажу.KPI для разработчиков – бы…

  • четверг, 28 декабря 2023 г. в 00:00:11
javascript
Oxlint — более быстрая альтернатива ESLint

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер Oxlint, основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со своим предшественником ESLint?Компилятор OxcКомпилятор JavaScript Oxidation (Oxc) — это набор высокопроизводительных инструментов для языка JavaScript, написанных на Rust. Акцент сделан на создании основных инструментов комп…

  • четверг, 28 декабря 2023 г. в 00:00:10