묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
import 와 require
import express from 'express' 와 const express = require("express"); 둘의 차이가 있나요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
oneToMany 관계의 엔티티 값들을 일부 변경하여 새롭게 insert하는 방법에 대하여 질문드립니다!
안녕하세요 강사님! 항상 빠르고 명쾌한 답변 감사드립니다:D 강의에서 알려주신 일대 다 관계의 엔티티는 ToOne관계의 데이터들을 조회한 뒤 ToMany관계의 컬렉션들을 따로 조회해서 붙여주는 내용에 대한 실습을 하던 중이였는데요, 여기서 추가로 기존에 DB에 있는 엔티티를 ID값만 바꿔서 새로운 엔티티로 insert하고자 하다가 생각한대로 동작이 잘 안되서 질문드립니다. 여기서 이 엔티티를 insert하고 끝날줄 알았는데 insert가 끝나고 복수의 update문이 실행됩니다ㅠ 이 현상에 대해 아무리 생각해도 모르겠어서 질문드립니다! 아래는 테스트했던 소스코드입니다! 혹시 몰라서 같이 첨부드립니다 [부모 엔티티-TestEntity] @Entity@Datapublic class TestEntity { @Id private String parentId; private String parentName; @OneToMany(fetch = FetchType.LAZY,cascade = CascadeType.ALL) @JoinColumn(name = "parentId") private List<ChildEntity> childList;} [자식 엔티티-childEntity] @Entity@Datapublic class ChildEntity { @Id private String childId; private String parentId; private String childName;} [Controller] @RestControllerpublic class TestController { @Autowired TestRepository testRepository; @GetMapping("/entityTest") public String entityTest(){ List<TestEntity> list=testRepository.selectParentByName("parent"); List<String> idList = list.stream().map(TestEntity::getParentId).collect(Collectors.toList()); Map<String, List<ChildEntity>> collect = testRepository.selectChildList(idList) .stream().collect(Collectors.groupingBy(ChildEntity::getParentId)); List<TestEntity> result = list.stream().map( p -> copyParentEntity(p,collect.get(p.getParentId())) ).collect(Collectors.toList()); testRepository.saveAll(result); return "test"; } public TestEntity copyParentEntity(TestEntity t,List<ChildEntity> childList){ TestEntity newTest=new TestEntity(); newTest.setParentId("C"+ System.currentTimeMillis()+"_"+t.getParentId()); newTest.setParentName(t.getParentName()); newTest.setChildList(copyChildList(childList,newTest.getParentId())); return newTest; } private List<ChildEntity> copyChildList(List<ChildEntity> childList, String parentId){ ArrayList<ChildEntity> result = new ArrayList<>(); for (int i=0;i<childList.size();i++) { ChildEntity c=new ChildEntity(); c.setChildId(parentId+i); c.setParentId(parentId); c.setChildName(childList.get(i).getChildName()); result.add(c); } return result; }} [리포지토리-TestRepository] public interface TestRepository extends JpaRepository<TestEntity,String> { @Query("select t from TestEntity t " + "where t.parentName=:parentName") List<TestEntity> selectParentByName(@Param("parentName")String parentName); @Query("select c from ChildEntity c " + "where c.parentId in :parentIds") List<ChildEntity> selectChildList(@Param("parentIds")List<String> ids);} [DB데이터-parentEntity] [DB데이터-childEntity] ▶실행결과 로그 1) insert문 insert into test_entity (parent_name, parent_id) values ('parent', 'C1600949255895_1'); insert into child_entity (child_name, parent_id, child_id) values ('child1', 'C1600949255895_1', 'C1600949255895_10'); insert into child_entity (child_name, parent_id, child_id) values ('child2', 'C1600949255895_1', 'C1600949255895_11'); insert into test_entity (parent_name, parent_id) values ('parent', 'C1600949255895_2'); insert into child_entity (child_name, parent_id, child_id) values ('child3', 'C1600949255895_2', 'C1600949255895_20'); insert into child_entity (child_name, parent_id, child_id) values ('chlid4', 'C1600949255895_2', 'C1600949255895_21'); 2) update문 update child_entity set parent_id='C1600949255895_1' where child_id='C1600949255895_10'; update child_entity set parent_id='C1600949255895_1' where child_id='C1600949255895_11'; update child_entity set parent_id='C1600949255895_2' where child_id='C1600949255895_20'; update child_entity set parent_id='C1600949255895_2' where child_id='C1600949255895_21'; 보시다시피 이미 insert에서 parent_id값들이 다 제대로 들어가고 있는데 같은 값을 set해주는 update문이 실행되고 있어서 왜그런지 모르겠네요... 아니면 혹시 제가 한 방법 외에 엔티티를 복사해주는 좋은 방법이 있다면 알려주시면 감사드리겠습니다ㅠㅠ 바쁘실텐데 긴 글 읽어주셔서 감사합니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
질문있습니다!!!
안녕하세요 :) !!! mainimage에서 이미지불러오는데 이미지가 화면에 표시되지않습니다. props로 로그찍어보고 거기에 나오는 주소로 검색하면 이미지가 잘나오는데 왜 안뜨는지 궁금해요...ㅠㅠ title 명도 분명 가져오는데 안가져오더라구요! -- LandingPage.js import React,{useEffect,useState} from 'react' import { FaCode } from "react-icons/fa"; import {API_URL,API_KEY,IMAGE_BASE_URL} from '../../Config' import MainImage from './Sections/MainImage' function LandingPage() { const[Movies,setMovies]=useState([]) const [MainMovieImage,setMainMovieImage]=useState(null) useEffect(()=>{ const endpoint=`${API_URL}movie/popular?api_key=${API_KEY}&language=en-US&page=1`; fetch(endpoint) .then(response=>response.json()) .then(response=>{ console.log(response) setMovies([...response.results]) setMainMovieImage(response.results[0]) }) },[]) return ( <div style={{width:'100%',margin:'0'}}> {/* Main Image */} {MainMovieImage && <MainImage image={`${IMAGE_BASE_URL}w1280${MainMovieImage.backdrop_path}`} title={MainMovieImage.original_title} text={MainMovieImage.overview} /> } <div style={{ width:'85%', margin:'1rem auto'}}> <h2>Movies by latest</h2> <hr/> /* Movie Grid Cards */ </div> <div style={{ display:'flex', justifyContent:'center'}}> <button>Load More</button> </div></div> ); }; export default LandingPage -- MainImage.js import React from 'react'; function MainImage(props){ return( <div style={{background:`linear-gradient(to bottom,rgba(0,0,0,0) 39%,rgba(0,0,0,0) 41% rgba(0,0,0,0.65) 100%), url("${props.image}"),#1c1c1c`, height:'500px', backgroundSize:'100%,cover', backgroundPostition:'center,center', width:'100%', position:'relative' }}> <div> <div style={{position:'absolute', maxWidth:'500px', bottom:'2rem', marginLeft:'2rem'}}> <h2 style={{color:'white'}}>{props.title} </h2> <p style={{color:'white',fontSize:'1rem'}}>{props.text}</p> </div> </div> </div> ) } export default MainImage
-
미해결제주코딩베이스캠프 Code Festival: Python 100제
강의에서 문제는 노션에서 복사해서 주피터나 파이썬 IDE복사해서 풀어보는 건가요?
강의 보면 선생님께서는 문제를 보고 답을 작성하면 정답인지 판단해주는 기능이 있던데, 제가 노션 페이지 가보면 문제 - 답만 되어있었습니다. 문제를 직접 복사해서 실행하는게 맞나요?
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
파일이 안열립니다
2020.09.24 PM 20:00 구글드라이브로 다운받고 내컴퓨터->c드랑브에있는 주피터 다운로드 파일저장폴더에 엑셀을 넣은뒤 주피터노트북을 실행했는데 저렇게 나옵니다 어떻게 해야하나요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
ChartPlugin.js?7ae8:6 Uncaught TypeError: Cannot set property '$_Chart' of undefined 에러..
plugin해서 log까지 찍혓는데, ChartPlugin.js?7ae8:6 Uncaught TypeError: Cannot set property '$_Chart' of undefined 에러가 나오는데 이부분 질문드려요..!!
-
해결됨데브옵스(DevOps)를 위한 쿠버네티스 마스터
nodeport 서비스 혹은 로드밸런서 관련 질문드립니다!!
안녕하세요 강사님!!! 강의 잘 듣고있습니다 :) 현재 오픈스택으로 ip 두개를 할당받고 각각을 마스터노드 워커노드로 사용중입니다 두개는 kubeadm init, join 을 통해 연결이 되어있는 상태이구요 GCP나 AWS 같은 퍼블릭 클라우드를 사용하지않고 로컬 환경에서 클러스터를 구성했습니다 마이크로서비스로 웹서비스를 구축하고자하는데 서비스 배포가 잘 되었고 kubectl get pods 로 모든 서비스가 running 상태입니다. 이제 프론트엔드 부분의 ip 를 띄어서 웹에서 접속을 하려고하는데 kubectl get service/서비스이름 을 하게되면 external ip 가 나타나질않습니다 당연히 외부 ip 가 안나타는게 정상이라고 생각이드는데 1. 노드포트 서비스를 사용하면 마스터노드ip주소:노드포트번호 이런식으로 접속이 되어야하는게 맞나요? 2. 로드밸런서를 사용하려고하는데 metalb 라는 외부 ip를 띄어주는 프로그램이 있어서 설치를 해봤습니다. metalb는 직접 컨피그맵에 외부 ip 대역을 지정을 해줘야하더라고요. 이때 외부 ip 는 마스터노드 ip 대역을 사용하는게 맞을까요? 3. 현재 노드포트 서비스, 로드밸런서 두개다 해봤는데 어떻게해도 url 로 접속이 되질 않는 상태이고요 혹시 문제가 있나해서 nginx 이미지를 노드포트 서비스로 배포해봤는데 curl localhost:80 혹은 curl localhost:8080 두개다 연결이 되지않는다는 오류가 뜨면서 작동이 되질 않습니다. 퍼블릭이 아닌 로컬 쿠버네티스 환경에서 배포하려면 어떻게 진행을 해야할까요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
스타일 관련
코드 상으로는 가로세로 400인데 왜 적용이 안되는건가요..? <canvas ref="lineChart" id="lineChart" width="400" height="400"></canvas> 400pxㅇ Eng400pxㅇ
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
import os, print(os.environ) 에서 에러가 발생합니다
print(os.environ)에서 유니코드 인코드 에러가 나는데, 왜 발생하는 걸까요? ㅠㅠ
-
미해결SharePoint로 회사 파일 서버를 대체할 인트라넷 사이트 만들기
SharePoint와 Teams의 스토리지 용량이 궁금합니다.
현재 저희 회사는 Office365 E3요금을 사용하고 있는데요. https://docs.microsoft.com/ko-kr/microsoftteams/limits-specifications-teams 위 링크를 보면 아래와 같은 표를 확인할 수 있습니다. 아마 위 표에서 안내하는 '저장소'가 SharePoint 저장소로 이 강좌에서도 소개한 용량과 같은것 같습니다. 그럼 'Teams 파일용 저장소'는 사이트모음 또는 그룹당 최대25TB라고 표기되고 있는데요. 어떠한 차이점이 있는지 궁금합니다. 'Teams 파일용 저장소'에도 사이트모음이 언급된것을 보면 쉐어포인트사이트의 용량을 공유하는 것인지 헷갈리네요. 실제로 제가 사용하고있는 Teams 그룹의 SharePoint 사이트로 들어가보면 Teams 파일에 저당된 내용들이 보이고 있습니다. Team용 업무파일 저장소를 SharePoint로 구성해보려 하는데, Teams 파일을 이용하는 것이 용량 면에서 좋은 것인지 궁금하네요. 답변 부탁드립니다~
-
해결됨Azure 기초 (AZ-900)
고가용성 구현중 availability zone 에서
zone 은 region을 말하는 건가요?
-
미해결Python 엑셀 프로그래밍 - with xlsxwriter
json 인코딩
jsonString = '''{ "이름" : "이호준", "나이" : "10", "번호" : "010-0000-1111", "주소" : "제주도 제주시" }''' #json 인코딩 s = json.dumps(jsonString, ensure_ascii=False, indent=4) type(s) print(s) 이렇게 입력 후에 결과가 "{\n \"이름\" : \"이호준\",\n \"나이\" : \"10\",\n \"번호\" : \"010-0000-1111\",\n \"주소\" : \"제주도 제주시\"\n}"이렇게 나오는데 어디서 문제인거죠 ㅠㅠ
-
반응형 웹사이트 포트폴리오(Architecture Agency)
간단한 질문 드립니다!
삭제된 글입니다
-
미해결홍정모의 따라하며 배우는 C언어
scanf warning
디버깅을 할 때마다 밑에 Code:C6031 Return value ignored 라는 warning이 뜹니다... 어떻게 해야하나요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
딕셔너리 update 메소드
딕셔너리 d에 있는 Status인 키 값을 Best로 바꾸기 위해 강의에서 가르쳐주신 메소드를 활용해서 하는데 자꾸 에러가 나오네요ㅜㅜ 로직이 잘못 된건가요? temp로 이용한 update 메소드는 가능하지만 이 메소드가 더 간편하시다고 하셔서.. 이거는 파이썬 버젼의 문제인가요??
-
미해결Node.js를 이용해 웹 애플리케이션 만들기
app.get path에서 배열과 아닌 것의 차이.
app.get(['/topic/:id','/topic'], function(req,res){ var id = req.params.id; 여기에서 저는 id를 찍으면 /topic/nodejs 이렇게 나오네요. /topic/ 이부분이 붙어서 나오네요. 강사님은 nodjs 만 나오는데 저는 왜 이런거죠? app.get(/topic/:id', function(req,res){ var id = req.params.id; 배열로 안하고 위에 처럼 그냥 /topic/:id 라고 주면 nodejs 만 나오긴합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
antd 커스터마이징
antd 홈페이지에 docs에서 coustomize theme의 예제를 보고 antd를 커스터마이징하려고 하는데 1 webpack.config.js가 next에서 next.config.js인가요? 2.next.config.js 설정을 어떻게 해야 하나요? 3 .babelrc에서도 따로 설정해야 되는 것이 있나요? 공식문서를 봐도 이해가 잘 안가서 질문드립니다
-
미해결캐글 Advanced 머신러닝 실전 박치기
주요 컬럼의 선택하신것에 대한 질문.
선생님 안녕하세요, 주요컬럼들을 미리 list로 만들어 놔 주셨는데, 이는 LGBM에서 importance순으로 가져온 것인지요(조금은 상이하기에..) 아니라면 어떻게 '주요하다'라고 선택된 칼럼들인지요 ??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
좋은 강의 감사합니다. 스프링과 프론트 관련 질문이 있습니다.
먼저 설명을 쉽게 해주셔서 기반이 되는 지식을 많이 배워갑니다. 좋은 강의 감사드립니다. 1. 강의 중 정적/MVC템플릿/API 부분에서, thymeleaf 템플릿 엔진 방식은 백엔드 서버에서 뷰를 구성해 화면을 보내주는 방식으로 이해했습니다. 그런데 이 방법은 프론트엔드와 백엔드를 구분하는 실무에서는 잘 사용되지 않을 것 같다고 생각이 됩니다. 실무에서 스택을 나눠서 개발할 때, 강의 중 보여주신 API 방식을 통해 json 객체를 전달하고 이것을 react나 vue로 만든 프론트 서버에서 받아서 화면을 구성하는 것인가요? 스프링이 프론트서버와 어떤식으로 연동되는지, json 객체만 전달하면 백엔드의 역할은 끝나고 프론트가 어떤 프레임워크던 백엔드는 관계가 없는 것인지 궁금합니다.(글로 설명하기 어려우시겠지만 간단하게나마 알려주시면 감사하겠습니다..) 2. 저는 스프링 부트를 통한 백엔드 웹 프로젝트를 진행하려하는 학생인데, 어찌됐건 결과물을 보여주기 위한 프론트가 필요하여 고민에 빠진 상태입니다. 웹 개발자가 되기 위한 프로젝트로, 템플릿 엔진을 통해 프론트는 최소화한 프로젝트와 스프링+프론트프레임워크까지 사용한 풀스택 프로젝트 중 추천하시는 게 있나요? 물론 제 목표에 달렸고 백엔드 쪽을 더 선호하지만 아직 진로를 명확하게 잡지 못해 혹시나 여쭤봅니다..ㅠ 기간은 짧게 1주, 길게 한달로 생각중입니다. 아직 제가 뭘 모르는지 모르는 상태인 초보 개발자라 질문이 두서없는 점 죄송합니다.. 다시 한번 좋은 강의 감사드립니다!
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print('%06.2f' % (3.145678910))
print('%06.2f' % (3.145678910)) 이부분 설명이 이상하네요 print('%1.18f' % (3.145678910)) 분명 이부분 설명에서 1은 정수 몇번째 자리 18은 소수 몇번쨰 자리 까지 나타낸다고 설명하셨는데 print('%06.2f' % (3.145678910))이부분에서 정수 6번째 자리 소수 2번쨰 자리 까지 나타낸다고 설명을 안하고 질문1>>>>>>>> >>>>>>>>>--------------------------------------------- 총자리가 갑자기 6??? 이라는데 ... 어떤게 맞는건지 알려주세요 제가 실험을 해본결과 앞부분이 정수 몇번째 자리까지 나타내는게 아니고 총 몇자리를 나타내는건지를 나타내는것 같은데 맞나요? (질문에 대한 답변 감사드리겠습니다) 질문2>>>>>>>> >>>>>>>>>------------------------------------- print('{:09.2f}'.format(3.145678910)) 그리고 여기서도 0으로만 채워지네요 다른숫자는 안되는것같구요 제가 알아낸게 맞나요??