회고/우아한 테크코스 프리코스

    우아한 테크코스 FE 프리코스 4주차 회고

    우아한 테크코스 FE 프리코스 4주차 회고

    우아한 테크코스 마지막 주차, 4주차를 진행했다. 4주차는 다리건너기 문제로, 마찬가지로 도메인 로직, 서비스로직을 분리하고 단위테스트를 수행하는 것이 주요 목표였다. 저번주차와 다른 점은 대부분의 파일이 이미 작성되어있었고, 이것을 기반으로 작성해야 했다. 이번 주차에도 MVC 모델을 사용은 하였으나, 명확하게 디렉토리로 나누지는 않았다. 문제의 디렉토리를 이동하지 말란 조건때문이다. 그래서 App이 Controller 역할을 하고, BridgeGame과 Bridge가 모델로써 핵심 도메인 로직을 수행했다. App을 Controller로 채용한 이유는 몇개의 파일을 이동시킬 수 없어서 명확하게 컨트롤러와 모델을 구분할 수 없다고 생각했기 때문이다. 그래서 결국 App은 입출력의 흐름제어만 하고, Bri..

    우아한 테크코스 FE 프리코스 3주차 회고

    우아한 테크코스 FE 프리코스 3주차 회고

    우아한 테크코스 3주차를 진행했다. 3주차는 로또문제로, 도메인 로직, 서비스로직을 분리하고, 단위테스트를 수행하는 것이 주요 목표였다. 과정에서 클래스를 분리하기 위해 노력했다. 도메인로직? 서비스로직? 뭔소린지 처음에 전혀 이해를 못했다. 해당 블로그를 보고 좀 이해할 수 있었다. https://velog.io/@eddy_song/domain-logic 비즈니스 로직, 도메인 로직이 도대체 뭐지? 🙄 내 앱은 아직 비즈니스가 아닌데요...? velog.io 친구가 말하길 비즈니스로직은 DB에 담기는 데이터들을 처리하는 로직들이라고 생각하면 좀 편하다고 한다. 나는 여전히 좀 어려운듯... 입출력 역시 FE는 입출력이 전부다. 이번에는 무려 입출력이 세개...! 이걸 과연 어떻게 깔끔하게 비즈니스로직과..

    우아한 테크코스 FE 프리코스 2주차 회고

    우아한 테크코스 FE 프리코스 2주차 회고

    우아한 테크코스 2주차를 진행했다. 2주차는 이전주보다 설계의 비중이 높아진게 느껴졌다. 숫자야구 게임을 구현하는 문제였다. 입출력 2주차에는 입출력이 가장 난관이었다. 입출력에 사용하는 라이브러리인 MissionUtils의 Console은 nodeJs의 readline을 사용하여 구현되었는데, 이게 비동기로 작동한다. 내가 하고 싶었던 것은 입력 받은 값을 선언해서 이후 코드에서 사용할 수 있게 하는 것이었다. const input = MissionUtils.Console.readLine(질문내용,어쩌구저쩌구....); play(input); 이런식으로 이후 입력값을 계속해서 사용할 수 있게 하고 싶었다. MissionUtils.Console.readLine("question", (input)=>{ ...

    우아한 테크코스 FE 프리코스 1주차 회고

    우아한 테크코스 FE 프리코스 1주차 회고

    우아한 테크코스 1주차를 진행했다. 사실 저번주에 진행했는데 회고 글을 적는게 늦어져서 지금 적는다. 1주차는 구현보다는 알고리즘 구현에 가까운 문제였다. 그러나 구현은 구현이기때문에, 제한사항에 있는 오류를 최대한 반영할 수 있도록 설계하였다. 설계 지금까지 코딩을 할때는 설계보다는 구현에 초점을 맞춰서 했던 것 같다. 그러나 프리코스를 진행하면서 기능명세를 적고 이를 기반으로 구현했기때문에 설계에 보다 집중 할 수 있었다. 물론, 처음에는 익숙하지가 않아서 다 짜놓고 기능명세를 적는 경우도 있었지만.... 시간이 지나며 점점 익숙해질 수 있었다. 설계를 하면서 가장 많이 고민했던 점은 OOP의 클래스 개념을 도입할 것이냐 였다. 그러나 해당 미션은 기능 구현의 변동 범위가 적은 편이며, 이후에 추가 ..