스터디 진행 일시
날짜 : 10월 30일 (목요일) 시간 : 오후 7시 ~ 9시 (2시간) 장소 : 강남 (오프라인) 오늘 함께한 멤버 ❣️ : 은지님 / 유경님 / 소영님 / 근우님


🔧 금주 스터디 일정
  • 아이스 브레이킹
  • 웹소켓이란 ? (유경님 세미나)
  • Playwright가 필요한 이유(소영님 세미나)
  • 좋은 중니어되기와 대화법 (은지님 세미나)


웹소켓이란 ?

🙌 유경님의 세미나 🙌


  • 웹소켓은 클라이언트와 서버가 실시간으로 양방향 통신을 할 수 있게 해주는 프로토콜이다.
  • 보통 HTTP 요청은 요청 → 응답 한 번으로 끝나지만, 웹소켓은 한 번 연결이 맺어지면 끊기지 않은 채로 데이터가 계속 오고 갈 수 있다.

  • 기본 구조
    • Handshake (핸드셰이크)
      • 처음에는 HTTP 요청으로 서버에 “웹소켓으로 전환할게요”라고 요청한다.
      • 서버가 승인하면 프로토콜이 ws:// 또는 wss://로 바뀌면서 연결이 유지된다.
    • 양방향 통신 (Full-duplex)
      • 연결이 유지된 동안, 클라이언트와 서버는 서로 데이터를 자유롭게 보낼 수 있다.
      • 메시지는 보통 JSON 형태로 주고받는다.
    • 연결 유지와 해제
      • 연결은 명시적으로 닫기 전까지 계속 살아 있다.
      • 서버나 클라이언트가 close()를 호출하면 세션이 종료된다.
  • HTTP vs WebSocket vs SSE(Server-Sent Events) 차이
    • HTTP
      • 요청/응답 기반의 단방향 통신
      • 클라이언트가 요청할 때만 서버가 응답함
      • 요청이 끝나면 연결은 바로 종료됨
      • 실시간성이 낮고, 필요한 순간마다 다시 요청해야 함
      • 예: REST API, 페이지 요청, 데이터 조회
    • WebSocket
      • 한 번 연결되면 계속 유지되는 양방향 통신
      • 서버와 클라이언트가 서로 동시에 데이터 전송 가능
      • 연결 유지와 해제
        • 연결은 명시적으로 닫기 전까지 계속 살아 있음
        • 서버나 클라이언트가 close()를 호출하면 세션 종료
      • 실시간성이 높은 서비스에 적합
      • 예: 채팅, 실시간 알림
    • SSE (Server-Sent Events)
      • 서버에서 클라이언트로 일방향 스트리밍
      • 클라이언트는 한 번 연결 후 서버가 푸시하는 데이터를 계속 수신
      • 브라우저의 EventSource 객체로 쉽게 구현 가능
      • 연결 유지와 해제
        • 서버나 네트워크 오류 시 자동 재연결 가능
        • 클라이언트가 명시적으로 종료할 수도 있음
      • 실시간 알림, 뉴스 속보, 대시보드 데이터에 적합


Playwright가 필요한 이유

🙌 소영님의 세미나 🙌


  • 소영님이 정리하신 블로그
  • 왜 테스트는 통과했는데 서비스는 터질까?
    • 원인: 사이드 이펙트(Side Effect)
    • → 함수가 외부 상태(localStorage, API, DOM 등)에 영향을 주는 행위
  • E2E 테스트의 역할
    • 실제 사용자 흐름(로그인 → 이동 → 확인)을 그대로 재현
    • 사이드 이펙트로 인한 문제를 실제 브라우저 환경에서 검증
  • Playwright
    • 브라우저 자동 조작 테스트 도구
    • 클릭, 입력, 네트워크 요청까지 실제처럼 수행
    • 실제 렌더링 기반 테스트 → 사이드 이펙트 감시 가능
  • Playwright MCP + Cursor
    • 코드 변경 감지 → AI가 테스트 시나리오 생성 → 자동 실행
    • 테스트 결과 요약 및 수정 제안 자동 보고


좋은 중니어되기와 대화법 ?

🙌 은지님의 세미나 🙌


좋은 중니어+a 되기
  • 은지님이 정리하신 노션
  • 중니어란?
    • 주니어와 시니어 사이 단계로, 팀에 기술적으로 기여하지만 리더십보다는 실행 중심.
  • 주니어 / 중니어 / 시니어를 굳이 나누자면,
    • 주니어: 내 일 잘하기, 성장 중심
    • 중니어: 팀의 구조와 방향 이해, 협업 파트너
    • 시니어: 시스템 설계와 조직 운영, 리더십 중심
  • 좋은 중니어란?
    • “좋은”의 기준은 사람마다 다름.
    • 내가 지향하는 ‘좋은 삶’과 일의 방식이 연결될 때 진짜 성장함.
    • 꾸준히 몰입하고, 문제를 해결하며, 함께 성장하는 태도를 가지는 것.
  • 하드스킬 / 소프트스킬
    • 하드스킬: 기술적 능력 (언어, DB, 클라우드, 시스템 설계 등)
    • 소프트스킬: 협업, 커뮤니케이션, 문제 해결, 책임감, 학습력 등
  • 성장 단계별 포인트
    • 주니어+α
      • 문제 정의력, 커뮤니케이션
      • 맥락을 이해하고 방향성 맞추기
      • 모르면 빠르게 물어보고 배우기
    • 중니어 > 중니어+α
      • 팀에 필요한 기술 판단력
      • 모두가 같은 목표를 바라보게 하는 정렬 능력
      • 로드맵 설계, 우선순위 판단, 동료 성장 지원
    • 중니어+α > 시니어 초입
      • 시스템 전체의 영향 이해
      • 개인이 아닌 조직이 잘하게 만드는 영향력
      • 신뢰 기반 협업, 리더 관점의 문제 해결
  • 성장 마인드
    • “좋은 삶”을 기준으로 일의 방향을 잡기
    • 나의 에너지를 주는 행동(좋아하는 동사)이 지금 일에도 있는지 점검하기
    • 없으면 역할이나 방향을 재설계해야 함


대화법
  • 대화에서 중요한 것
    • 핵심은 공감과 진심
    • 기술보다 상대의 생각과 감정에 관심을 가지는 태도가 더 중요
  • 지시형 대화법
    • “이렇게 해야 해요”, “그건 틀렸어요”처럼 정답을 바로 제시하는 방식
    • 빠르고 명확하지만, 상대의 내적 동기를 자극하기는 어려움
  • 동기면담 (Motivational Interviewing)
    • 상대가 스스로 변화하고 싶게 만드는 대화법
    • 최근에는 리더십 대화법으로도 자주 활용
    • 대화법
      • 그 부분을 그렇게 하신 이유가 있을까요?
      • 이 방향이 되면 어떤 점이 좋아질까요?
  • 동기면담 단계
    • 공감하기 – 감정에 공감하고 비춰주기
    • 초점 맞추기 – 바꾸고 싶은 지점을 함께 찾기
    • 이끌어내기 – 변화의 이유를 스스로 말하게 유도
    • 계획 세우기 – 스스로 시도할 행동을 정하도록 돕기