묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
글 수정 페이지에서 사진 삽입
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 글 수정 페이지에서 처음 텍스트만 입력해서 글을 등록하고 수정버튼을 눌렀을때 사진추가는 원래 안되는건가요 개발자님? 텍스트와 사진을 같이 입력한글에서도 사진을 삭제하거나 다른사진으로 교체할수는없나요 ?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
안녕하세요. setImages에 관한 질문이 있습니다.
안녕하세요. 덕분에 수업 너무 잘 듣고 있습니다. 감사합니다. 다름이 아니라 동영상 7분33초부터 나오는 내용에 관한 질문이 있습니다. useState를 통해 setImages에 response.data.filePath를 넣어주셨는데요. fileName이 아닌 filePath가 들어가는 이유가 궁금합니다. 감사합니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기
드랍존 내부 div에 style이 적용되지 않습니다.
안녕하세요 선생님 수업을 잘 듣고 있는 학생입니다. 영상따라 코딩을 하던중 이상한 버그? 라 해야할것이 발생해서 질문 드립니다. 우선 증상은 아래 사진과 같이 드랍존 내부에 + 아이콘이 가운데 정렬이 되지 않는 증상입니다. 드랍존 클릭시 파일탐색기가 열리는 기능은 정상적으로 작동중입니다. 다음은 제 소스코드입니다. import React from "react" import { Typography, Button, Form, message, Input, Icon } from 'antd' import Dropzone from 'react-dropzone' const { TextArea } = Input const { Title } = Typography function VideoUploadPage() { return ( <div style={{ maxWidth: '700px', margin: '2rem auto' }}> <div style={{ textAlign: 'center', marginBottom: '2rem' }}> <Title level={2}>Upload Video</Title> </div> <Form onSubmit> <div style={{ display: 'flex', justifyContent: 'space-between'}}> {/* Drop zone */} <Dropzone onDrop multiple maxSize > {({ getRootProps, getInputProps}) => ( <div style={{ width: '300px', height: '240px', border: '1px solid lightgray', alignItems: 'center', justifyContent: 'center'}} {...getRootProps()}> <input {...getInputProps()} /> <Icon type='plus' style={{ fontSize: '3rem'}}/> </div> )} </Dropzone> {/* Thumbnail */} <div> <img src alt /> </div> </div> <br/> <br/> <label>Title</label> <Input onChange value /> <br/> <br/> <label>Description</label> <TextArea onChange value /> <br/> <br/> <select onChange> <option key value></option> </select> <br/> <br/> <select onChange> <option key value></option> </select> <br/> <br/> <Button type="primary" size="large" onClick> Submit </Button> </Form> </div> ) } export default VideoUploadPage 여기서 제가 이상하다라고 말씀드리는 이유는 드랍존 내부 div에 style에서 width와 height, border같은 경우에는 화면에서 정상적으로 출력되고 있으며 값을 변경해보아도 변경된 값으로 정상적으로 출력되는데 , alignItems와 justifyContent가 적용이 되지 않는 현상이 발생하긴 때문입니다. 위 사진처럼 크롬 콘솔에서도 element가 제대로 적용된것처럼 보이는데 혹시 원인과 해결방법을 알고계신다면 알려주시면 감사하겠습니다.
-
미해결[PyTorch] 쉽고 빠르게 배우는 NLP
teacher_force = random.random() < teacher_forcing_ratio
teacher_force = random.random() < teacher_forcing_ratio 부분에서 teacher_forcing_ratio = 0.5 와 teacher_force 조건식이 어떤 역할을 하는지 잘 이해가 안됩니당.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
안녕하세요 22:52 이 부분 명령어 입력했는데 잘 되지 않습니다.
ㅇ이 부분 후에 나오는 글이 이렇게 나오는데요. EULA 동의 관련한 내용인 거 같은데 해결책을 모르겠습니다.
-
미해결스프링 핵심 원리 - 고급편
이번 장에서 작성했던 코드가 부모 클래스의 기능을 전혀 사용하지 않았다는 말의 의미가 정확이 무엇인가요?
AbastractTemplate 클래스의 책임은 변하지 않는 부분인 log 기능을 자식 클래스에게 제공해주고, 자식 클래스는 변하는 부분인 call 메서드를 구현하는 책임을 가지고 있습니다. 서로 책임을 나누어가지면서 두 객체의 기능이 상호작용 함으로서 템플릿 메서드 패턴이 작동하는 것이 아닌지요. 자식클래스는 부모 클래스가 제공하는 execute라는 기능과 추상화된 call 기능을 사용하는 것처럼 보이는데 강의에서 말하는 "부모 클래스의 기능을 전혀 사용하지 않았다"라는 말의 의미가 무엇인지 잘 모르겠습니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
indexOf 사용
function solution(n, k, card){ let sum = []; for(let i = 0; i < n; i++) { for(let j = i+1; j < n; j++) { for(let k = j+1; k < n; k++) { let card_sum = card[i] + card[j] + card[k]; if(sum.indexOf(card_sum) === -1) { sum.push(card_sum); } } } } sum.sort((a,b) => b-a); answer = sum[k-1]; return answer; } 이런식으로 indexOf 사용했는데, set을 사용하는것과 성능에서 차이가 있을까요?? 이렇게 풀이 해도 괜찮나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 리뷰 부탁드립니다!
function solution(m, product){ let answer=0; let temp = m; for(let p of product) { p[0] /= 2; let sum = []; for(let i of product) { sum.push(i[0] + i[1]) } sum.sort((a,b)=> a-b); let cnt = 0; for(let i = 0; i < sum.length; i++) { if(temp >= 0) { temp -= sum[i]; cnt++; } if((temp < 0 || i === sum.length-1) && (cnt >= answer)){ answer = cnt; break; } } temp = m; p[0] *= 2; } return answer; } * 이렇게 풀이를 해도 괜찮을까요? 1. 비용을 차례로 절반으로 한 뒤 가격+배송비의 배열을 오름차로 정렬시킴. 2. 예산에서 가격+배송비의 배열에서 하나씩 감소 시키며 개수 카운트함. 3. 개수의 최대를 answer로 함.
-
해결됨면접과 취업을 부르는 '퍼블리셔 개인 포트폴리오 홈페이지' 제작
mobile-index.html
mobile-index.html 서브 페이지 만들때 사용하는 목업 이미지들은 최상위 폴더 index.html 과 같은 구조에 있는 images폴더에 넣어둬야하나요? 제가 헷갈리는게 서브페이지 안에서도 목업을 iframe 으로 불러오는 건가요? 아니면 캡쳐한 이미지를 쓰는건가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
교수님 질문있습니다
여기서 train과 val 가 정확히 무엇을 의미하는지 알고 싶습니다. (제말은 yolo가 /content/incredibles/images/train 밑에 있는 이미지 파일들을 통해 저희가 손수 작업한 라벨링파일인 .txt파일을 통해 어떤 원리로 best.pt를 만들어내는지 궁금합니다.) 그리고 하나더 궁금한게 있습니다. train: /content/incredibles/images/train val: /content/incredibles/images/train 실습에서 보여주신 .yaml 의 파일에서 train,val 두 경로가 같고 이미지 파일들의 경로들인데 이 경로가 yolov3가 어떻게 인식하고 작업을 수행하는지 이해가 잘 안되고 있습니다.
-
해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
패킷을 조립하는 부분에서 제가 생각하는게 맞는지 잘 모르겠습니다. ㅜㅜ
친애하는 루키스님~ 바쁘신 와중에 매번 질문글을 올리게 되어 죄송합니다. ㅜㅜ 루키스님이 아주 친절하게 설명을 해주심에도 제가 제대로 이해를 하는 건가해서 이렇게 송구스럽게 글을 올리게 되었습니다. 클라에서 서버로 패킷을 보내게 되면 아래와 같은 과정을 거친다고 현재 생각을 하고 있는데요. 이 생각이 맞는 걸가요? 1. 클라에서 서버로 패킷이 날아온다. 2. 해당 클라에 대응하는 Session의 _recvBuffer에 차곡 차곡 쌓인다. 3. 패킷이 완전체([size(2)][packetId(2)][ ... ])가 될 때까지 일단 스킵을 한다. 4. 패킷이 완전체가 확인되면 OnRecvPacket()로 전달하고 전달한 패킷을 뺀 나머지 부분을 다시 찝어준다. 5. 이후 패킷이 완전체가 될 때까지 일단 스킵을 한다. 6. 패킷이 완전체가 확인되면 OnRecvPacket()로 전달하고 전달한 패킷을 뺀 나머지 부분을 다시 찝어준다 ......(반복)........ 이렇게 이해하고 있는게 맞는 걸까요?ㅜ 끊이지 않는 질문으로 괴롭혀서 죄송합니다... 루키스님 강의가 재밌어지는 만큼 궁금한 점도 쏙쏙 생겨나서 큰일입니다....
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃 권한 요청 드립니다
깃 권한 요청 드립니다 인프런 아이디 : gogoack@naver.com인프런 이메일 : gogoack@naver.com깃헙 아이디 : gogoack@gmail.com깃헙 Username : gogoack
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
URI 정의 관련 질문 있습니다.
안녕하세요 스프링 기본편 + JPA + JPA 활용 을 들으면서 Restful api 도 같이 공부를 하고 있는데 헷갈리는 부분이 있습니다. 1. 아래와 같은 경우 URI에 save 란 동사가 들어가도 되는지 궁금합니다. @RequestMapping("/springmvc/v1/members/new-form") @RequestMapping("/spring/v1/members") @RequestMapping("/springmvc/v1/members/save") 2. /springmvc/v1/members 하나로 정의후 post, get, put 으로 처리하는게 restful 로 알고 있는데 제가 잘못 이해하고 있는걸까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
설명중에 조금 햇갈리는게 있어서질문드립니다
안녕하세요 너무 잘 듣고있습니다 ~ 16:15부분에서 RestControlle를 사용하시면 반환시키는 값을 responsebody에 저장하지 않더라도 자동으로 json포멧으로 변경된다고 말씀해주셨는데 responsebody 에 저장 시키는거 아닌가요 ? RestController - > Controller + responsebody 이니깐요.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
input 파일 업로드시 다른정보는 넘어가는데 file정보가 넘어가지 않는 현상
안녕하세요 개인작업중에 질문이있습니다. 서버와 통신중 백엔드 서버에 게시글 올리는 기능을 만드는데 다른 정보들은 넘어가는데 이미지 파일만 넘어가지 않는 현상이 있어서 질문드립니다. 통신 방법과 이미지 데이터 바꾸기 등을 하여도 넘어가지 않습니다. 코드입니다 import React, { useCallback, useEffect, useRef, useState } from 'react'; import Router from 'next/router'; import MainLayout from '../components/MainLayout'; import style from '../styles/css/upload.module.css'; import useInput from '../hooks/useInput'; import { useDispatch, useSelector } from 'react-redux'; import { ADD_POST_REQUEST, LOAD_POSTS_REQUEST, UPLOAD_IMAGES_REQUEST, } from '../reducers/post'; import { POST_CARD } from '../reducers/menu'; import axios from 'axios'; const Home = () => { const dispatch = useDispatch(); const { me } = useSelector((state) => state.user); const { mainPosts, addPostDone, imagePaths } = useSelector( (state) => state.post, ); const [photoToAddList, setPhotoToAddList] = useState([]); const [content, onChangeContent, setContetn] = useInput(); const [notice, onChangeNotice, setNotice] = useInput(false); const ref = useRef(); const handleResizeHeight = useCallback(() => { if (ref === null || ref.current === null) { return; } ref.current.style.height = '20px'; ref.current.style.height = ref.current.scrollHeight + 'px'; }, []); //댓글창 크기 자동조절 useEffect(() => { if (!me) { Router.push('/'); } }, [me]); const checkboxClick = useCallback(() => { setNotice((prev) => !prev); }, [notice]); const imageInput = useRef(); const onClickImageUpload = useCallback(() => { imageInput.current.click(); }, [imageInput.current]); // 이미지 파일 변수에 저장 const handleImage = useCallback( (e) => { const temp = []; const photoToAdd = e.target.files; for (let i = 0; i < photoToAdd.length; i++) { console.log(photoToAdd); temp.push({ id: photoToAdd[i].name, file: photoToAdd[i], url: URL.createObjectURL(photoToAdd[i]), }); } if (temp.length > 10) { return alert('최대개수 10개가 넘어갔습니다'); } if (temp.length + photoToAddList.length > 10) { return alert('최대개수 10개가 넘어갔습니다'); } if (photoToAddList.length > 10) { return alert('최대개수 10개가 넘어갔습니다'); } setPhotoToAddList(temp.concat(photoToAddList)); // setPhoto(temp.push(temp.forEach((v) => v))); }, [photoToAddList], ); const onRemove = useCallback( (deleteUrl) => { setPhotoToAddList(photoToAddList.filter((v) => v.url !== deleteUrl)); }, [photoToAddList], ); const upLoadFormClick = useCallback( (e) => { e.preventDefault(); if (!photoToAddList.length > 0) { alert('이미지를 등록해주세요'); return; } if (!content) { alert('내용을 등록해주세요'); return; } dispatch({ type: ADD_POST_REQUEST, data: { bo_writer: me.id, bo_content: content, bo_image: photoToAddList, }, }); dispatch({ type: LOAD_POSTS_REQUEST, data: { mem_id: me?.id, }, }); setTimeout(() => { if (addPostDone) { Router.push('/'); dispatch({ type: POST_CARD, }); } }, 1000); }, [photoToAddList, content, addPostDone], ); return ( <> <MainLayout> <div style={{ paddingTop: '24px' }}></div> <section className={style.a}> <article className={style.maxWidth}> <form encType="multipart/form-data" onSubmit={upLoadFormClick} className={style.upLoadForm} > {me?.grade === 'admin' && ( <div> <span>공지</span> <input name="mem_flag" type="checkbox" value={notice} onClick={checkboxClick} // required /> </div> )} <div className={style.imageBox}> {/* /분리 */} <ul> {photoToAddList ? photoToAddList.map((v) => { return ( <li key={v.url}> <div className={style.remove} onClick={() => onRemove(v.url)} > x </div> <img src={v.url} style={{ backgroundImage: `url(${v.url})`, }} /> </li> ); }) : null} <li onClick={onClickImageUpload}> <div className={style.imageInput}> <img src="/icon/addphoto.svg" className={style.addImg} /> </div> </li> </ul> </div> <input name="bo_image" type="file" accept="image/jpg, image/jpeg, image/png" ref={imageInput} onChange={handleImage} hidden multiple required /> <div className={style.textInput}> <textarea name="bo_content" type="text" placeholder="문구를 입력해주세요" ref={ref} onInput={handleResizeHeight} onChange={onChangeContent} maxLength={140} required /> <button>게시</button> </div> </form> </article> </section> <div style={{ paddingBottom: '44px' }}></div> </MainLayout> </> ); }; Home.propTypes = {}; export default Home; // 게시물 등록하기 function addPostAPI(data) { console.log(data, 'data'); return axios.post( `/board/insert.do?bo_writer=${data.bo_writer}&bo_content=${data.bo_content}&bo_image=${data.bo_image}`, data, ); } function* addPost(action) { try { const result = yield call(addPostAPI, action.data); console.log(result); yield put({ type: ADD_POST_SUCCESS, data: result.data, }); } catch (error) { console.error(error); yield put({ type: ADD_POST_FAILURE, data: error.response.data, }); } }
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
이해하기 어렵네요
제가 이해하기 어려운 부분이 다른 분들도 어려우신거 같네요 이전 강의에서도 느꼈는데 어려운 부분 설명하실때 그리고 코딩 시현하실때 구체적으로 코드이름와 함수명을 말씀안하시고 요기 저기 여기 있는 부분 식으로 추상적으로 말씀하셔서 어려운 부분이 더 어렵게 느껴지네요 이미 수강중이라 어찌할 수 없지만 지적은 해야할것 같아 글 올립니다
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
추가 강의 건의드립니다!
안녕하세요, 강사님! 좋은 강의 해주셔서 항상 감사합니다. nest.js는 처음 배우는데 딱 필요한 부분들을 잘 설명해주셔서 만족하면서 듣고 있습니다. 그런데 진행 중에 추가 강의를 건의 드리고 싶은 부분이 있어서 글을 작성합니다. 이번에 배운 내용을 바탕으로 실제 프로젝트를 진행 중에 open API를 활용하는 부분도 있어서 nest.js 문서를 찾아보면서 여기 를 보고 HttpService로 응답을 받아오려고 하는데 응답 결과가 원하는대로 오지 않더라고요. 결국 시간적인 문제로 해결을 못하고 그냥 axios를 직접 사용해서 open API에 대한 응답을 받아오는 방식으로 타협했었는데, 다른 분들도 open api를 활용하는 경우도 종종 있을 것 같아서 간략하게라도 HttpModule로 open API에 대한 요청/응답을 받는 강의가 있었으면 좋겠다고 생각되어서 건의 드립니다! 혹시 가능할까요??
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
여전히 queue의 사이즈가 증가합니다
안녕하세요 좋은 강의 감사드립니다. 이번 condition_variable을 응용해도 q.size()를 출력해보면 계속해서 증가하는 결과가 나왔습니다. producer와 consumer가 번갈아 실행되서 q의 사이즈가 최대1로 유지되려면 producer에 sleep 을 잠깐 걸어주는 방법밖에 없는걸까요? 아니면 제가 코드작성에 실수가 있는걸까요?
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
간단한 질문 하나드리겠습니다.
REST API 에서 URL 을 똑같이 하되, Method를 다르게 해서 얻는 이점이 무엇인가요?? 예를들면 모든 유저의 정보를 보는 /users [GET방식] 정보의 정보를 저장하는 /users [POST방식]
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
nosql을 사용하는 건 어떻게 생각하십니까?
특히 document기반 db가 사용하기 좀더 익숙해서 그런데 mmorpg를 nosql db로 구성해도 괜찮을까요?