전체 글
CS 면접 스터디 정리 1회차
CORS란 무엇이고 어떻게 허용할 수 있나요? CORS란 브라우저에서 다른 출처의 리소스를 공유하는 방법입니다. CORS가 없이 모든 곳에서 데이터를 요청할 수 있게 된다면, 다른 사이트에서 원래 사이트를 흉내 낼 수 있게 됩니다. 만약 기존 사이트와 완전히 동일하게 동작하도록 하여 사용자가 로그인을 하도록 유도하고, 로그인했던 세션 또는 토큰을 탈취하여 악의적으로 정보를 꺼내오거나 다른 사용자의 정보를 입력하는 등 해킹을 할 수 있게 됩니다. 이런 공격을 할 수 없도록 브라우저에서 보호하고, 필요한 경우에만 서버와 협의하여 요청할 수 있도록 하기 위해서 CORS가 필요합니다. CORS를 허용(사용)할 수 있는 방법에는 두 가지가 있습니다. simple request인 경우와 preflight 요청일 경..

Chapter13-2 LIFO와 FIFO 컬렉션
컬랙션 프레인워크에는 LIFO(Last In Frist Out) 자료구조를 제공하는 Stack 클래스와 FIFO(Friest In Friest Out) 자료구조를 제공하는 Queue 인터페이스가 있다. Stack 리턴 타입 메소드 설명 E push(E item) 주어진 객체를 스택에 넣습니다. E peek() 스택의 맨 위 객체를 가져옵니다. 객체를 스텍에서 제거하지 않습니다. E pop() 스텍의 맨 위 객체를 가져옵니다. 객체를 스텍에서 제거합니다. Stack 객체를 생성하려면 저장할 객체 타입을 E 타입 파라미터 자리에 표기하고 기본 생성자를 호출해야 한다. String을 저장하는 Stack은 다음과 같이 작성할 수 있다. Stack stack = new Stack Stack stack = new ..

Chapter10-2 예외 처리
예외 처리란 프로그램에서 예외가 발생했을 경우 프로그램은 갑작스럽게 종료를 하게 된다. 이를 막고 정상 실행을 유지할 수 있도록 도와주는 것이 예외 처리이다. 자바 컴파일러는 소스 파일을 컴파일할 때 일반 예외가 발생할 가능성이 있는 코드를 발견하면 컴파일 에러를 발생시켜 개발자가 강제적으로 예외 처리 코드를 작성하도록 요구한다. (특정 에러들에 빨간 줄이 그여 실행이 안되도록 막아주는 친구들이다.) 그러나 실행 예외는 컴파일러가 체크하지 못하기 때문에 개발자의 경험을 바탕으로 예외 처리 코드를 작성해주어야 한다. try-catch-finally 블록 try-catch-finally 블록이란 실행 예외가 발생할 경우 예외 처리를 할 수 있도록 해주는 블록이다. try 블록에는 예외가 발생할 가능성이 있는..
Lombok, @NoArgsConstructer, @AllArgsConstructer, @Setter @Getter, 생성자 ..란
@NoArgsConstructer이란 lombok을 사용하면 사용하면 생성자도 자동으로 생성할 수 있다. @NoArgsConstructer 어노테이션은 파라미터가 없는 기본 생성자를 생성해준다. @AllArgsConstructer 어노테이션은 모든 필드 값을 파라미터(매개 변수)로 받는 생성자를 만들어 준다. @RequiredArgsConstructer 어노테이션은 final이나 @NonNull인 필드 값만 파라미터(매개 변수)로 받는 생성자를 만들어 준다. @Getter, @Setter란 JAVA의 가장 큰 특징인 객체지향 중 Getter/Setter의 반복 수행을 대신해수 줄여주는 Lombok의 어노테이션이다. Getter/Setter 이란 개인 정보나, 구매 정보 등 중요한 정보를 가지는 Entit..