묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA list clear 후 add 시 duplicate 에러 문제
안녕하세요, JPA 사용 중에 막히는 부분이 있어 질문 드립니다. entity 내에 updateItems() 함수가 있는데요, 해당 함수에서는 기존의 items를 clear하고 새로운 items를 addAll로 추가합니다. (아래 코드 참고해주세요.) 이 때 기존 item과 id가 겹치는 item이 추가될 경우 DB 레벨에서 duplicate primary key 에러가 나는데요, 찾아보니 insert 쿼리 실행 후 delete 쿼리가 날아가기 때문에 해당 에러가 발생한다는 것을 알았고, clear() 후 명시적으로 flush()를 날리면 해결된다는 것을 알았습니다. 그럼 updateItems() 함수 안에 repository.flush() 코드를 추가해야 하는데, entity 내의 함수라서 repository가 entity 안으로 들어오면 안될 것 같습니다... 이 경우, ID가 겹치는 item들은 remove&add 하지 않는다거나, entity에서 updateItems() 함수를 지우고 service 단에서 처리하는 방법 이외에 해결방법이 있을까요...?? @OneToMany(mappedBy = "order", cascade = CascadeType.ALL, orphanRemoval = true)private List<Item> items = new ArrayList<>(); public void updateItems(List<Item> items) {this.items.clear(); this.items.addAll(items);}
-
미해결파이널 코딩테스트 : 프론트엔드
리액트로 구현
안녕하세용 수업 잘듣고있습니다. 바닐라JS 로 구현능력이 필요해서 듣게되었는데 인제는 react 공부가 필요하게 되었습니다..리액트로 해도 괜찮을까요?
-
해결됨탄탄한 백엔드 NestJS, 기초부터 심화까지
find() return값 질문!
파라미터값 받고 해당 id값과 일치하는 데이터를 리턴하는 부분에서 궁금한 점이 있어 질문드립니다. find()함수의 리턴값이 cat.id===params.id;라면 boolean값이 리턴되야하는거 아닌가요? true나 false요(맞다,아니다..) 왜 데이터가 리턴되는거죠?? 신기한데 궁금해서 질문드립니다!
-
미해결[NarP Series] MVC 프레임워크는 내 손에 [나프1탄]
전자정부프레임워크 버전
선생님 안녕하세요. 전자정부프레임워크 3.9.0버전으로 다운받아서 실행하다가 계속 오류가 나서 3.10.0 버전으로 새로 다운받아서 실행하니 잘 되는데요. 3.10.0버전으로 계속 강의 들으며 진행해도 문제없을까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
scope
pom.xml 의존성 추가해주실때 <scopr>runtime</scope> 이 속성은 필수값인가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
무비디테일 메인 이미지 css가 안됩니다.
는 1:1 문의하기를 이용해주세요.
-
미해결<M.B.I.T> 테스트 페이지 만들기! with Django
문항 클릭시 다음페이지로 넘어가게 할 수 있을까요?
지금은 다음페이지 버튼을 눌러야 다음 문제로 넘어갈 수 있는 방식인데, 문제에 대한 답을 클릭하면 바로 다음 문제로 넘어가는 방식은 구현하기 어려울까요? 당장의 자바스크립트 수정은 어렵지 않은 것 같은데, 이후에 데이터 연결?하는 부분은 어떻게 해야할 지 전혀 모르겠어요..
-
미해결Vue로 Nodebird SNS 만들기
pm2 nuxt prod 실행 질문있습니다
제가 지금 배울때는 저 server라는 폴더가 필요없어서 package.json 에 scripts 쪽 start 에 뭐라고 써야하는지 도저히 모르겠습니다... 일단 이렇게하면 개발모드로 실행되더라구요... 포트는 env파일로 잡았습니다 그래서 pm2 start nuxt start 해봤더니 안되구... 찾아도 안나오네요,,,,,, "start": "cross-env NODE_ENV=production pm2 start nuxt"
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
Vue CLI 환경에서 Thymeleaf 사용
현재 고급편을 제외한 거의 모든 강의를 들은 학생입니다. 그래서 슬슬 프론트는 Vue Cli로, 백은 스프링부트를 기반으로 개인적인 프로젝트를 진행하고 싶은데요. 이때 Vue CLI 내부 동작이 너무 복잡하다보니 Thymeleaf의 바인딩이 Vue 내부에서도 무사히 동작할지 궁금하게 되어서 짧게 질문 드리고 싶습니다! 두 프레임워크가 충돌할 가능성이 있다던가 생각한대로 동작하지 않을 가능성이 있다던가 기타 문제가 발생할 사항이 있으면 조언 듣고 싶습니다.
-
미해결[OpenCV] 파이썬 딥러닝 영상처리 프로젝트 2 - 불량사과를 찾아라!
동영상 재생이 원본보다 빠르게 됩니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비import cv2 import time file_name = 'ai_cv/video/face_01.mp4' frame_count = 0 # csrt # tracker = cv2.TrackerCSRT_create() # kcf tracker = cv2.TrackerKCF_create() # boosting # tracker = cv2.TrackerBoosting_create() # mil # tracker = cv2.TrackerMIL_create() # tld # tracker = cv2.TrackerTLD_create() # medianflow # tracker = cv2.TrackerMedianFlow_create() # mosse # tracker = cv2.TrackerMOSSE_create() face_cascade_name = 'ai_cv/haarcascades/haarcascade_frontalface_alt.xml' face_cascade = cv2.CascadeClassifier() if not face_cascade.load(cv2.samples.findFile(face_cascade_name)): print('### Error loading face cascade ###') exit(0) detected = False frame_mode = 'Tracking' elapsed_time = 0 trackers = cv2.MultiTracker_create() vs = cv2.VideoCapture(file_name) while True: ret, frame = vs.read() if frame is None: print('### No more frame ###') break start_time = time.time() frame_count += 1 if detected: frame_mode = 'Tracking' (success, boxes) = trackers.update(frame) for box in boxes: (x, y, w, h) = [int(v) for v in box] cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) else: frame_mode = 'Detection' frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) frame_gray = cv2.equalizeHist(frame_gray) faces = face_cascade.detectMultiScale(frame_gray) for (x,y,w,h) in faces: cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 255, 255), 4) trackers.add(tracker, frame, tuple(faces[0])) detected = True cv2.imshow("Frame", frame) frame_time = time.time() - start_time elapsed_time += frame_time print("[{}] Frame {} time {}".format(frame_mode, frame_count, frame_time)) key = cv2.waitKey(1) & 0xFF if key == ord("q"): break print("Elapsed time {}".format(elapsed_time)) vs.release() cv2.destroyAllWindows() [Detection] Frame 1 time 0.049742698669433594 [Tracking] Frame 2 time 0.00684809684753418 [Tracking] Frame 3 time 0.010833024978637695 [Tracking] Frame 4 time 0.011183738708496094 [Tracking] Frame 5 time 0.009935855865478516 [Tracking] Frame 6 time 0.01006460189819336 [Tracking] Frame 7 time 0.011047124862670898 [Tracking] Frame 8 time 0.00996708869934082 [Tracking] Frame 9 time 0.009964227676391602 [Tracking] Frame 10 time 0.009967327117919922 [Tracking] Frame 11 time 0.008969306945800781 [Tracking] Frame 12 time 0.010144472122192383 [Tracking] Frame 13 time 0.010159730911254883 [Tracking] Frame 14 time 0.010029315948486328 [Tracking] Frame 15 time 0.009900569915771484 [Tracking] Frame 16 time 0.012940406799316406 [Tracking] Frame 17 time 0.01034688949584961 [Tracking] Frame 18 time 0.01052403450012207 [Tracking] Frame 19 time 0.008970022201538086 [Tracking] Frame 20 time 0.010088205337524414 [Tracking] Frame 21 time 0.010962724685668945 [Tracking] Frame 22 time 0.009985685348510742 [Tracking] Frame 23 time 0.010182857513427734 [Tracking] Frame 24 time 0.011196136474609375 [Tracking] Frame 25 time 0.010173559188842773 [Tracking] Frame 26 time 0.00989079475402832 [Tracking] Frame 27 time 0.008971691131591797 [Tracking] Frame 28 time 0.010074377059936523 [Tracking] Frame 29 time 0.011148691177368164 [Tracking] Frame 30 time 0.010149717330932617 [Tracking] Frame 31 time 0.008952856063842773 [Tracking] Frame 32 time 0.0113372802734375 [Tracking] Frame 33 time 0.010261774063110352 [Tracking] Frame 34 time 0.010092496871948242 [Tracking] Frame 35 time 0.009135007858276367 [Tracking] Frame 36 time 0.011106014251708984 [Tracking] Frame 37 time 0.00996708869934082 [Tracking] Frame 38 time 0.010132551193237305 [Tracking] Frame 39 time 0.01096653938293457 [Tracking] Frame 40 time 0.009113788604736328 [Tracking] Frame 41 time 0.009966611862182617 [Tracking] Frame 42 time 0.009006500244140625 [Tracking] Frame 43 time 0.010137557983398438 [Tracking] Frame 44 time 0.010968685150146484 [Tracking] Frame 45 time 0.010090351104736328 [Tracking] Frame 46 time 0.00996708869934082 [Tracking] Frame 47 time 0.010097503662109375 [Tracking] Frame 48 time 0.009154081344604492 [Tracking] Frame 49 time 0.011050701141357422 [Tracking] Frame 50 time 0.010245323181152344 [Tracking] Frame 51 time 0.010037660598754883 [Tracking] Frame 52 time 0.009949207305908203 [Tracking] Frame 53 time 0.010206937789916992 [Tracking] Frame 54 time 0.010103940963745117 [Tracking] Frame 55 time 0.011080026626586914 [Tracking] Frame 56 time 0.009037256240844727 [Tracking] Frame 57 time 0.010066986083984375 [Tracking] Frame 58 time 0.01086282730102539 [Tracking] Frame 59 time 0.011019468307495117 [Tracking] Frame 60 time 0.009200334548950195 [Tracking] Frame 61 time 0.01138615608215332 [Tracking] Frame 62 time 0.010236263275146484 [Tracking] Frame 63 time 0.010827064514160156 [Tracking] Frame 64 time 0.010096311569213867 [Tracking] Frame 65 time 0.01114511489868164 [Tracking] Frame 66 time 0.011437177658081055 [Tracking] Frame 67 time 0.011236190795898438 [Tracking] Frame 68 time 0.00897216796875 [Tracking] Frame 69 time 0.01003575325012207 [Tracking] Frame 70 time 0.009973287582397461 [Tracking] Frame 71 time 0.012045145034790039 [Tracking] Frame 72 time 0.011436223983764648 [Tracking] Frame 73 time 0.011066913604736328 [Tracking] Frame 74 time 0.011760473251342773 [Tracking] Frame 75 time 0.011989831924438477 [Tracking] Frame 76 time 0.010531187057495117 [Tracking] Frame 77 time 0.009981393814086914 [Tracking] Frame 78 time 0.010620355606079102 [Tracking] Frame 79 time 0.01088094711303711 [Tracking] Frame 80 time 0.011965751647949219 [Tracking] Frame 81 time 0.010114431381225586 [Tracking] Frame 82 time 0.00996708869934082 [Tracking] Frame 83 time 0.012120246887207031 [Tracking] Frame 84 time 0.011082887649536133 [Tracking] Frame 85 time 0.010336637496948242 [Tracking] Frame 86 time 0.00996708869934082 [Tracking] Frame 87 time 0.01117849349975586 [Tracking] Frame 88 time 0.01202845573425293 [Tracking] Frame 89 time 0.01096653938293457 [Tracking] Frame 90 time 0.011366605758666992 [Tracking] Frame 91 time 0.013704061508178711 [Tracking] Frame 92 time 0.010897397994995117 [Tracking] Frame 93 time 0.011034488677978516 [Tracking] Frame 94 time 0.011842727661132812 [Tracking] Frame 95 time 0.010582447052001953 [Tracking] Frame 96 time 0.01071310043334961 [Tracking] Frame 97 time 0.011272192001342773 [Tracking] Frame 98 time 0.010962963104248047 [Tracking] Frame 99 time 0.010538816452026367 [Tracking] Frame 100 time 0.010112285614013672 [Tracking] Frame 101 time 0.011833667755126953 [Tracking] Frame 102 time 0.01100778579711914 [Tracking] Frame 103 time 0.009095907211303711 [Tracking] Frame 104 time 0.011062383651733398 [Tracking] Frame 105 time 0.010706901550292969 [Tracking] Frame 106 time 0.011118888854980469 [Tracking] Frame 107 time 0.009864330291748047 [Tracking] Frame 108 time 0.009962081909179688 [Tracking] Frame 109 time 0.011107206344604492 [Tracking] Frame 110 time 0.012238264083862305 [Tracking] Frame 111 time 0.011181354522705078 [Tracking] Frame 112 time 0.010162353515625 [Tracking] Frame 113 time 0.01158452033996582 [Tracking] Frame 114 time 0.011144876480102539 [Tracking] Frame 115 time 0.010689735412597656 Elapsed time 1.2488503456115723동영상 재생이 원본보다 빨리됩니다.. 왜 이럴까요 스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
백서버 도메인 암호화.
만약 프론트, 백 모두 배포 하고 도메인까지 연결 한 뒤, www.zerocho.app(제로초 백엔드 서버) www.zerocho.com (제로초 프론트엔드 페이지) www.zerocho.com 페이지에 들어가서 F12 -> 네트워크쪽을 보면. www.zerocho.app 백엔드 get 으로 요청한 것들이 다른 사람들이 이것들을 이용해서 크롤링을 할 수도 있자나요. 크롤링을 하게 되면 aws 비용이 더 더욱 많이 나가고, 보안 문제떄문에 문제가 발생 할 거 같은데, 이럴 떄는 어떻게 해결 하는 것이 좋을까요? .env 로 www.zerocho.app -> ENV_BACK 만들어 준 뒤. ENV_BACK/product/get 이런 식으로 api 요청하는 것이 좋을까요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
맥북 M1 노트북에서도 강의듣는데 큰 문제 없을까요 ??
제목 그대로 입니다. 맥북 프로 M1 사용하고 있는데 레벨 1부터 레벨 4 까지 강의 듣는데 문제없을까요 ?? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨스프링 시큐리티
안녕하세요 정수원강사님 session 관련 질문드립니다!
안녕하세요 강사님 좋은강의 항상 감사합니다. 굉장히 초보적인 질문일 수 있음에 죄송스럽습니다. 다름이 아니라 form login을 진행하게 되면 서버의 session에 사용자가 저장이 되고 이것을 이용해서 권한까지 검사하는 것으로 알고있는데요, 그런데 ajax로 api/messages로 접근을 할 때 미리 로그인되었다는, 다시말해 클라이언트와 서버가 서로 jsessionId를 전송하지 않는 것처럼 보이는데 POST로 로그인 후 GET api/messages를 할 때 서버는 이용자를 어떻게 구분하나요? 답변 미리 감사드립니다 ^_^
-
미해결[애플 공식 교재] iOS 앱 만들기 Part2
테이블뷰 리스트 선택 상태 해제
안녕하세요! 강의 정말 잘 보고 있습니다. 01:01:00 에서 Save 버튼 누르고 modal이 내려갔을 때 테이블뷰 리스트의 선택상태가 해제되어 있는데요, 제가 강의 보면서 따라할 때는 선택 상태가 해제되는 코드 작성하는 부분이 나오지 않은것같습니다. 44:10에서처럼 리스트가 회색으로 선택상태를 쭉 유지하고 있습니다. 이때문에 발생하는 문제가, 편집 이후 Add버튼 누르고 뭔가를 추가했을 때, 편집했었던 리스트의 index path가 선택상태로 있기 때문에 해당 리스트가 업데이트가 돼버리더라구요. 편집 이후에 해당 indexpath의 row가 선택해제 상태로 나타나게 하려면 어떻게 해야하나요? 그리고 Automatic Row Height (01:02:07) 부터 나오는 내용들도 똑같이 따라해봐도 아무 변화가 없이 텍스트가 잘려나오는데.. 이부분은 처음부터 다시한번 해볼게요... ㅠㅠ
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다.
// 뮤직비디오(결정알고리즘) function solution(m, songs) { let answer = 0; let max = Math.max(...songs); while (max) { let tmp = max; let cnt = 1; for (let j = 0; j < songs.length; j++) { if (tmp - songs[j] < 0) { tmp = max; cnt++; } tmp -= songs[j]; } if (cnt === m) { answer = max; break; } max++; } return answer; } let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; console.log(solution(2, arr));
-
미해결단 2주간 키운 블로그로 월 80만원 용돈 벌기
수강후기남겼습니다!!!
이메일주소 남깁니다!! 기초적인공부 잘했습니다!! jhes4886@gmail.com 입니다!!
-
미해결비트코인 알고리즘 트레이딩 봇 개발
궁금점
안녕하세요 ~ 강사님 저도 이제서야 봇 개발을 시작하고 있는데 여러 강의를 듣고 원하는 것만 취해서 개발 중이에요. 근데 다른 강의들은 로직을 만들고 cron으로 일정주기마다 실시를 하고 이 강의는 while true로 계속 돌면서 00초 01초 이렇게 원하는 타이밍에 로직이 돌게 만들었는데 문제는 00초 01초에 로직A가 있다면 이 로직A가 한번 실행되는게 아니라 00초 01초내에 컴퓨터가 돌 수 있는 속도에 따라서 계속 로직A가 반복이 되더라고요. 혹시 이걸 해결할 방법은 없나요? 한번만 실행하게요
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
대문페이지 배경사진
대문페이지 배경사진 변경이 안됩니다 landing.css에서 body->bacground->url 의 사진경로만 변경했는데 적용이 안되네요. static/single_pages/images/abc.jpg에서 static/single_pages/images/efg.jpg로 변경했는데 적용이 안됩니다. 왜 이런걸까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
[User MicroService - 회원가입] 레이어별 다른 클래스 사용이유
VO나 Entity 클래스 하나만 생성해서 데이터를 주고 받을 수 있는데, modelmapper 라이브러리를 사용하면서까지 RequestUser, UserDto, UserEntity 클래스를 사용하는 이유가 무엇인가요?
-
해결됨[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
키를 가져왔는데 값이 출력되는 이유
안녕하세요 강의 잘 듣고있습니다. 듣던 중 질문이 생겨 글 올립니다. 강의 목차명: 문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 다양한 데이터 구조(딕셔너리) 시간: 11분 35 초 질문내용: for key in data_dict.keys(): print(data_dict[key]) 여기서 key를 가져왔는데 왜 결과는 값(kr, us) 이 나오게 되는지 궁금합니다. 감사합니다.