묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
자바 스프링 강의를 수강하면서 자바를 공부해도 되나요?
안녕하세요컴퓨터 전공으로 대학교 3학년에 재학 중인 학생입니다. 다름이 아니라 현재 김영한 강사님 강의를 스프링 입문과 기초를 수강한 상황입니다.그리고 DB 기초와 웹 MVC 강의를 함께 수강 중입니다.하지만 강의를 들으면서도 이해가 안되는 부분이 많았습니다.그래서 다음과 같은 고민이 생겼습니다.1.강사님 강의를 들으며 이해가 안되는 부분은 인터넷을 찾아가며 들으니 강의에서 이해 못하는 부분도 많지만 확실히 쉽게 설명해주셔서 많이 배워가는 느낌이 듭니다. 하지만 자바 스프링 자체가 어렵고 이해가 안되는 부분이 많아 강의를 들을 땐 항상 "지금 이렇게 이해가 안되는 상태로 배워도 내가 직접 사용할 수 있을까? 코드를 작성할 수 있을까? 라는 걱정이 듭니다.원래 다른 분들도 자바 스프링을 배우면서 이런 고민을 겪게 되는 건가요?아니면 자바 언어나 다른 개념들이 익숙하지 않아 저만 겪고 있는 문제점인가요?만약에 후자가 문제라면 자바 언어 및 다른 개념을 어떻게 채울 수 있는건가요?2.현재 계획은 자바 언어 공부 + 자바 스프링 수강 => 작은 프로젝트 진행 + 강의 복습 => DB 강의 심화 + 웹 MVC 심화 강의 수강 이렇게 할 계획인데 괜찮을까요? 답변 부탁드립니다더위 조심하세요
-
해결됨설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
git 실습 파일 clone 실패
안녕하세요, 맛비님. 강의 잘 보고 있습니다. 다름이 아니라, " Verilog HDL [HDL 1장] Testbench 에서 Clock 생성하기 " 강의에서 git 실습파일 clone에 실패해서 문의 드립니다. 강의 대로 git clone https://github.com/matbi86/sulgyedokhak.git 를 입력하니 첨부파일과 같은 결과가 나옵니다. 설치 완료가 시작 단계의 끝인 줄 알았는데 아직 한 단계 남았었네요 ^^ 답변 부탁드립니다.
-
해결됨실무자가 알려주는 CANoe - CAPL과 Panel 기본 사용법
준비하고 계신 다음 강의가 있을까요??
안녕하세요,,,자동차 업계 종사자인데잘 보고 있습니다...내용과 설명이 너무 잘 되어 있어서 다음 강의도 기다려지는데,,,혹시 어떤걸 해야겠다거나 준비중이신 강의 같은게 있을까요??감사합니다.
-
해결됨그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)
저는 자바로 공부중인 학생인데요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.자바로 수업을 따라가기엔 힘든가요?아니면 충분한가요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
mysql드라이버와 H2 드라이버는 다른건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. " 반면에 URL이 jdbc:h2 로 시작했는데 MySQL 드라이버가 먼저 실행되면 이 경우 본인이 처리할 수 없다는 결과를 반환하게 되고, 다음 드라이버에게 순서가 넘어간다."라고 강의 자료에 나와있습니다.이 부분이 잘 이해가 안됩니다URL이 JDBC:h2로 시작했는데 MySQL 드라이버가 먼저 실행되면이 무슨 의미인가요??H2도 DB의 한 종류이고 MySQL도 DB의 한 종류이므로코드에서 H2를 사용할지 MySQL을 사용할지 하나를 선택해서 코드를 작성하고 그 뒤에 작성된 코드에 따라 H2 드라이버나 MySQL 드라이버를 선택해서 실행되는것 아닌가요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
ReferenceError: boardId is not defined
안녕하세요 선생님! 전에 Bad request 400 문제로 글 올렸던 사람입니다답변 주신 부분은 잘 확인 했습니다.그런데 variables는 잘 작성했구 연결도 했습니다. 그런데 useEffect로 boardId가 유효하면 실행, 아니면 loading이라는 문구를 내보내게 작성한 후 확인을 해보니 아래와 같은 문제가 있었습니다console.log(router.query.boardId);에서 undefined가 떳길래useRouter가 작성됐는지 import했는지랑 확인했고, 문제 없었습니다. 또, ReferenceError: boardId is not defined 메시지가 떳습니다 . . ] 그래서 다른 방법으로 해결을 해보고자console.log(router.query.boardId);가 담긴 index에서 import를 선언하는 부분 최상위에 "use client"를 작성하고, import { useRouter } from 'next/router' 를 'next/navigation'으로 바꿨더니아래와 같이 오류가 확인 됐습니다.. .아래는 문제가 있는 컴포넌트입니다(useEffect 지움, next/router로 바꿈)"use client" import { useRouter } from "next/router"; import { gql, useQuery } from "@apollo/client"; import { Avatar, AvatarWrapper, Body, BottomWrapper, Button, CardWrapper, Contents, CreatedAt, Header, Info, Title, Wrapper, Writer } from "../../../styles/boardnewpage"; export const FETCH_BOARD = gql` query fetchBoard($boardId: ID!) { fetchBoard(boardId: $boardId) { _id writer title contents createdAt } } `; export default function BoardDetailPage() { const router = useRouter(); console.log(router.query.boardId); const { data } = useQuery(FETCH_BOARD, { variables: { boardId: router.query.boardId }, }); if (!data) { // boardId가 없는 경우에 대한 처리 (예: 로딩 스피너 표시 등) return <div>Loading...</div>; } return ( <Wrapper> <CardWrapper> <Header> <AvatarWrapper> <Avatar src="/images/ic_profile.png" /> <Info> <Writer>{data?.fetchBoard?.writer}</Writer> <CreatedAt> {data?.fetchBoard?.createdAt} </CreatedAt> </Info> </AvatarWrapper> </Header> <Body> <Title>{data?.fetchBoard?.title}</Title> <Contents>{data?.fetchBoard?.contents}</Contents> </Body> </CardWrapper> <BottomWrapper> <Button>목록으로</Button> <Button>수정하기</Button> <Button>삭제하기</Button> </BottomWrapper> </Wrapper> ); } 아래는 위 컴포넌트를 실행하고 나서 뜨는 화면 입니다if문을 지우고 나면 저번에 올렸던 질문 글 처럼 화면은 넘어가는데 varibales 데이터들만 안뜹니다...! + 로딩 뜬 화면의 개발자도구 화면 입니다!! 확인해주시고 답변 주시면 감사하겠습니다.!!!😂🥹
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
혹시나 18분에 나만의 페이지 합칠때 안뜨시는 분들
저의 경우 '나만의 페이지'라고 하지 않고, my_page(소문자)로 해서 실행했는데, 안되더라구요.... 계속 왜 안되지 해메고 있었는데 my_page를 My_page(대문자)로 하니까 실행되는걸 확인했습니다. 혹시나 앞글자를 소문자로 하신분들은 대문자로 바꿔주시면 나올거 같아요~여기서 소문자로 import했을경우엔 왜 나오지 않을까요? react의 규칙인가요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
변수 연결이 안됩니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님을 똑같이 따라했는데위와 같은 오류가 발생합니다 왜 그런건가요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
서버 실행 시 에러가 납니다
spring 버전으로 springfox대신 springdoc을 사용했습니다. 따로 코드상 오류는 안나지만 서버를 실행시키면 에러가 뜹니다. SwaggerConfig.java 에러내용입니다.023-08-04 18:21:26.795 ERROR 8588 --- [ restartedMain] o.s.boot.SpringApplication : Application run failedorg.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.example.demo.DemoApplication]; nested exception is java.lang.IllegalArgumentException: Unresolvable class definition for class [org.springdoc.core.conditions.MultipleOpenApiSupportCondition] at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:609) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassParser.access$800(ConfigurationClassParser.java:110) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.lambda$processGroupImports$1(ConfigurationClassParser.java:812) ~[spring-context-5.3.25.jar:5.3.25] at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) ~[na:na] at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:809) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:780) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:192) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.8.jar:2.7.8] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.8.jar:2.7.8] at com.example.demo.DemoApplication.main(DemoApplication.java:15) ~[classes/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.7.8.jar:2.7.8]Caused by: java.lang.IllegalArgumentException: Unresolvable class definition for class [org.springdoc.core.conditions.MultipleOpenApiSupportCondition] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:331) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConditionEvaluator.getCondition(ConditionEvaluator.java:124) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:96) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:225) ~[spring-context-5.3.25.jar:5.3.25] at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:599) ~[spring-context-5.3.25.jar:5.3.25] ... 24 common frames omittedCaused by: java.lang.UnsupportedClassVersionError: org/springdoc/core/conditions/MultipleOpenApiSupportCondition has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na] at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016) ~[na:na] at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) ~[na:na] at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] at java.base/java.lang.Class.forName0(Native Method) ~[na:na] at java.base/java.lang.Class.forName(Class.java:398) ~[na:na] at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:145) ~[spring-boot-devtools-2.7.8.jar:2.7.8] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na] at java.base/java.lang.Class.forName0(Native Method) ~[na:na] at java.base/java.lang.Class.forName(Class.java:398) ~[na:na] at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-5.3.25.jar:5.3.25] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:324) ~[spring-core-5.3.25.jar:5.3.25] ... 28 common frames omitted
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
BoxDecoration 코드 정리 관련하여 질문있습니다
BoxDecoration 부분을 Row위젯과 달리 함수가 가져오는 식으로 정리해주셨는데 BoxDecroation도 위젯아닌가요? 어째서 stless를 쓰지않고 함수가 가져오는 식으로 정리한건지 궁금합니다.
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
AWS 사용료
안녕하세요. 수업듣다가 이것저것 만져봤는데, 이번달 AWS 사용료 36달러가 결제되었습니다..NAT Gateway 와 기타 등등 삭제한다고 했는데, 계속 비용이 쌓이는 걸로 봐서 아직 삭제가 안된 것 같습니다. 혹시 무엇을 더 삭제해보아야할까요.. 제가 확인한 바로는 NAT Gateway가 없습니다. 수업과 무관한 내용인 줄은 알지만, 혹시나 방법을 아실까해서 여기에 질문드립니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
7-T 1학년, dp 배열의 초기화 관련
안녕하세요 큰돌님 1학년 문제를 풀었는데, dp배열 초기화의 유무에 따라 답이 갈립니다. 저는 0이라는 값도 결과값이 될 수 있는 값 중 하나라고 생각하여 dp배열을 -1로 초기화했습니다. 그런데 이런 경우 답이 틀렸다고 나옵니다.오히려, fill을 이용한 별도의 초기화 없이 기본적은 0으로 상태를 두면 맞다고 나옵니다.제가 어떤 점을 잘못 생각한건가요?감사합니다.소스코드 : http://boj.kr/aaa7dca582ec4827803e5b5826b6cdb5
-
미해결처음 만난 리액트(React)
chapter 05. 댓글 컴포넌트 만들기 오류 질문
댓글 컴포넌트 만들기를 하는데 왜 이렇게 오류가 생기는 건지 잘 모르겠습니다ㅜㅜ..
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
트랜스포머 추론 단계에서 질문드립니다.
predictions, _ = self.transformer([encoder_input, output], training=False) # seq_len dimension에서 last token을 선택합니다. predictions = predictions[:, -1:, :] # (batch_size, 1, vocab_size) predicted_id = tf.argmax(predictions, axis=-1)트랜스포머 최종 결과값으로batch x seq_len x vocab_size 로 단어의 갯수만큼 확률 분포를 구하는 것을 이해했습니다.그리고 추론단계의 번역이므로 1개의 단어씩 output으로 뽑아야 한다는 것도 알겠는데요.위 코드에서 생성을 위해 seq_len dimension에서 last token을 선택하는 이유(predictions[:, -1:, :] 부분) 는 무엇인가요?
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
int(), float()에 대해서
head가 string이라 가정하면int(head)-> 변환된 int를 리턴float(head)->변환된 head를 리턴case로 비교시 기존 자료형과 변화된 자료형을 비교하여 원래 자료형이 int나 float가 아니면 false 인건가요?그리고 | 연산자가 있으니 if head원래 자료형 == head를 int로 바꾼 즉 int 자료형 | head 원래 자료형== head를 float으로 바꾼 즉 float 자료형 인건가요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5 - O : 17406 질문 있습니다
구현하고 예제 및 반례를 넣어보고 디버깅도 나름 해봤는데 도저히 틀린 점을 못 찾겠습니다. 강의와 접근 방식이 조금 다르지만 비슷한 것 같은데 어떤 점에서 틀린 건지 알려주시면 감사할 것 같습니다 ㅠㅠ#include <bits/stdc++.h> using namespace std; int N, M, K, mp[51][51], temp_mp[51][51], ret=INT_MAX; vector<vector<int>> v; vector<int> choose_v; int visitied[10]={0,}; int dy[4]={1,0,-1,0}, dx[4]={0,1,0,-1}; void rotate(int y,int x,int sz){ for (int i=1;i<=sz;i++){ int start_y=y-i; int start_x=x-i; int start_val=temp_mp[start_y][start_x]; int temp_y=start_y; int temp_x=start_x; for (int j=0;j<4;j++){ int rotate_flag=i*2; while(rotate_flag--){ // printf("%d,%d ",temp_y,temp_x); temp_mp[temp_y][temp_x]=temp_mp[temp_y+dy[j]][temp_x+dx[j]]; temp_y+=dy[j]; temp_x+=dx[j]; } //printf("\n"); } temp_mp[start_y][start_x+1]=start_val; } } void choose(int sz,vector<int> &_choose_v){ // printf("sz: %d\n",sz); // for (int&i:_choose_v){ // printf("%d ",i); // } // printf("\n"); // printf("%d %d\n",visitied[0],visitied[1]); if (sz==K){ for (int i=1;i<=N;i++){ for (int j=1;j<=M;j++){ temp_mp[i][j]=mp[i][j]; } } for (int i=0;i<10;i++){ visitied[i]=0; } for (int&i:_choose_v){ rotate(v[i][0],v[i][1],v[i][2]); for (int j=1;j<=N;j++){ int sum=0; for (int k=1;k<=M;k++){ sum+=temp_mp[j][k]; } if (sum<ret){ ret=sum; } } } //printf("\n"); return; } for (int i=0;i<K;i++){ if (find(_choose_v.begin(),_choose_v.end(),i)==_choose_v.end()){ _choose_v.push_back(i); visitied[i]=1; choose(sz+1,_choose_v); visitied[i]=0; _choose_v.pop_back(); } } } int main() { cin >> N >> M >> K; for (int i=1;i<N+1;i++){ for (int j=1;j<M+1;j++){ cin >> mp[i][j]; } } for (int i=0;i<K;i++){ vector<int> temp_v; for (int j=0;j<3;j++){ int temp; cin >> temp; temp_v.push_back(temp); } v.push_back(temp_v); } choose(0,choose_v); // for (int i=1;i<N+1;i++){ // for (int j=1;j<M+1;j++){ // printf("%d ",temp_mp[i][j]); // } // printf("\n"); // } cout << ret; }choose()함수를 통해 순열을 만들고 choose()의 인자인 sz가 K가 되면, 순열의 순서에 맞게 rotate한 후 최솟값을 찾을 수 있도록 작성했습니다.
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
session 을 닫아야 하는 이유
session 은 왜 닫아야 하나요? 파이썬 코루틴 활용 강의에서 with requests.Session() as session: session.get(url) 을 통해 session 을 열고 닫아야 한다고 하셨는데, 왜 session 을 닫아야 하는지 궁금합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
auth 미들웨어 관련 질문
const jwt = require("jsonwebtoken"); const User = require("../models/User"); let auth = async (req, res, next) => { // 토큰을 request headers에서 가져오기 const authHeader = req.headers["authorization"]; // Bearer ooerkogkeorkgoek.erogkoerkog.eorgkoerkgoerkgokg const token = authHeader && authHeader.split(" ")[1]; if (token === null) return res.sendStatus(401); try { // 토큰이 유효한 토큰인지 확인 const decode = jwt.verify(token, process.env.JWT_SECRET); const user = await User.findOne({ "_id": decode.userId }); if (!user) { return res.status(400).send("없는 유저입니다."); } req.user = user; next(); } catch (error) { next(error); } }; module.exports = auth;기존에 "_id"로 되어있을 때, C:\Users\zink8060\Desktop\fullstack-app\back\node_modules\express\lib\router\route.js:211 throw new Error(msg); ^Error: Route.get() requires a callback function but got a [object Object] at Route.<computed> [as get] (C:\Users\zink8060\Desktop\fullstack-app\back\node_modules\express\lib\router\route.js:211:15) at proto.<computed> [as get] (C:\Users\zink8060\Desktop\fullstack-app\back\node_modules\express\lib\router\index.js:521:19) at Object.<anonymous> (C:\Users\zink8060\Desktop\fullstack-app\back\src\routes\users.js:7:8) at Module._compile (node:internal/modules/cjs/loader:1246:14) at Module._extensions..js (node:internal/modules/cjs/loader:1300:10) at Module.load (node:internal/modules/cjs/loader:1103:32) at Module._load (node:internal/modules/cjs/loader:942:12) at Module.require (node:internal/modules/cjs/loader:1127:19) at require (node:internal/modules/helpers:112:18) at Object.<anonymous> (C:\Users\zink8060\Desktop\fullstack-app\back\src\index.js:33:19)해당 오류가 있었는데,해당 부분을 _id로 바꿨더니 정상적으로 서버가 동작합니다.const jwt = require("jsonwebtoken"); const User = require("../models/User"); let auth = async (req, res, next) => { // 토큰을 request headers에서 가져오기 const authHeader = req.headers["authorization"]; // Bearer ooerkogkeorkgoek.erogkoerkog.eorgkoerkgoerkgokg const token = authHeader && authHeader.split(" ")[1]; if (token === null) return res.sendStatus(401); try { // 토큰이 유효한 토큰인지 확인 const decode = jwt.verify(token, process.env.JWT_SECRET); const user = await User.findOne({ _id: decode.userId }); if (!user) { return res.status(400).send("없는 유저입니다."); } req.user = user; next(); } catch (error) { next(error); } }; module.exports = auth;하지만 강사님의 코드에는 "_id"로 되어있는데, 버전문제일까요? 아니면 다른 문제가 있을까요?
-
미해결딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
Decoder 전체(10) 부분에서 attn_weight output shape 관련 질문 드립니다.
sample_decoder = Decoder(num_layers=2, d_model=512, num_heads=8, dff=2048, target_vocab_size=8000, maximum_position_encoding=5000) x = tf.random.uniform((64, 26), dtype=tf.int64, minval=0, maxval=200) output, attn = sample_decoder(x, enc_output=sample_encoder_output, training=False, look_ahead_mask=None, padding_mask=None) output.shape, attn['decoder_layer2_block2'].shape위 코드 결과 output은 (TensorShape([64, 26, 512]), TensorShape([64, 8, 26, 62]))인데요.atten output size 64 x 8 x 26 x 62는batch x head num x seq_len x depth(=len_k) 의 사이즈일것 같은데요.depth의 경우, d_model(512) / num_head(8) = 64 가 되야하는게 아닌지요? 62인 이유가 궁금합니다.
-
해결됨[웹 개발 풀스택 코스] HTML&CSS 기초
form 질문
div안에 form이 있는경우도 있고form안에 div가 있는 경우도 있는데 둘다 동작은 똑같이 되는건가요?