Сижу готовлюсь к выступлению, остался час.
Буду рассказывать о GitOps, и как методология может помочь аналитикам и командам.
#analystdays #ad21
Буду рассказывать о GitOps, и как методология может помочь аналитикам и командам.
#analystdays #ad21
👍14🔥7❤1💔1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
❤12🔥3❤🔥1
Сейчас слушаю доклад, как внедрили ИИ в подбор.
Там прям классная и очень правдивая мысль — за последние 5 лет вопросы, которые можно найти в статье на Хабре «Топ 50 вопросов к системному аналитику», как задавали, так и задают.
Первый вопрос, который задают, — чем отличается POST от GET? Конечно же вопрос на позицию не меньше Senior.
#собесы
Там прям классная и очень правдивая мысль — за последние 5 лет вопросы, которые можно найти в статье на Хабре «Топ 50 вопросов к системному аналитику», как задавали, так и задают.
Первый вопрос, который задают, — чем отличается POST от GET? Конечно же вопрос на позицию не меньше Senior.
#собесы
🤔7❤1😁1
Ехал на закрытие Analyst Days 21 с полной уверенностью, что хорошо выступил, но совсем не ожидал что мой доклад займет третье место. 🥉
Понадобилось три конференции и два года что бы повторить результат весны 2023 (AD 19)
Это мотивируют выступать еще больше, ещё качественней (благо есть куда расти).
Понадобилось три конференции и два года что бы повторить результат весны 2023 (AD 19)
Это мотивируют выступать еще больше, ещё качественней (благо есть куда расти).
1❤20🔥9❤🔥1
Forwarded from Vladislav Orlikov (BY)
Докладчики-победители Analyst Days #21
🥇1 место — Аня Гурова
🥈2 место — Аня Казаченко
🥉3 место — Лев Немировский
🥇1 место — Аня Гурова
🥈2 место — Аня Казаченко
🥉3 место — Лев Немировский
🔥34
Языку Go сегодня 16 лет. Из,наверное, самых классных функций последнего времени - это новый сборщик Green Tea, который пока в бета.
Причем не верится в такую дату, честно говоря. Помню как смеялись, когда требование в вакансиях было 5 лет, а языку 2-3 года. Прям себя сильно олдом почувствовал.
#go #golang
Причем не верится в такую дату, честно говоря. Помню как смеялись, когда требование в вакансиях было 5 лет, а языку 2-3 года. Прям себя сильно олдом почувствовал.
#go #golang
👍5😁1
Завтра понедельник, а это повод размяться немного перед рабочей неделей.
Представьте, что вам надо сделать контракт, OpenAPI. Для трех сущностей - Страна, Регион, Город.
Как бы вы сделали? Какие ручки у вас получились? И почему?
Свой вариант завтра вечером опубликую.
Представьте, что вам надо сделать контракт, OpenAPI. Для трех сущностей - Страна, Регион, Город.
Как бы вы сделали? Какие ручки у вас получились? И почему?
Свой вариант завтра вечером опубликую.
Сегодня понедельник — самое время выдать свой вариант по странам, регионам, городам.
Сначала, конечно, тянет сделать что-то такое:
`
Красиво же! Иерархично! Прямо видно структуру данных!
Но это ощущение проходит примерно через пять минут — как только начинаешь думать о реальном использовании.
Во-первых, все эти сущности живут сами по себе: у страны есть ID, у региона есть ID, у города есть ID.
Зачем же закапывать их друг в друга, если каждый можно получить напрямую?
Во-вторых, фильтрация потом превращается в цирк:
если тебе нужны «все города страны с населением больше 100к и без метро», то в лесенке из URL это выглядит максимально странно.
Поэтому финальный, рабочий и жизненный вариант у меня такой:
1. Каноничные ресурсы — плоские
Каждая сущность доступна сама по себе. Это убирает лишние проверки, упрощает клиентам жизнь и делает API устойчивым.
2. Отношения — через коллекции
Каждая сущность доступна сама по себе. Это убирает лишние проверки, упрощает клиентам
Это удобно для навигации — но не обязательно для CRUD.
3. Фильтры — через параметры
```
```
Это гибче, чище и не ломается от каждого нового поля.
Но в общем — вот так.
Сначала, конечно, тянет сделать что-то такое:
`
/countries/{id}/regions/{id}/cities/{id}`Красиво же! Иерархично! Прямо видно структуру данных!
Но это ощущение проходит примерно через пять минут — как только начинаешь думать о реальном использовании.
Во-первых, все эти сущности живут сами по себе: у страны есть ID, у региона есть ID, у города есть ID.
Зачем же закапывать их друг в друга, если каждый можно получить напрямую?
Во-вторых, фильтрация потом превращается в цирк:
если тебе нужны «все города страны с населением больше 100к и без метро», то в лесенке из URL это выглядит максимально странно.
Поэтому финальный, рабочий и жизненный вариант у меня такой:
1. Каноничные ресурсы — плоские
GET /countries
GET /countries/{country_id}
GET /regions
GET /regions/{region_id}
GET /cities
GET /cities/{city_id}
Каждая сущность доступна сама по себе. Это убирает лишние проверки, упрощает клиентам жизнь и делает API устойчивым.
2. Отношения — через коллекции
GET /countries/{country_id}/regions
GET /regions/{region_id}/cities
GET /countries/{country_id}/cities
Каждая сущность доступна сама по себе. Это убирает лишние проверки, упрощает клиентам
Это удобно для навигации — но не обязательно для CRUD.
3. Фильтры — через параметры
```
GET /cities?country_id=1&population_gt=100000
GET /cities?region_id=42&has_metro=true```
Это гибче, чище и не ломается от каждого нового поля.
Но в общем — вот так.
🔥6❤2🌚1
Forwarded from Раньше всех. Ну почти.
⚡️Яндекс представил Промптхаб — площадку, где можно найти идеи для использования ИИ, добавлять свои предложения и пройти бесплатные курсы по нейросетям, рассказали в компании.
«Любой человек, даже не знакомый с нейросетями, сможет найти для себя что-то полезное и тут же воспользоваться идеей в чате с Алисой AI. Например, составить план рекламной кампании или попросить обустроить домашний офис — потребуется лишь указать в инструкции собственные параметры. Пользователи и компании могут добавлять на платформу свои промпты», говорится в сообщении.
🌚2
Идет жаркая дискуссия (прочитайте комменты к первой статье), о том, стоит ли доверять сертификатам Минцифры
Основная проблема — возможность MITM-атаки, автор вполне доступно объяснил, как быстро это можно сделать после установки сертов.
Будучи молодым, я бы возбудился на такое, но в текущих условиях, наверное, без разницы — стоит да стоит. Если условному «товарищу майору» нужно будет посмотреть, что я делаю на промтхабе, — он всегда может постучаться в дверь. И, скорей всего, так и будет.
Поэтому в целом можно спать спокойно. Ну или вынести в виртуалку :)
https://habr.com/ru/articles/968218/
Основная проблема — возможность MITM-атаки, автор вполне доступно объяснил, как быстро это можно сделать после установки сертов.
Будучи молодым, я бы возбудился на такое, но в текущих условиях, наверное, без разницы — стоит да стоит. Если условному «товарищу майору» нужно будет посмотреть, что я делаю на промтхабе, — он всегда может постучаться в дверь. И, скорей всего, так и будет.
Поэтому в целом можно спать спокойно. Ну или вынести в виртуалку :)
https://habr.com/ru/articles/968218/
Хабр
Сертификаты Минцифры 2 — вы уже в опасности
Опять здравствуйте, уважаемые хабровчане. Это логическое продолжение моей предыдущей статьи о национальных сертификатах. В комментариях к прошлому посту разгорелась жаркая дискуссия....
👍6👎3
Интервьювер сломал процесс собеса, попросил закрыть глаза и ответить на следующий вопрос :)
#пятничныйюмор
#пятничныйюмор
😁6
А я, кажется, влюбился в 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