Последствия неверного деления на микросервисы
Дано: сервис, который отправляет запросы в сторонний API. Для каждого запроса нужен токен в хедере, чтобы пройти авторизацию. Токен можно получить отправив запрос с логином и паролем. Токен живет сутки. При получении сервисом токена он кэшировался на сутки. Всего можно получить 5 токенов. При получении 6го протухает первый и т.д.
Появилась проблема. Токен вдруг стал протухать за 30 минут. После долгих попыток найти проблему в сервисе выяснилось, что существовал второй сервис, который использовал те же логин и пароль для получения токена и в этом сервисе поменяли время кэширования токена на 5 минут. Как итог этот второй сервис за 30 минут получал 5 новых токенов, а при получении 6го инвалидировал токен в первом сервисе, а этот первый сервис еще пол часа думал, что токен валидный.
Дано: сервис, который отправляет запросы в сторонний API. Для каждого запроса нужен токен в хедере, чтобы пройти авторизацию. Токен можно получить отправив запрос с логином и паролем. Токен живет сутки. При получении сервисом токена он кэшировался на сутки. Всего можно получить 5 токенов. При получении 6го протухает первый и т.д.
Появилась проблема. Токен вдруг стал протухать за 30 минут. После долгих попыток найти проблему в сервисе выяснилось, что существовал второй сервис, который использовал те же логин и пароль для получения токена и в этом сервисе поменяли время кэширования токена на 5 минут. Как итог этот второй сервис за 30 минут получал 5 новых токенов, а при получении 6го инвалидировал токен в первом сервисе, а этот первый сервис еще пол часа думал, что токен валидный.
😢2👍1
#книги
Thomas Sowell - Basic Economics
31.07.2023 - 27.11.2023
не дочитал (прочитал 18 глав из 27)
Книга отличная, но читать не закончил по ряду причин:
1. Читал перед сном и не очень все понимал из-за этого
2. Перестал видеть актуальность т.к. не предвиделось применение этих знаний на практике
3. Хотел начать читать другое
Однако книга хорошая. Она показывает закономерности в экономике на интуитивных примерах.
Мне очень понравилось про цены, про то, какой они важный инструмент в экономике и что их (а точнее рыночную экономику) нельзя заменить на плановую экономику - по крайней мере я стал так считать. При этом автор рассказывает о некоторых направлениях, где именно принятие решений государством более эффективно, например, расходы на оборону, которые не имеют смысл, если бы их каждый покупал за деньги для себя.
Вообще, после этой книги я стал немного больше капиталистом :) стал считать, что платная медицина нужна - так выгоднее для нации в целом. Также выгоднее отсутствие разных субсидий, т.к. это не значит, что во что-то деньги вложились из неоткуда - это значит, что деньги где-то убыли, что опять невыгодно для нации в целом.
Девизом этой книги можно назвать фразу: "allocation of scarce resources which have alternative uses". Она там очень часто встречается. По сути она про то, что цены позволяют распределить конечные ресурсы максимально эффективно, а без цен эффективность этого распределения не максимальна и это влияет на благосостояние нации в целом.
Thomas Sowell - Basic Economics
31.07.2023 - 27.11.2023
не дочитал (прочитал 18 глав из 27)
Книга отличная, но читать не закончил по ряду причин:
1. Читал перед сном и не очень все понимал из-за этого
2. Перестал видеть актуальность т.к. не предвиделось применение этих знаний на практике
3. Хотел начать читать другое
Однако книга хорошая. Она показывает закономерности в экономике на интуитивных примерах.
Мне очень понравилось про цены, про то, какой они важный инструмент в экономике и что их (а точнее рыночную экономику) нельзя заменить на плановую экономику - по крайней мере я стал так считать. При этом автор рассказывает о некоторых направлениях, где именно принятие решений государством более эффективно, например, расходы на оборону, которые не имеют смысл, если бы их каждый покупал за деньги для себя.
Вообще, после этой книги я стал немного больше капиталистом :) стал считать, что платная медицина нужна - так выгоднее для нации в целом. Также выгоднее отсутствие разных субсидий, т.к. это не значит, что во что-то деньги вложились из неоткуда - это значит, что деньги где-то убыли, что опять невыгодно для нации в целом.
Девизом этой книги можно назвать фразу: "allocation of scarce resources which have alternative uses". Она там очень часто встречается. По сути она про то, что цены позволяют распределить конечные ресурсы максимально эффективно, а без цен эффективность этого распределения не максимальна и это влияет на благосостояние нации в целом.
🎉3❤1
Изменения функции append в Go 1.18 с графиками
В go 1.18 произошло изменение алгоритма функции append.
В функции growslice, которая вызывается функцией append изменился этот код:
на этот:
Это исправляло нарушение монотонности, а конкретно вот эту ситуацию:
однако не исправило многие другие:
Вот полная статья с графиками и кодом
В go 1.18 произошло изменение алгоритма функции append.
В функции growslice, которая вызывается функцией append изменился этот код:
const threshold = 1024
if oldCap < threshold {
newcap = doublecap
} else {
for 0 < newcap && newcap < newLen {
newcap += newcap / 4
}
if newcap <= 0 {
newcap = newLen
}
}
на этот:
const threshold = 256
if oldCap < threshold {
newcap = doublecap
} else {
for 0 < newcap && newcap < newLen {
newcap += (newcap + 3*threshold) / 4
}
if newcap <= 0 {
newcap = newLen
}
}
Это исправляло нарушение монотонности, а конкретно вот эту ситуацию:
// до 1.18
fmt.Println(cap(append(make([]int, 1023), make([]int, 1)…))) // 2048
fmt.Println(cap(append(make([]int, 1024), make([]int, 1)…))) // 1280
однако не исправило многие другие:
// после 1.18
fmt.Println(cap(append(make([]int, 259), make([]int, 257)…))) // 848
fmt.Println(cap(append(make([]int, 260), make([]int, 257)…))) // 608
fmt.Println(cap(append(make([]int, 831), make([]int, 400)…))) // 1792
fmt.Println(cap(append(make([]int, 832), make([]int, 400)…))) // 1280
и т.д.
Вот полная статья с графиками и кодом
👍7
Копирование текста с сайтов без ссылки на источник
Есть такие сайты, на которых, копируя текст, добавляется еще ссылка на источник. Например вот тут при выделении слова "Япония" и вставке вставится следующее:
Чтобы отключить это в Firefox надо зайти в и значение
поставить в
UPD: ерунда. Есть побочки: например в гугл докс нельзя копировать, а еще сайт по форматированию json'а как-то криво стал копировать.
Япония Источник: https://travelask.ru/articles/samye-krasivye-goroda-yaponii
Чтобы отключить это в Firefox надо зайти в
about:configdom.event.clipboardevents.enabledпоставить в
falseUPD: ерунда. Есть побочки: например в гугл докс нельзя копировать, а еще сайт по форматированию json'а как-то криво стал копировать.
👍10 7🥱1👾1
Forwarded from ☕️ Мерлин заваривает τσάι 🐌
Интерактивные заметки к грядущему релизу go 1.22 https://antonz.org/go-1-22/
antonz.org
Go 1.22 interactive tour
Isolated loop variables, range over integers, math/rand v2 and enhanced routing.
Наконец-то в мире начали существовал мониторы, которые я давно жду. А именно:
1. Широкий (21:9)
2. С разрешением аналогичным 4К (а не 2к) - 5120×2160
3. С большой герцовкой (больше 60) - 120 Гц
4. IPS матрица (а не VA)
Раньше такие мониторы существовали, но не со всеми четырьмя характеристиками одновременно - обычно не было герцовки. Но на CES 2024 Dell представила именно такой монитор!
Dell U4025QW
Link
Цена - $2400
1. Широкий (21:9)
2. С разрешением аналогичным 4К (а не 2к) - 5120×2160
3. С большой герцовкой (больше 60) - 120 Гц
4. IPS матрица (а не VA)
Раньше такие мониторы существовали, но не со всеми четырьмя характеристиками одновременно - обычно не было герцовки. Но на CES 2024 Dell представила именно такой монитор!
Dell U4025QW
Link
Цена - $2400
🔥3
#книги
Michael J. Hernandez - Database Design for Mere Mortals
27.11.2023 - 18.01.2024
Скучно. Не особо техническая книга. Я бы сказал, что ее можно сжать раз в 5 (до 100 страниц).
В общем, книга про то, как делать логический (на бумаге и без программы) дизайн баз данных, если это твоя единственная задача на работе.
Что-то я из нее конечно узнал и поэтому не могу сказать, что она бесполезная, но, как уже написал, оцениваю эти знания достойными 100 страниц, а не 500. Хотя еще не до конца понял, бесполезно ли читать информацию выраженную в большем объеме текста, чем возможно, ибо сами книги для меня имеют больший вес, чем, например, статьи, где в принципе можно изложить те же идеи. И вот между статьями и книгами я выбираю книги т.к. среди прочего число повторений помогает лучше осознать суть. Но до какой степени можно экстраполировать эту идею? Вот книгу в 100 раз больше читать нет смысла т.к. это уже за гранью, а в 2 раза? Короче где-то есть граница и вот тут, считаю, она должна быть раньше, чем есть :)
Если коротко, то в книге это: путем обсуждений с людьми собираем поля, которые будут в таблицах будущей бд, делаем из них таблицы, устанавливаем связи. Идея, что сперва поля, а потом таблицы показалась интересной.
В целом, конечно, теперь лучше понимаю, как должна выглядеть логическая схема бд, что такое связи, вьюшки и какие виды таблиц могут быть.
Michael J. Hernandez - Database Design for Mere Mortals
27.11.2023 - 18.01.2024
Скучно. Не особо техническая книга. Я бы сказал, что ее можно сжать раз в 5 (до 100 страниц).
В общем, книга про то, как делать логический (на бумаге и без программы) дизайн баз данных, если это твоя единственная задача на работе.
Что-то я из нее конечно узнал и поэтому не могу сказать, что она бесполезная, но, как уже написал, оцениваю эти знания достойными 100 страниц, а не 500. Хотя еще не до конца понял, бесполезно ли читать информацию выраженную в большем объеме текста, чем возможно, ибо сами книги для меня имеют больший вес, чем, например, статьи, где в принципе можно изложить те же идеи. И вот между статьями и книгами я выбираю книги т.к. среди прочего число повторений помогает лучше осознать суть. Но до какой степени можно экстраполировать эту идею? Вот книгу в 100 раз больше читать нет смысла т.к. это уже за гранью, а в 2 раза? Короче где-то есть граница и вот тут, считаю, она должна быть раньше, чем есть :)
Если коротко, то в книге это: путем обсуждений с людьми собираем поля, которые будут в таблицах будущей бд, делаем из них таблицы, устанавливаем связи. Идея, что сперва поля, а потом таблицы показалась интересной.
В целом, конечно, теперь лучше понимаю, как должна выглядеть логическая схема бд, что такое связи, вьюшки и какие виды таблиц могут быть.
👍3
The Hacker News Top 40 books of 2023
Немного странный сборник, т.к. формировался по упоминаниям\советам на сайте, но тем не менее, много отличных книг!
https://hnreads.com/post/top40_2023/
Немного странный сборник, т.к. формировался по упоминаниям\советам на сайте, но тем не менее, много отличных книг!
https://hnreads.com/post/top40_2023/
HN Reads
The Hacker News Top 40 books of 2023
Hi, welcome to the brand new website, HN Reads. I enjoy reading Hacker News and I love buying books (and reading), and I also love data, so what better than doing some processing of data about books …
🔥1
Лайфхак. Как обходить Paywall на сайтах
Ссылки для теста:
Medium статья с Paywall
The New York Times статья с Paywall
Вставляем ссылку в archive.is (В синее поле, а не красное) и читаем. Пробовал с Wayback Machine - не работает.
А вот удобное расширение чтобы прямо со страницы открывать ее сохраненную копию в разных сервисах-архивах.
Ссылки для теста:
Medium статья с Paywall
The New York Times статья с Paywall
Вставляем ссылку в archive.is (В синее поле, а не красное) и читаем. Пробовал с Wayback Machine - не работает.
А вот удобное расширение чтобы прямо со страницы открывать ее сохраненную копию в разных сервисах-архивах.
👍10