묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Open 키워드를 사용해야 하는 이유
안녕하세요 강사님 덕분에 편히 배우고 있습니다.다름이 아니라 이번 강의 초반에 @Transactional 어노테이션을 사용할 시 open 키워드를 클래스와 매서드에 다 사용해주어야 하고, 만약 이게 싫다면 플러그인을 적용해야 한다고 말씀하셨는데요,찾아보니 코틀린에서는 기본적으로 모든 클래스가 최종 클래스고, 그렇기 때문에 상속이 되지 않아 open 키워드를 사용해 상속 가능성을 열어두어야 한다는 것 같더라구요.그런데 왜 이게 @Transactional 어노테이션을 사용할 때도 해당되는 내용인지 잘 모르겠습니다. 프록시 객체가 생성되기 때문인 걸까요?제가 코틀린 기본 강의를 들었음에도 잘 기억이 나질 않아 질문드립니다. 항상 감사드립니다.
-
해결됨
spring에서 Entity작성 후 [Table ' ' doesn't exist] 오류
영화 예매 관련 Entity를 작성 후 DB확인차 실행했는데 다른 Entity는 테이블이 잘 만들어진 것을 확인할 수 있었지만 이상하게 Seat Entity만 테이블이 만들어지지 않았습니다. WARN 3508 --- [Movie Ticketing] [ restartedMain] o.m.jdbc.message.server.ErrorPacket : Error: 1146-42S02: Table 'ticketing.seat' doesn't exist WARN 3508 --- [Movie Ticketing] [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL " alter table seat add constraint FKgik5885qsff01sxe7v3kqjrhx foreign key (theater_id) references theater (theater_id)" via JDBC [(conn=216) Table 'ticketing.seat' doesn't exist] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL " alter table seat add constraint FKgik5885qsff01sxe7v3kqjrhx foreign key (theater_id) references theater (theater_id)" via JDBC [(conn=216) Table 'ticketing.seat' doesn't exist]at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:94) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.Helper.applySqlString(Helper.java:233) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.Helper.applySqlStrings(Helper.java:217) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createForeignKeys(SchemaCreatorImpl.java:303) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:250) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:172) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:142) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:118) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:256) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final] at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.lambda$process$5(SchemaManagementToolCoordinator.java:145) ~[hibernate-core-6.4.4.Final.jar:6.4.4.Final]application.yml은ddl-auto.create입니다. 대소문자 구분이 문제인가 싶어 @Table(name = "seat")도 추가하고 lower_case_table_names = 1인 것도 확인했는데 똑같이 에러가 발생하더라구요하루종일 찾아봐도 이유를 잘 모르겠습니다 왜그런걸까요 ㅠㅠㅠSeat Entity 코드는 아래와 같습니다.@Entity @Table(name = "seat") class Seat { val row : String? = null val column : Int? = null //좌석 선택 @Enumerated(EnumType.STRING) val selectStatus : SelectStatus? = null // POSSIBLE, IMPOSSIBLE @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "theater_id") val theater : Theater? = null @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "seat_id") val id : Long = 0L }
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
실습리포지토리 테스트 코드 작성 강의 오류
안녕하세요 또 이렇게 질문하게 되네요 먼저 코드는 틀린거 없이 Git 내용과 강의 내용코드 그대로 작성하였습니다. 하지만 왜 일까요?? 에러가 나네요 이부분이 에러 납니다. al experience = experienceRepository.findAll()======================@Test fun testFindAll() { println("---- findAll 테스트 시작 ----") val experience = experienceRepository.findAll() assertThat(experience).hasSize(DATA_SIZE) println("experiences.size: ${experience.size}") for (experience in experience) { assertThat(experience.details).hasSize(experience.title.toInt()) println("experience.details.size: ${experience.details.size}") } println("---- findAll 테스트 종료 ----") }==================================== 이부분도요 findAllByIsActive(true) @Test fun testFindAllByIsActive() { println("----- findAllByIsActive 테스트 시작 -----") val experiences = experienceRepository.findAllByIsActive(true) assertThat(experiences).hasSize(DATA_SIZE) println("experiences.size: ${experiences.size}") for (experience in experiences) { assertThat(experience.details).hasSize(experience.title.toInt()) println("experience.details.size: ${experience.details.size}") } println("----- findAllByIsActive 테스트 종료 -----") } 에러 코드는 기니깐 핵심 부분만 올려 드리면 Hibernate: select e1_0.experience_id,e1_0.created_date_time,e1_0.description,d1_0.experience_id,d1_0.experience_detail_id,d1_0.content,d1_0.created_date_time,d1_0.is_active,d1_0.update_date_time,e1_0.end_month,e1_0.end_year,e1_0.is_active,e1_0.start_month,e1_0.start_year,e1_0.title,e1_0.update_date_time from experience e1_0 left join experience_detail d1_0 on e1_0.experience_id=d1_0.experience_id where e1_0.is_active=?org.springframework.orm.jpa.JpaSystemException: No default constructor for entity 'com.justkim.portfolio.domain.entity.ExperienceDetail' at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:341) 이이쿠 한줄만 적는데도 기네요 ExperienceDetail.kt 코드는@Entity class ExperienceDetail(content: String, isActive: Boolean) : BaseEntity() { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "experience_detail_id") var id:Long? = null var content: String = content var isActive: Boolean = isActive fun update(content: String, isActive: Boolean) { this.content = content this.isActive = isActive } }이런데 ExperienceDetail( 가 계속 경고를 때리네요Class 'ExperienceDetail' should have [public, protected] no-arg constructor https://github.com/justkjy/portfolio-justkim 깃 주소입니다 구글에서 위 에러를 검색하니깐 인프런 오류 질문이 올라 와 있던데 봐도 모르겠네요 https://www.inflearn.com/questions/931371/test-%EC%98%A4%EB%A5%98 감사합니다.
-
미해결코틀린 고급편
Sequence vs Stream
안녕하세요 Sequence와 Stream의 차이점에 대해서 질문드립니다.Sequence가 지연연산의 이점을 통해서 대용량 처리를 해야할 때 이점을 줄 수 있다고 이해를 했고,Java의Stream과 유사하다는 생각이 들었습니다. 찾아보니, java8 이전의 Kotlin의 경우 Stream을 사용할 수 없으니, Sequence를 사용했었다 라는 글을 발견했습니다.위 설명이 맞을까요?혹시 맞다면 어떠한 기준으로 둘중에서 선택을 하는게 좋을까요?
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
안드로이드 스튜디오 스크래치 파일
import kotlin.system.exitProcess val mutableMap = mutableMapOf("name" to "Joyce", "age" to 100, "height" to 180) println(mutableMap) mutableMap.put("hobby", "coding") 코드마지막 "coding" 부분에 빨간줄 쳐지면서 Type mismatch: inferred type is String but Nothing was expected 라고 합니다 똑같이 했는데 왜안될까요
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
인터페이스에 대한 질문입니다
인터페이스가 이해가 잘 되지않습니다 추상클래스를 이용해서도 상속을 하는데 왜 더 작게 상속을 해야하나요? 아니면 여러개 상속할 것을 인터페이스를 이용하여 하나로 묶어 다중상속 하는건가요? 일반적으로 추상클래스를 이용하거나 open을 이용해도 상속이 되는데 꼭 interface를 사용해야하나요??
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
xml 파일 디자인 부분
안녕하세요 선생님섹션 4 - 팁 페이지 만들기 - 첫번째 강의(레이아웃 설정 및 아이콘 넣기)를 수강중입니다.제가 중간에 어디 부분을 놓쳐서 이해를 못하고 있는지 잘 모르겠습니다. 4:04 부분에 보이는 꿀팁화면(fragment_tip.xml) 디자인 (안드로이드 스튜디오 우측 그림)에는 상단에 내용 부분(사진 3개)만 있고 지붕 디자인이 없는데애뮬레이터를 실행하는 부분(4:17) 에서는 지붕 디자인(자취생으로 살아남기 글자랑 그림, 우측에 막대기 3개 표시)이 나오는데 윗부분 디자인은 어디서 가지고 오는 건가요?main xml에서 지붕부분을 만든 것은 알겠는데 꿀팁 tip xml 에서는 지붕에 대한 코드가 없습니다 코드상으로는 지붕에 대한 코드가 없는데 애뮬레이터를 실행하면 지붕이 나오게 되는데 왜 그런 것인지 모르겠습니다.아래는 애뮬레이터 실행한 부분입니다.
-
미해결
참고할 프로젝트 찾는 방법(kotlin, spring)
안녕하세요!go언어를 하다가 현재 kotlin, spring 을 공부하는 중입니다좋은 프로젝트 샘플을 보면서 어떤 구조로 어떻게 구현되어 있는지전체적인 코드를 보고싶은데,다들 샘플 프로젝트는 어떻게 찾으시나요?기본 CRUD프로젝트라도 좋아요 Github에서 검색해서 찾으시는지, 오픈소스를 찾아보시는지 궁금합니다꿀팁 알려주세요!혹시 괜찮은 코프링 프로젝트를 아신다면 알려주시면 더 감사하겠습니다!
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
에뮬레이터 실행 에러
안녕하세요. 강의를 듣다가 에뮬레이터를 실행하려는데 실행이 되지 않습니다.해결방안을 찾아보다 SDK Tools를 보는데 필수 도구들 중에 intel x86 Emulator (HAXM installer)가 없는 것을 알게 되었습니다. 이게 없어서 에뮬레이터 실행이 안 되는 것일까요? 해결방안을 아무리 찾아도 모르겠습니다...위의 사진이 계속해서 뜨는 에러입니다. 기존에 이미 있는 에뮬레이터 말고 다른 것을 실행시켜도 같은 에러가 뜹니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
파이어베이스 익명로그인 - 코드는 소문자인데 대문자로 표시되는 이유
안녕하세요 강사님다이어트 메모앱에서- 2번째 강의인 “파이어베이스 익명로그인” 7:13 부분을 듣고 있습니다. 강의 흐름상 중요한 건 아니지만 궁금해서 여쭤봅니다 코드에서 버튼을 만들고 버튼의 텍스트를 소문자로 login 이라고 입력하셨는데 어떻게 하면 오른쪽 split 탭(파란화면) 에서는 글씨가 대문자로 LOGIN 이라고 뜨는 건거가요?저는 오른쪽 파란화면도 당연히 소문자로 떠서요 아래 화면은 강의를 캡처한 사진입니다
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
엠티프로젝트 만드는 것 관련해서 질문 있습니다.
안녕하세요?오랜만에 수업을 들으며 프로그램을 켰는데 예전과 달리 이런 창이 떠서요,수업에 나오는 엠티프로젝트를 만들려면 어떻게 설정해야 하는지 알려주시면 감사하겠습니다.감사합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
트와이스 앱 - splash 화면 manifest 파일 수정
트와이스 앱 만들기- 강의 소개 및 스플래시 화면 4분 33초를 듣고 있습니다.mainfest 파일 수정하는 과정에서 계속 에러가 나는데 어떻게 해야 하나요?검색해봐도 해결이 안되어서 질문 드려요앞에 첨부해주신 자료에 따라 exported를 true로 하고, intent filter를 splash 안에 들어가게 했는데 무엇이 문제인지 모르겠습니다. 다음처럼 에러가 나요Unable to find Gradle tasks to build: [:app]. Build mode: ASSEMBLE. Tests: None
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
avd 띄웠을 때 파일명이 안 나와요
섹션 0 . 강의소개 및 개발환경 세팅에서4번째 강의 "안드로이드 스튜디오 살펴보기" 를 듣고있습니다.영상 13분 28초강의에서는 myfirstfile 이라는 파일명이 avd에 뜨는데 , 저는 왜 안 뜨는건가요? ( 저도 파일명을 똑같이 myfirstfile로 앞에서 설정했었는데 아예 이름이 보이질 않습니다)
-
미해결[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
int, string?
안녕하세요! 타입과 형변환을 보고있는데요, 제가 아예 쌩초보라 벌써 헷갈려서요..!fun main() { val test1 = "1234" val test2 = 1234 println(test1 + 1) println(test2 + 1)} 강의에서 test1은 문자니까 문자열이 합쳐지는 것이고, test2는 숫자니까 더해지는 거라고 말씀해 주셨는데,println(test1 + 1)에서 뒤에 더해주는 1은 (""없어도) string 타입이고, println(test2 + 1)에서 뒤에 더해주는 1은 int 타입인 건가요??
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
databinding 오류 관련해서 문의드립니다
안녕하세요?명언앱 만들기에서 데이터바인딩할 때부터 오류가 나서무시하고 메인 액티비티에서 <layout>으로 감싸 주었는데그뒤 private lateinit var binding = ActivityMainBinding에서 또 오류가 나서 진행을 못하게 되었습니다.해결 방법을 말씀해 주시면 감사하겠습니다.감사합니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
자꾸 질문을 드려서 죄송합니다
선생님 안녕하세요?버튼 수업을 듣는데 저의 경우는 밑에 바가 아예 나오지를 않아서요, 어디서 잘못된 건지 알 수 있을까요?감사합니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
질문 있습니다!
안녕하세요?이번에도 글씨가 빨간색으로 나와 문의드립니다.해결 방법을 말씀해 주시면 감사하겠습니다.감사합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
리스트뷰/어댑터 강의 관련 질문 있습니다.
안녕하세요?선생님 강의에서는 포지션이 빨갛게 나오지 않았는데제 것은 포지션이 빨갛게 뜹니다.옵션 엔터하면 될까요?감사합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
코틀린에서 builder 패턴은 사용하지 않나요?
강사 님께서는 객체를 인스턴스화 하실 때, 생성자를 사용하거나, 정적 팩토리 메서드를 사용하는 방식 2가지를 이용하셨는데 혹시 코틀린에서 builder 패턴을 사용하는건 어떻게 생각하시나요??defalut 파라미터를 이용하고 naming을 통해 builder패턴 처럼 사용할 수 는 있겠지만 java에서 builder패턴을 통해 객체를 만들었던 것에 비하면 불편하다는 생각이듭니다.조언 해주시면 감사하겠습니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
주사위앱 관련해서 질문 있습니다!
안녕하세요?오늘도 선생님 강의와 똑같이 따라한 것 같은데주사위가 선생님 버전보다 밑에 있고 버튼은 더 밑에 있어서 보이지 않습니다.혹시 해결 방법을 알고 계시면 알려 주시면 감사하겠습니다.풍요로운 한가위 보내시기를 바라고 항상 감사드립니다. 그리고 제 코드는<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#008000" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="200dp" android:layout_marginTop="100dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="30sp" android:textColor="@color/black" android:layout_margin="20dp" android:gravity="center" android:textStyle="bold" android:text="인생은 주사위 한방에 가는 거 아니겠습니까?"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="200dp"> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="200dp" android:weightSum="2"> <ImageView android:src="@drawable/dice_1" android:layout_width="120dp" android:layout_height="120dp" android:layout_weight="1"/> <ImageView android:src="@drawable/dice_2" android:layout_width="120dp" android:layout_height="120dp" android:layout_weight="1"/> </LinearLayout> <Button android:text="인생 고고" android:layout_width="match_parent" android:background="@color/black" android:textColor="@color/white" android:layout_height="50dp" android:layout_margin="50dp"/> </LinearLayout>입니다!