npm ls react npm ls react-native npm ls expo 버전을 알려주시면 질문자분과 동일한 환경에서 답변 드릴 수 있습니다. ERROR Warning: Error: The package '@react-native-kakao/user' doesn't seem to be linked. Make sure: - You rebuilt the app after installing the package - You are not using Expo Go
안녕하세요. 최초 10분이 지난 후 refreshToken 정보를 이용하여, new accessToken 을 발급받는 것을 적용한 이후에는 오랜 시간이 지나도 다시 new accessToken 발급을 하지 않는 현상이 있더군요. 의문을 가지다가 Redis 에 연동하고, ttl JWT:ACCESS: user8@aaa.com 로 accessToken의 남은 시간을 체크해보니 문제가 있다는 걸 확인했습니다. chatGPT 로 점검해서 아래와 같은 코드로 수정한 이후 정상 동작하는 거 같습니다. public static String generateToken(Map<String, Object> valueMap, int min) { SecretKey key = null; try { key = Keys.hmacShaKeyFor(JWTUtil.key.getBytes("UTF-8")); } catch (Exception e) { throw new RuntimeException(e.getMessage()); } // 1. claims 복사 및 exp/iat 제거 Map<String, Object> claims = new HashMap<>(valueMap); claims.remove("exp"); claims.remove("iat"); // 2. 발급시간/만료시간 생성 Date now = Date.from(ZonedDateTime.now().toInstant()); Date exp = Date.from(ZonedDateTime.now().plusMinutes(min).toInstant()); // 3. JWT 생성 return Jwts.builder().header() .add("typ", "JWT") .add("alg", "HS256") .and() .issuedAt(now) .expiration(exp) .claims(claims) .signWith(key) .compact(); }
graphql 포트폴리오용 주소는 접속이 되지만 graphql practice 주소와 rest-api practice 주소가 접속이 안되는 것 같습니다. http://practice.codebootcamp.co.kr/graphql http://practice.codebootcamp.co.kr/api-docs 해당 주소로 접속하였을 때 사이트에 연결할 수 없다고 나옵니다.
flutter도 써봤고, react/next도 다 쓰고 있는데요... expo의 라우팅 구조가 진짜 번잡하고 혼란스럽다고 느껴지네요. 혹시 현업에서도 알려주신 라우팅 방법(group 폴더, index.tsx, layout.tsx 등 활용)이 최선인가요? 뭐랄까.. 이상한 스킬들로 겨우겨우 원하는 결과물을 만들어내는 느낌이에요 ㅠㅠ
안녕하세요 제로초님 fetch 캐싱과 revalidate 관련해서 궁금한 점이 있어 질문드립니다. await fetch('https://api.example.com/posts', { next: { revalidate: 60 }, }); A가 /posts를 최초 요청합니다. → API에서 데이터를 받아오고, 해당 데이터는 Next.js 서버 캐시에 저장 이후 60초 동안은 다른 누구든지 이 캐시된 데이터를 그대로 받음 그런데 60초가 지나기 전에 DB에서 게시글 1번의 제목이나 내용이 수정 됨 60초가 지나고 A가 다시 목록을 요청 → 이 시점은 revalidate 만료 시점 이후이므로 재검증 타이밍 → 하지만 A는 여전히 이전 캐시 데이터를 먼저 받고 , → A의 요청을 계기로 Next.js가 백그라운드에서 API를 다시 fetch하여 캐시를 갱신 곧이어 B가 /posts를 요청하면 → B는 A 덕분에 갱신된 최신 데이터를 바로 받음 제가 이해한 것이 맞을까요? 만약 저런식으로 동작하면 상세 페이지와 데이터 불일치 문제가 발생할 수 있지 않을까 해서요 만약 상세 페이지 요청도 이렇게 작성되어 있다면 await fetch('https://api.example.com/posts/1', { next: { revalidate: 60 }, }); A는 목록 요청만 했고, 상세 페이지는 요청하지 않음 B는 A 이후에 목록을 보고 → 최신 제목을 확인한 뒤 , → 게시글 1번의 상세 페이지를 클릭 그런데 상세 페이지의 제목은 여전히 수정 전의 이전 제목 으로 보임 → 목록과 상세 페이지 간에 데이터가 불일치 할 수 있음 정리하자면 제가 이해한 Next.js의 fetch + revalidate 캐시 동작이 맞는지 궁금하고 위와 같은 목록-상세의 데이터 불일치 현상은 실제로 발생 가능한 문제인지 궁금합니다. 제가 실제로 테스트해봤을 때 위 시나리오대로 목록과 상세 페이지에서 서로 다른 제목이 보이는 걸 확인했습니다. 혹시 제가 잘못 이해하고 테스트한 부분이 있는 건지, 아니면 실제로도 발생할 수 있는 동작인지 궁금합니다.
안녕하세요! 강의 잘 듣고 있습니다. Next에서 제공하는 fetch의 기능만 잘 활용해도 React Query를 사용할일이 잘 없을것같은데.. 무한스크롤같은 기능을 구현할때정도는 편하긴 할것같지만, 보통 App Router환경에서 React Query를 활용할 수 있는경우가 어떤 경우가 있을까요??
안녕하세요. 강의를 어떤 방식으로 듣는 것이 가장 효율적인지 여쭤보고 싶습니다. 처음 page.tsx를 만들 때는 하나하나 따라 만들며 진행했지만, 중간부터는 급하게 따라가기만 하다 보니 시간도 오래 걸리고, 오히려 비효율적이라는 생각이 들었습니다. 또한 수업 자료의 GitHub를 보면 각 폴더 설명에 "따라치기 위해 보면 안 된다"고 안내되어 있어서, 제가 잘못된 방식으로 수강하고 있는 건 아닌지 고민이 됩니다. 그리고 ch0~ch4 강의 이후의 코드를 올려주신 것은, 강의를 들으면서 이해가 안 되거나 따라가지 못한 부분이 있을 경우 해당 코드를 참고하거나 다운로드해서 사용해도 괜찮다는 의미일까요? 또한 강의 초반에 GitHub에서 해당 폴더로 들어가 복사하고, 설명을 들으며 진도를 나가는 방식이라고 말씀하신 것을 보았는데, 그렇다면 굳이 모든 코드를 따라 치기보다는 전체 코드를 먼저 불러온 뒤 실행해두고, 강의를 들으며 흐름과 설명 위주로 이해하는 방식으로 수강해도 괜찮을지 궁금합니다. 지금처럼 따라치며 수강하려다 보니 상대적으로 시간이 많이 소요되고, 비효율적일 수 있다는 생각이 들어 이렇게 문의드립니다. 이에 대해 보다 효율적인 수강 방법에 대해 조언해주시면 감사하겠습니다.
POST /book 해당 API에 { "title": "string", "subTitle": "string", "author": "string", "description": "string", "publisher": "string" } 위 body를 넣어서 요청했을 때 { "statusCode": 400, "message": "coverImgUrl는 요청에 포함되지 않아야 합니다", "error": "Bad Request" } 이런 에러가 나오는데 coverImgUrl가 없는데도 불구하고 위 에러가 나오는 이유는 뭘까요? 도서 생성 api는 사용할 수 없는 건가요..?
강의 마지막부분에 API 사용부분이 지금 시점과 많이 달라진거 같아서 질문드립니다. 잠깐 살펴보니 https://console.anthropic.com/ 접속해서 API Key 를 발급받아서 이용하는 것 같은데 이건 cluade.ai 사이트의 요금 플랜과 별개인게 맞는거죠? 그리고, Wrting Style 작성 (Milk Tea)시에 사용된 스크립트 볼수 있을까요? 강의 어느 부분에 있었는데 찾기가 힘드네요. 강의 마지막에 11 relax band sales.csv 파일은 실습자료로 누락된거 같은데 참고하세요.
깃 실습처럼... 몇몇 작업이 에러가 심해서 돌아가려고 '깃 그래프'에서 돌아갈 커밋 위치한 곳에 reset current branch to this commit... 을 눌러 hard를 선택해 주었는데도... 돌아가지를 안네요 콘솔창에서 명령어 git reset --hard 810380ae 도 안먹고... ㅠㅠ(커서에서 에이전시에 시켰는데 810380ae로 돌아가로...여러 터미널 명령어를 실행했는데도 변하질 않네요) 어찌해야 하나요? 다른 방법이 있는지 좀 알려주세요
안녕하세요! 40강 관련 질문입니다. 강의에서 로그인 하는 방식을 두 가지 알려주셨습니다. 서버액션 사용 서버액션 미사용 서버액션 미사용해서 구현할 때 tanstack query 의 mutation 을 사용하는 방식도 좋지 않을까 생각을 하는데요, 로그인 버튼에 loading 처리를 하거나 등 의 이유로요! 근데 제로초님은 useState 만 쓰셨는데, 간단하게 보여주기 위해서 그렇게 하신걸까요? 로그인/회원가입에 tanstack query 를 사용하는 것이 추천하는 방식은 아닌걸까요?? 제가 강의 들으면서 개인프로젝트에 적용하고 있어서, 어떤 방식이 좋은지 고민이 돼서 여쭙니다!