본문 바로가기
Development/Toy Projects

[계획수정] 안써본거 위주로 써보기 위한 토이 프로젝트

by Nahwasa 2021. 12. 22.

  '0. [계획]' 단계에서 썼던 것들 중 수정한 것들과 그 이유를 작성해본다. 또한 계획을 적을 때 좀 없었던 개념에 맞는지 안맞는지 적은 부분이 있었고 지금도 그렇지만, 아무튼 좀 더 개념이 잡혔으므로 이전에서 수정된 부분에 대해 작성한다. 어차피 아무도 안보겠지만, 아무튼 계획단계의 글을 보고 읽어야 이해가 될 듯 한다. 

 

1. MacOS에서 개발해보기

-> Mac을 실행시킬 HW가 없었기에 Vmware에 가상으로 올린 맥 OS를 사용해보려 했었다. 하지만 해킨토시이기도 하고, 일단 가장 크게 이 환경에서 Docker를 실행할수가 없었다. 구글링을 꽤 해봤으나 해결하지 못했고, 역시 vmware에 올린 맥에서 docker 실행을 성공한 포스트를 찾지 못해 포기했다.

 

-> 대신 윈도우 환경 그대로에서, WSL(Windows Subsystem for Linux)로 리눅스 우분투를 올려서 사용해보려 한다. 주변에 자문(?)을 구해본 결과 이렇게 쓰는 경우도 많다고 들었다. 결국 개발 자체는 기존과 그대로 윈도우에서 진행하지만, 실제 로컬 테스트는 WSL에 연결된 리눅스 시스템으로 진행하려 한다. 더 나아가 최종 배포되는 시스템이 리눅스라 가정하고, vscode 및 IntelliJ에 연동하여 윈도우지만 리눅스같은 환경 구축을 해보려 한다. 다만 맥 자체는 상당히 이뻐서 맘에 들기에 별도로 써보면서 좀 친해져보려 한다.

 

 

2. 프론트엔드(웹)를 React로 해보기

-> 리액트는 그대로 진행한다. 다만 Next.js가 있다는 점은 인식했고, 어느정도 신경은 써서 진행해볼꺼다. 리액트 관련된 책으로는 한글로 된 얼마 없는 책 중 'React.js, 스프링 부트, AWS로 배우는 웹 개발 101'와 영어로 된 책 중엔 'Road to React'로 진행해보려 한다. 전자는 클래스형으로 되있으나, 후자에서는 함수형이 더 기능이 많은 듯 설명되어 있다. 그래서 기존엔 클래스형 위주로 진행하려 했으나 차후 확인해보고 정할 듯 하다. 아직은 정확한 개념이 없다. 일단 전자의 한글책을 먼저 쭉 보고, 더 필요하다면 후자를 볼 생각이다.

 

5. 도커 + 젠킨스로 배포 + 서버는 AWS로 해보기

-> 도커는 사실상 현재 개발 관련 대기업들의 표준이라 들었다. 사실 이 글을 적은 후 바로 적을꺼지만 도커는 기초적인 개념에 대해서는 공부를 한 상태이다. 도커는 매우 마음에 들어서 그대로 사용한다. 다만 젠킨스부분에 대해서는 대신 github을 기준으로 토이프로젝트를 진행할 것이므로, github action을 사용해 진행할 예정이다. CI/CD 용도로, 내 수준에선 젠킨스와 큰 기능적 차이를 못느끼겠어서 어차피 깃헙을 가장 많이 사용할 것같으므로 github action을 사용해보려 한다.

 

-> '0. [계획]'을 작성할 때는 개념이 없어 CI/CD 중 CD 부분만 생각했다면, '1. [계획수정]'에선 CI 개념도 넣어 일반적으로 devOps라 불리는 행위도 체험해 볼 예정이다. 좀 더 구체적으로는 pr 시 action을 통해 자동으로 개발자가 작성한 유닛 테스트를 돌리고, 배포할 수 있도록(배포는 경험해보고 좋다고 생각하는 방식에 따라 반자동으로 진행할 듯 하다. 머지 후 배포를 진행하도록 한다던지 하는식으로) 해보려 한다.

 

 

전체적으로 현재 잡힌 개념만 가지고 그려본건 다음과 같다. 아직 전체적인 workflow에 대한 개념이 완벽히 잡히지 않아 틀릴 수 있다. 진행을 하며 수정할 것이다.

 

 

계획이 흐지부지 되지 않길.

댓글