묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
dispatch를 사용하는 함수 안에 async await
회원가입을 요청하는 로직안에 성공과 실패에 따른 분기문을 한곳에 실행하고 싶은데 방법이 있나요? (예시) const onSubmit = useCallback(async () => { try { const result = await dispatch({ type: SIGN_UP_REQUEST, data: { email, password, nickname }, }); message .success("회원가입에 성공하셨습니다.") .then(() => Router.push("/").then()); } catch (signupError) { message.error(JSON.stringify(signupError, null, 4)).then(); } }, []);
-
미해결15일간의 빅데이터 파일럿 프로젝트
클러스터 설정 - 실행명령 실패
저사양 기준으로 Virtual Box에서 Server01/02를 생성 후 클러스터를 설정중 다음과 같은 설치 실패 메세지를 받았습니다. Win10 - Virtual Box 5.0.40 -> 5.2.44 (old version은 실행이 되지 않아 바꾸었습니다) 데이터베이스 설정관련 내용은 강의에서 언급하신 바와 다르게 설치창에서는 따로 나오지 않았고 다음과 같이 설치에 실패하였습니다. 이런 경우에는 어떻게 해야 하나요..?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
파일 업로드시 서버 재시작
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요 강의코드를 응용해서 폴더를 받아 폴더안 파일들을 하나씩 axios 로 보내주고 있습니다 다른 파일들은 정상적으로 보내지는데 , config.json, tsconfig.json 파일을 전송할때 서버가 재시작되어 네트워크 오류가 발생됩니다. 업로드는 multer 를 이용하는데, 서버가 재시작되었다는건 스트림으로 config.json 파일을 읽어서 그런것인가요? 이경우 업로드를 하려면 어떻게 해야하나요? (업로드방지 기능을 만들어서 업로드못하게 막는게 맞을까요?) (tsnode 이용해서 node.js + typescript 로 구축했습니다)
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
강사님 rest, http api 설계에 대해 궁금한점이 있습니다!
안녕하세요 김영한 강사님!! 이렇게 또 질문을 올리게 되었습니다..! 토이프로젝트로 api를 설계할때마다 너무나도 궁금한점들이 있었습니다. 간단한 예제로 회원 정보 api 설계로 예를 들어보겠습니다! . 회원 조회 api 설계라고 하면 보통 /members/{id} 이런식으로 알고 있습니다. . Spring Security를 이용해 jwt나 세션을 사용하면 Principal 객체에 회원 데이터가 들어있어서 이를 이용해 /members/me -> 이런 api 설계도 가능했었습니다 (jwt decode 된 정보나 세션 정보를 확인해서 정보조회) . 클라이언트 입장에선 로그인 후 회원 정보를 보고싶으면 회원조회를 요청하는 uri 주소를 띄워줘야 하는데 회원 리소스의 식별 값을 알아야지 조회가능 하지 않나? 라는 생각이 들었습니다. . Admin 페이지에서의 예를 들어보면 회원들 관리를 위해 전체 회원 목록 조회를 하면 회원 entity들을 dto로 반환하고 hateoas를 이용해 각각의 회원 정보를 조회하는 uri를 PagedResourcesAssembler를 이용해 각 회원마다 만들어 주었었습니다. (예시를 들자면 회원 목록 조회후 @Id 값들로 회원 조회, 게시판 글 목록 조회 후 @Id 값들로 게시판 글 조회, 주문 목록 조회후 @Id 값들로 주문 조회 이런식입니다!) ex) "id": 1, "username": member1, "links":[ { "rel": "회원 정보", "href": "http://localhost:8080/members/1" } ] "id": 2, "username": member2, "links":[ { "rel": "회원 정보", "href": "http://localhost:8080/members/2" }] ..... 하지만 로그인한 일반 유저 입장에선 -그냥 세션을 이용한다면 세션에 setAttribute한 값을 가져와서 회원을 조회해서 정보를 나타내주면 되고 -jwt를 이용한다면 decode된 정보를 바탕으로 회원을 조회해서 정보를 나타내주면 되는데 /members/{id} 로 api 설계를 하고 api 문서를 적어놨다고 하였을때 클라이언트 쪽에선 어떻게 개발을 하는지 궁금합니다. (보통 실무에선 restful을 지키기가 힘들기 때문에 보통 지켜지지 않으며 개발이 된다고 하신 답글을 보았었습니다!) . - /members/1 이라고 했을때 1번인걸 클라이언트가 어떻게 알고 회원 정보를 보는 페이지로 가는 uri를 적는걸까? -> 서버로 로그인 요청을 보내면 서버에서 1번 응답을 줘서 클라이언트에 따로 저장시켜놓는건가? . 이런 생각들입니다..! 제가 이부분에선 잘못 생각하고 있을수도 있지만 이상하게 헷갈리는 부분은 꼭 알고 가고싶어서 여쭤보게되었습니다. 구글에 찾아봐도 설계만 딱 있을뿐 저에게 답이 되는 부분은 찾지 못하였습니다..ㅜ . 그래서 정리하자면 1. /members/me -> Principal 에 저장된 정보로 회원조회 하는 설계랑 /members/{id} -> @PathVariable id 값으로 회원 조회 하는 설계가 명확히 어떤 측면에서 장단점들이 있고 제가 앞에서 말씀드린 내용의 대한 것과 제가 어떤 부분을 잘못 알고있는지 궁급합니다! 2. 보통 rest가 아닌 실무에서의 http api 설계를 할때 해당 페이지에서 이동 가능한 link 까지 포함해서 응답을 주는지 궁금합니다! (회원 정보 페이지 라고 한다면 회원 정보 페이지에선 회원 수정, 회원 탈퇴 의 링크가 있다면 이걸 포함시켜서 응답을 해야하는지)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)
MyPlayer를 Prefab으로 해야하는 이유가 궁금합니다.
나 말고 다른 플레이어는 Prefab으로 하는 것은 이유가 이해가 가지만 나의 플레이어 또한 prefab으로 관리해야하는지에 대해서는 잘 모르겠습니다. 혹시 나의 플레이어도 반드시 Prefab으로 관리해야 하는 이유가 있을까요?!
-
미해결실전 리액트 프로그래밍
Hook 수도코드 질문.
hooks = [] component() let hooksForThisComponent = hooks; hooks = null; .. 강의에 나온 수도코드로 알아보는 훅 예제입니다. 저 흐름이 조금 이해가 안되는 부분이 있어서 질문드립니다. 제가 이해한 바로는 훅의 동작방식은 아래와 같습니다. 일단 useHook()을 사용하면, hooks 배열에 순서대로 차곡차곡 쌓입니다. 순서대로 쌓이기 때문에, 훅을 사용한 시점에서 hooks 배열에서의 인덱스 포지션 정보 또한 얻을 수 있을것입니다. 만약 컴포넌트가 setState()등으로 변경을 요청하면, 전역변수 hooks에 저장되어있는 포지션을 기준으로 그 훅 데이터에 접근할 수 있고, 상태를 성공적으로 변경할 수 있는것으로 알고 있습니다. 1) 근데 process_a_component_rendering()이라는 함수를 보면 hooks라는 전역배열을 항상 새로운 배열로 초기화시키는데요. 왜 이런 과정을 거치는걸까요? 그럼 기존까지 쌓아왔던 순서정보는 다른 렌더링 요청이 들어오면 날라가는거 아닌가요? hooksForThisComponent라는 변수의 쓰임이 중요한것같은데, 어떤 의미로 사용된거일까요? 따로 각 등록한 hooks등을 복제하여 함수컴포넌트의 context별로 저장하기위한 변수들인건가요?
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
css 오류났는데 이유를 모르겠습니다...ㅜㅜ
컨텐츠이너에 잡혀야 할 .items 가 자꾸 푸터이너에 잡힙니다...ㅜhtml 확인해봤는데 문제는 없었고css에 문제가 있는것 같은데 저는 모르겠어요.. 확인해주세요ㅠ 밑에 달겠습니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
ID 값의 공유?
안녕하세요 영한팀장님. 제가 해당 강의 어플리케이션을 실행해보니까 제가 의도한 것은 아닌데 id가 모두 공유 되더라구요 그러니까 회원 ID, 아이템 ID, 주문 ID가 공유되어서 회원이 1개 만들어지고 아이템이 1개 만들어지고 주문이 1개만들어지면 제가 원하는 것은 각자 아이디가 #1이 되는것인데 해당 애플리케이션은 회원 ID가 #1 아이템ID가 #2 주문ID 가 #3 이 되더라구요 혹시 이것의 해결법이 있을까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
빌트인 내장함수 질문
안녕하세요. 강의를 듣기전에 항상 풀어보는 편인데 javascript의 빌트인 내장함수들에 대해서 질문이 있습니다. array 에는 every, some, forEach, sort 등 이러한 내장 메서드들을 사용해서 풀다가 풀이가 전부 for문을 쓰셔서 푸시는 것을 보고 효율성 면에서 차이가 있어 이렇게 푸는건지 궁금증이 생겼습니다. 최대한 일반 for문을 이용하여 푸는 것이 가장 좋을까요? 효율성 체크를 어떤식으로 해야 될지 잘 모르겠습니다.. 그리고 현재 문제의 답으로 이렇게 해주었는데 상관은 없을지 궁금합니다. function solution(str) { let answer = ""; const s = str.replace(/[^0-9]/g, ""); answer = parseInt(s, 10); return answer; } let str = "g0en2T0s8eSoft"; console.log(solution(str));
-
미해결[딥러닝 전문가 과정 DL1111] 공대형아의 데이터 시각화를 위한 파이썬
챕터 6-1 3D 질문있습니다.
강의듣다가 막힌 부분이 생겨서 질문드려요 ㅜㅜ 위에 부분까지는 pt로도 잘 나왔는데 밑에부터는 계속 저렇게 뜨는데 왜그런지 알 수 있을까요??
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
무한스크롤시 removeEventListener 하는 이유 정확히 이해가 안갑니다.
이벤트를 해제해야지 메모리에 쌓이지 않는다는 것이 정확히 어떤 의미인지 잘 모르겠습니다. return해서 이벤트를 해제하면 이벤트가 말 그대로 해제되는것이 아닌가요??
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
Object 데이터 타입
삭제된 글입니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 조언 부탁드립니다!
안녕하세요 교수님! 유익한 강의 감사드립니다. 섹션3. 격자판 회문수 문제를 강의 중에 알려주신 로직과 조금 다르게 풀었는데 혹시 리뷰해주실 수 있을까요? cur1, cur2라는 빈문자열에 이어 붙이는 방식으로 회문을 검사했는데 문자열을 이어붙여 사용하면 속도가 많이 느려지는지도 궁금합니다. 조언 부탁드립니다! ``` board = [list(input().split()) for _ in range(7)] # 회문 검사 cnt = 0 def pal(s): n = len(s)//2 for i in range(n): if s[i] != s[-1-i]: return False return True # 단어 완성 def make_word(): global cnt for i in range(7): for j in range(3): cur1 = '' cur2 = '' for l in range(5): cur1 += board[i][j+l] cur2 += board[j+l][i] if pal(cur1): cnt += 1 if pal(cur2): cnt += 1 make_word() print(cnt)
-
미해결스프링 프레임워크 입문
구글 문서 하단의 내용
문서 하단의 "톰캣, 제티, 네티, 언더토우"는 어떤 의미에서 쓰신 건가요?? 위의 "Servlet, Reactive"는 애노테이션의 Aspect에서 사용하는 구현체의 종류로 이해했는데 "톰캣, 제티, 네티"는 같은 의미가 아닌 것 같아서 질문 드립니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
EntityManager flush
안녕하세요 영한팀장님. 궁금한게 생겨 질문드립니다. EntityManager의 사이클이라고 해야할까요.....? 그런게 갑자기 궁금해졌습니다. EntityManager는 내부적으로 어떤 경우를 충족시키면 본인이 알아서 데이터베이스에 여태까지 변경사항을 저장하는 거 같은데 혹시 그 충족기준이 어떤것인지 알 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 오류 질문드립니다
안녕하세요 14:57초 쯤에서 진행하는 테스트에서 에러가 나는데 확인해주실 수 있을까요? 에러메시지는 아래와 같이 나옵니다. Could not write standard input to Gradle Test Executor 3. java.io.IOException: 파이프가 닫히는 중입니다 at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354) at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81) at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142) at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:68) at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:53) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) at java.base/java.lang.Thread.run(Thread.java:834) > Task :test FAILED Error: Could not find or load main class worker.org.gradle.process.internal.worker.GradleWorkerMain Caused by: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':test'. > Process 'Gradle Test Executor 3' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 3s 4 actionable tasks: 1 executed, 3 up-to-date
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 김영한강사님! 질문드립니다
<해결이된줄알고 답글 달아주신줄 모르고 바로 삭제해버렸습니다 죄송합니다> 혹시 문제점이뭐였는지 여쭤봐도될까요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Network - members Error ??
안녕하세요 2 개 이전 강의인 채팅보내기 4:52분 쯤 보면 network의 members가 에러 뜨는게 보입니다. 저도 에러가 뜨는데 이번 강의에서는 에러 뜨는게 없어 보이더라구요?! // layouts/Workspace <Route path="/workspace/:workspace/channel/:channel" component={Channel} /> // components/InviteChannelModal const { workspace, channel } = useParams<{ workspace: string; channel: string }>(); console.log('channel', channel); -> channel undefined ----- 즉, params의 channel이 undefined입니다. 제로초님 코드 복붙했는데도 똑같더라구요 제가 어느 부분을 놓쳤나요?.. `http://localhost:3090/api/workspaces/sleact/channels/undefined/members'
-
미해결YOLO 구현으로 배우는 딥러닝 논문 구현 with TensorFlow 2.0
loss function 관련
loss function 구현한 부분에서 질문드립니다. no object loss에 대한 flag(1objij)를 1-object_exists_cell로 구현하신걸로 이해했는데요 1 - object_exists_cell*best_box_mask 로 구현해야하는게 아닌가요? 1noobjij의 의미를 보면 responsible하지 않은 box에 대한 flag를 표시해야하는 것이고, 그렇게 되면 shape는 7*7*2가 되어야할거같은데요 코드상에서도 1-object_exists_cell의 shape는 7*7*1인걸로 이해했습니다 제가 뭔가 놓치고 있는것인지, 아니면 단순히 object가 존재하지 않는 cell의 box에 대해서만 no-object로 표시하기 위해 위와 같이 구현하신 건지 궁금합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요 김영한강사님 질문드립니다!
삭제된 글입니다