전체 글
[나의 MSA 구축 일기] 처음 MSA를 구축해보며 겪었던 시행착오들
해보고 싶어서 그랬어요. 작년 여름이었다. 제대로 공부 한 번 해보자는 생각으로 JPA를 공부하고 있었는데 MSA라는 것을 알게되었다. 기존의 거대한 하나의 애플리케이션을 쪼개 여러 개의 애플리케이션으로 분리하고, 서로간의 통신은 RESTful-API로 구현하는 아키텍쳐인데 거기서 오는 장점에 매료되어 바로 관련 자료를 찾고 프로젝트를 시작했다. 각각의 모듈(분리된 애플리케이션)은 서비스의 특성과 목적에 따라 다른 개발 환경을 가질 수 있다. 제대로 구축된 MSA에서는 특정 모듈이 오류가 발생해 정상적인 서비스 제공이 불가능하더라도 전체 서비스가 죽지 않고 해당 모듈을 이용하는 서비스만 제한되었다. 특정 서비스의 코드 개선, 비즈니스 로직 수정 등의 변경이 발생할 경우 자그마한 하나의 모듈만 재배포하면 ..
[WhiteShip Java LIVE Study] 6주차 : 상속
목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 상속 상속이란 기존의 클래스에 기능을 추가하거나 재정의해 새로운 클래스를 정의하는 것을 의미한다. 말그대로 기존의 클래스에 정의되어있는 모든 필드와 메소드를 물려받고, 추가적인 필드와 메소드를 구현할 수 있도록 한다. 이 때, 기존에 정의된 클래스를 상위 클래스(Super Class)라고 하고 상위 클래스를 상속받는 클래스를 하위 클래스(Sub Class)라고 한다. 아래 다이어그램에서 Animal(동물)은 Mammal(포유류), Bird(조류), Reptile(파충류)의 상..
주니어 개발자의 2020년 회고
당장 공부하고 진행해야할 프로젝트나 스터디가 있지만, 2020년을 되돌아보는것이 앞으로 있어서 더 도움이 될 것 같아 2020년 회고를 하기로 했다. 올 해는 나에게 많은 고민을 안겨주었던 해였다. 많은 실망이 있었고, 그 실망이 나의 견문을 넓혀주는 계기가 되기도 했다. 견문이 넓혀지면서 다시 또 아쉬움이 생기고 또 다시 많은 고민을 안겨주었다. 연초진행중이던 프로젝트에서 전체 회식이 있었고, 팀장님은 정말 감사하게도 회식 자리에서 나를 과장급 인력이라고 소개해주셨다. 다른 PL분들한테서도 일 잘한다는 얘기를 들었고 자존감 뿜뿜하면서 퇴근했던 기억이 난다. 처음 사용하는 툴로 진행한 프로젝트인데 큰 문제 없이 프로젝트가 마무리되어 정말 다행이다. 그 이후에는 새로 입사한 사원들의 교육을 진행했다. 3주..
[if(kakao) 2020] JUnit5를 시작하며
지난달에 if kakao 2020도 신청해서 들었는데, 메모만 해놓고 귀찮아서 포스팅을 못했었다. 이번 연휴때 시간이나서 밀린 포스팅을 하는김에 JUnit5 관련 세션에 대한 내용을 포스팅해봤다. 카카오스토리의 Nesoy 님께서 발표하신 세션인데, JUnit4와 JUnit5를 비교하고 JUnit5를 찍먹하는 내용이다. 예전에 인프런에서 강의는 JUnit4 코드로 제작이 되어있었고 내가 실습한 환경은 JUnit5 이었다. 두 버전의 테스트 코드가 달라서 나도 몇번 삽질한 끝에 JUnit5 버전의 코드를 작성했고, 그 코드를 다른 사람들 참고하라고 게시한적이 있었는데 댓글로 문법이 퇴보한 것 같다는 의견이 있었다. 그 때 답글로 그렇지 않다고 말만 했었는데, 그 분이 이 세션을 보셨더라면 더 도움이 됬을것 ..
[WhiteShip Java LIVE Study] 5주차 : 클래스
목표 자바의 Class에 대해 학습하세요. 학습할 것 (필수) 클래스 정의하는 방법 객체 만드는 방법 (new 키워드 이해하기) 메소드 정의하는 방법 생성자 정의하는 방법 this 키워드 이해하기 과제 (Optional) int 값을 가지고 있는 이진 트리를 나타내는 Node 라는 클래스를 정의하세요. int value, Node left, right를 가지고 있어야 합니다. BinrayTree라는 클래스를 정의하고 주어진 노드를 기준으로 출력하는 bfs(Node node)와 dfs(Node node) 메소드를 구현하세요. DFS는 왼쪽, 루트, 오른쪽 순으로 순회하세요. 클래스를 정의하는 방법 객체 지향 프로그래밍(OOP, Object-Oriented Programming)은 모든 데이터를 객체로 취급..
[우아콘 2020] 우아한테크콘서트 2020 후기
이번에 처음으로 우아한형제들에서 기술 세미나를 개최했는데 바로 우아한테크콘서트, 우.아.콘이다. 배달의 민족 서비스는 현재 100% 클라우드 이전이 완료되어 클라우드에서 모든 서비스가 제공되고 있는데, 그 과정을 9개 세션으로 설명해주셨다. 9개 세션 모두 알차고 재밌었지만, 그 중에서 김영한님께서 진행하신 세션이 가장 기억에 남아 그 후기를 작성해본다. 배달의 민족 마이크로서비스 여행기 - 김영한 후기에 앞서 지금 내가 사이드 프로젝트를 마이크로서비스로 개발하고 있기 때문에 우아콘 참여 신청할 때부터 가장 궁금했던 세션이었다. 그리고 세션을 다 듣고나니 나와 같은 개발자들이나 회사에서 마이크로서비스를 시도하기 전에 반드시 들어야할 내용이라고 생각이 들었다. 사이드 프로젝트에 마이크로서비스아키텍쳐(MSA..