목록전체 글 (82)
호비시의 끄적끄적
Spring WebFlux란? Spring WebFlux는 Spring 5에서 새롭게 추가된 모듈이다. WebFlux는 클라이언트, 서버에서 Reactive 한 스타일의 어플리케이션 개발을 도와주는 모듈이며, reactive-stack web framework이며, non-blocking reactive stream을 지원한다. Reactive Programming 이란? 리엑티브 프로그래밍은 데이터 흐름과 변화 전파에 중점을 둔 프로그래밍 패러다임이다. 프로그래밍 언어로 정적이거나 동적인 데이터 흐름을 쉽게 표현할 수 있어야 하며, 데이터 흐름을 통해 하부 실행 모델이 자동으로 변화를 전파할 수 있는 것을 의미한다. Rx 프로그래밍의 핵심은 3가지 Observable, Observer, Schedule..
JVM ? Java Virtural Machine의 줄임말. 자바를 실행하기 위한 가상기계 Java의 특징으로는 OS에 종속되지 않는다는 점이 있는데, 이를 가능하게 하는 것이 JVM이다. JVM 구성요소 클래스 로더(Class Loader) 실행 엔진(Execution Engine) 인터프리터(Interpreter) JIT 컴파일러(Just In Time) 가비지 콜렉터(Garbage Collector) 런타임 데이터 영역(Runtime Data Area) 클래스 로더 JVM 내로 클래스파일을 로드하고, 링크를 통해 배치하는 작업을 수행하는 모듈 런타임 시 동적으로 클래스를 로드, jar 파일 내에 저장된 클래스들을 JVM 위에 탑재한다. 실행 엔진 클래스를 실행시키는 역할 클래스 로더가 JVM내의 런..
객체지향 프로그램이란 OOP(Object Oriented Programing)란 컴퓨터 프로그래밍 페러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜서 상태와 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 절차지향 프로그래밍의 한계를 극복하고자 나온 페러다임 장점 코드 재사용성 유지보수 쉬움 대형프로젝트에 적합 단점 처리속도가 느림 객체가 많으면 용량이 커질 수 있음 설계시 많은 시간과 노력이 필요 키워드 클래스 + 인스턴스 추상화 캡슐화 상속 다형성 클래스와 인스턴스란? 클래스 : 속성과 행위를 변수와 메서드로 정의한것, 객체를 만들기 위한 메타정보 인스턴스(객체) : 클래스에서 정의한 것을 토대로 실제 메모리에 할당 된 것 추상화..
REST API를 알아보기 전에 우선 API에 대해 알아보자 API란? API란 Application Programming Interface 의 약자로 컴퓨터의 기능을 실행시키는 방법을 의미한다. 회원가입, 로그인, 게시글 작성, 조회, 수정, 삭제 등등 특정 기능을 담당하고 있는 하나 하나가 모두 API 이다. 클라이언트가 요청(Request)을 하면 서버에서 API에 맞는 기능들을 실행하고, 적절한 응답(Response)을 보내줄 것이다. REST API란? REST API 란 한 줄로 말하면 다른 사람의 컴퓨터의 기능을 실행히시는 형식을 의미한다. 좀더 자세히 설명하면, HTTP를 이용해서 통신을 할 때 특정 Resource 를 특정 method 를 통해 전달하는 방식을 의미한다. REST의 특징 ..
인터넷 브라우저에서 URL 입력이 들어왔을 때 서버까지 도달하는 흐름에 대해 적어본다. 1. URL 요청 클라이언트가 주소창에 URL 을 입력합니다. 2. URL 분석 브라우저가 해당 URL을 분석합니다. shcem : 자원에 접근할 방법을 정의해 둔 프로토콜 이름(ex. http, ftp) host : 도메인 이름. IP address도 사용 가능 Post : 포트 번호. (HTTP 기본포트 80, HTTPS 기본포트 443 생략가능) path : 자원의 경로 query : Query String. GET 방식으로 요청할 때 필요한 데이터를 넘겨주기 위함 fragment : anchor. HTML에 특정 ID가 있는 곳으로 스크롤 이동할 수 있도록 하기 위함 URL이 문법에 맞지 않는다면 웹 브라우저의..