DDaria’s room

Daria’s room

@dariasroom💻 Технологии🇷🇺 Русский📅 март 2026 г.

Копаюсь в недрах Go, проектирую схемы, абстракции, а главное - учусь Буду рада пообщаться! -> @darya_smyr https://github.com/dariasmyr

📊 Полная статистика📝 Все посты
##39#64478
737
Подписчики
925,3
Ср. охват
125.5%
Вовлечённость
20
Постов
~0.2
В день

Графики

📊 Средний охват постов

📉 ERR % по дням

📋 Публикации по дням

📎 Типы контента

Лучшие публикации

20 из 20
Ddariasroom
dariasroom
29 нояб., 19:29

Естественно, стало интересно, как именно генерят данные на вход. И вот что в целом там происходит: 1. Методы для фаззинга не переизобретали, а просто используют стороннюю либу libfuzzer, а также свой генератор псевдослучайных чисел PCG 2. Жизненный цикл fuzz‑итерации выглядит примерно так: - из seed corpus выбирается случайный элемент (seed input) - передаётся в mutate(), где изменяется случайными операциями - новый инпут передаётся в наш fuzz target - если этот мутированный инпут даёт новое пок...

👁 1.3K
Ddariasroom
dariasroom
21 дек., 00:02

Контексты и неочевидности с WithoutCancel Когда мы создаём контекст с отменой: ctx, cancel := context.WithCancel(parentСtx) родительский контекст хранит ссылки на все дочерние контексты с cancel в отдельной мапе map[canceler]struct{} Поэтому, если не отменить дочерний контекст (или его родителя), референс на него продолжит храниться в мапе (и о чем нам потом любезно сообщит go vet). Об этом пишут прямо в описании либы context: Failing to call the CancelFunc leaks the child and its children until...

👁 1.2K
Ddariasroom
dariasroom
29 нояб., 19:28

Сегодня открыла для себя fuzzy тесты, которые уже оказывается много лет существуют наряду с unit и benchmark тестами. А назначение у них как раз автоматически прогонять через функцию кучу разнообразных входных данных, включая редкие и нетипичные варианты (пустые длинные/короткие строки, NaN, битые unicode символы, спец байты и тд). В моем проекте сейчас, который касается расчета цен и скидок, важно учесть все нетривиальные случаи, поэтому fuzzy тесты зашли на ура. Базово работа с fuzz тестом выг...

👁 1.2K
Ddariasroom
dariasroom
30 дек., 22:31

Part 2: Simple / Extended Protocol Тут будут краткие выдержки из статьи, которая, на мой взгляд, максимально понятно раскрывает плюсы и минусы использования обоих протоколов с учетом всех обновлений. Вообще поддерживаются несколько протоколов передачи запросов (если можно там выразиться), которые в основном разделяются на Simple и Extended. Simple Protocol отправляет весь запрос одной raw строкой, где драйвер в одном проходе выполняет все этапы - parse, analyze, plan и execute. Этот подход прост...

👁 1.1K📷 photo
Ddariasroom
dariasroom
18 янв., 19:30

Bloom Filter🌸 Пока все копаются в иишном схематическом поиске, кто-то продолжает копаться в вещах попроще классических алгоритмах фильтрации. Около года назад увидела Bloom filter в одном из обновлении кликхаус, и только сейчас захотелось его разобрать. Если кратко: это быстрая вероятностная проверка принадлежности элемента множеству без хранения самих элементов. То есть мы получаем ответ либо «точно нет», либо «возможно, да»: допускаем ложноположительные (lp) срабатывания, но выигрываем в скор...

👁 1.1K📷 photo
Ddariasroom
dariasroom
24 дек., 23:10

Балансировка соединений в постгрю через pgx Задача: настроено три haproxy: 1 мастер и 2 ro-реплики, но на практике мы работаем только с одним хостом. При failover (переключении мастера) есть риск, что клиент будет продолжать использовать старый коннект,…

👁 1.1K📷 photo
Ddariasroom
dariasroom
5 янв., 21:01

Search Engine Part 2: Radix Trie for Fast and Compact Indexing Выше я уже описала базовый принцип работы сжатого префиксного дерева: вместо хранения одного символа на узел мы храним максимально длинный общий префикс (lcp), а узлы создаются только там, где действительно есть продолжение слова. Это позволяет избавиться от дублирования префиксов и сделать структуру индекса компактнее. Подробный пример вставки в radix trie большой и проще его реализацию посмотреть прямо в проекте Алгоритм поиска в r...

👁 1.1K📷 photo
Ddariasroom
dariasroom
24 янв., 21:37

🐤Cuckoo Filter: удаление через fingerprints/вытеснение и поиск через XOR Дорогой читатель подкинул другие варианты вероятностных фильтров получше, ничего не могу поделать, разбираем Cuckoo Filter... Фишка этого фильтра в том, что в отличии от установки n бит в общем битсете, как в Bloom Filter, он хранит отрезок хеша - fingerprint (или fp) и размещает его в одном из двух возможных бакетов. Если оба бакета заняты, используется алгоритм cuckoo-kicks (вытеснения). Для каждого ключа вычисляется fp ...

👁 1.1K
Ddariasroom
dariasroom
18 февр., 00:02

Ранее я писала про мультихост-подключение к postgres и идею разделить соединения на два пула — для чтения с реплик и записи в мастер. Недавно эта реализация успешно доехала до прода и снизила нагрузку responce time в несколько раз, а позже я наткнулась на…

👁 984
Ddariasroom
dariasroom
13 янв., 21:16

Part 2: HAMT Search & Insert operations Вставка слова в HAMT: Начинаем с нулевого узла (корня) и берем хешик node := nodeptr(0) hash := strhash32(key) На первых 5 уровнях спускаемся по Node, создавая новые при необходимости: for range depth - 2 { var…

👁 976📷 photo

Типы хуков

Нейтральный11 | 1.0K просм.
Статистика7 | 749 просм.
Вопрос2 | 898 просм.

Длина постов

Очень длинные (1000+)14 | 911 просм.
Средние (200-500)6 | 959 просм.

Влияние эмодзи

947
С эмодзи (1)
924
Без эмодзи (19)
+2.5% охвата

Типы контента

📷
8
photo
943 просм.
📝
12
text
914 просм.
Daria’s room (@dariasroom) — Telegram-канал | PostSniper