myStack
890 subscribers
761 photos
15 videos
27 files
310 links
Меня зовут Ростислав и я разработчик.

Это мой личный блог.

Я пишу на Go, читаю книги про технологии и пишу об этих и других вещах сюда.


Книги:
https://bit.ly/rostislav-books

Личка:
https://t.me/Rostislaved

Сайт:
Rostislav.me
Download Telegram
literally me
опа
🔥16🏆2🤯1
Отправил ссылку на премиум 11 летней сестре. У нее чет не получилось открыть и она случайно отправила подруге. У подруги получилось.
🤣19😁4🌚2
Сделал стикер, чтобы врываться в чатики
This media is not supported in your browser
VIEW IN TELEGRAM
😁7
Секунд 15 не мог понять, при чем тут кэш. (редис который, например). Реально в дурку пора
😁7👍6🤣5
| Язык         | Количество ключевых слов |
|--------------|--------------------------|
| 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 |


ChatGPT
👍8🤔3
#книги
Gregor Hohpe, Bobby Woolf - Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
23.10.2023 - 22.11.2023

Давно заглядывался на эту книгу и считал, что именно в ней увижу то, что хотел, но увидел не всё.

Во-первых, книга довольно старая (2003 год это очень давно для индустрии). Поэтому хоть и язык примеров никуда не делся (java), то про всякие технологии сегодня уже мало кто слышал. Спасает то, что паттерны описаны без привязки к этим технологиям, как и должно быть в книге по паттернам. Однако, мир довольно-таки сильно поменялся и теперь у нас не популярны "программы, которые мы покупаем и встраиваем", поэтому некоторые паттерны могут быть не так актуальны.
Во-вторых, книга все же про энтерпрайз системы, где легаси как раз может быть, а не про модные микросервисы.

Тем не менее написана довольно неплохо, на амазоне у нее вообще 4.7 (что почти теоретический максимум). Как и любую книгу по паттернам можно использовать, как справочник. Только я слабо представляю, как такие книги можно использовать, как справочник, не прочитав сначала полностью. Но вот я прочитал и теперь есть какая-то структура в голове. Заодно узнал, что существует более современная книга от другого знаменитого автора: Vaughn Vernon - Reactive Messaging Patterns with the Actor Model. (Главы в ней почти идентичны, хоть и про модель акторов. Но т.к. рейтинг 4.3 и автор вроде скучный читать я ее не буду. Но как справочник - норм.)

Хоть и читать было скучновато, но я рад, что сделал это ибо классика. Ну и обсидиан наполнил конспектом и дополнениями к некоторым, уже существующим, заметкам.
👍2🔥1
Если у кого-то есть 12 тысяч (вместо 14.5), то можете купить себе премиум на литкоде до 27го ноября
👍1
Последствия неверного деления на микросервисы

Дано: сервис, который отправляет запросы в сторонний 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". Она там очень часто встречается. По сути она про то, что цены позволяют распределить конечные ресурсы максимально эффективно, а без цен эффективность этого распределения не максимальна и это влияет на благосостояние нации в целом.
🎉31
Изменения функции 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
и т.д.


Вот полная статья с графиками и кодом
👍7
Фотография «After Microsoft» 2006

"Безмятежность" спустя 10 лет
121
Копирование текста с сайтов без ссылки на источник

Есть такие сайты, на которых, копируя текст, добавляется еще ссылка на источник. Например вот тут при выделении слова "Япония" и вставке вставится следующее:
Япония Источник: https://travelask.ru/articles/samye-krasivye-goroda-yaponii


Чтобы отключить это в Firefox надо зайти в
about:config и значение
dom.event.clipboardevents.enabled
поставить в
false

UPD: ерунда. Есть побочки: например в гугл докс нельзя копировать, а еще сайт по форматированию json'а как-то криво стал копировать.
👍107🥱1👾1
Представляю вашему вниманию: снегиря
😁12
Топ и антитоп компаний среди русскоязычных IT-специалистов

source
🌚53