안녕하세요 선생님 오류는 아니고 쫌 엉뚱한질문인데 다이어리 로컬스토리지 로딩 기능 구현중에 function App () { const [IsLoading, setIsLoading] = useState(true); 이 state가 true 이면 if (IsLoading) { return <div>로딩 중</div>; } 화면에 로딩중으로 렌더링 하게 코딩을 했는데 아무리 새로고침 해봐도 화면에 로딩 중 찍히는 걸 볼 수 가 없는데 이유는 너무 빨리 지나가서 제가 볼 수가 없는건가요? 그렇다면 유즈이팩트 사용 여부에따라 마운트 할 때 화면을 두번 그리게 되는건가요?
질문 남겨주셔서 감사합니다. 막히면 언제든 무엇이든 자주 질문 던져주세요. 수학/과학이나 알고리즘과는 달리업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다.다시 말씀드리지만, 질문을 자주자주 남겨주세요. 저도 최대한 빠르게 회신 드리겠습니다. 당부드릴 두 가지가 있습니다. ① 가급적 구체적으로 설명해주세요. ② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ ====================================pyhwpx 라이브러리 사용 중 문의드립니다.win32라이브러리로 창을 키워뒀다가 pyhwpx로 텍스트를 삽입하기 위해 객체를 선언하면다시 창이 작아지는 문제가 있습니다.pyhwpx에서 한글 창을 최대로 키우는 코드가 무엇일까요?pyhwpx는 관련 정보를 찾을 수가 없어 문의드립니다.늘 감사합니다.
로직 상 서가가 등록될 때 서고id가 null값이 되면 안되는 경우에서 서가 id와 서고 id를 둘 다 primary key를 주셨는데 서가 id만 primary key 주고 서고 id는 not null 조건으로 해서 테이블 설계 해도 되는지요? 만약 된다면 두 방식의 장단점도 설명해주시면 감사하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 0으로 하셨다가 1로 변경하신 이유가 이해가 안 됩니다 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] <영한님 코드> public static void printV2 ( Shuttle < ? extends BioUnit > t1) { BioUnit unit = t1. out (); System .out. println ( "이름: " + unit. getName () + ", HP: " + unit. getHp ()); } <제 코드> public static void printV2(Shuttle<? extends BioUnit> shuttle) { shuttle.showInfo(); } 저는 매개변수 shuttle이 어차피 Shuttle 타입으로 넘어온다고 생각해서 바로 shuttle에서 작성한 메서드를 사용했는데, 제가 생각하는게 맞는지, 또 t1.out()에서 반환되는 값을 받아서 사용하는 것이 더 이점이 있는지 궁금합니다!
안녕하세요 섹션2 C언어 파트에서 함수와 재귀함수 강의 중 질문 있습니다. 포인터를 입력값으로 받는 함수 예시 중에서, 입력값으로 char *str으로 되어있고 이거는 주소값을 저장하는 포인터 변수인데 printf 로 출력할 때 str이 주소값이 아니라 문자열인가요?? %s\n 이라서 그런가요? myString[] 이 가지고 있는 가장 첫번째 값의 주소가 전달되었다고 하는데 "입력된 문자열 :" 뒷부분에 주소값이 아닌 문자열이 출력되는 이유를 모르겠습니다....ㅠ 주소값이 저장되는 변수인 포인터 변수가 들어오는 거면 저장된 값이 주소값인 거로 이해되는데 출력은 문자열이라서 이 포인트가 이해 안 돼요.. 그리고 보다보니 의문이 생겨서 질문 하나 더 있습니다! main() 실행함수 안에서 char myString[] = "this is String"; 하고 printString메서드 호출할 때 printString(myString[]) 이 아닌 printString(myString) 배열 []를 빼주고 이름만 써주는 걸까요?! 같이 설명해 주시면 감사하겠습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] ItemService 테스트 코드입니다. @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class ItemServiceTest { @Autowired ItemRepository itemRepository; @Autowired ItemService itemService; @Test public void 상품저장() throws Exception { //given Item item = getItem("JPA book", 10000, 100); itemService.save(item); //when Item findItem = itemService.findById(item.getId()); //then // assertThat(item).isEqualTo(findItem); assertEquals(item, findItem); } @Test public void 상품조회() throws Exception { //given Item item1 = getItem("JPA book1", 10000, 100); Item item2 = getItem("JPA book2", 20000, 100); itemService.save(item1); itemService.save(item2); //when List<Item> findAll = itemService.findAll(); Item findItem1 = itemService.findById(item1.getId()); //then assertThat(findAll.size()).isEqualTo(2); //전체조회 assertThat(item1).isEqualTo(findItem1); //단건조회 } @Test public void 상품변경() throws Exception { //given //when //then } private static Item getItem(String name, int price, int stockQuantity) { Item item = new Book(); item.setName(name); item.setPrice(price); item.setStockQuantity(stockQuantity); return item; } } 상품 저장과 조회에 대한 테스트 코드를 작성해보았는데 혹시 수정해야 할 부분이 있는지 궁금합니다. 상품 저장 시 item.getId() == null 이 아닐 때 merge 하도록 되어있는 부분에 대해서도 테스트를 해야할 것 같은데, 어떻게 테스트할지에 대해 방향성을 알려주시면 감사하겠습니다.
안녕하세요 문제 풀다가 메모리 초과 관련해서 질문이 있어서 질문드립니다. 노드들 신뢰 관계를 2차원 배열 h[10001][10001] 로 선언하면 메모리 초과가 발생하고 vector<int> h[10001]로 선언하면 발생하지 않습니다. 동적으로 선언해도 최대 범위에 도달하게 되면 똑같은 메모리를 쓰는것 아닌가요?? vector선언시 메모리 초과가 발생하지않는지 궁금합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. http://boj.kr/d0e317b2e09d48c6b80b31418d2b9fa4 정답이라고는 뜨는데-merge 함수에서 int sum; 이렇게 적으면 틀렸다고 나오더라구요..왜 그러는지랑 괜찮게 작성한 코드인지 궁금합니다!!
https://github.com/nadazelda/androidKotlinStudy.git 노트북에서 가상머신 띄우기엔 너무 느려서;; 제 개인 핸드폰으로 실행하는데 firebase 연결이 안되고 있어요 git에 소스 올려뒀습니다 _ori가 강의자료고 mysololife 가 지금 제가 작성하는거에요
강의를 보다가 궁금한 점이 생겨서 질문드립니다. 김영한 선생님 강의에서 다른 자바 강의들에서도 스캐너를 사용하시고 close() 메서드로 닫지 않으시는데요. 챗지피티도 그렇고 검색해보니 스캐너를 닫아주는게 좋다고 하는데, 왜 닫아야 하는 건가요? 그리고 닫는게 맞는거면 왜 강의에서 닫지 않으시는지 궁금합니다. 김영한 선생님 뿐 아니라 다른 많은 강의에서도 스캐너를 잘 닫지 않더라고요. 자바가 아닌 시스템 자체에서 input 자원을 가져오는 거기 때문에 닫아줘야 한다고 하던데, 이 점이 궁금합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] sql 쓰기 지연 저장소에 쿼리가 저장되는 타이밍이 헷갈립니다 em.find() 이후 member.setXXX 같은 경우는 트랜잭션 커밋 호출 -> 플러시 호출 -> 스냅샷, 1차 캐시 비교 -> 다르면 쓰지 지연 저장소에 쿼리 생성해서 저장 em.remove는 수정과 동일하게 동작 Member 객체 생성해서 em.persist(memberNew) 같은 경우에는 persist 하는 순간 1차 캐시, 스냅샷 저장 + 쓰기 지연 저장소에 쿼리도 생성해서 저장 해당 순서가 맞을까요?
회원 기능 테스트에서 계속 막혀서 전부 다 복붙하고 해봐도 오류가 납니다 이거 왜이런걸까요? 우선 프로젝트 전체 구글 드라이브에 공유해뒀습니다. https://drive.google.com/file/d/1jEOFgnIZ2fRBWTDKmYaA3lnrid-0i10E/view?usp=drive_link
선생님 #3. 정책 개선 #policy_stable <- true policy_stable = True old_pi = pi #각 s에 대해: for s in range(num_states): # pi_s <- argmax_a(sum(p(s',r|s,a)*[r + gamma*V(s')])) new_action_values = np.zeros(num_actions) for a in range(num_actions): for prob, s_, r, _ in transitions[s][a]: new_action_values[a] += prob * (r + GAMMA * V[s_]) new_action = np.argmax(new_action_values) pi[s] = np.eye(num_actions)[new_action] if old_pi.all() != pi.all(): policy_stable = False 여기 최적 정책을 업데이트 하는 과정을 디버깅 하는 과정에서 old.pi = pi 에서 메모리를 공유 해서 pi[s]를 업데이트를 같이 해서 무조건 아래서 if old_pi.all() != pi.all(): 구문은 True가 나오게 되어 있는데 의도한 바는 old_pi = copy.deepcopy(pi) 로 코드를 바꾸는게 맞나요?