묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
더티채킹 이후 save 호출시 문제가 있을까요?
안녕하세요! 회사에서 mysql, Spring Data JPA를 사용하고있습니다.레거시 코드를 볼때마다 트랜잭션안에서 엔티티 속성값을 변경한 다음, 추가로 save 메서드를 호출해서 변경된 엔티티를 저장해주더라고요. 이러한 방식이 문제가 될 이유라면 뭐가있을지 궁금합니다!
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
퀴즈5에서 질문있습니다!
1. 반복문 for 사용시 cnt가 아닌 i를 넣는 이유를 알 수 있을까요?사람수가 1번째 2번째 이런식으로 증가하면서 for cnt in .... 및 .format(cnt, time) 이라고 작성해야한다고 생각했는데 출력이 다르게 나오네요... 랜덤함수 사용 시 from random import* 를 적고 시작하는데 이 밑에 있는 모든 함수에 랜덤이 적용되는게 아니라 시간에만 적용되는 원리를 알 수 있을까요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
6-G 조건체크에서 질문이있습니다
http://boj.kr/3aa1410045524133b6e2b5ea6da1bcce현재 해당코드를 통해서 정답은 맞췄는데 제가생각했던건 MID-1, MID+1로 조건탐색을하고 left <= right 조건을 통해서 left가 조건탐색이 끝났을때 기준으로 left가 정답이라고 생각하고 이때 left가 max조건을 넘겨버리면 체크하는걸로 해결했는데 설명코드에서 mid를 ret으로 체크되는부분이 잘 이해가가지않아 질문을남깁니다 항상감사합니다
-
해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
문법
이강의보면 문법은 더 공부할필요가 없나요 ???
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
pymysql import 시 찾을 수 없는 모듈이라 나옵니다
pip install 시 설치가 이미 되어있다고 나오는데 import 시에는 찾을 수 없다고 나옵니다...
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
콘솔프로그램으로 만든 서버 배포질문
보통 이렇게 콘솔프로그램으로 만든 서버는 어떻게 배포를 해야하나요? bin/Debug의 exe로 서버컴퓨터에서 실행시키지는 않을 것 같은데.... 따로 Setup파일을 만들어서 서버에 배포를 하는 건가요? 따로 Setup파일을 만든다면 어떤 방식으로 하는지도 궁굼합니다.!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
두가지 질문이 있습니다.
●제가 서버의 대한 이해도가 완벽하지 않아, 제 의견이 들어가는 부분엔 문장 앞에 '●' 넣도록하겠습니다. 틀리다면 지적 부탁드리겠습니다. 어제 GroundObject[]를 사용해서 맵충돌은 결국 이동동기화 강의의 맵타일추출을 인용하여 진행하였습니다.내가 가려고하는 방향의 앞타일을 가져와 갈수 있는곳인지 없는 곳인지를 판단하여 캐릭터를 이동하였습니다. 서버에서 체크하여 BroadCast하였습니다.그 결과물입니다. https://youtu.be/tjzA_VzAKb0 ※Map 수정 ※room.HandleMove 수정 해당방법은 괜찮은 방법인지 여부와 영상에 보시면 패킷전송량이 어마어마 합니다. 실제로 Client에서 패킷 전송량을 보자면 누르고 있을 때마다 패킷을 전송하게 되겠죠.(Dir의 _update 의해서 ) ●"현직에 있을때 Photon 서버로 게임을 만든적이 있는데 클라는 최소한의 패킷 전송으로 최대한 많은 결과물을 받아야 한다고 생각하고 있습니다." 고작 내 포지션에서 스피드만큼 거리를 가려고 엄청나게 많은 패킷을 보내고 있습니다. ●또한 이 많은 전송량을 처리하려고 TickRoom을 16ms (60fps)로 설정 하였으니 서버에 좀더 과부화가 오지 않을까 생각합니다. 저렇게 실시간으로 움직여야 하는 방식에서 더 좋은 방법이 있는지 알고싶습니다.
-
미해결FreeRTOS 프로그래밍
우선순위역전 상황 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님,세마포어 먼저 TAKE한 태스크가 실행된다고 배웠는데요TASK3이 실행하고 있으니 이것을 GIVE하기 전에는 TASK1이 블락되는것은 이해했습니다.그런데 TASK2는 왜 갑자기 실행되는 거죠.? TASK3이 GIVE했다면 우선순위가 높은 TASK1이 실행되어야 하고TASK3이 GIVE하지도 않았는데 TASK2가 실행된 경우는 무슨경우나요.. TASK2는 세마포어와 관련없는 특정 동작이라 선점한 걸로 보면 될까요..? 상황 설명이 부족해서 헷갈립니다.. 저는 오로지 이 강의로만 공부하고 있기 때문에경험이 많으신 강사님의 설명이 이해가 잘 안되네요답변 미리 감사합니다.
-
미해결데이터 분석 SQL Fundamentals
postgres DB 를 다시 설치해야할 것 같은데, 어떻게 진행해야 할까요?
안녕하세요. 실습용 스키마 설치글에 댓글로 postgres DB 다시 설치해야 될 것 같다고 답글을 드렸는데, 못보시는 것 같아 새 글로 작성드립니다. postgres DB 를 다시 설치해야할 것 같습니다. 어떻게 진행해야 할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 시험자에서 제출할때
마지막 부분에서 저의 코드는 pred = rf.predict(test)submit = pd.DataFrame({ 'index': test.index, 'target': pred})submit.to_csv("수험번호.csv" , index = False)인데 여기서 submit.to_csv까지만 적고 제출해도 되나요?? 추가적으로 강의 코드를 보면.....rf.fit(X_tr, y_tr)pred =rf.predict(X_val) pred=rf.predcit(test)submit = .... 이런 코드에서 pred 가 2개 중복인데 어떻게 해석해야하나요??
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
TCP 연결 종료 시 FIN_WAIT2 에서 병목이 일어나는데 원인을 모르겠습니다.
안녕하세요 선생님.양질의 강의 너무너무 감사드립니다.AWS에서 이커머스를 운영하고 있는데 최근에 접속자가 몰려 네트워크 장애가 일어났습니다. 당시 웹서버를 늘려서 CPU 병목 등은 해결을 했지만 네트워크 장애 상황은 나아지질 않았습니다.이후 테스트 환경을 세팅하고 장애 상황을 재연한 뒤 wireshock 을 이용해 패킷 분석도 해봤습니다. 참고로 인스턴스 하나에 프론트엔드(nextjs) 서버(==서버)와 백엔드(django) 서버(클라이언트) 둘 다 띄워져 있는 설정이고, 그 둘 사이의 송수신을 분석한 결과 알게 된 사실은 다음과 같습니다. 캐시(redis)가 걸린 요청은 CPU 자원을 소모하지 않는다. >총 CPU 역시 여유가 있음.1. 패킷 분석 결과 장애상황에서도 속도가 크게 느려지지 않았다. 그렇지 않은 요청은 쿼리와 결과가 아주 간단한 요청임에도 시간이 많이 걸렸다. 패킷 분석 결과 TCP 연결을 종료할 때 공통적으로 병목이 일어남. (1초 내외)처음엔 Zero-window 문제인가 했는데, 패킷 로그를 보니 window size도 문제가 없는 것 같고, FIN_WAIT2 에서 시간이 오래 걸린 것 같은데 원인을 모르겠네요. 참고로 4-way handshaking 의 로그는 다음과 같습니다. (8000 포트가 백엔드 서버, 55032 포트가 프론트엔드의 임시포트로 추정)```65234 21.171396396 127.0.0.1 127.0.0.1 TCP 66 8000 → 55032 [FIN, ACK] Seq=384 Ack=570 Win=65536 Len=0 TSval=2505689308 TSecr=250568930865343 21.213509737 127.0.0.1 127.0.0.1 TCP 66 55032 → 8000 [ACK] Seq=570 Ack=385 Win=65280 Len=0 TSval=2505689351 TSecr=250568930866656 22.900434334 127.0.0.1 127.0.0.1 TCP 66 55032 → 8000 [FIN, ACK] Seq=570 Ack=385 Win=65536 Len=0 TSval=2505691037 TSecr=250568930866657 22.900437554 127.0.0.1 127.0.0.1 TCP 66 8000 → 55032 [ACK] Seq=385 Ack=571 Win=65536 Len=0 TSval=2505691037 TSecr=2505691037``` 정리하자면,DB와 인스턴스 자체의 리소스(cpu, 메모리 등)엔 문제가 없는 것으로 보이고, DB 풀링도 되고 있는 상황에서전체 패킷 로그를 보면 데이터 전송에 오래 걸린 게 아니라 TCP 연결 종료만 오래 걸려서 애플리케이션(nextjs)의 문제라고 결론지으려다가도 캐시 걸린 요청은 문제가 없어서 원인을 특정하기가 무척 힘드네요. FIN_WAIT2 에서 병목이 일어나는데 해결할 방법이 있을까요?다시 한 번 귀에 쏙쏙 들어오는 강의 마련해주셔서 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
getName의 name이 null 로 나오는 이유
메인 화면에서 회원 등록을 하면 name의 값이 null로 되면서 회원 목록에 등록이 되지 않습니다.디버깅 모드를 해도 name = null이라는 결과만 확인할 수 있었고 어디서 틀렸는지를 알 수가 없었습니다.왜 입력한 값이 null로 넘어갔을까요?https://drive.google.com/file/d/1aBZCTKQmP1D1DU2osyB14phEpqfS9bpX/view?usp=sharing코드 첨부된 드라이브 링크입니다 ㅠㅠ
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-E 끝에서 return 1하는건 알겠는데 dp배열을 초기화 안해도 되나요?
왜 안해도 결과가 잘 나오는지 궁금하네요이전 테스트 케이스 결과가 dp에 반영되어있지않나요?테스트 케이스끼리도 같은 구조가 반복되어서 dp를 초기화 안해도 되는건가요
-
해결됨Flutter 중급 3편 - 의존성 주입 가이드
go router 의존성
안녕하세요강의 잘 보고 있습니다. go router 와 dio 를 이용해서 프로젝트를 진행하고 있는데요,dio 에서 interceptor 를 사용해 토큰을 보내고 응답코드에 따라 상태를 보내고 있습니다. 그러나 dio 를 통해 403 코드가 발생했을 시 이전 화면으로 보내거나 로그인 페이지로 보내하는 경우 부득이하게 dio에서 (interceptor) context 를 사용하게 됩니다. 이런 경우 view 에서 부터 view model 을 통해 remote 까지 context를 가져가야하는데 테스트를 어렵게하는 요인이라고 생각이 됩니다. 바람직하게 redirection 을 처리하려면 어떻게 해야 되는지 궁금합니다.감사합니다.
-
미해결비전공 기획자 및 관리자를 위한 IT 필수 지식
강의 교안
안녕하세요~ 강의 감사드립니다.강의자료를 요청드리고 싶어요.ncrystal0727@naver.com 입니다!
-
미해결FreeRTOS 프로그래밍
세마포어삭제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요,vSemaphoreDelete강의에서 (0:29) 세마포어가 삭제되었기때문에 에러메세지가 발생하였다고 하셨는데xSemaphoreGive error(0) found 세마포어 삭제하지 않아도xSemaphoreGive error(0) found출력이 똑같습니다. 잘못 설명하신것 같은데.. 다른 뜻으로 말씀하셨는지요;;? 설명 부탁드립니다.^^
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
BeanCreationException 에러
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]여기에 질문 내용을 남겨주세요.스프링부트 버전 3.x 이상이고 Junit5를 사용해서 build.gradle에 useJUnitPlatform() 추가하고 테스트에서 @RunWith 대신 @ExtendWith를 사용했습니다.그리고 나머지는 자료 그대로 따라했는데 실행시켜보면Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: jakarta/xml/bind/JAXBException이런 에러가 뜨네요.뭐가 문제일까요..?
-
미해결
김영한님 인프런 강의 듣는데 인텔리제이 실행이 안되요
스프링입문 강의 들으려고 하는데 아무리 구글링 해도 여기서 나아가질 못하고 있네요...저 빨간색 에러 표시난 거(빌드오류) 해결하려고 gradle도 설치했는데,이렇게만 계속 나옵니다. 검색해봐도 안드로이드 스튜디오밖에 안나오고요 ㅠㅠ그리고저는 실행이 비활성화 되어 있는데 이건 어떻게 활성화로 바꿀 수 있나요? 어제 저녁부터 진짜 너무 화나고 이것도 제대로 설치 못하는 제자신이 부끄럽네요... 노트북 부숴버리고 싶습니다.도와주세용 ㅠㅠ
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
영상에 나오는 사이트가 궁금합니다.
안녕하세요수업 잘 보고 있습니다.수업 중간중간에 예시 소스 올려져있는 사이트가 있는데 정보를 찾을수가 없어서 문의글 남겨드립니다.감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
21:59에 lazy 초기화 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]21:59초에 영상 내용을 따라 Lazy 초기화 후에 포스트맨을 검색해보았는데 출력이 되지 않고 오류가 떠서 질문드립니다.. 오류를 보아하니 무한루프가 돌아가는것 같은 느낌도 듭니다..오류내용java.lang.IllegalStateException: Cannot call sendError() after the response has been committed 2023-10-24 12:44:32.150 ERROR 46125 --- [nio-8080-exec-4] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite recursion (StackOverflowError); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Infinite recursion (StackOverflowError) (through reference chain: jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]->jpabook.jpashop.domain.Delivery["order"]->jpabook.jpashop.domain.Order["delivery"]-> initDbpackage jpabook.jpashop; import jpabook.jpashop.domain.*; import jpabook.jpashop.domain.Item.Book; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.PostConstruct; import javax.persistence.EntityManager; @Component @RequiredArgsConstructor public class InitDb { private final InitService initService; @PostConstruct public void init() { initService.dbInit1(); initService.dbInit2(); } @Component @Transactional @RequiredArgsConstructor static class InitService { private final EntityManager em; public void dbInit1() { Member member = createMember("userA", "서울", "1", "1111"); em.persist(member); Book book1 = createBook("JPA1 BOOK", 10000, 100); em.persist(book1); Book book2 = createBook("JPA2 BOOK", 20000, 100); em.persist(book2); OrderItem orderItem1 = OrderItem.createOrderItem(book1, 10000, 1); OrderItem orderItem2 = OrderItem.createOrderItem(book2, 20000, 2); Order order = Order.createOrder(member, createDelivery(member), orderItem1, orderItem2); em.persist(order); } public void dbInit2() { Member member = createMember("userB", "진주", "2", "2222"); em.persist(member); Book book1 = createBook("SPRING1 BOOK", 20000, 200); em.persist(book1); Book book2 = createBook("SPRING2 BOOK", 40000, 300); em.persist(book2); Delivery delivery = createDelivery(member); OrderItem orderItem1 = OrderItem.createOrderItem(book1, 20000, 3); OrderItem orderItem2 = OrderItem.createOrderItem(book2, 40000, 4); Order order = Order.createOrder(member, delivery, orderItem1, orderItem2); em.persist(order); } private Member createMember(String name, String city, String street, String zipcode) { Member member = new Member(); member.setName(name); member.setAddress(new Address(city, street, zipcode)); return member; } private Book createBook(String name, int price, int stockQuantity) { Book book = new Book(); book.setName(name); book.setPrice(price); book.setStockQuantity(stockQuantity); return book; } private Delivery createDelivery(Member member) { Delivery delivery = new Delivery(); delivery.setAddress(member.getAddress()); return delivery; } } } OrderSimpleApiControllerpackage jpabook.jpashop.api; import jpabook.jpashop.domain.Order; import jpabook.jpashop.repository.OrderRepository; import jpabook.jpashop.repository.OrderSearch; import lombok.RequiredArgsConstructor; import org.aspectj.weaver.ast.Or; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; /** * XToOne * Order * Order -> Member * Order -> Delivery */ @RestController @RequiredArgsConstructor public class OrderSimpleApiController { private final OrderRepository orderRepository; @GetMapping("/api/v1/simple-orders") public List<Order> ordersV1(){ List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { order.getMember().getName(); //Lazy 강제 초기화 order.getDelivery().getAddress(); //Lazy 강제 초기화 } return all; } } JpashopApplicationpackage jpabook.jpashop; import com.fasterxml.jackson.datatype.hibernate5.Hibernate5Module; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; @SpringBootApplication public class JpashopApplication { public static void main(String[] args) { SpringApplication.run(JpashopApplication.class, args); } @Bean Hibernate5Module hibernate5Module(){ Hibernate5Module hibernate5Module = new Hibernate5Module(); return hibernate5Module; } }코드도 같이 올렸습니다.. 무엇이 다른건지 잘 모르겠습니다..