묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
중복회원예외에서 assertThrows
assertThrows에서 오류가 생기는데 이를 해결할 방법을 알려주시길 부탁드립니다 <Memberservice> package hello.hellospring1.service; import hello.hellospring1.repository.MemoryMemberRepository; import hello.hellospring1.repository.MemberRepository; import hello.hellospring1.domain.Member; import java.util.List; import java.util.Optional; public class MemberService { private final MemberRepository memberRepository; public MemberService(MemberRepository memberRepository){ this.memberRepository = memberRepository; } /** * 회원가입 */ public Long join(Member member){ //같은 이름이 있는 중복 회원은 x validateDuplicateMember(member); //optional으로 한번 감싸면 optional안에 member객체가 있는거 //옛날에는 ifnull 지금은 optional로 감싸기 //optional로 바로 반환하는거는 추천x memberRepository.save(member); return member.getId(); } private void validateDuplicateMember(Member member) { memberRepository.findByName(member.getName()) //ctrl+alt+v .ifPresent(m -> { //result가 null이 아니면 즉, 값이 있으면 동작 throw new IllegalStateException("이미 존재하는 회원입니다."); }); } /** * 전체 회원 조회 */ public List<Member> findMember() { return memberRepository.findAll(); } public Optional<Member> findOne(Long memberId){ return memberRepository.findById(memberId); } } <MemberServiceTest> -> 중복_회원_예외에서 오류 발생 package hello.hellospring1.service; import hello.hellospring1.domain.Member; import hello.hellospring1.repository.MemoryMemberRepository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; //import java.util.Optional; import static org.junit.jupiter.api.Assertions.*; //import static org.assertj.core.api.Assertions.*; class MemberServiceTest { //test코드는 실제 코드에 포함 되지 않음 MemberService memberService; MemoryMemberRepository memberRepository; @BeforeEach public void beforeEach() { memberRepository = new MemoryMemberRepository(); memberService = new MemberService(memberRepository); } @AfterEach public void afterEach() { memberRepository.clearStore(); } @Test void 회원가입() { //given -> 이런게 주어지면 (이 데이터를 기반으로 하는 구나) Member member = new Member(); member.setName("hello"); //when -> 이게 주어졌을 떄 (이걸 검증하는 구나) Long saveId = memberService.join(member); //then -> 이렇게 실행 되어야 돼(여기가 검증부구나) // Member findMember = memberRepository.findById(saveId).get(); // assertEquals(member.getName(), findMember.getName()); Member findMember = memberService.findOne(saveId).get(); Assertions.assertThat(member.getName()).isEqualTo(findMember.getName()); } //test는 정상도 중요한데 예외도 중요함 @Test public void 중복_회원_예외() { //given Member member1 = new Member(); member1.setName("spring"); Member member2 = new Member(); member2.setName("spring"); //when memberService.join(member1); IllegalStateException e = assertThrows(IllegalStateException.class, ()->memberService.join(member2)); Assertions.assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); /* try { memberService.join(member2); fail(); } catch (IllegalStateException e){ Assertions.assertThat(e.getMessage()).isEqualTo("이미 존재하는 회원입니다."); } */ //then } <오류 화면>
-
미해결[비전공자 대환영] 제로베이스도 쉽게 입문하는 파이썬 데이터 분석 - 캐글입문기
데이터셋 압축 문제
강의안과 조금 달라졌는지, 데이터셋이 압축되어 있었어요. 하단의 코드를 데이터 다운로드 다음에 추가하니 잘 돌아갑니다! import shutil shutil.unpack_archive("house-prices-advanced-regression-techniques.zip")
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
뒤집은 수를 넣을 배열을 하나 더 추가했는데 크게 상관없을까요?
강의보기전에 좀 걸려서 혼자 풀어보고 통과는했는데,배열을 추가해서 풀었는데 크게 상관없는지 궁금합니다 !!package 배열1_2차원;import java.util.ArrayList;import java.util.Scanner;public class 뒤집은소수6O { public static boolean isPrime(int num) { if (num == 1) return true; for (int i = 2; i < num; i++) { if (num % i == 0) { return true; } } return false; } static ArrayList<Integer> solution(int n, int[] arr) { ArrayList<Integer> answer = new ArrayList<>(); int[] c = new int[n]; // 배열을 뒤집어서 저장할 배열 생성 for (int i = 0; i < n; i++) { while (arr[i] > 0) { c[i] = c[i] * 10 + arr[i] % 10; arr[i] = arr[i] / 10; } } for (int i = 0; i < c.length; i++) { if (isPrime(c[i]) == false) { answer.add(c[i]); } } return answer; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } for (int x : solution(n, arr)) { System.out.print(x + " "); } }}
-
미해결반응형 웹사이트 포트폴리오(Architecture Agency)
position 속성문의합니다.
position속성 문의드립니다. 강의내용중 display 속성에대한 이해도 강의가 별도로 있는것처럼 position속성에대한 자세한 강의는 없는지해서 문의드립니다. 강의내용중 if조건문을 이용한 스크롤 후 헤더 디자인변경이라는 강의내용중 헷갈리는 부분이 나타서 말입니다. 상단메뉴 position-"fix" 를 주셨는데 아래 내용 section p 안에 내용이 상단으로 붙어있더라구요. 강사님 화면도 그런거같던데 padding-top:100px;를 줘서 잡아주기는했는데, position속성에대한 이해도가 좀 부족한거 같아 문의드립니다. - 먼저 유사한 질문이 있었는지 검색해주세요.- 궁금한 부분이 있으시면 해당 강의의 타임라인 부분을 표시해주시면 좋습니다.- HTML, CSS, JQUERY 코드 소스를 텍스트 형태로 첨부해주시고 스크린샷도 첨부해주세요.- 다운로드가 필요한 파일은 해당 강의의 마지막 섹션에 모두 있습니다.
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
에러가 반복되서 나타납니다.
INFO Starting development server...98% after emitting CopyPlugin ERROR Failed to compile with 47 errors 오후 5:01:11 error in ./node_modules/vue-router/dist/vue-router.mjs "export 'computed' was not found in 'vue' ~~~~~~~~~~~~~~~~~ error in ./node_modules/vue-router/dist/vue-router.mjs "export 'defineComponent' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs ~~~~~~~~~~~~~~~~~~~~~~~~~~ "export 'h' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'h' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'inject' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs ~~~~~~~~~~~~~~~~~~"export 'nextTick' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'onActivated' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'onDeactivated' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'onUnmounted' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'provide' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'provide' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'provide' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'reactive' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'reactive' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'ref' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'shallowRef' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'unref' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs ~~~~~~~~~~~~~~~~~~"export 'watch' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'watch' was not found in 'vue' error in ./node_modules/vue-router/dist/vue-router.mjs "export 'watchEffect' was not found in 'vue' 와 같이 나타납니다. ~~~ 된거는 4번이상 동일 메시지가 반복된겁니다 .체크 부탁드립니다...ㅠㅠ 크론 받은거에서 도 일단 npm run serve가 되지 않았습니다.
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
큰돌님 아래와같이 코드를 제가 작성했는데 숫자만 출력이 안되네요.
#include<bits/stdc++.h> using namespace std; string s; int main(){ getline(cin,s); for( int i = 0 ; i < 101; i++){ if (s[i] >= 65 && s[i] <= 90){ int idx = (s[i] - 'A' + 13) % 26 ; s[i] = idx + 'A'; } if (s[i] >= 97 && s[i] <= 122){ int idx = (s[i] - 'a' + 13) % 26 ; s[i] = idx + 'a'; } cout << s[i]; } return 0; }
-
해결됨스파크 머신러닝 완벽 가이드 - Part 1
강의에서 multinode 환경에서 spark 를 이용하는 예가 포함이 되어있나요?
안녕하세요, 자세한 강의 감사드려요. 현재 강의 초반을 수강중이고, databricks 환경에서 실습을 하고 있습니다. 저는 spark를 이용해 클러스터를 구성해서 singlenode보다 mulinode에서 연산을 진행해서 속도가 빨라지는걸 확인하고 싶은데 그 부분이 강의 뒷부분에 포함되어있는지, 혹시 안되어있다면 조언주실 수 있는지 문의드립니다. 감사합니다.
-
해결됨파이널 코딩테스트 : 프론트엔드
album 컴포넌트 스크립트까지 다 따라 쳤는데 화면에 아예 안뜨네요..ㅜㅜ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결데이터 분석 SQL Fundamentals
이동평균 Analytic SQL 실습_ 3일 이동 평균 매출 예제 쿼리 질문
안녕하세요. 권철민 선생님SQL Fundamentals 강의 내 이동평균 Analytic SQL 실습 편의 3일 이동 평균 매출 예제 쿼리에 대해 질문이 있습니다. order_date를 date_trunc 함수 활용하여 group by 하셨는데 select date_trunc('day',b.order_date)::date as order_dy , sum(a.amount) from order_items as a inner join orders as b on a.order_id = b.order_id group by date_trunc('day',b.order_date)::date order by 1 아래 쿼리처럼 곧바로 order_date로 group by 하는 것과 어떤 차이점이 있을까요?표면적으로 보여지는 결과값은 같아 보여서 왜 date_trunc 함수를 사용했는지가 궁금합니다. select order_date , sum(a.amount) from order_items as a inner join orders as b on a.order_id = b.order_id group by 1 order by 1
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
커넥션풀은 핸들러고 dataSoure는 어댑터의 역할을 하는건가요??
일종의 어댑터와 핸들러 역할을 하는건가요 ??
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
8분경에 질문입니다
dataSource.setPassword(PASSWORD);가 맞지 않나요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
addPost 액션 관해서 문제 질문드립니다.
안녕하세요 제로초님 강의잘듣고있습니다. 강의를 들으면서 궁금한점이 있어서 질문드리겠습니다. add_post_request액션에서 success로 넘어가지 않아서 antd form onfinish함수 usecallback인자부분에 form의 데이터를 넣으려고하는데 정의되지 않은 데이터라고 해서 오류가 발생하는데 어떻게 해결할 수 있을까요? 그리고 제로초님과는 다르게 useState를 사용하지 않고 antd form만으로 실습을 진행하고 있는데 꼭 useState를 사용해서 form의 데이터를 전송해야하는걸까요? form의 데이터는 문제없이 아래와 같이 출력이 잘됩니다. import React, { useCallback } from 'react'; import { Button, Form, Input, Upload } from 'antd'; import { UploadOutlined } from '@ant-design/icons'; import { useDispatch, useSelector } from 'react-redux'; import { PostingFormWrapper, FormWrapper, FormHeader, HeaderText, HeaderBtn, HeaderDiviver, ImageUploaderWrapper, ContentFormWrapper, TagsInputWrapper } from './styles'; import { addPost } from '../../reducers/post'; const PostingForm = () => { const { addPostLoading } = useSelector((state) => state.post); const dispatch = useDispatch(); const onSubmitForm = useCallback((value) => { console.log(value); dispatch(addPost(value)); }, [value]); const normFile = useCallback((e) => { console.log('Upload event:', e); if (Array.isArray(e)) { return e; } return e?.fileList; }, []); return ( <section> <PostingFormWrapper name="posting" onFinish={onSubmitForm} scrollToFirstError > <FormWrapper style={{marginBottom: '1em'}}> <FormHeader> <HeaderText>Post Writing</HeaderText> <div> <HeaderBtn type='primary' size='large' htmlType="submit" loading={addPostLoading} > 등록 </HeaderBtn> <Button size='large'>취소</Button> </div> </FormHeader> <HeaderDiviver /> </FormWrapper> <FormWrapper name="title" rules={[ { type: 'text', }, { required: true, message: '포스팅 제목을 입력하세요.', }, ]} hasFeedback > <Input placeholder='제목을 입력해 주세요.' allowClear="true" size='large' /> </FormWrapper> <FormWrapper name="desc" rules={[ { type: 'text', }, ]} > <Input placeholder='포스팅의 간략한 설명을 입력해 주세요.' allowClear="true" size='large' /> </FormWrapper> <ImageUploaderWrapper name="images" rules={[ { // required: true, // message: '조리사진을 첨부하세요.', }, ]} valuePropName="fileList" getValueFromEvent={normFile} > <Upload name="logo" action="/upload.do" listType="picture"> <Button type='primary' size='large' icon={<UploadOutlined />}>Upload</Button> </Upload> </ImageUploaderWrapper> <ContentFormWrapper name="ingredient" rules={[ { type: 'text', }, { required: true, message: '재료를 입력하세요.', }, ]} hasFeedback > <Input.TextArea placeholder='재료를 입력하세요.' size='large' showCount maxLength={100} rows={5} /> </ContentFormWrapper> <ContentFormWrapper name="recipes" rules={[ { type: 'text', }, { required: true, message: '요리방법을 입력하세요.', }, ]} hasFeedback > <Input.TextArea placeholder='요리방법을 입력하세요.' size='large' showCount maxLength={1000} rows={20} /> </ContentFormWrapper> <ContentFormWrapper name="tips" rules={[ { type: 'text', }, ]} > <Input.TextArea placeholder='Tip을 입력하세요.' size='large' showCount maxLength={200} rows={8} /> </ContentFormWrapper> <Form.Item name="tags" rules={[ { type: 'text', }, ]} > <TagsInputWrapper placeholder='태그를 입력해 주세요.' size='large' /> </Form.Item> </PostingFormWrapper> </section> ) }; export default PostingForm;
-
미해결따라하며 배우는 리액트 A-Z[19버전 반영]
안녕하세요 선생님~~
리액트에서 자바스크립트를 사용할때 {}을 사용해야하는건 이해가 가는데 this.todoData.map((data) => { }) 가 아니라 중괄호 자리에 그냥 괄호가 들어가는 이유가있나요? 중괄호를 넣고 세이브를 하니 Line 50:37: Array.prototype.map() expects a return value from arrow function array-callback-return 이런 경고창이 뜹니다
-
미해결Node.js로 웹 크롤링하기
Iframe 중첩 상황에서 크롤링 방법
안녕하세요 현재 노드 크롤러 강의를 완강하고 응용해서 연습하는 중에 있습니다. 혹시 첨부된 이미지처럼 page 안에 iframe, 또 그 iframe 안에 iframe이 있는 경우, 가장 안쪽에 있는 iframe은 어떻게 크롤링할 수 있을까요?
-
해결됨두고두고 써먹는 유니티 VR
3D URP Core 템플릿
허브에서 새 프로젝트 생성시 3D URP Core 템플릿이 없습니다. Unity hub 2.4.6 버전 사용중인데 다른 버전으로 다시 설치해야할까요?
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
9분 40초쯤 삼항 연산자에 관하여 질문 있습니다
{isEdit ? ( <> <button onClick={handleQuitEdit}>수정 취소</button> <button onClick={handleEdit}>수정 완료</button> </> ) : ( <> <button onClick={handleClickRemove}>삭제하기</button> <button onClick={toggleIsEdit}>수정하기</button> </> )} ? 다음 <>...</> 빈 태그는 왜 써주시는 건가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
dir.normalized 부분에 질문이 있습니다.
4:41 에 크기가 아직 1이아니니까 normalized를 통해 크기를 강제로 1로 맞춰준단 부분을 이해가 안됩니다..
-
해결됨Flutter 앱 개발 기초
Dart의 비동기 함수에 대한 aysnc, await 질문입니다.
Dart에서 비동기로 함수가 동작하려면 async, await 키워드를 사용하는 것으로 알고 있었는데요.. 강의 자료에서 4회차 강의 5:24에 보시면 비동기 관련 소스코드 설명이 동영상과 자료에 있습니다. --------------------------------------------------------- HTTP 요청은 응답까지 시간이 걸리기 때문에 비동기 코드입니다. 따라서 동기로 작동하려면 아래와 같이 async & await을 추가하면 됩니다. main() async { Response result = await Dio().get("URL"); print(result.data); } ---------------------------------------------------------- 그런데, 위의 소스가 비동기로 동작하는 소스 같은데, "동기로 동작하려면" 이라고 되어 있어서요. 오타인지? 아니면 제가 잘 모르는 부분이 있는건지 설명 부탁드립니다.
-
미해결하울의 안드로이드 인스타그램 클론 만들기
파이어베이스 연결에서 막힙니다,,
안녕하세요. 강의 잘 듣고 있습니다. 다름이 아니라 파이어베이스에 연결할 때 강사님과는 달라서 멘붕이에요 ㅠㅠ 첫번째 사진처럼 떠서 처음꺼 눌러서 들어가니 컨넥트 누르면 두번재 사진 처럼 뜨네요 ㅠㅠ
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
4번째 앱 마지막 강의의 listviewadapeter.kt.를 작성하던 와중에 코드 오류가 생겨서 질문드립니다.
package com.example.goodwordsimport android.view.LayoutInflaterimport android.view.Viewimport android.view.ViewGroupimport android.widget.BaseAdapterclass listviewadapeter(val list : MutableList<String>) : BaseAdapter() { override fun getCount(): Int {return list.size } override fun getItem(p0: Int): Any {return list[p0] } override fun getItemId(p0: Int): Long {return p0.toLong() } override fun getView(p0: Int, p1: View?, p2: ViewGroup?): View? { var converView = p1 if(converView==null) { converView = LayoutInflater.from(parent?.context).inflate(R.layout.listview_item,parent,false) } }}//이렇게 코드를 작성했는데, parent? 부분들에서 unresolved reference 오류가 발생했습니다.오류 해결 방법을 잘 모르겠어서 질문드립니다.감사합니다.