.========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 4분쯤에 실행했을 때 오류가 납니다. JAVA 11버전이라 dependency 에 추가도 했습니다. 영속성 강의 까지는 연동이 잘 되다가 안되네요 데이터 베이스 스키마 자동생성 강의에서는 코드를 추가로 입력 안했는데 필요한가요?
append 함수를 사용하면 (10)을 사용하면 마지막에 10을 넣고 ('10')을 사용하면 '10'을 넣었습니다 (asdf)를 사용하면 오류가 나던데 인트형, 실수형이나 ''가 붙어야 사용 가능한가요? 또한 extend 함수에서 a.extend(b) print('a.extend(a)=',a) 라고 적으면 오류가 나지 않았지만 print('a.extend(a)=',a.extend(b)) 는 none라는 문장만 나왔습니다. extend는 따로 실행을 시켜 줘야 되는 함수 인가요? 마지막으로 처음에 b=a를 해놓고 a만 append, sort, reverse 등 함수를 적용시켰으나 마지막에 보니 b도 같이 변환되어 있었습니다. 여태 것 다른 함수들은 b=a를 한 후 a값을 변동시켜도 b의 값은 초기 a값 그대로였는데 b도 같이 변화시키는 함수들이 따로 있는건가요??
private void validateDuplicateMember(Member member) { List<Member> findMembers = memberRepository.findByName(member.getName()); if (!findMembers.isEmpty()){ throw new IllegalStateException("이미 존재하는 회원 입니다."); } } 에서 memberA가 동시에 DB에 insert 될때 validateduplicate를 통과하면 동시에 memberA가 로직을 호출하게 되면 memberA라는이름으로 두명이 가입 됩니다. 그래서 memberA에 제약을 건다구 하셨는데 제약을 거는거 어떤건지 잘 모르겠습니다. 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
안녕하세요! 바둑이 승차 문제 풀이 영상을 보고 다른 풀이로도 한번 풀어봤는데 예제 입출력대로는 제대로 나오는데 혹시 제 풀이가 맞는지 질문하고자 코드를 올립니다. C,N=map(int,input().split()) weights=[] result=[] for _ in range(N): weights.append(int(input())) def dfs(L,sum): if sum>C: return if L==N: result.append(sum) else: dfs(L+1,sum+weights[L]) dfs(L+1,sum) dfs(0,0) print(max(result))
기본 키 매핑 강의를 수강하다 키 생성 전략과 관련해 궁금한 점이 있어 질문 드립니다. IDENTITY 전략을 사용할 경우 키 값이 DB에 삽입된 이후에 생성되기 때문에, 트랜잭션 커밋 시점이 아닌 em.persist()를 호출할 시점에 쿼리를 DB로 전송한다고 하셨는데요. 혹시 이 경우, 문제가 생겨 트랜잭션이 rollback 되는 경우 해당 insert문도 같이 rollback이 될까요? SEQUENCE 전략에서 auto-ddl 설정을 사용하지 않을 때에도 @SequenceGenerator 을 사용하여 기존에 사용 중인 DB 시퀀스와 매핑 시킬 수 있나요?? 어노테이션의 이름이 Generator라고 지정되어 있어 auto ddl을 사용하는 경우에만 해당 어노테이션이 유효한 건지에 대해 헷갈리더라구요.. 만약 기존에 DB에서 사용중이던 시퀀스와 매핑시키기 위해서는 @SequenceGenerator 의 SequenceName 속성만 잘 매칭시키면 성능 최적화 등의 전략을 사용할 수 있는 거겠죠..?? 또한 SEQUENCE 전략 사용 시 성능 상의 이슈를 해결하기 위해 allocation을 50과 같이 큰 값으로 할당하여 DB 상에서 한 번에 크게 올리고 메모리에서는 1씩 가져다가 사용하는 방식에 대해 설명 해주시면서 동시성 이슈가 없다고 설명해 주셨는데요! 여러 대의 was와 서로 다른 서버에서 기동되어 메모리가 공유되지 않는 상황에서도 동시성 보장이 가능한 것인가요??...
강의에서 setter 메소드로 재고 수량을 조절하는게 아니라 addStock 메서드, removeStock 메서드를 이용해 재고 수량을 조절하는 것이 객체지향적이라고 하셨는데 왜 이게 객체지향적인지, setter 메소드를 사용하는 것이 왜 객체지향과는 거리가 있는 것인지 자세하게 설명 부탁드립니다. 감사합니다
안녕하세요! 간단한 질문이 있어서 살짝 남겨보게 되었습니다. 1. 지금까지 JPA 강의를 들으면서 - "Entity 에는 Setter 를 열어두지 말고, Getter 만 열어둔채, 초기값 Setting 에는 생성자를 사용하라. 그리고 변경에 대해서 setter 가 필요하다면 그 때 열어두고, 연관관계에 대해 수정시 setting 외의 로직을 수행해야 하기 때문에 change, modify 등의 수식어를 사용해서 함수를 만들어라 ". 정도로 이해하고 있었습니다. 이 관점에서 createOrder() 함수는 설명해주신대로 그냥 Order 을 생성해주는 함수고, 초기값을 setting 해주는 함수인데, 이게 생성자와 어떤 점에서 다른지 이해가 잘 되지 못했습니다. public Order(Member member, Delivery delivery, OrderItem ... orderItems){ this.member = member; this.delivery = delivery; ... OrderItem for 문 this.status = OrderStatus.ORDER; this.orderDate = LocalDateTime.now(); } 위처럼 그냥 생성만 해주는 함수와 어떤 차이가 있는지 이해를 못하였습니다 ㅠㅠ 2. 비즈니스 로직들을 Service 단에서 수행하지 않고, Entity Class에서 모두 짜는 이유가 잘 이해가 되지 않았습니다 ㅠ 애를 들면 cancel() 의 명령어 같은 경우, ~~ /orderItem/cancel/3 이런식으로 들어오게 된다면, Service Layer 에서 OrderItem 조회하고, Repository 를 호출하며 Order에 대한 \ 필요 로직 수행, Item에 대한 필요로직 수행을 하는것으로 생각을 했어서 그런 것 같습니다. 지금 현재 강의 부분과 같은 설계는 약간 영속성 컨텍스트를 계속 관리하면서 필요 SQL들이 자연스럽게 호출되게 하는 방식인 느낌인데 이런 방향이 맞을까요?
안녕하세요 강의 중 @PersistenceContext 에 대해 궁금한 점이 생겨서 질문을 남기게 되었습니다. JPA 기본편 강의도 완강 후에 듣고 있는 상태인데요, 제가 이해했었던 바는, 한 영속성 컨텍스트에는 한 EntityManagerFactory 가 할당되고, 그 영컨에서 진행하는 각각의 트랜젝션들을 처리하기 위해 EMF가 각각 EntityManager를 생성하여 트랜젝션마다 할당해서 처리할 수 있도록 도와준다고 이해하였습니다. 위에 이해한 바가 맞다면, 앱이 실행되면서 MemberRepository 가 싱글톤 컨테이너에 의해 관리되기 시작하면서, 이 때는 EntityManager 가 트랜젝션이 들어오지 않았기 때문에 할당받지 못한 상태여야 할 것 같습니다. 그리고 save, findOne, findAll 등의 트랜젝션을 수행하기 위한 함수들이 호출될 시 EntityManager 가 생성되고 할당받는 것이 맞을까요? 즉, 싱글톤 컨테이너 안에 있는 Repository 안에 있는 EntityManager em 은 트랜젝션이 수행되기 전에는 NULL이라고 보면 될까요? 제가 이해한 내용이 맞는지 궁금해서 문의글 남기게 되었습니다. 항상 도움주셔서 감사합니다 :]
공공데이터와 Folium(Python Library)으로 만드는 제주 오름 지도 안내 서비스
위 이미지는 강의에서 만드신 geojson파일이고 아래 이미지는 제가 만든 geojson파일입니다. 같은 방법을 사용했고 좌표계도 바꿔보고 이렇게 저렇게 시도를 해봐도 좌표가 서로 다르게 나와서 안되는데 좌표를 같게 하려면 해야할까요? 내보내기 할 때 좌표계 EPSG:4326 - WGS 84로 했습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. jpashop % ./gradlew clean build > Task :test JpashopApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1804 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:275 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:100 MemberRepositoryTest > testMember FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1804 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:275 Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:100 2 tests completed, 2 failed > Task :test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > There were failing tests. See the report at: file:///Users/king/study/jpashop/build/reports/tests/test/index.html * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 17s task.named 전부 주석처리 해보고 밑에 useJunutPlatform이부분도 주석처리 해보고 했는데도 오류 납니다 RunWith도 지워보고 해봣는데 안됩니다
파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
안녕하세요. 강의 잘들었습니다! 강의 내용 토대로 비동기로 API 수집을 구현했었는데 API 서버가 제가 보낸 모든 요청을 처리하지못해 오류 발생하여 요청 수를 제어하려고 합니다. 예를 들어들어 각기 다른 파라미터로 서버에 요청해야 할 수가 총 1000번이라면 1초당 10개씩만 요청하려고 합니다. 이럴 경우에는 어떻게 구현하는게 좋을까요? semaphore 사용해서 하는게 맞는건지 아님 aiohttp.BaseConnector 의 limit 수 파라미터를 조정하는게 맞는건지 궁금합니다. https://docs.aiohttp.org/en/stable/client_reference.html#baseconnector 그리고 한번에 요청 보내는 수뿐만아니라 요청보내는 간격에 대해서도 제어하려면 어떻게하면 좋을지 의견부탁드립니다!
웹소켓부분은 처음 배워봐서 조금 헷갈리네요 ㅠㅠ app의 views에서 렌더링 된 echo_page.html은 클라이언트를 의미 그 클라이언트에서 ws객체를 이용해 여러가지 이벤트 핸들러 처리와 메세지를 웹소켓 서버(ws:// localhost:8000/ws/echo/)로 전송할 수 있음 웹소켓 서버로 전송된 메세지는 routing.py에 등록된 path에 맞게 매칭된 Consumer를 호출 호출된 Consumer는 receive 오버라이딩을 통해 클라이언트에서 보낸 메세지에 대해 후속 처리 이 프로세스로 흘러가는게 맞나요? 한 가지 더 궁금한 점은 이번 예제의 EchoConsumer에서 send로 보낸 메세지는 단순히 '메세지 전송 요청을 보냈던' 클라이언트에게 되돌아가는데 만약 서로 다른 여러 클라이언트에서 요청이 들어오면 각 클라이언트는 어떻게 구별하나요? http의 헤더처럼 요청 주체를 구별하는 방법이 웹소켓 통신에도 따로 있는건가요?
해당 강의 8:50 정도 부분에서 double convertedScoreDouble = score; 이 부분이 191 -> 191.0 으로 변환되었다고 해주셨는데 그 다음 줄에 sout(score) 를 입력하니 191 그대로 나옵니다. 제가 실수 한 부분이 무엇인가요??