안녕하세요 컴퓨터 전공으로 대학교 3학년에 재학 중인 학생입니다. 다름이 아니라 현재 김영한 강사님 강의를 스프링 입문과 기초를 수강한 상황입니다. 그리고 DB 기초와 웹 MVC 강의를 함께 수강 중입니다. 하지만 강의를 들으면서도 이해가 안되는 부분이 많았습니다. 그래서 다음과 같은 고민이 생겼습니다. 1.강사님 강의를 들으며 이해가 안되는 부분은 인터넷을 찾아가며 들으니 강의에서 이해 못하는 부분도 많지만 확실히 쉽게 설명해주셔서 많이 배워가는 느낌이 듭니다. 하지만 자바 스프링 자체가 어렵고 이해가 안되는 부분이 많아 강의를 들을 땐 항상 "지금 이렇게 이해가 안되는 상태로 배워도 내가 직접 사용할 수 있을까? 코드를 작성할 수 있을까? 라는 걱정이 듭니다. 원래 다른 분들도 자바 스프링을 배우면서 이런 고민을 겪게 되는 건가요? 아니면 자바 언어나 다른 개념들이 익숙하지 않아 저만 겪고 있는 문제점인가요? 만약에 후자가 문제라면 자바 언어 및 다른 개념을 어떻게 채울 수 있는건가요? 2.현재 계획은 자바 언어 공부 + 자바 스프링 수강 => 작은 프로젝트 진행 + 강의 복습 => DB 강의 심화 + 웹 MVC 심화 강의 수강 이렇게 할 계획인데 괜찮을까요? 답변 부탁드립니다 더위 조심하세요
설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요, 맛비님. 강의 잘 보고 있습니다. 다름이 아니라, " Verilog HDL [HDL 1장] Testbench 에서 Clock 생성하기 " 강의에서 git 실습파일 clone에 실패해서 문의 드립니다. 강의 대로 git clone https://github.com/matbi86/sulgyedokhak.git 를 입력하니 첨부파일과 같은 결과가 나옵니다. 설치 완료가 시작 단계의 끝인 줄 알았는데 아직 한 단계 남았었네요 ^^ 답변 부탁드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 자바로 수업을 따라가기엔 힘든가요? 아니면 충분한가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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 드라이버를 선택해서 실행되는것 아닌가요??
안녕하세요 선생님! 전에 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 데이터들만 안뜹니다...! + 로딩 뜬 화면의 개발자도구 화면 입니다!! 확인해주시고 답변 주시면 감사하겠습니다.!!!😂🥹
저의 경우 '나만의 페이지'라고 하지 않고, my_page(소문자)로 해서 실행했는데, 안되더라구요.... 계속 왜 안되지 해메고 있었는데 my_page를 My_page(대문자)로 하니까 실행되는걸 확인했습니다. 혹시나 앞글자를 소문자로 하신분들은 대문자로 바꿔주시면 나올거 같아요~ 여기서 소문자로 import했을경우엔 왜 나오지 않을까요? react의 규칙인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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 failed org.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 omitted Caused 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
안녕하세요. 수업듣다가 이것저것 만져봤는데, 이번달 AWS 사용료 36달러가 결제되었습니다.. NAT Gateway 와 기타 등등 삭제한다고 했는데, 계속 비용이 쌓이는 걸로 봐서 아직 삭제가 안된 것 같습니다. 혹시 무엇을 더 삭제해보아야할까요.. 제가 확인한 바로는 NAT Gateway가 없습니다. 수업과 무관한 내용인 줄은 알지만, 혹시나 방법을 아실까해서 여기에 질문드립니다.
안녕하세요 큰돌님 1학년 문제를 풀었는데, dp배열 초기화의 유무에 따라 답이 갈립니다. 저는 0이라는 값도 결과값이 될 수 있는 값 중 하나라고 생각하여 dp배열을 -1로 초기화했습니다. 그런데 이런 경우 답이 틀렸다고 나옵니다. 오히려, fill을 이용한 별도의 초기화 없이 기본적은 0으로 상태를 두면 맞다고 나옵니다. 제가 어떤 점을 잘못 생각한건가요? 감사합니다. 소스코드 : http://boj.kr/aaa7dca582ec4827803e5b5826b6cdb5
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:, :] 부분) 는 무엇인가요?
head가 string이라 가정하면 int(head)-> 변환된 int를 리턴 float(head)->변환된 head를 리턴 case로 비교시 기존 자료형과 변화된 자료형을 비교하여 원래 자료형이 int나 float가 아니면 false 인건가요? 그리고 | 연산자가 있으니 if head원래 자료형 == head를 int로 바꾼 즉 int 자료형 | head 원래 자료형== head를 float으로 바꾼 즉 float 자료형 인건가요?
구현하고 예제 및 반례를 넣어보고 디버깅도 나름 해봤는데 도저히 틀린 점을 못 찾겠습니다. 강의와 접근 방식이 조금 다르지만 비슷한 것 같은데 어떤 점에서 틀린 건지 알려주시면 감사할 것 같습니다 ㅠㅠ #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한 후 최솟값을 찾을 수 있도록 작성했습니다.
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인 이유가 궁금합니다.