묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨문법 공부 다음엔, 자바스크립트 프로젝트 101
인터넷 사용여부
방금 프로젝트 101 신청했는데요. 혹 인터넷이 연결되야 수강이 가능한가요? 브라우저와 vs코드 통신만으로는 안되는지요.api, 임시서버 이런내용이 있던데요.
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
AXI Verification IP와 실제 PS 연결 후 동작 차이
안녕하세요, 맛비님. 유익한 강의 감사드립니다.Lab 13 memory read/write 실습까지 마치고, 제가 설계한 core로 테스트해보는 중 문제가 생겨 문의 드립니다.우선, register 0~3까지 사용하는 block 이며 0, 1에서 데이터를 받아 core에 넘겨주고, core가 메모리에 어떠한 데이터를 쓴 뒤, 강의처럼 2의 메모리 주소에 있는 데이터를, 3에 넣는 방식으로 설계해보았습니다.이 동작은 AXI Verification IP에서는 의도대로 동작을 하고 있습니다.그러나 이 core를 zynq에 연결하여 bitstream을 작성 후 vitis에서 똑같이 해보려했는데, 제대로 출력되지 않고, 항상 0이 출력됩니다.이렇게 두 결과값이 다를수도 있는 것인가요..?감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
sink로 등록된 topic의 값이 db에 반영되지 않습니다.
sink도 잘 등록되었고, orders topic에 json 값도 잘 전달되지만 전달된 값이 디비에는 반영되지 않아 데이터 삽입이 되지 않습니다. ㅠㅠ무엇이 문제일까요?
-
미해결Vue.js 시작하기 - Age of Vue.js
학생할인 코드
학생할인코드 적용하여, 다른 강의도 들으려고 했는 데,이미 초과된 분량이라고 적용이 안되어서, 그냥 정가에 샀는 데, 할인 기간이 혹시 끝난걸까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
BRAM 메모리 공간의 절대 주소 문의
안녕하십니까?이 강의에서 BRAM 영역의 Width와 관계없이,Addr[0], Addr[1]로 표현하셨는데,이 메모리 공간의 실제 주소(절대 주소)가 어떻게 되는지 궁금합니다.예로 0x4000 0000 에 BRAM을 할당 했을때,Addr[0] :Addr[1] :각강의 주소가 어떻게 되나요?Width : 16 or 32일 때 가정해서Width와 관계없이, 무조건 1씩 증가하는 것으로 봐야 하나요?만약 VITIS에서 접근할려고 할 때, 주소를 어떻게 해야 할지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Book 객체가 준영속 엔티티인 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 코드에서 Book 객체는 개발자가 임의로 만든 객체이고 form 객체의 id값은 이미 예전에 JPA가 저장했던 id값이니까 이 id값을 받은 book 객체는 기존 식별자를 가지고 있기 때문에 준영속 엔티티로 보는것인가요?@PostMapping("/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form){ Book book = new Book(); book.setId(form.getId()); //form은 이전의 jpa가 db에 저장했으니 form의 id값을 받은 book객체는 준영속 엔티티?? book.setName(form.getName()); book.setPrice(form.getPrice()); book.setStockQuantity(form.getStockQuantity()); book.setAuthor(form.getAuthor()); book.setIsbn(form.getIsbn()); itemService.saveItem(book); return "redirect:/items"; }
-
미해결
맛비님 강의가 제 프로젝트의 방향성과 유사한지 판단 부탁드립니다!
안녕하세요.현재 한국과학기술연구원에서 갑작스레 FPGA를 이용한 회로설계를 구현하게 된 학생입니다..ㅠㅠ설계해야 할 회로는, FPGA를 이용하여 28 channel 의 voltage pulse 를 만들어서 특정 구조의 반도체 device에 인가해주고, 그 소자로부터 10개 이상의 output 을 다시 multichannel로 반환받는 회로입니다.device는 28x28 의 crossbar array 에 총 784개의 반도체 소자 중에서 28개의 소자가 FPGA로부터 voltage pulse 를 입력받고, 다시 784개의 반도체 소자 중에서 10개 이상의 소자(미정)가 값을 출력하여 FPGA로 반환하는 기능을 합니다.이때, device로의 입력 전압은 square 모양의 0.5~3V 범위의 analog pulse로 구현해야 하므로 DAC를 거쳐 출력해야하며, device의 출력 전압은 analog 값이므로 다시 ADC를 거쳐 FPGA로 반환되어야 합니다.**핵심**따라서 FPGA-DAC-device-ADC-FPGA 순서로 data가 흘러가며, FPGA는 1us 주기로 device로 input pulse를 인가하고, 그에 따른 출력을 반환받아야 합니다.맛비님의 강의가 제가 하려는 프로젝트의 방향성과 유사한지, 유사하다면 어떤 순서로 강의를 수강해나가야 할지 알려주신다면 정말 감사하겠습니다....!!!!!!부디 제가 맡은 바 수행할 수 있도록 커리큘럼을 짜주신다면,, 정말 열심히 공부하도록 하겠습니다.. 학회에 발표하게 된다면 맛비님께 감사한다며 홍보도 열심히 하겠습니다..
-
해결됨[입문자를 위한 UE5] Part3. 언리얼 엔진 3D 게임 개발 입문
5.1도 다루실 계획이 있으신가요?
혹시 5.1에 추가된 enhanced input 관련 내용도 다루실 예정이 있으신가요?5.1로 5.0을 따라가려니 너무 어렵네요ㅠㅠ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
form태그의 action과 button의 onclick의 사용시기?
<div class="col"> <button class="w-100 btn btn-secondary btn-lg" type="button" th:onclick="|location.href='@{/items}'|"> 상품 관리 </button> </div> <div class="col"> <form th:action="@{/logout}" method="post"> <button class="w-100 btn btn-dark btn-lg" type="submit"> 로그아웃 </button> </form> </div> 상품관리 버튼에서는 button의 onclick을 이용해서 링크를 보내주고 로그아웃 버튼에서는 form태그의 action을 사용해서 링크로 보내주었는데 post의 형식으로 데이터를 보내줘야할때는 form의 action을 통해서 보내주고 get방식으로 보내줘야할때는 onclick을 이용해서 보내는 건가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
/home 화면이 나오지 않습니다..
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 화면이 출력되지 않습니다.... 질문 게시판에 다른 상황들을 보고 오타나 패키지를 잘못 설정했나 다시 보아도 찾지 못하였씁니다.... /home화면이 나오지 않습니다
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
안녕하세요 질문 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. @GetMapping("/api/v1/orders") public List<Order> orverV1() { List<Order> all = orderRepository.findAllByString(new OrderSearch()); for (Order order : all) { // LAZY 강제 초기화 역할 order.getMember().getName(); order.getDelivery().getAddress(); List<OrderItem> orderItems = order.getOrderItems(); orderItems.stream().forEach(o -> o.getItem().getName()); } return all; }orderItem의 item부분 LAZY 초기화 해주는 부분에서 orderItems.stream().forEach에서 stream()빼줘도 결과가 똑같이 나오던데 stream을 넣어주는 이유가 있나요??
-
미해결풀스택을 위한 도커와 최신 서버 기술(리눅스, nginx, AWS, HTTPS, 배포까지) [풀스택 Part3]
mysql 포트 질문입니다.
안녕하세요, 좋은 강의 감사합니다.docker-compose에서 mysql설정할 때, ports를 사용해서 연결했습니다. (ubuntu 20.04)port는 호스트 내부의 컨테이너끼리는 컨테이너 포트로 특정 컨테이너에 접근할 수 있고,호스트 외부에서는 컨테이너 포트와 바인딩된(연결된) 호스트 포트를 통해 특정 컨테이너에 접근할 수 있다고 이해하고 있는데 보안을 위해서 port보단 expose를 사용해서 mysql에 내부 컨테이너들끼리 통신하도록 하는 것이 나을 지 궁금하여 질문을 남기게 되었습니다. 호스트: ubuntu 20.04, 내부 컨테이너: docker-compose에서 service 컨테이너들
-
미해결
파이썬으로 엑셀 파일에 있는 이미지를 개별 이미지 파일로 저장할수있나요?
안녕하세요 파이썬을 공부하고 있는 사람입니다.현재 파이썬으로 엑셀 파일에 이미지를 삽입하고 있는데이와 반대로 a열에는 파일명, b열에는 이미지가 있다고 할때b열에 있는 이미지 파일을 각각 a열의 파일명으로 저장할수있나요?구글에 아무리 검색해도 안나오네요…
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
강의 문의드립니다.
안녕하세요! 선생님 개설 강의중에 스파크로 배우는 머신러닝 문의드립니다.사내에서 데이터분석을 위해 파이썬과 파이스파크를 이용중인데,파이스파크 사용법에 익숙치 않습니다.. 선생님의 위 강의가, 파이스파크 강의인지 궁금합니다.감사합니다
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
이미지 업로드 시 data가 보내지지 않습니다..ㅠㅠ
안녕하세요. 강사님! 강의를 들으며 똑같이 작성했고 혹시 모를 오타가 있는지도 확인하면서 강사님 깃허브도 참조해보았는데 원인을 찾지 못하겠어서 문의드립니다. ㅠ ㅠ이미지 업로드를 하면 아래와 같이 오류가 뜨고 redux dev tools 로 확인해 보았을 때UPLOAD_IMAGES_REQUEST 만 처리되고 SUCCESS 로 넘어가지가 않아요.리퀘스트 되어 있는 데이터를 보면 빈 값인 것을 보니 데이터가 넘어가지 않는 것 같은데 도무지 원인을 모르겠습니다. 업로드를 하면 에러가 나면서 서버연결도 끊깁니다. ㅜㅜ제 코드에 뭐가 문제가 있는 건가요..?ㅠㅠ 확인 후 문제를 알려주시면 너무 감사할 것 같습니다..ㅠㅠㅠ[redux] import produce from "immer"; export const initialState = { mainPosts: [], // 이미지 업로드할 때 이미지의 경로들이 저장됨 imagePaths: [], uploadImagesLoading: false, uploadImagesDone: false, uploadImagesError: null, } export const UPLOAD_IMAGES_REQUEST = "UPLOAD_IMAGES_REQUEST"; export const UPLOAD_IMAGES_SUCCESS = "UPLOAD_IMAGES_SUCCESS"; export const UPLOAD_IMAGES_FAILURE = "UPLOAD_IMAGES_FAILURE"; const reducer = (state = initialState, action) => { return produce(state, (draft) => { switch (action.type) { case UPLOAD_IMAGES_REQUEST: draft.uploadImagesLoading = true; draft.uploadImagesDone = false; draft.uploadImagesError = null; break; case UPLOAD_IMAGES_SUCCESS: draft.imagePaths = action.data; draft.uploadImagesLoading = false; draft.uploadImagesDone = true; break; case UPLOAD_IMAGES_FAILURE: draft.uploadImagesLoading = false; draft.uploadImagesError = action.error; break; default: break; } }); }; export default reducer; [saga]import axios from "axios"; import { all, fork, put, takeLatest, throttle, call, } from "redux-saga/effects"; import { UPLOAD_IMAGES_FAILURE, UPLOAD_IMAGES_REQUEST, UPLOAD_IMAGES_SUCCESS, } from "../reducers/post"; function uploadImagesAPI(data) { return axios.post("/post/images", data); } function* uploadImages(action) { try { const result = yield call(uploadImagesAPI, action.data); yield put({ type: UPLOAD_IMAGES_SUCCESS, data: result.data, }); } catch (err) { console.error(err); yield put({ type: UPLOAD_IMAGES_FAILURE, error: err.response.data, }); } } function* watchUploadImages() { yield takeLatest(UPLOAD_IMAGES_REQUEST, uploadImages); } export default function* postSaga() { yield all([ fork(watchUploadImages), ]); }[components] import React, { useCallback, useEffect, useRef } from "react"; import { useSelector, useDispatch } from "react-redux"; import { Form, Input, Button } from "antd"; import { UPLOAD_IMAGES_REQUEST, REMOVE_IMAGE, ADD_POST_REQUEST, } from "../reducers/post"; import useInput from "../hooks/useInput"; const PostForm = () => { const dispatch = useDispatch(); const { imagePaths, addPostDone } = useSelector((state) => state.post); const [text, onChangeText, setText] = useInput(""); const imageInput = useRef(); useEffect(() => { if (addPostDone) { setText(""); } }, [addPostDone]); const onSubmit = useCallback(() => { if (!text || !text.trim()) { return alert("게시글을 작성하세요."); } const formData = new FormData(); imagePaths.forEach((p) => { formData.append("image", p); }); formData.append("content", text); return dispatch({ type: ADD_POST_REQUEST, data: formData, }); }, [text, imagePaths]); const onClickImageUpload = useCallback(() => { imageInput.current.click(); }, [imageInput.current]); const onChangeImages = useCallback((e) => { console.log("images", e.target.files); const imageFormData = new FormData(); [].forEach.call(e.target.files, (f) => { imageFormData.append("image", f); }); dispatch({ type: UPLOAD_IMAGES_REQUEST, data: imageFormData, }); }, []); const onRemoveImage = useCallback( (index) => () => { dispatch({ type: REMOVE_IMAGE, data: index, }); }, [] ); return ( <Form style={{ margin: "10px 0 20px" }} encType="multipart/form-data" onFinish={onSubmit} > <Input.TextArea value={text} onChange={onChangeText} maxLength={140} placeholder="어떤 신기한 일이 있었나요?" /> <div> <input type="file" name="image" multiple hidden ref={imageInput} onChange={onChangeImages} /> <Button onClick={onClickImageUpload}>이미지 업로드</Button> <Button type="primary" style={{ float: "right" }} htmlType="submit"> 짹짹 </Button> </div> <div> {imagePaths?.map((v, i) => ( <div key={v} style={{ display: "inline-block" }}> <img src={`http://localhost:3065/${v}`} alt={v} style={{ width: "200px" }} /> <div> <Button onClick={onRemoveImage(i)}>제거</Button> </div> </div> ))} </div> </Form> ); }; export default PostForm; [back - routes/post.js]const express = require("express"); const multer = require("multer"); const path = require("path"); const fs = require("fs"); const { Post, Image, Comment, User } = require("../models"); const { isLoggedIn } = require("./middlewares"); const router = express.Router(); try { fs.accessSync("uploads"); } catch (error) { console.log("uploads 폴더가 없으므로 생성합니다."); fs.mkdirSync("uploads"); } const upload = multer({ storage: multer.diskStorage({ destination(req, file, done) { done(null, "uploads"); }, filename(req, file, done) { // amanda.png const ext = path.extname(file.originalname); // 확장자 추출(.png) const basename = path.basename(file.originalname, ext); // amanda done(null, basename + "_" + new Data().getTiem() + ext); // amanda15653484.png }, }), limits: { fileSize: 20 * 1024 * 1024 }, // 20MB }); router.post( "/images", isLoggedIn, upload.array("image"), // single , array , none async (req, res, next) => { // POST /post/images console.log(req.files); res.json(req.files.map((v) => v.filename)); } ); router.post("/", isLoggedIn, upload.none(), async (req, res) => { // POST /post try { const post = await Post.create({ content: req.body.content, UserId: req.user.id, }); 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); } }); module.exports = router;
-
미해결마케터를 위한 구글 애널리틱스 실무
구글 애널리틱스 PDF 자료 및 슬랙 추가 요청 건
안녕하세요? 지금 막 완강을 하고 글을 올립니다. 강의해 주신 내용을 실무에 십분 활용할 수 있도록 저도 PDF자료와 슬랙 추가 부탁드립니다.daniel@cyberlogitec.com 좋은 강의 감사드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
entitymanagerFactory 오류
Consider defining a bean of type 'jakarta.persistence.EntityManagerFactory' in your configuration.이런식으로 오류가 뜨면서 실행이안됩니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
스프링 부트 시작 오류
강의와 동일하지만 스프링 부트 스타터 홈페이지에서 h2데이터 베이스 대신 mysql을 추가한 것 밖에 없는데 해당 오류가 출력됩니다. 구체적인 오류도 나오지 않아 해결하기가 힘드네요.. 어떤 문제가 있을까요? 압축파일을 풀고 따로 코드를 건드리지 않고 바로 실행을 했을 때 입니다. 추가적으로 자바는 17, 스프링부트는 3.0.5 입니다
-
해결됨GetX 기반 Flutter 앱 만들기
라우트 명은 어떻게 지정하나요?
/viewB 는 어디서 지정한건가요?
-
해결됨Flutter 앱 개발 기초
fit: BoxFit.cover
2회차 강의 도중에 질문드립니다fit: BoxFit.cover를 이용해서 이미지 비율을 유지하면서 잘라주는데, 원하는 부분만 잘라서 보여줄 수 없는건가요?처음부터 가운데 고정이 되어있는 상태로 이미지가 잘리는 것 같아서(왼쪽 정렬, 오른쪽 정렬로 이미지 자르는 방법도 알고 싶습니다)