Все потоки
Поиск
Написать публикацию
Обновить

Бэкенд

Сначала показывать
Порог рейтинга

Как построить эффективную стратегию бэкапа

Любая стратегия бэкапа проверяется не в теории, а в проде. В блоге «Хайстекс» вышла первая статья, где QA-инженер Юлия Воробьёва показывает как построить систему резервного копирования с Хайстекс Акура и S3-хранилищем Selectel. Реальный кейс и пошаговый разбор: от выбора хранилища до восстановления инфраструктуры. Всё глазами автора, который сам настраивал и тестировал.

Что внутри:

  • Рабочая архитектура. Одно целевое облако с двумя подключениями: к площадке восстановления (поднимаем ВМ при необходимости) и к объектному хранилищу — S3 Selectel, где лежат точки восстановления.

  • Агенты. Внешние для VMware и внутренние в ОС конкретной ВМ. Репликация односторонняя, по защищенному каналу и без просадок продакшена.

  • Расписания и RPO. Расписание от непрерывных запусков до Unix Crontab. Контроль исполнения на стороне Акуры, человеческий фактор «забыл сделать бэкап» исключен. 

  • Retention. Политика на уровне ВМ, группы или всего клиента, под любые контуры и SLA.

  • Хранение в S3. Данные режутся на настраиваемые чанки с метаданными; нулевые блоки не сохраняются, таким образом экономим место и деньги.

  • Восстановление. Предсказуемые сценарии: полный подъем ВМ через Cloud Site и файловое восстановление «на месте» из S3. При необходимости возможны RAW-экспорт и failback.

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

Теги:
+2
Комментарии0

API для получения прогнозов по крипторынку от обученных ML-моделей допиливается. Пока только одна пара будет, но зато подъедет и графоний. То что вы видите, скорее всего, пойдет в прод, мне нравится.

Теги:
+11
Комментарии4

Давно хотел это написать, но как будто не было триггера и вот в пятницу я его поймал. Объясняю. Хочу выразить благодарность, чуть-чуть извиниться перед разработчиками Intellij Idea и простить их. Вот прям от души.

Когда-то в детстве я 3 года отучился игре на фортепиано, но переходный возраст (пиво, футбол и девки) победил и я ушёл из музыкальной школы. К чему я.. я программист уже 8 лет и я не встречал ничего прекрасней чем Intellij Idea.. ты не разрабатываешь - ты играешь на рояле... это автодополнение или как его назвать, подсказки, я просто в шоке. Не всегда угадывает что я хочу, но часто. Триггер я поймал когда добавлял новый объект в enum вида ERROR_INFO("text") и пока строчил название объекта представлял как лезу в переводчик, чтобы точно грамотно написать на английском текст, а Идея предложила мне текст, который я хотел написать, причём не все слова были в названии объекта.. как итог я прям счастлив от такой супер приятной мелочи (не факт что мелочи) и вот спустя два дня строчу этот пост, т.к. я прям обязан это сделать, не знаю почему. Я понимаю, что нейросети, но один и тот же салат Цезарь каждый повар делает по разному.

То, от чего я прям балдею:

  • shift + f6, переименовывает всё и везде - просто песня

  • ctrl + shifr + backspace - показывает всё что я поменял в классе, а не я глазами ищу строчки

  • ctrl + e - показывает классы в порядке убывания по использованию, не ищешь в браузере слева

  • в браузере жмёшь на значок цели вверху и тебе показывается где класс лежит буквально

  • в разделе гита смотришь изменения класса, нажимаешь f4 и тебе открывается этот класс

  • супер поиск ctrl+shift+f или просто два шифта

  • работа с базами данных просто сказка (даже Дата Грип редко открываю, его тоже люблю)

  • офигенные приколы типа ctrl+d с добавлением ниже второй такой же строки, удалить строку со смещением наверх shift+del

  • быстрый переход с ошибки на следующую ошибку с помощью f2

  • ctrl+p показать все ожидаемые параметры в методе

  • ctrl+shift+вверх/вниз гоняет как строку, так и целый кусок :)

  • и ещё дофига всего!!

В общем я счастлив, что моё хобби и работа это одно и то же, а то что есть Идея счастье увеличивает. Извиниться хочу, что я ни разу не покупал подписку. Она мне досталась после прохождения какого-то курса по Java, а сейчас вообще не могу купить, т.к. технически это невозможно из РФ. Здесь я прощаю Jet Brains, без пафоса, понять можно наверное (и на царей жёны давили :) Как смогу - обязательно куплю подписку, потому что это охренеть какой труд и верх перфекционизма для меня как для такого же любителя прекрасного!! И я хотел бы знать - это один такой перфекционист у них всё таки, или целая команда (в плане, что Идея именно такая какая есть). Кто этот "фундамент" образа?

Кто скажет, что пост рекламный - вы не правы! Просто признался в любви IDE :)) и стало легче! Пашем дальше..

Теги:
+6
Комментарии4

Хватит сидеть сложа лапки — пора прокачивать навыки программирования. Мы как раз собрали подборку классных курсов по самым разным направлениям разработки — вам остается только выбрать и начать учиться.

Frontend-разработка. HTML, CSS, JavaScript и фреймворки вроде React или Vue.

Backend-разработка. Python, Java, Node.js, PHP и базы данных (MySQL, MongoDB).

Fullstack-разработка. Backend-язык (Python, Java, PHP, Node.js), JavaScript/TypeScript и один из фреймворков (React, Vue или Angular).

Еще больше курсов

Теги:
+7
Комментарии0

Запись вебинара «От кода до запуска: российский стек для Java — Axiom JDK и OpenIDE» доступна для просмотра

Вебинар прошёл, а воспоминания запись осталась.

Если вы не успели на вебинар, но очень хотели, то не переживайте! Мы всё записали, чтобы вы могли посмотреть в любое удобное время.

Что обсуждали на вебинаре:

  • Вызовы отечественной ИТ индустрии.

  • Портфолио Axiom JDK.

  • Регуляторика и соответствие стандартам.

  • РБПО: процесс создания доверенных Java продуктов.

  • Зачем OpenIDE разработчику и бизнесу.

  • В чём проблема собрать Intellij IDEA самостоятельно

  • Как будет развиваться OpenIDE.

Запись уже доступна на площадках.

Теги:
+1
Комментарии0

Компания «Форсайт» представляет новую версию своего флагманского продукта «Форсайт. Аналитическая платформа» 10.9!

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

Теперь в веб-версии платформы доступен поиск по командам меню в регламентных отчётах, а также ввод и согласование данных в бизнес-процессах через регламентные отчёты.

Работа с алгоритмами расчета в вебе станет более удобной благодаря новым возможностям по выравниванию объектов и настройке смешанного форматирования текста при оформлении рабочей области.

Также в релизе 10.9:

  • расширены возможности менеджера безопасности и менеджера обновлений;

  • появился нативный драйвер к базе данных СУБД ClickHouse с возможностью write-back;

  • появилась возможность отладки веб-форм;

  • и многое другое!

Обратите внимание!
В «Форсайт. Аналитическая платформа» 10.9:

  • повышена версия репозитория метаданных: при обновлении платформы необходимо обновить версию репозитория;

  • повышена версия метаданных регламентных отчётов: отчёты, созданные в 10.9, будут недоступны для открытия в предыдущих версиях.

STS-релиз – это промежуточный выпуск, включающий новые функции перед их интеграцией в LTS (Long Term Support) – релиз с долгосрочной поддержкой.

Подробнее о новой версии читайте здесь.

График выпуска версий можно посмотреть здесь.

Подробнее с релизной стратегией можно ознакомиться здесь.

Теги:
+1
Комментарии0

Вышел Gonzo 0.1.6 - терминальный UI для анализа журналов в реальном времени. Написал на Go, вдохновлён k9s. Позволяет анализировать потоки журналов с помощью красивых диаграмм, аналитики и расширенной фильтрации — всё прямо в терминале.

ChangeLog: https://github.com/control-theory/gonzo/releases/tag/v0.1.6

Теги:
+2
Комментарии0

Что проверить перед релизом Django приложения

Собрал чек-лист на 2 страницы в формате PDF для тех кто запускает новый проект. Ведь неприятно получить HTTP 500 Server Error, реализовав крутую фичу, пройдя долгий путь тестирования и выпуска релиза, потому что забыли о настройке.

Гайд можно скачать на странице: https://app.incidenta.tech/static/files/django-release-guide.pdf

Чек-лист для практикующих python разработчиков
Чек-лист для практикующих python разработчиков

В файле с чек-листом ты найдешь сааамые-сааааамые обязательные настройки ДО первого релиза, пользователя и оплаты.

Например, перед выходом в продакшен нужно проверить:

  • Что выключен DEBUG режим, очевидно, сэр.

  • Корректно настроено подключение к базе данных

  • HTTPS и SECURE параметры настроены

  • И еще другие 11 пунктов

Для каждого из пунктов даны ссылки для подробного изучения.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Can a Machine Think?

Пару дней назад я нашёл свою первую публично опубликованную статью, которую написал более 5 лет назад

Через 2 года после того, как OpenAI выпустили документ "Improving Language Understanding by Generative Pre-Training" — то, что можно считать основой GPT-1

Тогда рассуждения об ИИ, с которым можно качественно общаться, воспринимались как что то далекое. Похоже на то, о чем рассуждал ещё Алан Тьюринг

А Siri и Google Assistant были вершиной публично доступных чат-ботов

Но прошло 5 лет, и ИИ агенты это уже данность. Они спокойно проходят не только тесты Тьюринга, но и вообще любые тесты

Но есть одна проблема...

Мы уперлись в стену

GPT-5 показывает фундаментальное ограничение GPT моделей — мы близки к исчерпанию всех оцифрованных человеческих знаний, которые нужны моделям на стадии предобучения

Можно улучшать модели через мелкие улучшения изнутри, увеличивать reasoning tokens за счет роста вычислительных мощностей и структур сетей, но от этого подобные модели не перестанут быть next token prediction

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

Для познания мира мы, люди, используем совершенно другой механизм — любопытство.

И это — наше главное эволюционное преимущество, которое привело нас туда, где мы есть

В чём разница между пересказом и пониманием?

«Откуда мы знаем, что существуют чёрные дыры, квазары, взрываются сверхновые и образовываются всевозможные химические элементы, из которых состоит наше тело и Земля? Ведь это невообразимо далеко и невероятно сложно»

«Мы это знаем благодаря телескопам и измерительным устройствам» — это плохое объяснение

«Мы знаем, что существуют конкретные законы физики, мы проверили эти законы много раз, мы получили много информации о том, что эти законы соблюдаются и на Земле и за миллиарды километров, поэтому мы с хорошей точностью знаем что происходит при взрыве сверхновой» — это хорошее объяснение

Объяснения — это самый базовый элемент, который позволяет человечеству создавать новые знания

Которые создаются только таким способом

Выдвинуть гипотезу — догадаться/предположить, что что-то устроено определённым образом
Сделать действия — проверить гипотезу экспериментами
Обработать данные — получить обратную связь от мира
Сделать выводы — выбросить гипотезу, принять или доработать

А затем ждать лучшего объяснения

И да, это стандартный продуктовый подход через HADI циклы

И именно этот процесс привёл к созданию всего знания, всех инструментов в мире

Другого процесса создания знания не существует

Библиотека vs Лаборатория

Мы посадили ИИ в библиотеку, а ему нужна лаборатория

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

Но если мы хотим настоящий AGI, то он должен стать учёным. Он должен создавать новые знания

Bottle Neck человечества для создания знаний

На планете менее 1% людей в определённый момент времени занимаются созданием знаний на границе неизвестного

Мы ограничены количеством мозгов и рук, которые способны выдвинуть гипотезу, проверить ее и сделать выводы

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

Путь к сингулярности

Для создания AGI нам нужно научить ИИ

  1. Выдвигать гипотезы

  2. Проверять их экспериментально

  3. Делать выводы и, в идеале, делиться ими

Для этого ему понадобится доступ к нашему миру через сенсоры. И развитие робототехники — необходимый шаг

AGI = Модель + HADI циклы + Реальный мир

После того, как мы научим ИИ проходить HADI циклы, мы войдём в эру сингулярности знаний

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

Вместо 1% человечества, которые генерируют знания, нам нужно будет создать ИИ-ученых, работающих 24/7

Это и будет состояние мира, близкого к настоящей сингулярности

Теги:
Всего голосов 9: ↑8 и ↓1+8
Комментарии0

Лайфхак по нейронкам №89: лоцируй связанный код

Когда-то писал о подходах, которые в эру нейронок получили еще аргументов к применению: WYNWYN и Vertical Slice – принципам, говорящим, что надо писать только то, что нужно и там где нужно.

Недавно работал с кодовой базой, где код обработки http запросов (авторизация, пойти в бд, посчитать что-то, сделать запрос в стороннюю систему, смерджить результат и отдать) лежал в папках по категории (все обращения в бд в одной папке, все модели в другой, все обращения к API в третьей, все операции по мерджу в четвертой, и т.д.).

Когда я пытался попросить нейронку (платные Claude, Codex, Gemini) что-то сделать с этими ручками, то для решения ей приходилось каждый раз собирать полный контекст папок, и как только она осознавала бесполезность сего предприятия, резко обрезала контекст, недобирала нужного кода и отвечала нерабочим куском галлюцинации.

Важно отметить, большинство функций, разбросанных по папкам, буквально вызывались всего один раз в конкретных местах (и такая ситуация встречается в 90% кодовых баз, с которыми приходилось работать).

Решил сделать эксперимент: сложил весь связанный код в одно место (причем не ctrl-c-v, а ctrl-x-v), запустил нейронку и да, она сначала прочитала весь связанный код из папок, и уже после пыталась добирать доп контекст из сторонних, но теперь ответы и код были почти 100% попаданием в мой запрос (опять же, в меру их текущих возможностей).

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

И тут важно сделать несколько умозаключений:

  • Если нейронке НЕ дать хороший контекст, она отвечает абсолютным бредом, поэтому, если есть желание пользоваться благами ИИ, самая важная задача – создавать условия при которых она будет получать только нужные данные

  • Лоцирование связанного кода – одно из прекрасных решений этой задачи

  • На самом деле, для людей это работает точно так же – иметь возможность зайти в одно место и прочитать весь связанный код – ускоряет и улучшает итоговый результат, который выдают ~кожаные мешки~ мы

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

Теги:
Всего голосов 5: ↑4 и ↓1+6
Комментарии2

Инфраструктура под ключ за 4 часа: миф или реальность?

➡️ узнаем на бесплатном вебинаре 3 сентября!

Главные вопросы:

  • Какие компоненты инфраструктуры можно развернуть «из коробки», а какие придется разворачивать руками?

  • Terraform и Ansible — Король и Королева, или есть альтернативы?

  • Пошаговый алгоритм развёртывания: что нужно сделать до старта, на шаге 0 и далее до момента введения в эксплуатацию?

  • Какие бывают точки отказа(SPOF), и где они обитают?

  • Увеличение нагрузки: на каком этапе об этом думать?

  • Что делать при сбое? Все пропало? Или можно подстелить солому?

В конце вебинара — чек-лист для старта и оптимальная последовательность действий.

Ведущий: Евгений Федосеев, DevOps-инженер в «ПУЛЬС АЙТИМ»

Спикер: Павел Минкин, DevOps-инженер в Финтех

Когда: 3 сентября в 19:00 мск

Занять место на вебинаре — через бота.

Теги:
Рейтинг0
Комментарии0

Условия - уже в рынке!

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

Ребёнок просит мороженое?

— «Сынок, ты одет, обут и даже сыт. Условия - уже в рынке. Смирись».

Жена жалуется, что давно не водил её в ресторан?

— «Дорогая, по сравнению с жёнами соседей ты прекрасно обеспечена. Условия - в рынке».

Главное правило - не перегревать рынок. В конце концов, кому в наше время нужны объевшиеся дети и перекормленные жёны?

Теги:
Всего голосов 2: ↑0 и ↓2-2
Комментарии1

Улучшаем опыт бронирования отелей на О! Хакатоне

Кто-то предпочитает отели, кто-то — апартаменты и квартиры, но точно все бы хотели, чтобы искать временное жильё и заселяться в него можно было просто и быстро. Мы в Островке хотим того же, поэтому посвятим этому целый хакатон. А вы своим участием поможете нам.

Если вы Middle- или Senior-разработчик на Python или Go, приходите на «О! Хакатон», решайте интересные задачи и выигрывайте призы. Вам предстоит разработать инструменты для улучшения опыта бронирований и оценки отелей.

Как будет проходить «О! Хакатон»? Вас ждут два трека. На одном предстоит разработать инструмент «Секретный гость». На другом нужно персонализировать подбор отелей, используя данные о пользователе, чтобы предоставить лучшие рекомендации.

Призовой фонд каждого трека — 500 000 рублей, которые разделят между собой три команды победителей. Кроме того, все участники получат шанс выиграть промокоды на бронирование отелей.

Регистрируйтесь до 18 сентября 2025 года включительно, «О! Хакатон» стартует 26 сентября. У вас будет 8 дней на решение задач. 

Следите за обновлениями в канале «О! Хакатона» в Телеграме!

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Ближайшие события

Выводим Бугаенко на чистую воду разбирая ООП

Топ Перлов

  • Любой массив байт должен уметь работать с файлами, сетью и тд.

  • Программа должна не падать на ошибках, а продолжать работу с фейковыми объектами.

  • Вместо падения в моменте конструирования объекта, надо падать на другом конце программы при каждом его использовании.

  • Я придумал новый язык, и чтобы он не так сильно тормозил, надо встроить GC в CPU.

Упомянутые ссылки

Копилка благодарностей

Теги:
Всего голосов 13: ↑5 и ↓8-3
Комментарии2

Мы выбрали 10 топ-хабрастатей за 10 лет, а вы выберите лучший HR-бренд

Будем краткими: в этом году блогу МойОфис на Хабре исполнилось 10 лет!
Мы собрали юбилейную подборку — выбрали по одной ключевой статье на каждый год. Это тексты, без которых, как говорится, нас невозможно представить, еще труднее – понять!

А вас просим оценить нас в ежегодном опросе Хабр/ЭКОПСИ. Это займёт всего 5–7 минут. Мы соберём важную обратную связь, а индустрия получит объективную картину IT-брендов в 2025 году.

Теги:
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Мое решение для Нерешаемой Проблемы

Все дети знают, что много мусора создает большие проблемы для Garbage Collector. Ну а взрослые видели и НЕРЕШАЕМЫЕ! Причем, мусора было немного:

We kept digging and learned the spikes were huge not because of a massive amount of ready-to-free memory, but because the garbage collector needed to scan the entire LRU cache in order to determine if the memory was truly free from references.

Что в этом случае делают взрослые? Правильно! Взрослые в ужасе убегают...

У меня есть решение для тех, кто устал убегать: mdb.BlobMap. Это быстрая хеш-таблица, не создающая проблем сборщику мусора:

ОК, что значит "не создающая проблем"? В данном случае это значит, что весь mdb.BlobMap -- это просто массив uint64...

Так НЕ БЫВАЕТ?!

Бывает, чо https://ders.by/go/blobmap/blobmap.html

Теги:
Всего голосов 5: ↑0 и ↓5-5
Комментарии0

В прошлую субботу я подал заявку на участие в митапе GoSharp Weekend, который проводит компания Ozon Tech. Все заявки на этот митап проходят модерацию, т.к. к участию допускаются только C#- и Go-разработчики уровня middle+.

Вчера я получил письмо с отказом:

Сначала я подумал, что просто закончились свободные места. Но сегодня я, как постоянный участник мероприятий Ozon Tech, получил письмо с рекламой данного мероприятия. Получается, что свободные места все еще есть, а моя заявку отклонили, потому что она не прошла модерацию. Вполне возможно, что из-за всей этой охоты на волков организаторы не поняли, что означает фраза «опенсорс-мейнтейнер», и приняли меня за накрутчика опыта.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Вышел NATS.go 1.45 - Go-клиент для системы обмена сообщениями NATS.

Ключевые изменения:

  • В Core NATS добавлена обработка превышения максимального количества активных подключений к учетной записи

  • В JetStream добавлена опция WithExpectLastSequenceForSubject для логики публикации

  • Добавили тесты на проверку обновлений KV TTL watcher

  • Исправлено несколько ошибок

GitHub: https://github.com/nats-io/nats.go

ChangeLog: https://github.com/nats-io/nats.go/releases/tag/v1.45.0

Теги:
Рейтинг0
Комментарии0

Прячем секреты приложения. Как Kubernetes помогает защитить ваши данные?

Разберём на бесплатном вебинаре!

Виталий Лихачев, SRE в нидерландском тревелтехе и Максим Киселев, руководитель разработки Deckhouse Stronghold встретятся, чтобы обсудить:

  • Как правильно спроектировать приложение, чтобы оно безопасно получало конфигурацию при работе в Kubernetes

  • Как избежать утечек секретов

  • Почему хранить секреты в Vault безопаснее, чем где-то ещё

  • Что делать, если часть конфигурации — это конфиденциальная информация.

Когда: 27 августа в 19:00 МСК

Разработчики, подключайтесь. Пообщаемся, поспорим и разберём реальные кейсы 🔥

Занять место на вебинаре и получить напоминание о встрече — в боте.

Теги:
Рейтинг0
Комментарии0

Это птица… Это самолет… Это ваша статья на Хабре в космосе! 

В начале июля у нас стартовал улётный конкурс для авторов, где 20 лучших статей отправятся в самый настоящий космос. Да-да, ваш текст сможет буквально побывать в космосе и стать частью уникальной базы знаний, доступной из любого уголка света. И вы еще успеваете присоединиться! 

Принять участие очень просто: поставьте тег «Космотекст» на материале, опубликованном с 1 июля по 31 августа — и все, вы участвуете. Авторы получат тематические ачивки в профиле и смогут выиграть крутой мерч. А для самых везучих — кое-что по-настоящему космическое… Суперприз конкурса — экскурсия на космодром Байконур! 

О чём можно написать?

О чём хотите! Хабр — про технологии в самом широком смысле. Расскажите о технологических открытиях, поделитесь своими знаниями или объясните то, в чём хорошо разбираетесь и хотите, чтобы другие тоже поняли — главное, чтобы было увлекательно и полезно. 

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

А еще! Вступайте в наше сообщество для авторов Технотекст  — в нем мы будем делиться подборками лучших статей, проводить эфиры о том, как преодолеть страх писать на Хабр и там же мы разыграем мерч. А если есть вопросы по участию, пишите нам на special@career.habr.com, постараемся быстро помочь.

Теги:
Всего голосов 8: ↑8 и ↓0+15
Комментарии1