학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 이 강의를 보면서 이 강의가 학습을 시키기 위한 정식 강의인지, 대충 이런 게 있다고 그냥 넘어가기는 그렇고 적당히 소개하고 말려고 한 강의인가요? 엄청난 속도로 위아래 올라갔다 내려가며 쫓기듯이 강의하시는데... 이것이 최선인건지,, 초심자를 위한 최적화된 강의가 과연 맞는 것인지.. 정신없어서 뭐가 뭔지 손을 못 대겠던데요. 교안으로 제공하면 출력해서 노트하며 복습이라도 할 텐데 이거 뭐 어쩌란 건지 도무지 모르겠습니다. 초급자에게 이 강의를 이해 시키려고 하신 강의 맞으신가요? 또는 이 강의를 이해하지 못하면 어떻게 되는 걸까요? 이 강의를 어떻게 해석해야 하는지 설명을 요청 드립니다. 빅분기가 결국 결과물을 시각화 하는 과정인데 강의에서는 말로만 하고 시각화된 자료도 제공이 되야 효율적이지 않을까 합니다. 따라하는 것도 따라하는 것이지만 머리에 한계가 있잖아요. 강사는 아는 내용을 막힘없이 설명하는 것이고, 초심자는 말하는 족족 그대로 머리에 익혀지지 않잖아요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] OrderService의 주문 생성 코드에서 Order와 OrderItem은 생성메서드를 통해 객체를 생성하여 저장하도록 하셨는데, Delivery 객체에 대해서는 따로 생성 메서드를 만들지 않고 직접 생성자 호출을 통해 만든 이유가 있을까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] jpa에서 join과 fetch join에 차이점 join은 from절에 있는 주체 엔티티만 영속화 fetch join은 연관 엔티티와 주체가 되는 엔티티 모두 영속화한다. 이라고 이해 했습니다 그런데 공부하던 중 엔티티 반환이 아닌 DTO을 반환하면 join과 fetch join은 어떻게 영속화 하는지 궁금합니다.
providers를 통해 등록된 UsersService는 싱글톤인지 궁금하여 nest.js 공식문서를 찾아보았습니다. UsersModule의 exports를 통해 캡슐화된 공급자들을 내보내고, AppModule에 UsersModule을 imports배열에 추가해서 가져오면 providers에 등록하지 않아도 자동으로 주입을 해주며, 인스턴스를 공유하는 싱글톤으로 주입받는다고 이해했습니다. 반면, UsersService를 필요한 모듈 각각의 providers 배열에 등록하게 된다면 등록된 모듈마다 인스턴스가 생성해서 주입하는 것으로 이해하였습니다. 공식문서에는 싱글톤으로 생성되서 관리된다면 메모리를 아낄 수 있고, 리소스의 관리가 쉬워진다는데 질문 1. 리소스의 관리가 쉬워지는건 같은 변수를 공유하기 때문이라고 이해해도 괜찮을까요? 질문 2. 제가 이해한 내용에서 잘못된 부분이 있는지 궁금합니다. 질문 3. providers 배열에 모듈마다 등록해서 인스턴스를 계속 찍어내야 하는 예시가 궁금합니다. (싱글톤의 장점은 어느정도 이해가 되지만, 그 반대의 경우에는 어떤 상황에서 사용할 때 장점이 있는지 생각이 떠오르지 않습니다) (집에 가면서 생각해봤는데 설정이 서로 다르게 주입되어야 하는 경우가 있다면 사용될 수 있을 것 같습니다.)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 평가지표(이진/다중 분류, 회귀) 3분지점의 설명에 대해 보충 설명을 요청합니다. train데이터는 학습을 하고 test데이터는 예측을 한다고 했으나 train데이터를 분리하여 하나는 학습 다른 하나는 검증이라고 하여 이걸(검증) 예측이라고 설명했어요. 그럼 test의 예측과 train 검증에서의 ‘예측’의 차이는 뭔지 이 둘은 같은건지? train데이터의 레이블로 데이터를 검증한다고 했는데 레이블은 실제값이고 검증하는 데이터는 예측값(pred)라고 하여 이 둘을 비교한다고 했습니다. 검증하는 데이터가 예측값? 여기서도 test데이터(예측값)와 어떤 관계인지 이 개념을 이해 못하겠습니다.
에포크 5에서 오류가 발생합니다. AttributeError Traceback (most recent call last) <ipython-input-19-00485008cd01> in <cell line: 0>() 13 #config.save_freq = eval;config.map_freq = 5 14 # 1 epoch시마다 P100에서 약 3분30초 걸림. 적절한 epochs 수 설정 필요. ---> 15 model.fit( 16 get_dataset(True, config), 17 epochs=15, 5 frames /usr/local/lib/python3.11/dist-packages/numpy/__init__.py in __getattr__(attr) 322 def _sanity_check(): 323 """ --> 324 Quick sanity checks for common bugs caused by environment. 325 There are some cases e.g. with wrong BLAS ABI that cause wrong 326 results under specific runtime conditions that are not necessarily AttributeError: module 'numpy' has no attribute 'float'. `np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here. The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecation s
1. 현재 학습 진도 링크드 리스트를 학습하고 있습니다 2. 어려움을 겪는 부분 보너스 문제인 요세푸스 문제를 '링크드 리스트'를 활용하여 푸는데 어려움을 겪고 있습니다 ㅠ 3. 시도해보신 내용 링크드 리스트의 보너스 문제는 링크드 리스트를 학습하는데 도움이 될만한 문제라고 생각하여 풀이하고 있는데 어려움을 겪고 있습니다. class Node: def __init__(self, data): self.data = data self.next = None class CircularLinkedList: def __init__(self): self.head = None def append(self, data): new_node = Node(data) if not self.head: self.head = new_node self.head.next = self.head else: cur = self.head while cur.next != self.head: cur = cur.next cur.next = new_node new_node.next = self.head def delete(self, prev, cur): if cur == self.head: if cur.next == self.head: # 마지막 노드일 경우 self.head = None else: self.head = cur.next prev.next = cur.next def print_all(self): if not self.head: return [] result = [] cur = self.head while True: result.append(cur.data) cur = cur.next if cur == self.head: break return result def josephus_problem(n, k): circle = CircularLinkedList() for i in range(1, n + 1): circle.append(i) result = [] cur = circle.head prev = None while circle.head: for _ in range(k - 1): prev = cur cur = cur.next result.append(cur.data) circle.delete(prev, cur) cur = prev.next if prev else None return result # 입력 처리 n, k = map(int, input().split()) result = josephus_problem(n, k) print("<" + ", ".join(map(str, result)) + ">") 위와 같이 링크드 리스트의 개념을 활용하여 문제를 풀다가 어려워서 chatGPT의 도움을 받아서 변형하여 풀어봤는데도 지속적으로 런타임에러가 나는 상황입니다. 이 문제를 링크드리스트로 풀 수 없는 문제인지 어떤 부분이 잘못된 것인건지 잘모르겠습니다. 또한 만약 풀기 어려운 문제라면, 이정도 수준의 링크드 리스트를 활용하는 문제는 나오지 않는 것인지 이정도 수준으로 연습하면 좋을 지도 궁금합니다! 감사합니다 🙂
안녕하세요 강사님! 강사님의 동시성 이슈와 선착순 이벤트 시스템 강의를 듣고 실제 프로젝트에서 이벤트 응모 시스템을 만들어 봤습니다. 아래는 제가 해당 이벤트 응모 시스템을 만들면서 겪었던 이슈와 고민을 블로그 글로 적었습니다. 우선 강사님 덕분에 프로젝트 잘 끝낼 수 있어서 감사했습니다. 블로그 글을 쓰면서 든 생각은 여기서 더 개선 시킬점은 없을까? 좀 더 고민 해볼만한 부분은 없을까? 라는 생각이 들었습니다. 개발에 정답은 없지만 그래도 좋은 방향은 있다고 생각해서 최근에 제가 쓴 글을 다시 보면서 어떤 부분을 고치면 좋을까 라는 생각을 하고 있습니다. 혹시 강사님께서 제 글을 보시고 만약 면접관이시라면 어떤식으로 질문이 들어올 수 있을지 특히 꼬리 질문에 대해 얘기를 해주실 수 있을까요 해주신 내용을 바탕으로 깊게 고민을 해보고 면접 대비도 하고 싶습니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
안녕하세요, 조교님 30강 강의를 들으면서 문제가 발생해 질문을 남기게 되었습니다. 이 전까지는 정상적으로 작동하였는데 "책 등록" 기능이 제대로 동작하지 않습니다. 코드에는 문제가 없어 보이고, 서버는 정상 동작합니다. 책 등록에서 저장 버튼을 누르면 위와 같은 메시지가 뜨는 상황인데, 혹시 해결방법을 아실까요?
주피터노트북으로 코딩시. hwp.open("파일명.hwp")를 실행해도 화일이 없다고 열리지 안네요.........분명 해당경로에 그 파일이 존재하는데도 불구하구요... 강의 듣다가 느낀점. 코딩프로그램 사용법이 더 어려워요. 파이참으로 했다가 주피터로 하기도 하고.....
[질문 내용] '문제풀이 1'의 2번 문제인 '짝수' 출력 관해서 질문 드립니다. 강사님이 작성해준 코드와 제가 작성한 내용이 조금 달라서요..! 결과값이 동일하긴 한데, 이렇게 진행해도 문제없나요? 저는 num 변수만 선언했거든요.. package loop.ex; public class WhileEx2 { public static void main(String[] args) { int num = 1; while (num <= 10) { System.out.println(num * 2); num++; } } } package loop.ex; public class ForEx2 { public static void main(String[] args) { for (int num = 1; num <= 10; num++) { System.out.println(num * 2); } } }
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하십니까 선생님! 질문 제목을 보고 얘는 왜 이 질문을 여기에 올렸을까라고 의아해하실 수도 있는데, 사실 제가 영한님 스프링 관련 강의는 다 사서 열심히 보고 있는데(정말 도움 많이 받고 있습니다. 항상 정말 잘 듣고 있습니다!!) JPA는 영한님이 쓰신 JPA 책을 사서 보고 있습니다! 그런데 프록시 객체 파트를 읽어보던 도중 이해가 되지 않는 부분이 있어 질문을 쓰고 싶은데 JPA 쪽에 질문으로 쓰려고 해도 강의를 산 사람만 작성할 수 있어 부득이하게 여기에서 질문하게 되었습니다 죄송합니다 ㅜㅜㅜ 다름이 아니라 지금 JPA의 프록시 객체 파트를 공부하고 있습니다. 그런데 294P 의 8.1.2 프록시와 식별자 부분에서 엔티티를 em.getReference, 즉 프록시로 조회할 때 엔티티 접근 방식을 AccessType.PROPERTY 로 설정한 경우 getId를 호출해도 프록시를 초기화하지 않는다고 하셨습니다. 그래서 직접 한번 코드를 작성해보았습니다. 우선 AccessType.PROPERTY 방식부터 적용해보았습니다. PROPERTY와 FIELD 두 방식 모두 실험 전 create 옵션으로 Parent 객체 하나를 만들어두고 후에 none으로 바꾸어 진행했습니다. Parent 객체 생성 코드 Parent parent = new Parent(); parent.setId(1L); parent.setName("parent1"); em.persist(parent); Parent.java @Entity @Setter @Getter @Access(AccessType.PROPERTY) public class Parent { private Long id; private String name; @Id public Long getId() { return id; } } JpaMain.java public static void main(String[] args) { EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); Parent foundParent = em.getReference(Parent.class, 1L); System.out.println(foundParent.getClass()); System.out.println(foundParent.getId()); System.out.println(foundParent.getName()); tx.commit(); em.close(); emf.close(); } 해당 코드를 실행시켰을 때 이렇게 나온걸 보니 확실히 getId 후에 getName 조회시 프록시 객체를 초기화(select 구문 실행)을 했다는 것을 알 수 있었습니다. 그런데 AccessType.FIELD로 조회하면 getId 를 할때에도 프록시 객체를 초기화한다고 하여 아래와 같이 Parent.java의 코드를 다시 작성하여 JpaMain.java를 실행해보았습니다. Parent.java @Entity @Setter @Getter @Access(AccessType.FIELD) public class Parent { @Id private Long id; private String name; } 제 예상으로는 getId 실행시 프록시 객체를 초기화 한다고 하셨으니 실제 출력에는 Parent의 getId()가 실행되기 전에 select 문이 실행되어야 할 것이라고 예상하였습니다. 하지만 위와 같이 getId()에는 프록시 객체를 초기화하지 않는 것처럼 보여지는 출력이 나왔습니다. 책에서는 AccessType.FIELD 사용시 getId()를 호출하면 JPA는 getId()가 id만 조회하는 메소드인지 다른 필드까지 활용해서 어떤 일을 하는 메소드인지 알지 못하므로 프록시 객체를 초기화한다 고 나와있는데 왜 이런 결과가 나온 것일까요? 제가 잘못 이해하고 있는 것이 있을까요?