🚀 Наконец-то закончил большой гайд про авторизацию и аутентификацию в микросервисах!
Разобрал на практике:
- JWT vs Opaque токены — когда что использовать
- Ory Kratos + Hydra для auth
- Apache APISIX как API Gateway
- Полный Docker setup для экспериментов
Как всегда — с готовым репозиторием, чтобы можно было все потрогать руками, а не только почитать теорию 🛠️
https://habr.com/ru/articles/921896/
Лайки и плюсы в карму приветствуются! 🙏
#микросервисы #авторизация #golang #docker #ory #apisix #oauth2
Разобрал на практике:
- JWT vs Opaque токены — когда что использовать
- Ory Kratos + Hydra для auth
- Apache APISIX как API Gateway
- Полный Docker setup для экспериментов
Как всегда — с готовым репозиторием, чтобы можно было все потрогать руками, а не только почитать теорию 🛠️
https://habr.com/ru/articles/921896/
Лайки и плюсы в карму приветствуются! 🙏
#микросервисы #авторизация #golang #docker #ory #apisix #oauth2
Хабр
Практический гайд по авторизации и аутентификации в микросервисах с Ory и Apache APISIX
Мне кажется, что уже есть сотни разных статей на эту тему, но каждый раз мне чего-то не хватало. Поэтому я решил написать свою статью, в которой покажу, как я реализую авторизацию и аутентификацию в...
🔥10👍2
Кажется, уже только ленивый не слышал про новый мессенджер Max. Множество статей и разборов показывают, что он сливает персональные данные, причем с довольно четкими обоснованиями. Не в РФ.
Основан на TamTam, но вокруг столько шума – одни кричат про угрозу, другие называют всё ложью и провокацией. Не понятно где правда.
Остается только надеяться, что Telegram всё же не заблокируют... Хотя для многих организаций его уже нельзя использовать легально. 😔
#Max #Telegram #Безопасность #Цензура #Конфиденциальность
Основан на TamTam, но вокруг столько шума – одни кричат про угрозу, другие называют всё ложью и провокацией. Не понятно где правда.
Остается только надеяться, что Telegram всё же не заблокируют... Хотя для многих организаций его уже нельзя использовать легально. 😔
#Max #Telegram #Безопасность #Цензура #Конфиденциальность
😢4
Коллега написал свою первую статью на habr, о том как надо подходить к собесам, что бы найти нужного кандидата. Делюсь - https://habr.com/ru/articles/924228/
Хабр
Как собеседовать не идеальных
Собеседования — как очередь в муниципальной больнице: все там были, но мало кто потом вспоминает с теплом. Кто-то берет «100 каверзных вопросов для собеседования» из интернета, кто-то топит за знание...
❤🔥3👍1🔥1
Если надо прогнать нагрузку на API или сервис и посмотреть, как он держит, можно взять k6.
Пишешь тест на JS, запускаешь – получаешь метрики: отклик, ошибки, нагрузку. Можно даже в Grafana вывести.
Пример теста:
Запуск:
(Тестировал – работает) 🚀
#k6 #loadtesting #perftesting
Пишешь тест на JS, запускаешь – получаешь метрики: отклик, ошибки, нагрузку. Можно даже в Grafana вывести.
Пример теста:
import http from 'k6/http';
import { check } from 'k6';
// Настройки нагрузки:
// 1. 50 пользователей за 30 сек
// 2. Держим 100 пользователей минуту
// 3. Плавно сбрасываем
export let options = {
stages: [
{ duration: '30s', target: 50 },
{ duration: '1m', target: 100 },
{ duration: '20s', target: 0 },
],
};
// Сам тест: дергаем API и проверяем, что отвечает 200
export default function () {
let res = http.get('https://api.example.com/data');
check(res, { 'Status 200': (r) => r.status == 200 });
}
Запуск:
k6 run test.js
(Тестировал – работает) 🚀
#k6 #loadtesting #perftesting
👍2🔥1
И цена поездки null. Все как мы любим. #пятничныйюмор
P.S. Я в отпуске, поэтому на этой недели только позитивное, мозг совсем не готов напрягаться, даже когда дергают на очень важные встречи. Но на следующую неделю уже полезного контента накопил. Осталось в кучку себя собрать :)
P.S. Я в отпуске, поэтому на этой недели только позитивное, мозг совсем не готов напрягаться, даже когда дергают на очень важные встречи. Но на следующую неделю уже полезного контента накопил. Осталось в кучку себя собрать :)
😁7
В одном из каналов, мне порекомендовали slog-context, понравился. Работает с slog и logr.
Суть его в том что добавляет автоматизацию, что бы не использовать
Выглядит примерно так:
Суть его в том что добавляет автоматизацию, что бы не использовать
slog.WithContex. Может автоматом добавлять атрибуты к логам - traceID, request-id, user-id и прочее. Выглядит примерно так:
func helloHandler(w http.ResponseWriter, r *http.Request) {
ctx, span := tracer.Start(r.Context(), "helloHandler")
defer span.End()
slogctx.Info(ctx, "starting long calculation...")
/*
{
"time": "2023-11-17T03:11:20.584592-07:00",
"level": "INFO",
"msg": "starting long calculation...",
"TraceID": "15715df45965b4a2db6dc103a76e52ae",
"SpanID": "76d364cdd598c895"
}
*/
time.Sleep(5 * time.Second)
slogctx.Error(ctx, "something failed...")
/*
{
"time": "2023-11-17T03:11:25.586464-07:00",
"level": "ERROR",
"msg": "something failed...",
"TraceID": "15715df45965b4a2db6dc103a76e52ae",
"SpanID": "76d364cdd598c895"
}
*/
w.WriteHeader(http.StatusInternalServerError)
// The OTEL exporter will soon after output the trace, which will include this and much more:
/*
{
"Name": "helloHandler",
"SpanContext": {
"TraceID": "15715df45965b4a2db6dc103a76e52ae",
"SpanID": "76d364cdd598c895"
},
"Status": {
"Code": "Error",
"Denoscription": "something failed..."
}
}
*/
}
GitHub
GitHub - veqryn/slog-context: Use golang structured logging (slog) with context. Add and retrieve logger to and from context. Add…
Use golang structured logging (slog) with context. Add and retrieve logger to and from context. Add attributes to context. Automatically read any custom context values, such as OpenTelemetry TraceI...
Сегодня первый рабочий день, удобно, рекомендую :)
#пятничныйюмор
«Зарегался в Мах — сначала было немного непривычно после телеги, но быстро втянулся.
Интерфейс удобный, всё работает чётко, а главное - своя, отечественная платформа.
Приятно осознавать, что можно не зависеть от иностранных сервисов. Советую попробовать!
(Текст не редактировать, информацию в скобках удалить. Оплата по ранее указанными реквизитам в течение 15 минут после публикации)»
#пятничныйюмор
«Зарегался в Мах — сначала было немного непривычно после телеги, но быстро втянулся.
Интерфейс удобный, всё работает чётко, а главное - своя, отечественная платформа.
Приятно осознавать, что можно не зависеть от иностранных сервисов. Советую попробовать!
(Текст не редактировать, информацию в скобках удалить. Оплата по ранее указанными реквизитам в течение 15 минут после публикации)»
😁18🤩2❤1
У Yota потрясающая система перерегистрации сим-карты на нового пользователя (интересно, только у них или у всех).
Здоровый человек думает как - собственник идет в отдел продаж, с паспортом и говорит - перерегистрируйте на нового человека, вот его данные.
А Yota так не думает. Она говорит приходи с сим-картой и паспортом в офис и мы зарегистрируем симку на на тебя. Через два часа после посещения, ты будешь новым собственником.
#yota #симкарта #оформление
Здоровый человек думает как - собственник идет в отдел продаж, с паспортом и говорит - перерегистрируйте на нового человека, вот его данные.
А Yota так не думает. Она говорит приходи с сим-картой и паспортом в офис и мы зарегистрируем симку на на тебя. Через два часа после посещения, ты будешь новым собственником.
#yota #симкарта #оформление
🔥1🥴1
Давно уже писал, что ищу способ возвращаться к своим пет проектам без боли. Потому что нет возможности каждый день работать, и, возвращаясь к проекту, очень долго приходится вспоминать, где остановился.
Ввёл документацию, прям очень помогло, хотя, конечно, работы прибавляет. Но историю быстро продолжить с того же места — это не решает.
Нашел прям супер простой рецепт, который стал золотой пулей: перед тем как встать из-за стола, просто пишешь в одно-два предложения, что делал и что нужно сделать дальше. Для этого создал “NOTES.md”, добавил в .gitignore. И вот прям достаточно, прочитав, сразу вспоминаю, что делал и что нужно дальше, и в целом дальше продолжаю работать. Сюда же пишу какие-то мысли, идеи на будущее.
И стал вести To-do, но не просто ввести в комментариях, где-то в середине работы, открываю и каждый раз разбираю весь список.
А вы как с этим справляетесь?
#todo #pets #эффективность #opensource
Ввёл документацию, прям очень помогло, хотя, конечно, работы прибавляет. Но историю быстро продолжить с того же места — это не решает.
Нашел прям супер простой рецепт, который стал золотой пулей: перед тем как встать из-за стола, просто пишешь в одно-два предложения, что делал и что нужно сделать дальше. Для этого создал “NOTES.md”, добавил в .gitignore. И вот прям достаточно, прочитав, сразу вспоминаю, что делал и что нужно дальше, и в целом дальше продолжаю работать. Сюда же пишу какие-то мысли, идеи на будущее.
И стал вести To-do, но не просто ввести в комментариях, где-то в середине работы, открываю и каждый раз разбираю весь список.
А вы как с этим справляетесь?
#todo #pets #эффективность #opensource
👍9❤3
В Telegram вышло крупное обновление, и я всё больше влюбляюсь в мини-приложения.
Первыми их запустили в WeChat — идея, наверное, пришла оттуда, но реализация в Telegram получилась куда более удобной. Хотел показать пример на новом BotFather (теперь он работает как мини-приложение): это просто восторг — красиво и интуитивно, но, похоже, желающих протестировать оказалось больше, чем выдерживает их веб-сервер. 😊
И это ещё не всё. В Telegram появился рейтинг, который растёт, когда тратишь или покупаешь звёзды. В раннем «ВКонтакте» было нечто похожее: заплатив или применив хитрые лайфхаки, можно было резко взлететь в топ — и это считалось безумно крутым. Есть тут олды, кто помнит?
#Telegram #обновление #миниприложения #BotFather #WeChat #звёзды #рейтинг #nostalgia #ВКонтакте
Первыми их запустили в WeChat — идея, наверное, пришла оттуда, но реализация в Telegram получилась куда более удобной. Хотел показать пример на новом BotFather (теперь он работает как мини-приложение): это просто восторг — красиво и интуитивно, но, похоже, желающих протестировать оказалось больше, чем выдерживает их веб-сервер. 😊
И это ещё не всё. В Telegram появился рейтинг, который растёт, когда тратишь или покупаешь звёзды. В раннем «ВКонтакте» было нечто похожее: заплатив или применив хитрые лайфхаки, можно было резко взлететь в топ — и это считалось безумно крутым. Есть тут олды, кто помнит?
#Telegram #обновление #миниприложения #BotFather #WeChat #звёзды #рейтинг #nostalgia #ВКонтакте
В рейтинге https://www.tiobe.com/tiobe-index/ - Perl c 30-го места, практически за год, скаканул на 11. Что в нем открыли заново такое, что он стал на столько популярным?
😁3❤1🤯1🌚1
Понадобилось мне на днях воспользоваться туннелем, чтобы запросы из интернета приходили на мой локальный компьютер
Раньше для такой цели использовал ngrok (о нем писал), а тут не получилось. Не работает даже с VPN, сайт тоже не открывается. Начал гуглить — оказалось, что в последние месяцы были постоянные блокировки.
Попробовал несколько альтернатив, лучшим оказалась Tuna. Есть бесплатный тариф, если нужен статический домен — то 299 рублей в месяц . Работает быстро, на MacOS ставится через brew и сразу работает. Соединение стабильнее держит чем ngrok.
#тунелировие #ngrok #tuna
Раньше для такой цели использовал ngrok (о нем писал), а тут не получилось. Не работает даже с VPN, сайт тоже не открывается. Начал гуглить — оказалось, что в последние месяцы были постоянные блокировки.
Попробовал несколько альтернатив, лучшим оказалась Tuna. Есть бесплатный тариф, если нужен статический домен — то 299 рублей в месяц . Работает быстро, на MacOS ставится через brew и сразу работает. Соединение стабильнее держит чем ngrok.
#тунелировие #ngrok #tuna
Tuna
TUNA — Платформа для разработчиков / Tuna
Платформа для разработчиков: туннели, вебхуки, шлюзы, секреты, менеджер паролей, SSH-бастион и отчёты — всё в одном месте по цене одного сервиса.
😢3