본문 바로가기

개발자 생활

요즘 웹 개발 5편 — 로그인은 회사가 정해 주고, 지금은 앱이 들고 있다

반응형

부제: SSO·Husky·테스트 공백, 그리고 Better Auth·Biome까지

1~4편을 거쳐 경계·상태·UI·DB까지 왔다. 마지막은 인증, 린트·포맷·훅, 테스트다.

용어

  • SSO(Single Sign-On): 한 번 인증하면 여러 시스템에 연동 로그인되게 하는 흐름. 사내 IdP가 있는 조직에선 보통 그 규칙을 따른다.
  • Better Auth: 앱이 직접 붙이기 쉬운 인증 라이브러리 쪽(학습용 레포에 포함). SSO를 대체한다는 뜻이 아니라, 전제가 다르다.
  • ESLint / Prettier: JS·TS 규칙 검사포맷을 나눠 맡기던 조합.
  • Biome: 린트+포맷을 한 도구로 묶는 쪽에 가깝다.
  • Husky: Git hook을 걸어 커밋 전 검사 등을 돌리게 하는 도구.
  • Vitest: Vite 친화 단위·컴포넌트 테스트 러너.
  • Playwright: 브라우저 E2E 테스트.

1) 회사에서는 사내 SSO

인증·품질 도구

인증은 사내 SSO 전제였다. 조직 표준이 앞선다. 앱이 IdP를 새로 설계하는 그림이 아니다.

잠깐 개념: SSO가 줄이는 것

직원은 한 번의 로그인 체계로 업무 시스템을 오간다. 보안·감사·계정 수명은 중앙에서 다루는 경우가 많다.


2) 지금 학습 베이스 — Better Auth

레포에 better-auth가 있다. 토이·보일러에서 “로그인 흐름을 내 코드베이스 안에서 실험”하려는 선택에 가깝다. SSO 시절과 가장 다른 점IdP가 회사 밖이 아니라 앱 설계 안에 붙는다는 쪽으로 이해한다.


3) ESLint·Prettier·Husky — 기대와 달랐다

ESLint, Prettier, Husky를 써 봤다. Husky로 pre-commit·커밋 메시지 규칙을 걸고 싶었는데 생각만큼 잘 안 굴러갔다는 기억이 있다.

잠깐 개념: Git hook

커밋/푸시 직전에 스크립트를 돌린다. 팀 합의·예외 처리·CI 중복이 없으면 피로만 쌓일 수 있다.


4) 테스트는 아쉬웠고, Playwright는 소극적이었다

린트·포맷 통합

테스트 코드는 거의 없었다고 느낀다. Playwright도입했지만 소극적으로 갔다. 이유를 한 가지로 압축하긴 어렵다 — 당시 일정·우선순위·습관이 겹친 쪽으로만 기억한다.


5) 지금 레포 — Biome·verify·Vitest·Playwright

package.json 기준:

  • lint / lint:fix / formatBiome
  • verifybiome check . && tsc --noEmit && vitest run
  • test / test:watchVitest
  • test:e2ePlaywright

한 줄로 돌릴 수 있게 스크립트를 묶어 둔 점이, 예전에 흩어져 있던 검사와 결이 다르다고 느낀다.


6) 시리즈 마무리

테스트 피라미드

회사는 MSA·SSO·여러 UI 키트·JPA/MyBatis·형상관리를 조직 조건 안에서 굴렸다. 지금모던 웹 스택을 손에 익히기 위해 한 레포에 Next·tRPC·Drizzle·Biome·테스트 스크립트실험대처럼 얹어 보는 중이다.

둘 중 하나가 “정답”이라고 말하고 싶지는 않다. 내가 다음에 어디로 갈지를 정할 자료가 쌓이면 족하다.


참고/더 읽기

반응형