묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결반응형 웹사이트 포트폴리오(App Official Landing Website)
background url 이미지 색상
안녕하세요 선생님 background: url(images/wave-line.png) no-repeat center right 100px, linear-gradient(to right, blue, red); 배경색상은 그레디언트로 하고 url 로 깔아준 png 이미지의 색상을 변경하는 속성은 없을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
해쉬태그 등록 오류
이번 강의에 해쉬 태그 등록을 위한 코드들 const hashtags = ~~~ 부분과 if(hashtags) { } 요거를 추가하면은 500에러가 떠요. 왜 이럴까요? const express = require('express') const multer = require('multer') const path = require('path') const fs = require('fs') const { Post, Image, Comment, User, Hashtag } = require('../models') const { isLoggedIn } = require('./middlewares') const router = express.Router() try { fs.accessSync('uploads') } catch(error) { console.log('uploads 폴더가 없으므로 생성합니다.') fs.mkdirSync('uploads') } // multer 셋팅 const upload = multer({ storage: multer.diskStorage({ destination(req, file, done) { done(null, 'uploads') }, filename(req, file, done) { const ext = path.extname(file.originalname) // 확장자 추출(.png) const basename = path.basename(file.originalname, ext) // 이름 추출(제로초) done(null, basename + '_' + new Date().getTime() + ext) // 이름_1518123131.png }, }), limits: { fileSize: 20 * 1024 * 1024 }, // 20MB }) // 게시글 작성 router.post('/', isLoggedIn, upload.none(), async (req, res, next) => { try { // const hashtags = req.body.content.math(/#[^\s#]+/g) const post = await Post.create({ content: req.body.content, UserId: req.user.id, }) // if(hashtags) { // const result = await Promise.all(hashtags.map((tag) => Hashtag.findOrCreate({ // where: { name: tag.slice(1).toLowerCase() }, // }))); // 결과 [[노드, true], [리액트, true]] // await post.addHashtags(result.map((v) => v[0])); // } if(req.body.image) { if(Array.isArray(req.body.image)) { // 이미지 여러개면 image: [경로.png, 경로.png] const images = await Promise.all(req.body.image.map((image) => Image.create({ src: image }))) await post.addImages(images) } else { // 이미지 하나만 올리면 image: 경로.png const image = await Image.create({ src: req.body.image }) await post.addImages(image) } } const fullPost = await Post.findOne({ where: { id: post.id }, include: [{ model: Image, }, { model: Comment, include: [{ model: User, // 댓글 작성자 attributes: ['id', 'nickname'], }] }, { model: User, // 게시글 작성자 attributes: ['id', 'nickname'], }, { model: User, // 좋아요 누른 사람 as: 'Likers', attributes: ['id'], }] }) res.status(201).json(fullPost) } catch(error) { console.error(error) next(error) } }) router.post('/:postId/comment', isLoggedIn, async (req, res, next) => { try { const post = await Post.findOne({ where: { id: req.params.postId } }) if(!post) { // 게시글 존재하는지 확인 return res.status(403).send('존재하지 않는 게시글입니다.') } const comment = await Comment.create({ content: req.body.content, PostId: parseInt(req.params.postId), UserId: req.user.id, }) const fullComment = await Comment.findOne({ where: { id: comment.id }, include: [{ model: User, attributes: ['id', 'nickname'] }] }) res.status(201).json(fullComment) } catch(error) { console.error(error) next(error) } }) // 좋아요 누르기 router.patch('/:postId/like', isLoggedIn, async (req, res, next) => { // PATCH /post/1/like try { const post = await Post.findOne({ where: { id: req.params.postId }}) if(!post) { return res.status(403).send('게시글이 존재하지 않습니다.') } await post.addLikers(req.user.id) res.json({ PostId: post.id, UserId: req.user.id }) } catch(error) { console.error(error) next(error) } }) // 좋아요 취소 router.delete('/:postId/like', isLoggedIn, async (req, res, next) => { // DELETE /post/1/like try { const post = await Post.findOne({ where: { id: req.params.postId }}) if(!post) { return res.status(403).send('게시글이 존재하지 않습니다.') } await post.removeLikers(req.user.id) res.json({ PostId: post.id, UserId: req.user.id }) } catch(error) { console.error(error) next(error) } }) // 게시글 삭제 router.delete('/:postId', isLoggedIn, async (req, res, next) => { // DELETE /post/10 try { await Post.destroy({ where: { id: req.params.postId, UserId: req.user.id, }, }) res.status(200).json({ PostId: parseInt(req.params.postId, 10) }) } catch(error) { console.error(error) next(error) } }) // 이미지 업로드 router.post('/images', isLoggedIn, upload.array('image'), (req, res, next) => { console.log(req.files) res.json(req.files.map((v) => v.filename)) }) module.exports = router
-
미해결처음 배우는 리액트 네이티브
로그인 화면 구현
로그인 화면 구현시 안드로이드는 정상 로그인이 되는데 ios는 스크롤뷰에러가 뜹니다. 어떻게 해야 할까요? 에러를 검색해 봐도 나오질 않습니다...ㅠ,ㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
객체지향 계획법?
TextRPG 1~3 강의를 쭈욱 수강하면서 궁금한 부분이 있어 질문 드립니다! 객체지향으로 이와 같은 프로그램을 만든다고 할 때 사전에 내가 어떻게 구현할 것이다 하는 것들을 미리 일정 규칙과 문법에 맞게 계획을 한 뒤 구현하면 좀 덜 헷갈릴 것 같은데 혹시 그런 "계획법?" 같은 것은 어떻게 채울 수 있는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
안녕하세요 여쭤볼게있어 질문드려요
안녕하세요 Jpa부터 시작해서 강의 잘보고있습니당! 좋은 강의 항상 감사드려요! 다름이아니라 우리나라 si기업에서는 대부분 spring 부트를 사용하지 않고 spring legacy 프로젝트로 일을 한다고 하더라고요... 저는 spring boot 가 너무 좋고 spring 의 다양한 기능들을 사용하기 위해서는 spring boot 가 최적이란 것또한 이해 하였는데 왜 우리나라 많은 si 에서는 왜 서버띄우기도 느린 외장 톰캣을 쓰며, 복잡한 xml 설정들을 다 잡아줘야하는 spring legacy를 사용하는지 이해가 안되더라고요.. 혹시 spring boot 가 spring legacy 에 비해 단점이 존재할까요? 예를 들면 혹시 성능상 어떤것이 안돌아간다던가... 큰 규모의 프로젝트에서는 한계가 있다거나...혹시 spring boot 의 단점이 있나요?
-
미해결Data Engineering Course (1) : 빅데이터 하둡 직접 설치하기
자바에서 밑부분이 안나와요!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 선생님 !! 자바에서 밑에 string[] args 이 부분들 설정하는 부분들이 안나옵니다 ...!! 자바16을 설치해서 그런것일까요? 저부분 때문에 그런것인지 이 부분도 나오지 않습니다 ㅜ
-
미해결홍정모의 따라하며 배우는 C++
resize() 함수 구현중 질문이 있습니다
resize() 함수 구현중에 size가 증가할때 증가된 변수 자리에는 아무것도 안넣었는데 그러면 다음에 Delete[] 할때 런타임에러가 발생하더라고요 빈자리를 0으로 초기화도록 바꾸니깐 에러가 없어졌는데 포인터에 인트형 배열 메모리를 할당하고 꼭 초기화를 다 해주어야 Delete[] 가능한건가요?
-
미해결파이널 코딩테스트 : 프론트엔드
이미지파일
이미지 파일은 어디서 받을수있는건가요 ??
-
해결됨풀스택 리액트 토이프로젝트 - REST, GraphQL (for FE개발자)
yarn add를 했을 때 node_modules가 2개가 한꺼번에 생성이 되었는데 파일 경로가 잘못되어있었습니다!
해결했습니다!
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
footer 와 겹침 현상
혹시 이렇게 footer 와 겹치는 일은 어떻게 하면 되나요? 단순히 개인 컴퓨터 사양(모니터 크기라던지..) 때문에 발생하는 것일까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강의 수강 후 개인공부 진행하면서 궁금한 점 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(http://bit.ly/3fX6ygx)을 먼저 확인해주세요. 3. 질문 잘하기 메뉴얼(http://bit.ly/2UfeqCG)을 먼저 읽어주세요. 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 영한님, JPA 강의를 모두 수강 후 개인적으로 토이 프로젝트를 진행해보면서 궁금한 점이 있어서 질문드립니다. 가정) Entity에서 값타입인 필드가 존재하는데, 값타입이 List나 Set 형식으로 존재합니다. 아래와 예시와 같이 Store(Entity)는 여러 Category(Value)를 가질 수 있도록 구성했습니다. 위 예시에서 특정 카테고리에 해당하는 Store Entity를 조회하고 싶은데 JPA로는 구현이 힘들어 보입니다. 또한, QueryDSL을 쓰려고 했는데 Category가 Entity 타입이 아니다 보니 Category 테이블과 Join을 할 수 없더라구요. 제가 생각한 방식은 Store를 findByAll을 해서 Category를 찾는거였는데 이렇게 할 경우 리소스 낭비가 심하다고 생각됩니다. 또 다른 방식은 Category를 하나의 Entity로 보고 Store-Category를 1:N 관계로 가져가는 방법을 생각해봤는데, Category가 지속적으로 수정이 필요하지도 않고 별도의 Entity로 가져가기엔 DDD 방법론에 맞지 않는다는 생각이 듭니다. 이런 경우에는 어떤 방식으로 구현을 해야 할까요? 조언 부탁드립니다.
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
compile error
ERROR: [XSIM 43-3409] Failed to compile generated C file xsim.dir/tb_clock_generator/obj/xsim_1.c. ERROR: [XSIM 43-3915] Encountered a fatal error. Cannot continue. Exiting... ERROR: Please check the snapshot name which is created during 'xelab',the current snapshot name "xsim.dir/tb_clock_generator/xsimk" does not exist 1강에서 환경 setting 중에 compile error 가 떠서 막혔습니다 ㅜㅜ 구글링 아무리 해도 해결이 안되네요 ㅜㅜ 답변 부탁 드립니다.
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
Roll 각도가 84도 이상으로 안올라갑니다
BNO080의 Roll 각도가 84.29?도 이상으로는 올라가지 않네요, 84도 이상으로 올라가지 않는게 정상인가요? 저는 드론을 수평에 놔뒀을때 롤피치 오차가 0.7도 미만으로 나와서 캘리브레이션은 하지 않았습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
강의이해
dx가 처음이라 사용되는 함수도 많고 해서 한번에 이해가 다 되지 않고 대충 00은 자료를 전달하는 클래스이고 00은 그걸 받아 자료를 출력하는 클래스로 동작한다 대충 이런 느낌으로 보고 있는데 이런 느낌으로 봐도 괜찮은가요? 처음에는 대충 굴러가는 느낌만 보고 완강 후 2~3번 다시 볼 계획입니다
-
미해결Slack 클론 코딩[실시간 채팅 with React]
Menu에 style 질문있습니다 !
현재 Menu components에 inline style을 주셨는데 이렇게되면, index.tsx에서 style 의 값을 받아서 <div> 태그안에 들어가게되는건가요 ? 만일 그렇다면 div 태그 안에는 어떠한 스타일도 정의되어 있지 않은데 top : 95, left:80 값을 주면 어떤 변화가 생기는 건가요 ? 이 값들은 position : absolute 시 정의해주는 속성들 아닌가요 ?!
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
3x3 max pooling을 진행하면 Feature Map 크기가 줄어들지 않나요?
GoogleNet(Inception) 강의를 듣다가 궁금한 점이 있어 질문드립니다. Concatenate을 위해 Inception Module 내에서 출력되는 Feature Map의 크기가 전부 같아야 한다고 하셨습니다. 2x2 Max pooling은 output Feature Map 크기를 반으로 줄여주는 역할을 하는 것으로 알고 있습니다. 3x3 max pooling을 진행하면 Feature Map 크기가 줄어들어서 문제가 생기지 않나요? Model.summary()를 보면 문제가 없는데, 제가 생각하기에는 3x3 Max pooling 시에 Feature Map 크기가 줄어들어야 하는 것 같아서 질문드립니다.
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
실전 코딩테스트
선생님, 기업 코딩테스트 응시할 때도 직접 input.txt 입력 다 넣어줘야하나요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
sqlite 질문입니다.
제가 레코드를 잘못만져서 하나를 지웠는데 아이디가 3이여서 2로 바꿨습니다. 그런데 제가 이거처럼 아이디가 2인거에는 아무것도 없다고 나옵니다. 아이디를 제대로 2로 바꾸는 법이 어떤게 있을까요? 부탁드립니다.
-
미해결실전! Querydsl
사용자 정의 repository의 implementation class들을 더 작은 클래스들로 쪼개는 방법
만약 예를 들어, repository: WorkRepository Custom Repository interface: WorkRepositoryCustom Custom Repository interface Implementation: WorkRepositoryImpl 정도로 구성되 있을 경우, WorkRepositoryImpl (또는 WorkRepositoryCustom interface)가 너무 커져서 별도의 작은 클래스로 쪼개려고 시도중인데요, 추천하실 만한 방법이 있을까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
sdsoc 바우쳐
안녕하세요 맛비님 fpga강의 들어가기전에 zybo z7 20 보드를 구입하려고 하는데요 sdsoc 바우쳐가 있는걸로 꼭 사야 할까요?? 바우쳐가 있다면 어디에 쓰이는지 궁금합니다