BackEnd/코틀린 스프링 14

코틀린 스프링 스터디 일지 6 : 서버 빌드 및 JAVA_HOME 오류 해결

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.현재 상황은 모두가 같은 주소로 같은 요청을 보낼 때 정상 작동하게 되었는데요.열심히 만든 서버를 빌드해서 파일 형태로 만들어서 사용하는 방법에 대해서 알아보겠습니다. 빌드를 할 땐 프로젝트 폴더가 있는 곳까지 이동을 해줘야 합니다.인텔리제이에서 터미널을 실행시키면 바로 프로젝트 폴더에서 실행이 되기 때문에 여기서 진행하셔도 문제는 없습니다.터미널에 아래와 같이 적어줍니다../gradlew build기다리면 빌드가 진행이 될텐데요. 만약 불가능 한 경우 아래에서 해결해보겠습니다.왼쪽 프로젝트 화면을 보면 여러 파일들 중에서도 동일한 이름을 볼 수 있습니다이 파일은 Gradle Wra..

코틀린 스프링 스터디 일지 5 : 비밀번호 암호화 및 과제 내용

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.추가 기능으로 아래의 기능을 과제로 만들어 보았습니다.회원 정보 리스트 가져오기토큰 정보를 조회해서 member를 찾아내고 member가 해당되는 기숙사 타입을 가져옵니다.위의 내용을 활용해서 기숙사 타입을 얻어 해당되는 member의 전체 list를 뽑는 API를 만들어줍니다.여태 과제로 나왔던 기능처럼 토큰을 활용하는 기능을 만들어 봤습니다.추가로 데이터베이스에 비밀번호를 그대로 넣고 있기 때문에 암호화해서 넣는 방식을 만들어보겠습니다.먼저 과제 내용을 만들어 보겠습니다.기숙사 타입에 해당되는 member의 list를 가져오기 위해서 Repository에 fun을 추가해주겠습니다..

코틀린 스프링 스터디 일지 4 : 게시글 조회

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.이제부터 강의가 끝나고 추가적인 기능을 만들어 보았습니다.과제의 내용게시글 불러오기첫 번째로 작성된 전체 게시글을 불러오기두 번째로 특정된 게시글 불러오기두 번째인 특정된 게시글 불러오기의 경우는 내 정보 조회에서 토큰을 사용하기 전에 하는 방식을 활용해서 사용이 가능합니다.먼저 작성된 전체 게시글 불러오기를 만들어보겠습니다.게시글 내부에 큰 문제점이 발생될만한 내용이 없다고 보고 그대로 Board 객체의 값을 리스트로 가져오는 방식으로 제작하기 때문에 따로 Dto, Entity에 수정은 없고, JpaRepository에서 상속되는 findAll()을 사용하기에 Repository ..

코틀린 스프링 스터디 일지 3 : 게시글 작성 (2)

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.저번주 과제대로 강의를 시청해 오면 코드의 변화는 내 정보 조회하기, 수정하기가 추가되었습니다.내 정보를 조회할 때 토큰에서 Member의 Id값을 꺼내오는 방식으로 사용했기 때문에 그 기능을 이용해서 새로운 기능을 추가했었습니다. 게시글 작성을 저번에 만들었는데, 작성자의 이름을 익명으로 되게끔 자동으로 넣어줬었습니다. 이번엔 작성자의 이름을 토큰에서 꺼내오는 방식으로 해봤습니다. 대략적인 방식은 token에 이미 Id값이 존재하기 때문에 userId를 받아오고, 그걸 통해서 memberRepository를 이용해서 해당하는 Id의 member를 가져오고 그 안에서 이름을 꺼내왔습..

코틀린 스프링 스터디 일지 2 : 게시글 작성

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.저번주 과제대로 강의를 시청해 오면 코드의 변화는 강의 세션 5에 해당하는 로그인 기능이 추가되었고 로그인하면 토큰이 발급이 되어서 return해주는 기능까지 완성이 되었습니다. 그다음으로 강의에 없는 내용인 게시글 작성을 만들어오는 과제를 주었습니다.게시글 작성은 회원가입 때 사용한 방식과 유사하기 때문에 어렵지 않게 만들 수 있습니다.게시글 관련 패키지를 생성했습니다.board라는 패키지안에 각 기능을 할 패키지를 만들어줬습니다.controllerdtoentityrepositoryservice이렇게 생성해주고 먼저 dto를 보겠습니다.package study.study.board..

코틀린 스프링 스터디 일지 1 : 회원가입 수정

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.저번주 과제대로 강의를 시청해 오면 코드의 변화는 강의 세션 4에 해당하는 JWT 토큰이 추가되었습니다. 회원가입 시 변경해야 할 부분성별, 생일 값 삭제 후 기숙사타입 추가하기이 부분에 대해 수정해 보겠습니다.기숙사 타입을 설정하기 위해서 enumClass로 정규화 작업을 해주겠습니다.누구나 다른 값을 주게 되면 나중에 해당 기숙사 사람을 찾는데 어려움이 있기 때문에 enumClsss로 정해진 방식으로 만들어오게 만들었습니다enum class DormType(val desc: String) { GounA("고운A"), GounB("고운B"), GounC("고운C")..

코틀린 스프링 스터디 일지 0

교내 동아리에서 코틀린 스프링 스터디장으로 스터디를 운영하게 됐습니다.여기에 스터디 대한 일지와 코드를 작성해보려고 합니다.스프링을 접해보지 않은 사람들이 많은 관계로 제가 공부했던 강의대로 빠르게 이것저것 만들어보려고 합니다.더 많은 지식이 필요하지만 작은 사이드 프로젝트로 경험을 해보고 관심이 생긴다면 좀 더 공부를 하고 싶게 하는 게 목표입니다. 기준으로 삼은 강의작업환경 : intellj프로젝트 : Gradle-Kotlin언어 : KotlinSpringFramework boot : 3.4.4초기 설정으로 사용한 의존성MySQL DriverSpring Data JPASpring WebSpring Security2024.10.27 - [코틀린 스프링] - [Kotlin Spring] 프로젝트 00. ..

[Kotlin Spring] 프로젝트 05. JWT를 이용해 로그인 구현하기 02: 구현 하기

코틀린 스프링 6번째 시간입니다.저번에 jwt를 만들고 Spring Security를 사용자화 해줬습니다.저희의 인증방식은 MEMBER라는 권한을 부여하고 로그인 시 토근 발행까지 진행해보겠습니다.이 기록 겸 강의는 초보자 기준으로 작성이 되었고, 새로 시작하게 된 코틀린 스프링 유저에게 많은 도움이 될 수 있었다면 좋겠다는 마음으로 시작합니다.틀린 부분이 있다면 알려주시면 감사하겠습니다.권한(MEMBER)을 부여하고 멤버라는 권한도 데이터베이스에 저장해 보겠습니다.core > status > EnumStatus.kt를 수정하겠습니다.enum class ROLE{ MEMBER}추후에 어드민 권한 등등 추가할 경우에 여기에 추가로 적어주면 됩니다.데이터 베이스에 저장하기 위해 member > enti..

[Kotlin Spring] 프로젝트 04. JWT를 이용해 로그인 구현하기 01: JWT토큰 생성

코틀린 스프링 5번째 시간입니다.로그인을 통해 JWT를 발행하는 부분 한번 같이 해보겠습니다.이 기록 겸 강의는 초보자 기준으로 작성이 되었고, 새로 시작하게 된 코틀린 스프링 유저에게 많은 도움이 될 수 있었다면 좋겠다는 마음으로 시작합니다.틀린 부분이 있다면 알려주시면 감사하겠습니다.시작하기 앞서 JWT에 대해 설명드려 보겠습니다.JWT(JSON Web Token): 당사자 간에 정보를 안전하게 전송하기 위한 콤팩트하고 독립적인 방법을 정의하는 개방형 표준(RFC 7519)입니다.토큰의 구조는 점으로 구분된 세부분으로 구성됩니다.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0Ijox..

[Kotlin Spring] 프로젝트 Extra00. InteliJ에서 http통신 보내기

이번엔 번외 편으로 여태까지 만든 걸 테스트하는 방법을 공유하겠습니다.주로 API를 요청 테스트는 POSTMAN을 많이 사용하게 되는데요.InteliJ(인텔리제이)를 통해서 하는 방법을 공유하겠습니다.이 기록 겸 강의는 초보자 기준으로 작성이 되었고, 새로 시작하게 된 코틀린 스프링 유저에게 많은 도움이 될 수 있었다면 좋겠다는 마음으로 시작합니다.틀린 부분이 있다면 알려주시면 감사하겠습니다.프로젝트의 최상위 폴더에 API라는 패키지를 만들어주세요.api폴더에서 새로 만들기를 보면 HTTP요청이라는 항목이 있습니다.눌러서 원하는 이름을 정해주시면 되는데, 주로 사용하는 기능의 이름을 기준으로 만들어주시면 좋습니다.###회원가입POST {주소:포트번호}{endPoint}Content-Type: applic..