8회차 시험을 아주 보기좋게 떨어졌었는데 이번에 퇴근후 딴짓 강의를 열심히 수강하고 붙었습니다^^ 수시로 올린 질문글에 달아주신 댓글 덕분에 모르는걸 바로바로 해결할 수 있었고 강의도 잘 이해되도록 세세하게 해주셔서 귀에 쏙쏙 들어왔습니다~ 성의껏 만들어주신 마인드맵 자료도 시험 당일 아주 유용했었습니다! 이렇게 합격소식 전하는 날이 와서 너무 감사하고 기쁩니다~ 잊지 않겠습니다~!
안녕하세요. 먼저, Next.js 를 입문한지 얼마 되지 않아 질문이 서툴 수 있는 점 양해 부탁드립니다..! 현재 msw 세팅을 완료 했고, Auth.js는 공식문서를 참고하여 5버전과 동일하게 auth.ts 파일을 아래와 같이 작성하였습니다. // auth.ts import NextAuth from "next-auth"; import Credentials from "next-auth/providers/credentials"; export const { handlers, signIn, signOut, auth } = NextAuth({ pages: { signIn: "/i/flow/login", newUser: "/i/flow/signup", }, providers: [ Credentials({ authorize: async (credentials) => { const response = await fetch( `${process.env.NEXT_PUBLIC_BASE_URL}/api/login`, { method: "POST", body: JSON.stringify({ username: credentials.username, password: credentials.password, }), headers: { "Content-Type": "application/json" }, }, ); if (!response.ok) { return null; } const user = await response.json(); console.log("로그인 정보", user); return { id: user.id, name: user.nickname, image: user.image, ...user, }; }, }), ], }); // @modal/(.)/i/flow/login/page.tsx const onLogin = async () => { try { await signIn("credentials", { username: id, password, redirect: false, }); router.replace("/home"); } catch (err) { console.error(err); setMessage("아이디와 비밀번호가 일치하지 않습니다."); } }; 문제는 authorize 함수 내 콘솔이 찍히지 않는 것으로 보아, 해당 함수가 아예 실행되지 않는 것 같습니다. 회원가입하지 않은 아이디와 비밀번호를 입력해도 로그인이 되고 /home 으로 이동합니다. home으로 이동 후 session 응답 값은 null이고 쿠키에도 auth 토큰이 저장되지 않습니다. 그리고 터미널에는 첫번째 이미지 처럼 에러 메세지가 뜨고, 브라우저 콘솔에는 두번째 이미지와 같은 메세지가 뜹니다. // handlers.ts http.post(`${baseUrl}/api/login`, () => { console.log("로그인"); return HttpResponse.json(User[1], { headers: { "Set-Cookie": "connect.sid=msw-cookie; HttpOnly; Path=/", }, }); }), 현재는 MSW가 요청을 제대로 가로채지 못하고 있는 것 같다는 의심이 드는데, 어디를 우선적으로 점검해야 할지 잘 모르겠습니다.. 초보라 부족한 점이 많지만, 방향을 잡을 수 있도록 힌트나 조언 주시면 정말 감사하겠습니다 ㅠㅠ
저는 현직 웹 개발자로, 강화학습 및 머신러닝에 평소 큰 관심이 있어서 관련 강의를 꾸준히 듣고 있습니다. 최근 강의들은 분량이 짧아 접근성은 좋은데, 수학적 표현(수식, 기호)이 등장할 때마다 의도를 즉각적으로 해석하지 못하고 혼란을 겪습니다. 강의자 분께서는 '필요한 수학적 개념은 강의 중에 그때그때 이해하면 된다'고 안내하지만, 저에게는 수학적 진입장벽이 너무 높게 느껴지고, 결국 코드의 동작 방식만 어렴풋이 이해할 뿐 수학적 본질을 놓치게 되어 데이터 분석 분야 학습에 자꾸 실패감을 경험하고, 많은 관련 강의를 듣기를 실패한 경험들이 많습니다. 실무 개발자로서 강화학습과 머신러닝을 업무에 적용하고 싶은데, 수학적 배경이 깊지 않아도 어느 정도까지는 실무 적용 가능한 수준의 이해가 가능한지 , 수학적 난관을 만났을 때 어떤 접근법과 학습 전략이 효과적인지 , 제대로 이해하고 있다는 것을 확인할 수 있는 메타인지 방법이나 공부 전략은 무엇인지 현실적이고 구체적인 조언을 부탁드립니다.
csr에서는 번들링된파일을 받으면 브라우저에서 돔트리를 만들어서 화면에그리는데 7강 8분50초에서 next에서 사전렌더링을 할때에는 서버가 직접 js를 실행해서 렌더링을 한다고 하셨는데 그럼 서버에서 직접 돔트리를 그리는건가요? 질문자체가 이상할수 있는데 헷갈려서 질문드립니다ㅠ
char *a[2]= {"Hello","World"}; printf("%s\n",*a);=> 출력값: Hello char*b[2][2]={{"hello","world"},{"app","dev"}}; printf("%s\n", *b); => 오류 일차원 일때는 출력할 때 정확한 값의 위치를 지정하지 않고 *a를 해도 출력이 되는데 이차원일 때는 안되는 이유가 무엇인가요?
주말코딩님, 안녕하세요! 항상 잘 듣고 있습니다. 다름이 아니고, 6:34 부분에서 j=j-1이 int j=0에서 -1을 해서 다시 j에 -1을 집어넣으라는 거로 이해했습니다. 그래서 j=-1이 되고 밑에 arr[-1+1]= key가 돼서 arr[0]에 key에 담아뒀던 31이 들어가는 것으로 이해했습니다. 근데 만약에 j가 포인터변수고 배열을 가리키고 있다면 j=j-1을 했을 때 배열을 가리키는 포인터 위치를 하나 앞으로 땡기라는건가요? 정확한 예시를 들기 어렵지만.. 뭔가 어떨 때는 포인터의 위치를 하나 앞으로 땡기는 거고 어떨 때는 실제로 값에 -1을 하라는 거던데 혹시 구별법이 있을까요? ㅠㅠ 답변주시면 감사하겠습니다.
static 메서드를 실행할 때는 클래스명.메서드명()으로 실행 가능하다고 하셨는데 이 코드에서는 클래스명 없이 바로 say()로 실행되고 있는데 이 부분은 문제가 없는 건가요? 그럼 만약 msg가 static 변수라면 say()를 실행했을 때 오류가 발생하지 않고 정상적으로 작동되나요?