Back-end Developer/Server, Spring
-
Spring Web MVCBack-end Developer/Server, Spring 2021. 4. 7. 18:46
MVC는 다들 아실 텐데... Spring MVC는 뭘까요? MVC 패턴을 모르신다면, 검색해서 간략히 알아보시길 바랍니다 단순히 생각해보면 Spring 에서 MVC 패턴 구성을 위해 지원하는 기능들이라 볼 수 있겠습니다. Spring MVC는 Dispatcher Servlet이 중심이 되어 구성됩니다. 두 용어의 정의를 알아보고 실제 구성은 어떻게 되고 어떻게 동작하는지 알아보도록 하죠. Spring MVC 'Model-View-Controller'의 약자로 기본 시스템 모듈을 MVC로 나누어 구현 및 처리 Dispatcher Servlet을 중심으로 구성되어 있으며 사용자로부터 들어오는 요청을 핸들러에 매핑하고, 뷰로 반환하는 등의 작업을 지원 Dispatcher Servlet Servlet Cont..
-
MSABack-end Developer/Server, Spring 2021. 3. 24. 14:56
MSA...MS.... Micro soft..? 이번 포스팅은 MSA 관련 개념과 왜 필요한지 알아보려 합니다. MSA (Microservice Architecture) 단일 응용 프로그램을 나누어 작은 서비스의 조합으로 구축하는 방법 비즈니스 도메인을 중심으로 모델링된 소규모 자율 서비스 모음으로서 애플리케이션을 구성하는 아키텍처 스타일 어떤 의미인지 완벽하게 와닿진 않습니다만, 'Micro'한 'Service'를 의도한다는 것 쯤은 알 수 있습니다. 왜 MicroService가 등장하게 되었는지, 기존엔 어떤 방식이었는지 하나씩 알아 보겠습니다. 기존 서비스는 MonolithicService 입니다. Monolithic의 사전적 정의는 아래와 같습니다. 1. 하나의 암석으로 된 2. 단일체의, 한 덩..
-
RestTemplate & URLConnectionBack-end Developer/Server, Spring 2020. 10. 30. 18:57
이번 공모전을 진행하며 사용한 URLConnection과 RestTemplate에 대해 정리합니다. 위의 두 가지 클래스를 살펴보기 전에 우선 HTTP 특징에 대해 알고 가는 것이 좋습니다. HTTP HTTP(HyperText Transfer Protocol)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었다. HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그..
-
RPC (Remote Procedure Call)Back-end Developer/Server, Spring 2020. 10. 29. 18:38
오늘은 제가 SW maestro 10기에서 적용한 thrift 즉, RPC에 대해 정리해보려 합니다. -> 아직은 부족한 게 많아 지속적으로 수정될 예정입니다. 막상 사용하는 것 자체는 찾아보면 쉽게 할 수 있습니다. (generate code를 통해 생성하기 때문에 매우 편리합니다.) 하지만, 제대로 된 개념을 아는 것은 좀 다른 문제겠지요. RPC 원격 프로시저 호출(remote procedure call, 리모트 프로시저 콜, RPC)은 별도의 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술이다. 다시 말해, 원격 프로시저 호출을 이용하면 프로그래머는 함수가 실행 프로그램에 로컬 위치에 있든 원격 위치에 있든 동일한 코드를 이용할 수 있..
-
REST API (2)Back-end Developer/Server, Spring 2020. 7. 19. 17:22
REST API(1)에 이어서 Uniform Interface에 대한 내용을 살펴보겠습니다. 2020/07/17 - [Study/Java(OOP) & others] - REST API (1) REST API (1) API 개발을 해보신 분들이나, 졸업 작품을 해보신 분들은 한 번쯤 들어봤을 내용이라 생각합니다. REST API, RESTful API 등으로 불리고 있고 해당 내용은 몇 번을 강조해도 지나치지 않습니다. 이미 나 exponential-e.tistory.com Uniform Interface Identification of resources Manipulation of resources through representations Self-descriptive message Hypermedia..
-
REST API (1)Back-end Developer/Server, Spring 2020. 7. 17. 16:54
API 개발을 해보신 분들이나, 졸업 작품을 해보신 분들은 한 번쯤 들어봤을 내용이라 생각합니다. REST API, RESTful API 등으로 불리고 있고 해당 내용은 몇 번을 강조해도 지나치지 않습니다. 이미 나온지는 꽤 오래되었고, 제가 처음 이에 대해 들은 건.. 16년도 쯤 같습니다. 그땐 뭐가 뭔지 잘 이해하지 못했지만, 개발 경험과 여러 자료를 지속적으로 읽어보고 찾아본 끝에 알 수 있게 되었습니다. 특히 네이버 Deview 2017에서 이응준님께서 발표하신 그런 REST API로 괜찮은가 영상은 꼭 보시라고 말씀드리고 싶습니다. (이 글도 해당 영상의 내용을 참고하여 정리했습니다.) REST가 저에게 제대로 스며들기 시작한 영상이고 계속해서 시간 날 때마다 이 영상을 보고 생각하고 공부하고..
-
AOPBack-end Developer/Server, Spring 2020. 6. 29. 19:39
본 포스팅은 Spring docs 내용을 기준으로 정리된 글입니다. 좀 더 자세한 내용은 해당 링크를 참고해 주세요. 일반적으로 관점이라 하면, 사람의 관점은 서로 다르다. 어떻게 보느냐에 따라 다른 결과가 나타난다. 뭐 이런 이야기를 많이 합니다. 하지만 AOP에서 쓰이는 용어들은 직관적인 의미와는 약간 상이한 뜻을 가집니다. (물론 관점을 여러가지로 고려해본다는 의미와는 꽤나 상통합니다.) 따라서, 용어에 대한 혼동을 가져올 수 있으니 주의하시기 바랍니다. AOP (Aspect Oriented Programming) 관점 지향 프로그래밍이라고 불립니다. AOP는 프로그램 구조에 대한 견해를 조금 다른 방식으로 접근해 OOP를 보완합니다. OOP의 핵심 모듈화 단위는 class인데, AOP의 핵심 모듈..
-
POJOBack-end Developer/Server, Spring 2020. 6. 28. 19:08
예전에 Spring이라고 검색하면 가장 많이 보이는 단어들이 있었습니다. (아주 지극히 개인적인 의견입니다.) 바로 DAO, DTO, VO와 POJO라는 단어들입니다. DAO, DTO, VO는 내용 자체는 간단하니 찾아보시면 될 것 같습니다. (코드 예제도 함께 보시면 좋을 듯합니다.) 오늘은 POJO에 대해 알아보겠습니다. POJO (Plain Old Java Object) 오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어 (출처: wiki) 의미는 크게 와닿지 않네요.. 뭔가 뭉쳐있는 애들을 분리시키고 나누어서(?) 더 좋게 바꿔보겠다 라는 의도로 보입니다. 하지만..