본문 바로가기
Dev/[프로젝트] 2022 Winter Dev Camp

2022 스마일게이트 윈터데브캠프를 통해 성장하기 1 - 좋은 목표는 좋은 실행에서 나온다.

by javapp 자바앱 2023. 2. 25.
728x90

 

팀 프로젝트 시작

 

윈터데브캠프에서 개발뿐만 여러 활동을 하면서 원래 알고 있던 부분에 대한 정의를 깨는 등 새롭게 깨달은 것들을 기록하고 당시에 어떻게 생각했는지 그러한 생각들이 어떻게 변했는지 적으면서 생각정리를 할 것입니다.

 

 PMP 작성에 목표를 세우는 데 있어서

멘토님 강의가 있었습니다.

 

일반적으로 생각하는 목표는 이러했습니다.

... 구현 능력 향상

.. 이해하기

.. 적용하기

..블로그에 기록하기

 

하지만 멘토님의 강의에서 정의하는 목표는 달랐습니다.

 

개발자로 성장하기 위해서는
프로젝트 경험라는 실행과 목표라는 데이터를 가지고 경험하는 과정을 거친다
그 속에서 문제해결, 깨달음을 얻고 성찰한다. 그런 것들을 회고하면서
성장을 하는 파이프라인을 가진다.

 

개발자는 성장을 위해 실행이라는 프로젝트 경험을 한다

그리고 데이터라는 목표를 세우고 활동을 하는 것이다.

 

윈터캠프에서 개발자로서 성장하기 위해 왔고

프로젝트 경험을 통해 성장하는 것이다.

 

 

목표란?

목표는 달성하고자 하는 바람직한 장래의 상태이다.

그래서 무엇을 만드는 것, 무엇을 하겠다는 다짐은 목표가 될 수 없다.

 

목표가 아닌 ex) 시스템 개념을 이해한[애매한 표현] 코딩

다른 사람의 코드를 많이 보는 것은 방법 - 목표가 아니다.

다른 예제로 3개 만들어 보기

 

실제로 도달할 상태(도착하고 싶은 지점)가 있어야 하고 얻고자 하는 것이다.

그리고 목표로부터 구체적인 실행과정이 있어야 한다.

구체적이고 명확하게

 

 

목표를 잘 세우기 위해 왜? 라는 질문 던지기

 

멘토님에게 피드백을 받으면서 내가 세운 목표랑은 결이 달랐다.

그래서 목표를 세우기 전, 왜? 라는 질문을 던져봤다.

 

왜 캠프에 지원했는지?

더보기

여러 채용 사이트에서 대규모 트래픽 처리를 하는 사람을 우선하는 것뿐만 아니라 벡엔드 개발자로서 그러한 문제에 해결할 줄 알아야 된다고 생각한다. 그래서 그러한 문제를 해결해 보면서 성장하기 위해 지원했다.

왜 메신저 서비스를 선택했는지?

더보기

HTTP 메서드를 이용한 통신 외에 소켓과 같은 양방향 통신을 이용하는 채팅 기능을 구현해보고 싶다.

이번 프로젝트를 통해 얻고자 하는 것이 무엇인지?

더보기

메시징 앱에 꼭 필요한 채팅 기능과 대규모 트래픽 처리를 위한 애플리케이션 아키텍처 설계와 개발 지식을 습득하고 싶다.

프론트엔드 개발자와 원활한 협업을 하기위해 어떤 방법 있고 실행해보면서 깨닫고 싶다.

이후 어떤 모습(상태) 되었으면 좋을까?

더보기

대규모 트래픽 처리를 고려한 아키택처 설계와 개발 경험 있는 개발자

프론트엔드 개발자와 협업 경험이 있는 개발자

 


 

개인 목표

모놀리식 아키텍처 보다 많은 장점이 있고 여러 회사에서도 MSA를 도입하면서 MSA 개발 경험을 요하는 기업들이 많아지고 있다.

스프링에서는 스프링 부트와 스프링 클라우드를 이용하여 보다 쉽게 서비스를 구축할 수 있기 때문에

벡엔드 서버에 MSA 적용하기

 

채팅기능을 구현하기 위해서는 HTTP 메서드 통신과는 다른, 양방향 소켓 통신 기법으로 개발할 수 있다. 그래서 해당 통신 기법을 알아보고 그와 관련된 웹소켓, STOMP 등의 기술 사용하기

 

트래픽 처리 경험과 지식습득을 위해 부하테스트를 통한 트래픽 처리를 해보며 성능개선하기.

|

프런트엔드 개발자와 원활한 협업을 위해 스웨거와 같은 도구를 이용하여 서버 API 문서화하기

 

서버를 개발하고 협업을 하면서 테스트 코드 작성하여 단위 테스트를 하는 것이 일반적이다.

그래서 테스트 코드를 작성하는 습관 들이기

 

 

계획

1.벡엔드 서버에 MSA 적용하기

- MSA 적용사례를 조사하고 설계하며 각 기술이나 도구를 사용하는 이유를 블로그에 정리하기

- 아키텍처 설계 후 팀원, 멘토님의 피드백을 통해 수정/보완하기

- 아키택처 완성 후 설계를 바탕으로 각 서비스 구축한 뒤 MSA 로 구성하기

 

2.채팅 기능 구현하기

- 채팅에 필요한 기술들 알아보기

- 각 기술의 예제를 통해 사용법 익히기

- 채팅 서비스에 해당 기술들을 적용하여 양방향 통신으로 구현하기

 

3.부하테스트를 통해 트래픽 처리하기

- HTTP 통신과 소켓 통신 각각의 통신 방법에서 테스트를 하기위해 어떠한 테스트 도구가 있는지 조사하기

- 각 서버에 맞는 테스트 도구를 이용하여 서버 성능을 높여보기

 

 

댓글