묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 질문있습니다~~!
안녕하세요 강사님. 테스트를 따라하다가 궁금한게 생겨서 질문드립니다! 저는 JUnit5를 통해서 테스트를 작성했고. 우선 코드를 첨부하겠습니다! package jpa.boot.jpaboot.service;import jpa.boot.jpaboot.domain.Member;import jpa.boot.jpaboot.repository.MemberRepository;import org.assertj.core.api.Assertions;import org.junit.jupiter.api.DisplayName;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.transaction.annotation.Transactional;import static org.assertj.core.api.Assertions.*;@SpringBootTest@Transactionalclass MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test void 회원가입() { // given Member member = new Member(); member.setName("Kim"); // when Long saveId = memberService.join(member); // then assertThat(memberRepository.findOne(saveId)).isEqualTo(member); }} 여기서 테스트는 정상적으로 통과되는데, 클래스 레벨에 @Transactional을 지우니까 테스트가 실패했습니다. 실패 메세지는 다음과 같습니다 Expecting: <jpa.boot.jpaboot.domain.Member@9bf63d2> to be equal to: <jpa.boot.jpaboot.domain.Member@22ff1372> but was not. isSameAs로 실행해도 마찬가지더라고요. 1차 캐시에서 가져와서 비교하기 때문에 테스트가 통과한다는 건 알겠지만, Transactional을 지우면 어떤 원리로 테스트가 실패하는지 모르겠습니다.
-
미해결프론트엔드 개발환경의 이해와 실습 (webpack, babel, eslint..)
캐시 무력화 질문입니다
이미지 파일의 파일명을 지정해줄 때 쿼리스트링으로 해시값을 설정해주는 이유가 궁금합니다! 배워가는 단계라 어떠한 이점이 있는지 모르겠습니다..
-
미해결대세는 쿠버네티스 (초급~중급편)
다른 wifi에 접속하는 경우 실습환경 구축에 대한 문의입니다.
안녕하세요 태민님. 좋은 강의 잘 듣고 있습니다. 다른 wifi에서 접속하는 경우 실습환경 구축에 대한 문의를 드리고자 글을 남깁니다. 저는 Mac 유저이고, VM 머신(강의자료 2번)을 이용해 구축했습니다. 일단 상황 설명을 먼저 드리자면.. 1. 카페 iptime 와이파이로 강의자료와 동일하게 실습환경을 구축할 수 있었습니다. (ip주소까지 완전 동일하게) 2. 집에서 다시 그 환경을 쓰려고 했을때, ssh 접속 등 제대로 되지않아 처음부터 다시 설치했는데, 삽질과 다른 질문을 통해 게이트웨이에 맞는 ip주소를 입력해야한다는 것을 알았습니다. 집 wifi 환경에서 게이트웨이 주소에 맞게끔 ip주소를 설정하고 다시 성공적으로 실습환경을 구축할 수 있었습니다. 3. 회사에서 다시 2번에서 만든 환경을 사용하고자 했을때, network 설정만 게이트웨이주소에 맞춰 네트워크 재실행하면 될줄 알았는데 제대로 되지 않았습니다. ssh 접속은 방화벽 해제로 다시 접속 할 수 있게 되었으나, 쿠버네티스를 다 제거하고 다시 kubeadm init 하는 과정에서 ip_forward 문제로 더이상 진행하지 못했습니다. (아래 에러메시지 첨부) error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1 [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=... 일단 첫번째로 궁금한점은 3번에서 더 진행하지 못한 원인이 궁금합니다. 또, 어느곳에서든 제가 한번 구축해둔 환경을 사용하고 싶은데 그게 가능한지도 궁금합니다. 일단은 강의자료 5번을 활용해 다시 구축하려고 하는데요. 여기서도 게이트웨이 주소를 입력하는 부분이 있던데 앞서 말한것처럼 다른 wifi를 사용할때도 사용할 수 있을지 궁금합니다. 제가 네트워크 기초가 부족한 배경도 전달드립니다. 감사합니다.
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ClusterIP와 SessionAffinity 실습에서 에러가 발생합니다.
안녕하세요. service와 deployment를 생성중에 service는 생성이 되나 deployment에서는 에러가 발생합니다. ``` error: unable to recognize "http-go-deploy.yml": no matches for kind "Deployment" in version "v1" ``` yml 파일을 동일하게 작생했는데도 발생하는데요, 원인이 무엇인지 알수 있을까요? 감사합니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Post 업로드 할 때 문제
강의를 들으면서 가급적 제로초님 코드를 그대로 따라하기 보다는 제 나름대로 바꿔가면서 공부중에 있었습니다. 물론 비개발자보다보니 아주 탄력적으로는 못바꾸고.. 변수명이나 파일 더 쪼개고 뭐 이런정도인데... 포스트 업데이트 관련 부분 공부 중 제가 바꾼 부분이 뭔가 작동이 안되어서 제로초님 Git을 보고 다시 원상복구를 시켜봤거든요. 그런데도 제대로 업데이트가 안되는 문제가 발생했습니다.보다 구체적으로, PostForm.js에서 onSubmit 콜백함수 안에 text변수를 못 받아오더라구요. 그런데 똑같은 방식으로 구현된 CommentForm.js에서는 잘 받아오고... 둘의 차이가 뭘까해서 봤더니, PostForm.js에서는 useCallback의 두번째 인자(배열)에 text 변수를 안 넣고 CommentForm.js에서는 두번쨰 인자(배열)에 commentText 등등 반환할 value를 명시해주더군요. 그래서 PostForm.js에서도 CommentForm.js랑 똑같이 useCallback 두번째 인자(배열)에 text를 써줬더니 제대로 업데이트가 되었습니다. 아무래도 useCallback 두번째 인자인 배열 안에 text를 넣어줘야 할 것 같은데, 제로초님 Git에는 여전히 빠져있어서 문의드립니다. 혹시 제로초님 Git처럼 두번째 인자(배열)에 굳이 text 를 넣지 않더라도 원래 포스트 업데이트가 제대로 되어야 하는게 맞는건지 궁금합니다. 아래는 제로초님 Git 코드 중 해당 부분입니다. (components/PostForm.js)
-
미해결iOS12 앱 개발 퍼펙트 가이드
view와 Viewcontroller의 관계에 대해서 질문 드립니다.
만약 customView를 static 변수로 만들어 서로 다른 ViewController에서 사용한다고 할 때, 두 개의 viewcontroller의 view에 custom View를 붙혀주고 customView에 대한 함수를 만들어 실행 시키면 왜 customView의 함수가 두 번씩 실행 될까요?하나의 ViewController는 이미 Disappear됐는데도 customView의 함수가 실행 되네요.viewcontroller가 사라진다면 거기에 포함 되어있던 자식 View들도 전부 소멸하는 줄 알았는데 아닌가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
pom.xml 질문 있습니다.
빨간줄로 에러가 뜨는데 무엇이 문제인지 모르겠습니다. 5.3.10 Final을 찾을수 없다고 뜨는데 버전을 바꿔줘야 하나요? 무엇으로 바꿔줘야 하나요? h2는 1.4.200 버전입니다.
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
제출 클릭 이후 아무런 반응이 없습니다.
안녕하세요. 강의를 따라서 코드를 작성하다가 걸리는 부분이 하나 있어 질문 남깁니다. 작성자, 제목, 내용까지 localhost:9000/write를 열면 잘 떴습니다. 그런데, 제출 버튼을 누르고 나면 아무런 반응이 없습니다. 컴퓨터의 설정이 잘못되서 그런걸까요? 문법 에러도 특별한 것 없고, 코드도 똑같이 했습니다. 혹시 가상환경 문제인가 해서 로컬로 했는데도 '제출' 이후 단계가 진행되질 않네요. from flask import Flask from flask import request from flask import render_template app = Flask(__name__) @app.route("/write", methods=["GET", "POST"]) def board_write(): if request.method == "POST": name = request.method.get("name") title = request.method.get("title") contents = request.method.get("contents") return "" else: return render_template("write.html") if __name__ == "__main__": app.run()
-
해결됨더 자바, 코드를 조작하는 다양한 방법
안녕하세요 바이트버디 관련해서 질문드립니다.
안녕하세요 바이트버디 관련해서 질문드립니다. 바이트버디 코드와 System.out.println(new Moja().pullOut()); 이 코드를 동시에 쓸 수 없다는게,, Masulsa를 실행하면 Masulsa.class, Moja.class로 컴파일되고 그 클래스 파일들이 로딩되고 실행되기 때문에, 그 이후에 바이트버디를 통해서 class 파일을 조작해도 이미 로딩된 클래스 정보 (메소드 영역에 있는) 를 보고 있기 때문에 적용이 안된다는 의미인거죠? 강의는 이전에 다 봤는데,, 혼자 좀 복습하다가 갑자기 좀 혼동이 되서 질문드립니다 ㅎㅎ
-
미해결홍정모의 따라하며 배우는 C++
21:50부분 질문
변수를 선언하고 초기화하지 않은 상태로 출력해보는 부분인데 Debug모드와 Release모드애서 모두 컴파일 하고 실행해보았는데 빌드할 때는 둘 다 강의에서와 같은 오류가 뜨지만 실행할 때 또한 두개 모두 'Unable to start program 지정된 파일을 찾을 수 없습니다.'라는 에러 창만 뜹니다. 강의에서 Release모드에서는 컴파일러가 자동으로 넣어준 0이 출력이 되었는데 Debug모드에서 실행했을 때와 같은 에러가 뜨고 이게 런타임에러인지도 모르겠습니다. 현재 Visual Studio 2019를 사용하고 있고 최근에 업데이트를 했는데 컴파일러 문제일까요?
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
[알림]실전 크롤링:댓글부대? 다음 뉴스 기사의 댓글 가져오기1
[실전 크롤링:댓글부대? 다음 뉴스 기사의 댓글 가져오기1] 강의에 나온 다음 사이트의 댓글이 20개뿐이 안되는게 이상해서 혹시나하고 클릭해보다가 알게 되었습니다. 아래 사진에 나온 댓글 보기 유형을 "찬반순","최신순","과거순" 중 하나를 선택하면 댓글을 다 볼 수 있습니다. 셀레니움 이용해서 댓글보기 유형을 선택후 스크롤 하면 될거 같습니다 ㅎ
-
해결됨실전! Querydsl
join 후 sum 하는 방식과, CaseBuilder()를 이용한 sum 하는 방식의 차이.
안녕하세요. 강사님. join 후 sum 하는 방식과 CaseBuilder 로 sum 하는 방식 중 어떤 게 나은지 궁금해서, 질문 드리게 되었습니다. 총금액과 건수를 구하고자 할 때 join을 한 후에 총금액과 카운트 건수를 계산하는 방식이 있고, (1번) CaseBuilder()를 이용하여 join 없이 총금액과 카운트 건수를 구하는 방식이 있는데(2번) 두 개의 결과값은 같았습니다. 그런데 둘 중 어느 방법이 더 성능상이나, 구조상으로 나은지 알 수 있을까요? (아니면 문제가 생길 수 있거나...) 1번. ===================================================================== - B는 A와 1:1 연관관계 QA A = new QA(“A”); QB autoB = new QB(“autoB”); QB nonB = new QB(“nonB”); query.select( autoB.count(), //건수 autoB.amount.sum(), //총금액 nonB.count(), //건수 nonB.amount.sum() //총금액 ) .from(A) .leftJoin(A.B, autoB).on(A.B.isAutoTransfer.isTrue()) //autoB 자동결제 .leftJoin(A.B, nonB).on(A.B.isAutoTransfer.isFalse()) //nonN 자동결제 아님. .groupBy(groupby조건) ================================================================== 2번. ==================================================================== QA A = new QA(“QA”); query.select( new CaseBuilder() .when(A.B.isAutoTransfer.isTrue()) .then(1L) .otherwise(0L) .sum(), new CaseBuilder() .when(A.B.isAutoTransfer.isTrue()) .then(A.B.amount) .otherwise(0L) .sum(), new CaseBuilder() .when(A.B.isAutoTransfer.isFalse()) .then(1L) .otherwise(0L) .sum(), new CaseBuilder() .when(A.B.isAutoTransfer.isFalse()) .then(A.B.amount) .otherwise(0L) .sum() ) .from(A) .groupBy(groupby조건) ====================================================================== 답변 기다리겠습니다 감사합니다!
-
해결됨처음 시작하는 Infrastructure as Code: AWS & 테라폼
질문 있습니다~!!
혹시 yaml파일도 가능한가요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Postman에서 send시 다음이 뜹니다.
좋은 강의 정말 감사드립니다. CORS Error: The request has been blocked because of the CORS policy 그러면서 Agent를 desktop으로 사용하라고 나와있는데 저는 browser를 쓰고 있었거든요. desktop으로 바꾸면 될까요??
-
해결됨실전 리액트 프로그래밍
질문 있습니다
안녕하세요! 강의 잘 보고 있습니다 11:31 경 로그인 되어 있지 않을 때 User 페이지에 접근하면 깜빡거리는 현상이 있는데요. 게다가 어차피 로그인 페이지로 이동하는데 불필요하게 서버 api 호출도 일어나더라구요. 그래서 이를 방지하기 위해 다음과 같은 코드를 사용해도 괜찮을까요? // before export default function App() { // ... <> <Route exact path="/" component={Search} /> <Route path="/user/:name" component={User} /> <Route path="/login" component={Login} /> <Route path="/signup" component={Signup} /> </> ); } // after export default function App() { const authStatus = useSelector((state) => state.auth.status); <> {authStatus && ( <Route exact path="/" component={Search} /> <Route path="/user/:name" component={User} /> <Route path="/login" component={Login} /> <Route path="/signup" component={Signup} /> )} </> ); }
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Devops에 대해서 문의 드려요
안녕하세요. 제가 QA에서 데브옵스로 전직을 하려고 공부 중인데 인프런에서 데브옵스 강의가 있어서 도커 먼저 배우게 되었습니다. 데브옵스 엔지니어로 전직을 하려면 도커를 먼저 배워야할지 아님 어떤걸 배워야할지 계속 고민이예요. 어떨걸 어떻게 배우면 될까요??ㅜㅜ
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
운영환경 docker 실행했는데 안되는 것 같습니다. 도와주세요..ㅜㅜ
안녕하세요. 운영환경 nginx에서 도커 실행했는데 강의하신대로 안되는 거 같아요. 저는 docker run -p 8080:80 joseph/docker-react-app이렇게 명령어 실행하면 > docker-react-app@0.1.0 start /usr/src/app > react-scripts start ℹ 「wds」: Project is running at http://172.17.0.2/ ℹ 「wds」: webpack output is served from ℹ 「wds」: Content not from webpack is served from /usr/src/app/public ℹ 「wds」: 404s will fallback to / Starting the development server... Josephui-MacBookPro:Docker-react-app joseph$ 이렇게되면서 서버에서 빠져나오더라고요. 이건 왜 그런 걸까요??
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
Photoshop CS3에서 텍스트가 입력 되지 않습니다.
Photoshop CS3에서 로고를 만들려고 새창을 열어서 T 선택 후 텍스트를 입력해도 아무런 글자가 나타나지 않습니다. 칸은 입력 된 것 같은데 글자가 표시 되지 않습니다. 무엇이 문제입니까? 글자색이 흰색으로 된 것입니까? 글자색 변경은 어떻게 해야 합니까?
-
미해결파이썬 무료 강의 (활용편2) - GUI 프로그래밍 (4시간)
메뉴에서 radio, 체크박스 밸류 값
안녕하세요. 좋은 강의 감사드립니다. 라디오나 체크박스의 메뉴에서 선택된 값을 받으려면 어떻게 해야 될까요? 기존의 강의처럼 value 값을 지정해서 받아야 될까요? 구글링을 해보니 menu.entrycget(index, option)으로 라벨 값을 받을 수 있는 것 같은데 이게 맞다면 option에는 무엇을 입력해야 될까요? 감사합니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
테스트 실행 시 fail이 발생하는데 왜 그런걸까요??ㅜㅜ
안녕하세요. 테스트 진행 중에 fail이 발생해서 왜 그런지 잘 모르겠습니다. 아래는 fail 로그예요 FAIL src/App.test.js ✕ renders learn react link (42ms) ● renders learn react link Unable to find an element with the text: /learn react/i. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible. <body> <div> <div class="App" > <header class="App-header" > <img alt="logo" class="App-logo" src="logo.svg" /> <p> Edit <code> src/App.js </code> and save to reload. </p> <a class="App-link" href="https://reactjs.org" rel="noopener noreferrer" target="_blank" > 반갑습니다. </a> </header> </div> </div> </body> 5 | test('renders learn react link', () => { 6 | const { getByText } = render(<App />); > 7 | const linkElement = getByText(/learn react/i); | ^ 8 | expect(linkElement).toBeInTheDocument(); 9 | }); 10 | at Object.getElementError (node_modules/@testing-library/dom/dist/config.js:34:12) at node_modules/@testing-library/dom/dist/query-helpers.js:71:38 at getByText (node_modules/@testing-library/dom/dist/query-helpers.js:54:17) at Object.<anonymous> (src/App.test.js:7:23) Test Suites: 1 failed, 1 total Tests: 1 failed, 1 total Snapshots: 0 total Time: 1.958s Ran all test suites.