- 본인에게 적합한 개발 관련 온라인 강의를 통합해 검색할 수 있는 개인형 강의 추천 사이트
- 인프런, 유튜브, 유데미 등의 온라인 강의 플랫폼에서 강의를 검색하고자 하는 유저
- 비슷한 강의들을 검색 & 비교하여 본인에게 적합한 강의를 선택하고자 하는 유저
- 2021.04 ~ 2021.05
-
Front End -
이윤상
- Typescript, React, SCSS
-
- Java, Python(크롤링)
- SpringBoot, Spring Data JPA, MySQL, AWS
- 주현
- 강의(Lecture)
- 댓글(Comment)
- 인프라
- 소연
- 북마크(Bookmark)
- 유저(User)
- 먼저 application.properties 파일에 본인의 DB 정보로 수정합니다.
- url, username, password 를 설정합니다.
- 데이터베이스 스키마 설정은 로컬에 직접 설정 및 프로젝트 실행 시 자동으로 설정하는 두 가지 방법이 있습니다. (아래 참고)
- src/main/resources 경로의 schema.sql 파일에 작성된 스키마를 직접 복사해서 로컬 DB에서 생성합니다.
- application.properties 파일의 schema 주석 부분을 해제한 후 애플리케이션을 실행하면 스키마 설정이 됩니다.
$ git clone https://github.com/JuHyun419/one-line-course.git
$ cd one-line-course/back
$ chmod +x mvnw
$ ./mvnw clean package
$ cd target
$ java -jar oneline-course-0.0.1-SNAPSHOT.jar
서로 다른 OS(Mac, Window)에서 함께 Git 작업할 시 발생하는 LF, CRLF 문제
MySQL 😢이모지(utf8mb4) 스키마 설정
Parcel 번들러 에서 ENV 파일 사용
MySQL referencing column and referenced column are incompatible
MySQL 8.0 대소문자 구분 문제(MySQL 5 버전으로 변경)
Java의 LocalDateTime과 MySQL의 datetime 사이의 시차 문제(9시간)
Google oAuth access_token vs id_token
도메인 연결 80 -> 8080 포트포워딩 삽질
인텔리제이 Java file outside of source root
Caused by: java.lang.IllegalArgumentException: invalid target release: 11
@RequestBody에 왜 기본 생성자는 필요하고, Setter는 필요없을까?
CORS의 default Method로는 GET, POST, HEAD만 allowed 되기 때문에 DELETE 메서드로 요청하면 CORS요청에 의해 막히게 된다
Jsoup을 이용한 크롤링(feat. 인프런)
AWS RDS 외부접속
AWS EC2 인스턴스 생성하기
AWS EC2 iptables 서버 포트포워딩(80 -> 8080)
AWS EC2 서버 접속하기
GitHub Action을 통한 Build 자동화(SpringBoot + Maven)
Spring Boot Maven profile 운영 & 개발 분리(AWS EC2)
환경 변수(application.properties) 관리(외부 노출 X)테스트 코드(통합 테스트, 단위 테스트) 추가예외처리(Exception Handling) - 유저, 댓글, 강의 등등 추가- HTTP -> HTTPS 적용
CI/CD 적용
- https://medium.com/hashbox/git-commit-%EB%A9%94%EC%84%B8%EC%A7%80-%EA%B7%9C%EC%B9%99-conventional-commits-71710f7f53c
- https://meetup.toast.com/posts/106
- https://javakong.tistory.com/217