영상이랑 똑같이 했는데 자꾸 문법이 틀렸데요. 소스코드 첨부합니다. package com.example.todolist.db; import androidx.room.Dao; import androidx.room.Delete; import androidx.room.Insert; import androidx.room.Query; @Dao public interface TodoDao { // get All @Query("SELECT * FROM TodoEntity") fun getAllTodo() : List<TodoEntity> @Insert fun insertTodo(todo : TodoEntity) @Delete fun deleteTodo(todo : TodoEntity) }
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
안녕하세요, 테스트코드 결과가 계속 실패되는데... 이유를 찾지 못하여 질문 드립니다. BeforeAll에서 projects를 디버그찍어 skills안의 skill확인 하면 제대로 들어간것이 보이는데, 테스트에 진입을 하면 skills가 0이 되는데... 다른 변수들은 다 들어가고 skills만 0이 되는 상황입니다... 어디서 부터 실수를 만든건지 파악이 안되어 도움을 요청드립니다. 아래 현재 문제가 있는 코드 남깁니다. Git 저장소
AddTodoActivity.kt에서 Appdatebase.getInstance(this)를 쓰라고 강의에 나와있는데 Appdatabase.getInstance를 쓰면 오류가 납니다. 그래서 코파일럿을 통해 문제점을 확인해보았는데 AppDatabase.appDatabase!!.getInstance(this)로 바꿔서 쓰라는 답변을 받았습니다 이렇게 써도 문제가 없는 건가요? AppDatabase.kt 와 AddTodoActivity.kt 파일을 보시고 제가 잘못되었다면 어느부분이 잘못되었는지 알려주시면 감사하겠습니다 이부분이 사용된 MainActivity에서도 db를 선언할때 유사하지만 다른 부분이 보여서 질문드립니다 AddTodoActivity.kt MainActivity.kt AppDatabase.kt
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
여기서 experience를 모델에서 못찾아서?? experience.startYearMonth 등 인식이 안되는것 같습니다. cannot resolve라고 뜹니다. 혹시 제가 컨트롤러라든지 DTO라든지 잘못적고 놓쳤나보다 하고 봤는데 왜 안되는지 못찾겠습니다. 한번 확인 가능할까요? 컨트롤러 서비스 DTO 데이터 초기화 이렇게 타임리프 적용이 안될 떄는 어떻게 찾는게 좋은 방법일까요?
컬렉션 부분을 배우면서 한가지 이상한 점이 생겨서 질문드립니다. 강의 초반 var / val의 차이점을 알려주시면서 읽기, 쓰기 가능 혹은 읽기만 가능 이라고 알려주셨는데 val로 List을 만들면 당연히 각각의 변수의 값을 바꿀 수 없는 거 아닌가 싶어서요 또, val로 만든 List가 mutable을 붙이면 값이 변화할수 있다는게 조금 이해가 되지 않습니다 추정을 조금 해보자면 List을 만들면 List자체가 하나의 변수가 되어 val { } 안에 들어있는 값을 읽어오고 그 값을 List에 새롭게 저장하는 방식인가요? 만약에 그런 방식이 아니라면 이해가 되지 않는 부분입니다 반대로 생각하면 var로 선언한 변수들로 immutableList를 만들었을때 값이 변화가 안되는건가요?
사진들의 id 를 각각 activity 의 xml 파일이 아닌 activity_main.xml 에 저장하는 이유가 MainActivity 에 있는 코드 중 findViewById<ImageView>( R.id .btsImage1) 에서 ImageView 는 activity_main.xml 에 있는 ImageView 를 의미하기 때문이라고 이해한 게 맞게 이해한건지 여쭤보고 싶습니다!
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
코드를 제가 잘 이해하고 따라가는지 궁금합니다. 질문1 리포지토리에서 활성화가 되어있는 프로젝트만 가져와서 projects에 리스트 형태로 넣어서 다시 ProjectDTO 형태로 넣어서 컨트롤러에서 처리하게끔 해주는건가요? 질문2 여기서 제가 이해한게 맞다면 return 할떄 projects.map 을 왜 이용하는건가요? map은 키와 값으로 이루어 져있는 배열로 알고있는데 ProjectDTO가 키와 값으로 이루어져서 그런건가요? 질문3 ProjectDTO(it) 여기서 말하는 it은 무엇을 의미하는지 알수있나요?
입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
안녕하세요. 강의노트와 강의를 보면서 수정해 보았는데 resume에서만 test가 실패합니다. 제가 보기엔 resume가 JSON이 null이라서 그런것 같은데 어느 부분을 봐야할지 모르겠습니다. Datainitiallizer.kt를 봐도 잘 안보이네요. 아래는 에러 메세지와 코드입니다. java.lang.NullPointerException: Cannot invoke "org.json.JSONArray.length()" because the return value of "org.json.JSONObject.optJSONArray(String)" is null at com.dogu.portfolio.presentation.controller.PresentationApiControllerTest.testGetResume(PresentationApiControllerTest.kt:66) at java.base/java.lang.reflect.Method.invoke(Method.java:569) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) at java.base/java.util.ArrayList.forEach(ArrayList.java:1511) @Test @DisplayName("resume") fun testGetResume() { //given val uri = "/api/v1/resume" //when val mvcResult = performGet(uri) val contentAsString = mvcResult.response.getContentAsString(StandardCharsets.UTF_8) val jsonObject = JSONObject(contentAsString) //then Assertions.assertThat(jsonObject.optJSONArray("experiences").length()).isPositive() Assertions.assertThat(jsonObject.optJSONArray("achievements").length()).isPositive() Assertions.assertThat(jsonObject.optJSONArray("skills").length()).isPositive() }