소개
안녕하세요 😊
제가 아는 내용을 이해하기 쉽고, 재미있게 설명드려 여러분들이 성장하실 때 행복함을 느끼는
공부하는 개발자 최태현입니다.
- (현) 스타트업 백엔드 개발자
- (전) 우아한형제들 백엔드 개발자
- (교육활동) Next Step 리뷰어 다수 참여, 공기관 & 스타트업 경진대회 강사 및 멘토, 스파르타 코딩클럽 멘토
강의
전체6수강평
게시글
질문&답변
2024.05.07
수료증
안녕하세요! mins199600님! 🙂 수료증같은 경우 인프런 안내를 확인해보니, 수료증은 강의를 100% 완강하신 후 강의 완료 버튼을 누르시면 자동으로 발급되며, 메인 홈페이지 우측 상단 [프로필 아이콘 > 내 학습 > 수료증 메뉴] 에서 확인이 가능합니다. 수료증에는 아래 내용을 포함하여 발급되며, 데이터는 임의로 변경하실 수 없습니다. 다른 곳에서도 증빙할 수 있는 신의성있는 서류임을 입증하기 위해서 임의로 수정할 수 없는 점 양해 부탁드려요. ❶ 성명 ❷ 완강한 강의명 ❸ 교육 이수시간 ❹ 교육 시작일 & 종료일 ※ 단, 수료증은 유료 또는 일부 무료 강의에 한해 발급되는 점 참고 부탁드려요. 혹시 수료증 출력이 안될 경우, 인쇄 옵션에서 ‘배경 그래픽 표시’를 선택해 주시면 이미지가 정상적으로 작동 되실 거에요! 라고 합니다! https://www.inflearn.com/faq 에서 확인하실 수 있어요. 감사합니다! 🙏
- 0
- 1
- 44
질문&답변
2024.05.07
34강 postman에서 send 하고 status=200 -> mysql에서 조회가 안되요
안녕하세요 정현님! 🙂 질문 주셔서 감사합니다. 질문 주신 내용에 대해 하나씩 답변 드려 볼게요! [1. @Transactional 에서 commit 하는건지요?] 네 맞습니다. @Transactional 이 적혀 있는 함수가 (외부 클래스를 통해) 실행되고, 함수의 코드가 모두 끝나게 되고 Exception이 나오지 않았을 때 commit이 이루어집니다. [2. 왜 mysql에서 commit을 따로 해줘야 할까요?] 우선 어떤 프로그램을 통해 mysql에 접근하고 계신지 확인이 필요할 것 같습니다! 만약 mysql에 접근하기 위한 프로그램이 자동으로 '트랜잭션'을 시작하고 있다면, commit이나 rollback을 하기 전까지 다른 트랜잭션 (ex. 우리의 API) 에서 변경한 내용을 확인하지 못할 수도 있습니다. 다만, 일반적으로는 mysql에 접근하기 위한 프로그램에서 단순히 조회를 할 때 '트랜잭션'을 하지는 않기에 굳이 auto-commit이나 별도의 commit을 하지 않고도 업데이트된 내용을 잘 확인할 수 있어요! CLI를 통해 접속하는 것도 마찬가지죠. 만약 지속적으로 commit을 하셔야 하는게 불편하시면 mysql에 접속하는 도구를 바꿔보셔도 좋을 것 같습니다. 답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙏
- 0
- 1
- 45
질문&답변
2024.05.06
13강 데이터 베이스 연결문제..?
안녕하세요 주희님!! 기능이 동작하지 않다니 답답하시겠어요! 🥺 "이름과 나이를 등록하면 둘 다 빈칸으로 떠요" 라고 말씀해주신게 어떤 상황인지 화면을 보여주시면 조금 더 문제를 파악하는데 도움이 될 것 같습니다! 현재 작성하신 코드도 스크린샷 등으로 함께 올려주시면 확인해볼 수 있을 것 같아요! 감사합니다! 🙏
- 0
- 1
- 67
질문&답변
2024.05.02
인프런 워밍업 관련 문의
안녕하세요 키레이님! 워밍업 1기 신청과 관련한 부분은 인프런에서 담당해주고 계셔서 제가 관련해서 답변 드리기는 어려울 것 같습니다. 🥺 벌써 워밍업 스터디 1기가 시작한지 며칠이 지나긴 했지만, 지금이라도 스터디 커뮤니티에 초대드릴 수 있는지 담당자 분께 한 번 여쭤볼게요! 감사합니다.
- 0
- 2
- 78
질문&답변
2024.05.01
intelliJ 최신버전과 kotlin 1.6버전 충돌. 빌드 오류
안녕하세요 돗토리묵님! 🙂 오늘 이것저것 추가로 살펴보았는데요! 결론부터 말씀드리면, IntelliJ의 버그인 것 같습니다. 🥺 https://youtrack.jetbrains.com/issue/KTIJ-29067/JPS-NoSuchFieldError-FILEHASHINGSTRATEGY-caused-by-Maven-project-with-1.6 https://youtrack.jetbrains.com/issue/IDEA-351746 위와 같은 글에서도 "유료 고객이고, 스프링 2.6.x 버전을 쓰고 있어 Kotlin 1.6을 써야 하는 상황인데 IntelliJ 버전이 업데이트 되었다고 해서 고지 없이 이전 버전을 호환하지 않으면 어떻게 해야 하냐? 라는 반응을 확인할 수 있었는데요! 😭 바로 이전 버전인 2023.3.6 까지는 해당 build.gradle로 잘 실행되는 것으로 확인했습니다. 🙂 추가로, IntelliJ 2024.1 버전에서는 다음과 같은 build.gradle를 사용할 수도 있습니다! 스프링 부트를 2.6.x -> 2.7.x 로 올려두었고, 가장 최신 버전을 코틀린도 적용한 버전입니다. import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { id 'org.springframework.boot' version '2.7.18' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' id 'org.jetbrains.kotlin.jvm' version '1.9.23' id 'org.jetbrains.kotlin.plugin.jpa' version '1.9.23' id 'org.jetbrains.kotlin.plugin.spring' version '1.9.23' id 'org.jetbrains.kotlin.kapt' version '1.9.23' id "org.jetbrains.kotlin.plugin.allopen" version "1.9.23" } allOpen { annotation("javax.persistence.Entity") annotation("javax.persistence.MappedSuperclass") annotation("javax.persistence.Embeddable") } group = 'com.group' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' implementation 'org.jetbrains.kotlin:kotlin-reflect:1.9.23' implementation 'com.fasterxml.jackson.module:jackson-module-kotlin:2.13.3' implementation 'org.junit.jupiter:junit-jupiter:5.8.1' implementation 'com.querydsl:querydsl-jpa:5.0.0' implementation 'org.projectlombok:lombok:1.18.28' kapt("com.querydsl:querydsl-apt:5.0.0:jpa") kapt("org.springframework.boot:spring-boot-configuration-processor") runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } compileKotlin { compilerOptions { jvmTarget = JvmTarget.JVM_11 } } compileTestKotlin { compilerOptions { jvmTarget = JvmTarget.JVM_11 } } 다만 이 때, 스프링 부트가 2.7.x 가 되면서 H2 버전업이 이루어졌고, H2 버전업에 의해 user 라는 키워드를 H2 데이터베이스에 사용하지 못하기 때문에 application.yml에 설정을 한 가지 바꿔주어야 합니다. # ;NON_KEYWORDS=USER 가 추가되었습니다! spring: datasource: url: 'jdbc:h2:mem:library;NON_KEYWORDS=USER' H2에서 user 라는 이름을 키워드로 간주하지 않게다는 옵션인데요! 이 외에도 @Table 어노테이션을 사용해 user 라는 테이블 이름 대신 users 등을 쓸 수도 있습니다. 추가로, 말씀해주신 JPA 플러그인을 지우고도 실행시켜 보았는데요! 제가 실행했을 때는 No default constructor for entity 라는 에러가 정상적으로 나오는 것으로 보입니다! IntelliJ 2024.1 + 위의 build.gradle 을 사용했습니다. 혹시나 build.gradle에서 jpa 플러그인을 한 번 적용시킨 상태에서 build를 하신 후 코드 변경 없이 재실행을 하시는 거라면, 진작 플러그인이 적용된 상태로 컴파일된 코드가 실행되어 잘 동작하는 것처럼 보일 수도 있긴 합니다! 저도 관련해서 더 알게되면 추가로 의견 남겨두겠습니다. 답변이 도움이 되었으면 좋겠습니다. 감사합니다! 🙏
- 1
- 2
- 62