묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
dto에 대해 질문하고 싶습니다
스프링 부트로 RestAPI를 개발하고 있습니다.한가지 질문하고 싶은게 있습니다.리퀘스트로 받을 수 있는 값은 정해져 있지만 json에는 변경되는 값만 들어있습니다.json의 null을 별도의 값으로 간주하고 있어서null일 경우의 처리와 값이 존재하지 않을 경우(undefined) 처리가 분리되어 있습니다. 이런 경우에 깔끔하게 해결할 수 있는 방법이 있을까요?? 예를 들어서 아래와 같은 리퀘스트를 받는 경우에class StudentDto { String name; (필수값) String age; String hobby;} JSON은 다음의 3 경우가 있습니다.{ "name": "hong gil-dong", "age": 20, "hobby": "도둑질"}위 경우 모든 값이 들어오기 때문에 그냥 세이브나 업데이트를 하면 됩니다.{ "name": "hong gil-dong", "age": 20}위 경우 hobby 필드가 없기 때문에 hobby는 db의 값을 그대로 유지합니다.{ "name": "hong gil-dong", "age": 20, "hobby": null}위 경우 모든 필드를 세이브나 업데이트 합니다. (hobby는 null을 넣음)문제는 이때 undefined일 경우 처리하는 로직과, null 일 경우 처리하는 로직이 분리되어 있습니다.현재 사용하고 있는 방법은 setter는 값이 있을 경우(null도 해당)에만 움직인다는 점을 이용해서class StudentDto { String name; String age; String hobby; boolean hasName; boolean hasAge; boolean hasHobby; public void setHasHobby() { this.hobby = hobby; this.hasHobby = true; }} 이런식으로 리퀘스트 오브젝트 내에 세터를 둔 다음if (studentRequest.getHasHobby()) { ... }이렇게 조건으로 체크하고 있습니다... 안좋은 처리인 줄은 알지만 이렇게 만들어져 있어서 어쩔 수 없네요... 이런 경우 깔끔한 해결 방법이 있을까요? dto 대신 Map<String, Object> 를 사용하면 비슷하게 처리가 될 것 같은데문제가 있을 것 같아서 dto나 라이브러리 등으로 해결할 수 있는지 알고 싶습니다감사합니다
-
해결됨FreeRTOS 프로그래밍
[질문/해결완료] configUSE_IDLE_HOOK 를 1로 설정하고 동작 시 BusFault exception 발생
test시 code는 아래와 같이 수정하였습니다.freertosconfig.h에서 configUSE_IDLE_HOOK를 1로 설정각 task마다, 각 task에 할당된 전역변수를 1씩 증가vApplicationIdleHook에서 task별 증가된 전역변수값 출력디버깅을 위해서 exception hander를 모두 enable (control.shcsr [18:16] = 0x7 로 설정) 하고 test 결과.busfault exception이 발생하였습니다.vApplicationIdleHook() 수정상황UART 상황: task1~3값은 0이고 idle task에서만 count 증가한 것처럼 출력니다. reset 하고 동작시에도 항상 고정적인 위치 (Idle task에서 증가한 변수가 180인 시점) 에서 발생합니다. (재현 100%)해당 시점의 register 상황입니다. lr이 0xfffffff1로 보아 exception 처리 중 busfault exception이 발생한 듯 보입니다만 추가적인 stack 분석은 능력 밖이네요.fflush 등의 uart 처리가 상대적으로 느려서 뭔가 문제가 발생하는 걸까요? 타 환경에서라도 test 부탁드립니다.
-
미해결입문자를 위한 자바스크립트 기초 강의
삼항 연산에서 질문
이런 오류가 납니다..오타가 있는지 몇번이나 점검했습니다..
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
파일 소스코드 그대로 복붙해도 오류떠요 ㅜㅜ
package com.bokchi.twice import android.content.Intent import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.Handler import com.example.twice.MainActivity import com.example.twice.R @Suppress("DEPRECATION") class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash) Handler().postDelayed({ startActivity(Intent(this, MainActivity::class.java)) finish() }, 3000) } }
-
미해결스프링 핵심 원리 - 기본편
클라이언트가 뭔가요?
강의 "관심사의 분리" 17분 정도에서'클라이언트인 memberServiceImpl 입장에서 보면' 이라고 하셨는데예전 "주문과 할인 도메인 설계" 강의에서 클라이언트는 main, controller 등에 해당하고, 클라이언트는 주문 서비스에 주문 생성을 요청하는 것이라고 했습니다. 그래서, memberServiceImpl은 그냥 주문 서비스 구현체 아닌가 생각됩니다.주문 생성을 요청하는 것(사람?)은 따로 있고, 이는 MemberApp, OrderApp이 아닌가 생각됩니다. 정확히 클라이언트가 무엇인지 모르겠습니다.현재 프로젝트에서 클라이언트가 어떤 파일이고, 어떤 역할을 하는지 궁금합니다.또한 클라이언트가 있으면 서버는 누군지 궁금합니다.또한 백엔드 개발은 서버 프로그래밍으로 알고 있는데, 클라이언트가 왜 여기 존재하는지도 잘 모르겠습니다.마지막으로 memberServiceImpl은 정말 클라이언트인지 궁금합니다.
-
해결됨빠르게 git - 핵심만 골라 배우는 Git/Github
로컬 브랜치 관련 질문합니다.
안녕하세요, git 로컬 저장소 브랜치 관련해 문의드립니다. STS에서 작업중이고로컬 저장소는 한개입니다브랜치 1 + α 이용해 아래와 같이 관리하려고 합니다브랜치 A : 서버와 같은 최신 상태로 유지하며 버그를 수정브랜치 B : 추가 개발 내용1 진행브랜치 C : 추가 개발 내용2 진행 위와 같이 작업이 가능한가요?각 브랜치에서 작업한 내용이 모두 동기화 돼서요...ㅠㅠ제가 제대로 이해를 못해서 불가능한 걸 하려고 하는 건지, 가능한데 방법이 잘못된 건지 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
JpaItemRepositoryV2 질문입니다
ItemService는 ItemRepository에 의존하고 있기 때문에 JpaItemRepositor2를 쓰면 소스를 다시 작성해야하기 때문에 새로운 구현체를 만들어야하므로 V2를 만들었다고 알고 있는데요 그러면 결국 JpaitemRepositoryV2 구현체를 만들 때 똑같이 소스를 작성해야돼서 조삼모사 아닌가요?? 어떤 장점이 있는지가 궁금합니다
-
해결됨FreeRTOS 프로그래밍
[질문/해결완료] configUSE_IDLE_HOOK를 1로 설정시 기존 task printf 문 동작 불가능
freertosconfig.h에서 configUSE_IDLE_HOOK를 1로 설정하면 vApplicationIdleHook() 정상적으로 호출되지만,기존 task에서 printf로 출력한 string이 uart를 통해서 출력되지 않습니다.기존 task1 및 2에 break point를 설정하고 동작시켜본 결과, task switching을 정상적으로 수행되는것은 확인했습니다.이유가 뭘까요?우측의 expression에는 각 task에서 1씩 증가한 전역변수 값인데 정상적으로 증가하면서 동작하고 있습니다.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
질문있습니다!
_postcard.html을 만들고 그대로 따라하고 나서부터갑자기 index.html 화면이 이상해져 질문남겼습니다! 코드들을 확인했을때 아무런 문제가 없는데 time_line_sidebar_user_follow.html 이 옆이 아닌 밑으로 가게됩니다 .. 혹시 이유가 있을까요? 아 추가로 저는 margin을 주어도 username이 프로필 사진과 떨어지지가 않는데 혹시 부트스트랩 version 5.x를 사용해서 그런건가요??
-
미해결도커 쓸 땐 필수! 도커 컴포즈
Volume 관련 질문 드립니다.
docker compose 에 postgres 이미지로 컨테이너를 올리고 volume을 마운트 하였습니다.그 뒤에 여러 테이블과 데이터를 저장했습니다.위의 과정은 제 로컬 피시에서 작업하였습니다.혹시, 위에서 저장한 데이터 다른 팀원들과 공유할 수 있는 방법이 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
3:50에서 요청하고서
로그인하기전에http://localhost:8080/session-info로 들어가면세션이 없습니다 라고 출력이 되어야하는데세션이 출력이됩니다. 개발자도구 켜서 쿠키삭제를해도새로고침을 하면 바로 생기면서 세션이 출력되고세션정보들이 나오는데 왜 생성이 되는걸까요?크롬 시크릿모드로 실행했었고 아예 껏다 킨다음에도 해보고서버도 재시작했었는데 로그인 안해도 세션이 자꾸 생기네요
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
@change, @click 이벤트 버블 (event Bubble)
강의를 다 들었지만 event Bubble에 관련하여 질의를 드립니다 ㅠㅠ<tr @clcick = "aa"> <td> <input type="checkbox" @change= "bb"> </td> </tr>이런구조에서... check박스를 클릭시 위에 click이벤트 발생이 되어....정상적으로 동작을 안합니다. .Stop , .Self등 다 써봤지만구조를 보면 @click일시 바로 반응하지만@change할경우 상태값이 변경돼을때 동작하는 원리인거같은데@change만 발생시킬수있는 방법이 있을까요???
-
미해결스프링 시큐리티
16:50 초 단축키가 어떻게되죠?
Choose Implement of ... 단축키가 어떻게되죠?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
한 문제당 얼마나 투자하는게 적절할까요?
이런 질문을 과선배에게도 해보고 현직자에게도 해보고 교수님에게도 해봤지만 정말 다양하더라구요..저같은 경우는 한문제가 아예 안풀리면 끝까지 못풀었던 경험이 누적된 기억이 있어서 그런지 길면 2시간정도 붙들고 안풀리면 해설을 보거나 구글링을 합니다만..이게 맞는지 잘 모르겠네요 ㅠ 제가 알고리즘쪽 머리는 진짜 안돌아가는거같아서요..강사님께서는 어떻게 하는게 실력향상에 가장 좋다고 생각하시나요? 아무래도 수많은 학생들의 코테를 가르치셨으니 여쭤봅니다
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
강의중 package.json 질문
안녕하세요 인강 열혈 청취자입니다. 문제없이 잘나가다가영상 4-4 Node.js 패키지 생성 및 외부 패키지 사용하기 편에서 5분20초 부분 package.json 설정에 "start" 삽입부분 입니다.start부분이 적용이 안되는것같습니다.
-
미해결[입문] Qt 6 프로그래밍 2편
Writing QML Extensions with C++ 내용에 대해서 질문드립니다!
안녕하세요!Writing QML Extensions with C++ 튜토리얼 공부 중 궁금한 점이 생겨서 질문드립니다.https://doc.qt.io/qt-5/qtqml-cppintegration-topic.html위 튜토리얼에서 QML_IMPORT_NAME 부분이 이해가 되지 않습니다. 이 부분을 사용자 임의로 붙여주는 것인지, 혹은 어디서 볼 수 있는지 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
AOP 예외 변환의 장점이 무엇인가요 ?
@Repository를 사용하면 예외 변환 AOP의 적용 대상이 된다는데이게 되면 장점이 무엇인가요 ??JPA예외가 스프링 예외로 바뀌면 뭐가 좋은 것인지 모르겠습니다 ㅠㅠ
-
미해결노래 들으며 실전 프로젝트로 안드로이드 최신 기술을 공부해 보자! - 이름 궁합 편
이건 어떤 오류인가요?
첫 실행후 메인으로 돌아와 2번째 실행할때 manfragment를 거치지 않고 바로 resultfragment로 가는현상이 있고 3번째 실행했을때는 다시 manfragment를 거친후 resultfragment 로 가는데 어디서 문제가 있는걸까요?
-
미해결입문자를 위한 자바스크립트 기초 강의
함수 3편 강의 듣고 질문 드립니다!!
함수 3편에서 설명 되었던 매개변수에 관련된 강의 내용 중 실습한 코드 문법 입니다.코드가 약간 좀 안맞는 부분이 있긴한데 그 문제 보다는 궁금한 것이 있어 질문 드립니다!sayAnything 함수 내 for문을 써서 i라는 변수를 넣어서 ++ 시키는건 이해 했는데어떻게 number의 인자가 i라고 인식하고 있는건가요?그러니까 i < number 일 때 i++ 인데, i가 어떻게 number의 매개 변수의 인자로 인식하는게어떤 로직으로 인해 실행되는 걸까요??
-
미해결앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해
GCD 프로젝트 iOS 16 실행 오류 문제
안녕하세요, 앨런 님. GCD 프로젝트의 iOS16 실행과 관련해 질문이 있어 글을 남겨봅니다.이번 Xcode 업데이트 이후, iOS16으로 설정된 iPhone 14, iPhone SE 3rd gen 등의 시뮬레이터는 물론, iOS16으로 업데이트 된 기기를 직접 연결해서 돌려보면 Collection View의 이미지가 정상적으로 로딩되지 않는 것 같습니다.아래에 1) 정상으로 작동하지 않는 iPhone 14Pro (16.0) 이미지와 2) 정상으로 작동하는 iPhone 12 (14.4) 이미지를 첨부하였습니다.혹시 이번 Xcode14와 iOS16으로 업데이트 되면서 Collection View 또는 Image View와 관련해서 변경된 사항이 있을까요?감사합니다. 덕분에 강의 잘 수강하고 있습니다 :)