[SPRING_입문]/Code Review

[Domain] 나만의 셀렉샵 배포하기! (Z)

Code_Otaku 2022. 7. 4. 17:19

 

나만의 셀렉샵이라는 장난감을 A부터 Y까지 다루어 보았다.

[Localhost] 나만의 셀렉샵 만들기! (A-Y) (tistory.com)

 

[Localhost] 나만의 셀렉샵 만들기! (A-Y)

http://spring.spartacodingclub.kr/ 00만의 셀렉샵 관심상품을 선택하고, 최저가 알림을 확인해보세요! spring.spartacodingclub.kr 이러한 방식으로 작동되는 웹 어플리케이션을 하나 만들어보겠다고 했다. 여러

codeotaku.tistory.com

 

분명 From A to Y 라고 했지?

아직 Z가 남아있는 셈이다.

여태까지 밟아왔던 과정에 비하면 겁나 간단하지만

에플리케이션을 웹 공간에 배포하기 위해서는 반드시 거쳐야 하는 과정이다.

 

새로운 마음으로 시작해도 좋고..

정리하는 마음으로 시작해도 좋으니..

이번 시간도 필자와 함께 달려보도록 하자.

 


1. RDS를 구매하고 MySQL을 세팅해보자!

우리가 구축하고자 하는 DB 서버는 대체로 관계형 데이터베이스 (RDBMS)가 주를 이룰 것이다.

아니, 사실상 거의 모든 DB 서버가 RDBMS라고 해도 과언이 아니다.

Java가 되었건, Python이 되었건, Ruby가 되었건..

컴파일을 해주기 위한 IDE 툴도 기본적으로 관계 지향형 언어잖아?

 

따라서 기존에 테스트용으로 굴리던 H2를 대체해줄 녀석으로 우리는 MySQL을 써볼 것이다.

우선 AWS (Amazone Web Service)에 회원가입 해주도록 하자.

과정 자체는 필자가 모처럼 링크를 남겨주겠다.

https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2# 

 

https://ap-northeast-2.console.aws.amazon.com/console/home?region=ap-northeast-2

 

ap-northeast-2.console.aws.amazon.com

 

가입까지 완료했다고 가정하고..

그럼 초기에 이런 화면에 웹에 뜰 것이다.

 

 

필자는 이미 도메인을 만들어 준 적이 있기 때문에 저런 화면이 뜨는 것이고..

처음 오시는 분들은 검색창에 RDS를 입력해주시길 바란다.

 

 

클릭해라.

 

 

골라라.

우리는 MySQL RDBMS를 쓸 것이다.

 

 

기본적으로 MySQL 8.0.28로 최신버전이 선택되어 있을 것이다.

영문은 알 수 없지만 필자는 최신버전으로 생성해주려고 하니까 오류가 발생했다.

독자들도 혹시 모르니 일 두 번 하기 싫으면 8.0.20 버전으로 설치해봐라.

 

 

프로덕션하고 개발/테스트 탬플릿은 비싸다.

우리는 기껏 해야 장난감 하나 만들어보는 거니까 프리티어 버전으로 선택하도록 하자.

 

 

바로 아래에 Config 콘솔이 따로 있다.

DB 식별자는 아무렇게나 지어도 상관없지만..

마스터 사용자 이름과 암호는 반드시 본인이 기억할 수 있는 계정으로 생성해주자.

나중에 파일을 빌드할 때 필요하다.

뭐 군수!12 요런 식으로 하던지.. ㅋㅋㅋㅋ

 

 

연결 탭까지 쭉쭉 내려와라.

 

 

퍼블릭 엑세스는 무조건 '예' 로 설정해줘야 한다.

안그럼 본인 컴퓨터에서 RDMS 접근할 수가 없다.

 

보안그룹 이름은 아무렇게나 명명해주면 되고..

가용 영역도 암거나 골라서 써라

 

DB 포트도 어지간한 사용자들이라면 Default 3306 그냥 쓰면 될텐데..

필자는 이미 Apache Tomcat 7.0에서 해당 포트를 쓰고 있기 때문에 걍 따로 지정해줬다.

오류가 나면 분명 저기에서 오류가 날거읾..

 

 

초기 데이터베이스 이름을 지어주시고..

 

 

설정은 이 정도로 됐으니까 이제 생성해줘라.

1년동안 100원인가 그럴거임

 

 

db를 생성중이랜다.

 

시간이 어느 정도 지나면 '사용가능' 상태로 전환될거다.

 

 

들어가라

 

 

들어가라.

 

 

개인정보이기 때문에 상세하게는 안보여줄거다.

보안그룹 ID  클릭해서 들어가라.

 

 

편집해.

 

 

위치가 무관한 Anywhere-IPv4 탭을 선택하자.

 

 

포트 범위까지 지정해주면 다음과 같이 인바운드 규칙이 생성되었다.

 

그리고 접근 가능한 포트를 열어준 셈이 된다.

말인 즉슨.. 우리가 구매한 가상의 서버 컴퓨터의 3309번째 방에서

MySQL이 정상적으로 작동되고 있다는 뜻이다.

그렇다. 우리는 방금 서버만을 굴리기 위한 컴퓨터를 하나 산 것이다.

노트북 24시간 켜놓고 있을 수는 없지 않은가?

 

우선 이 녀석이 정말로 쓸 수 있는 물건인지 IDE 환경에서 테스트를 해보자.

 

 

다시 들어가라.

 

 

각자 발급받은 엔드포인트 주소를 복사해라.

 

그리고 IntelliJ를 실행시켜.

 

 

마킹해놓은 곳 들어가.

 

 

생성해라.

다들 느끼고 있겠지만 이제 필자도 귀찮다.

 

 

이름은 대충 꼴리는대로 짓고..

RDS Management Console에서 복사해 온 엔드포인트 주소를 저 호스트 박스에 붙여넣어라

 

 

만들어놓은 ID랑 비번은 기억하고 있지?

반드시 기억하고 있어야 한다..

 

 

연결테스트를 먼저 해본 다음에 성공적으로 SQL이 생성되었으면 확인이나 적용버튼 눌러라.

 

IDE 환경에서의 SQL 테스트는 이런 식으로 하는거다.

 

이제 스프링 부트와 MySQL을 연동시켜줘야겠지?

다시 IntelliJ에서 application.properties를 열어라.

 

spring.datasource.url=jdbc:mysql://나의엔드포인트:3306/myselectshop
spring.datasource.username=나의USERNAME
spring.datasource.password=나의패스워드
spring.jpa.hibernate.ddl-auto=update

 

이런 식으로 설정을 손봐줘라.

 

여기까지 잘 따라왔으면 다시 스프링부트 서버를 작동시킨 다음..

각자의 로컬호스트 주소로 들어가보자.

 

 

아무 것도 없는 빈 테이블에 방금 새로운 DB를 밀어넣어 줬다.

 

Hibernate: insert into product (create_at, modified_at, image, link, lprice, myprice, title, id) values (?, ?, ?, ?, ?, ?, ?, ?)

 

서버도 그렇다고 알려주고 있네 ㅇㅇ

 

하지만 여기서 스톱해주면 안되겠지?

H2의 고질적인 문제였던 테이블 초기화가 잘 극복이 되었는지 확인까지 해봐야 한다.

스프링 서버를 다시 로드해보자.

 

 

잘 따라오고 있지?

그 다음에 기존에 띄어놨던 8090 페이지를 새로고침까지 해보자.

 

 

기존 DB가 사라지지 않고 귀여운 페이몬이 우리를 반겨주는 것을 확인할 수 있을 것이다.

즉, 이제 정상적으로 MySQL 서버가 작동하고 있는 것이다.

 

다음 시간에는 OG태그를 만들어보도록 하자.

 


2. OG Tag 작업하기

 

<meta property="og:title" content="00만의 셀렉샵">
<meta property="og:description" content="관심상품을 선택하고, 최저가 알림을 확인해보세요!">
<meta property="og:image" content="images/og_selectshop.png">

 

그냥 요 태그 전체를 복사해서 HTML 파일에 붙여넣어라.

보통 meta 태그가 모여있는 곳에 끼워 넣어주면 가독성이 괜찮겠지?

기본적으로 이미지 파일은 static 폴더에 복붙해줘야 하고..

나중에 도메인까지 만들어 단톡방에 뿌리면 분명 이런 구조로 올라갈 것이다.

 

 

유남쌩?

별 거 없다.

과정을 세세하게 기억하기 보다는 큰 맥을 잡는 데 집중하라.

필자는 나중에 까먹을까봐 세세하게 올리는 거다.

 


3. EC2 서버 컴퓨터를 구매하자!

예아. 먼말이고?

셀렉샵을 만들던, 부티크를 만들건 다 좋다 이거야.

그런데.. 그 셀렉샵인지 뭔지가 때와 장소에 구애받지 않고 24시간 접속 가능한 상태로 유지하게 하려면?

 

로컬 호스트 환경에서 작업할 때를 생각 해봐라.

작업을 한 단계씩 마무리 할 때마다 서버를 재시작 해주곤 했다.

그 전까지는 아무리 http://localhost:8090으로 접속하려고 해도 아무 것도 뜨지 않는다.

어째서?

서버가 닫혀 있으니까..

 

우리는 로컬 서버에서만 작업하던 결과물을 도메인으로 배포해주려는 것이다.

고유의 주소를 가진 웹 사이트 그 자체로 말이다.

혹시라도 이 셀렉샵을 이용하고 싶은 사람들이 있다고 쳐보자.

너는 그 때마다 노트북을 켜가지고 서버를 재시작 해줄거야?

만약 운 좋게도 사용자가 많아져서 트래픽이 늘어난다면..

1년 365일, 24시간 쉬지않고 돌아가는 네 노트북은..

살려달라고 비명을 지르지 않을까?

 

그러한 참사를 방지하기 위하여!

AWS 서비스에서 EC2라는 이름을 가진 서버 컴퓨터를 구매하려는 것이다.

실물을 가진 컴퓨터가 아니다.

가상 드라이브처럼 도메인 서버만 유지시켜주는 일종의 서비스이다.

기본적인 운영체제는 UBUNTU와 같다.

우분투가 뭔지 궁금하다면 구글링 해봐.

너무 날로 먹으려고 하지 말고.. ㅡㅡ

 

 

인스턴스를 시작하랜다.

필자는 이미 만들어놓은 서비스가 있어서 그놈을 정지 시키고 새로 만들고 있다.

안그러면 매년 요금이 청구된다.

 

 

우분투 버전을 선택하줘야 하는데..

필자는 기본적으로 18.04 번째 버전으로 설치를 하겠다.

 

 

우측 하단

클릭해라

 

 

시작해라.

Key-Pair를 생성하라는 알림창이 뜰 것이다.

 

 

요런 식으로 말이다.

토큰 아이디 내지 패스워드 만으로는 영 불안하다.

조금 더 확실한 보안조치가 필요하다!

라는 요구에 따라 접속을 위한 별도의 파일이 하나 생성된다.

고 놈을 잘 보관하도록 하자.

누구한테도 공유해선 안돼!

어느날 니 서버에서 비트코인이 채굴되고 있는 걸 발견하면..

그 날로 인생 퇴갤하는거다.

 

 

다운 받아라.

*.pem 으로 끝나는 파일이 하나 생성될거다.

본인만 찾을 수 있는 공간에 다운 받아라.

불안하면 이동식 디스크에 보관하던지..

 

 

시작해!

필자가 나중에 까먹을까봐 하나 하나 캡쳐 떠서 올리고 있는 거지만

진짜 귀찮네..

 

 

인스턴스 봐라.

 

 

인스턴스가 생성 됐지?

말인 즉슨, 도메인 서버를 운영하기 위한 컴퓨터를 한 대 장만한 셈이다.

1년 뒤에는 유료로 전환되니까 까먹지 말고 서버를 내려줘라.

하여간 저런걸 왜 돈 주고 운영하는지 조선놈으로선 이해할 수가 없음.. ㅡㅡ

 

자! 서버 컴퓨터를 구매했으니 제대로 굴러가는지 접속부터 해봐야겠지?

어지간해선 문제없이 잘 될테지만..

개발자로 먹고살기로 결정했다면 그 '어지간' 이라는 단어는 머리속에서 지워버려라.

맥은 모르겠는데 윈도우는 Git Bash라는 응용프로그램을 깔아줘서..

Config를 좀 만져줘야 한다.

윈도우는 맥처럼 SSH 마냥 보안을 위한 툴이 따로 없기 때문이다.

그래서 개발 짬 좀 먹으면 다들 맥을 쓰는구나..

 

 

저기에다가 아까 전에 발급받은 키페어를 Insert 해줄거다.

주소를 직접 입력할 수도 있지만 대가리에 총맞았음?

그냥 마우스 드래그해서 갖다 써라.

 

 

EC2에서 발급받은 IP 주소를 입력해라.

 

 

ㅇㅇ..

요런 화면이 뜨면 리눅스 접속이 성공한거다.

 

자 얼마 남지 않았다.

조금만 더 힘을 내보자.. 아쎄이!

 


4. EC2를 준비하고 배포까지 하는 단계!

 

 

슬슬 조금씩 복잡해지지?

그러니까 필자가 굳이 배포하고 빌드하는 과정을 따로 한 땀씩 포스팅 하는거다.

나중 가면 분명 까먹어서 또 구글링 하고 앉아있을거다.

단계별로 차근차근 진행해보자.

 

4-1) 배포할 파일 빌드하기!

여태까지 로컬 서버에서 작업한 결과물을 웹 서버에 배포하기 위한 전 단계인..

Build 하는 과정을 알아볼 것이다.

그러니까 그게 무슨 말이냐면..

프로젝트 폴더 안에 여기 저기 흩어져있는 각종 클래스들을 하나의 실행파일처럼 묶어준다는 것이다.

 

 

마음 편히 가지고 차근 차근 필자를 따라와라.

IntelliJ를 실행시킨 다음에 다음 사진과 같은 절차를 밟아라.

bootJar 밑에 build를 더블클릭 해!

 

 

콘솔창에 요런 메시지가 뜨면 빌드가 완료된 것이다.

 

 

프로젝트 폴더 안에 못보던 폴더가 하나 생겼을 것이다.

그 중에서 저렇게 jar 파일이 하나 생성되었는데..

그게 우리가 빌드 시켜준 실행파일이다.

 

4-2) Open JDK 설치하기!

맥은 모르겠다만.. 윈도우는 또 Git Bash로 들어가서 Config를 건드려줘야 하는 번거로움이 있다.

 

 

귀찮지만 다시 EC2 서버에 접속해주도록 하자..

 

sudo apt-get update
sudo apt-get install openjdk-8-jdk
java -version

 

다음 명령어를 콘솔창에 차례대로 입력해줘라.

한 줄씩 입력해줘라.

귀찮다고 한꺼번에 드래그 해서 복붙하지 말고..

 

 

마지막으로 Java 버전을 확인해주는 과정에서..

요런 화면이 콘솔창에 출력되면 JDK 8.0 버전이 정상적으로 설치된 것이다.

 

4-3) FileZilla를 이용해서 배포할 파일 (*.jar)를 업로드 하자!

 

요런 프로그램을 따로 깔아줘야 한다.

돈 드는 것도 아니니까 과감하게 깔아주도록 하자.

과정도 복잡하지 않다.

 

 

딱 봐도 서버 컴퓨터처럼 생긴 좌측 상단 아이콘을 누르면

화면 중앙에 저런 패널이 하나 뜰 것이다.

New Site를 눌러주도록 하자.

 

 

다음 순서대로 차근차근 진행을 해줘라.

인터넷 프로토콜을 SFTP로 바꿔줘야 할 것이며..

호스트는 EC2를 만들면서 발급받은 서버 IP이다.

로그인 유형은 Key-pair (.pem) 파일로 접속할 것이고..

사용자는 ubuntu로 정해줬다.

찾아보기 탭을 눌러 발급받은 키페어 파일을 로드시켜 준 다음..

연결을 눌러라!

 

 

중간이 이상한 창이 하나 뜰테지만 무시하고 바로 넘어가주면..

빌드를 위한 일차적인 준비가 끝났다!

참고로 왼쪽이 내 PC이고, 오른쪽이 빌드파일을 밀어넣어 줄 EC2 탭이다.

헷갈리지 말 것!

 

 

쉬우니까 쫄지 마.

jar 파일을 EC2 컴퓨터에 고대로 드래그 해준다.

 

 

빌드 성공!

이제 요 녀석이 제대로 작동하는지 확인해보자.

 

4-4) 스프핑부트 작동시키기

 

 

우선 ls라는 명령어를 쳐서 jar 파일이 제대로 빌드 되었는지 확인해보고..

 

 

잘 따라오고 있겠지?

java -jar m.. 정도만 치고 tab 키를 누르면 우분투가 자동으로 빌드파일을 찾아준다.

엔터 눌러!

 

 

익숙한 화면이다..

스프링 서버를 재시작 해줄때마다 보던 로딩 화면이지? ㅎㅎ

우선 ip 주소로 접속을 해보자!

 

 

어어? 돌아버린거냐?

돌아버린 게 아니라 당연한거다.

처음 EC2 서버를 구매할 때 디폴트는 아무도 접근할 수 없도록 막아놓은 상태이기 때문이다.

그 녀석의 접근을 해제해주러 가보자..

 

4-5) AWS에서 8090 포트의 접근제한을 해제해주자!

 

 

이제 좀 개떡처럼 설명해도 찰떡처럼 알아보면 좋긴 한데..

AWS 다시 들어가라.

인스턴스로 들어가라.

보안 탭으로 들어가라.

보안그룹으로 들어가라.

 

 

인바운드 규칙을 살짝 손 봐주자.

 

 

규칙을 두 개 추가해주면 된다.

필자는 8080 포트를 이미 Oracle DB에서 쓰고 있기 때문에 8090으로 지정해줬음..

마지막으로 규칙을 저장해.

 

 

다시 IP 주소로 접근해주면 문제 없이 접속이 잘 되고 있지? ㅎㅎㅎ

 

물론 여기서 끝나서는 곤란하다.

필자들은 특정 웹 사이트에 접속할 때, IP를 직접 입력해서 들어가 본 적이 있는가?

단연코 없을 것이다.

모든 웹 사이트에는 고유의 도메인 주소가 존재하는 법이다.

다음 시간에는 저 보노보노마냥 거슬리는 8090 포트번호를 떼버리고

IP 주소가 아니라 도메인으로 접근하는 방법을 다뤄볼 것이다.

거의 다 왔다!

 


5. Port Forwarding & nohup 적용하기!

포워딩.. 이라는 개념을 알고 있는가?

JSP를 공부할 때 필수적으로 다루고 넘어가는 내용인데..

지금까지 우리는 IP주소 귀에 콜론 (:)과 함께 포트번호를 직접 입력해서 셀렉샵으로 접속하는 방법을 취해왔다.

이번 시간에는 그것을 없애볼 것이다.

 

없애다! 라기 보다는..

80번대 포트로 오는 요청을 8000 포트로 전달하기 위해 포워딩 기법을 사용하는 것이다.

바로 리눅스를 활용해서!

 

아! 이전에 스프링 서버가 돌아가고 있는 상태였다면..

윈도우 환경에서 ctrl + c 단축키를 눌러 서버를 잠시 종료시켜준다.

 

그리고 그 아래에 다음 코드를 입력해준다

 

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8090

엔터 쳐봐.

그걸로 포워딩은 끝난거다.

80번으로 들어온 녀석을 8090 포트에 박아달라고.. 헤으응

 

이제 서버를 재시작 해보자.

 

 

ㅇㅇ

이제 다시 셀렉샵에 들어가 봐.

좆같은 포트번호 집어치우고 IP 주소만으로 접속해봐라.

 

 

짜잔~

포트번호를 붙여주지 않고서도 접속이 가능해졌다.

이런 기법을 포워딩이라고 한다.

 

더 상세한 내용이 궁금하다면 구글링 해봐라.

예제 몇개 풀어보면 그리 어려운 내용도 아니다.

 

5-1) Issue Occured!

이슈가 하나 발생했다.

아니, 필자가 발생시켰다.

 

셀렉트 머시시에 들어가는 건 잘 되고 있는데..

가장 큰 결함 하나가 아직 남아있다.

힌트를 주자면 서버 쪽이다.

맞춰봐라.

맞추면 헬창존 1주일치 이용권을 양도하겠다.

 

...

 

 

요놈이 문제다.

님 노트북 1년 365일 24시간 켜놓고 다닐거임?

예를 하나 보여줄게..

 

 

저 저 저 Git Bash..

맥에서는 ssh 서버.

저 녀석을 강제종료 해보겠다.

그리고 다시 셀렉트 샵에 접속해볼게.

 

 

잘 되던 게 안되네?

당연하지.. 서버를 다운시켰으니까.

하지만 우리의 웹 사이트는 24시간 돌아가야 하는데?

그럼 업무용, 개발용, 게임용으로 쓰는 내 노트북을 계속 집에다가 켜놓고 다녀야 함?

 

대가리에 총맞았냐?

절대 그렇게 굴릴 수는 없다.

ssh 서버를 종료하지 않고도 계속 도메인이 유지되어야 한다.

어떻게?

그것을 지금부터 알아볼 것이다.

 

# 아래의 명령어로 실행하면 된다
nohup java -jar JAR파일명.jar &

 

기존에 서버를 Run 상태로 돌려놓기 전에 각각 앞과 뒤에 뭐 하나씩 덧붙여주면 된다.

nohup과 &

그리고 엔터쳐봐. 아니 두 번 쳐.

 

 

별로 달라진 게 없어 보이지?

댓츠 노노.. 그렇지 않다.

Git Bash 콘솔창을 과감하게 종료해보자.

아~ 쫄지마! 얼른 내려라.

서버도 같이 내려가는지 안내려가는지 확인해보게.. ㅡㅡ

 

 

자, 봐라.

EC2 IP 주소로 다시 접속해봤다.

근데 화면 어디를 봐도 ssh를 찾아볼 수 없다.

정말로 강제종료 해줬다니까?

그런데도 서버는 정상적으로 돌아가고 있다.

 

혹시 서버를 강제 종료하는 방법은 없을까?

왜 없겠는가?

 

# 아래 명령어로 미리 pid 값(프로세스 번호)을 본다
ps -ef | grep java

# 아래 명령어로 특정 프로세스를 죽인다
kill -9 [pid값]

 

이러고 다시 셀렉샵에 들어가봐라.

아까처럼과 같이 서버 다운으로 인해 접근이 거부될 것이다.

다시 들어가고 싶으면..

 

# 아래의 명령어로 실행하면 된다
nohup java -jar JAR파일명.jar &

 

요렇게 다시 입력하고 엔터 누르면 되지 모..

근데 EC2 자체적으로 인스턴스를 종료하면 될 거 가지고 굳이 번거롭게 이럴 필요는 없다고 본다.

그리고 서비스가 종료되지 않는 이상 어지간해서는 강종할 일도 없을 것이고..

 

이렇게 함으로서 1차적인 서버이슈는 해결한 듯 싶다.

이제 정말로정말로 마지막!

IP 주소에서 도메인 주소로 바꿔주는 작업으로 프로젝트를 마무리 짓도록 하자!

 


6. From Localhost to Domain

드디어 이번 토이 프로젝트의 끝을 장식할 시간이다.

좆같은 IP 주소는 야추마냥 떼어버리고..

새롭게 도메인을 구입하여 그것을 EC2 서버에 연결하는 것이다!

그 전에 '가비아' 라는 서비스에 가입을 해야 한다.

링크를 걸어줄테니 알아서 가입하고 와라.

 

https://my.gabia.com/service#/

 

웹을 넘어 클라우드로. 가비아

그룹웨어부터 멀티클라우드까지 하나의 클라우드 허브

www.gabia.com

 

 

적당히 1년에 100원 정도 하는 도메인 암거나 하나 구매해라.

그리고 저기 관리툴로 들어가.

 

 

내려가.

들어가.

 

 

체크박스 체크!

설정 클릭!

 

 

수정해라.

 

 

저렇게 추가하거나 수정해줘라.

딱 보면 딱이잖아?

필자처럼 감 떨어지는 노땅 아저씨도 다 하는데..

 

 

자! IP 주소로는 우선 접속이 잘 되고 있다.

 

이제 도메인 주소로 접속 해봐야겠지?

 

 

도메인 주소로도 접속이 잘 되고 있다!!!!

소리벗고 팬티질러!!!

 


 

여기까지 같이 달려와주셔서 정말이지.. 미안하고 고맙다!

3계층 설계부터 시작하여 클라이언트 제작, 그리고 도메인 서버에 배포하는 과정까지..

내용이 결코 쉽지 않았고, 분량이 적지도 않았다.

그래도 내 딴에서는 가장 쉬운 언어로, 가장 쉽게 배운 것을 녹아내기 위해 부던히도 노력했다.

이제 남은 것은 더 양질의 서비스로 포플을 채워 넣는 것..

개발자 1인분의 몫을 해내는 그 날까지 쉬지 않을 셈이다.

이상이다.

다음에는 다른 장난감을 들고 찾아오겠다.

 

나만의 셀렉샵 (jonghyeon.shop)

 

이근출 해병님의 셀렉샵

실시간으로 아쎄이가 원하는 상품의 최저가를 가르켜주겠다!

jonghyeon.shop

 

academy3746/My_Select_Shop_ver_1.0.1: 나만의 셀렉샵 기능 개선 (github.com)

 

GitHub - academy3746/My_Select_Shop_ver_1.0.1: 나만의 셀렉샵 기능 개선

나만의 셀렉샵 기능 개선. Contribute to academy3746/My_Select_Shop_ver_1.0.1 development by creating an account on GitHub.

github.com