묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
안드로이드 스튜디오와 협업
현재 학부생 3학년으로 안드로이드 앱 개발 팀프로젝트를 진행중입니다.클라이언트 친구가 하는말이"회원고유번호를 카카오에서 프론트에게 주고, 프론트에서 그걸 백으로 전달해준다.백은 그냥 내가 준 고유번호만 가지고 jwt토큰으로 만들어서 반환해달라"라고 말하는데, 그러면 강의대로 섹션9를 다 수행하고나서, 섹션9의 카카오 토큰 발급 구현(1),(2)빼고카카오에서 플랫폼만 웹에서 안드로이드로 변경하면 되는건가요?제가 이해한게 맞다면 프론트(android studio)에서 인증, 인가를 받아 사용자 정보를 받아오고,백엔드(Spring boot)에서는 단순히 /join 을 통해 프론트에서 넘겨준 User 데이터를 password와 함께 저장하는것 같습니다.이 때, JWT 토큰을 발행해서 프론트에 넘겨주는것 같구요.그리고 소셜로그인(6)까지 진행중인데,ERROR 15266 --- [nio-8080-exec-1] c.a.global.error.GlobalExceptionHandler : Exception포스트로 value값을 보내면 위와같은 에러가 뜹니다...그래서 첨부터 다시 쭉 보는데, (5)부분에서 했던 것도 똑같은 에러가 뜨더라고요... 뭐가 문제인지...ㅜ스프링 첨배워가면서 하고있는데, 미치겠습니다..ㅠ
-
미해결실전! Querydsl
JPQL vs QueryDSL
JPQL 보다 QueryDSL 사용하는게 좀더 오류를 빨리 잡을 수 있어서 QueryDSL을 사용하는게 더 좋을 것 같은데, QueryDSL 보다 JPQL이 유용한 경우가 있을까요?
-
미해결모던 안드로이드 - Jetpack Compose 입문
빨간줄 너무많아요 ******
너무 많아서 ㅎ
-
해결됨실전 프로젝트로 배우는 데이터 앱 만들기 with Python & Streamlit
theme 적용이 되지 않습니다.
theme 적용시, 강사님께서 말씀해주신 것처럼작업 폴더에 .streamlit 폴더를 만들고, 그 안에 config.toml 파일을 만들어 테마 적용을 했지만, 아래의 문구가 발생하며, 태마가 적용이 되지 않습니다. The page that you have requested does not seem to exist. Running the app's main page.어떤 이유 인지 알려주세요.
-
해결됨독하게 시작하는 C 프로그래밍
강의 "16진수가 표기가 사용되는 예"에서 8:35
안녕하세요 유투브에서 알게 되어서 강의구매까지 한 전진호입니다.메모리 화면에서 64bit를 설명하시고, 16바이트를 계산하셨는데, 저 바이트 코드가 왜 적힌 것이고, 어떤 의미인지 궁금합니다.
-
미해결
블렌더 렌더링 질문이요
블렌더 애니메이션 렌더링을 진행중인데,,, 렌더링이 카메라 화면을 비추고 있는 것 같지 않아요ㅠㅠ 분명 카메라 애니메이션은이렇게 작업을 해두었는데,렌더링만 시작하면이렇게 이상한 부분으로만 렌더링이 됩니다ㅠㅠ 왜 이런 건지 아무리 찾아봐도 도통 안나와서 질문드립니다,,,
-
미해결실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD
POJO 상품 등록 기능 구현하기 강의 질문
안녕하세요.POJO 상품 등록 기능 구현하기 강의의3:58 에서 throw new UnsupportedOperationException("Unsupported addProduct");가 제안으로 바로 뜬 이유를 여쭙니다..!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
스칼라 타입 영속성 컨텍스트
엔티티 프로젝션은 영속성 컨텍스트에서 관리되고, 임베디드 타입 프로젝션은 영속성 컨텍스트에서 관리되지 않는데, 그러면 스칼라 타입은 영속성 컨텍스트에서 관리되는건가요? 관리되지 않는건가요?
-
해결됨친절한 블렌더 - [LV.1] 기초 모델링
화분 Origin과 Plane Origin이 같아요
-8:08, 화분에 가운데에 맞춰 Plane도 정확히 화분 가운데에 위치해서, 모양을 만들 수가 없어요.
-
해결됨실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
Spring Validation 의 @field:NotBlank 등으로 Request DTO 필드 검증 시, 필드타입 선언방식( non-null or nullable )
안녕하세요 강사님. 참 좋은 강의 감사드립니다.예제 고도화 과정에 Request DTO nullable 필드 처리에 어떤 방식이 적절할 지 알수 없어 남기게 되었습니다.Kotlin 객체 필드타입을 크게 두 방식으로 선언 할 수 있습니다.nullablenon-null코프링 기반에서 Request DTO 의 경우,객체필드를non-null 타입으로 선언하면 WebMvc 와 spring-validation 을 함께 사용하면, 발생 가능한 가설을 세워보았습니다.문제:서버 요청에 '비 유효값'`[공백문자["", ' '], null 필드값, 공백 JSON( {} )]`이 넘어올 때, Kotlin 언어의 non-null 타입 속성은, sprint-validation 절차를 거치지 못함. 원인:1. 속성 타입을 non-null 타입 선언 후 컴파일 시 Intrinsics.checkNotNullParameter(field, "field"); 함수가 non-null 검증코드로 DTO 생성자 함수 본체에 추가.2. 앞선 checkNotNullParameter 함수는 DTO 생성을 원천 차단.3. 때문에 Kotlin non-null 검증이 spring-validation 검증 이전에 수행됨을 뜻함. 즉, 검증 대상이 생성이 되어야 spring-validation 절차를 거칠텐데, 검증 대상이 없는 상황이 된다.(이 부분은 저의 뇌피셜이 포함되었으므로 검증되지 못한 분석결과 입니다) 이 문제에 대해 다음의 해결 방법을 생각할 수 있습니다.field 타입을 nullable 하게 선언, 기본값 null 설정data class UserCreateRequest( @param:JsonProperty("email") @field:NotBlank @field:Email val email: String? = null, ⬅️`?`및 기본값 설정 ) { fun toCommand() = UserCreate( /* String ❌ String? 미스매치 */ email = email!!, ✅단언 해결 ) }이 방법은 단언 !! 을 사용하여 전적으로 spring-validation 의 검증에 전적으로 의지하는 코드입니다.의문점은 개인적으로 우아하지 못한 단언 !! 을 꼭 사용해야 할까? 인데요, 다른 방법으로는,Backing 필드 생성자 선언 ➡️ 커스텀 getter 로 Backing 필드값 반환이 떠오르는데요, 이것 또한 보일러-플레이트 코드량이 늘어나서 우아하지 않아 보입니다^^;강사님의 경우에는 어떠한 해결방법을 사용하지는지 궁금해서 질문 남겨보았습니다.읽어 주셔서 감사합니다.
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
pip install - beautifulsoup4 인스톨 과정의 문제
설명해주신대로 beautifulsoup4를 인스톨했습니다. 그 후 web 페이지에 있는 예제대로 아래와 같이 실행하려고 했습니다.from bs4 import BeautifulSoup soup = BeautifulSoup("<p>Some<b>bad<i>HTML") print(soup.prettify()) 그랬더니 bs4 라는 모듈을 찾을 수 없다고 나옵니다. pip 에 bs4 라는 모듈이 있는지 찾아보았더니 2016년에 게시된 것이 있고 dummy 라고 설명이 되어 있습니다. 이 문제를 어떻게 해결할 수 있을까요?
-
미해결그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
volumeClaimTemplates의 독립적 저장 특성
[질문 하기]gouplife 님이 이전에 질문했던 사항이긴 한데 아무리 읽어 봐도 현재 저의 지식으로는 이해하기 힘들어 다시 질문 드려요ㅜ 먼저 제가 이해한 내용을 말씀드리면 기존 디플로이먼트나 파드는 상태를 저장하지 않기 때문에 단순히 PVC를 StorageClass에 클레임하여 PV를 받아 모든 파드들이 동일한 PV?에 저장을 한다 하지만 Statefulset을 사용할 경우 상태를 저장하는 특성 때문에 volumeclaimtemplates라는 옵션을 사용할 수 있는데 이는 각각의 POD들 마다 고유한 PV를 가지게 된다 즉, pod 혼자 하나의 PV를 사용한다 저는 위와 같이 이해를 하였습니다. 그래서 sts-0이라는 파드에 접속을 하여 아래와 같이 ttt라는 파일을 만들었습니다 [root@m-k8s 5.7]# k exec sts-0 -it -- /bin/bashroot@sts-0:/# cd backup_data/root@sts-0:/backup_data# touch tttroot@sts-0:/backup_data# lsttt volumeclaimtemplates는 pod들 마다 다른 pv를 사용하기에 다른 pod들에 접속을 하면 방금 sts-0에 만든 ttt파일은 없어야 되지 않나 생각했습니다 하지만 sts-1 pod에 접속을 하여 확인을 해보니 ttt 파일이 있었습니다[root@m-k8s 5.7]# k exec sts-1 -it -- /bin/bashroot@sts-1:/# cd backup_data/root@sts-1:/backup_data# lsttt그래서 궁금한 점이 아래와 같아요! volumeclaimtemplates는 pod 마다 독립적인 공간을 사용한다는 게 서로 다른 볼륨에 저장을 한다는 뜻이 아닐까요? 서로 다른 볼륨에 저장을 하는 게 아니라면 volumeclaimtemplates을 사용하는 이유가 있을까요?
-
해결됨2시간으로 끝내는 코루틴
코루틴과 스레드로컬 동시 사용은 실무에서 지양되나요?
공식문서에서 asContextElement 메소드 등을 통해 서로 다른 스레드에 할당되는 코루틴들이 동일한 스레드 로컬을 바라볼 수 있는 기능이 제공된다는 것은 확인했습니다 그런데 웹상에서나 사내 코드상에서나 사용되는 케이스가 별로 없네요.. 혹시 강사님은 많이 사용하시나요? 🙋🏿♂️(전 코루틴 컨텍스트를 통해 부모 자식간에 데이터를 공유할줄 알았는데 아닌가보네요..)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
다시 돌아왔습니다
7월에 떨어지고 12월 빅분기 실기 시험 땜에 다시 왔습니다 ㅠㅠ 이번에는 합격할 수 있도록 노력하겠습니다 ㅠㅠ
-
미해결Practical Testing: 실용적인 테스트 가이드
주문한 상품 개수만큼 Stock을 감소시키는 로직
안녕하십니까! 저의 경우는 해당 로직을 stockRepository.findByProductNumberIn()이 아니라,일일이 재고와 관련된 ProductNumber에 대하여 stockRepository.findByProductNumber()로조회하여 decreaseQuantity()를 수행하였습니다. 그렇게 하여도, 동일 Stock의 경우 EntityManager에서 조회해오기 때문에 중복된 쿼리가 나가지 않아 어느정도의 성능 감소를 막을 수 있다고 판단하였고, (물론 In절로 한꺼번에 가져오는것 보단 성능이 덜 나올 것 같습니다)그대신에 , 로직이 직관적이라는 장점이 있을 것 같아서 위와 같이 해당 로직을 작성하였습니다. 이에 대해서는 어떻게 생각하시는지 의견 남겨주시면 감사하겠습니다!
-
미해결[유니티6] 따라하면서 배우는 고박사의 유니티 하이퍼캐주얼게임 시리즈 01
Object를 유니티에서 직접 설정하는것과 파라미터로 전달하는것의 차이가 있나요
ZIGZAG 추가구현 4분30초경gameController를 Item.SetUp의 파라미터로 전달하는 부분이 있습니다.Item오브젝트의 Item컴포넌트에 GameController를 직접 집어넣어두지않고 파라미터로 전달하는 이유가 궁금합니다.
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
type 'Null' is not a subtype of type 'List<dynamic>' in type cast
섹션 11 > Pagination 일반화하기 > RatingsPagination 렌더링하기 수강 중인데 "type 'Null' is not a subtype of type 'List<dynamic>' in type cast"라서 RatingCard가 나오지 않는데 어디서 부터 확인해야할 지 모르겠습니다... ㅠㅠflutter: [RES] [GET] http://127.0.0.1:3000/restaurant/5ac83bfb-f2b5-55f4-be3c-564be3f01a5b/rating/?count=20flutter: type 'Null' is not a subtype of type 'List<dynamic>' in type castflutter: #0 $RatingModelFromJson (package:actual/rating/model/ratingmodel.g.dart:14:62)#1 new RatingModel.fromJson (package:actual/rating/model/rating_model.dart:27:62)#2 RestaurantRatingRepository.paginate.<anonymous closure> (package:actual/restaurant/repository/restaurantrating_repository.g.dart:46:29)#3 MappedListIterable.elementAt (dart:_internal/iterable.dart:415:31)#4 ListIterator.moveNext (dart:_internal/iterable.dart:344:26)#5 new GrowableList.ofEfficientLengthIterable (dart:core-patch/growable_array.dart:189:27)#6 new GrowableList.of (dart:core-patch/growablearray.dart:150:28)#7 new List.of (dart:core-patch/array_patch.dart:47:28)#8 ListIterable.toList (dart:_internal/iterable.dart:214:7)#9 $CursorPaginationModelFromJson (package:actual/common/model/cursorpagination_model.g.dart:15:60)#10 new CursorPaginationModel.fromJson (package:actual/common/model/cursor_pagination_model.dart:44:108)#11 _RestaurantRatin<…>flutter: Instance of 'CursorPaginationModelError'
-
미해결Practical Testing: 실용적인 테스트 가이드
요청값으로 넘어온 productNumber의 Product가 재고와 관련있는 상품인지 확인하는 로직 질문
안녕하세요! 강의에서는 해당 로직을 ProductType이 BOTTLE이나 BAKERY인 경우에 한하여 true가 되도록 containsStockType() 메소드를 작성하여 판별 해주셨습니다!혹시 이 경우를 stockRepository.existsByProductNumber() 를 호출하여,재고가 있는 상품들만 필터링 해내는 로직으로 작성하게 되면,주문 상품수가 많을 경우 쿼리가 여러번 나가기 때문에 비효율적이어서,요구사항에 따른 검증 로직을 작성하셨는지 여쭙고 싶습니다!
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
레디스에서 락이 필요한 상황에 대하여
안녕하세요, 강의를 보고 공부를하다 궁금한 점이 생겨 질문드립니다.제가 예측한 강의 내용으로는, "경쟁 상태 예시(재고 수량)에 대하여 레디스 를 활용한다." 라고 예측 했습니다.이에 대하여, "레디스는 싱글 스레드 기반이니깐, 락킹 없이 해당 작업이 가능할 것" 이라고 추측하였는데요, 그러나 제가 생각지 못한 레디스 lock 과 관련된 내용을 접하게 되어 신기하면서도 또 궁금한 부분이 생겨 질문드립니다. 레디스 락 전략이 사용되는 이유와 예시를 조금더 들어볼 수 있을까요? 혹은 이와 관련하여 추가적으로 공부해볼 수 있는 자료를추천해주시면 감사하겠습니다.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
소스코드 문의
안녕하세요, 강사님!코드를 치는데 시간이 너무 오래 걸리는데,혹시 소스코드는 제공이 안되는 건가요?