[CS / DesignPattern] 빌더 패턴 (with Lombok)
·
Computer Science
📕 빌더 패턴 📗 빌더 패턴이란? 복잡한 객체들을 단계별로 생성할 수 있도록 하는 GoF 디자인 패턴 중 생성 패턴에 해당하는 패턴이다. 객체를 생성하는 클래스와 표현하는 클래스를 분리하여, 동일한 절차에서도 서로 다른 표현을 생성하는 방법을 제공한다. 📗 왜 나왔을 까? 객체를 생성시 생성자(Constructor)만 사용할 때 발생할 수 있는 문제를 개선하기 위해 나왔다. 예시로 다음과 같은 Member 클래스가 있다고 하자. @Entity @Getter @Setter @NoArgsConstructor public class Member extends BaseTimeEntity { /** * 회원 목록 테이블 */ @Id @GeneratedValue(strategy = GenerationType.IDE..
[CS / Web] 웹 개발에서 쿠키, 세션 저장소 및 로컬 저장소 이해
·
Computer Science
웹 개발에는 쿠키, 세션 저장소 및 로컬 저장소와 같이 클라이언트 측에 데이터를 저장하는 다양한 방법이 있습니다. 이러한 메커니즘은 사용자 데이터를 관리하고 전반적인 브라우징 경험을 개선하는 데 중요한 역할을 합니다. 📍 쿠키 쿠키란? 사용자의 브라우저에 저장되는 작은 데이터 조각 모든 HTTP 요청과 함께 서버로 전송되어 서버가 사용자를 식별하고 인증할 수 있도록한다 만료 날짜가 있으며 지정된 기간 동안 지속되거나 브라우저 세션이 종료되면 만료되도록 설정이 가능하다 쿠키는 크기가 제한되어 있으며 일반적으로 몇 킬로바이트에서 몇 메가바이트 범위 클라이언트 측과 서버 측 모두에서 액세스하고 수정할 수 있다 쿠키의 동작 방식 클라이언트가 페이지를 요청 서버에서 세션 ID 등을 포함한 쿠키 생성 HTTP 헤더..
[CS / Web] RESTful API 설계
·
Computer Science
간단한 토이 프로젝트 준비 중 RESTful API에 대해 알게 되어 정리해보았다. 📍 API 란? API란 Application Programming Interface의 약자로 프로그램을 실행하는 인터페이스이다. API는 서버와 데이터베이스에 대한 출입구 역할을 한다 📍 REST API 란? Representational State Transfer REST API란 REST Architecture의 제약 조건을 준수하는 애플리케이션 프로그래밍 인터페이스를 뜻한다. 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고 받는 것을 의미한다. = 자원(Resource)의 표현(Representation)에 의한 상태 전달 📍 RESTful API에서 HTTP Method GET : 조회 (받..
[CS / 기술면접] Chat GPT와 함께하는 기술면접 준비
·
Computer Science
[CS / 기술면접] 개발자 기술 면접 준비 - 자바
·
Computer Science
📕 Java의 특징을 설명해주세요. 자바(Java)는 절착적 언어와 다르게 객체 지향 언어로 개발된 프로그래밍 언어입니다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하기 때문에, 운영체제와는 독립적으로 동작할 수 있습니다. 또한 “가비지 컬렉션”에 의해 메모리가 자동 관리되며, “멀티 쓰레드”를 지원합니다. JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다는 단점이 있습니다. 📕 JVM의 역할에 대해 설명해주세요. 자바 가상 머신(JVM, Java Virtual Machine)이란 운영체제 위에서 자바 바이트 코드를 실행시키기 위한 가상의 기계라고 할 수 있습니다. 자바 바이트 코드(Java Bytecode) - 자바 가상 머신이 이해할 수 있는 언어로 변환..
[CS / 기술면접] 개발자 기술 면접 준비 - 프로그래밍
·
Computer Science
📕 HTTP METHOD에 대해 설명해주세요. HTTP METHOD란 클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단으로 GET, POST, PUT, PATCH, DELETE 등이 있습니다. GET - 서버의 데이터 조회 POST - 서버에 데이터 등록 PUT - 서버의 데이터 갱신, 데이터가 없다면 생성 PATCH - 데이터의 일부 변경 DELETE - 리소스 삭제 📕 HTTP METHOD에서 GET과 POST의 차이점에 대해 설명해주세요. GET은 주소 뒤에 쿼리스트링이 그대로 전달되어 보안성이 떨어지고 속도가 빠르며, POST는 주소가 전달 될 때 인코딩하여 전달되어 보안성은 높지만 전송속도가 느립니다. 또한, GET요청은 캐시가 되나, POST는 캐시 되지 않는다는 것과 GET..
[LINUX / error] 리눅스 파일 권한 에러
·
Computer Science/Linux
에러 내용 php 파일복사 메소드 에러 구글링 결과 : 해당 폴더의 권한 때문 에러 수정 추후 리눅스 파일 권한 정리 해보기
[LINUX] vi 편집기 사용
·
Computer Science/Linux
vi의 세 가지 모드 명령 모드 (command mode) : vi 명령어를 통해 vi를 시작할 경우 실행되는 모드, 방향키를 통해 커서 이동 입력 모드 (insert mode) : 명령 모드에서 i 또는 a 키를 눌러 입력 모드로 넘어감, 코드나 글 작성 가능, 명령 모드로 돌아갈 때는 ESC i : 커서가 현재 위치한 부분에서부터 시작 a : 커서 바로 다음 부분부터 시작 shift + spacebar : 영/한 변환 콜론 모드 : 명령 모드에서 : (콜론)을 입력하면 화면 맨 아랫줄에 입력 가능한 공간이 출력 vi의 구성 vi 명령어 명령 모드에서 입력 모드로 전환 i: 커서 앞(왼쪽)에 입력 a: 커서 다음(오른쪽)에 입력 입력 모드에서 명령 모드로 전환 ESC 저장, 종료하기 (콜론 모드) :q..
[LINUX] 리눅스 기본 명령어
·
Computer Science/Linux
pwd(print working directory) 현재 작업중인 디렉토리 정보 출력 cd(change directory) 경로 이동 절대 경로, 상대 경로 이동 둘 다 가능 ls(list) 디렉토리 목록 확인 cp(copy) 파일 혹은 디렉토리를 복사 복사할 때는 -r 옵션 추가해야함 mv(move) 파일 혹은 디렉토리 이동 이름을 변경할 때 주로 사용 mkdir (make directory) 디렉토리 생성 -p 옵션을 주면 하위 디렉토리까지 한 번에 생성 가능 rm (remove) 파일이나 디렉토리를 삭제 디렉토리 삭제시 -r 옵션을 주면 안에 파일도 한번에 삭제됨 -f 옵션을 주면 사용자에게 삭제 여부를 묻지 않고 바로 삭제 touch 파일이나 디렉토리의 최근 업데이트 일자를 현재 시간으로 변경 파..