Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9주차미션_윈트 #17

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 16 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,25 @@
# 💚 UMC MJU 4th Server C-자연
[UMC MJU 4th를 위한 깃허브 사용법 및 규칙](https://makeus-challenge.notion.site/UMC-MJU-GITHUB-RULE-37679fa4f8fb4af4b2d0504b2a3e432d)
1학기동안 자바의 기초부터 스프링, 네트워크와 클라우드 서버까지 1학기간 스터디하며 학습하였습니다!

<br>
### Period : 2023/03 ~ 2023/06

## 1. 자신의 브랜치에 프로젝트 업로드하기
# :page_facing_up: Souce Code
https://github.com/UMC-MJU/4th_Server_C

## 2. Main 브랜치로 PR(Pull Request) 날리기
[좋은 PR 작성하기](https://medium.com/hayanmind-tech-blog-kr/%EC%A2%8B%EC%9D%80-pr%EC%97%90-%EB%8C%80%ED%95%9C-%EB%8B%A8%EC%83%81-6586c3f757ac)
# 1~4주차
프로그래밍언어, 자바의 기초를 학습했습니다.

## 3. 스터디원 코드 리뷰해주기 (한 명 이상의 리뷰를 받아야합니다)
### 3-1. 리뷰에서 Approve를 받지 못했다면, 수정 사항을 반영해서 다시 올린다.
### 3-2. Approve를 받았다면, Merge를 진행한다.
[Merge 이해하기](https://im-developer.tistory.com/182)
# 5주차
자바의 기초를 기반으로 알고리즘 문제 1차원배열, 문자열, 반복문, 이차원배열, 조건문의 문제들을 풀고 학습하였습니다.

<br>
# 6주차
자바의 객체지향, 오버라이딩, 오버로딩등의 특성을 이해하는 문제를 풀어보았습니다.

## 🌱 Pull Requests Rule
**Title**: N주차미션_닉네임 (ex. 1주차미션_제이콥)
# 7주차
간단한 ToDo리스트를 CRUD하는 스프링부트 프로젝트를 제작하였습니다.

**Reviewers(PR을 리뷰해 줄 팀원): 파트장 + 스터디원 중 (최소)1명**
# 8주차
S3와 Swagger를 연결해보며 추가 디벨롭도 해보았습니다.

→ 스터디원들의 미션을 확인하며 **리뷰, 칭찬, 피드백** 등을 진행합니다!
(스터디 내에서 논의해 각자 최소 1명의 스터디원 코드 리뷰 진행)

→ 최종적으로 파트장이 워크북 및 코드 제출을 확인한 후,
main으로 merge하도록 하겠습니다 :)

**Assignees(PR 담당자): 본인**

**Labels: mission 🚀**



## ✔ Commit Message Convention
CHORE: 코드 수정, 내부 파일 수정

FEAT: 새로운 기능 추가

FIX: 버그, 오류 수정

DOCS: README 등의 문서 수정

REFACTOR: 전면 수정(코드 리펙토링)

TEST: 테스트 코드 추가 및 수정

<br>

## 🍀 Members
| [![텍스트](https://avatars.githubusercontent.com/u/89513086?v=4)](https://github.com/chrkb1569) | [![텍스트](https://avatars.githubusercontent.com/u/108222981?v=4)](https://github.com/witwint) | [![텍스트](https://avatars.githubusercontent.com/u/121410579?v=4)](https://github.com/Minuooooo) | [![텍스트](https://avatars.githubusercontent.com/u/81752546?v=4)](https://github.com/taegyuni) |
|:---:|:---:|:---:|:---:|
| 아삭/이민섭 | 윈트/문석범 | 미누/문민우 | 모건/김태균 |
# 9주차
유저 인증인가에 JWT를 적용해보며 애플리케이션의 보안을 강화하고, 보안 정책의 일관성을 유지하며 사용자 인증 과정을 안전하게 관리하였습니다.
42 changes: 42 additions & 0 deletions 윈트_문석범/week9/dearme/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

# Elastic Beanstalk Files
.elasticbeanstalk/*
!.elasticbeanstalk/*.cfg.yml
!.elasticbeanstalk/*.global.yml
86 changes: 86 additions & 0 deletions 윈트_문석범/week9/dearme/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.11'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}

group = 'classproject'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'

//s3사용
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'

//Querydsl 추가
implementation 'com.querydsl:querydsl-jpa'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

implementation 'io.springfox:springfox-boot-starter:3.0.0'
implementation 'io.springfox:springfox-swagger-ui:3.0.0'

// validation
implementation 'org.springframework.boot:spring-boot-starter-validation'

// JWT
implementation 'io.jsonwebtoken:jjwt-api:0.11.2'
implementation 'io.jsonwebtoken:jjwt-impl:0.11.2'
implementation 'io.jsonwebtoken:jjwt-jackson:0.11.2'

implementation 'org.springframework.boot:spring-boot-starter-data-redis'

}

tasks.named('test') {
useJUnitPlatform()
}

//Querydsl 추가, 자동 생성된 Q클래스 gradle clean으로 제거
clean {
delete file('src/main/generated')
}

task('release'){
/* ./gradlew build를 먼저 실행하라는 뜻이다. */
dependsOn("build")

doLast {
def stdout = new ByteArrayOutputStream()
/* exec - 커멘드 라인 프로세서; 파워셸/터미널에서 실행하는것과 같다. */
exec {
commandLine 'eb', 'setenv', 'SPRING_PROFILES_ACTIVE=prod'
standardOutput = stdout
}
/* 결과 로깅을 위한 작업 */
println "eb setenv SPRING_PROFILES_ACTIVE=prod :\n$stdout";
exec {
/* $eb deploy */
commandLine 'eb', 'deploy'
standardOutput = stdout
}
println "eb deploy :\n$stdout";
println "Release succeeded."
}
}
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading