본문 바로가기

전체 글127

[TIL] 면접카타 8일차 🧐 NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. 데이터베이스와 DBMS 데이터베이스란 쉽게 말해 데이터의 집합이다. DB에는 다양한 유형이 존재한다. 계층형(Hieraechical), 명형(Network), 관계형(Relational), 객체지향형(Object-Oriented), 객체관계형(Object-Relational) 등이 있다. 계층형 DB 계층형은 처음 등장한 DB개념이다. 트리(tree)형태로 구성되어 있기 때문에 처음 구성해 놓으면 이를 변경하기가 까다롭고, 또 다른 데이터를 찾아가는 것이 비효율적이기 때문에 지금은 사용하고 있지 않다. 망형 DB 망형 DB는 계층형 DB의 문제점을 개선하기 위해 등장했다. 계층형과 다르게 데이터끼리도 연결된 유연한 구조이.. 2024. 4. 8.
[TIL] 면저카타 7일차 🧐 객체지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? 객체지향 프로그래밍(Object-oriented Programming, OOP)은 소프트웨어 개발에서 사용되는 프로그래밍 패러다임 하나이다. 객체지향 프로그래밍은 다음과 같은 핵심 개념을 포함한다. 1. 클래스와 객체: 클래스는 객체를 생성하기 위한 템플릿이며, 객체는 클래스의 인스턴스입니다. 객체는 데이터와 해당 데이터를 처리하기 위한 메서드를 포함한다. 2. 상속: 상속은 하위 클래스가 상위 클래스의 특성과 메서드를 상속받는 개념이다. 이를 통해 코드의 재사용성을 높일 수 있다. 3. 다양성: 다양성은 같은 이름의 메서드가 다양한 형태로 작동할 수 있는 능력을 가리킨다. 이는 상위 클래스에 정의된 메서드가 하위 클래스에서 다르게 구현될 수.. 2024. 4. 5.
[TIL] 면접카타 6일차 🧐 http, https 차이점에 대해 설명해주세요 HTTPS는 암호화 및 인증이 있는 HTTP이다. 두 프로토콜의 유일한 차이점은 HTTPS는 TLS(SSL)를 사용하여 일반 HTTP요청과 응답을 암호화하고 해당 요청과 응답에 디지털 서명을 한다는 점이다. SSL SSL은 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술이다. 이 기술은 해커가 개인 데이터나 금융 데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지한다. TSL SSL의 업데이트 버전으로 SSL의 최종버전인 3.0과 TLS의 최초버전의 차이는 크지 않으며, 결과적으로 TLS는 SSL의 업데이트 버전이며 명칭만 다르다고 볼 수 있다. SSL / TLS의 작동 방식 SSL은.. 2024. 4. 4.
[TIL] 면접카타 5일차 🧐 JWT, Refresh, Access Token에 대해서 설명해주세요. JWT(Json Web Token)은 웹 표준으로서 두 개체 사이에서 속성(Claim)을 안전하게 전달하기 위한 컴팩트하고 자체적으로 설명을 가지는 방법이다. 일반적으로 토큰은 Access Token과 Refresh Token으로 구분된다. 1. Access Token 액세스 토큰은 일반적으로 사용자가 리소스에 접근할 수 있도록 권한을 부여하는 데 사용된다. 클라이언트가 서버에게 자원에 대한 요청을 할 때 이 토큰을 함께 전송하여 인증을 수행한다. 액세스 토큰은 일정 기간 동안 유효하며, 만료되면 갱신을 위해 리프레시 토큰을 사용한다. 2. Refresh Token 리프레시 토큰은 액세스 토큰의 만료 후에 새로운 액세스 토큰을 발.. 2024. 4. 2.
[TIL] 면접카타 4일차 🧐 대용량 트래픽 발생 시 어떻게 대응해야 하나요? 대용량 트래픽은 웹사이트나 애플리케이션에 대한 갑작스러운 수요 증가를 의미한다. 이러한 대용량 트래픽으로부터 사용자 경험을 보호하기 위해 대응 조치가 필요하다. 1. 트래픽 모니터링 트래픽을 분석하고 모니터링한다. 어떤 문제가 어디서 발생하는지 파악할 수 있다. 2. 스케일 업 / 스케일 아웃 서버 자원을 추가하여 트래픽 부화를 분산 시킨다. 3 캐싱 사용하기 정적 콘텍츠를 캐싱하여 서버의 부하를 줄이고 응답 속도를 향상 시킨다. (ex CDN, Nginx) 4. 클라우드 서비스 활용 클라우드 기반 인프라를 사용하여 필요에 따라 서버를 신속하게 추가하거나 축소할 수 있다. 5. 부하 테스트 시스템이 어느 정도 트래픽을 견딜 수 있는지 확인해보고 대비할 .. 2024. 4. 2.
[TIL] jest.spyOn() 사용법 jest.spyOn() 사용법 mocking에는 스파이(spy)라는 개념이 있습니다. 현실이나 영화 속에서 스파이라는 직업은 “몰래” 정보를 캐내야 합니다. 테스트를 작성할 때도 이처럼, 어떤 객체에 속한 함수의 구현을 가짜로 대체하지 않고, 해당 함수의 호출 여부와 어떻게 호출되었는지만을 알아내야 할 때가 있습니다. 이럴 때, Jest에서 제공하는 jest.spyOn(object, methodName) 함수를 이용하면 됩니다. 2024. 4. 2.