강의를 들으면서 토이 프로젝트를 진행중에 있습니다! 사용자(Account)가 평소 여러 주제의 태그(Tag) 중 관심 있었던 주제의 태그를 프로필에 등록하는 기능을 구현 중에 있으며, Account 라는 엔티티와 Tag라는 엔티티가 AccountTag 라는 엔티티로 각각 1:N 매핑된 형태로 N:M 관계를 표현했습니다. 태그 생성 기능은 Gist 과 같이 작성했는데, 사용자에서 특정 관심 태그를 삭제하는 remove 동작을 어떻게 구현해야 할 지 감이 잘 오지 않습니다.. 정리하자면 Tag는 그대로 보존하되, 연관된 AccountTag만을 삭제하고 싶습니다. 마음 같아선 영속성 전이를 통해 delete 동작 없이 List에서 remove만 해서 처리하고 싶은데 AccountTag 엔티티와 연관된 객체가 2개 이상이니 Cascade.ALL을 사용하기도 좀 그래서 이런 경우엔 보통 어떻게 처리를 하는지 궁금합니다!
강의 잘듣고있습니다. 너무 유익해요 ㅠㅠ 다름이 아니라 oracle에서는 alias가 서브쿼리없이는 조건절에 사용할 수 없는것 같은데 그러면 아래 코드처럼 SELECT A.* FROM ( SELECT SALARY * MONTHS AS EARNINGS ,COUNT(*) FROM EMPLOYEE GROUP BY SALARY * MONTHS ORDER BY SALARY * MONTHS DESC ) A WHERE ROWNUM = 1 salary * months 를 반복해서 3번이나 적어줘야 되더라고요 너무 비효율적인거같아서 서브쿼리?안에서 alias만들어서 alias를 바깥에서 사용하는 방법을 찾아봤는데 정렬도 꼬이고 값이 이상해져서 사용방법을 잘 모르겠어요.. 오라클도 mysql처럼 alias를 조건절에 사용할 수 있는 방법이 있을까요?
교수님 안녕하세요^^ 제가 c++을 늦게 공부하는 기계공학생이라 사소한게 잘 이해 안되는 부분이 있네요..^^ cout 이 std 네임 스페이스 안에 있는 함수 잖아요.(출력함수) 근데 왜 그냥 setprecision()만하면 효과가 없고 cout << setprecidion() 해야만 효과가 있나요? cout을 그냥 단순 출력 함수로 이해하면 안되나요?
맥에서는 chromedrive 다운 시 exe 파일이 아니고 dmg 파일로 나오는데 dmg 파일을 읽게 되면 권한이 없다고 나오는데 맥에서는 할 수가 없는 걸까요.. Traceback (most recent call last): File "/Users/usang-in/끼리끼리 Dropbox/우상인/study/section3/3-6-2.py", line 11, in <module> driver = webdriver.Chrome('/Users/usang-in/끼리끼리 Dropbox/우상인/study/section3/webdriver/chrome/googlechrome.dmg') File "/Users/usang-in/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 73, in __init__ self.service.start() File "/Users/usang-in/opt/anaconda3/lib/python3.7/site-packages/selenium/webdriver/common/service.py", line 88, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'googlechrome.dmg' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home [Finished in 0.187s]
Context Switching에 대해 공부하다가 궁금한점이 생겨서 질문합니다 :) 강의 내용에서 Sleep(n)을 하면 n만큼의 밀리초 만큼 휴식을 취한뒤 다시 작업을 한다고 들었는데요. 그 기다리는 시간동안 해당 쓰레드는 CPU를 계속 점유하고 있는건지, 아니면 CPU 사용권을 다른 쓰레드에게 양도한다는 개념인지 헷갈려서 질문드립니다. 만약 Sleep하는동안 CPU를 계속 점유한다면, Context Switching은 일어나지 않을테고, Sleep을 실행하는동안 CPU 소유권을 다른 쓰레드에게 넘겨줘서 해당 시간이 지난뒤 Context Switching이 일어나서 다시 하던일을 이어간다고 생각하는데, 어떤것이 맞는지 모르겠습니다. 만약 Sleep이 후자의 내용처럼 CPU점유권을 넘겨준다면, Sleep() 명령어는 넘겨줄 쓰레드가 존재한다면, 항상 Context Switching이 발생한다, 라는 명제를 참으로 생각해도 괜찮을까요? 그리고, 만약 휴식을 취한다고 했지만, 정작 남아도는(혹은 쉬고있는) 다른 쓰레드가 우연히 존재하지 않을때는 Sleep의 경우 본인이 CPU를 계속 점유하는지도 궁금합니다. 그리고 Yield의 경우 양보를 할때, 만약 쓰레드가 여러개 대기하고 있다면 어떤것을 먼저 실행할지는 어떻게 결정되는건가요? 마지막으로, Context Switching은 한 프로세스 내에서 쓰레드 끼리의 스위칭이라고 생각했었는데요, 관련 자료를 찾아보면서 공부해보니, 반드시 쓰레드 끼리에서만 일어나는게 아니라, 프로세스와 또 다른 프로세스끼리 큰 범주에서도 일어나는 스위칭을 말하기도 한다는데, 그렇다면 Context Switching의 정확한 개념은 전자와 후자를 모두 통칭하는 말로 이해하면 되는건가요? 강의에서는 한 프로세스내의 쓰레드 끼리의 스위칭만 말씀하셔서 좀 헷갈려서 질문 남깁니다.
QApplication() 시 아래와 같은 에러가 발생합니다. 아나콘다 환경을 삭제하고 재설치도 해보았으나 같은 현상이라 문의드립니다. qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. python3.5버전으로 설치했으며, import까지는 잘 되었습니다.
이상태에서 더 못나가고 있습니다. 어제부터 오늘까지 강의를 다시 돌려보면서 따라해도 안됩니다 ㅠㅠ 요금제도 blaze로 바꾸고 드랍박스에 추가까지는 되는데 메일보내는게 에러가 납니다... sendgrid의 api key도 10번넘게 다시 발급하고 고치고를 반복했습니다.. cmd에서도 문제없는데 뭐가 문제일지를 모르겠습니다... 마지막 수문장에 막힌기분입니다..
일반적인 상황에서는 메모리 주소가 해당 자료형에 맞게 순차적으로 할당된다고 말씀해 주셨고 실제로 메모리 주소도 보면서 이해하였습니다. 그런데 앞 강의에서 배열이 굉장히 큰 경우 등은 모든 메모리 주소가 연결 되어있지 않을 수도 있다고 해주셨던거 같은데 이 경우에 해당 배열에 포인터 연산을 사용한다면 문제가 발생하지는 않을지 궁금해 질문드립니다.
안녕하세요 좋은 강의 정말 정말 감사드립니다. 너무 재미있고 유익하게 잘 듣고 있어요 강의를 거의 다 들어가는데, 혹시 제가 강의내용을 활용해서 해볼 수 있는 크롤링 프로젝트 3개 정도만 추천해주실 수 있으실까요? (당연히 제가 찾아서 하는게 가장 이상적이겠지만, 그래도 혹시 추천해주실 수 있으실까 해서 문의드립니다)