4강 레퍼클래스 로또 번호 생성기 질문 있습니다. package class04wrapperClass; import java.util.Random; public class Lottery { public static void main(String args[]) { //랜덤 생성자 선언 ==> 로또 값이 그때 그때 바뀜 Random random = new Random(); //로또 범위 지정 배열 int[] randomArray = new int[6]; //로또 배열에 로또 값 넣기 for (int i = 0; i < randomArray.length; i++) { int randomValue=random.nextInt(45)+1; randomArray[i]=randomValue; if (randomArray[i]==randomArray[i++]||randomArray[i]==0) randomArray[i]=random.nextInt(45)+1; } for(int i =0; i<randomArray.length; i++){ System.out.print(randomArray[i]+" , "); } } } 이렇게 풀었는데 이것도 올바른 풀이 일까요???
import React, { useState, MouseEvent } from "react"; import * as S from "./mypoint.index.styles"; import TapPointLoading from "./mypoint_loading"; import TapPointBuying from "./mypoint_buying"; import TapPointAll from "./mypoint_all"; import TapPointSelling from "./mypoint_selling"; export default function MyPoint(): JSX.Element { const [selectedValue, setSelectedValue] = useState<{ name: string; index: number; }>({ name: "전체내역", index: 0, }); const MyPageHeadInfoButton = [ { name: "전체내역", component: <TapPointAll /> }, { name: "충전내역", component: <TapPointLoading /> }, { name: "구매내역", component: <TapPointBuying /> }, { name: "판매내역", component: <TapPointSelling /> }, ]; const onClickTap = ( event: MouseEvent<HTMLDivElement>, index: number ): void => { const newValue = event.currentTarget.id; setSelectedValue({ name: newValue, index, }); }; // 버튼 클릭으로 해당 data 값을 보여주기 위함 const renderData = (): JSX.Element | undefined => { return ( <S.TableWrap> {/* 해당 탭의 배열의 객체 name통해 컴포넌트 가져옴 */} {MyPageHeadInfoButton.map((el) => { if (el.name === selectedValue.name && el.component) { return <div key={el.name}>{el.component}</div>; } return null; })} </S.TableWrap> ); }; return ( <S.Wrap> <S.MyPageHeadWrap> <S.MyPageHeadBtn> {/* 서브 탭 버튼 */} {MyPageHeadInfoButton.map((el, index) => ( <S.MyPageInfoBtn key={el.name} id={el.name} onClick={(event) => onClickTap(event, index)} selected={selectedValue.name === el.name} > {el.name} </S.MyPageInfoBtn> ))} </S.MyPageHeadBtn> </S.MyPageHeadWrap> <S.MyPageBodyWrap> {/* 해당 탭 data */} <div>{renderData()}</div> </S.MyPageBodyWrap> </S.Wrap> ); } 이렇게 탭을 클릭을 해서 해당 컴포넌트가 보이도록 했습니다. 그러면서 각각의 API data도 받아와 cache에 저장을 하도록 해 추가 API 요청이 일어나지 않도록 했는데 여기서 로그아웃을 하고 다른 아이디로 로그인을 하면 이전의 로그인 했던 data가 그대로 남아있어 최신 data를 가져오기 위해 여러가지 방법으로 시도했습니다. 로그아웃 시 useApolloClient를 활용해 cache를 삭제 했습니다. 이렇게 하면 다시 로그인 한 유저의 data를 잘 가져오는데 로그아웃을 하면서 cache data가 삭제되니 다른 API, Board, Markets 등 해당 page의 사용한 query문의 data를 다시 요청하는 문제가 있습니다. refetch()로 query문을 선언하면 해당 refetch()를 실행하지 않아도 API 요청이 일어나 refetchQueries를 사용해 data 최신화 하려는데 그렇게 되면 모든 탭을 refetch 해줘야 되는 문제가 있습니다. 각 탭 이동마다 API 요청 나가는게 싫어서 fetchporicy나 refetch()를 사용 하지 않았는데 보통 어떻게 사용을 하나요? 로그인에 의한 data는 탭 이동마다 refetch를 시켜주는게 좋을까요? 그리고 구매, 충전 등 하면 바로 MyPoint에 업데이트 되도록 client.writeQuery / readQeury 나 refetchQueries를 사용했는데 이런 결제 정보 같은거는 refetch로 실시간으로 data를 가져오는게 좋겠죠? 로그인, 로그아웃은 LayoutHeader에서 사용하고 있습니다.
안녕하세요. 이전 7강의 메모리 구조와 헷갈리는 부분이 있어서 질문드립니다. 7강의 자바 메모리 구조에서는 다음과 같이 메서드는 공통됐기 때문에 메서드 영역에서 관리한다고 이해했습니다. 그러나 상속 부분에서는 힙영역에서 메서드를 관리하고 사용하는 것처럼 되어있어서 헷갈립니다. 설명을 편리하게 하고자 이렇게 설명하신 걸까요?? 잘못 이해한 부분이 어딘지 모르겠습니다 ㅠㅠ 감사합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] jpql 구문이 실행될 때 flush가 자동으로 호출 된다고 하셨는데 당연히 flush로 쓰기 지연 SQL 저장소에 있는 쿼리들을 데이터베이스에 반영하고 commit 한 후 jpql 구문이 실행되는거겠죠?
테스트 코드는 오류 없이 초록불이 뜨는데 DB 내 테이블 생성이 안 됩니다. 강사님의 다른 강의와, 응용 프로젝트를 만들어 볼 땐 잘 됐어서 자주 묻는 질문들을 참고해도 어느 곳이 문제인지 잘 모르겠네요ㅠㅠ.. 일단 올려두고 계속 방법을 찾아보겠습니다! package jpabook.jpashop; import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.junit.Assert.*; @RunWith(SpringRunner.class) @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() throws Exception{ //given Member member = new Member(); member.setUsername("memberA"); //when //ctrl+alt+v 변수 뽑기 Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); Assertions.assertThat(findMember).isEqualTo(member); //JPA 엔티티 동일성 보장 } } spring: application: name: jpashop #port번호 설정 server: port: 8050 #DB datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver #JPA jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging: level: org.hibernate.SQL: debug org.hibernate.orm.jdbc.bind: trace
강의 14분쯤에서 모델을 변경하는 부분입니다. 케라스가 업데이트 된 건지는 잘 모르겠지만 아래 부분에서 시퀀셜 모델이 레이어를 단일 값으로 받을 수 없어 에러가 납니다. encoder = Sequential(Dense(2, input_shape=(3, ))) decoder = Sequential(Dense(3, input_shape=(2, ))) autoencoder = Sequential([encoder, decoder]) autoencoder.summary() 아래 처럼 괄호로 감싸 리스트로 넘기면 해결됩니다. encoder = Sequential([Dense(2, input_shape=(3, ))]) decoder = Sequential([Dense(3, input_shape=(2, ))]) autoencoder = Sequential([encoder, decoder]) autoencoder.summary()
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. gradlew build를 하면 계속 오류가 떠서 게시판 글들을 살펴보았는데요. V3 실시간 검사를 해제하면 된다는 이야기가 있길래 해보려고 했는데, 비밀번호가 걸려있어서 실시간 검사 해제가 안 됩니다..인터넷 검색을 해도 비밀번호를 찾는 방법은 안 나오네요. 이거 때문에 지금 이틀 동안 진도가 안 나가는데 어떻게 해야 할까요?
MyLinkedListV3 stringList = new MyLinkedListV3<>(); 에서는 <> 가 있어야 하는데 왜 MyLinkedListV3 stringList = new MyLinkedListV3[CAPACITY]; 에서는 <> 를 쓰면 안되는지 궁금합니다.
2:30 를 보면 영한님께서 해시 테이블에서 Linkedlist 를 전체 버킷의 컨테이너로 사용하셨는데, ArrayList 를 전체 버킷의 컨테이너로 사용해도 전혀 문제가 없지 않나요 ? 따라서, 해시 테이블에서 ArrayList 를 전체 버킷의 컨테이너로 사용하고, 각 버킷 내에서는 LinkedList 를 사용해 충돌을 처리하는 방법도 괜찮지 않나요 ?
안녕 하세요. 궁금증이 생겨서 질문을 남깁니다. 공식 서포터즈님들의 댓글 들을 보다가, "이분 들은 강의를 완강하는데 얼마나 걸리까?"라는 생각을 하게 되었습니다. 뜬금없는 질문이긴 합니다만, 만약에 시간의 여유가 아주 넘쳐 난다면 , 공식 서포즈님들 이나, 정식 개발자 분들(개발자로 취직하신 분이시거나 프리랜서 등등)은, 영한님의 강의 중급1편, 중급 2편을 완강(체득 포함)하는데 시간이 얼마나 걸리나요? 답변 부탁 드립니다.
안녕하세요. 의존성 주입 연습하기 강의 중 10:30 쯤에서 test 하는 중 java.lang.IllegalStateException: Failed to load ApplicationContext 예외가 발생했습니다. 여러 가지 자료들을 검색해 보고 시도해봤으나 안 됩니다. 어떻게 하면 되는지요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 안녕하세요! 항상 좋은 강의 감사드립니다. v2 버전의 경우 Controller에서 request를 받아서 Member 로 변환 후 service에 넘겨주셨는데 memberService.join(member) memberService.join(request) 처럼 request를 바로 넘기기고 서비스에서 엔티티로 변환시켜도 상관 없을까요? 보통 실무에서는 어떤식으로 진행되는지 질문드립니다!
안녕하세요. AuthorizationEndpoint.baseUri(”~~”) 는 OAuth2 로그인 단계중에서 1단계에 해당하는 code, state 값 등을 받아서 처리하는 부분의 uri를 변경하는게 맞을까요? 아니면, 클라이언트가 로그인할때 인가서버로 요청을 보낼때 이를 처리할 인가서버의 경로로 사용되어지는 경로일까요?
이 부분에서 '기본 정렬 외에 다른 정렬 방법을 사용해야 하는 경우'가 잘 이해가 되지 않는데요. 예를 들어, MyUser에서 age는 int형이라서 '<' 비교 연산이 가능하지만 id는 String이라 비교 연산을 할 수 없기 때문에 Comparable이 아닌 Comparator를 사용하는 건가요? '기본 정렬 외에 다른 정렬 방법을 사용해야 하는 경우'가 이러한 경우를 의미하는 건가요?? 만약 그렇다면 SortMain2에서 AscComparator, DescComparator를 Comparable이 아닌 Comparator로 구현한 이유가 무엇인가요?