TGViewer
IT – Гильдия IT – Гильдия @itguild_next_tick · 1.72K subscribers
Post #84 1.67K
На первой части стрима по структурам данных я обещал материалы, часть из них добавлены прямо под видео, но я успел сделать даже первую версию скилов. И тут расскажу, как ими пользоваться.

Скилы тут: https://github.com/metarhia/metaskills

Три связанных скила, которые помогают AI оптимально использовать встроенные структуры, писать кастомные, и использовать структуры из metautil

1. js-data-structures - выбирает между встроенными структурами JavaScript: Object, Array, Map, Set, WeakMap, WeakSet и TypedArray. Учитывает семантику, сложность операций, стабильность V8-структур, утечки памяти и границы сериализации.

2. data-structures - нужен, когда встроенных коллекций недостаточно. Он помогает выбрать или реализовать очередь, дек, стек, связный или развернутый список, кольцевой буфер, кучу, trie, граф, LRU, pool, CRDT или персистентную структуру.

3. metautil-data-structures - знает точный API готовых реализаций из metautil и может сразу использовать их в проекте вместо генерации очередного велосипеда.

Реализации структур со стрима:

- Все структуры из metautil: https://github.com/metarhia/metautil
- Struct для типизированных mutable и immutable записей: https://github.com/metarhia/metautil/blob/main/lib/struct.js
- Иммутабельный ConsList со структурным разделением, ветвлением состояния и откатом за O(1): https://github.com/metarhia/metautil/blob/main/lib/cons-list.js
- Префиксное дерево Trie: https://github.com/metarhia/metautil/blob/main/lib/trie.js
- Двусвязный List с операциями вставки, удаления, перемещения, группировки и сортировки: https://github.com/metarhia/metautil/blob/main/lib/list.js
- Развернутый список UnrolledList для высоконагруженного FIFO: https://github.com/metarhia/metautil/blob/main/lib/unrolled.js
- Кольцевой буфер, на котором построены Queue, Deque и Stack: https://github.com/metarhia/metautil/blob/main/lib/circular.js
- Очередь Queue: https://github.com/metarhia/metautil/blob/main/lib/queue.js
- Двусторонняя очередь Deque: https://github.com/metarhia/metautil/blob/main/lib/deque.js
- Стек Stack: https://github.com/metarhia/metautil/blob/main/lib/stack.js
- Пул ресурсов: https://github.com/metarhia/metautil/blob/main/lib/pool.js
- Семафор для ограничения конкурентного доступа: https://github.com/metarhia/metautil/blob/main/lib/semaphore.js

Установка скилов из корня проекта: npx metaskills

После этого IDE и агенты подхватывают их автоматически. Можно просто описать задачу, а можно явно направить AI:

«Выбери подходящую встроенную структуру данных»
«Подбери структуру для этой нагрузки и объясни выбор»
«Реализуй очередь без Array.shift»
«Перепиши управление состоянием с использованием ConsList из metautil»
«Используй готовые структуры metautil и не создавай собственные аналоги»

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

Как пользоваться скилами я покажу на 2 части мастер-класса.
Там же будут и разборы примеров использования в реальном коде: https://gm.nexttick.it/go/data-structures-code-review
  • 👍 10
  • ❤ 5
  • 🔥 2
More from @itguild_next_tick
  1. Sep 19, 2026Суббота у всех проходит по-разному 🏎️ Илья сегодня на тренировке — трасса и гонки. А что…
  2. Sep 2, 2026«У меня нет достижений для резюме. Я просто 5 лет закрывал таски» Что обсуждали ребята в ч…
  3. Aug 27, 2026Post #111
  4. Aug 27, 2026Хорошая структура данных сокращает код и работу с AI AI может написать сотню строк за мину…
  5. Aug 26, 2026photo post
  6. Aug 24, 2026Как Гильдийцы борются с отвлечениями во время работы? Недавно обсуждали эту тему в Гильдии…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →