묻고 답해요
135만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter
테스트 코드 실행시 의존성 주입이 안되는 듯한 에러가 있습니다...org.junit.jupiter.api.extension.ParameterResolutionException: Failed to resolve parameter [com.mkim.portfolio.domain.repository.ExperienceRepository experienceRepository] in constructor [public com.mkim.portfolio.domain.repository.ExperienceRepositoryTest(com.mkim.portfolio.domain.repository.ExperienceRepository)]: Failed to load ApplicationContext for [MergedContextConfiguration@41120e48 testClass = com.mkim.portfolio.domain.repository.ExperienceRepositoryTest, locations = [], classes = [com.mkim.portfolio.PortfolioApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.OverrideAutoConfigurationContextCustomizerFactory$DisableAutoConfigurationContextCustomizer@15bb5034, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.filter.TypeExcludeFiltersContextCustomizer@34be3d80, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@854e4b26, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@7a35b0f5, [ImportsContextCustomizer@165a5979 key = [org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration, org.springframework.boot.autoconfigure.data.jpa.JpaRepositoriesAutoConfiguration, org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManagerAutoConfiguration, org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration, org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration, org.springframework.boot.autoconfigure.sql.init.SqlInitializationAutoConfiguration, org.springframework.boot.test.autoconfigure.jdbc.TestDatabaseAutoConfiguration, org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration, org.springframework.boot.autoconfigure.liquibase.LiquibaseAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.JdbcClientAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration]], org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@7bd7d6d6, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@2a8448fa, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.context.SpringBootTestAnnotation@4d8dfd98], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] @Autowired 도 잘 넣은듯한데 왜 해당 에러가 발생하는지를 파악을 못하고 있습니다...test를 하려하는 타겟 레포지토리도 하위 경로에 잘 존재합니다.interface ExperienceRepository : JpaRepository<Experience, Long> { fun findAllByIsActive(isActive: Boolean): List<Experience> }현재 플러그인과 디펜던시는 아래와 같습니다.plugins { id("org.springframework.boot") version "3.3.0" id("io.spring.dependency-management") version "1.1.5" kotlin("plugin.jpa") version "1.9.24" kotlin("jvm") version "1.9.24" kotlin("plugin.spring") version "1.9.24" } dependencies { implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-thymeleaf") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") runtimeOnly("com.h2database:h2") runtimeOnly("com.mysql:mysql-connector-j") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testRuntimeOnly("org.junit.platform:junit-platform-launcher") }제가 확인해야할 부분을 잘 못찾고 있는듯합니다... 혹시 제가 놓치는 부분이 있을까요?
-
미해결2시간으로 끝내는 코루틴
Job 질문이 있습니다
이전 강의 설명에서 아래의 코드가 실행될 때 launch로 만든 코루틴이 바로 실행되지 않고 다음 코드로 넘어간다고 했는데fun main(): Unit = runBlocking { println("START") launch { newRoutine() } println("END") }왜 아래의 코드에서는 job 객체를 변수에 담으면 다음 코드로 넘어가는게 아니라 바로 실행이 되는건가요?fun main(): Unit = runBlocking { val job = launch { (1..5).forEach { printWithThread(it) delay(500) } } delay(1_000L) job.cancel() }
-
미해결모던 안드로이드 - Jetpack Compose 입문
이젠 아래와 같은 오류가 뜨는데 KSP가 문제 인걸까요?
파랑색 둘다 해봤는데 이유를 못 찾겠네요 ㅠㅠ
-
미해결모던 안드로이드 - Jetpack Compose 입문
영상 1분쯤에서 MainActivity에서 viewModel이 저는 안되고 그래들 문제인거 같은데 해결 방법을 모르겠습니다.
깃허브에 있는걸 복붙하면 viewModel 부분에서 맨 아래와 같이 오류가 발생해서 맨 위에있는건 https://developer.android.com/codelabs/basic-android-kotlin-training-viewmodel?hl=ko#3이 링크에서 implementation 하라고 하는걸 넣은 것이고 가운데는 첫번째를 2번째와 같이 변경하라는 추천해서 변경된 내용을 넣은겁니다.저기서 compose로 끝나는게 그래들이 안되서 MainActivity에서의 viewModel도 영상과 달리 아래처럼만 되어 있는데 해결방법을 전혀 모르겠습니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
bts앱 MainActivity.kt 부분 질문드립니다
package com.example.bts_lecture import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.tooling.preview.Preview import com.example.bts_lecture.ui.theme.Bts_lectureTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { Bts_lectureTheme { Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding -> Greeting( name = "Android", modifier = Modifier.padding(innerPadding) ) } } } } } @Composable fun Greeting(name: String, modifier: Modifier = Modifier) { Text( text = "Hello $name!", modifier = modifier ) } @Preview(showBackground = true) @Composable fun GreetingPreview() { Bts_lectureTheme { Greeting("Android") } }여기서 어디를 지워야할지 모르겠습니다
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
자막켜기가 안되요 ㅜ.ㅜ
자막 켜기를 누르면 오류가 발생합니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
리사이클러뷰, 그리드레이아웃 오류
개발자님 안녕하세요! 바로 어제 질문하기 게시판에 리사이클러뷰, 그리드레이아웃매니저 오류 관련해서 질문 남겼습니다. 전체 코드를 첨부하면 더 좋을 것 같아서 다시 질문하기 남깁니다. 감사합니다.https://drive.google.com/drive/folders/1RKYQLjYsoZ50rcQbUq7xiJQdwPOhWdK9?usp=share_link rv.layoutManager = GridLayoutManager(this, 2) val items = ArrayList<ContentsModel>() items.add(ContentsModel("imageUrl1", "title1")) items.add(ContentsModel("imageUrl2", "title2")) items.add(ContentsModel("imageUrl3", "title3")) items.add(ContentsModel("imageUrl4", "title4")) val rvAdapter = ContentsRVAdapter(items) rv.adapter = rvAdapter 이 부분은 나름대로 해결해보려고 하다가 강의랑 다르게 순서를 바꿔놓았는데 변하는 건 없었습니다 ㅠ 어떻게 해결할 수 있는지 알려주시면 정말 큰 도움이 될 것 같습니다! 감사합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
랜덤함수
랜덤함수에서 Random.nextInt(1,7) 이렇게 해야 6주사위까지 뜰수있는것 같습니다.
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
리사이클러뷰 오류 해결 방법이 궁금합니다.
개발자님 안녕하세요. 안드로이드 커뮤니티 앱 만들기 섹션 4 팁 페이지 만들기 중 컨텐츠 리스트 만들기를 공부하고 있습니다. 공부하던 중 리사이클러뷰에 오류가 있어서 질문 남깁니다. 오류는 화면에 그리드의 개수만큼만 아이템이 뜹니다. 아이템을 4개를 넣어 놓았을 때, 그리드의 개수가 2개면 아이템 2개만, 그리드 개수가 3개면 아이템 3개만, 4개면 4개만 화면에 뜹니다. 그리드 개수가 5개면 4개만 뜹니다. 관련 코드 아래에 작성해 놓겠습니다. 검토해주시면 정말 감사하겠습니다. 혹시 전체 코드가 필요할 시 바로 구글드라이브로 전달해드리겠습니다!! 매번 감사드립니다.-ContentsListActivitypackage com.example.mysolelife.contentsList import android.os.Bundle import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.mysolelife.R class ContentsListActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_contents_list) val rv : RecyclerView = findViewById(R.id.rv) val items = ArrayList<ContentsModel>() items.add(ContentsModel("imageUrl1", "title1")) items.add(ContentsModel("imageUrl2", "title2")) items.add(ContentsModel("imageUrl3", "title3")) items.add(ContentsModel("imageUrl4", "title4")) val rvAdapter = ContentsRVAdapter(items) rv.adapter = rvAdapter rv.layoutManager = GridLayoutManager(this, 2) } }-ContentsModeldata class ContentsModel ( var title: String = "", val imageUrl : String = "" )-ContentsRVAdapterclass ContentsRVAdapter(val items : ArrayList<ContentsModel>) : RecyclerView.Adapter<ContentsRVAdapter.Viewholder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ContentsRVAdapter.Viewholder { val v = LayoutInflater.from(parent.context).inflate(R.layout.contents_rv_items, parent, false) return Viewholder(v) } override fun onBindViewHolder(holder: ContentsRVAdapter.Viewholder, position: Int) { holder.bindItems(items[position]) } override fun getItemCount(): Int { return items.size } inner class Viewholder(itemView : View) : RecyclerView.ViewHolder(itemView) { fun bindItems(item : ContentsModel){ val contentTitle = itemView.findViewById<TextView>(R.id.textarea) contentTitle.text = item.title } } }-activity_contents_list.xml<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".contentsList.ContentsListActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="카테고리 영역 텍스트" android:textSize="20sp" android:textStyle="bold" android:layout_marginTop="20dp" android:textColor="@color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="80dp"/> </androidx.constraintlayout.widget.ConstraintLayout>-contents_rv_items<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".contentsList.ContentsListActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="카테고리 영역 텍스트" android:textSize="20sp" android:textStyle="bold" android:layout_marginTop="20dp" android:textColor="@color/black" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <androidx.recyclerview.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginTop="80dp"/> </androidx.constraintlayout.widget.ConstraintLayout>
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
뷰 개발 - 테이블페이지 (삽입 Script)부분
안녕하세요. fragment-script-util.html을 작성하고 강의에서 보여주신것처럼 addDetail('detail')을 동작하는 버튼을 누르면 내용이 비어있는채로 아래에 창이 생기질 않네요. 콘솔에서 확인해보면TypeError: Cannot read properties of null (reading 'detail') at addDetail (experience:775:65) at HTMLButtonElement.onclick (experience:366:105)이 나타나고 콘솔로그를 찍어보면 데이터테이블 초기화가 안되고 있는것같습니다. 어떤부분을 점검해봐야할까요
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
firebase 스마트폰으로 연결이 안되는데 원인이 있을까요
https://github.com/nadazelda/androidKotlinStudy.git노트북에서 가상머신 띄우기엔 너무 느려서;;제 개인 핸드폰으로 실행하는데 firebase 연결이 안되고 있어요git에 소스 올려뒀습니다_ori가 강의자료고 mysololife 가 지금 제가 작성하는거에요
-
미해결[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)
현시점에서 알려주신 방법대로 서버키를 받는것이 안되는것같습니다
새로 알려주신 방법조차 되지 않네요 서버키를 받을수가 없습니다
-
미해결모던 안드로이드 - Jetpack Compose 입문
전자액자에서 영상과 깃허브의 내용이 달라서 영상을 다보고 깃허브 내용으로 돌려봤는데 권한요청부터가 안됩니다.
에뮬레이터에서는 정상 작동을 하는데제 핸드폰으로 돌리면 권한요청에서부터 안됩니다.SDK는 아래와 같이 되어있고 제 핸드폰은 버전 14인데 이게 문제일까요?namespace = "com.example.photoframe" compileSdk = 34 defaultConfig { applicationId = "com.example.photoframe" minSdk = 28 targetSdk = 34 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } }
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
팅김
선생님 혹시 제가 사진 띄우기하다가 다만들고 6번사진을 누르면 에물레이터가 팅기는 현상이있는데 왜그런지 알수있을까요? 혹시 제 파일을 보실수 있는 방법이있을까요?
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
한번만 도와주세
commit and push 하면 저는 자꾸 이게 뜨는데 구글링 해도 잘안되는데 혹시 방법이있을까요?
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
jdk 설정 질문
혹시 원래 jdk17이 깔려있었는데sdk 버전 이걸로 하면안되고 선생님이 올려주신 자료 jdk를 설치해서 zulu-17로 설정을 해야할까요?
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
window
window 사용자는 Dbeaver, Doker 설치를 그냥 구글에 쳐서 다운만 받아두면 되는건가요?자료에 있는 window 개발 환경 구성하기는 다 다운 했습니다.(인텔리제이, h2데이타베이스, jdk17)
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
강의 자료가 안보이고 압출풀기가 안됩니다.
커뮤니티에 글올라온거 보고 압축 풀려고하는데 압축풀기가 안된다고 합니다폴더 이름을 바꿔도 계속 안됩니다.wer05003@naver.com으로 보내주실수있나요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
오류
이 오류때문에 시작도 못하고있습니다ㅠ 해결법좀 알려주세요 ㅠ
-
미해결입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
[실습] 데이터베이스 초기화 에서 H2database포트가 8082 로 되어있는 문제
http://localhost:8082/login.jsp?jsessionid=c94509f47478b3f70298eba5b41775ac