- 학습 관련 5강 듣는중에 질문 드려요! 스마트 오브젝트 두번째 장점 중에서 하나의 스마트 오브젝트 설정이 다른 복사레이어에 적용이 안되는데 문제가 뭘까요? 설정을 적용하는데 있어서도 저같은 경우는 해당 페이지 창을 닫으면서(스마트 오브젝트 창에서) 저장했는데 저장하는데에 더 간단한 방법이 있는지 궁금합니다. (참고로 컴알못이라서,,자세한 설명 부탁드려요..^^) 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하십니까. 강사님 1부강의를 듣고 나름 간단한 프로그램을 만들려고 합니다. 리눅스로 이미 누군가 만들어놓은 소스파일을 이용하여 QT에서 (리눅스 환경) 에서 해당 소스를 포함하여 GUI 작업을 하려 합니다. 이때 해당 소스파일을 gcc나 다른 컴파일러로 빌드하여 아래와 같이 터미널에서 실행시키는 프로그램인데 >./test Hello World!! QT에서 해당 실행파일을 실행 시키고 그 결과로 출력되는 값을 가지고 QT의 linetext 위젯같은 곳에 출력하고자 합니다. QT에서 리눅스 실행파일을 실행시키고 해당 결과를 얻어올 수 있는 방법은 어떻게 하면 되는지 문의드립니다. 강의내용과 다소 상관없는 기술을 여쭤봐서 죄송합니다. 꾸뻑
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 아래의 update 후 조회 로직에서 왜 select 쿼리가 나가지 않는가에 대한 질문 글들을 읽어보면, 강의의 업데이트 로직상 memberService의 update() 메서드에서 트랜잭션 범위가 넘어가면 기본적으로 영속성 컨텍스트의 내용은 모두 지워져서 이후 조회 로직에서 select가 나가야 맞지만, 추후에 배울 성능 최적화 기능 덕분에 update한 그 Member가 아직 1차캐시에 남아있게 되어 select 쿼리가 나가지 않는다고 이해하였습니다. 그렇다면 여기서 트랜잭션 범위를 넘어가면 영속성 컨텍스트가 비워진다 라고 설명해주셨는데, JPA 기본강의에서는 트랜잭션이 커밋된다고 해서 영속성 컨텍스트가 비워지지는 않는다 라고 설명해주셨습니다. Q1. 그러면 트랜잭션 범위를 넘어가기 전 커밋되는 경우에는 영.컨이 비워지지 않지만, 트랜잭션이 아예 끝나면 영.컨이 비워지는것이 맞을까요? (ex. 메소드 중간에 transaction.commit()을 호춣하거나, 혹은 JPQL 실행 직전에 커밋되는 경우) Q2. 여기서 트랜잭션의 범위가, 메소드 level에 적용되는 @Transactional 에 의해 , 그 메소드가 리턴되기까지를 말하는 것인지 or 아니면 @Transactional이 적용된 update() 메소드에서 컨트롤러로 실행이 옮겨갔기 떄문에 범위를 넘어섰다고 말하는 것인지, 트랜잭션의 범위 라는 개념과, 그 범위를 넘어섰다는 개념을 잘 모르겠습니다. (만약 전자라면, @Transactional이 붙은 메소드 단위로 트랜잭션 범위가 넘어가니, 메소드 호출될 때 마다 영.컨이 비워질 것 같습니다.)
안녕하세요 강사님 좋은 강의 열심히 듣고 있습니다. profile_edit 부분을 CBV로 구현해봤는데 이런 형식으로 만드는게 맞는지 궁금합니다.. 기능은 정상적으로 작동하는데 코드가 너무 복잡해보여서 제대로 만든건지 의구심이 듭니다.. @method_decorator(login_required, name='dispatch') class ProfileUpdateView(UpdateView): model = Profile template_name = 'accounts/profile_form.html' form_class = ProfileForm pk_url_kwarg = "id" success_url = settings.LOGIN_REDIRECT_URL profile_edit
안녕하세요 강의듣던중 궁금한게 생겼는데 parseFloat이 정수형 문자열도 Number로 바꿔주는걸로 봐서 parseInt의 기능도 포함하는거 같은데 그럼 parseInt를 쓸 이유가 굳이 없어보입니다. parseFloat과 paserInt를 굳이 구분해서 사용하는 이유가 있나요??
@Entity class A { @Id private Long id @ManyToOne @JoinColumn(name = "b_id") private B b } @Entity class B{ @Id private Long id @OneToMany(mappedBy = "b") private List<A> aList @ManyToOne @JoinColumn(name = "c_id") private C c } Entiy class C{ @Id private Long id @OneToMany(mappedBy = "c") private List<B> bList } 이런식으로 A -> B -> C 가 종속적으로 1:N 관계가 있을 때 하나의 querydsl 문으로 하나의 쿼리로 Table C에 있는 값을 가져오고 싶습니다. 즉 c.bList[0].aList[0].id <- a.id 나올수 있도록 만들고 싶은데 .selectFrom(c) .join(c.bList, b).fetchJoin() .join(b.aList, a).fetchJoin() .fetch() 를 하면 query 생성시 에러가 나옵니다. 혹시 다른 방법이 있나요?
디스패치큐와 메인스레드에 대해 질문이 있습니다 🥲 Request.swift image 메소드 구현부에서 DispatchQueue.main.async { completion(image) }로 메인스레드에서 클로저를 실행하도록 만들어주었었는데 FriendTableViewCell.swift configure 메소드 내부의Request.image 메소드 호출부를 보면 completion 클로저에서도 또 메인스레드를 부르게 되어있어서 아래처럼 같은 일(메인스레드 부르는 일)을 중복으로 하게 되는 게 아닌지 궁금합니다! 제가 이해한 게 맞다면 이렇게 만들어주어야 하는 이유가 있을까요? DispatchQueue. main . async { DispatchQueue. main . async { guard let cell: FriendTableViewCell = tableView . cellForRow ( at : indexPath ) as ? FriendTableViewCell else { return } cell. profileImageView . image = image } }
Traceback (most recent call last): File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\__main__.py", line 181, in fmt_streams extract.apply_signature(stream_manifest, self.vid_info, self.js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\extract.py", line 409, in apply_signature cipher = Cipher(js=js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 43, in __init__ self.throttling_plan = get_throttling_plan(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 405, in get_throttling_plan raw_code = get_throttling_function_code(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 311, in get_throttling_function_code name = re.escape(get_throttling_function_name(js)) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 297, in get_throttling_function_name caller="get_throttling_function_name", pattern="multiple" pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\hansol ju\Desktop\Work\section2\youtube-downloader.py", line 4, in <module> videos = yt.streams.all() File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\__main__.py", line 296, in streams return StreamQuery(self.fmt_streams) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\__main__.py", line 188, in fmt_streams extract.apply_signature(stream_manifest, self.vid_info, self.js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\extract.py", line 409, in apply_signature cipher = Cipher(js=js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 43, in __init__ self.throttling_plan = get_throttling_plan(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 405, in get_throttling_plan raw_code = get_throttling_function_code(js) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 311, in get_throttling_function_code name = re.escape(get_throttling_function_name(js)) File "D:\anaconda3\envs\section2-2\lib\site-packages\pytube\cipher.py", line 297, in get_throttling_function_name caller="get_throttling_function_name", pattern="multiple" pytube.exceptions.RegexMatchError: get_throttling_function_name: could not find match for multiple [Finished in 5.204s]
org.hibernate.QueryException: No data type for node: org.hibernate.hql.internal.ast.tree.IdentNode \-[IDENT] IdentNode: 'i' {originalText=i} 라는 오류가 나는데, 어떤 것인지 모르겠습니다.
강의에는 없는 내용인데 vue+django로 웹페이지를 만들다가 궁금증이 생겨서 질문 드립니다. 페이지에 Django DB로 요청하는 데이터가 많다보니 페이지 새로고침할때 속도가 점점 느려지는데, 새로고침 할때마다 DB를 건드리지 않게 html 파일을 만들어서 보여주게 하려면 어떤 방식으로 해야 될까요??