묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결인스타그램 클론 - full stack 웹 개발
이미지 리사이징에 대해서 질문드립니다.
나름대로 커스터마이징 하는 과정중에서 이미지 리사이징과 관련된 부분에서 질문드립니다. 정확히는 일정부분이상 사이즈가 큰 사진을 올릴경우 크기조절에관한 문제입니다. 우선 새 게시글 작성을 통해 사진을 업로드하면 미리보기는 아래와 같이 나옵니다. 문제는 실제 사진이 업로드 되었을 경우, 아래와 같이 양 옆이 넘쳐서 올라간다는 것입니다. 위와 같은 문제 해결을 위해 제가한 방법들로는 1. <img> 태그에 직접 style을 먹여 margin = auto, 또는 itemcenter등 css를 적용해보았지만 미동도...하지않았습니다. 2. post/models 에서 ResizeToFill 필드 부분의 해상도를 300 300 또는 그 이하로 줄여보았지만 오히려 올라오는 사진의 크기는 위와동일해지면서 그림화질만 깨지는 효과가 나왔습니다. 3. save 메소드를 오버라이딩해서 리사이징을 시도해보았지만, 이 부분은 제가공부가 부족해서인지 아직 성과를 내진 못했습니다. (commit=false)를 통해서 그 실제 저장전 메소드를 구현해 리사이징해야한다는 데까진 알겠는데, 그 리사이징 메소드를 어떻게 구현해야할지 감이 안오네요... 이런 사진 해상도와 관련된 리사이징은 어떻게 접근해야할지 조언을 구하고 싶습니다.
-
미해결iOS12 앱 개발 퍼펙트 가이드
질문입니다.
안녕하세요. 레이아웃편과 퍼팩트가이드 두편 모두 보며 많이 배우고 있습니다. 질문이있는데요 UI 변경 관련 코드는 DispatchQueue.main.dasync { } 코드 안에 작성하라고 하셨는데 대체 UI 변경이란게 어떤걸 의미하는지 자세히 모르겠습니다. 간단한 뷰의 위치이동이나 색 변경 등등은 저 코드 안에 작성 안해도 오류가 나지않는 반면 self.scrollView.setContentOffset(CGPoint(x: self.onulhalin.frame.minX - 60 ,y: 0), animated: true 이런 코드는 저 코드 안에 넣지 않으면 오류가 나더라구요. 대체 UI 관련 코드라는게 정확히 어떤 행위를 의미하는건가요?er adasdd {
-
미해결React로 NodeBird SNS 만들기
강의 중 해쉬태그 검색을 위한 /hashtag/:tag 부분 질문!!
6-5 Link 컴포넌트 고급 사용법, 3:48 부분에 <PostCard> 컴포넌트의 <Card.Meta>의 <Link href={`/hashtag/${v.slice(1)}`} key={v} ><a>{v}</a></Link> 이 부분이 동영상 강의 흐름상에서 편집되어있네요. 입력한 해쉬태그를 누르면 해당 해쉬태그만 검색하는 부분인데, 이게 req.params.tag 로 넥스트 서버에 전달되서 getInitialProps로 해당 Hashtag 컴포넌트에서 받아가지고, 이 tag로 디스패치한 후 서버요청하는 부분이잖아요. 근데 여기서 첫번째 단계인 /hashtag/:tag 의 파라미터 부분에 입력하는 /${v.slice(1)} 이 강의 흐름에서 빠져있어요. 이미 다른분이 지적하셨는지, 아니면 제가 못보고 지나친건지 모르겠지만, 다른 분들 참고하시라고 올립니당 이게 깃헙 소스 코드에도 6장 최종 코드만 올라가 있다보니, 깃헙에도 해당 내용이 없기도 하구요. 그럼 좋은 강의 감사드리며 빠이~
-
미해결React로 NodeBird SNS 만들기
index.js에서 PostCard에 key props질문입니다.
깃헙 코드에 ch4/front/pages/index.js에 import React from 'react'; import { useSelector } from 'react-redux'; import PostForm from '../components/PostForm'; import PostCard from '../components/PostCard'; const Home = () => { const { isLoggedIn } = useSelector(state => state.user); const { mainPosts } = useSelector(state => state.post); return ( <div> {isLoggedIn && <PostForm />} {mainPosts.map((c) => { return ( <PostCard key={c} post={c} /> ); })} </div> ); }; export default Home; 이렇게 되어있는데요. PostCard 컴포넌트에 key값이 있는건 index.js내에 카드가 여러개 생길때 key값때문에 넣은게 맞나요? PostCard 컴포넌트 내부에서는 post props만 사용하던데
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
강의 재생 오류 문의
섹션1의 첫번째 강의가 재생이 안됩니다. 확인해 주세요~^^
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
채점시 exit 코드
채점시 exit_code 가 뜨는데 이건 뭔가요???
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
이렇게 코딩했더니
콘솔창에 이렇게 뜨는데 utf-8 이쪽에서 뭔가 에러가난거같은데 어떻게해야하죠? section4-1.py forecast.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import sys import io import urllib.request as req from bs4 import BeautifulSoup import os.path #os.path 내에는 경로반환, 경로추출 등 파일/디렉토리 경로와 관련된 많은 함수를 제공해준다. sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') #다운로드 urll url = "http://www.weather.go.kr/weather/lifenindustry/sevice_rss.jsp" savename = "c:/section4/forecast.xml" if not os.path.exists(savename): req.urlretrieve(url, savename) #BeautifulSoup 파싱 xml = open(savename, 'r', encoding="utf-8").read() soup = BeautifulSoup(xml, 'html.parser') #지역확인 for location in soup.find_all("location"): loc = location.find("city").string print(loc) Python - section4-1.py:26 Traceback (most recent call last): File "C:\section4\section4-1.py", line 19, in <module> xml = open(savename, 'r', encoding="utf-8").read() File "C:\Users\user\anaconda3\envs\section4\lib\codecs.py", line 321, in decode (result, consumed) = self._buffer_decode(data, self.errors, final) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 118: invalid start byte [Finished in 0.152s]
-
미해결자바스크립트 머신러닝 TensorFlow.js
예제 파일은 어디에 있나요 ?
예제 파일은 어디 있나요 ? ? ? 반쯤 봤는데 tensor.js 작성법에 대한 설명도 없고, 강의 제목과 다르게 기계학습 기초만 강의하시네요 . . . 실제 작동되는 예제 파일을 오려주시면 갑사하겠습니다.
-
미해결PBR 리얼타임 캐릭터 제작
강의자님 단축키 세팅적용시 미러툴 기능이 작동 안됩니다
무슨이유인지 단축기 세팅적용전에 미러툴 기능이 작동되지만 단축키만 세팅하면 미러툴기능이 작동하지 않습니다 해결책을 제시해주실수 있으실까요
-
미해결React로 NodeBird SNS 만들기
댓글 삭제 관련 싸이클 다시 질문합니다 ㅠㅠ
댓글 달린걸 확인해보니까 제로초님이 생각하신 댓글 삭제랑 제가 생각하는게 좀 다른 것 같아서 ㅠㅠ 다시 여쭤봅니다. <화면> 화면에 이렇게 각 댓글마다 삭제 버튼을 만들어주었습니다. <saga> <reducer> immer을 사용한 문법이 좀 헷갈려 그 전 문법으로 다시 변경했습니다. 여쭤볼 점은 제 생각에는 action이 발생할 때 각 post의 comment의 개별 아이디를 지워주면 되지 않을까라고 생각하는데 imagePaths remove나 unlike post를 참고하면서 만들었는데, 해결이 되지 않습니다 ㅠㅠ 오류메세지는 DELETE /api/post/48(포스트 아이디)/comment 404 13.547 ms - 35 이렇게 발생합니다 ㅠㅠ
-
해결됨벡터 미적분학 시리즈1 - 미분 기초
다변수 미분 가능성
박사님 아직 듣고있는중인데 다변수함수 미분가능성은그럼 임의의 방향의 방향도함수가 전부 존재하는것과 필요충분인가요?그림상으로는 방향도함수가 한바퀴 다돌아서 그 값이 다 존재하면 미분가능하다고 해도될것같은데..
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
실수형 배열 질문
실수형 배열 예제 만들 때 숫자 옆에 f는 무슨 역할을 하는 건가요?
-
미해결PBR 리얼타임 캐릭터 제작
미러툴 스크립트가 작동이 안됩니다.
알려주신대로 적용해보았지만 M을 눌러도 아무것도 뜨지 않습니다. 어떻게 해야될까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
mac - putty 사용이 가능할지요?
안녕하세요 선생님 . 저는 mac 을 사용하고 있는데 putty를 검색해도 확인이 안 되어서요.. 제가 못 찾는 것인지, 혹시 맥은 다른 프로그램을 사용하는지 확인 부탁드립니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
썜 급해요!
강의를 두세번 돌려봤는데요. uploadProductPage.js에서 맨 하단에 <Form onSubmit={submitHandler}> <Button type="submit">확인</Button> 이렇게 하셨는데요. 확인버튼에 onClick를 안해주셔도되는건가요? 실제로 테스트해보니까 저는 확인버튼을 누르면 아무 동작도 일어나지 않아요. 강사님 깃허브 코드 참고해봤는데 강사님꺼는 <Button onClick={onSubmit}>Submit</Button>; 이렇게 되어있네요. 똑같이 따라해봤는데요, 모든 값을 안넣어주고 확인을 누르면 alert는 잘 나오는데, 제대로 값을 넣어주고 확인을 넣어주면 400 에러가 나옵니다. 이 밖에도 server > models > Product.js 파일에서 continents: { type: Number, default: 1, }, 위의 코드도 이번 강의에서 찾아볼수없고, 강사님 깃허브 코드에는 있습니다. ㅠ 이번 강의에서 없는건 맞는건지 궁금합니다.. 그리고 강의 코드와 제 코드를 아무리 비교해봐도 400에러 발생지를 못찾겠는데.. 도움좀 부탁드릴께요 ㅠㅠ UploadProductPage.js import React, { useState } from "react"; import { Typography, Button, Form, Input } from "antd"; import FileUpload from "../../utils/FileUpload"; import Axios from "axios"; const { TextArea } = Input; const Continents = [ { key: 1, value: "Africa" }, { key: 2, value: "Europe" }, { key: 3, value: "North America" }, { key: 4, value: "South America" }, { key: 5, value: "Australia" }, { key: 6, value: "Australia" }, { key: 1, value: "Antarctica" }, ]; function UploadProductPage(props) { const [Title, setTitle] = useState(""); const [Description, setDescription] = useState(""); const [Price, setPrice] = useState(0); const [Continent, setContinent] = useState(1); const [Images, setImages] = useState([]); const titleChangeHandler = (event) => { setTitle(event.currentTarget.value); }; const descriptionChangeHandler = (event) => { setDescription(event.currentTarget.value); }; const priceChangeHandler = (event) => { setPrice(event.currentTarget.value); }; const continentChangeHandler = (event) => { setContinent(event.currentTarget.value); }; const updateImages = (newImages) => { setImages(newImages); }; const submitHandler = (event) => { event.preventDefault(); if (!Title || !Description || !Price || !Continent || !Images) { return alert("모든 값을 넣어주셔야 합니다."); } // 서버에 채운 값들을 request로 보낸다. const body = { // 로그인 된 사람의 ID writer: props.user.userData._id, title: Title, description: Description, price: Price, images: Images, continents: Continents, }; Axios.post("/api/product", body).then((response) => { if (response.data.success) { alert("상품 업로드에 성공 했습니다."); props.history.push("/"); } else { alert("상품 업로드에 실패 했습니다."); } }); }; return ( <div style={{ maxWidth: "700px", margin: "2rem auto" }}> <div style={{ textAlign: "center", marginBottom: "2rem" }}> <h2>여행 상품 업로드</h2> </div> <Form onSubmit={submitHandler}> {/*Drop-Zone */} <FileUpload refreshFunction={updateImages} /> <br /> <br /> <label>이름</label> <Input onChange={titleChangeHandler} value={Title} /> <br /> <br /> <labe>설명</labe> <TextArea onChange={descriptionChangeHandler} value={Description} /> <br /> <br /> <labe>가격($)</labe> <Input type="number" onChange={priceChangeHandler} value={Price} /> <br /> <br /> <select onChange={continentChangeHandler} value={Continent}> {Continents.map((item) => ( <option key={item.key} value={item.key}> {item.value} </option> ))} </select> <br /> <br /> <Button type="submit" onClick={submitHandler}> 확인 </Button> </Form> </div> ); } export default UploadProductPage; routes>product.js const express = require("express"); const router = express.Router(); const multer = require("multer"); const { Product } = require("../models/Product"); //================================= // Product //================================= var storage = multer.diskStorage({ /* 어디에 파일이 저장되는지 */ destination: function (req, file, cb) { cb(null, "uploads/"); }, /* 어떤 이름으로 파일을 저장할지 */ filename: function (req, file, cb) { cb(null, `${Date.now()}_${file.originalname}`); }, }); var upload = multer({ storage: storage }).single("file"); router.post("/image", (req, res) => { // 가져온 이미지를 저장을 해주면 된다. upload(req, res, (err) => { if (err) { return res.json({ success: false, err }); } return res.json({ success: true, filePath: res.req.file.path, fileName: res.req.file.filename, }); }); }); router.post("/", (req, res) => { // UploadProductPage.js에서 받아온 정보들을 DB에 넣어 준다. const product = new Product(req.body); product.save((err) => { if (err) return res.status(400).json({ success: false, err }); return res.status(200).json({ success: true }); }); }); module.exports = router;
-
해결됨남박사의 파이썬 기초부터 실전 100% 활용
끝자리 연산자 더하고 빼는 부분 변경을 하면
if lop < len(user_input) : string_list.append(user_input[lop:len(user_input)]) 이렇게 lop의 값이 문자열의 길이와 다르면 그만큼 짤라서 넣으면 되지 않나요???
-
해결됨벡터 미적분학 시리즈2 - 미분 심화: 최적화 이론의 기초와 벡터 함수
equipotential surface ~ countour plot
퍼텐셜함수 V의 레벨셋을 equipotential surface라 하셨는데등고선같은 레벨 커브를 생각하면되나요?
-
미해결기본을 확실히!! HTML의 모든 것
아톰으론 코드를 어케 여나요?
아톰으론 코드를 어케 여나요?
-
미해결코틀린 기반 안드로이드 앱개발 심화 2단계
sqlite 데이터 입력질문
sqlite에 데이터 쓰기 작업을 통해 데이터를 저장하는 것이 아닌 제가 가지고 있는 데이터를 한꺼번에 안드로이드 sqlite 데이터 베이스에 삽입할 수는 없나요???
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
error 'index' is defined but never used no-unused-vars 가 나옵니다.
안녕하세요 판교님, 제목과 마찬가지로 저런 에러가 나옵니다 eslint 에러같아 vue.config.js 파일을 생성해서 module.exports = { devServer: { overlay: false }} 셋팅도 해줬습니다. 서버재시작을 해도 저러네요ㅎㅎ;; toggleComplete: function(todoItem, index){ todoItem.completed = !todoItem.completed; localStorage.removeItem(todoItem.item); localStorage.setItem(todoItem.item, JSON.stringify(todoItem));} 에 index를 지우면 에러가 사라지는데 페이지 상에 local storage에 반응이 없어집니다. 틀린게있나 싶어 이러저리 돌려가며 소스확인을 해봤는데 이상은 없는것 같아서 질문드립니다.