묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
FK + 상수로 이루어진 조인
A 테이블에는A테이블의 PK 가 있고 B 테이블의 경우B 테이블 ID 컬럼(PK) , A테이블의 PK 값(FK) ,A테이블의 테이블명(상수)을 갖고있는 테이블이 있을때 A테이블과 B테이블과의 관계를엔티티 연관관계를 걸때 FK+A테이블의 테이블명(상수)(B테이블에는 FK+여러테이블명(A,C,D,E ...))으로 이루어진 다수의 ROW 존재 1줄로 요약하자면 FK + 상수 가 조인 조건일때이런경우 연관관계를 맺기 위한 정석적인 해결책이 있나요? 많은 구글링을 해보았지만1.https://stackoverflow.com/questions/28818511/jpa-hibernate-join-on-constant-value (@JoinColumnOrFormula)2.https://stackoverflow.com/questions/68341956/jpa-hibernate-how-to-define-custom-join-clause-on-entity(@JoinFormula)3.https://stackoverflow.com/questions/27945738/jpa-jointable-with-extra-join-conditions(@WhereJoinTable ) 4.https://stackoverflow.com/questions/30571450/jpa-many-to-one-with-constant-values-in-referenced-table@Where(clause=상수)5.혹은 연관관계를 맺지않고 별도쿼리로 처리 등등을 찾아보았지만맞는 방법이 무엇인지 잘 모르겠습니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
제로초님 우분투 서버 관리에 대해서 궁금한 점이 있습니다.
앞서 설명하실때 git을 사용함에 있어서 제가 작성한 프로젝트를 master라고 했을때 origin으로 설정된 제 깃 허브 주소로console : git push origin master를 했을때 오리진인 제 깃 허브에 master인 제가 작업중인 코드가 올라간다고 이해를 했습니다. 그렇다면 제가 수정을 할때마다 Modified라고 감시받고 있었는데 따로 계속 올려야 하는 건가요? 아니면 그냥 일정 시간마다 수정된 것을 감지하고 git이 git hub로 파일을 수정한 상태로 올려주는건가요? 그리고 우분투를 사용할때 git hub에서 clone으로 소스코드를 가져오셨는데 제가 깃 허브에 올라온 내용을 수정한 코드를 우분투에서는 계속해서 수정할수는 없는건가요? 혹여나 수정이 불가피하다면 우분투에 제 클론을 삭제하고 다시 깃허브에서 재클론해서 가져와야 하는 건가요?프로젝트를 가볍게 진행중인데 궁금점이 생겨서 질문 드립니다 감사합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
20강(문자열,리스트,조건문 활용2) 문제풀이 질문드립니다.
20강 문제 26, 27번 선생님 문제풀이에서는var = letters.find("n")라고 변수를 새로 만든 후 조건문을 사용하셨는데저는 아래와 같이 코드를 작성했습니다. (var 라는 변수를 생성 안하고 조건문에 바로 '.find' 를 사용)작성 후 실행해보면 정답은 동일하게 나오는데이렇게 작성하는 방법도 맞는걸까요?? letters = input()if letters.find("n") >= 1: print("n이 들어있습니다.")else: print("n이 안들어있습니다.") - 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
장고 어드민 로그인 오류
안녕하세요 선생님!다름이 아니라 제가 db를 sqlite에서 mysql로 변경후 python manage.py runserver 를 통해admin 사이트 로그인을 한후에 이런 오류가 뜨는데 무엇이 문제인지 잘 모르겠습니다.다시 db를 sqlite로 바꾼후에는 로그인이 잘 되는것을 확인하였습니다![24/Nov/2022 21:35:22] "POST /admin/login/?next=/admin/ HTTP/1.1" 500 175618[24/Nov/2022 21:35:23] "GET /admin/login/ HTTP/1.1" 200 2217Internal Server Error: /admin/login/Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\exception.py", line 55, in inner response = get_response(request) File "C:\ProgramData\Anaconda3\lib\site-packages\django\core\handlers\base.py", line 197, in getresponse response = wrapped_callback(request, callback_args, *callback_kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper return bound_method(*args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\decorators\cache.py", line 62, in wrappedview_func response = view_func(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\admin\sites.py", line 441, in login return LoginView.as_view(**defaults)(request) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\generic\base.py", line 103, in view return self.dispatch(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper return bound_method(*args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\decorators\debug.py", line 92, in sensitive_post_parameters_wrapper return view(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper return bound_method(*args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\decorators.py", line 133, in wrappedview response = view_func(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\utils\decorators.py", line 46, in _wrapper return bound_method(*args, **kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\decorators\cache.py", line 62, in wrappedview_func response = view_func(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\views.py", line 90, in dispatch return super().dispatch(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\generic\base.py", line 142, in dispatch return handler(request, args, *kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\generic\edit.py", line 152, in post if form.is_valid(): File "C:\ProgramData\Anaconda3\lib\site-packages\django\forms\forms.py", line 205, in is_valid return self.is_bound and not self.errors File "C:\ProgramData\Anaconda3\lib\site-packages\django\forms\forms.py", line 200, in errors self.full_clean() File "C:\ProgramData\Anaconda3\lib\site-packages\django\forms\forms.py", line 438, in full_clean self._clean_form() File "C:\ProgramData\Anaconda3\lib\site-packages\django\forms\forms.py", line 459, in cleanform cleaned_data = self.clean() File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\forms.py", line 217, in clean self.user_cache = authenticate( File "C:\ProgramData\Anaconda3\lib\site-packages\django\views\decorators\debug.py", line 42, in sensitive_variables_wrapper return func(*func_args, **func_kwargs) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\__init__.py", line 77, in authenticate user = backend.authenticate(request, **credentials) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\backends.py", line 52, in authenticate if user.check_password(password) and self.user_can_authenticate(user): File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\base_user.py", line 115, in check_password return check_password(raw_password, self.password, setter) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\hashers.py", line 57, in check_password must_update = hasher_changed or preferred.must_update(encoded) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\hashers.py", line 334, in must_update decoded = self.decode(encoded) File "C:\ProgramData\Anaconda3\lib\site-packages\django\contrib\auth\hashers.py", line 310, in decode algorithm, iterations, salt, hash = encoded.split("$", 3)ValueError: not enough values to unpack (expected 4, got 3)
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
예외가 throw됨: 쓰기 액세스 위반입니다. this->_data이(가) 0x1110112였습니다.
계속 제목과 같은 오류가 뜹니다 ㅠㅠ 살려주세요..#include <iostream> #include <vector> using namespace std; // vector를 만들어보자 template<typename T> class Vector { public: Vector() : _data(nullptr), _size(0), _capacity(0) { } ~Vector() { if (_data) delete[] _data; } // [ ] void push_back(const T& val) { if (_size == _capacity) { //증설 작업 int newCapacity = static_cast<int>(_capacity * 1.5); //실수에서 int로 변환하면 데이터가 잘릴수도있다 if (newCapacity == _capacity) newCapacity++; reserve(newCapacity); } // [1][2][3][] _data[_size] = val; //데이터 개수 증가 _size++; } void reserve(int capacity) { _capacity = capacity; T* newData = new T[_capacity]; //데이터 복사 for (int i = 0; i < _size; i++) { newData[i] = _data[i]; //기존에 있던 데이터를 날린다 if (_data) delete[] _data; // 교체 _data = newData; } } T& operator[](const int pos) { //레퍼런스로 만들어야 데이터를 넣을 수 있음 return _data[pos]; } int size() { return _size; } int capacity() { return _capacity; } private: T* _data; int _size; int _capacity; }; int main() { Vector<int> v; //v.reserve(100); for (int i = 0; i < 100; i++) { v.push_back(i); cout << v.size() << " " << v.capacity() << endl; } for (int i = 0; i < v.size(); i++) { cout << v[i] << endl; } cout << "-----------------" << endl; // // for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) // { // cout << (*it) << endl; // } // return 0; }
-
해결됨스프링 핵심 원리 - 고급편
템플릿 콜백 패턴 - OrderControllerV5에 제네릭이 잘 적용이 안됩니다
템플릿 콜백 패턴으로 애플리케이션에 적용하는 부분에서 제네릭으로 타입 지정을 하고, 컨트롤러에서 String을 리턴 받도록 지정했는 데, 자꾸 결과는 Object가 리턴된다고 toString()을 하라고 하네요.아래 이부분에서 call()함수를 String으로 리턴받도록 했으나 인텔리제이에서는 계속 Object가 리턴된다고 나옵니다 @GetMapping("/v5/request") public String request(String itemId) { return template.execute("OrderControllerV5.request", new TraceCallback<>() { @Override public String call() { orderService.orderItem(itemId); return "ok"; } }); }제가 빼먹은게 있을까요?문제 생긴 오더 컨트롤러 v5 코드package hello.advanced.app.v5; import hello.advanced.trace.callback.TraceCallback; import hello.advanced.trace.callback.TraceTemplate; import hello.advanced.trace.logtrace.LogTrace; import hello.advanced.trace.template.AbstractTemplate; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class OrderControllerV5 { // template method pattern 적용 private final OrderServiceV5 orderService; private final TraceTemplate template; public OrderControllerV5(OrderServiceV5 orderService, LogTrace trace) { this.orderService = orderService; this.template = new TraceTemplate(trace); } @GetMapping("/v5/request") public String request(String itemId) { return template.execute("OrderControllerV5.request", new TraceCallback<>() { @Override public String call() { orderService.orderItem(itemId); return "ok"; } }); } }트레이스 템플릿 코드 package hello.advanced.trace.callback; import hello.advanced.trace.TraceStatus; import hello.advanced.trace.logtrace.LogTrace; public class TraceTemplate<T> { private final LogTrace trace; public TraceTemplate(LogTrace trace) { this.trace = trace; } public <T> T execute(String message, TraceCallback<T> callback) { TraceStatus status = null; try { status = trace.begin(message); // 로직 호츌 T result = callback.call(); trace.end(status); return result; } catch (Exception e) { trace.exception(status, e); throw e; } } }
-
해결됨재고시스템으로 알아보는 동시성이슈 해결방법
동시 저장 문제
안녕하세요 동시 저장 관련하여 질문드립니다.예약 관련하여 프로젝트를 진행하고 있는데 db에 없는 데이터를 삽입을 해야하는데동시에 여러 쓰레드가 아래의 servicer계층의 reserve()를 호출하여 예약을 시도할 때 이 메서드의 호출을 하나씩만 처리하기 위해서@Transactional public void reserve(ReserveRequest reserveRequest) { boolean isExistsReservation = reservationRepository.existsByStartTimeAndEndTime(~~~); if(!isExistsReservation) { reservationRepository.save(~~~); } }named lock을 사용하여 key를 월+일(1124)와 같이 만들어서 해당 날짜의 예약에 대해서 하나씩만 처리되도록 하여 중복을 막는 방법도 괜찮을까요?1번 방법을 사용하지 않고 다른 방법이 있을까요?service계층의 reserve메서드의 @Transactional의 격리수준을 조절해서도 해결 가능할까요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
logo.png가 있는 이유가 궁금합니다.
클론 해왔을 때는 아무것도 없었고vue init webpack-simple vue-todo 로 만든게 다인데...webpack-simple 로 만들어서 assets안에 logo.png가 들어있는걸까요?
-
해결됨실전! Querydsl
count 쿼리 최적화 질문 드립니다.
안녕하세요! 영한님^^개발자들을 위해여 양질의 강의를 제공해주셔서 정말로 감사의 말씀을 드립니다.🙏 질문드리겠습니다. 먼저 제가 이해한 내용을 말씀드리겠습니다.PageableExecutionUtils를 사용하면 count 쿼리 최적화하 가능 하다고 말씀하셨습니다.그 이유는 람다를 사용하여 게으른 호출로 인하여 실제 사용되기 전까지는 함수가 실행되지 않는다고 이해했습니다. 다음 2가지 경우에 count 쿼리가 실행되지 않다고 말씀하셨습니다.페이지 시작이면서 컨텐츠 사이즈가 페이지 사이즈 보다 작을때페이지 시작(0)이면서 컨텐츠 사이즈(3)가 페이지 사이즈(10)보다 작다면 컨텐츠 사이즈(3)가 카운트 갯수 마지막 페이지 일때(offset + 컨텐츠 사이즈 = 카운트)예를 들어 전체 데이터는 103개이고, 페이지 사이즈는 10이라고 한다면마지막 페이지 일때는 offset(100), 컨텐츠 사이즈(3)이라서 카운트는 103으로 이해 하고 있는데 맞는 내용 인가요? 감사합니다.^^
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계의 주인에 대해서 질문드립니다.
연관관계의 주인을 보통 N쪽으로 하잖아요?강의 예시대로라면 Member.team이 연관관계의 주인이 되는 거 같은데 한 가지 헷갈리는 것이 있어 질문드립니다.연관관계의 주인이 Member가 되는 것인가요 아니면 Member에 있는 Team team 이 부분이 되는 것인가요?만약 Member에 있는 Team team 이 부분이 연관관계의 주인이면 Team 객체 자체가 주인이 된다고 봐야하는 것인가요?이 부분이 계속 헷갈리네요 ㅠㅠ
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
sequelize include 질문입니다.
post 테이블을 조회할때 include 를 사용하여 postimage 테이블의 'imagePath' 컬럼을 포함 시켰더니 실제 데이터의 형식이...PostImage: [{"imagePath": "aaaa"}, {"imagePath": "bbbb"}] 로 추가 되더라구요. 이것을 productImage:["aaaa", "bbbb'] 의 형태로 받을 수 있는 방법은 없을까요 ?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Resilience4J 강의를 들으며 질문이 있습니다.
이전의 Hystrix의 경우에는 route 설정해놓은 yml 또는 java 파일에서 각각의 route 마다 filter.hystrix 라고 하여 매핑을 해주는 것으로 이해하고있는데, Resilience4J의 경우에는 각각의 route에는 설정하는것이 아닌 global? 설정 인가요?영상에는 이미 라우팅 설정에 매핑하는게 아닌 fegin client 로 요청 시에 매핑하는것으로 보여서 개념적인 이해가 잘안되서 질문드립니다. 감사합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
마지막 익스텐션 오류 + 에니메이션 오류
마지막 저 코드만 주석처리해서 실행하면 정상적으로 실행이되는데, 주석처리만 해제하면 NullReferenceException: Object reference not set to an instance of an objectUI_Base.AddUIEvent (UnityEngine.GameObject go, System.Action`1[T] action, Define+UIEvent type) (at Assets/Scripts/UI/UI_Base.cs:48)Extension.AddUIEvent (UnityEngine.GameObject go, System.Action`1[T] action, Define+UIEvent type) (at Assets/Scripts/Utils/Extension.cs:11)UI_Button.Start () (at Assets/Scripts/UI/UI_Button.cs:39)같은 오류가 발생합니다. 우선 코드 첨부합니다추가적으로 RUN00_F외에 다른 에니메이션(RUN))_L 등)을 사용하면 정상적으로 에니메이션이 이동에따라 속도증가 -> run, 멈춤 -> wait가 되는데, RUN))_F 에니메이션을 사용하면 저런 메시지와 함께 멈춥니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
챕터2 DFS, BFS 풀다가 쿼드트리 문제가 갑자기 나오네요..?
2-E 쿼드트리 문제 이후로 DFS, BFS가 아닌 문제가 종종 나오는데, 이거 의도적으로 이렇게 배치시켜 놓은건가요? 끝까지 다 보고 그다음에 다시 돌아와야할까요?
-
미해결
수강취소
유료강의 수강 취소하고싶습니다.수강 취소는 어디서 하면되나요?
-
미해결Microservice 설계(with EventStorming,DDD)
헥사고날 관련 질문있습니다.
안녕하세요. 강의 잘 듣고 있습니다.헥사고날 그림을 보면 인터페이스와 아답터를 통해 외부와 통신을 할텐데 실제 구현을 어떤식으로 하는지 궁금해서 질문드립니다.제가 spring은 잘 모르고 node.js만 알아서 그거 기준으로 질문드릴게요.sequelize나 typeorm 같은 orm library가 아답터에 해당하는 건가요?만약 그렇다면 그것을 호출하는 인터페이스(repository?)를 만들어야 할텐데, 인터페이스가 거의 랩핑수준일 것 같습니다. 이렇게 하면 너무 귀찮을 듯 한데요.아니면 orm library를 repository라 생각해도 되나요?답변 부탁드립니다. 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
함수 인자 관련 질문있습니다.
안녕하세요. 이번 연습 문제를 구현하다보니 문득 든 궁금증인데 검색하기가 어려워 질문 남깁니다.이전 시간에 배웠던 내용과는 별개로 함수 인자(매개 변수)에 대한 사용법 관련 질문인데요.. 질문 1) 예시로 CreatePlayer 함수를 구현할 때 반환값으로 구조체를 보내기보단, 매개 변수에 그릇(playerInfo)을 같이 보내 그 그릇에 담는 식을 사용하셨는데 이러한 이유가 있을까요? (개인의 스타일인지.. 아니면 반환값으로 보내는 것보다 더 효율적인건지..이유가 궁금합니더..) 질문 2) 함수를 만들 때 반환값을 지정해줘야 하는 경우는 알잘딱 해야하는 부분일까요? 아니면 지정된 암묵적인 룰?같은 것이 있을까요?(질문 1같은 상황이 발생했을 때 어떠한 기준으로 판단을 지어야 하는지 궁금합니다..) 함수를 만들 때 판단이 잘 서지않아 이게 경험 차이 때문인지 아니면 진짜 그냥 헷갈리는건지 구분이 안 서서 질문드립니당 ㅠ.ㅠ
-
미해결스프링 배치
멀티 스레드 적용 방식 차이가 있나요?
이전 강의:AsyncItemProcessor, AsyncItemWriter 구현체 적용하는 방식현재 강의:TaskExecutor 구현체 적용하는 방식 요 두가지 방식에서 기능+성능 차이가 있을까요?단순히 적용 방식 차이 뿐인지 궁금합니다
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Spring Security vs ArugmentResovler
안녕하세요. 전에는 Spring Security 로 인증처리를 했는데 ArugmentResovler로와 큰 차이점이 있을까요? 구글링을 해봐도 정확한 차이를 잘 모르겠네요. 간단하게 쓸 때는 ArugmentResovler를 사용하는 건가요?
-
미해결초보자도 만들 수 있는 스크롤 인터렉션. 1편 자바스크립트
섹션5 관련 질문드립니다.
섹션5에서 원페이지처럼 한단계씩 넘겨보고싶어이것저것 만져보고있습니다만 강의소스에서 어떤식으로 더 스크립트 작성을진행해야할지 감이 잡히지 않아 문의드립니다. !header.eq(idx).hasClass('active') 이런 방식으로 클래스명으로진행 정도를 체크하고, 넘어갈때마다 idx의 값을 증가시켜서작성해보고 있는데 생각처럼 잘 되진않네요... 코드 작성방향에 혹시 도움을 조금 주실 수 있을까하여 문의드립니다.