SELECT months*salary AS earnings , count(earnings) -- 여기에 earnings를 카운트하고 싶어서 이렇게 넣었는데 자꾸 오류가 나더라구요, 왜 그런가요? FROM employee GROUP BY earnings ORDER BY earnings DESC LIMIT 1
안녕하세요! implementation 'org.springframework.boot:spring-boot-devtools' 를 추가해주고, 다시 서버를 시작해도 restartedMain도 안 뜨면서 리컴파일 해도 반영이 되지 않습니다. 왜 안 되는지 잘 모르겠습니다. 참고로 윈도우 사용 중입니다! 제 파일은 공유하였습니다. https://drive.google.com/file/d/15kY1oTCPTtmyUKSx0AbeWoqm8vkg3Vqk/view?usp=sharing
인스턴스가 new 키워드 + 생성자 '함수'의 조합으로 생성된다는 것은 알고 있었지만, '함수'역시 또다른 생성자 '함수'의 인스턴스라는 것은 전혀 몰랐습니다. 그래서 그런지 개념이 잘 정립이 안 되는 것 같아서 여쭤봅니다. 1.function키워드 === 생성자 함수 ??? function 오브젝트가 인스턴스라면 function키워드는 일종의 생성자 함수라는 것이 되는데요. 일반 생성자 함수와는 달리 new 키워드를 사용하지 않는 것도 그렇고, function키워드와 일반적인 생성자 함수의 정확한 차이가 무엇인지 궁금합니다. 2.인스턴스의 구조 첨부해드린 그림과 같이, 일반적인 생성자 함수는 prototype프로퍼티와 __proto__프로퍼티를 함께 가집니다. 여기서 __proto__프로퍼티를 가지는 것은, 생성자 함수 역시 function키워드로 생성된 '인스턴스'이기에 가지는 프로퍼티인 것이죠?(순환하는 것 같아서 여기서부터 머리가 아프네요 ㅠㅠ) 그리고 이렇게 일반적인 생성자 함수로 생성된 인스턴스는 스스로는 생성자 함수가 아니기 때문에 prototype프로퍼티는 가지고 있지 않고, __proto__프로퍼티만을 가지고 있습니다. 이 __proto__프로퍼티는 인스턴스를 생성한 생성자 함수의 prototype프로퍼티를 참조하고 있고요. 그런데, function키워드로 생성된 function object의 경우, 스스로가 생성자 함수가 아님에도 불구하고 prototype프로퍼티를 가지고 있습니다. =========================================== 잘 이해하지 못한 내용에 대해 여쭤보느라 정리가 잘 안되는데요. 요는 제가 알고 있는 일반적인 생성자 함수와 인스턴스의 관계와 비교하여, function키워드와 function오브젝트의 관계가 왜 차이를 보이는지에 대한 질문이었습니다
코드를 따라서 작성했는데 NameError : name 'faceROI' is not defined 와같은 에러가 자꾸뜹니다.faceROI를 정의해줬는데 왜 정의가 되지않았다고 자꾸뜨는건가요? 제가쓴 코드는 아래와 같습니다. import cv2 import numpy as np def detectAndDisplay(frame): frame_gray=cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) frame_gray=cv2.equalizeHist(frame_gray) #-- Detect faces faces=face_cascade.detectMultiScale(frame_gray) for (x,y,w,h) in faces: center=(x+w//2,y+h//2) frame=cv2.rectangle(frame,(x,y),(x+w,y+h),(0,255,0),4) feceROI=frame_gray[y:y+h,x:x+w] #-- In each face, detect eyes eyes=eyes_cascade.detectMultiScale(faceROI) for (x2,y2,w2,h2) in eyes: eye_center=(x+x2+w2//2,y+y2+h2//2) radius=int(round((w2+h2)*0.25)) frame=cv2.circle(frame,eye_center,radius,(255,0,0),4) cv2.imshow("Capture-Face detection",frame) print("opencv version:") print(cv2.__version__) img=cv2.imread("marathon_01.jpg") print("width: {} pixels".format(img.shape[1])) print("height: {} pixels:".format(img.shape[0])) print("channels: {}".format(img.shape[2])) (height,width)=img.shape[:2] cv2.imshow("original image",img) face_cascade_name="haarcascade_frontalface_alt.xml" eyes_cascade_name="haarcascade_eye_tree_eyeglasses.xml" face_cascade=cv2.CascadeClassifier() eyes_cascade=cv2.CascadeClassifier() if not face_cascade.load(cv2.samples.findFile(face_cascade_name)): print("--(!)Error loading face cascade") exit(0) if not eyes_cascade.load(cv2.samples.findFile(eyes_cascade_name)): print('--(!)Error loading eyes cascade') exit(0) detectAndDisplay(img) cv2.waitKey(0) cv2.destroyAllWindows()
정말 초보적인 질문이라 죄송합니다만... var키워드를 사용하지 않고 변수를 선언할 수 있는 방법이 있나요? '함수에서 var키워드를 사용하지 않고 변수를 선언하면 전역 객체에 설정됨'이라고 설명해주셨는데, 변수를 선언하려면 var, const, let이 세 가지 키워드 중 하나는 반드시 써야 하지 않나요? const와 let이 ES6문법임을 제외하면 변수를 선언할 때는 반드시 var키워드를 쓸 수 밖에 없는 것 아닌가요?
다음과 같이 AccountRepository 인터페이스를 생성해 사용하는데, findByNickname 메소드에 대해 Unable to access lob stream 오류가 발생합니다. 검색해보니 맨 위 사진과 같이 Repository에 @Transactional을 추가하라는데, Clob이나 Blob이 포함된 엔티티는 해당 어노테이션을 반드시 사용해야 하는 것인가요? 혹시 맞다면 왜 그런건가요?
프런트에서 해쉬태그를 클릭하면 백엔드에서 해당하는 해쉬태그를 가져오는데 해쉬태그 페이지에서 아무 반응이 없습니다. 콘솔로그를 찍어보면 데이터는 있는데 화면에 아무 반응이 없는 이유를 모르겠습니다.. 깃 주소 남깁니다. 도와주세용 ㅠㅠ https://github.com/SeokSuMin/ch6
아직 몇 강 듣지 않았지만, 그냥 넘어가기는 찝찝해서 질문드립니다 ㅠ 제가 알기로는 ES5에서도 '스코프 체인'개념이 있는 것으로 알고 있는데요(아마 용어상의 혼선일 것이라 생각됩니다) 일단 제가 이해하고 있는 바(ES5기준)를 말씀드리겠습니다. 1.함수의 호출로 인해 해당 함수의 실행 컨텍스트가 활성화됩니다. (===콜 스택에 해당 함수의 실행 컨텍스트가 쌓입니다) 2.엔진이 해당 함수의 스코프를 훓으면서 '렉시컬 환경'의 '환경 레코드'에 '선언된' 함수와 변수를 담습니다. '선언된'함수와 변수를 담는 것이기에 할당 작업은 이 단계에서는 배제합니다. 때문에 함수 선언문은 함수 객체 자체가 전부 담기게 되고, 함수 표현식의 경우 변수명(식별자)만 담기게 됩니다. 3.'렉시컬 환경'의 '외부 환경 참조'에 '함수가 선언될 당시'의 렉시컬 환경을 참조시킵니다. '함수가 선언될 당시'라는 건, 즉 이 함수를 선언했던 함수의 컨텍스트(만약 전역 컨텍스트에서 선언했다면 전역 컨텍스트)의 렉시컬 환경을 의미하는 것이죠? 4.이 함수를 호출한 주체를 this바인딩시킵니다(일반적으로) 만약 위의 설명에 틀린 부분이 없다고 한다면, 해당 함수의 스코프 안에서 식별자가 발견되지 않으면, '렉시컬 환경'의 '외부 환경 참조'를 타고 올라가서 식별자를 찾는 것이죠? (제가 읽은 서적에서는 이를 '스코프 체인'으로 설명했습니다) 그렇다면 ES5에서의 스코프 체인도 결국 함수 호출로 인해 이루어지므로 '동적'으로 환경을 설정하는 것이 아닌가요? 또, 컨텍스트가 한 덩어리이기 때문에 한 메모리 안에서 찾아 검색이 빠르다고 말씀해주셨는데, 이렇게 '외부 환경 참조'를 타고 올라가는 것은 메모리의 다른 공간을 검색하는 일이 아닌지 궁금합니다 ㅠㅠ
안녕하세요 JPA 기초 강의부터 QueryDSL 강의까지 모든 과정을 완강하고, 현재 개인 프로젝트로 복습하고 있는 학생입니다! 주제와 조금 엇나갈 수 있는데, 다름이 아니라 Spring Security를 활용해 로그인된 사용자의 개인정보 변경 을 구현 중에 있는데, 다음과 같이 현재 로그인 중인 사용자의 정보를 @AuthenticationPrincipal를 통해 가져와 updateProfile 메소드로 정보를 수정하려 하고 있습니다. 그런데 Merge를 사용하지 않고 Dirty Checking을 사용해 Account 정보를 업데이트를 하자니 현재 Account가 영속 상태가 아니어서 상태를 업데이트해도 DB에 반영되지 않습니다. 그래서 일단 현재 Account도 update하고, AccountRepository를 통해 실제 Account도 불러와 다시 한번 update를 하는 방식으로 작성하긴 했는데 올바른 방법이 아닌 것 같습니다. 이런 상황에서 (1) 실제로 DB에서 가져온 Account를 업데이트 한 뒤, 현재 로그인한 상태의 Account에 대입하는 방법 은 없을까요? 아니면 (2) 현재 Account를 강제로 영속상태로 바꾼 뒤 업데이트하여 DB에 반영 하는 방법이 더 나은 방식인가요?
안녕하세요. 강의덕분에 실무에 잘 적용하여 쓰고 있습니다. QuerydslRepositorySupport를 이용해서 paging을 하고있는데 final List<ReviewList> bbsArticles = getQuerydsl().applyPagination(pageable, query).fetch(); Query문에 fetchJoin을 적용했더니, HHH000104: firstResult/maxResults specified with collection fetch; applying in memory! 오류가 발생하여 인터넷에 검색해보니 fetch Join을 사용하고 paging을 하게되면 나오는 Warning이라고 fetch join을 빼고 사용하라고 해서 일단 적용시켰는데, N + 1문제가 발생하네요.. 이런 경우에는 실무에서 어떻게 적용시키시나요?