myStack
前往频道在 Telegram
Меня зовут Ростислав и я разработчик. Это мой личный блог. Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда. Книги: https://bit.ly/rostislav-books Личка: https://t.me/Rostislaved Сайт: Rostislav.me
显示更多877
订阅者
无数据24 小时
-17 天
-430 天
帖子存档
877
Repost from ☕️ Мерлин заваривает τσάι 🐌
Интерактивные заметки к грядущему релизу go 1.22 https://antonz.org/go-1-22/
877
Копирование текста с сайтов без ссылки на источник
Есть такие сайты, на которых, копируя текст, добавляется еще ссылка на источник. Например вот тут при выделении слова "Япония" и вставке вставится следующее:
Япония Источник: https://travelask.ru/articles/samye-krasivye-goroda-yaponiiЧтобы отключить это в Firefox надо зайти в
about:config и значение
dom.event.clipboardevents.enabled
поставить в false
UPD: ерунда. Есть побочки: например в гугл докс нельзя копировать, а еще сайт по форматированию json'а как-то криво стал копировать.877
Изменения функции append в Go 1.18 с графиками
В 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
и т.д.
Вот полная статья с графиками и кодом877
#книги
31.07.2023 - 27.11.2023
не дочитал (прочитал 18 глав из 27)
Книга отличная, но читать не закончил по ряду причин:
1. Читал перед сном и не очень все понимал из-за этого
2. Перестал видеть актуальность т.к. не предвиделось применение этих знаний на практике
3. Хотел начать читать другое
Однако книга хорошая. Она показывает закономерности в экономике на интуитивных примерах.
Мне очень понравилось про цены, про то, какой они важный инструмент в экономике и что их (а точнее рыночную экономику) нельзя заменить на плановую экономику - по крайней мере я стал так считать. При этом автор рассказывает о некоторых направлениях, где именно принятие решений государством более эффективно, например, расходы на оборону, которые не имеют смысл, если бы их каждый покупал за деньги для себя.
Вообще, после этой книги я стал немного больше капиталистом :) стал считать, что платная медицина нужна - так выгоднее для нации в целом. Также выгоднее отсутствие разных субсидий, т.к. это не значит, что во что-то деньги вложились из неоткуда - это значит, что деньги где-то убыли, что опять невыгодно для нации в целом.
Девизом этой книги можно назвать фразу: "allocation of scarce resources which have alternative uses". Она там очень часто встречается. По сути она про то, что цены позволяют распределить конечные ресурсы максимально эффективно, а без цен эффективность этого распределения не максимальна и это влияет на благосостояние нации в целом.
877
Последствия неверного деления на микросервисы
Дано: сервис, который отправляет запросы в сторонний API. Для каждого запроса нужен токен в хедере, чтобы пройти авторизацию. Токен можно получить отправив запрос с логином и паролем. Токен живет сутки. При получении сервисом токена он кэшировался на сутки. Всего можно получить 5 токенов. При получении 6го протухает первый и т.д.
Появилась проблема. Токен вдруг стал протухать за 30 минут. После долгих попыток найти проблему в сервисе выяснилось, что существовал второй сервис, который использовал те же логин и пароль для получения токена и в этом сервисе поменяли время кэширования токена на 5 минут. Как итог этот второй сервис за 30 минут получал 5 новых токенов, а при получении 6го инвалидировал токен в первом сервисе, а этот первый сервис еще пол часа думал, что токен валидный.
877
Если у кого-то есть 12 тысяч (вместо 14.5), то можете купить себе премиум на литкоде до 27го ноября
877
#книги
23.10.2023 - 22.11.2023
Давно заглядывался на эту книгу и считал, что именно в ней увижу то, что хотел, но увидел не всё.
Во-первых, книга довольно старая (2003 год это очень давно для индустрии). Поэтому хоть и язык примеров никуда не делся (java), то про всякие технологии сегодня уже мало кто слышал. Спасает то, что паттерны описаны без привязки к этим технологиям, как и должно быть в книге по паттернам. Однако, мир довольно-таки сильно поменялся и теперь у нас не популярны "программы, которые мы покупаем и встраиваем", поэтому некоторые паттерны могут быть не так актуальны.
Во-вторых, книга все же про энтерпрайз системы, где легаси как раз может быть, а не про модные микросервисы.
Тем не менее написана довольно неплохо, на амазоне у нее вообще 4.7 (что почти теоретический максимум). Как и любую книгу по паттернам можно использовать, как справочник. Только я слабо представляю, как такие книги можно использовать, как справочник, не прочитав сначала полностью. Но вот я прочитал и теперь есть какая-то структура в голове. Заодно узнал, что существует более современная книга от другого знаменитого автора: Vaughn Vernon - Reactive Messaging Patterns with the Actor Model. (Главы в ней почти идентичны, хоть и про продель акторов. Но т.к. рейтинг 4.3 и автор вроде скучный читать я ее не буду. Но как справочник - норм.)
Хоть и читать было скучновато, но я рад, что сделал это ибо классика. Ну и обсидиан наполнил конспектом и дополнениями к некоторым, уже существующим, заметкам.
877
В июне 2024го Google Chrome запретит блокировщики рекламы вроде AdBlock и uBlock
https://infosec.exchange/@catsalad/111426154930652642
Как и написано в статье - отличное время перейти на Firefox
877
| Язык | Количество ключевых слов |
|--------------|--------------------------|
| C# | 86 |
| PHP | 75 |
| Haskell | 70 |
| JavaScript | 63 |
| C++ | 62 |
| Kotlin | 59 |
| Rust | 52 |
| Java | 50 |
| Scala | 50 |
| Swift | 48 |
| Erlang | 46 |
| Ruby | 42 |
| Groovy | 40 |
| TypeScript | 36 |
| Python | 35 |
| Objective-C | 32 |
| C | 32 |
| Perl | 31 |
| Go | 25 |
| Dart | 24 |
| Lua | 22 |
ChatGPT877
Отправил ссылку на премиум 11 летней сестре. У нее чет не получилось открыть и она случайно отправила подруге. У подруги получилось.
