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
Последствия неверного деления на микросервисы

Дано: сервис, который отправляет запросы в сторонний 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
Наконец-то в мире начали существовал мониторы, которые я давно жду. А именно:
1. Широкий (21:9)
2. С разрешением аналогичным 4К (а не 2к) - 5120×2160
3. С большой герцовкой (больше 60) - 120 Гц
4. IPS матрица (а не VA)

Раньше такие мониторы существовали, но не со всеми четырьмя характеристиками одновременно - обычно не было герцовки. Но на CES 2024 Dell представила именно такой монитор!

Dell U4025QW

Link

Цена - $2400
🔥3
80% веб-серверов в интернете это UNIX-like системы
link
61🤡1
package main

import "fmt"

func main() {
a := 9999999999999999.0
b := 9999999999999998.0

fmt.Println(a - b) // = 2
}

Много где также:
link
👍3🤔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/
🔥1
Лайфхак. Как обходить Paywall на сайтах

Ссылки для теста:
Medium статья с Paywall
The New York Times статья с Paywall

Вставляем ссылку в archive.is (В синее поле, а не красное) и читаем. Пробовал с Wayback Machine - не работает.

А вот удобное расширение чтобы прямо со страницы открывать ее сохраненную копию в разных сервисах-архивах.
👍10
😁133👨‍💻1