본문 바로가기

개발자 기술 면접51

[기타] 쿠키와 세션의 차이 쿠키 - 쿠키는 클라이언트(로컬)에 저장되는 키와 값이 들어있는 작은 데이터 파일입니다. 이러한 쿠키는 클라이언트에 저장되어 필요 시 정보를 참조하거나 재사용할 수 있습니다. 세션 - 세션은 일정 기간 동안 사용자(클라이언트)로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 일정하게 유지시키는 기술입니다. - 세션은 쿠키를 기반으로 하지만, 쿠키와 다르게 서버 측에서 저장하고 관리합니다. - 서버는 세션 ID를 이용해 클라이언트를 구분하며, 웹 브라우저가 서버에 접속해 브라우저를 종료할 때까지 세션을 유지합니다. 쿠키와 세션의 차이 - 쿠키는 클라이언트에 저장되지만, 세션은 서버에 저장됩니다. - 세션은 서버에 저장되므로 서버의 자원을 사용합니다. - 반면에 쿠키는 클라이언트에 저장되므로, 서.. 2023. 12. 27.
[기타] HTTP와 HTTPS HTTP (Hypertext Transfer Protocol) 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜입니다. 웹 통신에서 사용되는 기본 프로토콜. 웹 페이지의 검색 및 표시를 허용. HTTP는 요청과 응답의 형태로 이루어지며 클라이언트는 HTTP에 요청을 보내고 서버는 해당 요청에 대한 응답을 반환. but) 전송되는 데이터에 대한 암호화는 제공하지 않음. HTTPS (Hypertext Transfer Protocol Secure) HTTP와 달리 웹 통신에 더 높은 수준의 보안을 제공하도록 설계되었습니다. 즉, 프로토콜에 암호화가 추가된 보안 프로토콜. 웹 서버와 클라이언트의 브라우저 간에 전송되는 데이터를 암호화함으로써 HTTPS는 정보가 기밀로 유지되고 악의적으로.. 2023. 12. 26.
[Spring] Spring과 SpringBoot의 차이 Spring vs SpringBoot 스프링은 기존 의존성 설정 시, 설정 파일이 매우 길고 모든 의존성에 대해 버전 관리도 하나하나 해줘야 했습니다. 반면에 스프링 부트는 starter 의존성 그룹을 통하여 보다 쉽게 설정할 수 있고 자동으로 버전을 관리해줍니다. 또한, 스프링 부트는 스프링과 달리 내장형 톰캣으로 별도의 서버 설치 및 설정이 필요 없어졌으며, 이로 인해 독립적으로 실행이 가능하여 jar 파일로 손쉬운 배포가 가능합니다. 그리고 스프링 부트는 “자동 구성” 기능을 통해 프로젝트 시작에 필요한 스프링과 외부 라이브러리의 빈을 자동으로 등록해줍니다. 2023. 12. 26.
[Spring] MVC 패턴 MVC 패턴 - MVC 는 Model, View, Controller의 약자로서 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성 요소를 세 가지의 역할로 구분한 디자인 패턴입니다. Model - 애플리케이션의 정보(데이터) 정의 및 가공, 그리고 비즈니스 로직을 나타냄. View - 클라이언트(사용자)에게 보여지는 사용자 인터페이스 요소(화면), Model의 데이터를 표시. Controller - Model과 View를 연결시켜주는 역할. MVC 패턴의 장단점 장점 역할의 분리로 코드의 재사용성과 유지 보수성이 향상된다. 테스트에 용이하다. 단점 규모가 커질수록 파일이 많아져 복잡해질 수 있다. Cf) 디자인 패턴 2023. 12. 26.
[기타] 디자인 패턴 디자인 패턴 - 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대하여, 설계의 노하우를 축적하여 그 방법에 이름을 붙여서 재사용하기 좋은 형태로 규약을 만들어 정리한 것입니다. - 즉 "효율적인 코드를 만들기 위한 방법론". Ex) 싱글톤 패턴 - 디자인 패턴 종류 중 하나로, 하나의 클래스에 오직 하나의 객체 인스턴스만 가지는 패턴입니다. - 클래스의 인스턴스가 하나임을 보장하고 접근할 수 있는 전역적인 접근점을 제공하는 패턴입니다. - 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 어디에서든 공유하며 접근, 사용할 수 있습니다. 장점 - 인스턴스가 단 하나이기 때문에 인스턴스를 생성할 때 드는 비용이 줄어듭니다. 단점 - 멀티스레드 환경에서 객체가 1개 이상 생성되어 오류 발생의 여.. 2023. 12. 26.
728x90