habrahabr
Обнаружены явные признаки биологической активности за пределами Солнечной системы

17.04.2025, Сара Коллинз, University of CambridgeЭкзопланета K2-18b в представлении художника. Credit: A. Smith/N. MandhusudhanАстрономы обнаружили самые многообещающие признаки возможного существования биосигнатуры за пределами Солнечной системы, хотя они по-прежнему проявляют осторожность.Используя данные космического телескопа Джеймса Уэбба (JWST), астрономы под руководством Кембриджского университета обнаружили химические следы диметилсульфида (DMS) и/или диметилдисульфида (DMDS) в атмосфер…

  • пятница, 18 апреля 2025 г. в 00:00:14
golang
Дело о несрабатывающем тайм-ауте. Проблемы гистограмм Prometheus

Привет! Меня зовут Олег Стрекаловский, я старший разработчик в команде корзины маркетплейса. Сервис корзины Ozon отвечает за хранение корзин покупателей и за отрисовку соответствующего экрана в приложении и на сайте. Слежение за стабильностью сервиса — важная задача. В этой статье я расскажу о нюансах интерпретации данных, которые предоставляет система мониторинга Prometheus. Если вы тоже часто всматриваетесь в графики, чтобы понять, как чувствует себя сервис, эта статья для вас.С чего всё нача…

  • пятница, 18 апреля 2025 г. в 00:00:13
golang
go:linkname в Go

Привет, Хабр!В этой статье рассмотрим //go:linkname — неофициальной, но невероятно мощной фиче Go, которая позволяет вызывать приватные функции и обращаться к закрытым переменным других пакетов. Что делает //go:linknameДиректива //go:linkname позволяет присвоить локальной функции или переменной имя из другого пакета — даже если эта сущность не экспортирована (т.е. начинается со строчной буквы).Формат://go:linkname localname importpath.nameЧтобы это работало, нужно:Импортировать unsafe (импорт …

  • пятница, 18 апреля 2025 г. в 00:00:11
golang
Срезы в Go

Срезы (slices) в Go могут показаться простыми при первом знакомстве, но их эффективное использование требует понимания внутреннего устройства и особенностей работы с памятью. Многие разработчики сталкиваются с путаницей между понятиями длины и емкости срезов, что может привести к неэффективному использованию памяти или даже утечкам. Важно разобраться, как эти концепции работают при выполнении базовых операций: инициализации, добавлении элементов, копировании и нарезке. В этой статье мы рассмотр…

  • пятница, 18 апреля 2025 г. в 00:00:10
golang
Разработка CLI с помощью пакета Cobra: как не наступить на змею при написании

Привет, Хабр. Меня зовут Иван Добряев, я разработчик программного обеспечения в Центре технологий VK. Сегодня хочу поделиться опытом по одной достаточно прикладной, но весьма увлекательной теме — разработке командной строки (CLI) на Go.Платформа для инференса ML-моделей (inference platform) у нас молодая, ей всего лишь полгода, и мы активно расширяем команду. Так что, если вы хотите писать сервисы на Go с нуля, то приходите к нам, у нас найдутся задачи на любой вкус.Напомню, что 24 апреля пройд…

  • пятница, 18 апреля 2025 г. в 00:00:09
golang
100 % cover, 0 % спокойствия

Привет, Хабр! Сегодня я хочу поговорить о том, как мы все иногда очарованы показателями тестового покрытия в Go — и как же часто эти проценты лукаво нам подмигивают. Казалось бы, влепили go test -cover, получили любимые цифры, приближающиеся к 100%, и можно выдохнуть. Но, увы, не всё так радужно, как хочется. На самом деле заветная сотка покрытия далеко не всегда означает, что ваш код действительно покрыт тестами.Как работает go test -coverДля начала вспомним, что происходит, когда мы запускаем…

  • пятница, 18 апреля 2025 г. в 00:00:08
golang
Пробуем Codex CLI от OpenAI для доработки ХрюХрюКара

Привет Хабр!Пару дней назад я опубликовал статью про ХрюХрюКар - телегам-бот для борьбы со стоянкой автомобилей на зелёных зонах. Проект с открытым исходным кодом.За два дня ко мне обратилось несколько сторонников с просьбой добавить их города. Но вот незадача: у меня была возможность через админ-панель Django править данные в базе, но об этом кеш сервера не узнает (основной бекэнд на Go). В результате приходилось добавлять данные и перезагружать контейнеры с go-бекэндом вручную.Основные сервер…

  • пятница, 18 апреля 2025 г. в 00:00:07
javascript
@teqfw/di: Coding JavaScript like a Java boss

Эта статья для тех, кто, как и я, хочет программировать на JavaScript в Java-стиле. Для тех, кто находит вдохновение в балансе между строгой архитектурной дисциплиной Java и творческой свободой JavaScript. Ранее я уже публиковал "философию" своей платформы TeqFW, а также инструкции для LLM (раз, два) по оформлению es-модулей в приложениях, написанных в стиле TeqFW. На этот раз я делюсь инструкцией для LLM по использованию внедрения зависимостей в таких приложениях.Для тех, кто не совсе…

  • пятница, 18 апреля 2025 г. в 00:00:06
javascript
Книга: «Создание фронтенд-фреймворка с нуля»

Привет, Хаброжители! Мы используем фронтенд-фреймворки каждый день. А понимаем ли мы, что происходит там, под капотом? Книга Анхеля Солы Орбайсеты «Создание фронтенд-фреймворка с нуля» предлагает уникальный подход к изучению этой темы — через практическое создание собственного фреймворка. Автор убежден, что лучший способ понять принципы работы фреймворков — самостоятельно реализовать их ключевые механизмы. В 2007 году, когда только начиналась карьера Орбайсеты в веб-разработке, современные фр…

  • пятница, 18 апреля 2025 г. в 00:00:04