foliobase보드qna

질문43

도움이 필요할 때

글쓰기
질문
[공유] Tiptap에서 코드블록 highlighting 설정[3]
현재 결론은 generated column. INSERT/UPDATE 시 자동 계산되니 응용 레이어 부담이 0에 가깝습니다. 단, 변경 시 ALTER TABLE이 무거워질 수 있다는 점. Tipt…
맥북쓰는사람Lv.1·씨앗·2026-05-21·23
잠금질문
[후기] Tailwind v4 transition guide 정리
외부 시스템(S3 / SSE / 검색)은 도메인 모듈에서만 호출. 라우트/컴포넌트가 SDK를 직접 부르면 교체 비용이 폭발. 에러 처리는 도메인 모듈에서 명시적 Error 클래스를 던지고, ser…
리뷰어2호Lv.1·씨앗·2026-05-21·40
질문
[건의] 검색 ranking은 BM25보다 ts_rank_cd가 나은 경우[3]
현재 결론은 generated column. INSERT/UPDATE 시 자동 계산되니 응용 레이어 부담이 0에 가깝습니다. 단, 변경 시 ALTER TABLE이 무거워질 수 있다는 점. 검색은 …
맥북쓰는사람Lv.1·씨앗·2026-05-20·03
질문
[질문] Tailwind v4 transition guide 정리[2]
검색은 Postgres FTS (`websearch_to_tsquery` + `ts_rank_cd` + `ts_headline`)로 충분합니다. 트래픽이 커지면 Meilisearch / Elast…
리뷰어2호Lv.1·씨앗·2026-05-20·72
질문
[공유] Next.js 16에서 cookies()가 async가 된 이유[5]
관리자 셸은 모더레이터+만 진입 가능. layout 가드 + 서버 액션마다 권한 재검사. UI에서 막아도 라우트가 뚫리면 의미가 없죠. 이번 주말에 작은 게시판을 만들면서 정리한 내용을 공유합니다…
프리랜서BLv.1·씨앗·2026-05-19·55
질문
[잡담] Next.js 16에서 cookies()가 async가 된 이유[2]
검색은 Postgres FTS (`websearch_to_tsquery` + `ts_rank_cd` + `ts_headline`)로 충분합니다. 트래픽이 커지면 Meilisearch / Elast…
주말코더Lv.1·씨앗·2026-05-19·32
질문
[후기] Next.js 16에서 cookies()가 async가 된 이유[1]
검색은 Postgres FTS (`websearch_to_tsquery` + `ts_rank_cd` + `ts_headline`)로 충분합니다. 트래픽이 커지면 Meilisearch / Elast…
포스트그레s러브Lv.1·씨앗·2026-05-18·101
질문
[잡담] S3 presigned URL TTL 정책[2]
결국 가장 큰 시간은 마이그레이션과 인덱스 설계에 들어갔습니다. 검색 인덱스를 어떻게 만들지 / generated column으로 둘지 / 트리거로 둘지 고민이 많았네요. 결국 가장 큰 시간은 마…
사이드프로젝터Lv.1·씨앗·2026-05-17·32
질문
오프토픽: 키보드 추천 받습니다[2]
이번 주말에 작은 게시판을 만들면서 정리한 내용을 공유합니다. 처음 의도는 단순했지만 막상 깊이 들어가니 도메인이 많아서 꽤 시간이 걸렸습니다. 환경변수는 `src/lib/env.ts` 한 곳에서…
맥북쓰는사람Lv.1·씨앗·2026-05-17·02
질문
[메모] 리뷰 코멘트 작성 가이드[2]
SSE는 in-memory EventEmitter로 시작했는데 수평 확장이 들어오면 Postgres LISTEN/NOTIFY로 옮길 예정. 인터페이스(publish/subscribe)만 유지하면 …
프론트엔드초보Lv.1·씨앗·2026-05-14·12
질문
[정리] FTS index를 generated column으로 두는 이유[5]
이미지 처리는 presigned PUT으로. 서버를 거치지 않고 클라이언트가 바로 객체 스토리지에 업로드하고, 백엔드에는 uploads 테이블에 메타만 기록. 외부 시스템(S3 / SSE / 검색…
모더브라이언운영진·2026-05-14·45
질문
[메모] MinIO를 R2로 옮길 때 체크리스트[4]
북마크는 토글 형태로 (`(userId, postId)` 복합 PK + `onConflictDoNothing`). 1행 INSERT 또는 DELETE라 동시성 걱정 없음. 오늘은 일단 여기까지. …
야근장인Lv.1·씨앗·2026-05-12·04
질문
[공유] TanStack Query 없이 RSC만으로 버틸 수 있을까[5]
북마크는 토글 형태로 (`(userId, postId)` 복합 PK + `onConflictDoNothing`). 1행 INSERT 또는 DELETE라 동시성 걱정 없음.
프리랜서ALv.1·씨앗·2026-05-12·45
질문
[메모] Next.js 16에서 cookies()가 async가 된 이유[5]
결국 가장 큰 시간은 마이그레이션과 인덱스 설계에 들어갔습니다. 검색 인덱스를 어떻게 만들지 / generated column으로 둘지 / 트리거로 둘지 고민이 많았네요. 현재 결론은 genera…
맥북쓰는사람Lv.1·씨앗·2026-05-11·05
질문
FTS index를 generated column으로 두는 이유[3]
Tiptap을 직접 깎아 쓰니 백엔드는 JSON doc만 받아 sanitize하면 되고, 프론트는 schema만 일관시키면 됩니다. 코드블록 highlighting은 lowlight로. 이번 주말…
기록하는개발자Lv.1·씨앗·2026-05-11·13
질문
[질문] SSE 채널 이름 컨벤션 공유[2]
결국 가장 큰 시간은 마이그레이션과 인덱스 설계에 들어갔습니다. 검색 인덱스를 어떻게 만들지 / generated column으로 둘지 / 트리거로 둘지 고민이 많았네요. 북마크는 토글 형태로 (…
모더브라이언운영진·2026-05-11·42
질문
[공유] 오프토픽: 키보드 추천 받습니다[5]
외부 시스템(S3 / SSE / 검색)은 도메인 모듈에서만 호출. 라우트/컴포넌트가 SDK를 직접 부르면 교체 비용이 폭발. 관리자 셸은 모더레이터+만 진입 가능. layout 가드 + 서버 액션…
디자인견습생Lv.1·씨앗·2026-05-10·35
질문
[질문] TanStack Query 없이 RSC만으로 버틸 수 있을까[2]
현재 결론은 generated column. INSERT/UPDATE 시 자동 계산되니 응용 레이어 부담이 0에 가깝습니다. 단, 변경 시 ALTER TABLE이 무거워질 수 있다는 점. SELE…
맥북쓰는사람Lv.1·씨앗·2026-05-10·32
질문
[메모] 관리자 셸 / 모더레이션 권한 매트릭스[3]
환경변수는 `src/lib/env.ts` 한 곳에서 Zod로 검증. `process.env.X` 직접 접근 금지가 강한 규약. 댓글 트리는 일부러 depth 1로 제한했습니다. 가독성이 떨어지는 …
리눅스애호가Lv.1·씨앗·2026-05-09·23
질문
[정리] shadcn/ui 컴포넌트 fork 기준[2]
지금 단계에서는 인프라를 최대한 단순하게 유지하는 게 우선이에요. Redis / 메시지 큐 / 외부 서비스는 명확한 이유가 생길 때까지 보류. 오늘은 일단 여기까지. 피드백 환영합니다.
디자인견습생Lv.1·씨앗·2026-05-09·72