로그인 방식을 구현하면서, 쿠키로만 개발할 경우 완전히 백엔드에 의존하게 되어 로컬로, 동시에 키고 개발을 하지 않는이상, 도메인간 불일치를 해결 할 방법이 없어, msw를 사용해야 한다고, 이전에 말씀해주셨습니다!! 보통, 회사나, 개인 소프트웨어를 만들 때 어떤 방식으로 로그인을 주로 만드시는지 조금 알고 싶어 궁금하여 질문을 남깁니다!! 로그인 방식 고찰 로그인 성공시, accessToken을 body로 받고, refreshToken은, httpOnly 쿠키로 받는 경우 (서버에서, DB or Redis를 통해 refreshToken 관리) → 인증 필요 요청 (Bearer accessToken), 리프레시 필요 요청 (refreshToken 심긴 쿠키를 바탕으로 요청) - DB에서 관리하는 것 보다, redis를 통해 관리했을 떄 읽기 속도가 빠름을 확인! 응답: accessToken과 refreshToken 모두 body로 클라이언트에게 전달. 인증 필요 요청과, 리프레시 토큰 재발급 요청 모두 헤더의 Bearer에 accessToken이나, refreshToken을 넣어서 전달.) 현재 방식: accessToken, refreshToken 모두 쿠키로 응답받고, 요청또한, 쿠키를 포함하여 전달. 제로초님은, Next.js를 활용하여, 웹 사이트를 만드실 떄, 어떠한 방식으로 로그인을 구현하시는지 궁금하고, 많은 회사에서 사용하는 방식은 보통 어떤 방식인지도 알고싶습니다!
안녕하세요 강의 설명이 너무 좋아 잘 따라가고있습니다ㅎㅎ 저는 Docker + Spring Boot로 배포 자동화 시키는게 목표입니다! 문제는 기존에 로컬 DB 연결로 테스트 코드를 작성했었는데요!(개인 프젝) 이 때문에 빌드가 안되다보니 따라가는데 조금 어려움이 있었습니다..! EC2안에 도커로 DB 띄워서 해결해야만 할 것 같은데 이렇게 해도 Docker+Spring Boot 목차를 따라가는데 문제 없을까요? 테스트 파일을 삭제하고 싶진 않아서요!! 다른 좋은 방법이 있으시다면 알려주시면 감사하겠습니다!
먼저 next와 react의 버전은 각각 15버전과 19버전입니다 next 15 부터는 http.ts 의 코드가 간결하게 바뀌어서 적용해보던 중 세팅 단계에서 해당 오류가 발생하였습니다 TypeError: Cannot read properties of undefined (reading 'url' 구글에 검색해보니 최신버전에서도 발생하는 것 같습니다 ㅠㅠ
안녕하세요~ k8s v1.27 버전 설치 를 참고해서 윈도우 11 환경에서 클러스터를 설치했는데요. vagrant up 설정 완료 후, xshell로 master에서 cat ~/join.sh 을 사용해 토큰 및 join 명령어를 복사해 node에 실행하면 [ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists 에러가 발생해, 해결방법을 찾아보다가 master와 node에 kubeadm reset 을 실행했습니다. 여기서 질문드리고 싶은 것은 두가지가 있는데요. kubeadm reset 을 실행했는데 vagrant destroy 로 다 없앤 뒤 vagrant up 으로 다시 세팅할 필요가 없을까요? join 명령어로 발생한 첫 에러는 공유기 IP 고정할당이 안되서 생긴 문제 가능성도 있을까요?
[문제점] MSW의 nodejs Server를 Server-Side 에서 실행하려고 할 때 Module not found Error '_http_common' 와 같은 에러 발생으로 빌드가 실패하는 상황을 겪고 있습니다. 저만 겪고 있는 상황인지 싶지만 질문 드립니다. [현상황] 아래와 같이 SSR Component안에서 API를 사용하여 데이터를 받아온 후 화면을 그리고나면, export const Home = async () => { const res = await fetch("https://api.github.com/users/zerocho"); const data = await res.json(); return ( <div className="flex flex-1 items-center justify-center"> <h1>{data.name}</h1> <img src={data.avatar_url} alt={data.name} className="rouneded" /> </div> ); }; 아래와 같은 화면을 확인 할 수 있습니다. 이를 MSW의 Server-side를 사용하기 위해서 Layout단에서 server를 listen하도록 실행하면 if ( process.env.NEXT_RUNTIME === "nodejs" && process.env.NODE_ENV !== "production" ) { const { server } = require("@/mocks/http"); server.listen(); } export default function RootLayout({ children }: { children: React.ReactNode; }): JSX.Element { return ( <html lang="en"> <body className={inter.className}> <MSWProvider> <Suspense>{children}</Suspense> </MSWProvider> </body> </html> ); } 아래와 같은 Build Error로 Module not found: Can't resolve '_http_common' 나게 됩니다. [찾아본 원인?] _http_common 이 Node.js built-in module인데, Next.js Webpack의 config에서 해당 module을 자동 import 하지 않아서 발생하는 에러라고 합니다. (출처: https://github.com/mswjs/msw/issues/2291 ) [시도한 해결 방안 1] - src/instrumentation.ts 파일을 아래와 같이 추가. export async function register() { if (process.env.NEXT_RUNTIME === "nodejs") { const { server } = await import("./mocks/http"); server.listen(); } } - next.config.js를 아래와 같이 수정 /** @type {import('next').NextConfig} */ module.exports = { reactStrictMode: true, transpilePackages: ["@repo/ui"], experimental: { instrumentationHook: true }, }; 결과 동일 [시도한 해결방안 2] - next.config.js에 webpack 내용 추가 /** @type {import('next').NextConfig} */ module.exports = { reactStrictMode: true, transpilePackages: ["@repo/ui"], experimental: { instrumentationHook: true }, webpack: (config, { isServer }) => { if (isServer) { if (Array.isArray(config.resolve.alias)) // server일시 browser를 제외 시킨다 config.resolve.alias.push({ name: "msw/browser", alias: false }); else config.resolve.alias["msw/browser"] = false; } else { if (Array.isArray(config.resolve.alias)) config.resolve.alias.push({ name: "msw/node", alias: false }); else config.resolve.alias["msw/node"] = false; } return config; } }; 결과 동일 [추가 조사한 내용들] - 현재 github issue에 아래와 같이 등록되어 있습니다. https://github.com/mswjs/msw/issues/2291 Server-Side를 사용하지 않고도 MSW를 사용할 수는 있지만, 해결 방안이 있을지 해서 질문드립니다!
안녕하세요 실습 코드에서 반복문 내 전략 구현 부분에 강의 설명과 코드 내용이 일치하지 않는 것 같아서 질문 드립니다. 종가가 3일 최저가인지 여부를 체크하는 코드에서 rolling 함수인자를 3으로 맞춰서 새로 컬럼을 추가한 뒤, 종가를 data['3d_min']과 비교해줘야하는게 맞을까요? 강의 코드는 if data['close] == data['5d_min'] 적혀 있어서 질문드립니다.
SignupModal 에서 에러가 하나 나오는데 관련해서 질문드립니다. S2322: Type '(formData: FormData) => Promise<{ message: string; } | undefined>' is not assignable to type 'NonNullable<string | ((formData: FormData) => void | Promise<void>) | undefined>'.<br/>Type '(formData: FormData) => Promise<{ message: string; } | undefined>' is not assignable to type '(formData: FormData) => void | Promise<void>'.<br/>Type 'Promise<{ message: string; } | undefined>' is not assignable to type 'void | Promise<void>'.<br/>Type 'Promise<{ message: string; } | undefined>' is not assignable to type 'Promise<void>'.<br/>Type '{ message: string; } | undefined' is not assignable to type 'void'.<br/>Type '{ message: string; }' is not assignable to type 'void'. 이런 에러가 나옵니다. formData 의 타입이 정확하지 않아서 생기는 에러 같습니다. 근데 정상적으로 실행은 됩니다. 제 꺼에선 이렇게 에러가 나오는데 제로초님 화면에서는 에러가 나오는 것 같지 않아서 어떻게 그렇게 된 것인지 궁금해서 질문 남깁니다. 감사합니다.
질문 남겨주셔서 감사합니다. 막히면 언제든 무엇이든 자주 질문 던져주세요. 수학/과학이나 알고리즘과는 달리 업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다. 다시 말씀드리지만, 질문을 자주자주 남겨주세요. 저도 최대한 빠르게 회신 드리겠습니다. 당부드릴 두 가지가 있습니다. ① 가급적 구체적으로 설명해주세요. ② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ ==================================== 안녕하세요 일코님 혹시 pyhwpx 의 클래스, 메서드 등이 정리된 별도의 문서는 없을까요? 만약 없다면 그런것들을 살펴보려면 어떻게 해야하는지 알고싶은데 다른 방법은 없을까요? 감사합니다.
Redis 로 문제점 해결하기 강의 7분 쯤에 나오는 설명으로, redis 는 싱글스레드 기반으로 동작하기 때문에 Thread 1 에서 10:00 에서 10:02 동안 incr coupon_count 메서드가 동작한다고 했을 때 10:02분에 끝나고나서 thread 2의 incr coupon_count 가 동작한다고 말씀하셨는데요 이는 딱 redis 가 싱글스레드로 동작하는 시간 만큼만이 lock 이 걸린 시간이라고 보면 될까요? 예컨데 ApplyService 의 apply 가 싱글 스레드, 단일 요청에 딱 2분이 걸리는 메서드라고 가정하고 그 안에 있는 couponCountRepository.increment() 가 1초가 걸린다고 가정하면 100개의 요청이 동시에 들어온 경우, 전체 요청이 모두 처리되는 시간이 2분 + 1*100초 = 3분 40초가 걸린다고 계산하는게 맞는거죠? 2분*100이 아니라요
강의 에서 예측진행시 선형회귀 랏소 릿지의 경우 model= 하고 뒤에 해당 모델을 작성했는데 18분 22초 랜덤포레스트의 경우 regressor =RandomForestRegressor()로 정의해 놓고 밑에 학습은 model.fit으로 하고 pred도 model.fit으로 했는데 그럼 위에 있는 라쏘를 가지고 모델링을 한게 아닌가 궁금합니다. ※요약 1: 랜덤포레스트에는 모델로 안하고 왜 regressor = 으로해서 진행했는가, 요약2: model.fit으로 진행했는데, import를 랜덤포레스트로 했음에도 , 랜덤포레스트가 아닌 위에 model을 정의한 라쏘로 학습이 된것 아닌가 이렇게 궁금합니다!!
안녕하세요 강의 실습도중에 에러가 발생하였는데 원인을 찾지못해서 질문드립니다.. 1.3)실습용 백엔드 서버 세팅하기 강의에서 12:11분에 npm run seed 명령어로 시드데이터도 받아지는것을 확인했습니다. (그 이전까지의 실습도 에러없이 정상적으로 실행했습니다.) 이후에 npm run build를 실행해보니 아래와 같은 에러가 발생해서 질문드립니다. ================================= C:\study\React\onebite-books-server-main>npm run build > onebite-books-server@0.0.1 build > nest build src/book/book.service.ts:22:29 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. 22 select: prismaExclude('Book', ['searchIndex']), ~~~~~~ src/book/book.service.ts:28:29 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. 28 select: prismaExclude('Book', ['searchIndex']), ~~~~~~ src/book/book.service.ts:35:29 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. 35 select: prismaExclude('Book', ['searchIndex']), ~~~~~~ src/book/book.service.ts:56:29 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. 56 select: prismaExclude('Book', ['searchIndex']), ~~~~~~ src/book/book.service.ts:70:31 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. 70 select: prismaExclude('Book', ['searchIndex']), ~~~~~~ src/book/book.service.ts:88:29 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'never'. 88 select: prismaExclude('Book', ['searchIndex']), ~~~~~~ src/util/prisma-client-exception.filter.ts:6:15 - error TS2339: Property 'PrismaClientKnownRequestError' does not exist on type 'typeof Prisma'. 6 @Catch(Prisma.PrismaClientKnownRequestError) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/util/prisma-client-exception.filter.ts:8:27 - error TS2694: Namespace '"C:/study/React/onebite-books-server-main/node_modules/.prisma/client/default".Prisma' has no exported member 'PrismaClientKnownRequestError'. 8 catch(exception: Prisma.PrismaClientKnownRequestError, host: ArgumentsHost) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Found 8 error(s).
안녕하세요 저번 달에 실기시험 보고 온 수강생입니다. 평소에는 train_test_split에서 test_size를 0.2로 했는데 시험장에서 무슨 바람이 분 건지 test_size를 0.1로 하고 왔습니다. 이것 때문에 점수가 10점이 깎일 수도 있을까요? 이외에는 랜덤포레스트 분류 모델 정석 코드 그대로 실행, 제출하고 왔습니다. 2유형만 40점 나오면 넉넉하게 합격일 것 같은데 괜히 불안해지네요..
현재 "신규 Blog 글 생성하기 - 01" 강의를 수강 중입니다. 강의 중에, 쿼리의 commit() 실패시 rollback()이 자동으로 수행된다고 말씀 하셨는데, 코드상에 with를 사용한 것도 아니고, context_get_conn()의 에러 발생시 rollback() 호출도 하지 않는데 rollback()이 자동으로 수행되는게 맞는가요? close를 하면 자동으로 rollback() 된다고 하시는데 close는 성공시에도 호출하는 것으로 코드를 이해하고 있습니다. insert, update의 성공시에도 rollback()이 되는게 맞는지도 알고 싶습니다.
안녕하세요! 강사님 몇달 전에 듣고 복습중인데요 몇달 전에 들었을때, 이렇게 잘 db를 생성했었습니다. 그리고 vi docker-compose.yaml 아래와 같이 수정하였지만 적용이 안되네요...ㅠㅠ 그리고 이전에 생성했던 게 그대로 실행되고 있습니다...! 당연히 dags_python_with_postgres.py 실행하면 아래와 같이 connection 오류가 발생하구요... 혹시 해당 문제 어떻게 해결해야할 지 알 수 있을까요?!