묻고 답해요
129만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 기본편
인터페이스에 없는 메서드를 자식 클래스에 추가했을 때 호출하는법 (다운캐스팅?)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]인터페이스를 이용해서 여러 자동차를 만들고 운전자가 자동차의 기능을 사용하게 하는 예제에서 특정 자동차 클래스에만 있는 메서드를 만든다면 호출을 어떻게 해야될까요? 예를들어 Model3에만 자율주행 기능을 추가하고 싶어서public void autoPilot() { System.out.println("자율주행을 시작합니다.");}이런식으로 메서드가 추가됐을때 운전자가 자율주행 기능을 호춣하려면 어떻게 해야되는지 궁금합니다. 제가 비유적으로 이해한 바로는 특정 자동차에만 탑재된 기능을 인터페이스에서 알 수 없으니 따로 배워야한다 --> 운전자 클래스의 코드 수정이 필요하다였고,실제 코드로는 운전자가 가진 Car 인스턴스가 Model3 클래스일 경우 다운캐스팅을 해서 autoPilot 메서드를 호출하는 방식으로 풀긴 했는데, 다운캐스팅이 아직 익숙치 않아서 불안한 마음도 있고 더 좋은 방법이 있을까 해서 질문 드립니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
청개구리 기질로 npm을 쓰는 분들을 위한 launch.json 파일 공유
청개구리 기질로 npm으로 하고 싶어서 강의를 따라오다 여기서 막혀서 구글링 삽질로 해결 했던 정보를 공유 해요~// launch.json{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "type": "node", // 세팅의 타입 "request": "launch", // launch 실행하는거, attach 실행되있는거에 붙는거 "name": "Debug NestJS", // 어떤 이름으로 부를건지 "runtimeExecutable": "npm", // 어떤걸로 실행 할건지 node, yarn ... "runtimeArgs": ["run", "start:debug"], // npm run start:dev 에서 npm이 runtime이고 run start:dev가 Args임 "console": "integratedTerminal", // intergratedTerminal은 vscode에서 실행하는 터미널임 "restart": true, // 자동 연결 할건지 "port": 9229, "autoAttachChildProcesses": true // 디버거를 자동으로 process에 붙을지 말지 결정 } ] }
-
해결됨초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지
Ch07 - 04파일 / timeout 에러
안녕하세요Ch07 - 04_Translate_app_NewVersion 파일로 강의내용 보고있는데 따라하는중에 오류가 나와서 해결방법을 못찾아서 질문 내용 올립니다! openai key는 다른 예제로 했을때는 이상이 없는데요. TypeErro: BaseClient.build_request() got an unexpected keyword argument 'timeout'이렇게 오류가 나옵니다. ##### 기본 정보 불러오기 #### # Streamlit 패키지 추가 import streamlit as st # OpenAI 패키지 추가 import openai # 구글 번역 패키지 추가 from googletrans import Translator # Deepl 번역 패키지 추가 import deepl # 파파고 API요청을 위한 Requests 패키지 추가 import requests ##### 기능 구현 함수 ##### # ChatGPT 번역 def gpt_translate(messages, apikey): client = openai.OpenAI(api_key = apikey) messages_prompt = [{"role": "system", "content": f'Translate the following english text into Korean. Text to translate : {messages}'}] response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": messages_prompt}]) return response.choices[0].message.content # 파파고 번역 def papago_translate(text,PAPAGO_ID,PAPAGO_PW): data = {'text' : text, 'source' : 'en', 'target': 'ko'} url = "https://openapi.naver.com/v1/papago/n2mt" header = {"X-Naver-Client-Id":PAPAGO_ID, "X-Naver-Client-Secret":PAPAGO_PW} response = requests.post(url, headers=header, data=data) rescode = response.status_code if(rescode==200): send_data = response.json() trans_data = (send_data['message']['result']['translatedText']) return trans_data else: print("Error Code:" , rescode) # 구글 번역 def google_trans(messages): google = Translator() result = google.translate(messages, dest="ko") return result.text # 디플 번역 def deepl_translate(text, deeplAPI): translator = deepl.Translator(deeplAPI) result = translator.translate_text(text, target_lang="KO") return result.text ##### 메인 함수 ##### def main(): # 기본 설정 st.set_page_config( page_title="번역 플랫폼 모음", layout="wide") # session state 초기화 if "OPENAI_API" not in st.session_state: st.session_state["OPENAI_API"] = "" if "PAPAGO_ID" not in st.session_state: st.session_state["PAPAGO_ID"] = "" if "PAPAGO_PW" not in st.session_state: st.session_state["PAPAGO_PW"] = "" if "DeeplAPI" not in st.session_state: st.session_state["DeeplAPI"] = "" # 사이드바 바 생성 with st.sidebar: # Open AI API 키 입력받기 st.session_state["OPENAI_API"] = st.text_input(label='OPENAI API 키', placeholder='Enter Your OpenAI API Key', value='',type='password') st.markdown('---') # PAPAGO API ID/PW 입력받기 st.session_state["PAPAGO_ID"] = st.text_input(label='PAPAGO API ID', placeholder='Enter PAPAGO ID', value='') st.session_state["PAPAGO_PW"] = st.text_input(label='PAPAGO API PW', placeholder='Enter PAPAGO PW', value='',type='password') st.markdown('---') # PAPAGO API ID/PW 입력받기 st.session_state["DeeplAPI"] = st.text_input(label='Deepl API 키', placeholder='Enter Your Deepl API API Key', value='',type='password') st.markdown('---') # 제목 st.header('번역 플랫폼 비교하기 프로그램') # 구분선 st.markdown('---') st.subheader("번역을 하고자 하는 텍스트를 입력하세요") txt = st.text_area(label="",placeholder="input English..", height=200) st.markdown('---') st.subheader("ChatGPT 번역 결과") st.text("https://openai.com/blog/chatgpt") if st.session_state["OPENAI_API"] and txt: result = gpt_translate(txt,st.session_state["OPENAI_API"]) st.info(result) else: st.info('API 키를 넣으세요') st.markdown('---') st.subheader("파파고 번역 결과") st.text("https://papago.naver.com/") if st.session_state["PAPAGO_ID"] and st.session_state["PAPAGO_PW"] and txt: result = papago_translate(txt,st.session_state["PAPAGO_ID"],st.session_state["PAPAGO_PW"]) st.info(result) else: st.info('파파고 API ID, PW를 넣으세요') st.markdown('---') st.subheader("Deepl 번역 결과") st.text("https://www.deepl.com/translator") if st.session_state["DeeplAPI"] and txt: result = deepl_translate(txt,st.session_state["DeeplAPI"]) st.info(result) else: st.info('API 키를 넣으세요') st.subheader("구글 번역 결과") st.text("https://translate.google.co.kr/") if txt: result = google_trans(txt) st.info(result) else: st.info("API키가 필요 없습니다") st.markdown('---') if __name__=="__main__": main() 강의 예제 코드랑 동일합니다. 오류TypeError: BaseClient.build_request() got an unexpected keyword argument 'timeout'Traceback:File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 534, in _run_script exec(code, module.__dict__)File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\04_Translate_app_NewVersion.py", line 142, in <module> main()File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\04_Translate_app_NewVersion.py", line 109, in main result = gpt_translate(txt,st.session_state["OPENAI_API"])File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\04_Translate_app_NewVersion.py", line 18, in gpt_translate response = client.chat.completions.create(File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_utils\_utils.py", line 270, in wrapper return func(*args, **kwargs)File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\resources\chat\completions.py", line 645, in create return self._post(File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_client.py", line 1088, in post return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_client.py", line 853, in request return self._request(File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_client.py", line 873, in _request request = self._build_request(options)File "C:\Users\sosgx\Desktop\Project\python_Project_OpenAi\inflearn_chatGPT-main\ch07\ch07_env\lib\site-packages\openai\_base_client.py", line 468, in _build_request return self._client.build_request( # pyright: ignore[reportUnknownMemberType]
-
미해결김영한의 실전 자바 - 기본편
실제 활용 관점
안녕하세요 강의를 듣던 와중에 궁금한 점이 생겨 질문 남깁니다.실제로 그렇다면 추상 클래스와 인터페이스 중에 인터페이스를 사용하는게 이점일 것 같은데.대부분의 경우 인터페이스로 구현되고, 추상 클래스는 사용하지 않는 것인가요 ?백엔드 개발 시에도 인터페이스 구현을 통해서만 작성하는 것 같아 여쭤봅니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - Part 1 NestJS Core
vscode의 디버거를 덕분에 알게 되었는데
강의를 다 보고 나니 너무 좋은 기능인것 같고, 실제로 해당 기능을 개발 단계에서 사용 할때는 따로 winston이나 내장 logger나 console.log 필요 없이(production에선 사용) 해당 디버거를 이용해서 하는게 훨씬 좋아 보이는데, 실무에서도 자주 사용 하시나요?
-
미해결스프링 부트 - 핵심 원리와 활용
코드 소스
[질문 내용]수업 자료 코드 소스는 어디서 받을수있나요??
-
미해결Next + React Query로 SNS 서비스 만들기
server action과 useState에 관해 질문드립니다!
안녕하세요 제로초님 소중한 강의 감사히 보고있습니다.다름이 아니라 강의를 잘 이해하다가 Server action 부터 잘 와닿지가 않아서 질문드립니다.SignupModal.tsx 를 server component로 변경하는 과정을 보고있는데요.리액트에서는 input 태그의 입력값을 useState와 onChange로 관리하지 하지 않으면, "A component is changing an uncontrolled input to be controlled" 와 같은 에러를 띄웠기 때문에 모든 input 값은 useState를 통해 관리하는게 바람직하다고 생각해왔습니다. 리액트 기반으로 동작하는 next도 당연히 그럴 줄 알았습니다.그런데 센세이셔널하게 server action에서 그게 통째로 사라져 버리니 매우 혼란스럽습니다. 단지 서버 컴포넌트로 바뀌었기 때문에 없어져도 상관없는건가요?input태그 입력은 데이터가 실시간으로 입력되는 과정이니까 클라이언트 컴포넌트에서 이루어지는게 맞다고 생각을 해와서그런지 쉽게 받아들여지지 않습니다.또한 말씀하신 방법을 사용했을 때, 만약 입력값 유효성 검사에 있어서 단순히 입력 유무를 확인하는 required 속성 말고도, 입력값을 실시간으로 체크해 유효성 검사 결과를 로직(ex) '사용할 수 있는/없는 비밀번호입니다'를 실시간으로 보여주는 helperText )같은 경우는 구현이 불가능한게 되는 것인지 궁금합니다.모든 컴포넌트를 다 sever action을 활용하는 방식으로 바꾼다면, useState는 사용될 일이 거의 없어지는 건가요..?
-
미해결웹 게임을 만들며 배우는 React
2-9. 웹팩 데브 서버와 핫 리로딩 6:16부분
리로딩과 핫리로딩의 차이를 설명하신 부분에서 핫리로딩은 기존 데이터를 유지한다고 하셨습니다. 그래서 저는 핫리로딩은 새로고침 없이 변경사항이 저장된다고 생각했는데 react-refresh 플러그인을 넣으나 안 넣으나 새로고침 되는건 같고 끝말잇기 프로젝트 내에서 데이터도 모두 초기화가 되었습니다. 그래서 현재 강의 내용으로는 핫리로딩과 리로딩의 차이를 명확히 알 수 없는데 부가적인 설명과 예시 부탁드립니다!
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
MovetoField, InsertPicture 예제에서 반복문 질문
이것저것 다양하게 자동화코드 짜보시다가막히면 언제든 무엇이든 질문 던져주세요.업무자동화 코딩은 과학이나 알고리즘과는 조금 달라서고민만으로 풀리지 않는 경우가 대부분입니다.저도 최대한 빠르게 회신 드리겠습니다. 이거를 for i in range(1,5):이용해서 반복문으로 하고 싶은데 {{{{{i}}}}} 넣어서는 안되더라구요.. 방법이 있을까요?
-
미해결
안녕하세요. 강의 교안 요청 드립니다!
훌륭하고 귀에 쏙쏙 들어오는 강의 정말 감사합니다.쉽게 풀어 설명해주셔서 도움을 정말 많이 받았습니다.저도 강의 교안 받고싶습니다!kr.sangah@gmail.com
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
맥 h2 db 실행오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]맥 터미널에서 권한 부여까지 한후 실행을 했는데./bin/h2.sh: line 3: 3667 Trace/BPT trap: 5 java -cp "$dir/h2-2.2.224.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@"이와 같은 메세지가 뜨면서 아예 화면도 안뜨네요ㅜㅜ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HandlerExceptionResolver 안에서 sendError가 호출된 경우 흐름 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예를 들어 클라이언트가 잘못된 형식의 값을 입력하면 클라이언트의 잘못이지만 서버 내에서 발생한 오류이기 때문에 500오류가 나고 이를 400번대 오류로 처리하기 위해서 HandlerExceptionResolver 내에서 sendError(400, 오류 메세지)를 호출하여 400번대 오류로 설정한다고 하셨잖아요 그런데 이러면 와스가 sendError가 호출된 것을 보고 다시 재요청을 하지 않나요? HandlerExceptionResolver가 예외를 해결하면서 정상 처리로 만들어 추가 프로세스가 실행되지 않게 한다고 해서 잘 이해가 가지 않습니다. sendError로 오류 코드를 설정하고 모델앤뷰를 반환하면서 오류 페이지 렌더링이 되고 와스는 재요청을 하지 않는게 HandlerExceptionResolver의 올바른 흐름인가요
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
안녕하세요, 혹시 GameAbilitySystem 강의는 시기가 언제쯤 업로드 되는지 여쭤봅니다
제목과 같습니다.
-
미해결Next + React Query로 SNS 서비스 만들기
패러렐 라우트 모달에서 tailwind css 모듈을 찾을 수 없다고 에러가 발생합니
안녕하세요, 페러렐 라우트 모달파트에서 모듈 에러가 발생하여 질문드립니다. tailwind css와 관련된 모듈을 설치한 적도 없고tailwind css코드를 작성한 적도 없는데 계속이러한 에러가 발생합니다...node_modules를 지웠다가 설치해도 안되고tailwind css와 관련된 패키지가 설치되어있는지 찾아봤지만 발견할 수 없었습니다 ㅠ 아래 코드가 page.modules.css 코드입니다..container { width: 100dvw; height: 100dvh; display: flex; flex-direction: row; background-color: #fff; } .left { display: flex; justify-content: center; align-items: center; flex: 1; } .right { display: flex; flex-direction: column; justify-content: center; flex: 1; } .right h1 { font-weight: bold; font-size: 64px; margin: 48px 0; } .right h2 { font-weight: bold; font-size: 31px; margin-bottom: 32px; } .right h3 { font-weight: bold; font-size: 17px; margin-bottom: 20px; margin-top: 40px; } .signup { width: 300px; height: 40px; border-radius: 20px; padding: 0 16px; font-size: 15px; background-color: rgb(29, 155, 240); color: white; border: none; display: flex; align-items: center; justify-content: center; } .signup:hover { background-color: rgb(26, 140, 216); } .login { width: 300px; height: 40px; border-radius: 20px; padding: 0 16px; font-size: 15px; color: rgb(29, 155, 240); border: 1px solid rgb(207, 217, 222); display: flex; align-items: center; justify-content: center; } .login:hover { background-color: rgba(29, 155, 240, 0.1); }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
상품 등록 API 오류 납니다
ERROR [TypeOrmModule] Unable to connect to the database Retrying (2)... QueryFailedError: Incorrect datetime value: '0000-00-00 00:00:00' for column 'meetingTime' at row 1라고 오류납니다 product.resolver.tsimport { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { ProductsService } from './product.service'; import { CreateBoardInput } from '../boards/dto/create-board.input'; import { CreateProductInput } from './dto/create-product.input'; import { Product } from './entities/product.entity'; @Resolver() export class ProductsResolver { constructor( private readonly productsService: ProductsService, // ) {} @Query(() => [Product]) fetchProducts(): Promise<Product[]> { return this.productsService.findAll(); } @Query(() => Product) fetchProduct( @Args('productId') productId: string, // ): Promise<Product> { return this.productsService.findOne({ productId }); } @Mutation(() => Product) createProduct( @Args('createProductInput') createProductInput: CreateProductInput, ): Promise<Product> { // << 브라우저에 결과 보내주는 2가지 방법>> // 1. 등록된 내용이 담긴 객체를 그대로 브라우저에 보내주기 return this.productsService.create({ createProductInput }); // 이걸 선호. 조회 api 요청을 안해도 된다 // 2.결과에서만 간단히 보내주기 // return '정상적으로 상품이 등록되었습니다' } } product.service.tsimport { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { ProductsService } from './product.service'; import { CreateBoardInput } from '../boards/dto/create-board.input'; import { CreateProductInput } from './dto/create-product.input'; import { Product } from './entities/product.entity'; @Resolver() export class ProductsResolver { constructor( private readonly productsService: ProductsService, // ) {} @Query(() => [Product]) fetchProducts(): Promise<Product[]> { return this.productsService.findAll(); } @Query(() => Product) fetchProduct( @Args('productId') productId: string, // ): Promise<Product> { return this.productsService.findOne({ productId }); } @Mutation(() => Product) createProduct( @Args('createProductInput') createProductInput: CreateProductInput, ): Promise<Product> { // << 브라우저에 결과 보내주는 2가지 방법>> // 1. 등록된 내용이 담긴 객체를 그대로 브라우저에 보내주기 return this.productsService.create({ createProductInput }); // 이걸 선호. 조회 api 요청을 안해도 된다 // 2.결과에서만 간단히 보내주기 // return '정상적으로 상품이 등록되었습니다' } } productSaleslocation.entity.tsimport { Field, Float, ObjectType } from '@nestjs/graphql'; import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; @Entity() @ObjectType() export class ProductSaleslocation { @PrimaryGeneratedColumn('uuid') @Field(() => String) id: string; @Column() @Field(() => String) address: string; @Column() @Field(() => String) addressDetail: string; // // 9자리 중에서 6자리가 소수점 @Column({ type: 'decimal', precision: 9, scale: 6 }) @Field(() => Float) lat: number; @Column({ type: 'decimal', precision: 9, scale: 6 }) @Field(() => Float) lng: number; @Column() @Field(() => Date) meetingTime: Date; } meetingTime graphlql 타입을 맞게 해났는데 왜 오류나는지 모르곘습니다
-
미해결우디의 포토샵 강좌
펜툴 활성화가 안돼요
펜툴 딴후에 CTRL ENTER 눌러서 활성화하려고하는데 안되고계속 저렇게 이상한 화면이 되요. 어떻게 해야하나요? 다른 상황에서는 활성화가 되는데 강의처럼 '글자' 레이어 마스크 위에다가 펜툴로 그리니까 안되요.
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
Insight를 사용하려고 하는데 오버플로우가 납니다..
- Live중인 것을 더블클릭하면 - 이 창이 뜨고 가만히 멈춥니다.(클릭도 안되고 닫기도 안됩니다) 그러다가 크래쉬가 납니다. 에러 내용입니다.. (스택오버플로우 입니다..)UnrealInsights_Slate!_chkstk()UnrealInsights_Slate!SScrollBar::Construct()UnrealInsights_Slate!STableViewBase::ConstructChildren()UnrealInsights_TraceInsights!SListView<TSharedPtr<SPacketContentView::FAggregationModeItem,1> >::Construct()UnrealInsights_TraceInsights!SComboBox<TSharedPtr<SPacketContentView::FAggregationModeItem,1> >::Construct()UnrealInsights_TraceInsights!TSlateDecl<SComboBox<TSharedPtr<SPacketContentView::FAggregationModeItem,1> >,RequiredArgs::T0RequiredArgs>::operator<<=()UnrealInsights_TraceInsights!SPacketContentView::CreateAggregationModeComboBox()UnrealInsights_TraceInsights!SPacketContentView::Construct()UnrealInsights_TraceInsights!TSlateDecl<SPacketContentView,RequiredArgs::T1RequiredArgs<TSharedRef<SNetworkingProfilerWindow,1> && __ptr64> >::operator<<=()UnrealInsights_TraceInsights!SNetworkingProfilerWindow::SpawnTab_PacketContentView()UnrealInsights_TraceInsights!TBaseRawMethodDelegateInstance<0,SNetworkingProfilerWindow,TSharedRef<SDockTab,1> cdecl(FSpawnTabArgs const & ptr64),FDefaultDelegateUserPolicy>::Execute()UnrealInsights_Slate!FTabManager::SpawnTab()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreSplitterContent()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreSplitterContent()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreSplitterContent()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreArea()UnrealInsights_Slate!FTabManager::RestoreFrom()UnrealInsights_TraceInsights!Insights::SMajorTabWindow::Construct()UnrealInsights_TraceInsights!SNetworkingProfilerWindow::Construct()UnrealInsights_TraceInsights!TSlateDecl<SNetworkingProfilerWindow,RequiredArgs::T2RequiredArgs<TSharedRef<SDockTab,1> const & ptr64,TSharedPtr<SWindow,1> const & ptr64> >::operator<<=()UnrealInsights_TraceInsights!FNetworkingProfilerManager::SpawnTab()UnrealInsights_TraceInsights!TBaseRawMethodDelegateInstance<0,FNetworkingProfilerManager,TSharedRef<SDockTab,1> cdecl(FSpawnTabArgs const & ptr64),FDefaultDelegateUserPolicy>::Execute()UnrealInsights_Slate!FTabManager::SpawnTab()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreSplitterContent()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreArea()UnrealInsights_Slate!FTabManager::RestoreFrom()UnrealInsights_TraceInsights!Insights::SMajorTabWindow::Construct()UnrealInsights_TraceInsights!SNetworkingProfilerWindow::Construct()UnrealInsights_TraceInsights!TSlateDecl<SNetworkingProfilerWindow,RequiredArgs::T2RequiredArgs<TSharedRef<SDockTab,1> const & ptr64,TSharedPtr<SWindow,1> const & ptr64> >::operator<<=()UnrealInsights_TraceInsights!FNetworkingProfilerManager::SpawnTab()UnrealInsights_TraceInsights!TBaseRawMethodDelegateInstance<0,FNetworkingProfilerManager,TSharedRef<SDockTab,1> cdecl(FSpawnTabArgs const & ptr64),FDefaultDelegateUserPolicy>::Execute()UnrealInsights_Slate!FTabManager::SpawnTab()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreSplitterContent()UnrealInsights_Slate!FTabManager::RestoreArea_Helper()UnrealInsights_Slate!FTabManager::RestoreArea()UnrealInsights_Slate!FTabManager::RestoreFrom() 실행한 배치파일 인데요.. -NetTrace=1 이부분을 지우면 실행시켜도 에러는 뜨지 않지만 , Networking Insights 창이 안뜹니다... 또, 이것 때문인지는 모르겠지만, Connect버튼을 누르면 Error 메서지가 하나 뜹니다..LogTrace: Error: ReadError While reading remote command. Read returned 0:' 또 신기한 것은 처음에 실행을 했을 때는 Networking Insights가 잘 실행이 됐었습니다.. 2번째부터 실행하려니까 스택오버플로우가 나면서 창이 닫힙니다 .. ㅠㅠ
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
yml 파일 수정 후에는 SecurityConfig 클래스를 삭제해야 하나요?
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>3.0.4</version> </dependency>import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.provisioning.InMemoryUserDetailsManager; @Configuration public class SecurityConfig { @Bean UserDetailsService userDetailsService() { InMemoryUserDetailsManager userDetailsManager = new InMemoryUserDetailsManager(); UserDetails newUser = User.withUsername("user") .password(passwordEncoder().encode("passw0rd")) .authorities("read") .build(); userDetailsManager.createUser(newUser); return userDetailsManager; } @Bean BCryptPasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } pom.xml에 있는 spring-boot-starter-security를 주석처리하게 되면 SecurityConfig 클래스에서 오류가 발생합니다. 이 클래스는 그대로 주석처리 하면 되는 건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
SocketAsyncEventArgs 가 연속된 패킷을 모으는 역할을 하나요?
[테스트1]아래 처럼 클라이언트에서 Send를 5번 하는데for (int i = 0; i < 5; i++) { byte[] sendBuffer = Encoding.UTF8.GetBytes($"Hello World! {i} "); int sendByte = socket.Send(sendBuffer); } 강의 결과 화면처럼 서버에서는 5번의 Send 패킷을 모았다가 출력하는 모습을 볼 수 있습니다. [테스트2]아래에서도 마찬가지로 Send를 5번 하는데,1초 딜레이를 주고 실행했습니다.for (int i = 0; i < 5; i++) { byte[] sendBuffer = Encoding.UTF8.GetBytes($"{i} "); int sendByte = socket.Send(sendBuffer); Thread.Sleep(1000); } 이때는 서버에서 패킷을 모을 시간이 없었던건지,Send 패킷을 안모으고 출력하는 모습을 볼 수 있습니다. [질문]서버에서 패킷을 모으는 역할을 하는 것이 무엇인가요?SocketAsyncEventArgs 인가요?그리고 패킷을 모으는 기준이 무엇인지 궁금합니다.시간인가요? 아니면 끊임 없이 연속적으로 보내지는 패킷인가요? 아니면 다른 무엇인가요?SocketAsyncEventArgs recvArgs = new SocketAsyncEventArgs(); recvArgs.Completed += new EventHandler<SocketAsyncEventArgs>(OnRecvCompleted); recvArgs.SetBuffer(new byte[1024], 0, 1024);
-
미해결코드로 배우는 React with 스프링부트 API서버
연관관계 맵핑에 대해서 질문드립니다.
@ElementCollection와 @EntityGraph사용법에 대해서 잘 숙지 하였습니다. 한가지 질문이 있습니다. JPA사용시 일반적으로 쓰이는 @OneToMany, @ManyToOne, @ManyToMany를 대신해서 @ElementCollection으로대체하여 사용이 가능할까요?왠지 될거같은생각이 들긴하는데....