안녕하세요 해당 영상을 통해 학습하고 따로 프로젝트를 진행하는 중에 서버 컴포넌트에서 data를 fetch하고 api 상태코드에 따라서 next에서 제공하는 error.tsx에서 해당 에러 상태에 따라 모달에 메세지를 띄우는 작업을 하고 있습니다. 로컬 환경에서 실행시켰을때는 정상적으로 error status가 523이 발생했을때 정상적인 메세지를 받아서 error.tsx 화면에서 해당 에러 메세지를 모달에 띄우나 빌드 후 실행시켰을 때에는 An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error. 모달안의 메세지에 이러한 문구가 뜹니다. 아무리 찾아봐도 정확한 원인을 모르겠는데 혹시 해결방법을 아실까요? 다국어 처리 라이브러리는 next-intl를 사용하였습니다. /note/page.tsx async function fetchSharedNote(guid: string) { try { const res = await fetch( `${process.env.API_SERVER_URL}/v1/...`, { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(guid), } ); if (res.ok) { return res.json(); } else { const errorData = await res.json(); throw errorData; } } catch (err: any) { const t = await getTranslations("Index"); if (err.status === RestApiErrorType.notExistResourceException) { throw new Error(t("error523")); } throw new Error(err.message); } } /note/error.tsx "use client"; // Error components must be Client Components import CommonDialog from "@/app/_components/CommonDialog/index"; import { useState } from "react"; export default function Error({ error, }: { error: Error & { digest?: string }; reset: () => void; }) { const [showDialog, setShowDialog] = useState(!!error.message); return ( <CommonDialog isShow={showDialog} contents={error.message} onClick={() => { setShowDialog(false); }} /> ); }
안녕하세요 https://www.inflearn.com/questions/1207899/%EC%8A%A4%ED%82%A4%EB%A7%88-%ED%98%B8%ED%99%98%EC%84%B1-%EC%A7%88%EB%AC%B8%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4 이 질문에 대한 추가 질문이 있습니다. BACKWARD에 대해 지원하는 신규 스키마 변경에서 기존 필드 삭제, 기본 값 가진 신규 필드 추가 이 부분은 sink쪽 스키마에서의 변경에 대한 내용인 것은 맞는건가요? 예를 들어 스키마 호환성 체크에서 새로 추가되는 컬럼이 기본 값을 가지고 있지 않으면 하위 호환성 오류다. 라는 문장이 있다면 "sink 쪽에서" 새로 추가되는 컬럼이 기본 값을 가지고 있지 않으면 하위 호환성 오류다. 라고 해석하는 것이 맞는지 질문드립니다.
안녕하세요. Session에서 _recvArgs.SetBuffer() 하는 부분에서 궁금증이 생겼습니다. _recvBuffer.WriteSegment는 다음에 올 패킷 사이즈가 어느 정도인지 모르니 버퍼의 offset + writePos부터 여유공간 끝까지(FreeSize)를 뭉탱이로 가리켜서 주는걸로 이해했습니다. 그리고 _recvArgs는 WriteSegment가 가리키는 공간을 자신의 버퍼로 사용합니다. 만약, 실제로 보내고자 했던 패킷의 사이즈가 10인데, _recvArgs의 FreeSize가 5라면, 소켓은 일단 5만큼만 버퍼에 넣은 다음에 버리고, 나머지 5만큼의 재전송을 요청하는 건가요? 아니면 아예 버리고 재전송을 요청하는건가요? 그것도 아니라면 물밑(하위 레이어)에서 버퍼가 꽉 찼다는 신호를 서로 주고받아서 혼잡(?)이라 판단하고 애초에 보내지 않고 기다리는건가요? (버퍼가 비어지길 기다리다가 지치면 Disconnect 혹은 Loss?) 그리고 RecvBuffer의 Buffer가 TCP 이론을 배울 때 말하는 window size와 직접적으로 연관되는 건가요? 아니면 소켓 별도의 버퍼가 또 따로 있는건가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 로그인 하지 않을 때 isAnonymous() 는 동작하는데 로그인 하고 isAuthenticated() 는 동작 하지 않아서 top 메뉴에 로그아웃이 보이지 않네요 로그인 처리가 잘 안돼서 그런건가요 ??
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] intellij 에서 로케일 티폴트를 찍으면 en-us라고 나오는데 시스템 os locale은 한국입니다. locale.korea 라고 했을 때 messages_kr 파일이 없어 messages.properties(디폴트) 를 먼저 찾아 테스트가 동작한다는 설명은 이해했습니다. (locale null 대신 locale.korea로 테스트성공) 하지만 null값으로 주게 되면 시스템 os 를 먼저 찾고(저의 경우 kr) -> messages_kr이 없으니 그대로 messages.properties 를 찾을 줄 알았으나 messages_ en.properties 를 계속해서 참조했습니다. (아래) default값을 찍어보니 맨 위 사진처럼 intellij에서 디폴트값을 us로 인식하고 있었습니다. 혹시 어떻게 해결해야 할까요?
안녕하세요 강사님. c++ 초보 학생입니다. 재귀함수로 만드는 순열 강의를 듣는 중에 3:18 전까지는 이해가 되나 3:18에서 코드를 보면 for 문에서 i =depth 즉 0으로 시작하므로 swap(v[0], v[0])이 된 이후에 makePermutation(3, 3, 1)이 실행되는 것 아닌가요? 강의 설명중 swap이 0,0 후에 1,0 그리고 2,0 까지 일어난다는 것이 코드상 이해되지 않습니다. 어째서일까요??
안녕하세요? 질문 그대로 upsert를 insert보다 권장하시는 이유는 그냥 편의적인 이유인가요? 어떤 성능상의 이유가 있는지, 유니크함을 보장하기 위한 수단인건지 등등 단순히 편의적인 이유이상의 무엇인가가 있는지 궁금합니다.(즉, 반대로 편하다는 이유만으로도 사용해도 되는지 궁금하네요)
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
오픈 API에 한국환경공단_에어코리아_대기오염정보 은 찾았는데 영상처럼 한국환경공단_대기오염정보는 보이지 않네요..ㅠ 시도별 실시간 측정정보 조회도 검색이 안되고 혹시 영상 파일을 공유해 주실 수 있나요? https://www.data.go.kr/data/15073861/openapi.do
안녕하세요 큰돌님! 강의 재미있게 잘 듣고 있습니다 ㅎㅎ 1-O번을 혼자 풀어서 맞추긴 했는데... 큰돌님 풀이 방식이랑은 좀 다르기도 하고, while문을 중첩해서 쓴 게 시간복잡도 때문에 마음에 걸려서요. - 코드 : http://boj.kr/a5eb7d7c669c408882d3004546fb537d 저 같은 경우는 아래와 같은 방식으로 생각하고 구현하였습니다. 1. 입력범위를 먼저 보고 ( 1 <= n <= 10000) 2. 1, 11, 111, 1111을 제외하고는 맨 뒷자리가 1이 나오는 n의 값은 3, 7, 9 밖에 없다는 걸 깨달음 3. 나눗셈을 할때 나머지에 10을 곱해서 다음 자리수에 더해 다시 나눠서 계산하는 방식을 차용. 다시 말해 나눗셈을 할 때, 윗자리부터 몫과 나머지를 구하고, 나머지를 윗자리 몫을 구하고 남은 나누어지는 수에 더해서 다시 나누는 방식을 사용하기로 함. (배수이면 언젠간 나누어 떨어지므로) 4. 코드상으로 시간 복잡도는 좋지 않아보이지 않았지만, 주어진 범위내에서는 111...11 자리수가 20이 넘어가더라도 한번의 테스트 케이스에서 대략 20번만 수행하면 되므로 그대로 구현해보았음. 혹시 이런 경우에 테스트 케이스를 맞췄더라도, 시간 복잡도를 고려해서 더 나은 방법을 고민해보는게 좋을까요?
안녕하세요! 알림 보고 바로 수강신청했습니다 ㅎㅎ 그런데 강의 자료를 열어보니 06_lazyLoading/4_r 이 쓰여지고는 있는데 폴더가 없네요... const LazyImage = dynamic(() => import('@/components/06_lazyLoading/4_r/lazyImage'), { ssr: false }) 실행도 못해보고 터져버린 앱... ㅠㅠ
[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. role 을 추가하자마자 다음과 같은 에러상황이 발생하였습니다. 강의순서랑 동일하게 따라가서 특별하게 더 한건 없는데요, 기존 entity 파일에서 role 생성하고 column 에서 선언해주고나서 저장하자마자 바로 이런 오류가 납니다. 혹시나 불러오기 에러인가 싶어서 강의를 꼼꼼히 보면서 동일한 위치에 따라하면서 해도 강사님쪽에서는 에러가 안나는데 제쪽에서만 에러가 나네요.. 뭐가 문제일까요? 에러내용만 보면 role 을 엔티티파일에서만 선언하고 컨트롤러 파일에서는 불러오기가 실패해서 나는 오류같기도 한데, export 할때 유저 엔티티 파일의 UserModel 안에서 했기때문에 이 에러가 나는게 좀 이상한거 같은데 왜 오류가 나는지 모르겠네요..
MemberService의 findMember()와 MemberRepository의 findById()에서 매개변수 memberId의 타입을 long이 아닌 Long으로 선언한 이유가 궁금합니다. Member 클래스를 선언할 때 id 필드의 타입이 long이 아닌 Long인 이유는 다음 글 을 통해 알 수 있었는데, 이 메서드들에서 memberId의 타입을 long이 아닌 Long으로 선언한 이유는 무엇인가요?
로드 밸런스는 포트를 기반으로 스위칭이 된다고 하셨는데, 가령 접속된 웹서버들의 IP는 다르더라도 웹서버의 포트가 똑같이 80으로 열려 있다고 한다면 어떻게 되는 건가요? 로드 밸런서 안에 웹서버들을 별도로 구분하는 테이블 같은게 있는걸까요? 어떤 방법으로 포트가 지정되어 매핑이 되는건지 궁금합니다.