Skip to content

Commit

Permalink
weekly update
Browse files Browse the repository at this point in the history
  • Loading branch information
ov7a committed Nov 23, 2024
1 parent c3157e3 commit e6a7f38
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
11 changes: 11 additions & 0 deletions _posts/mini_posts/2024-11-19-intellij-all-watches-debug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
layout: post
title: Сравнение состояния переменных в IntelliJ
tags: [intellij]
tg_id: 568
---
Немного извращений из трудовыебудней.

Понадобилось мне отладить Zinc (инкрементальный компилятор Scala), который [немного странно](https://github.com/sbt/zinc/issues/1493) себя вел в двух практически одинаковых сценариях: вроде все входы одинаковые, но выход отличается. Поборов уровни вложенности, докопался до точки входа в непосредственно процесс компиляции и возникла проблема: переменных/данных до фига, да еще каждая закопана в куче возможно повторяющихся объектах с несколькими уровнями вложенности и без нормального строкового представления. Разворачивать вручную это все в дебаггере IntelliJ — очень муторно.

Выяснилось, что [можно настроить](https://youtrack.jetbrains.com/issue/IJPL-56173/Debugger-Expand-all-items-of-Variables-Watches-tab-at-once) комбинацию клавиш, чтобы раскрыть все переменные на 1 уровень. Повторив операцию 2-3 раза, можно получить вполне развернутый слепок всех переменных. Вставляем его в diff и повторяем операцию для другого сценария. Будут мешаться адреса объектов из стандартного `toString` — меняем тупо регуляркой `@[a-f\d]+` на `@hash`, и после этого все различия будут как на ладони.
9 changes: 9 additions & 0 deletions _posts/mini_posts/2024-11-21-deadlocks.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
layout: post
title: Про дедлоки
tags: [algorithms]
tg_id: 569
---
Отличное изложение [базовой информации](https://t.me/shark_in_it/102) про дедлоки и [нескольких статей](https://t.me/shark_in_it/103) по теме. Особенно привлекла идея про нумерацию ресурсов из [этой статьи](https://dl.acm.org/doi/abs/10.5555/948737.948765), которая позволяет избежать дедлоков.

Сам канал годный, жаль только, что посты там стали редко появляться:(

0 comments on commit e6a7f38

Please sign in to comment.