Import Project from Git in STS4 on M1 Apple Silicon MacOS

민준·2023년 2월 20일
0


국비지원교육 'K-디지털 기초역량훈련'으로 스프링부트 자바 클론 코딩 프로젝트 강의를 시작하게 되었습니다.
사실 이 강의는 약 2주 전부터 들었지만 잘못하다가 파일을 모두 날렸습니다.
어차피 복습해야 했는데, 좋은 핑계거리가 생겼다고 생각하며 눈물을 훔칩니다.
플랫폼은 아이티윌, 강사는 최주호님 입니다.


1. 시작하며..

기타 프로그램이나 플러그인 등의 설치는 건너뛰고
STS4 에서 강의 코드의 설치와 함께 프로젝트 워크스페이스 설정하는 것으로부터 글을 시작합니다.
먼저 강의 코드는 여기서 받으시면 됩니다. 👉 스프링부트 SNS 포토그램 프로젝트

위 화면에서 <> Code 버튼을 눌러 'HTTPS' 링크를 복사합니다.
STS4로 돌아와 최상위 메뉴에서 File - Import 에서 'Git'을 검색한 뒤
'Project from Git (with smart import)'를 클릭하고 'next', 그리고 'Clone URI'를 더블클릭하면
자동으로 복사한 링크가 들어갑니다.
이후 다운로드 경로만 지정해주고 'finish'를 누르면 코드 다운로드는 끝입니다.

이외에도 깃 레파지토리에서 직접 압축파일을 다운 받을 수도 있고
깃 클론을 이용할 수도 있습니다.

'STS4'나 'Eclipse'나 똑같이 생겼습니다.
다만 다운받은 파일을 직접 파인더에서 찾아보면, 강의 내용과는 폴더 속 내용들이 다른 것을 알 수 있습니다.
다운 받을 때 뭔가 잘못됐나 싶어 이리저리 재시도 해보았지만 그대로입니다.
파일이 숨겨져서 안보이나 했는데, 숨겨진 파일 보기를 해도 다릅니다. 당황스럽지만 일단 진행합니다.

강의에서는 mariadb 를 사용합니다. 물론 우리의 맥OS에서는 이것을 터미널에서 실행해야 합니다.
기본적인 설치, 세팅은 구글링하면 어렵지 않게 할 수 있습니다만,
바로바로 보기 좋은 UI가 없어 실망했다가 Sequel Pro 라는 프로그램을 알게 되었습니다.
'mariadb'를 볼 수 있습니다.

'mariadb'를 실행하는 코드는 아래와 같습니다.

$ brew services start mariadb 

DB를 실행중인 상태로 다시 STS4로 돌아와 프로젝트 우클릭 - Run As - Spring Boot App 으로 앱을 실행합니다.

문제가 생겼습니다.

앱이 아래와 같이 실행되지 않습니다. 파이썬과 달리 오류메시지가 뭔가 답답- 합니다.

내용인즉슨.. 눈에 안들어옵니다. 그냥 맨 아래 Action:을 읽어 보겠습니다.
DB를 실행은 했는데, 프로그램과 DB가 연동이 되지 않은 것 같습니다.

src/main/java/com.cos.photogramstart/PhotogramStartApplication.java 내용에
@SpringBootApplication 주석에 아래와 같이 추가하여 저장합니다. 참고 블로그

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})

정상적으로 앱이 실행됩니다. 맥 사용자로써 강의 환경이 대부분 윈도우라서 외롭습니다.
아무튼, 인터넷 도메인 창에 localhost:8080 이라고 칩니다.
로그인 창이 열립니다.

코드가 돌아갑니다. 저는 분명 'localhost:8080'이라고 쳤는데 뒤에 '/login'이 추가로 붙어있습니다.
아무튼, 강의 내용처럼 test, 1234로 로그인을 시도합니다.
새하얀 404 페이지가 뜹니다.

아- 노파심에 하는 말인데, 지금 열려있는 웹사이트는 로컬서버에서 실행되어 현재 다른 사용자들과 공유되지 않습니다.

이번에는 'http://localhost:8080/auth/signup' 이라고 입력합니다.
회원가입 창이 열립니다.

이번에는 'http://localhost:8080/auth/signin' 이라고 입력합니다.
로그인 창이 열립니다. ..? 위에서 본 창과는 다릅니다. 위의 도메인은 관리자 페이지인가 봅니다.

디자인된 페이지들이 잘 열리는 것을 확인했습니다. 하지만 현재 데이터가 연동된 상태는 아닙니다.
강의의 내용은 프론트엔드 파일을 받아 백엔드를 작성하는 상황입니다.

강의에서는 크게 아래와 같은 목차를 제시하였습니다.

  1. Springboot 동작 원리
  2. JPA 동작 원리
  3. JPA 연관 관계 원리
  4. 인스타그램 클론 프로젝트

2. yml 파일 이해

아래는 'application.yml' 파일입니다.
프로젝트의 전체적인 환경설정을 하는 파일이라고 이해하면 될 것 같습니다.

context-path : '/'로 도메인을 구분합니다.
ddl-auto : 'update'
이것은 서버가 재가동 될 때마다 데이터나 테이블 등이 그대로 유지된다는 뜻입니다.
만약 'create'라면 서버가 재가동 때마다 기존의 데이터가 초기화 됩니다.
path : 윈도우의 경로 형태입니다. 조만간 수정을 해야될 것 같습니다.

이외에도 강의에서는 'yml' 파일에 대해 음료 공장에 비유해 설명했는데, 사실 현재의 저에겐 잘 와닿지 않습니다.

profile
백엔드 포지션 공부 중입니다.

0개의 댓글