728x90 반응형 개발141 MSA 구조 MSA는 Micro Service Architecture 의 약자로 프로그램을 각 컴포넌트별로 쪼개서 작은 단위 서비스로 조합하여 구축하는 것을 말한다. 예전에는 MA Monolithic Architecture 구조로 웹서비스를 수정 또는 테스트하기 위해서는 전체 서비스를 재구동 해야하는 단점이 있었다. 그리고 복잡한 구조로 갈 수록 더 개발하기가 힘들어지고 복잡성 때문에 코드 재사용도 힘들어지는 부분이 있었다. 그리서 복잡성을 줄이고 코드의 재활용성을 높이기 위해서 각 컴포넌트를 쪼개서 개발할 수 있도록 한 것이다. 예전에 개발했을 때는 웹개발을 하게 되면 전체 프로젝트에 배포하고 (Jenkins와 같은 걸로) 해당 서버를 재부팅하면서 전체 서비스가 중단되고 다시 시작하는 프로세스로 진행되었지만 MSA.. 2021. 5. 3. [JAVA ] Optional isPresent/ifPresent 자바 8에 추가된 Optional isPresent는 ! = null 과 같은 코딩을 줄일 수 있다. 결과적으는 반환값 없음 을 듯하며 null을 반환하면서 발생되는 오류를 줄이고자하기 위해서 만들었다고 한다. Member member = memberRepository.findById(id); if (member != null) { if (member.isAdmin()) { member.addAdminPermissions(); } else { member.addDefaultPermissions(); } } memberRepository 에서 데이터 조회하고 해당 메서드의 반환값이 null 인 경우 위와 같이 member != null 형태로 썼다. 하지만 이런 경우 오류를 야기시키질 수 있는 메서드 반환.. 2021. 4. 29. java 8 람다식 :: 기호 Stream()공부하던 중에 Function f = Integer :: parseInt; 를 보게 되었는데 :: 기호에 대해서 알고 싶어서 쓰는 글이다. 기본적인 형으로는 ClassName::Method ex) Person::getAge 이렇게 쓴다. 원래 람식으로 간결하게 쓰는 방식에서 더 간결하게 쓰기 위한 방식으로 (Person p) -> p.getAge() ==> Person::getAge 위에 같은 형태로 줄일 수 있다. (str, i) -> str.substring(i) ==> String::substring (String s) -> System.out.println(s) ==> System.out::println 와 같은 형태로 도 줄일 수 있다. ClassName과 Method를 쓰고 매개.. 2021. 4. 26. [Spring boot 시작하기] Spring boot 설치 및 프로젝트 생성 준비과정 DevTool : IntelliJ(아직 한번도 안써봤다) 화면 : Thymeleaf Language : Java start.spring.io/ Spring boot 다운로드 시 Dependencies를 선택하여 다운로드 진행 라이브러리를 다운로드하는 과정에서 자바가 11버전 아래면 문제가 생길 수 도 있다. (실제로 build중 문제가 생김) 자바 버전은 11버전 이상으로 맞추는게 좋다. 이제 위와 같은 @SpringBootApplication 어노테이션이 붙은 자바를 실행해보자 ctrl + alt + F10(Run) 콘솔에 다음과 같이 찍히면서 8080포트로 Tomcat이 실행됐다는 걸 보여준다. Spring boot는 gradle을 통해 라이브러를 넣어주는데 그때 Spring-web을 선택하.. 2021. 4. 21. 이전 1 ··· 4 5 6 7 8 9 10 ··· 36 다음 728x90 반응형