묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 고급편
스프링부트 Rest API 서버 구축 시
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링부트 Rest API 서버를 개발할 때 파라미터에 사용되는 어노테이션과 타입을 체크하는 공통 모듈이 필요한가요? 예를 들면@RequestParam Map<String, Object>@RequestBody xxxDTO@PathVariable 피리미티어 타입 또는 레퍼런스 타입만 허용한다. 이런 요구사항이 많나요? 아니면 요구사항이 없더라도 구현하는것이 맞나요? 만약 구현한다면 AOP + HandlerMethodArgumentResolver를 이용하면 될까요?질문이 많아 죄송합니다
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
iOS오류 pod install오류
pod install 이든 npc pod install이든 계속 저 installing boost쪽에서 에러가 뜹니다 윈도우 pc에서 만들던 프로젝트 맥북을 구매하게 되어 맥북으로 하고있는데 안드로이드 에뮬레이터는 npx react-native run-android를 이용해 동일하게 잘 되는데 ios는 되지 않아 막막합니다 어떻게 해결해야 할까요??npx react-native run-ios 를 했을시 나오는 오류입니다 도와주시면 감사하겠습니다! https://github.com/boostorg/boost/issues/843#issuecomment-1872943124이것도 참고해봣지만 해결되지않았습니다 ios가 하고싶은데 너무 절실해서 부탁드릴게요 ㅠㅠ
-
미해결팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
전체 선 굵기 조정 방법
-
해결됨디자인 시스템 with 피그마
컬러맵핑하고 라이트/다크 모드 설정시 색상 반전이 안돼요 ㅠㅠ
선생님 컬러 맵핑까지 잘 따라하고 있는데 맵핑 후 라이트 다크모드 지정하면 선생님처럼 색상 반전이 일어나야 하는데 아무 반응이 없어요 ㅠㅠ 왜 그런걸까요...
-
미해결2시간만에 배우는 포토샵 기초 강의
Tool에서 Magic wand tool이 안보입니다.
선생님, Photoshop 2025 버전으로 쓰는데 Magic wand tool이 안보여서요 ㅠㅠ 어디 숨어 있을까요? 근데 포토샵은 어렵네요 =_=
-
미해결비전공자도 이해할 수 있는 MySQL 성능 최적화 입문/실전 (SQL 튜닝편)
한 번에 너무 많은 데이터를 조회하는 SQL문 튜닝하기 질문입니다
만약 응답해야 되는 데이터는 "많은" 데이터인데데이터베이스에서 조회할 때는 LIMIT, WHERE로 나눠서 가져오고 애플리케이션 로직에서 합쳐서 응답하는게 나은가요?아니면 네트워크를 여러번 타는 것 보다는 이런 경우에는 한번에 가져오는게 더 나을까요?상황에 따라 다르겠지만,, 참고할만한 지침같은게 있을까 싶어서 여쭤봅니다!
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
체크박스 관련 질문
import './App.css' import Header from './components/Header'; import Editor from './components/Editor'; import { useState, useRef,useReducer } from 'react'; import List from './components/List'; const mockData=[ { id:0, isDone: false, content : "React 공부하기", date: new Date().getTime(), }, { id:1, isDone: false, content : "빨래하기", date: new Date().getTime(), }, { id:2, isDone: false, content : "노래 연습하기", date: new Date().getTime(), }, ]; function reducer(state,action){ switch(action.type){ case 'CREATE': return [action.data, ...state]; case 'UPDATE': return state.map((item)=>item.id===action.targetId?{...item, isDone: !item.isDone}:item); case "DELETE": return state.filter((item)=>item.id !==action.targetId); default: return state; } } function App() { // const [todos,setTodos]=useState(mockData); const [todos,dispatch]=useReducer(reducer,mockData); const idRef=useRef(3); const onCreate=(content)=>{ dispatch({ type:"CREATE", data:{ id:idRef.cureent ++, isDone:false, content: content, date: new Date().getTime(), }, }); }; const onUpdate=(targetId)=>{ dispatch({ type:"UPDATE", targetId:targetId }) }; const onDelete=(targetId)=>{ dispatch({ type:"DELETE", targetId:targetId }); }; return ( <div className="App"> <Header /> <Editor onCreate={onCreate} /> <List todos={todos} onUpdate={onUpdate} onDelete={onDelete} /> </div> ); } export default App 강의 10.2를 보던 중 '123'을 리스트에 추가하고 체크박스를 누르는 과정에서 체크박스와 삭제 버튼이 작동하지 않습니다. 기존에 있던 리스트들은 체크와 삭제가 다 되는데 추가된 리스트에 대해서만 작동하지 않는데 틀린 부분이 있는지 궁금합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
강의 연장부탁드립니다
안녕하세요~~AWS Certified Solutions Architect - Associate직장 업무로 강의를 듣지 못하였습니다.ㅠㅜ 지금은 국내 클라우드 회사를 다니고 있어서, 외국계로 이직할때 다시 들으려고 하는데 좀 장기간으로 연장 가능할까요? 연장 부탁 드립니다감사합니다.
-
해결됨개발자를 위한 쉬운 도커
RUN cp
개인적으로 실습을 해보고 있는 과정에서 아무리 해도 해결책을 모르는 것을 물어보고 싶어서 남겨봅니다. multistagebuild 하기전에 singlestagebuild를 하려고 하는 상황입니다. # 빌드 환경 설정 FROM gradle:7.6-jdk17 # 작업 디렉토리 설정 WORKDIR /app # Gradle 빌드 파일과 소스 코드 복사 COPY build.gradle settings.gradle . COPY src ./src # Gradle을 사용하여 애플리케이션 빌드 RUN gradle clean build --no-daemon # 빌드된 JAR 파일을 실행 환경으로 복사 RUN cp build/libs/*.jar app.jar # 빌드된 JAR 파일 실행 EXPOSE 8080 CMD ["java", "-jar", "app.jar"]이렇게 입력을 하면 RUN cp 과정에서"/bin/sh -c cp build/libs/*.jar app.jar" did not complete successfully: exit code: 1"결과가 나옵니다.(RUN cp /app/build/libs/*.jar /app/app.jar 로 해도 결과가 똑같이 나옵니다...)하지만 RUN cp -> COPY로 수정하면 성공합니다.이유에 대해서 물어봐도 될까요? 아무리 구글링을 해도 답을 찾기가 힘듭니다..또한 RUN cp로 빌드에 성공하려면 어떻게 작성해야 할까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
2024년 필기 2회 04분11초에 나오는 문제 질문 드립니다.
int arr[3][3] 은 3x3 행렬이라 이렇게 그려지는 것은 이해했습니다.int arr [3][3]arr[0] = [1, 2, 3]arr[1] = [4, 5, 6]arr[2] = [7, 8, 9]여기에서 arr[0] 을 100번지 주소, arr[1]을 200번지 주소, arr[3]을 300번지 주소라고 가정을 해보겠습니다.이때 int parr[2]가 강사님께서 말씀하신게 포인터 두개를 담은 배열이라고 하셨는데 이 부분이 잘 이해가 안가서요.포인터 두개를 담은 배열이라고 하신다면 int parr[2]에는 arr[1] 이라는 200번지 주소, arr[2] 이라는 300번지 주소가 담긴거고, 이때 parr을 행렬로 만들게 되어서 parr은 다음과 같이 되어서 정답을 유도하게 되는건가요?int parr [2][3]parr[0] = [4, 5, 6]parr[1] = [7, 8, 9]
-
해결됨면접 전에 알고 가면 좋을 것들 - 신입 Java 백엔드 개발자편
put과 delete의 보안이슈
put과 delete두 메소드 자체에는 보안적으로 취약한 점은 없고수정과 삭제라는 기능적인 측면에서 보안적으로 위험할 수 있다고 이해하고 있는데 맞을까요?
-
해결됨외워서 끝내는 SSL과 최소한의 암호기술
결국에 키 쌍은 누가 생성하는지 궁금합니다
관련 자료를 찾아보다가 질문이 생겼습니다!CSR( Certificate Signing Request )이란- 인증서 발급을 위하여 인증기관에 제출하는 인증서 신청서- CSR을 생성하기 위해서는 키쌍이 필요하며, 키쌍으로 CSR 생성- CSR에는 신청 주체자, Pub-Key, Hash값 등의 정보가 담겨 있다- 이 때 디지털 서명이 똑같이 구현- Priv-Key로 CSR의 Hash값을 암호화- CSR을 받은 인증기관에서는 CSR내의 Pub-Key로 Hash값 복호화 및 무결성 검증 지금까지 찾은 내용을 정리하면 위와 같습니다 !SSL 인증서를 설명하시는 영상에서는 CA가 키 쌍을 생성한다고 하셨습니다하지만 CSR 요청 주체가 서버라고 가정하였을 때, "CSR 요청을 위하여 서버는 이미 키쌍을 생성하였고,이 중 Priv-Key는 서버에, Pub-Key는 CSR에 있지 않나" 라는 생각이 들었습니다 위의 내용을 토대로 질문은 아래와 같습니다! 결국에 키쌍은 누가 생성하는건지 궁금합니다 ( CA인가, 아니면 CSR을 요청하는 서버인가? ) 감사합니다
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
인앱 결제 환불 처리
안녕하세요. 좋은 강의 감사드립니다.인앱결재같은 강의를 통해 서비스도 할 수 있겠다는 자신감을 얻었습니다.그리고 서비스 중에 발생하는 환불처리에 대한 내용도 있었으면 참 좋겠다는 생각이 들어글 남깁니다
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
인터셉터 무한루프
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 해당 강의처럼 인터셉터 두개를 사용하여 요청을 했더니 인터셉터가 계속 호출되는 오류가 발생하였습니다. 오류의 원인은 LoginCheckInterceptor의 exclude pattern에 /login 경로를 추가하지 않아 발생한 것이었습니다. 교안과 비교하며 주먹구구식으로 해결하였지만 능동적으로 해결하기 위해서는 어떤 과정을 거쳐야 하나요? 처음에는 두 인터셉터에 브레이크포인트를 찍어 디버깅 하려 했지만 여러 복잡한 코드들을 마주하게 되더라구요.. 어떻게 이런 오류를 해결해야 하나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
13분에 createQuery를 할려고 하는데 . qlString이 안 뜹니다 !
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨Flutter 앱 개발 기초
flutter 에뮬레이터 실행 에러
FAILURE: Build failed with an exception. * What went wrong:Execution failed for task ':app:compileDebugJavaWithJavac'.> Could not create service of type UserHomeScopedCompileCaches using UserHomeScopeServices.createCompileCaches(). > Unexpected lock protocol found in lock file. Expected 3, found 0.* 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 1sError: Gradle task assembleDebug failed with exit code 1 에러는 우선 이렇게 나고 윈도우 기능 hyper-v나 하이버 바이저 프로그램 기능도 다 켰습니다.flutter doctor도 android studio 말고는 다 정상으로 설치 되 있습니다!gradle문제라길래 에러코드 검색해서 봤는데 하라는 대로 할려니 java version이 없다는데해결이 안됩니다 다음 진도 넘어가려니까 흑흑 -참고로 에뮬레이터 런칭까지는 됩니다. run without debugging 할때 에러가 뜹니다.
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
09-02 graphql 에러
수정페이지에서 수정하기 버튼을 누르면 네트웨크에 이런 에러가 떠요미리보기{ "errors": [ { "message": "Unknown type \"Sting\". Did you mean \"String\" or \"Int\"?", "locations": [ { "line": 1, "column": 67 } ], "extensions": { "code": "GRAPHQL_VALIDATION_FAILED", "exception": { "stacktrace": [ "GraphQLError: Unknown type \"Sting\". Did you mean \"String\" or \"Int\"?", " at Object.NamedType (/frontend-api-example/node_modules/graphql/validation/rules/KnownTypeNamesRule.js:57:29)", " at Object.enter (/frontend-api-example/node_modules/graphql/language/visitor.js:323:29)", " at Object.enter (/frontend-api-example/node_modules/graphql/utilities/TypeInfo.js:370:25)", " at visit (/frontend-api-example/node_modules/graphql/language/visitor.js:243:26)", " at Object.validate (/frontend-api-example/node_modules/graphql/validation/validate.js:69:24)", " at validate (/frontend-api-example/node_modules/apollo-server-core/src/requestPipeline.ts:536:14)", " at Object.<anonymous> (/frontend-api-example/node_modules/apollo-server-core/src/requestPipeline.ts:302:32)", " at Generator.next (<anonymous>)", " at fulfilled (/frontend-api-example/node_modules/apollo-server-core/dist/requestPipeline.js:5:58)", " at processTicksAndRejections (node:internal/process/task_queues:105:5)" ] } } } ]}페이로드 09-03-boards/ [number] 페이지 코드 입니다"use client"; //상세 import { useParams } from "next/navigation"; import { gql, useQuery } from "@apollo/client"; import Link from "next/link"; const FETCH_BOARD = gql` query fetchBoard($mynumber: Int) { fetchBoard(number: $mynumber) { number writer title contents } } `; export default function BoardsDetailPage() { const params = useParams(); //useQuery는 중괄호, uesMutation은 대괄호 const { data } = useQuery(FETCH_BOARD, { variables: { mynumber: Number(params.number) }, }); console.log(data); return ( <div> <div> {Number(params.number)}번 게시글 상세페이지 이동이 완료되었습니다. </div> <div>작성자: {data?.fetchBoard?.writer}</div> <div>제목: {data?.fetchBoard?.title}</div> <div>내용: {data?.fetchBoard?.contents}</div> <Link href={`/section09/09-03-boards/${params.number}/edit`}> 수정하러가기 </Link> </div> ); } 09-03-boards-write 코드 입니다"use client"; import { useMutation, gql } from "@apollo/client"; import { useState } from "react"; import { useParams, useRouter } from "next/navigation"; const 나의그래프큐엘셋팅 = gql` # 타입적는곳 mutation createBoard( $mywriter: String $mytitle: String $mycontents: String ) { # 전달할 변수 적는 곳 createBoard(writer: $mywriter, title: $mytitle, contents: $mycontents) { _id number message } } `; //수정 const UPDATE_BOARD = gql` mutation updateBoard( $mynumber: Int $mywriter: String $mytitle: Sting $mycontents: String ) { updateBoard( number: $mynumber writer: $mywriter title: $mytitle contents: $mycontents ) { _id number message } } `; export default function BoardsWrite(props) { const router = useRouter(); const params = useParams(); console.log(params.number); const [writer, setWriter] = useState(""); const [title, setTitle] = useState(""); const [contents, setContents] = useState(""); const [나의함수] = useMutation(나의그래프큐엘셋팅); //수정 const [updateBoard] = useMutation(UPDATE_BOARD); //등록 const onClickSubmit = async () => { //여기서 그래프큐엘 요청하기 const result = await 나의함수({ //variables 이게 $역할을 함 variables: { mywriter: writer, mytitle: title, mycontents: contents, }, }); console.log(result); alert("등록이 완료되었습니다."); router.push(`/section09/09-03-boards/${result.data.createBoard.number}`); }; //수정 const onClickUpdate = async () => { //여기서 수정하기 하자!! const result = await updateBoard({ variables: { mynumber: Number(params.number), mywriter: writer, mytitle: title, mycontents: contents, }, }); console.log(result); alert("수정이 완료되었습니다."); router.push(`/section09/09-03-boards/${result.data.updateBoard.number}`); }; const onChangeWriter = (event) => { setWriter(event.target.value); }; const onChangeTitle = (event) => { setTitle(event.target.value); }; const onChangeContents = (event) => { setContents(event.target.value); }; return ( <div> 작성자: <input type="text" onChange={onChangeWriter} /> <br /> 제목: <input type="text" onChange={onChangeTitle} /> <br /> 내용: <input type="text" onChange={onChangeContents} /> <br /> <button onClick={props.isEdit ? onClickUpdate : onClickSubmit}> {props.isEdit ? "수정" : "등록"}하기 </button> </div> ); }
-
해결됨백엔드 애플리케이션 성능 테스트하기
기준이 뭘까요??
API 테스트시 레이턴시가 보통 몇 ms이상이면 오래걸리는 작업일까요? 혹은 몇ms이하여야 괜찮은 응답속도일까요?
-
미해결처음하는 딥러닝과 파이토치(Pytorch) 부트캠프 (쉽게! 기본부터 챗GPT 핵심 트랜스포머까지) [데이터분석/과학 Part3]
[Pytorch 기울기의 누적 곱? 누적 합?]
optimizer.zero_grad()를 호출하여 모델 매개변수의 변화도를 재설정합니다. 기본적으로 변화도는 더해지기(add up) 때문에 중복 계산을 막기 위해 반복할 때마다 명시적으로 0으로 설정합니다.파이토치 한국어 커뮤니티에서 봤었던 내용이랑 너무 헷갈려서 질문 드립니다. 강사님이 6:00 시작부터 왜 zero_grad()를 사용하는지 설명하시는 부분에서 새로운 출력값에 대한 오차값의 편미분이 누적해서 "곱"해지는 것 처럼 설명해주시는데 , 제가 이해한 바로는 기울기가 이전 반복의 기울기에 "더해지는 것"으로 알고 있거든요 제가 잘못 이해하고 있는 것인지 궁금합니다. 아래가 제가 이해하고있는 과정입니다.(기울기 초기화를 하지 않을시 Pytorch의 누적 과정)
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
공공데이터 미세먼지
serviceKey 가 여러번 다시 시도해도 에러가 발생합니다그리고 위의 이미에서처럼 itemCode,dataGubun,searchCondition 항목이 안보이는데 신청을 잘못한걸까요?<OpenAPI_ServiceResponse> <cmmMsgHeader> <errMsg>SERVICE ERROR</errMsg> <returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg> <returnReasonCode>30</returnReasonCode> </cmmMsgHeader> </OpenAPI_ServiceResponse>