3주차 미션은 로또입니다. 로또는 현실 세계에 존재하는 도메인이기에 제가 로또를 사본 경험이 떠올랐고 경험을 바탕으로 미션을 진행해볼 수 있었습니다. 요구 사항 분석 위의 요구사항을 바탕으로 아래의 결과를 만들어내야 하는 것이 이번 과제의 목표입니다. 2주차 미션에서 요구 사항 분석 후 바로 구현 기능에 대해 생각하고 개발을 진행했을 때 실행 흐름을 고려하지 않아 추가되거나 수정되는 상황이 많이 발생했습니다. 이번에는 실행 흐름도 고려하여 기능에 대해 생각해보고자 실행 흐름에 대해서도 생각해보았습니다. 실행 흐름도를 통해 성공과 실패 케이스가 존재할 때 어디서 분기를 정해야 하는지 알 수 있었고 사용되는 명사를 통해 어떤 객체가 필요할지 한 눈에 확인할 수 있었습니다. 화살표에 도착한 곳의 객체가 달라지..
프리코스 2주차를 11/2 ~ 11/8 진행하였습니다. 여러 개의 문제를 해결해야 했던 1주차와 달리 2주차는 숫자 야구 게임을 구현하는 것이 과제로 주어졌습니다. 개인적으로 1주차보다 2주차가 더 재밌었던 것 같습니다! 남은 기간 어떤 과제를 줄지 벌써 기대하고 있습니다. 요구 사항 분석 미션은 기능을 구현하기 전 기능 목록을 만들고, 기능 단위로 커밋 하는 방식으로 진행해야 합니다. 문제를 해결하기 위해 문제를 먼저 파악하듯 구현 기능을 위해 먼저 요구사항을 자세히 읽고 분석해 보았습니다. 분석한 요구사항을 바탕으로 구현해야 할 기능에 대해 생각해보았습니다. 추상적인 기능에서부터 구체적인 기능으로 좁혀갔습니다. 아래의 사진은 제가 구현하고자 했던 기능의 목록입니다. 숫자 야구 게임이 아닌 게임이라는 ..
프리코스 많이 기대하고 기다리던 우아한테크코스 프리코스가 10월 26일부터 시작되었습니다. 4기까지만 하더라도 프리코스에 참여하기 위해서는 온라인 코딩 테스트를 통과해야만 했으나, 5기부터 프리코스를 최대한 많은 사람이 겪어볼 수 있게 하도록 온라인 코딩 테스트를 진행하지 않았습니다. 프리코스는 위의 설명과 같이 우아한테크코스 본 과정에 들어가기 전 매주 미션을 하나씩 구현하고 제출하는 방식으로 진행됩니다. 이전 기수들의 프리코스 과제를 해보았을 때 요구사항 분석을 통해 해결해야 할 기능을 정리하고 기능을 구현하는 과정에서 코드에 대해 많은 고민할 수 있었기에 이번 프리코스에는 어떤 과제가 나올지 궁금하였습니다. 1주차 진행 방식 미션은 기능 요구 사항, 프로그래밍 요구 사항, 과제 진행 요구 사항 세 ..
Docker 도커는 컨테이너 기술을 활용한 가상화 플랫폼입니다. 서버에서 컨테이너란 호스트 시스템의 다른 모든 프로세스와 격리된 프로세스입니다. 컨테이너 기술은 해당 컨테이너를 실행시킨 HostOS의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경으로 만드는 기술입니다. 가상화 기술은 물리적 자원을 효율적으로 활용하기 위해 가상의 머신을 만드는 기술입니다. 다시 정리하면 도커는 물리적 자원을 효율적으로 활용하기 위해 독립된 환경을 만드는 기술입니다. 사용 이유 애플리케이션의 개발과 배포가 편리해진다. 동일하게 작성된 애플리케이션이라도 실행 환경이 달라지면 예상하지 못한 결과가 발생할 수 있습니다. 도커는 이미지에 애플리케이션뿐 아니라 개발 환경까지 담을 수 있기에 쉽게 동일한 환경에서 애플리케이션..
동아리 홈페이지 투표 개발 2 - WebSocket과 STOMP 동아리 홈페이지 투표 개발 1 - 개요 및 설계 개요 동아리 홈페이지 백엔드 개발을 진행해오고 있었고 홈페이지라면 기본적으로 갖춰야 할 기본적인 기능들이 거의 구현이 된 상태에서 기존 홈 woo-chang.tistory.com 홈페이지 투표 개발의 마지막 글입니다. 앞서 설명해 드렸던 내용을 바탕으로 실제 어떻게 개발을 진행하였는지 알려드리고자 합니다. 저희 홈페이지 백엔드 서버는 Spring Boot 기반으로 동작하고 있기에 Spring에서 WebSocket을 설정하고 클라이언트와 연결하고 요청과 응답이 실시간으로 이루어지도록 코드를 작성해야 합니다. Spring에서 WebSocket을 사용하고 있는 예시를 우선 확인하고 비슷한 방법으로 ..