А я, кажется, влюбился в testcontainers.
Короче… Я же знал, что они существуют. Видел где-то в статьях, слышал на конференциях, даже пару раз пролистывал доку. И каждый раз думал: «Ну да, прикольно, может потом».
И вот этот «потом» наконец случился.
Сейчас я как раз собираю для коллег гошный шаблон микросервиса — чтобы любой мог стартануть без боли, сразу писать бизнес-логику, а не копаться в инфраструктурной рутине. Ну и логично было заодно нормально пройтись по инструментам, которые давно висели в списке «надо потом попробовать».
И тут я такой: ладно, давай посмотрим на эти ваши testcontainers…
Блин. Кайф.
Типа прям честный кайф.
Ты просто из кода поднимаешь Kafka, Postgres, MinIO — что угодно — и тестируешь как человек. Быстрая проверка CRUD? Пара секунд. Проверка продюсера/консьюмера — ещё пару секунд. И всё. Никакого «а давайте поднимем докер-композ», никакого «подождите, сейчас локально настрою». Стартуют почти как юниты с моками, только результат реальный, живой, как в проде.
И вот это чувство… когда тесты, которые должны страдать минуту, вдруг проходят за 3 секунды — я такой:
где вы были всю мою жизнь?
Теперь жалею, что не внедрил это раньше в команде. Но зато в новый шаблон — войдут по-любому.
Если кто-то до сих пор сомневается: не сомневайтесь. Это как впервые попробовать нормальный автотестовый фреймворк после ручных проверок в Postman — назад уже не хочется.
P.S. Вот так например выглядет поднятие постгри:
#golang #testcontainers #микросервисы #testing #qa #backend #go
Короче… Я же знал, что они существуют. Видел где-то в статьях, слышал на конференциях, даже пару раз пролистывал доку. И каждый раз думал: «Ну да, прикольно, может потом».
И вот этот «потом» наконец случился.
Сейчас я как раз собираю для коллег гошный шаблон микросервиса — чтобы любой мог стартануть без боли, сразу писать бизнес-логику, а не копаться в инфраструктурной рутине. Ну и логично было заодно нормально пройтись по инструментам, которые давно висели в списке «надо потом попробовать».
И тут я такой: ладно, давай посмотрим на эти ваши testcontainers…
Блин. Кайф.
Типа прям честный кайф.
Ты просто из кода поднимаешь Kafka, Postgres, MinIO — что угодно — и тестируешь как человек. Быстрая проверка CRUD? Пара секунд. Проверка продюсера/консьюмера — ещё пару секунд. И всё. Никакого «а давайте поднимем докер-композ», никакого «подождите, сейчас локально настрою». Стартуют почти как юниты с моками, только результат реальный, живой, как в проде.
И вот это чувство… когда тесты, которые должны страдать минуту, вдруг проходят за 3 секунды — я такой:
где вы были всю мою жизнь?
Теперь жалею, что не внедрил это раньше в команде. Но зато в новый шаблон — войдут по-любому.
Если кто-то до сих пор сомневается: не сомневайтесь. Это как впервые попробовать нормальный автотестовый фреймворк после ручных проверок в Postman — назад уже не хочется.
P.S. Вот так например выглядет поднятие постгри:
pgContainer, err := postgresContainer.Run(ctx,
"postgres:18",
postgresContainer.WithDatabase("testdb"),
postgresContainer.WithUsername("testuser"),
postgresContainer.WithPassword("testpass"),
testcontainers.WithWaitStrategy(
wait.ForLog("database system is ready to accept connections").
WithOccurrence(2).
WithStartupTimeout(30*time.Second),
),
)
#golang #testcontainers #микросервисы #testing #qa #backend #go
🔥11❤2👍1🌚1
Вообщем, сегодня поймал второе откровение.
GitHub CI вырвался вперёд — и не за счёт “мощи”, а именно за счёт удобства.
Когда тебе нужно быстро поднять пайплайн, GitHub ощущается как «дружелюбный сосед»: открыл, выбрал нужные actions, связал пару шагов — и через 5-10 минут у тебя уже всё крутится и билдится. Без боли, без танцев, без «почему оно не нашло runner», или почему тут нужны сертификаты.
В GitLab же каждый новый проект превращается в маленькое приключение. То синтаксис чуть иначе, то раннер что-то не так понял, то половину вечера проводишь в постоянных тестах-конфигурациях, чтобы добиться банального результата.
И да — в корпоративной среде с хорошей культурой можно собрать такую же магию через импорты и готовые шаблоны. Но вот где сила сообщества — там и настоящая скорость. А GitHub здесь просто разрывает.
#devops #ci #github #gitlab #инженерия
GitHub CI вырвался вперёд — и не за счёт “мощи”, а именно за счёт удобства.
Когда тебе нужно быстро поднять пайплайн, GitHub ощущается как «дружелюбный сосед»: открыл, выбрал нужные actions, связал пару шагов — и через 5-10 минут у тебя уже всё крутится и билдится. Без боли, без танцев, без «почему оно не нашло runner», или почему тут нужны сертификаты.
В GitLab же каждый новый проект превращается в маленькое приключение. То синтаксис чуть иначе, то раннер что-то не так понял, то половину вечера проводишь в постоянных тестах-конфигурациях, чтобы добиться банального результата.
И да — в корпоративной среде с хорошей культурой можно собрать такую же магию через импорты и готовые шаблоны. Но вот где сила сообщества — там и настоящая скорость. А GitHub здесь просто разрывает.
#devops #ci #github #gitlab #инженерия
👍7
Huawei представил новый роутер, с поддержкой WiFi 7.
Дизайн - мое почтение.
Характеристики тоже в порядке - Основной блок оснащается 512 МБ ОЗУ и 128 МБ постоянной памяти и поддерживает скорость до 688 Мбит/с в диапазоне 2,4 ГГц и до 2882 Мбит/с в диапазоне 5 ГГц с общей пиковой в 3570 Мбит/с.
Конечно есть пару портов 2.5 Гбит/с, уже в принципе стандарт. Стоит 183$.
Дизайн - мое почтение.
Характеристики тоже в порядке - Основной блок оснащается 512 МБ ОЗУ и 128 МБ постоянной памяти и поддерживает скорость до 688 Мбит/с в диапазоне 2,4 ГГц и до 2882 Мбит/с в диапазоне 5 ГГц с общей пиковой в 3570 Мбит/с.
Конечно есть пару портов 2.5 Гбит/с, уже в принципе стандарт. Стоит 183$.
🔥11
Китайцы выпустили новую нейросеть - LingGuang, она набирает пользователей быстрее, чем ChatGPT.
Ее прикол в том, что она не просто отвечает, а генерирует мини-приложения.
Я проверил, во-первых быстро, во-вторых выглядят красиво.
Доступна в AppStore, для регистрации нужен китайский номер телефона.
Ее прикол в том, что она не просто отвечает, а генерирует мини-приложения.
Я проверил, во-первых быстро, во-вторых выглядят красиво.
Доступна в AppStore, для регистрации нужен китайский номер телефона.
🔥4😁2
Интересно, а кто-то пользовался Circle CI. Как он по сравнению с Gitlab или Actions?
Forwarded from Cybred
🔥 10/10 React4shell
В официальном блоге React только что выкатили пост про CVE-2025-55182, которая позволяет в один запрос получить RCE. Уязвимы версии 19.0.0, 19.1.0, 19.1.1, 19.2.0, а еще фреймворки Next.JS, Vite, Parcel, и Waku.
Сам баг находится в RSC-рантайме, который принимает данные и небезопасно десериализует их. Запатчиться сейчас почти никто не успел, а уязвимость можно считать одной из самых критичных, которые находили в React за все время.
В официальном блоге React только что выкатили пост про CVE-2025-55182, которая позволяет в один запрос получить RCE. Уязвимы версии 19.0.0, 19.1.0, 19.1.1, 19.2.0, а еще фреймворки Next.JS, Vite, Parcel, и Waku.
Just when I thought the day was over… CVE-2025-55182 shows up 🫠
Сам баг находится в RSC-рантайме, который принимает данные и небезопасно десериализует их. Запатчиться сейчас почти никто не успел, а уязвимость можно считать одной из самых критичных, которые находили в React за все время.
react.dev
Critical Security Vulnerability in React Server Components – React
The library for web and native user interfaces
🤯4
Тут короче новость проскочила - «MinIO прекратил развитие открытой кодовой базы в пользу проприетарного продукта».
Может кто знает альтернативы, со свободной, не вирусной лицензией?
Может кто знает альтернативы, со свободной, не вирусной лицензией?
👀6😢1
https://gitstory.pankajk.tech/ - Прикольный сервис. Вводишь свой ник на github и он подводит итоги твоего года на нем. Прям очень красиво.
GitStory
GitStory 2025 - Your Year in Code | GitHub Wrapped
Relive your coding journey with GitStory 2025. Transform your GitHub contributions into a stunning cinematic experience. Your GitHub Wrapped for 2025!
Оказывается, Дуров умеет делать сервисы маленькой командой, я думаю, все слышали, что телегу делают 60 человек.
Вчера случайно натолкнулся на статью по результатам Highload++ в 2011 году, где выступал Дуров с коллегой и раскрыли карты — как устроена их соцсеть. Цифры на тот момент были следующие:
То есть всю эту машину делали 30-40 разработчиков. А сейчас в бигтехе 60 разработчиков нужно, чтобы сопровождать какой-нибудь кусок портала, доля которого процентов 5.
Меня с каждым годом всё больше пугает выдаваемый объем на количество необходимых разработчиков (и не только, тут еще и штук 10-ть OPSов будет). Хотя, казалось бы, всё больше инструментов для облегчения труда и автоматизации (и я сейчас же не про ИИ).
Вчера случайно натолкнулся на статью по результатам Highload++ в 2011 году, где выступал Дуров с коллегой и раскрыли карты — как устроена их соцсеть. Цифры на тот момент были следующие:
99,5 миллионов учетных записей.
40 миллионов активных пользователей во всем мире (сопоставимо с аудиторией интернета в России).
11 миллиардов запросов в день.
200 миллионов личных сообщений в день.
Видеопоток достигает 160Гбит/с.
Более 10 тысяч серверов, из которых только 32 — фронтенды на nginx (количество серверов с Apache неизвестно).
30-40 разработчиков, 2 дизайнера, 5 системных администраторов, много людей в датацентрах.
Каждый день выходит из строя около 10 жестких дисков.
То есть всю эту машину делали 30-40 разработчиков. А сейчас в бигтехе 60 разработчиков нужно, чтобы сопровождать какой-нибудь кусок портала, доля которого процентов 5.
Меня с каждым годом всё больше пугает выдаваемый объем на количество необходимых разработчиков (и не только, тут еще и штук 10-ть OPSов будет). Хотя, казалось бы, всё больше инструментов для облегчения труда и автоматизации (и я сейчас же не про ИИ).
❤6👏5
Неожиданно написал новую статью, о наболевшем. Точно крайняя в этом году. Лайки, + в карму, репосты и комментарии очень приветствуются - https://habr.com/ru/articles/976440/
👍13❤7
Бодрый кодер
Оказывается, Дуров умеет делать сервисы маленькой командой, я думаю, все слышали, что телегу делают 60 человек. Вчера случайно натолкнулся на статью по результатам Highload++ в 2011 году, где выступал Дуров с коллегой и раскрыли карты — как устроена их соцсеть.…
Пятничного юмора не было, поэтому будет анекдот в понедельник на тему поста. Нашел в комментариях на хабре, к статье об OnlyFans. Директор компании сказала,что они отказались полностью от менеджеров среднего звена и зарабатывают 6 млрд. В начале звучало класно, но потом сказала что 42 сотрудника и в целом стало понятно как они могут руководить разработкой без менеджеров среднего звена.
Приехала в СССР иностранная делегация. Встречаются директора заводов - русский и японец.Японец говорит: «Мы станки делаем».Русский говорит: «И мы тоже».Японец говорит: «У меня 10 цехов».Русский говорит: «У меня тоже 10».Японец говорит: «У меня три тысячи рабочих занято».Русский говорит: «У меня тоже три тысячи».Японец говорит: «У нас 6 инженеров работает».Русский думает: «Если сказать, что у нас 200 инженеров в заводоуправлении сидит, конфуз выйдет. Скажу, что у нас 7 инженеров». Так и сделал.На следующий день встречаются они снова, а у японца глаза красные-красные. «Всю ночь, – говорит, - не спал. Все думал: чем у вас седьмой инженер занимается?».
Приехала в СССР иностранная делегация. Встречаются директора заводов - русский и японец.Японец говорит: «Мы станки делаем».Русский говорит: «И мы тоже».Японец говорит: «У меня 10 цехов».Русский говорит: «У меня тоже 10».Японец говорит: «У меня три тысячи рабочих занято».Русский говорит: «У меня тоже три тысячи».Японец говорит: «У нас 6 инженеров работает».Русский думает: «Если сказать, что у нас 200 инженеров в заводоуправлении сидит, конфуз выйдет. Скажу, что у нас 7 инженеров». Так и сделал.На следующий день встречаются они снова, а у японца глаза красные-красные. «Всю ночь, – говорит, - не спал. Все думал: чем у вас седьмой инженер занимается?».
😁15