묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 : 클래스의 이해와 객체지향 프로그래밍
Run() 메서드
안녕하세요.강의 영상 2:46초 부분의 설명인데그냥 static 이 붙지 않은 메서드는 메서드 영역에 추가 되는 것이 아닌가요?? 무조건 static 이 붙어야 메서드 영역에 저장되는것인지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대일 관계에서 주테이블과 대상테이블은 어떤 기준으로 나누나요?
다대일 관계에선 다(N)쪽이 외래키를 가지고 있으니까 그 쪽을 기준으로 생각하면 될 거 같은데, 일대일 관계에선 따로 기준이 있나요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
pretrained 모델
# pretrained 모델cfg.load_from = '/content/mmdetection/checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'모델을 학습 시킬때 pretrain 부분 설정이 있는데 mscoco 학습된 모델 위에 더 학습을 시키는 건가요?만약 제가 mscoco에 없는 카테고리 객체를 추가하고 싶으면 프리트레인 설정 후 추가된 객체만 더 학습시키면 mscoco 카테고리에있는 객체와 제가 추가로 학습시킨 객체를 detection 할 수 있는건가요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 전파2 활용에서 질문
1. 강의 내용과 관련된 질문인가요? 네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네[질문 내용]여기에 질문 내용을 남겨주세요. 질문1.리포지토리안의 각 메소드에서만 @트랜잭션 했을때joinV2 메소드 사용하면/** * MemberService @Transactional:OFF * MemberRepository @Transactional:ON * LogRepository @Transactional:ON Exception */ @Test void outerTxOff_fail_My() { //given String username = "로그예외_outerTxOff_fail_my"; //when memberService.joinV2(username); //예외 터짐 //then: member는 저장, 로그는 안남음 assertTrue(memberRepository.find(username).isPresent()); assertTrue(logRepository.find(username).isEmpty()); }테스트 성공하는데,이렇게 해도 요구사항에 만족하는거 아닐까요?이렇게 했을 때의 문제는 어떤거 인가요? 질문2.위 테스트 전에Log레포에 @트랜잭션 안써주면, 되지 않을까? 해서/** * MemberService @Transactional:ON * MemberRepository @Transactional:ON * LogRepository @Transactional:OFF EX */ @Test void Mytest_ex_success() { //given String username = "로그예외_mytest_success"; //when memberService.joinV2(username); //then: member 저장, log 롤백 assertTrue(memberRepository.find(username).isPresent()); assertTrue(logRepository.find(username).isEmpty()); }정상 유저시 -> 정상 커밋 -> 정상 저장 (유저 존재, 로그 존재)-> 이때 로그가 왜 정상 저장?로그예외 유저시 -> 서비스에서 예외 잡아 처리 -> 로그 정상 커밋됨 -> 로그 없길 기대, but 존재-> 이때도 로그가 왜 정상 저장? - 로그보면 트랜잭션에 참여하진 않음 그래서, 디버깅을 해봤는데엔티티 매니저가 없어서, 멤버가 쓰는 매니저 공유해서 썼고, 트랜잭션에 참여하지 않고, 동기화 매니저에 있는 커넥션으로, 수동 커밋 설정없이 그냥 저장했나? 했는데검색해보니까SimpleJpaRepository에서 @트랜잭션 한다고 해서 디버깅 걸어보니 걸리더라구요SimpleJpaRepository 클래스에도 @트랜잭션 되있고,여기의 save메소드에도 @트랜잭션 되있더라구요. 그럼 레포지토리 메소드에 @트랜잭셔널 안써줘도그 윗단에 올라가면 SimpleJpaRepository가 있고, 여기에 @트랜잭션이 있어서 트랜잭션이 작동한다. 맞게 이해한 건지 궁금해서 여쭤봅니다.감사합니다.
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
설치 에러
라이브러리 설치가 안 됩니다.쥬피터에서 안 되어서 명령 프롬프트에서 시도했는데 역시 안 됩니다. 다음은 에러 메시지입니다.컴퓨터에 아나콘다를 설치했는데 그래서 문제일까요?
-
미해결파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
가상환경에서 runserver 구동시 오류
안녕하세요 선생님!aws ec2 amazon2 가상환경에서 git 에있는 제프로젝트를 clone을 통해 받은후 python manage.py runserver를 하였을때 잘 동작하지만 사이트는 들어가지지 않는데 무엇이 문제일까요?또한 제가 이가상환경에서 이프로젝트를 배포하기위해 gunicorn과 nginx를 사용하고있는데 gunicorn으로 gunicorn --bind 127.0.0.1:8000 [프로젝트명].wsgi:application 을 통해 사이트를 접속하려고 하였을때 gunicorn은 정상작동하지만 사이트는 들어가지지 않는데 동일한 오류때문인지 궁금합니다!코드를 무엇을 첨부해야 할지 몰라 일단 settings.py를 첨부하겠습니다!따로 봐야하는 코드가 있으시면 말씀해주시면 감사하겠습니다!!
-
미해결평생 써먹는 데이터 기반 투자법 with 파이썬 퀀트 투자
분산투자 중 다수종목수익률계산방법 질문
섹션1 분산투자 : 다수종목수익률계산방법 수업 중 뒤쪽 그래프 작성에서 이해가 안가는 부분이 있어 질문 드립니다. plt.figure(figsize=(20, 8))cumReturn[stock].plot()portCumReturn.plot(label = "porfolio", linestyle="dotted", linewidth=3)이렇게만 하면 표가 제대로 안나오더라구요.. plt.figure(figsize=(20, 8))for stock in cumReturn.columns: cumReturn[stock].plot()portCumReturn.plot(label = "porfolio", linestyle="dotted", linewidth=3) 저기서 왜 for 구문을 사용하는 것에 대해서 잘 모르겠습니다ㅠㅠㅠ
-
미해결JSP 웹 쇼핑몰 프로그래밍 기본 과정(JSP WEB Programming)
53강 mariadb나 mysql로 쓰신느 분들을 위한 sql문
select * from board order by ref desc, re_step asc limit ?, ?쿼리문 이거 쓰시고? 매핑할 때pstmt.setInt(1, start-1);pstmt.setInt(2, pageSize);이런식으로 써주고 getAllBoard(startRow, pageSize) 메소드도 이런식으로 endRow대신 pagesSize를 매개변수로 넣어주면 됩니다.endRow는 사용하지 않습니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한 부탁드립니다!
인프런 아이디 : dnrkf7266@naver.com인프런 이메일 : dnrkf7266@naver.com깃헙 아이디 : whtrade7290@gmail.com깃헙 username : whtrade7290
-
미해결3dsmax 모델링 고수의 비밀! (Modeling Expert Technique)
maxstart 파일이 안보여요
시작화면 셋팅하고 저장하려고 했는데 maxstart 파일이 아무리 찾아도 없는데 이유가 있을까요? ㅠㅠ제가 용량때문에 D드라이브에 저장했는데 그게 문제인건지 scenes이라는 폴더에 들어가면 텅 비어있습니다다른 사람들은 scenes폴더에 maxstart파일도 있고 엄청 뭐가 들어있던데 저는 비어있는데 뭐가 잘못된것일까요 ㅠㅠ
-
해결됨자바 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 객체 자체가 주인이 된다고 봐야하는 것인가요?이 부분이 계속 헷갈리네요 ㅠㅠ