반응형

분류 전체보기 88

[라이브러리] Swagger & REST API

Swagger가 나온 배경 협업을 위해 필요한 라이브러리 서버 개발자B가 클라이언트 개발자A에게 API 스펙이 담긴 문서를 전달해줍니다. 일반적으로는 엑셀이나 워드 등으로 API 스펙을 작성해서 보내줬습니다. 그럼 그 스펙 문서를 다시 수정해서 보내줘야되는 그런 귀찮은 부분들이 존재했습니다. 이런 문제와 더불어 수작업으로 진행되다 보니 오류 사항도 있었습니다. 그래서 이런 문제들을 해결하고자 해서 나온 라이브러리가 Swagger입니다. Swagger란?? 서버로 요청되는 API 리스트를 HTML 화면으로 문서화하여 테스트 할 수 있는 라이브러리를 의미합니다. 이 라이브러리는 서버가 가동되면서 @RestController를 읽어 API를 분석하여 HTML 문서를 작성합니다. 위에서 말한 서버로 요청되는 A..

Programming 2022.09.24

[Spring] 스웨거 어노테이션 / Swagger 2.0 vs Swagger 3.0 차이

Swagger Annotation Swagger란, 서버로 요청되는 API 리스트를 HTML 화면으로 문서화하여 테스트 할 수 있는 라이브러리를 의미합니다. Open API 2.0 (Swagger 2.0) vs Swagger 3.0 Swagger 3.0 Annotation Swagger 2.0 Description @Tag @API 클래스를 Swagger 리소스로 표시 @Parameter (hidden = true) or @Operation (hidden = true) or @Hidden @ApiIgnore API 작업에서 단일 매개 변수를 나타냄 @Parameter @ApiImplicitParam API 작업에서 단일 매개 변수를 나타냄 @Parameters @ApiImplicitParams API 작..

[JAVA] Generic이란??

Generic이란?? 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 class Person { public T info; } public class GenericDemo { public static void main(String[] args) { Person p1 = new Person(); Person p2 = new Person(); } } T 는 info 필드의 데이터 타입입니다. Person 클래스를 정의하는 시점에서는 info의 데이터 타입을 명시적으로 지정하지 않고 있다가 Person을 인스턴스화 할때 안에 구체적인 데이터 타입인 을 언급하면 는 String이 되고 info의 데이터 타입은 String을 갖게 된다는 뜻입니다. 그럼 자연스럽게 인스턴스를 담아낼 수 있는 p1의 데..

[네트워크] 3-way-handShake와 TCP 와 UDP

3 - way - handShake란??? TCP와 UDP의 차이를 알려면 먼저 3 - Way - Handshake를 먼저 알아야 한다!! 3 - Way-Handshake란, 전송제어 프로토콜(TCP)에서 통신을 하는 장치간 서로 연결이 잘 되어있는지 확인하는 과정/방식이다. 더 쉽게 말해서 송수신자 (데이터를 주고 받는 2사람이라고 생각하면 쉬울 것 같다)사이에 연결을 확인하는 과정이다. 아래는 참고 그림이다 * TCP의 3-way Handshaking 과정 [STEP 1] 클라이언트는 서버에 접속을 요청하는 SYN 패킷을 보낸다. 이때 클라이언트는 SYN 을 보내고 SYN/ACK 응답을 기다리는SYN_SENT 상태가 된다. [STEP 2] 서버는 SYN요청을 받고 클라이언트에게 요청을 수락한다는 AC..

[Programming] 자바와 자바스크립트 공통점과 차이점

자바와 자바스크립트, 개발 공부를 처음 시작하면 자바와 자바스크립트라는 이름의 '자바' 때문에 두개가 비슷하거나 같다고 생각할 수도 있다. 한 번씩 커뮤니티나 질문이 올라오는걸 보면 자바 게시판에 자바스크립트 질문 글이, 자바스크립트 게시판에 자바 질문이 올라오는 걸 종종 볼 수 있다. 자바와 자바스크립트 역사를 간단하게 살펴보면 이렇다. 자바는 Sun에서 개발한 언어로 자바스크립트보다 먼저 나왔다. 자바스크립트는 NetScape 사에서 개발하였고 초기엔 Mocha, LiveScript라는 이름으로 변경되었지만 자바가 인기가 많아짐에 따라 자바스크립트라는 이름을 쓰게 되었다고 한다. 그래서 자바와 자바스크립트는 엄연히 태생부터 다른 언어라고 볼 수 있다. 다만 공통점 몇 개를 살펴보자면 이렇다. 자바 v..

Programming 2022.06.19

[Spring] JSP & Servlet / JSP와 Servlet의 역할

자바를 배우면 JSP, Servlet, Spring 에 대해서 많이 배우고 듣게 되는데 오늘은 하나씩 알아보도록 하자! JSP, Servlet, 스프링을 각각의 특징을 간단하게 알아보는 포스팅이라 자세한 지식은 다음에 포스팅하도록 하겠다! 서블릿(Servlet) 서블릿은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 위해 자바로 작성된 어플리케이션이다! (HTML in JAVA) 쉽게 풀어보자면 '클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에 전송하는 서블릿 클래스의 구현한 자바 프로그램' 이라고 이해하면 된다! 서블릿에서 좀 더 확장시킨 개념이 스프링이라 생각하면 된다!! 스프링도 서블릿을 통해 동작을 하기 때문에! JSP (Java Server Page) 간단하게 HTML 안에 자..

[Spring] MVC (Model, View, Controller) 패턴이란??

MVC 패턴이란??? 모델-뷰-컨트롤러(model–view–controller, MVC)는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. MVC에서 모델은 애플리케이션의 정보(데이터)를 나타내며, 뷰는 텍스트, 체크박스 항목 등과 같은 사용자 인터페이스 요소를 나타내고, 컨트롤러는 데이터와 비즈니스 로직 사이의 상호동작을 관리한다. 출처 - 위키피디아, mvc 패턴 사전적 의미는 위키피디아에서 가져왔지만 감이 아직 안잡힌다... 핵심만 간단히 풀어서 적어보려 한다.먼저 MVC패턴을 설..

[네트워크] HTTP(Hyper Text Transfer Protocol) 란? HTTP의 요청과 응답

HTTP란? HTTP(HyperText Transfer Protocol)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 주로 HTML 문서를 주고받는 데에 쓰인다. HTTP는 상태를 가지고 있지 않는 Stateless 프로토콜이며 Method, Path, Version, Header, Body 등으로 구성된다! 그래서 HTTP는 클라이언트 정보를 저장하지 않아서 클라이언트를 구분하기 어렵다! ※ W3란 월드 와이드 웹(World Wide Web, WWW, W3)은 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 ..

[IntelliJ Error]war exploded: error during artifact deployment. see server log for details.

인텔리제이로 메이븐을 통해서 스프링 프로젝트를 생성중 생긴 오류이다. pom.xml에 properties, dependency, plugin을 추가하고 톰캣과 연결후 연결이 잘되었는지 확인하는 과정에서 생긴 에러이다! Project Structure -> Artifact에 Available Elements를 모두 삭제하고 다시 설정을 해줬는데도 안됐다! 이 에러 찾고 잡는다고 2시간정도 쌩 고생한거 같다... 해결방법 ideaProject / 만든 프로젝트 폴더에 들어가보면 src와 out 폴더가 있다. out 폴더에 WEB-INF 페이지가 없어 src에 있는 WEB-INF 폴더를 복사해서 붙여넣어주니 해결... 잘 모르시는 분들을 위해 경로를 적어보자면 ideaProject / 만든 프로젝트 폴더 / ..

Error Note 2022.06.09

[JavaScript] JS로 그림판 만들기, save 기능 구현하기 [8/8]

2022.06.07 - [Practice] - [JavaScript] JS로 그림판 만들기, Fill 기능 구현하기! [7/8] [JavaScript] JS로 그림판 만들기, Fill 기능 구현하기! [7/8] 2022.06.07 - [Practice] - [JavaScript] JS로 그림판 만들기, paint 색상, 붓 사이즈 바꾸기! [6/8] [JavaScript] JS로 그림판 만들기, paint 색상, 붓 사이즈 바꾸기! [6/9] 2022.06.06 - [Practice] - [JavaScr.. puenti.tistory.com 저번 포스팅은 Fill 기능까지 넣어줬다! 이번 포스팅은 마지막 save 기능을 넣어주도록 해보자! canvas는 pixel을 다루는거라 기본적으로 image를 만들..

Practice 2022.06.08
반응형