myStack
877 subscribers
754 photos
15 videos
24 files
304 links
Меня зовут Ростислав и я разработчик.

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

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


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

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

Сайт:
Rostislav.me
Download Telegram
#книги
Daniel Kahneman - Thinking, Fast and Slow
30.12.2025 - 21.02.2026


В русском переводе название звучит "Думай медленно, решай быстро", но в книге не говорится о том, что надо что-то быстро решать, это неудачный перевод. В оригинале название - Thinking, Fast and Slow, что гораздо более точно отражает представленную модель мышления в книге: есть две системы, одна быстрая, но подвержена ошибкам, а вторая медленная, более энергозатратная, но умная. В частности из-за этого перевода и из-за других своих ожиданий я рассчитывал получить все же больше каких-то практических рекомендаций, но в итоге эта книга - скорее описание мышления и разных неочевидных его нюансов.

Одним из самых полезных было именно описание модели мышления из двух систем. Например, именно система 1 ответственна за быстрый (и часто неверный) ответ на задачу:
>Если 5 машин за 5 минут делают 5 деталей, сколько времени нужно 100 машинам для 100 деталей?

А если мы потрудимся и подумаем (включим систему 2), то с большей вероятностью найдем верный ответ. Но трудиться сложнее, чем не трудиться, поэтому часто решение принимает система 1.

В остальном для развития мышления лучше прочитать книгу по логике.

Сложно сказать, было ли полезно читать книгу или нет. Абсолютно бесполезной не назвать, но и обратное сказать сложно. Наверное, соотношение полезности к числу страниц для меня вышло меньше, чем мне бы того хотелось, в ней много болтовни и мало выводов.

В любом случае я рад, что прочитал, ибо давно хотел, и если бы не прочитал, то все еще бы хотел и это бы меня мучило)
172
Okular

Наконец-то получилось починить Okular, чтобы открывал ссылки в браузере, а не показывал это бесячее окно)

Если кому вдруг актуально, то:
sudo pacman -S --needed archlinux-xdg-menu
sudo mkdir -p /etc/xdg/menus
sudo ln -sf /etc/xdg/menus/arch-applications.menu /etc/xdg/menus/applications.menu
41
Martin Kleppmann - Designing Data-Intensive Applications

Во втором издании Кабанчика в схемах объясняющих уровни изоляции транзакций поменяли имена

(Alice и Bob - это условные персонажи, которые используются в информатике, криптографии и теории протоколов для объяснения взаимодействия между сторонами.)
😁9🤮7🤔311
у меня сегодня день вайбкодинга... Ощущения отвратительные.

Всё же мне нравится писать код самому
👍20😁74
Спасибо чатГПТ
😁31
samber/lo
https://github.com/samber/lo

ура!

После долгих уговоров в самом популярном issue (примерно с Марта 2022го) в либу добавляются варианты функций, которые возвращают ошибки (это пока еще pr, но он от мейнтейнера, так что скоро будет).

Раньше можно было так:
ids := []int{1, 2, 3}

idsStr := lo.Map(ids, func(id int, _ int) string {
return strconv.Itoa(id)
})

// idsStr = []string{"1", "2", "3"}


но вот так уже было нельзя:
idsStr := []string{"1", "2", "3"}

ids := lo.Map(
idsStr,
func(idStr string, _ int) int {
id, err := strconv.Atoi(idStr)
if err != nil {
// что делать с err?
}

return id
},
)


Теперь же будет можно:
ids, err := lo.MapErr(
idsStr,
func(idStr string, _ int) (int, error) {
id, err := strconv.Atoi(idStr)
if err != nil {
return 0, err
}

return id, nil
},
)


И аналогично для многих других функций (еще некоторые добавятся в отдельных pr).
5👍4
Грязная архитектура

Наткнулся на очередной репозиторий по "чистой архитектуре". 1к звезд между прочим! Наверное что-то крутое. Смотрим первым делом на юзкейс:
https://github.com/khannedy/golang-clean-architecture/blob/main/internal/usecase/user_usecase.go

1. Импорт gorm
2. Импорт Fiber
3. Импорт интерфейса Repository из пакета Repository
4. Явный вызов бд транзакций в юзкейсе
...

Другие файлы открывать просто нет смысла

Если бы у меня была задача сделать репозиторий максимально противоречащий чистой архитектуре, то я бы вряд ли справился лучше, чем тут
11😭2
Preston Thorpe

Есть такой проект Turso - это "SQLite на rust".

Так вот оказывается один из ее топ контрибьютеров, а теперь уже сотрудник работает из тюрьмы, где у него большой срок.

Вот его история и продолжение

Linkedin: https://www.linkedin.com/in/pthorpe92/

На гитхабе жесть: https://github.com/PThorpe92
13🤡1
Курс по чистой архитектуре и DDD

Хотел бы поделиться вот этим курсом:
https://microarch.ru/courses/ddd/languages/go

Это лучшее, что я встречал по теме. Считаю, что просто великолепный материал - на порядок лучше всего, что я когда-либо видел на ютубе.
- Отличная подача, структурированно и последовательно
- Отсутствие ошибок! Это редкость в принципе: на ютубе и примерах на гитхабе их миллионы.
- Шикарнеший набор тем

Если вы не знаете, какие вам знания нужны в архитектуре приложений, то в этом курсе все, что вам нужно. Даже не сомневайтесь
3
#книги
PostgreSQL 17 изнутри
21.02.2026 - 19.03.2026

Книга состоит из следующих частей:
- Часть I. Изоляция и многоверсионность
- Часть II. Буферный кеш и журнал
- Часть III. Блокировки
- Часть IV. Выполнение запросов
- Часть V. Типы индексов
Это определенно книга не для изучения SQL. Знание SQL подразумевается для чтении этой книги, но в целом неглубокое.

Написано забористо. Многое я конечно не усвоил и придется возвращаться к конкретным главам, если надо будет вспомнить, как все там происходит, но однако теперь понятно, куда возвращаться. Что здорово - теперь бд менее черный ящик. Что нездорово - какую-то модель в голове книга не особо выстраивает, но возможно тут не проблема книги а отсутствие у меня такого же опыта, как у автора.

Вообще бд - это то, где применяются все те алгоритмы из книжек: кольцевой буффер, хэш таблица, шардирование мапы, генетические алгоритмы и много разных деревьев. Даже была мысль, что полезно написать свою бд для того, чтобы разобраться лучше в а) бд и б) алгоритмах и структурах данных.

Какой-то вывод сделать сложно. Не в восторге, но прочитал не зря
9🔥1
Сыр Чеддер назван по месту первоначального произодства - деревня Чеддер в Англии.
4
Obsidian

Раньше я сохранял заметки в Saved Messages телеграма, но у этого есть минусы:
- неструктурированно
- ненадежно
- неудобно писать

Потом перешел на obsidian, что и всем советую.

Тут я хотел бы просто показать пример заметки. Я долго изучал, как правильно все это делать по zettelkasten'у, но в итоге остановился на довольно простом подходе и один из типов заметок выглядит так. Это заметка связанная с какой-то утилитой в системе - она называется также, как и сама утилита и в ней я не описываю все функции утилиты, а просто записываю "инструкции", которые пригодились один раз и помогут сделать то же самое, когда система переустановится. Пример собственно на скрине.

Таких заметок у меня уже довольно много и это здорово помогает. Есть и заметки не по утилитам, а например по паттернам или по темам каким-то, в которых разбирался. Есть по книгам заметки, но в них я в основном пишу то же описание, что и скидываю сюда, когда прочитаю какую-то книгу (хотя в книгах вроде DDD Эванса или POEAA Фаулера у меня много всего). Всего 602 заметки. Скину граф в комментарии
17🔥22
#книги
Е.П. Моргунов - PostgreSQL. Основы языка SQL
19.03.2026 - 05.04.2026

В целом охарактеризовал бы книгу как «нормальную». Есть моменты, которые не понравились, есть те, которые понравились, поэтому выходит что-то среднее. Если попытаться представить, какую оценку она бы имела на Amazon, то я бы сказал 4.4, может, 4.5.

Что понравилось:

- Много задач. Я их, конечно же, не делал, но все равно считаю, что это отлично для такой книги.
- Книга выглядит как та, с которой можно начать изучать SQL, основная часть тем рассказывается нормально.

Вообще мои недовольства - это скорее то, что я от каждой книги жду, что она будет такой же, как те, которые мне сильно понравились.

Что не понравилось или показалось странным:
- Иногда было неясно, нужно ли применять запросы указанные в книге или нет. Например в какой-то момент появляется CREATE TABLE, а в демо базе уже есть эта таблица и получается ошибка. Потом какие-то DELETE и неясно, потребуются ли эти строки в дальнейших примерах или нет, то есть можно ли выполнять запрос или лучше не выполнять.
- Как-то сложно описаны соединения, ибо не было элементарных примеров вроде: «соединяем таблицу с 3 значениями с другой таблицей с 3 значениями». Если знаешь, как это происходит, то такие примеры не нужны, но если только узнал про то, что такое соединения, то будет сложно представить без них.
- Были моменты, которые как будто не лучшие практики, но про нюансы не было сказано.
- Этот пункт, возможно, лично мой, но часто, когда читаю книги или просто примеры, не нравится в дополнение к силам, затраченным на понимание идеи, тратить силы на понимание предметной области. Например, в этой книге те же джойны объясняются на примере базы, предметная область которой - «Авиаперевозки», и чтобы понять идею джойна, требуется ориентироваться в предметной области этой БД - мне это видится как некоторая лишняя работа, которая увеличивает количество информации, которую нужно держать в один момент времени в своей «оперативке».

То есть, чтобы понять множество идей А, тебе еще нужно понимать множество идей B, и без B не понять A, но в этом, на мой взгляд, нет никакой необходимости. Я вообще много где подобное замечаю, и раздражает, что сперва надо провести умственную работу по отсеканию лишнего, оставив саму суть, и только потом думать о самой этой сути.
4👍31
Что по бд, что по сетям как-то трудно понять, какая книга норм
- У многих книг средний рейтинг
- Непонятно, какая книга нормальная для старта
- Непонятно, что именно рассказывается. Я тут про то, что например в сетях миллион всего может быть: протоколы, устройство сетевого стека в линуксе, базовое администрирование (такое я так и не нашел). В бд примерно также: есть справочники sql, есть проектирование бд, есть теория бд, администрирование бд и миллион всяких книг по каждой из субд.

В языках программирования такой проблемы нет. Есть точно хорошие книги.
👍63
#книги
Е.П. Моргунов - PostgreSQL. Профессиональный SQL
05.04.2026 - ... (16.04.2026)

Книга, которую я не дочитал. Это выше моих сил.

В отзыве про первую часть, я жаловался, что мне не нравится, когда примеры делают на основе какой-то предметной области. Тут также объяснение идет на примере базы авиаперевозок. И в части про рекурсивные общие табличные выражения мне было сложно понимать примеры ровно до момента, когда не появился пример на очень абстрактной таблице, где были не "аэропорт вылета и аэропорт прилета", а просто узел графа из которого ребро направлено в другой узел графа. В нем не надо было понимать, что это рейс какого-то самолета, где первый узел это Москва, а второй это Мурманск или еще какой-то город, в ней было просто: ребро идет из узла 1 в узел 2. Все бы такие примеры.. Но автор еще как будто извинялся, что пример абстрактный.

Названия таблиц сперва пишутся на русском, а потом на английском. Это конечно понятно, зачем сделано: в запросе то эти названия на английском. Но каждое упоминание таблицы надо сосредотачиваться, что посадочные талоны - это boarding_passes. Может это считается верным писать на русском термины в русских книгах, но мне например пользы от русского названия было ровно 0. Скорее лишняя информация.

Определения неудачные. Достаточно сравнить полотно текста в главе про оконные функции, которое сразу не поймешь и короткий абзац с примером из документации из которого все ясно.

Первый полный sql запрос в главе оконных функций появился только на четвертой странице и по размеру составлял половину страницы - я считаю, что это ненормально.

Следующая глава про LATERAL. LATERAL также объясняется запросом на пол страницы, большая часть которого не нужна для объяснения LATERAL. 0 картинок с примерами таблиц на разных этапах выполнения запроса.

Максимально неприятно читать это все.

Это причина, почему я не читаю книги с низким рейтингом на амазоне - вот такие впечатления от них. Тут же рейтинга не было, поэтому я понадеялся, что будет хорошо, но хорошо не было.
🔥21
#книги
Антон Жиянов - Оконные функции SQL
16.04.2026 - 23.04.2026

Книга состоит из трех частей:
- Окна и функции
- Фреймы
- Практика (эту я пропустил)

Я часто негативно описываю многие книги, но не в этот раз. Шикарная книга. Она очень простая, и такими и должны быть книги!

- К концу первой части уже можно хорошо понимать, что такое оконные функции.
- В конце каждой части отличное резюме, которое действительно суммаризует информацию, а не просто написано "чтобы было".
- Примеры демонстрируются на элементарнейших таблицах. Как итог не нужно тратить усилия, чтобы вникать в большую предметную область. То, что надо!
- Работа первого запроса в новой главе демонстрируется по шагам. Буквально, как поменяется таблица на каждом шаге.
- Отлично продуманный порядок тем и примеров.
👍832
Forwarded from S.E.Book
Вот вам немного занимательного оффтопа: Рэймонд Чен, инженер‑ветеран Microsoft, более трёх десятилетий участвующий в развитии Windows, с 2003 года ведёт популярный технический блог The Old New Thing. Чен регулярно публикует в нём короткие истории о внутренней кухне Windows.

На этот раз он объяснил, почему Microsoft перешла на обозначения «H1» и «H2» в названиях полугодовых релизов Windows. Если честно, то я никогда даже не задумывался на эту тему...

Наверняка вы понимаете, что «H» означает «half» (половина). Однако до 2019 года обновления называли «весенними» и «осенними», к примеру 2017 Fall Creators Update или 2018 Spring Update. Зачем было менять?

А всё дело в том, что не везде сначала идёт весна, а затем осень. В Южном полушарии Земли всё наоборот, не так, как у нас: в декабре начинается лето, в марте — осень, ну а в июне будет зима, за которой следует весенний сезон с сентября по ноябрь. Поэтому сразу возникает вопрос: «весеннее обновление» — это когда?

Это очень базовый географический факт, но вопрос вообще интересный. Если задуматься, то вся основная современная цивилизация развилась именно в Северном полушарии — отсюда и нормы речи. Более того, про южнополушарцев легко забыть и без этого: там живёт всего 10–12 % мирового населения, поскольку там меньше пятой части суши, и значительную площадь занимают океаны.

В Microsoft про такие базовые соображения о географии вспомнили далеко не сразу. На одном из общекорпоративных собраний топ-менеджер задал вопрос о возможных бессознательных предубеждениях. Один из коллег Чена поднял руку. Имя Рэймонд не приводит, но замечает, что этот сотрудник вырос в Южном полушарии Земли. Разработчик озвучил факт о северополушарной предвзятости.

«Сезонные» названия заменили на нейтральные «H1» и «H2» уже на следующий день.

➡️ https://devblogs.microsoft.com/oldnewthing

#Оффтоп #Разное #Windows
Please open Telegram to view this post
VIEW IN TELEGRAM
33💊21
Firefox + Claude Mythos

Компания Mozilla опубликовала отчёт о проверке кодовой базы Firefox при помощи AI-модели Claude Mythos, достигшей нового уровня в таких областях, как выявление уязвимостей, поиск и исправление ошибок. Отмечается, при использовании Mythos практически не было ложных срабатываний, в то время как прошлые попытки использования моделей GPT 4 и Sonnet 3.5 не рассматривались как успешные из-за обилия ложных отчётов. В апреле в Firefox было устранено 423 уязвимости, из которых 271 были выявлены сотрудниками Mozilla при помощи Claude Mythos. 180 уязвимостей из 271 признаны опасными, 80 присвоен умеренный уровень опасности, а 11 - низкий.

https://www.opennet.ru/opennews/art.shtml?num=65405
8🤔4
The UNIX system has a command, nice, which allows a user to voluntarily reduce the priority of his process, in order to be nice to the other users. Not surprisingly, nobody ever uses it.
1🤣9💯21