이론 5

MA(모놀리식)와 MSA에 관하여

MA(Monolithic Architecture) 사전상으로 monolithic이란 단단히 짜여 하나로 되어 있는 정의되어 있다. 그 말 자체에서 알 수 있듯, 모놀리식 아키텍쳐란 전체 서비스를 하나의 서버에서 구동시키는 것이다. 간단히 말하자면 모든 서비스가 완전히 통짜로 짜여있다고 생각하면 편하다. 굉장히 많은 기업에서 아직 사용중인 방법이며, 명확한 장단점이 존재한다. MA의 장점 먼저 모든 기능들이 하나의 시스템 상에서 동작한다. 즉 개발 진행에 있어 속도가 빠르다는 장점이 있다. End-to-End 테스트가 간편하다. MA의 단점 유지보수할 때에 어려움이 따른다. 하나의 프로젝트에 모든 서비스가 동작하기 때문에 이를 고치기 위해서는 많은 내용들을 확인해 보아야 한다. CDCI를 진행할 때에도, ..

이론 정리 2022.04.07

Spring boot를 통한 REST API구현 - 이론(1)

Spring boot로 간단한 rest api를 구현하여 보자!! Spring boot를 통한 REST API의 구현 - 실습(1)에 관한 이론과 내용들에 관한 글이다. 먼저 REST api의 개념은 이곳에 설명해 두었다. 관련 내용 1. Annotation @RestController Spring MVC Controller에서 요청에 대한 응답을 return하기 위해 사용한다. 해당 메소드를 사용하면 Controller에서는 데이터를 반환하게 된다. @Controller + @ResponseBody 해당하는 위치의 view를 반환하는 Controller 요청에 대한 응답을 반환하는 ResponseBody RequestMapping(value = "/users") 이를 사용하여 localhost:8080..

JAVA에서 ArrayList와 LinkedList에 관해, 그리고 vector

JAVA에서 ArrayList와 LinkedList에 관해, 그리고 vector ArrayList클래스 java의 Collection중 하나이다. ArrayList는 기존 자바 List와 달리 동적으로 크기가 할당된다. ArrayList는 java 메모리의 주소를 사용하여 데이터를 저장시킨다. 실질 ArrayList의 내부는 배열의 형태를 갖고 있기 때문이다. 그렇기 때문에 데이터를 검색할 때에도 바로 검색할 수 있다. 알아보기 쉽게 표현하자면 다음과 같다. 이런 식으로 각각의 data들이 하나씩 존재한다. 그럼 여기서 값을 추가하려면 어떻게 될까? 이런 식으로 새로운 값을 넣어주려면, 저 노란 색의 데이터가 들어가기 위해 뒤의 값들을 하나하나 옮겨주어야 할 것이다. 해당 위치를 찾아가서 값을 넣어준 뒤..

이론 정리/java 2022.02.26

GraphDB - Neo4j의 기초, 정의

해당 내용은 https://neo4j.com/graphacademy/online-training/ 사이트를 참조하여 작성하였습니다. neo4j 기초 Neo4j의 Grah구성 Nodes Vertex Object와 entities를 표현한다. Node는 반드시 Labels와 Properties를 가질 필요는 없지만, 실제로 구현해 보면 최소 하나씩의 label과 properties를 갖게 될 것이다. Labels Label은 정보를 카테고리화해준다. 예를 들어 이 곳에서 Node는 두개의 Person과 한개의 Car로 category화 되어 있다. 그리고 여기서 labels는 Node를 분류할 수 있도록 해 주었지만, 특정한 정보를 제공하지는 않고 있다. Properties Nodes의 특정 정보를 제공한다..

패캠 - java/spring 웹 개발 강의 수업 정리(1)

객체 지향 예전에는 C언어와 같은 절차 지향 언어가 주를 이루었다. '절차 지향'이란, 실행하고자 하는 순서대로 명령어를 입력하여 실행하는 방법이다. 과거에는 프로그램의 단위가 크지 않았고, 간단한 logic을 순차적으로 처리했기 때문에 절차지향을 사용했는데, 이후 컴퓨터가 발전하면서 프로그램이 복잡해져 유지보수, 개발기간 등 부분에서 비효율이 발생하였다. 이 어려움을 해결하기 위해 객체지향이 도입되었다. '객체지향'이란, 현실에 존재하는 사물을 있는 그대로 모델링하여, 이들의 행위와 속성을 정의하고 절차적이 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식으로 설계한 것이다. 사물(객체), 행위(Method), 사물의 속성(변수-variable)을 사용하였다. 자바와 C++의 차이 java는 시스템 ..

이론 정리/java 2021.06.28