em.flush() em.clear를 해야지만 findTeam.getMembers()를 통해서 members조회가 가능하더라구요. 제가 이해한 바로는 Team안에 @OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>(); 이렇게 되어있지만 우리가 members에 대해서 설정한 부분이 없다. 여기까지는 이해했습니다. 그렇다면 이렇게 설정하고 DB에 flush를 하면 JPA가 알아서 Team에 대한 members를 넣어주는건가요? 아니면 em.find(Member.class,member.getId())를 했을 때에 JPA가 members를 찾아주나요? 이것이 궁금합니다.
클론코딩 무작정 하다보니 이 부분은 제가 제대로 이해하고 있는 기분이 들지 않아서 다 지우고 해당 기능 구현에 대해서 혼자서 코딩해보고 있는데, 막막하네요.제가 막무가내로 짠 코드 고쳐봤자 의미가 없어서 다시 생각해서 짜보려고 하는데, 어떤 어떤 부분을 순서대로 구현해야 하는지 핵심만 힌트로 알려주실 수 있을까요?
안녕하세요 현재 자바의 정석 : 기초편으로 컬렉션 프레임워크를 학습하고 있습니다. 학습 중 comparable과 comparaor가 잘 이해가 되지 않아서 질문을 드립니다. public static void main(String[] args) { String[] strArr = {"cat" , "Dog" , "lion" , "tiger"}; Integer[] intArr = {1,5,3,4,7,2,6}; Arrays.sort(intArr); System.out.println(Arrays.toString(intArr)); Arrays.sort(intArr, new Descending()); System.out.println(Arrays.toString(intArr)); Arrays.sort(strArr); System.out.println("Arrays.sort(strArr) = " + Arrays.toString(strArr)); //정렬한 후 [Dog, cat, lion, tiger] Arrays.sort(strArr , String.CASE_INSENSITIVE_ORDER); System.out.println("strArr = " + Arrays.toString(strArr)); //대소문자 구별 X = > [cat, Dog, lion, tiger] System.out.println(Arrays.toString(strArr)); Arrays.sort(strArr , new Descending()); System.out.println("strArr = " + Arrays.toString(strArr)); } class Descending implements Comparator{ @Override public int compare(Object o1, Object o2) { if(o1 instanceof Comparable && o2 instanceof Comparable ){ Comparable c1 = (Comparable)o1; Comparable c2 = (Comparable)o2; return c1.compareTo(c2)*-1; } return -1; } 현재 제가 이해한 부분은 다음과 같습니다. 정렬은 두 대상을 비교하고 자리바꿈을 하는 것 정렬을 위해서는 정렬에 대한 기준이 필요하다 하지만 Array.sort(strArr); 정렬에 대한 대상은 존재하지만 정렬에 대한 기준이 없다. String , Integer 등과 같은 클래스는 comparable이 구현되어 있다. 따라서 sort메서드를 실행할 때 정렬에 대한 기준이 x => 기본적으로 오름차순으로 정렬한다. strArr은 오름차순으로 정렬된 값이다. Arraty.sort(strArr , String.CASE _INSENSTIVE_ORDER); strArr([Dog, cat, lion, tiger])을 대소문자 상관없이 정렬 따라서 strArr = {cat,Dog, lion, tiger} 순으로 정렬된다. Array.sort(strArr , new Descending()); strArr를 사용자 정의 정렬 기준으로 정렬한다. 제가 이해가 되지 않는 부분은 다음과 같습니다. Descending 클래스를 디버깅을 해보았으며 o1에는 Dog가 들어오고 o2는 cat이 들어가는데 왜 그런지 모르겠습니다. strArr = {cat,Dog, lion, tiger}인데 왜 Dog가 o1에 들어가고 cat이 o2에 들어가고 또한 o2가 더 크니 음수를 리턴하는데 각 각 char의 총합의 차를 반환하는 것인가요? 디버깅 이후 스텝 오버를 해봤습니다. o1에는 lion이 들어가고 o2에는 Dog가 들어가던데 왜 그러한지 잘 모르겠습니다. 그리고 int[]도 확인해보았는데 오름차순으로 정렬되었으니 [1,2,3,4,5,6,7] 이며 Descending에 디버깅을 해보았는데 o1에는 2가 o2에는1이 스텝오버를 하니 o1에는 3이 o2에는 2가 대입되더라구요 이것 또한 잘 이해가 되지 않아서 질문을 드립니다.
LoginModal.tsx 클라이언트 컴포넌트에서 로그인 호출시 http://localhost:9090/api/auth/error?error=CallbackRouteError 로 넘어가서 질문드립니다. (9090서버 열린 것 확인했습니다) 비슷한 질문에 대한 답변에 버전 문제가 있어서 버전도 다시 설정해보았습니다. 그런데도 여전히 로그인 함수 호출 시 http://localhost:9090/api/auth/error?error=CallbackRouteErro r 로 리턴되고 있어서요. 터미널에는 아래와 같은 오류가 나옵니다..ㅜㅜ
첫번째처럼 코드 작성했는데, padding을 입력하기 전과 후가 차이가 안 나고 박스1,2,3이 계속 같은 크기예요. 제가 뭘 잘못한 걸까요?ㅠㅠ contentbox와 borderbox 크기 차이가 강의영상처럼 안 나타나서 뭘 잘못했나 싶네요.... 알려주시면 감사하겠습니다!
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
AuthProvider에서 useEffect를 추가해서 loadUser가 호출되도록 해주었는데 모든 페이지 접근시 2번씩 호출되는 원인이 무엇일까요? // app.tsx <AuthProvider> <Component {...pageProps} /> </AuthProvider> // AuthProvider useEffect(() => { async function loadUser() { try { const res = await axios.get("/auth/me"); dispatch("LOGIN", res.data); } catch (error) { console.log(error); } finally { dispatch("STOP_LOADING"); } } console.log("loadUser"); loadUser(); }, []); 그리고 커뮤니티 생성 페이지에서는 getServerSideProps를 선언해두었기 때문에 여기서도 /auth/me api 를 호출해주어서 결국 커뮤니티 생성 페이지에서만 총 3번이 호출되고 있어요. 제가 잘못 구현한 것일까요? 정리하자면, 1. 현재 코드에서는 loadUser() 메서드가 1회만 호출되어야 할 것 같은데, 2번 호출되는 이유는 무엇인지? 2. 커뮤니티 생성 페이지에서는 /auth/me api를 3번 호출하고 있는데, 횟수를 줄일 수 있는지? (이건 url 직접 입력해서 들어가지 않으면 1회만 호출할 것 같긴 하네요.) 서버 로그입니다.(각각 커뮤니티 생성 페이지, 로그인 페이지)
css배우기 예제 실습 중에 질문이 생겼습니다! <link href="./02-signup.css" 까지 연결하고 난 이후에, tㅓㄴ생님께서 rel 입력하신 것처럼 바로 아래에 자동으로 속성 연결할 수 있는 리스트들이 안 뜨고, 그냥 흰색으로 텍스트로 인식되는 것 같아요! 이럴 때는 어떻게 해야하나요?ㅠㅠ 선생님께서 작성하신 코드랑 똑같이 작성했습니다!
[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c 0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다. 1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다. 2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다. 3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요. 4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요. 5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다. 6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 수업내용과 관계없이 궁금해서 질문드립니다.두개를 같이 사용했을 때 안 좋은 점이라던지 한가지만 사용해야된다면 그 이유가 궁금합니다.
서버 컴포넌트에서 Server Actions 사용하기 부분 수강 중에 오류가 발생하여 질문드립니다! 회원가입 양식 작성 후 form action 요청 시 response에 아무런 응답이 없는데 원인을 모르겠습니다.. 터미널에서 아래와 같은 내용이 뜨긴 해요. 저는 localhost:3002 번으로 열었습니다.
해당 포트가 9090인지 아닌지 어떻게 알 수 있나요? 어떤 환경이든 기본값이 9090인 것인가요? 보통 코드 실행할 때 클라이언트 로컬호스트 번호는 3000인 것처럼요? 그런데 실습에서 3000이 아니라 3001로 실행된것처럼 서버포트가 달라질 수도 있을까요? 그럴 때는 어떻게 확인해야하죠?
안녕하세요. 강의 잘 듣고 업무에 활용 중 입니다. 감사합니다. 업무에 활용 중 문의사항이 있어서 질문 드립니다. next.js 문서를 참고하여 docker 이미지로 next.js application을 배포 했습니다. https://nextjs.org/docs/app/building-your-application/deploying#docker-image 프로젝트 특성 때문에 하나의 docker 이미지가 phase마다 동일하게 사용이 되는데요. phase별로 환경설정 값들이 달라서 . evn.dev , .env.beta, .env.real등으로 사용을 하고 싶은데요. server가 로드될때 .env.[phase] 를 로드하는 방법에 대해 알고 싶습니다. 가능하면 next.js가 지원하는 방법으로 구현을 했으면 싶은데요. 가이드를 읽어봐도 이해가 잘 안되어서 문의 남깁니다. https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables 감사합니다.
next.js에서 서버컴포넌트에 데이터 패칭할 때 13버전 이후부터는 const fetchPosts = async () => { const response = await fetch("URL", { cache: "no-store", }); return response.json(); }; cache설정으로, ssr, ssg를 한다고 들었습니다. 이때, 궁금한게 있어요. 1. get방식, post방식 등, 어떻게 구별하나요? 2. 만약 보낼때, header에 토큰값을 보내거나 할 때, 서버컴포넌트에서 어떻게 처리하나요? 그때도 cache설정만 해주면, ssr이 적용 되나요??
msw로 Front에서 미리 만들때 요령이 있나요? 백앤드개발자와 api로 전달 될 값을 json으로 주겠다, 배열로 주겠다, 스트링값으로 주겠다 확정을 짓고 msw를 만들어서 작업해야 하는건가요? msw에서 json으로 만들때 데이터의 구성요소들을 제가 작업한것과 다르게 배열로 준다거나 json안에 데이터의 구조가 예상과 다르게 주면 그에따라 수정이 너무 많이 생길 거 같은데 제가 너무 쓸데없는 걱정하는건가요?