▶️ 세션 기반 인증과 토큰 기반 인증의 차이에 대해 설명해 주세요. 세션 기반 인증(Session-Based Authentication) 세션 기반 인증은 서버 측에서 사용자 상태를 유지하고 관리하는 방식이다. 일반적으로 웹 애플리케이션에서 사용된다. 사용자가 로그인하면 서버는 사용자에 대한 세션을 생성하고 고유한 세션 ID를 할당한다. 이 세션 ID는 ...
▶️ JWT, Refresh, Access Token에 대해서 설명해주세요. JWT (JSON Web Token) JWT는 액세스 토큰의 한 형식으로 사용된다. JSON 형식을 기반으로 하며, 정보를 암호화하지 않고 토큰 내에 데이터를 저장한다. JWT는 클레임(claim)이라고 불리는 정보를 포함하며, 이는 주로 사용자 ID, 권한, 발행자, 만료 날짜 ...
▶️ OAuth에 대해서 설명해 주세요. OAuth(Open Authorization)는 인터넷 사용자를 위한 인증 및 인가 프레임워크로, 웹 및 모바일 애플리케이션에서 다른 서비스 또는 애플리케이션에 대한 접근 권한을 부여하기 위해 사용된다. 주로 소셜 미디어 플랫폼, 클라우드 서비스, 온라인 상거래 플랫폼 등에서 사용되며, 사용자의 비밀번호를 공유하지 ...
▶️ 클래스형과 함수형의 차이를 설명해주세요. 어떤 방식을 주로 사용하였고 그 이유가 뭔지 답변해주세요. 클래스형 구조 : 클래스를 사용하여 객체 지향 프로그래밍(OOP) 방식으로 코드를 구성한다. 클래스는 데이터와 해당 데이터를 조작하는 메서드(함수)를 함께 묶는 방법을 제공한다. 상태 관리 : 객체 지향 프로그래밍에서는 객체 내부에 상태를 저장하는 것이...
▶️ CI/CD에 대해서 설명해주세요. Continuous Integration (CI - 지속적 통합) CI는 개발 과정에서 자주 코드 변경 사항을 통합하는 것을 의미한다. 개발자가 코드를 커밋할 때마다 자동으로 테스트를 실행하고, 코드를 공유 레포지토리에 병합한다. 목표는 개발자가 작업하는 동안 발생한 문제를 조기에 발견하고 해결하여 통합된 코드베이스가...
▶️ TDD에 대해서 설명해주세요. 소프트웨어 개발 방법론 중 하나로, 소프트웨어를 개발할 때 테스트 케이스를 먼저 작성한 다음, 그 테스트 케이스를 통과시키기 위한 코드를 작성하는 개발 방법론이다. TDD는 소프트웨어의 품질을 향상시키고 버그를 줄이며, 코드를 더 모듈화하고 유지보수하기 쉽게 만드는 데 도움을 준다. 주요 단계 테스트 작성 (Test): ...