привет! меня зовут Даша🍒
это мой aka технический канал. здесь делюсь чем-то сугубо профессиональным.
senior java developer
sber.
@darerror - основной аккаунт с моими размышлениями на более широкую аудиторию где-то около айти
навигация
🥕 полезные материалы (книги и не только)
🔨 обзор joker 2025
💻 о переезде с Oracle на PostgreSQL без даунтайма часть1 часть2 часть3
это мой aka технический канал. здесь делюсь чем-то сугубо профессиональным.
senior java developer
sber.
@darerror - основной аккаунт с моими размышлениями на более широкую аудиторию где-то около айти
навигация
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from darerror
Дочитала. Основной ключ к понимаю «почему» - это умение разбираться в реляционной теории (привет математическим классам). Здорово раскладывают по полочкам.
Более точечно: как строятся на самом деле планы, как их читать, реляционка, множества, стоимости алгоритмов, индексы, сочетания отношений, почему оптимизатор может ошибаться, OLAP, OLTP, разные подходы.
Максимально прикладная вещь с изюминками теории. Просто «прочитать» - не вариант. Книга обязывает ресторить базу, самому пробовать разные комбинации: так погружаешься еще лучше.
Подойдет не только разработчикам, но и аналитикам/администраторам.
Единственное, что стиль написания книги не привлек. Но это вкусовщина
Более точечно: как строятся на самом деле планы, как их читать, реляционка, множества, стоимости алгоритмов, индексы, сочетания отношений, почему оптимизатор может ошибаться, OLAP, OLTP, разные подходы.
Максимально прикладная вещь с изюминками теории. Просто «прочитать» - не вариант. Книга обязывает ресторить базу, самому пробовать разные комбинации: так погружаешься еще лучше.
Подойдет не только разработчикам, но и аналитикам/администраторам.
Единственное, что стиль написания книги не привлек. Но это вкусовщина
Forwarded from darerror
этот день настал: дисциплина победила в очередной раз, а Егор Рогов был наконец дочитан.
«PostgreSQL изнутри». 650 страниц.🐘
написана сложным языком. приходилось порой перечитывать. где-то к середине удалось раскачаться и понять гения.
темы: снимки данных, страницы и версии строк, изоляции, MVCC, память, слои, схемы, очистки, заморозки, перестроения таблиц и индексов, кеширования, журнал предзаписи, блокировки, этапы выполнения запросов, 3 вида соединений (merge, hash, nested), типы индексов (hash, btree, gist, sp-gist, gin, brin)
в целом, той же книги «Оптимизация запросов в PostgreSQL» (ранее делала обзор) вполне достаточно для минимального понимания работы слона (краткая и более поверхностная выжимка для разработчика). Рогов идет сильно глубже и пишет сильно сложнее.
итог: самая непростая техническая литература на моем пути. во многом расширила познания - здорово.
почти все его идеи отражены дублированием на хабре в маленьких статьях.
теперь хоть знаю как слоны живут. пора дать дорогу кабанам.
«PostgreSQL изнутри». 650 страниц.🐘
написана сложным языком. приходилось порой перечитывать. где-то к середине удалось раскачаться и понять гения.
темы: снимки данных, страницы и версии строк, изоляции, MVCC, память, слои, схемы, очистки, заморозки, перестроения таблиц и индексов, кеширования, журнал предзаписи, блокировки, этапы выполнения запросов, 3 вида соединений (merge, hash, nested), типы индексов (hash, btree, gist, sp-gist, gin, brin)
в целом, той же книги «Оптимизация запросов в PostgreSQL» (ранее делала обзор) вполне достаточно для минимального понимания работы слона (краткая и более поверхностная выжимка для разработчика). Рогов идет сильно глубже и пишет сильно сложнее.
итог: самая непростая техническая литература на моем пути. во многом расширила познания - здорово.
почти все его идеи отражены дублированием на хабре в маленьких статьях.
теперь хоть знаю как слоны живут. пора дать дорогу кабанам.
Forwarded from darerror
итак, отзыв на кабанчика
«Высоконагруженные приложения. Программирование, масштабирование, поддержка» Клеппман Мартин
книга в оригинале была прочтена без надлежащей сложности: Мартин очень умело доносит свои мысли. шикарный труд. но этим я никого не удивлю. хочу пояснить, почему он оказался хорош для меня:
> в тех вещах, которые я знаю, я смогла получить еще больше широты (как в учебнике истории)
> в тех вещах, в которых я осведомлена должным образом, я смогла получить более качественное понимание (например, идеальнее описания проблем уровней изоляции не встречала: после Егора Рогова целая услада)
> в тех вещах, в которых у меня не было опыта, (например, data engeenering), я смогла получить понятное представление (забавно, что в этот же момент под эти главы у меня на работе сложилась практика)
книга не предлагает рецептов, а развивает умение анализировать и принимать обоснованные решения — ключевой навык опытного инженера.
очень рекомендую для мидлов и выше.
и очень рекомендую в оригинале (в противном случае будьте готовы к тому, что json - это подмножество java) .
для кого:
1. основная аудитория - бэкендеры (особенно те, кто работает с распределёнными системами)
2. архитекторы (что выбрать и почему, что нужно учитывать)
3. devops/sre (важно понимать, почему консенсусные алгоритмы могут "зависнуть", что такое кворум, как поведение распределённой системы зависит от сети, времени и задержек)
4. техлиды/руководители проектов
5. системные аналитики (книга помогает понимать ограничения и компромиссы, с которыми сталкиваются разработчики, объясняет что можно ожидать от систем, а что — нет, помогает лучше формулировать технические требования и ограничения в системных документах)
6. дата-инженеры (особенно зайдут последние главы)
а чем вас покорил кабанчик и почему?
«Высоконагруженные приложения. Программирование, масштабирование, поддержка» Клеппман Мартин
книга в оригинале была прочтена без надлежащей сложности: Мартин очень умело доносит свои мысли. шикарный труд. но этим я никого не удивлю. хочу пояснить, почему он оказался хорош для меня:
> в тех вещах, которые я знаю, я смогла получить еще больше широты (как в учебнике истории)
> в тех вещах, в которых я осведомлена должным образом, я смогла получить более качественное понимание (например, идеальнее описания проблем уровней изоляции не встречала: после Егора Рогова целая услада)
> в тех вещах, в которых у меня не было опыта, (например, data engeenering), я смогла получить понятное представление (забавно, что в этот же момент под эти главы у меня на работе сложилась практика)
книга не предлагает рецептов, а развивает умение анализировать и принимать обоснованные решения — ключевой навык опытного инженера.
очень рекомендую для мидлов и выше.
и очень рекомендую в оригинале (
для кого:
1. основная аудитория - бэкендеры (особенно те, кто работает с распределёнными системами)
2. архитекторы (что выбрать и почему, что нужно учитывать)
3. devops/sre (важно понимать, почему консенсусные алгоритмы могут "зависнуть", что такое кворум, как поведение распределённой системы зависит от сети, времени и задержек)
4. техлиды/руководители проектов
5. системные аналитики (книга помогает понимать ограничения и компромиссы, с которыми сталкиваются разработчики, объясняет что можно ожидать от систем, а что — нет, помогает лучше формулировать технические требования и ограничения в системных документах)
6. дата-инженеры (особенно зайдут последние главы)
а чем вас покорил кабанчик и почему?
❤🔥3❤2👍1
Forwarded from darerror
прочитала «Чистую архитектуру» меньше, чем за неделю — шла она очень легко.
наверное, потому что я запоздала с ней. книга — про погружение в архитектурное мышление, идеально на уровне junior/middle. сейчас — всё понятно, очевидно, немного изъезженно и старовато местами.
если коротко, «Чистая архитектура» — это набор принципов, правил и рекомендаций о том, как строить долгоживущие системы. как отделять бизнес-логику от фреймворков, как не слипаться с базой данных, как не превращать контроллеры в болото. много про зависимостями, границы, инверсию, SOLID и круги.
вообще, «чистый код» Дядюшки Боба мне явно больше зашел в свое время. конечно, вокруг него сейчас много хейта ходит, но холивар на то и холивар. но «совершенный код» Макконнелла я бы прочитала в будущем все-таки для сравнения.
кто читал? как вам?☀️
наверное, потому что я запоздала с ней. книга — про погружение в архитектурное мышление, идеально на уровне junior/middle. сейчас — всё понятно, очевидно, немного изъезженно и старовато местами.
если коротко, «Чистая архитектура» — это набор принципов, правил и рекомендаций о том, как строить долгоживущие системы. как отделять бизнес-логику от фреймворков, как не слипаться с базой данных, как не превращать контроллеры в болото. много про зависимостями, границы, инверсию, SOLID и круги.
“Если вы думаете, что хорошая архитектура стоит дорого, попробуйте плохую архитектуру”
“Модуль должен иметь одну и только одну причину для изменения”
“В один компонент должны включаться классы, изменяющиеся по одним причинам и в одно время. В разные компоненты должны включаться классы, изменяющиеся в разное время и по разным причинам”
“Главная стратегия - как можно дольше иметь как можно больше вариантов”
“Хороший архитектор максимизирует количество непринятых решений”
вообще, «чистый код» Дядюшки Боба мне явно больше зашел в свое время. конечно, вокруг него сейчас много хейта ходит, но холивар на то и холивар. но «совершенный код» Макконнелла я бы прочитала в будущем все-таки для сравнения.
кто читал? как вам?
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from darerror
смотрю сейчас большое свежее интервью одного из основных мейнтейнеров Postgres и сооснователя Postgres Pro 🐘
нравится слушать именно такие подкасты на стыке простых жизненных вопросов и технической составляющей
подобные истории вдохновляют. оставляю сноску из описания видео:
нравится слушать именно такие подкасты на стыке простых жизненных вопросов и технической составляющей
подобные истории вдохновляют. оставляю сноску из описания видео:
поговорили про то, кто стоял у истоков Postgres, проблемы мирового опенсорса, как изменились отношения среди Postgres сообщества после начала СВО. А также про то, какое место в этих процессах занимал Олег Бартунов, про компанию Postgres Pro, сколько зарабатывает компания и в частности Олег Бартунов в год, про изменения с приходом AI, а еще зачем он писал Сергею Брину в 1995 году и почему нужно вкладываться в обучение сегодня, чтобы иметь сильное IT в России завтра
Forwarded from darerror
когда только начинаешь карьеру в разработке, сложно понять, на что опираться. особенно если кажется, что все вокруг умнее, быстрее, опытнее.
с самого начала работы я получала очень тёплую и честную обратную связь от коллег. благодаря этому у меня выстраивалась опора — на себя, на процесс, на рост. ниже — пару выдержек из отзывов.
«коллеги очень высоко оценили твою активность, инициативность и желание качественно делать задачи»
«ты справляешься с уже достаточно сложными задачами, проявляешь инициативу и не боишься брать на себя ответственность»
«успешно решаешь сложные проблемы, задаешь правильные вопросы, стремишься к лучшему коду»
«отмечают твой вклад в разработку фич, внимание к деталям и постоянное стремление улучшать решение»
«серьёзно подходишь к проектированию, выстраиваешь коммуникации с командой и заказчиком, быстро адаптируешься и делаешь качественный код»
эти слова давали мне не только поддержку, но и пищу для анализа: а что именно я делаю правильно? а что работает?
сформировались принципы, которые я бы с радостью отдала себе-джуну в первый рабочий день. делюсь ими здесь.
1. всегда проверять реализацию
даже если всё супер и тесты зелёные — всё равно делать смоук-проверку руками. лучше я поймаю баг, чем QA будет разбираться, почему не работает. *в некоторых командах это является зафиксированным процессом, а в некоторых - нет
2. быть пессимистом — полезнее, чем оптимистом
научись сразу думать о худших сценариях. особенно в сроках и оценках. лучше успеть раньше, чем провалить дедлайн. без навыка оценивать дальше никуда.
3. самостоятельность — мышца, которую надо качать
если нет идей — это не повод молчать. я старалась озвучить хоть что-то, и старшие коллеги подхватывали. не страшно быть неуверенной — страшно не учиться на этом.
4. не обижаться на «тщательное» ревью
знаю, что некоторые воспринимают ревью как критику, но это в корне не так. это не про «ты плохо сделал», а про то, как сделать лучше. хорошее ревью - это подарок. я всегда просила меня жестче ревьюить.
5. нужно бороться с иллюзией «все всё знают, а я — нет»
вечно кто-то да обсуждает какую-нибудь сортировку креветками. да, большой пласт незнания на старте - это естественно, но существует категория людей, которая буквально вчера прочитала что-то заумное и редкое на хабре и теперь хочет, чтобы об этом знал весь мир. никто не знает всё. часто задачи специфичны. это просто иллюзия восприятия.
6. ошибаться — нормально
«человек, который ошибался много и часто – но никогда не совершал одну и ту же ошибку дважды, – более надежен, чем тот, кто не ошибался никогда»
— если доделываю задачу вечером, утром обязательно перепроверю на свежую голову
— если не знаю, с чего начать, - пытаюсь сформулировать вопрос: ответы самому себе часто приходят в процессе формирования вопроса другому
— сначала пишу код средне, чтобы просто работало. а потом улучшаю до состояния «нравится»
если пост понравился - оставляйте реакцию
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22 1
https://freedium.cfd/ стал однажды моим большим открытием в бесконечном скроллинге медиум страниц
🔥3
зачем?
сейчас я работаю на проекте с микросервисной архитектурой, но так было не всегда. до этого у меня был опыт с SOA. понятно, что ни одна архитектура не является универсальной — у каждой свои плюсы и минусы. но дело не в сравнении подходов.
хочется не просто уметь пользоваться инструментом, а понимать, зачем он был создан, какие задачи решает. даже если сейчас очень многое делается с помощью k8s.
Spring Cloud — это не просто фреймворк. это набор обёрток над проверенными архитектурными решениями: Resilience pattern, API Gateway pattern, Distributed events, dynamic configuration и другие.
изучение этих проектов даёт не только новые инструменты для решения нетривиальных задач, но и понимание того, как выстраивать систему более осознанно:
— как автоматизировать CI/CD с помощью contract-тестирования
— почему используют Vault для безопасного хранения секретов
— какие trade-off’ы стоят за выбором: Bus vs manual refresh
это помогает делать более обоснованный выбор решений, понимать чужой код глубже и трезво оценивать уровень зрелости проектов.
в конечном счёте, цель — прокачка архитектурного мышления.
не просто использовать аннотации, а видеть за ними реальные паттерны, инженерные компромиссы и логику. в том числе — лучше понимать open source и, возможно, однажды внести вклад в него
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Cloud
Level up your Java code and explore what Spring can do for you.
👍3❤2🔥2🗿1
девопсы, к вам вопрос: что делали разработчики, что вас прямо выбешивало??
❤2