묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 데이터 JPA
API 통신 시, @Transactional 사용 관련 질문 드립니다.
안녕하세요. 강사님 매번 질문을 남겨 볼까, 말까 고민하다가 처음으로 질문 드립니다. 저는 SpringDataJpa를 먼저 사용하다가, 강사님 강의를 통해 JPA와 queryDSL을 공부하고 있습니다. 또한, 사내에서 신규 프로젝트 또는 레거시 프로젝트를 작업할 때 SpringDataJpa를 도입해 나가고 있습니다. 현재 API 통신을 하는 메서드를 작성할 때, API 통신 전 과 후 히스토리를 남기고 있는데 @Transactional 없이 한 메서드에서 사용을 하고 있습니다. 제가 생각할 때 잘못 사용 하다가, 원치 않는 결과를 초래할 수도 있을 것이라 생각이 들어서 아래 예제 코드와 같이 사용하고 있습니다. 그러나 요즘 들어 제가 작성하는 코드가 효율적이지 못하다는 것과 update와 관련된 부분은 영속성컨텍스트 내에서 이뤄져야 하지 않을까란 생각이 들었습니다. 조언을 얻을 수 있는 분이 주위에 많이 안 계셔서 이렇게 부끄럽지만 질문 드립니다. 감사합니다. @Transactional에 noRollback 옵션을 주고, 적절한 timeOut 시간을 정의해서 사용하면 괜찮을까요?? ex) //API 통신 전 히스토리 생성 Hist updHist = histRepository.save(hist); //API 통신 ResponseEntity<Result> exampleResult = restTeamplte.postForEntity(uri,HttpEntitiy,Result.class); result = exampleResult.getBody(); //API 통신 후, 히스토리 업데이트를 위한 값 변경 메서드 (setter) updHist.updateResult(result.getCd(),result.getMsg()); //히스토리 업데이트 historyRepository.save(updHist);
-
해결됨[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
함수 실행 후 None 이 출력
함수 실행 후 None 이 마지막에 출력이 되는데 이유를 알고 싶습니다 ㅠㅠ 그리고 None이 안나오게 하는 방법도 알고 싶습니다 ㅠ 감사합니다
-
미해결레트로의 유니티 C# 게임 프로그래밍 에센스
이제 눈치 챘는데
2019.3 버젼 씁니다만, Text Button Dropdown Input Field 이 네 개에 '- TextMeshPro'라는 글자가 붙은 같은 놈들이 각기 또 있는데 얘네들은 뭔가요??ㄷ
-
미해결React로 NodeBird SNS 만들기
닉네임 include관련 질문입니다
이 부분 관련 오류입니다. include 할 때 nickname 관련 부분을 불러오지 못하고 있습니다. 저와 같은 문제가 있으신 분들 질문을 봤는데 참고해도 해결이 되지 않습니다. const express = require('express'); const db = require('../models'); const router = express.Router(); router.get('/', async (req, res, next) => { //게시글 가져옴 try { const posts = await db.Post.findAll({ include: [{ model : db.User, attributes : ['id', 'nickname'], }], order : [['createdAt', 'DESC']], //DESC는 내림차순 ASC는 오름차순 }); res.json(posts); } catch (e) { console.error(e); next(e); } }); module.exports = router; / <Card.Meta avatar={<Avatar>{post.User.nickname[0]}</Avatar>} title = {post.User.nickname} description = {post.content} /> card.meta 부분의 avatar, title 파트를 주석처리하면 원활하게 돌아갑니다. nickname 부분도 원활하게 저장되고 있는 것 같은데 어디서 문제가 발생하는지 알 수가 없습니다.
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
eval_set가 뭐하는건가요??
eval_set=[(X_train, y_train), (X_test, y_test)] 이부분이 잘 이해가 가지 않습니다. eval_set의 역할이 뭔지 알고싶어요. 피팅에 이미 xtrain, ytrain 다 들어갔는데, eval_set에는 전 데이터가 다 들어가네요 train 데이터로 학습을 시키고 test데이터로 검증을 한건가요?? test데이터 빼고 train 데이터만 eval_set에 넣어도 돌아가는데 어떤차이가 있는지 알고싶습니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
kubectl 대시보드 설치시 에러 관련 문의 드립니다.
쿠버네티스 워크숍 보며 실습을 하는데 위와 같이 대시보드 설치하여 접속시 에러가 나옵니다. 어떻게 해결해야 할까요? <설치> kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml <실행> kubectl proxy --port=8080 --address='0.0.0.0' --disable-filter=true & <브라우저 뒤에 아래 붙여서 접속> /api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 여기까지 했을 때 위의 스샷처럼 나옵니다... 버젼은 1.10.1 로 나옵니다. 위 설치시의 apply 대신 delete 를 주어 삭제 후, 공식 홈페이지의 2.0 beta 버전을 설치 후, kubectl proxy & 로 실행 후, 공식 홈페이지에서 말하는 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ 접속을 하려고 시도해 보았으나, 제대로 접속이 되지 않아 문의를 남깁니다. 도와주세요 선생님...
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
감사합니다 잘 보고 있습니다. 교재는...
혹시 이 강의 교재는 따로 없는건가요?
-
해결됨React로 NodeBird SNS 만들기
Field 'content' doesn't have a default value
강의를토대로 게시판 작성을 실습중인데요! ㅠ ㅠ 게시판 작성을 누르면 "Field 'content' doesn't have a default value"라는 에러가 발생합니다. 검색해보니 mysql 특정 버전에서는 디폴트값이 없으면 에러가 날수있다고해서 마이그레이션을 작성해주었습니다. "use strict"; module.exports = { up: (queryInterface, Sequelize) => { queryInterface.changeColumn("Posts", "content", { type: DataTypes.TEXT, allowNull: false, defaultValue: "" }); }, down: (queryInterface, Sequelize) => { /* Add reverting commands here. Return a promise to correctly handle asynchronicity. Example: return queryInterface.dropTable('users'); */ } }; 명령프로세서에서 실행해주면 다음과 같이 나옵니다. 강의와 똑같은 환경과 비슷한 코드를 작성했는데 왜 에러가 나는걸까요??.. postForm.js import React, { useCallback, useState, useEffect } from "react"; import styled from "styled-components"; import Link from "next/link"; import { useSelector, useDispatch } from "react-redux"; import { media } from "../components/StyleUtils"; import { ADD_POST_REQUEST } from "../reducers/post"; const postForm = () => { const dispatch = useDispatch(); const [titleText, setTitleText] = useState(); const [text, setText] = useState(); const { imagePaths, isAddingPost, postAdded } = useSelector( state => state.post ); const onSubmitForm = useCallback( e => { e.preventDefault(); if (!titleText || !titleText.trim()) { return alert("제목을 작성하세요."); } if (!text || !text.trim()) { return alert("게시글을 작성하세요."); } dispatch({ type: ADD_POST_REQUEST, data: { title: titleText.trim(), content: text.trim() } }); }, [titleText, text] ); const onChangeTitleText = useCallback(e => { setTitleText(e.target.value); }, []); const onChangeText = useCallback(e => { setText(e.target.value); }, []); return ( <Container> <PageTitle>게시글 작성</PageTitle> <Form onSubmit={onSubmitForm} enctype="multipart/form-data"> <Label htmlFor="title">제목</Label> <Title id="title" placeholder="제목을 입력해주세요" value={titleText} onChange={onChangeTitleText} /> <Label htmlFor="content">내용</Label> <Content id="content" placeholder="내용을 입력해주세요" value={text} onChange={onChangeText} /> <ButtonBox> <Button type="primary" htmlType="submit" style={{ marginRight: 10 }}> 작성하기 </Button> <Link href="/board"> <a> <ButtonSecond>목록으로</ButtonSecond> </a> </Link> </ButtonBox> </Form> </Container> ); }; export default postForm; models => post module.exports = (sequelize, DataTypes) => { const Post = sequelize.define( "Post", // 테이블명은 posts { title: { type: DataTypes.STRING(20), allowNull: false } }, { views: { type: DataTypes.INTEGER, allowNull: false, defaultValue: 0 } }, { content: { type: DataTypes.TEXT, // 매우 긴 글 allowNull: false, defaultValue: "" } }, { charset: "utf8mb4", // 한글+이모티콘 collate: "utf8mb4_general_ci" } ); Post.associate = db => { db.Post.belongsTo(db.User); // 테이블에 UserId 컬럼이 생겨요 db.Post.hasMany(db.Comment); db.Post.hasMany(db.Image); db.Post.belongsToMany(db.User, { through: "Like", as: "Likers" }); }; return Post; }; routes=>post.js const express = require("express"); const db = require("../models"); const router = express.Router(); router.post("/", async (req, res, next) => { try { const newPost = await db.Post.create({ title: req.body.title, content: req.body.content, UserId: req.user.id }); return res.json(newPost); } catch (e) { console.error(e); next(e); } }); router.post("/images", (req, res) => {}); router.get("/:id/comments", async (req, res, next) => {}); module.exports = router; .
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
궁금한점이 몇가지가 있는데요..
6강. 연결리스트 구현연습 동영상의 [07:30] 부분에서 위쪽에 class Room<T> 이렇게 코딩하시고 그 아래에 class RoomList<T> { public Room<T> Head; ~~ } 이렇게 코딩하셨는데 궁금한점이 Room<T>를 클래스가 다른데 그냥 RoomList<T> 의 중괄호 안으로 가져올수 있는건가요?;; 그리고 첫부분에서 class Room { public Room Next; } 이렇게 됬을때 참조한다고 하셨는데 좀더 구체적으로 설명해주실수 있을까요??
-
미해결선형대수학개론
1.1 질문
9:14쯤에 replacement 라는 용어가 나오고 row에다가 곱하거나 나누거나 더하는 연산이 replacement 라고 나오는데 뒤에서 나ㅇ는 scaling 이라는 용어랑 차이가 뭔가요? scaling 도 row에다가 특정값을 곱하거나 나누는 연산인거 같은데..
-
미해결선형대수학개론
1.1 강의 오타있어여
09:14 에서 1이퀘이션에서 3이퀘이션뺴는 연산에서 -3x2가 아니라 3x2입니다!!!!!!
-
미해결코딩의민족 앱 제작 (Android kotlin)
혹시 전체 소스파일을 얻을수있을까요??
깃허브 주소나 메인 강의글에 첨부를 해주셨으면 하는데요. 오류 사항 발생시 공부하면서 많은 참고가 될 것 같습니다.
-
미해결밑바닥 부터 시작하는 머신러닝 입문
숙제 제출 오류
submit.bat 하고 basic linear algebra 과제쪽에 있는 hash key 를 입력했는데 위와 같은 오류가 뜨더군요어떻게 해결해야 하나요?
-
미해결대세는 쿠버네티스 (초급~중급편)
on premise 환경에서 DNS 접근 문의 드립니다
kubernetes on premise 환경에서 도메인을 통해 접근하는 연결은 모두 master를 통해서만 접근이 가능한건가요? 바로 node를 통해 접근하도록 설정도 가능한지 궁금합니다.
-
미해결하울의 안드로이드 인스타그램 클론 만들기
유저 페이지 만들기#3 requestFollow 함수 부분
followDTO 객체가 null인경우 객체만 생성해주면 되지 않을까요? 카운트 증감 및 followers 맵의 값을 바꾸는건 그 다음 조건문에서도 하니까 코드의 중복이 아닐까 생각됩니다.
-
미해결React로 NodeBird SNS 만들기
회원가입폼에서 입력 후 ㅠㅠ 버튼을눌러도 콘솔 결과가 안보여요
안녕하세요 화면도 잘 나오고 딱히 ㅠㅠ 에러는보이지 않습니다만폼 내용 입력후 란을 눌러도 console.log의 결과가 보이질않고 버튼 눌러도반응이 없는 것 같은데 ㅠㅠ 어느부분이 잘못된 걸까용 ㅠㅠ https://github.com/minch1025/Node_bird_mincho/tree/master/front현재 signup.js부분이미궁입니다 ㅠㅠ
-
미해결[라즈베리파이] IoT 딥러닝 Computer Vision 실전 프로젝트
[직접 쓴 손글씨 이미지 처리하기] - 오류
안녕하세요. 똑같이 따라한것 같은데 계속 오류가 나서요. 혹시 제가 어디를 고쳐야 할까요? 제일 마지막에 아래와 같은 메세지가 나옵니다. TypeError: Image data of dtype object cannot be converted to float 감사합니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
fxsql 강의는 안열리나요?
강사님 깃헙에서 코드를 보다가 QUERY ` SELECT * FROM table1 WHERE table2_id IN ( SELECT id FROM table2 WHERE type = ${type} ORDER BY id DESC LIMIT ${limit} ) `; 이런식으로 쿼리를 날리는 걸 봤는데요. 함수의 문법이 아닌데 어떻게 함수처럼 쿼리가 보내지나요? 코드를 보고있는데도 잘 모르겠네요. 함수형 sql 강의도 열렸으면 좋겠어요
-
미해결정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)
Daily Temperature
dailyTemperatures 코드 부분에서 while문안에 temper[stack.peek()]<temper[i] 라고 하셨는데 왜 stack.peek()<temper[i] 가 아닌 temper[stack.peek()]를 썻는지가 궁금합니다. 만약 stack의 top에 데이터가 93이면 temper[93]되서 스택의 데이터사이즈를 벗어나는 것이 아닌가요?
-
미해결아마존 클라우드 무료계정으로 시작하는 서버리스 애플리케이션 프로젝트
준비중 강의
언제쯤 완료가 될까요 ??