Etc (8) 썸네일형 리스트형 LazyColumn의 items 안의 데이터가 갱신되지 않아요 LazyColumn의 items()는 아이템의 리스트를 인수로 전달받습니다. 아이템이 변경되면 당연히 items() 내부의 코드 블럭은 재구성되지만, 해당 코드 블럭 내부에서 remember()을 통해 값을 보존할 경우 재구성되지 않아요. 따라서 값을 보존할 필요가 없다면 remember을 없애고, 보존해야 한다면 remember()을 통해 초기화한 후, LaunchedEffect를 통해 데이터를 직접 업데이트해야 합니다. Ex. (잘못된 예시) 아래와 같이 작성된 코드에서는 화면을 스크롤해서 LazyColumn의 index가 0에서 1으로 바뀌었을 때 numberOfSubscibers는 200만에서 50만으로 갱신되지만, nickname은 "안산83"에서 "양말 아저씨"로 갱신되지 않습니다 val yo.. Software Maestro 14기 회고 (예비 연수생분들을 위한 글) Software Maestro를 준비하며 초조해하던 게 어제같은데, 어느새 프로젝트가 끝나버렸네요 😊 그간의 여정을 정리할겸, 과거의 제가 알았더라면 좋았을 내용을 글로 정리하려고 합니다! 이 글에서는 1. Software Maestro가 뭔가요? 2. Software Maestro에서 실패하지 않는 방법 3. Software Maestro에서 성공하는 방법 의 순서로 글을 쓰려고 해요. 1. Software Maestro가 뭔가요? Software Maestro는 이름 그대로 SW 분야를 선도할 인재를 양성하는 교육 프로그램임과 동시에 Pinkpong, Delightroom 등의 유망 기업의 창업자를 배출한 창의·도전형 프로젝트입니다. SW마에스트로 교육 프로그램 SWM 과정소개 창의력과 재능을 겸비한.. 소마? 소소하게 마무리하기. 23년 4월 5일 수요일. 김종찬 멘토님의 「소프트웨어 엔지니어의 이력 관리」 멘토링을 들었다. 이력서를 어떻게 써야 하는지, 더 자세히는 좋은 이력서를 쓰기 위해 어떤 이력을 쌓아야 하는지에 대한 멘토링이었다. [느낀 점] 1. 프로젝트의 끝은 배포가 유저 피드백과 리팩토링까지. - 현업에서 프라덕트를 아예 밑바닥부터 담당하는 경우는 드물다. 대부분은 "달리는 기차의 바퀴를 갈아끼우기"이다. - 소소하게 마무리하고, 빠르게 개선하자. 2. 팀원들과 사이 좋게 지내자! 생각보다 쉽지 않다. 3. 프로젝트 설계에 공을 들이자. - 기술 선택에 대한 트레이드 오프 고려해보기 - 구체적이고 수치로 확인할 수 있는 목표를 설정하기 (설계할 때 목표치를 어떻게 확인할지도 계획해야 한다) 4. (취업을 고려한다면).. Retrofit으로 통신할 때 LocalDateTime 타입이 전달되지 않아요 LocalDateTime 타입을 그대로 이용하면서 해결하는 방법은 찾지 못했다. 그 대신 해당 데이터를 String 타입으로 바꾸고, @JsonFormat(shape = "String", pattern = "yyyy-MM-dd") 와 같은 형식으로 데이터를 전송하면 SpringBoot에서 데이터를 LocalDateTime 타입으로 받는다. 해당 데이터를 LocalDateTime 타입에서 String 타입으로 바꾸기 위해서 내부 코드를 모두 변경할 필요는 없다. 1. 모델 객체의 생성자에서 LocalDateTime 타입으로 입력받은 데이터를 String 타입으로 변환하여 저장하고, 2. 모델 객체에서 해당 데이터의 getter가 String 타입의 데이터를 LocalDateTime으로 변환한 후 반환하도록.. Set가 같은 객체를 중복으로 저장해요 Set는 요소를 중복해서 저장하지 않지만, 객체의 경우 객체의 주소를 저장하기 때문에 모든 인스턴스가 같은 값을 가져도 같은 객체로 취급되지 않고 중복해서 저장된다. PS. Kotlin에서는 객체를 == 연산자로 비교하면 자동으로 모든 인스턴스가 같은 값을 갖는 지를 비교한다고 한다. Kotlin 만세! Spinnner에 Adapter 등록할 때 자동으로 아이템이 클릭되지 않도록 할 수 없나요? 내부적으로 해결하는 방법은 찾지 못했다. boolean isSpinnerClickedAlready = false 와 같이 플래그를 설정하고, OnItemSelectedListener에서 해당 플래그를 true로 설정하자. View.weight이 제대로 설정되지 않아요 같은 LayoutParam을 여러 View에 돌려쓰면 weight을 비롯한 여러 속성이 제대로 동작하지 않는다. 각각의 View에 각각의 LayoutParam을 설정하자. RadioButton.setChecked() 메소드가 먹지 않아요 RadioButton.setChecked(false) 대신에 RadioGroup.clearCheck() 를 씁니다. 이전 1 다음