Стендап Сьогодні
📢
Канал в Telegram @stendap_sogodni
🦣
@stendap_sogodni@shevtsov.me в Федиверсі
25.11.2025
Дослідження чужого проєкту за допомогою LLM
Хочу особливо поділитися технікою, яка мене врятувала під час впровадження SQLiteData.swift. Річ у тім, що ця бібліотека не має стільки документації, скільки умовний ActiveRecord, та як виходиш за межі прикладів, то на пошук в інтернеті можна не розраховувати.
Та ось моя ідея: я склонував собі репозиторій, відкрив в Курсорі, та почав ставити питання. Ось кілька прикладів.
find examples of @fetchone or @fetchall used with parameters passed from parent components
Типовий випадок, як-от ProjectView(project: project). Як мені завантажити дії цього проєкту? Виявилося, що такі запити створюються в ініціалізаторі: _actions = FetchAll(Action.where { $0.id =project.id}).
how do you use toggle()
В документації все сумно. А з коду стає зрозуміло, що Action.update { $0.isCompleted.toggle() }
is there a way to extract statements that become `@FetchOne` and `@FetchAll` into a separate module? i'm specifically struggling with types
Хотілося зробити DRY, але ніяк не міг зрозуміти, якого ж типу повинна бути функція, яка повертає той запит. (Не конкретний тип, який традиційно довжелезний та заплутаний, а узагальнений.) Тут ШІ мені згенерував цілий туторіал в Markdown, а тип виявився на кшталт some StructuredQueriesCore.Statement>Int>.
how can i get to the OpaquePointer db pointer needed for SQLIte3 calls from my database instance
Оце останнє на сьогодні, бо я хочу додати пошук із UNICODE_NOCASE, а розвʼязок знайшов тільки через команди бібліотеки SQLite3. А як добратися до цієї низькорівневої бібліотеки? Виявилося, дуже легко - через database.write { db in db.sqliteConnection }. Але в документації про це ані згадки.
Якщо розвинути ідею, можна було б відразу всі залежності проєкту таким чином додавати через MCP чи щось таке. Але я на таке поки не спроможний.

