Записки Kotlin Developer
79 subscribers
47 photos
5 videos
5 files
30 links
Hi, я Кирилл, Kotlin разработчик👋

Тут пишу заметки и tutorial: Kotlin, алгоритмы, Functional style, инфрастуктуру, микросервисы.

Начинаем с базы и дойдем до вершин📈

Subscribe, Let's upgrade skills together🤝

Автор: @kyrillP
Download Telegram
🚀 Как перенести Docker-образ между серверами без Docker Artifact Registry?

Недавно столкнулся с такой ситуацией: мой виртуальный выделенный сервер внезапно потерял связь с моим приватным Docker Artifact Registry. При попытке обновить образы возникала следующая ошибка:
Error response from daemon: Get "https://kronx.cr.cloud.ru/v2/": dial tcp: lookup kronx.cr.cloud.ru on 127.0.0.53:53: server misbehaving


Эти выходные выдались непростыми: не хотелось отвлекаться на написание в техподдержку, поэтому решил попробовать разобраться сам. Пробовал добавить дополнительные DNS-серверы вручную, однако ничего не изменилось. Тогда пришло понимание, что единственный выход — временно обойти систему хранения образов и перенести нужный образ вручную. К счастью, Docker позволяет сделать это достаточно легко...


Решение проблемы:

Шаг 1: Экспортируем образ локально на исходном сервере:
docker save -o my_image.tar my_image_name:tag

Шаг 2: Передаем архив (my_image.tar) на целевой сервер удобным методом передачи файлов (SSH, FTP)

Шаг 3: Импортируем образ на новом сервере:

docker load -i my_image.tar


Позже выяснилось, что проблема была временной, и Artifact Registry заработал нормально спустя некоторое время. Этот случай наглядно продемонстрировал гибкость Docker и подчеркнул важность наличия альтернативных решений для непредвиденных ситуаций.
👍65
▌ Социальный IT-проект: создай сказку и помоги ребенку!

Мы запустили проект совместно с @BugrovExperience и благотворительным фондом Время Детства — социальную платформу, позволяющую каждому почувствовать себя писателем, добавив пару строк в коллективную детскую сказку и внести вклад в будущее детей! 🎈📚

▌ Концепция проекта

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

▌ Что было сделано?

- UI/UX: продуманная структура, удобная навигация и привлекательный интерфейс, созданный в Figma @BugrovExperience
- Реализация:
  - Фронтенд: Vue
  - Бэкенд: Kotlin, Spring Boot 3,  Jmix, PostgreSQL, AI Агент для валидации текста и создания краткого пересказа, админка.
  - Интеграция с платежным сервисом: возможность безопасного подтверждения транзакций.
@kyrillP

🌐 Посмотреть проект онлайн:

story.vremyadetstva.ru

Сейчас проект на стадии  тестирования на фокус группе...

P.S Да простит меня дизайнер, он сделал потрясающий макет, но я не до конца доделал вёрстку, мне нужно поправить все padding и margin в соответствии с макетом, но для MVP, думаю, это не критично 😅
8❤‍🔥2
🚀🚀🚀
⚡️Стань соавтором сказки для детей!

Друзья, совсем скоро нашему фонду исполнится пять лет🤗 Это такой первый взрослый день рождения, и мы решили, что правильно будет не просить подарки для себя, а вместе сделать подарок для наших детей.

С нами часто случаются чудеса (самим не верится!). Вот и в этот раз не обошлось без чуда‼️ Мы придумали идею, но реализовать ее сами не могли. И тут, как по волшебству, к нам на помощь пришли волонтеры Сбера! Да-да, того самого Сбера!💔

🌸И теперь у нас есть готовый лендинг – страница акции, которую мы придумали к празднику🌸

Друзья! Мы предлагаем вам стать соавторами сказки для детей!📖 Каждый из вас может написать отрывок – продолжение сюжета, и в итоге у нас получится такая народная сказка со списком авторов в конце. Мы напечатаем книгу и подарим детям в онкоотделениях. Пусть в их жизни будет много волшебства и чудес!

Сюжет сказки зависит только от вашей фантазии: главное – помнить, что она должна быть доброй!💕

Переходите по ссылке или на нашем сайте по кнопке «Стань автором сказки!» и участвуйте! Мы вместе напишем КНИГУ! Неужели не здорово?

Огромное спасибо волонтерам Сбера: Людмиле Романовой, Денису Бугрову, Кириллу Пахтусову. Вы – настоящие волшебники!


#жизньфонда
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
В сентябре я планирую поехать на конференцию по Data Science — AI Conf X.
Очень понравились темы докладов, есть разные треки😍

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

Мой выбор пал на ibis Москва Динамо. Стоимость проживания — всего 12 тысяч рублей за три дня! Это просто замечательно!

Кстати, если вы будете бронировать отель через сервис Отелло, то сможете получить хорошую скидку по промокоду.

Подробнее в комментарии или на фото⤵️
4🔥1
Сбербанк представил практический гайд по созданию ИИ-агентов — автономных систем, которые самостоятельно выполняют различные задачи с помощью генеративного искусственного интеллекта.

Я был в восторге от чтения гайда, очень подробная теория и есть классные практические примеры.

Знаю, что сейчас этот гайд популяризируется благодаря таргетированной рекламе, но если вдруг его пропустили, то рекомендую 👍

Например в книге есть код для AI агента который на основе описания идеи стартапа делает "канва бизнес-модель". Проверил и потестил его, работает хорошо 👍

Могу поделиться репозиторием с исходным кодом, если интересно и нет желания искать его самостоятельно)

Ознакомиться с гайдом можно тут
https://giga.chat/b2b/multi-agent-system
4🔥31
🔥 Нужен ваш совет: собственный компонент комментариев или готовое решение? 🚀

Описание проблемы

Друзья, столкнулся с интересным вопросом. В свой pet-проект хочу добавить систему комментирования.

Проект:
frontend: React + TypeScript
backend: Kotlin + Spring Boot .

Вариант №1: Написать самостоятельно

Преимущества:
- Полный контроль над функционалом и дизайном.
- Возможность кастомизации под нужды проекта.
- Хорошая практика программирования.

Недостатки:
- Требует значительных временных затрат.
- Возможны дополнительные затраты на тестирование и отладку.

Вариант №2: Использовать готовое решение

Преимущества:
- Быстрое внедрение.
- Уже проверенное и оптимизированное решение.
- Минимальные временные затраты.

Недостатки:
- Ограниченная кастомизация.
- Риск зависимости от стороннего сервиса.

Вариант №3: Комбинация 1 и 2 варианта

Пока я пошел по первому варианту. То что у меня получилось на фронте на текущий момент добавил к посту, см. картинки). Думаю, буду небольшими итерациями добавлять и расширять функциональность этого модуля.

Какой путь выбрали бы вы и почему? Жду ваших мнений и рекомендаций! 😊
🔥3