묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결더 자바, 애플리케이션을 테스트하는 다양한 방법
동시성 테스트는 어떻게 작성해야하는지 궁금합니다.
안녕하세요. 올려주시는 강의 잘듣고 도움 많이 받아 항상 감사드립니다.@Transactional의 isolation, propagation 옵션에 대한 공부를 위한 학습 테스트를 작성해보고 싶은데요. (실제 업무에서도 동시성과 관련된 테스트 커버리지를 향상시키고 싶습니다)두 개의 쓰레드가 하나의 인스턴스에 동시에 접근하는 케이스에 대한 테스트를 작성하고 싶습니다. TransactionManager를 직접 핸들링하는건 올바른 방법은 아닐 것이라고 생각하는데, 테스트 코드 작성 단계에서 동시성 테스트를 지원하는 기능이 있을까요?JUnit5나 Mockito 라이브러리만을 활용해서 해결할 수 있는 방법이 있을지 궁금하여 질문드립니다!
-
미해결[리뉴얼] 타입스크립트 올인원 : Part1. 기본 문법편
es5 라이브러리의 콜백 파라미터에 대해 궁금한게 있습니다.
( 이 부분이 궁금합니다 ) map<U>(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[];여기서 콜백 함수에서 넘겨 받는 파라미터는 있을 수도 있고 없을 수도 있는데, 어떻게 사용 할 때 타입 체크를 통과 할 수 있는지 궁금합니다. 예로 들면,const a = [1, 2, 3].map(() => 0); // a = [0 , 0, 0]이렇게 콜백 인자를 하나도 넘기지 않을 수 있는데 저렇게 정의되어 있으면 다 받아야 하는게 아닌지 제가 생각하기론 옵셔널이 붙어야 되는 것이 아닌가 싶습니다... 제가 앞에서 놓친 부분이 있는 것 같기도 합니다;;
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
여백등을 표시해 주는 빨간 선이 나오게 하려면 어떻게 하나요
아무리 해봐도 저는 alt를 누르면 숫자가 나왔다가복사가 되네요. ㅠㅠ 왜 안되는 걸까요?그리고 마우스를 갖다대면 에릭님이 주신 예제는 숫자가 정확히 나오는데 그건 어떻게 하는 건가요?
-
미해결[스프링 배치 입문] 예제로 배우는 핵심 Spring Batch
테스트 코드 실행 시 에러
안녕하세요.success_noData() 테스트 코드를 테스트 하는 중에 에러가 발생하여 질문 남겨봅니다! 에러는 다음과 같습니다! Description:Parameter 0 of constructor in com.example.SpringBatchTutorial.job.dbDataReadWrite.TrMigrationConfig required a bean of type 'com.example.SpringBatchTutorial.core.domain.orders.OrdersRepository' that could not be found.Action:Consider defining a bean of type 'com.example.SpringBatchTutorial.core.domain.orders.OrdersRepository' in your configuration. 이와 같은 에러가 발생하는데 해결 방법을 부탁드립니다!
-
미해결리눅스 입문 - 개념으로 탄탄히!!
우분투 설치 관련 질문
우분투 설치 관련 질문입니다.우분투 초기에 설치하려고 하는데 강사님처럼 오른쪽 하단에 버튼이 안 뜨고 여기서 엔터키도 안 먹고 뭐 누르는 버튼이 없는데 어떻게 해야 할까요..?
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
"%.2f" 이게 뭔가요?
강의와 연관있는진 모르겠는데 없다면 죄송합니다ㅠsize = 3.14 System.out.printf("원의 넓이 : %.2f" , size);이런걸 학원에서 배웠는데 %.2f이게 뭘 나타내는 건가요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberRepository의 findName이 이해가 되지 않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]public List<Member> findName(String name){ return em.createQuery("select m from m where m.name =:name", Member.class) .setParameter("name", name) .getResultList(); }MemberRepository 패키지의 findName을 보면반환 타입이 List<Member>인데 validation을 할 때 보면 findName이 넘겨준 값이 존재하는지 안하는지로 중복 여부를 체크합니다.그리고 findName의 쿼리를 보면 쿼리 실행 값이 한개만 나오는거로 예상이 됩니다. where절에서 넘겨받은 name 파라미터 값과 동일한 데이터만 이라고 조건이 있기에.findName 실행 결과 값을 Member 객체 하나만 받을 텐데 그렇다면 name은 중복인 값이 존재하지 못하는데 왜 List<Member> 자료형을 쓰는건가요?
-
미해결파이썬/장고로 웹채팅 서비스 만들기 (Feat. Channels) - 기본편
배포 할 때 오류...
git으로 clone한 다음requirements랑 django랑 daphnet 다 다운한 다음python manage.py migrate 및python manage.py runserver를 해보려고 하는데아래와 같은 오류가 뜹니다...분명 필요한 라이브러리는 다 받은 것 같은데...뭐가 필요한 것일까요?pip install attrs를 해도Defaulting to user installation because normal site-packages is not writeableRequirement already satisfied: attrs in /usr/local/lib/python3.9/site-packages (20.3.0)이미 있다고 나옵니다.하지만 manage.py 상단에 import attrs나 from attrs import define해도 동일한 오류가 나옵니다.
-
미해결핸즈온 리액트 네이티브
style props 로 받을때 type 설정
안녕하세요 멋쟁이 선생님. 타입스크립트를 이용해서 작업중인데요. SignInScreen 에서 styles props 를 보내고 Input 컴포넌트에서 styles props 를 받을때 type InputProps = { placeholder: string; value: string; styles?: object };이렇게 하고 아래 View에 스타일을 적용했더니,<View style={[common.inputWrapper, styles?.inputWrapper]}>위의 styles?.inputWrapper 의 inputWrapper 가 붉은 밑줄이 생기고 툴팁을 보니 TS2339: Property 'inputWrapper' does not exist on type '{ styles: string; }'.라고 안내가 뜨는데요.제가 무엇을 놓치고 있는건지요..?
-
미해결AWS Certified Cloud Practitioner 자격증 준비하기
Pearson VUE 관련 질문
안녕하세요. 오늘 강좌 신청하고 1월 10일 이후에 자격증을 취득하려는 직장인입니다.23년부터 pearson VUE로만 신청이 가능하다고 하는데, 이부분에 있어서 AWS 사이트에 안내도 부실하고, 확인이 어렵습니다. 해당 내용과 관련해서 혹시 강사님께서 아시는 정보가 있으신지요? 감사합니다.
-
해결됨[코드캠프] 시작은 프리캠프
선생님 혹시 회원가입 코드 받을 수 있을가요?
다방면으로 해봤는데 도저히 답이 잘 안나와서요 코드를 받을 수 있는지 여쭈어봅니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
routes/subs.ts_topSubs 쿼리빌더 관련 질문 있습니다.
useSWR을 이용한 커뮤니티 리스트 가져오기 강의에서routes/subs.ts의 topSubs 함수를const topSubs = async (req: Request, res: Response) => { try { const imageUrlExp = `COALESCE('s."imageUrn",'https://www.gravatar.com/avatar?d=mp&f=y')`; const subs = await AppDataSource.createQueryBuilder() .select( `s.title, s.name, ${imageUrlExp} as "imageUrl", count(p.id) as "postCount"` ) .from(Sub, "s") .leftJoin(Post, "p", `s.name = p."subName"`) .groupBy('s.title, s.name, "imageUrl"') .orderBy(`"postCount"`, "DESC") .limit(5) .execute(); return res.json(subs); } catch (error) { console.log(error); return res.status(500).json({ error: "문제가 발생했습니다." }); } };으로 강사님이 작성해주셨는데, 저는 아래와 같이 해야 동작하더라구요.const topSubs = async (req: Request, res: Response) => { try { const imageUrlExp = `COALESCE(s.imageUrn, 'https://www.gravatar.com/avatar?d=mp&f=y')`; const subs = await AppDataSource.createQueryBuilder() .select(`s.name, s.title, ${imageUrlExp} as "imageUrl", count(p.id) as "postCount"`) .from(Sub, 's') .leftJoin(Post, 'p', `s.name = p.subName`) .groupBy('s.name, s.title, "imageUrl"') .orderBy(`"postCount"`, 'DESC') .limit(5) .execute(); return res.json(subs); } catch (error) { console.log(error); return res.status(500).json({ error: '문제가 발생했습니다.' }); } };제가 postgresql이 아닌 mariadb를 사용하고 있는데, db가 달라서 생기는 차이가 맞나요? 아니면 다른 이유가 있는지 궁급합니다!
-
미해결CCNA - Cisco Certified Network Associate (200-301) 자격증 과정
DHCP
DHCP 개요 강의에서(강의자료 185p)DHCP excluded-address 10.10.10.1 10.10.10.20에서 왜 해당 ip 대역을 exclude 해주는지 궁금합니다!
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
권한 요청드립니다!
인프런 아이디 : 김민국인프런 이메일 : minkook92@gmail.com깃헙 아이디 : minkook92@naver.com깃헙 Username : minkook92
-
미해결초보를 위한 도커 안내서
데이터베이스 에러가 뜹니다.
자꾸 데이터베이스가 에러 나는데 뭐 때문인지 도무지 알 수가 없습니다...
-
미해결스프링 시큐리티 OAuth2
OAuth 2.0 Client + Resource Server + Authorization Server 연동
18:50 분쯤에 localhost:8081 과 127.0.0.1:8081요청은 session이 다르게 형성되어서 문제가 생긴다. 말씀하셔서 코드를 보니OAuth2LoginAuthenticationFilter#attempAuthentication 메소드에서 authorizationRequestRepository#removeAuthorizationRequest 를 호출해서 세션에 있는 OAuth2AuthorizationRequest를 꺼내고 지우던데 OAuth 2.0 Client() 강의에서 저장하는 이유가 state 비교 및 상태유지 라하셨는데 왜 굳이 세션에 저장된것을 지우는 과정이 필요한것인가요?이미 해당 request(auth code를 요청하는) 에 대한 검증이 끝났기에 용량을 차지해서 지우는 것인가요...?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
트랜잭션 관련해서 질문 있습니다.
안녕하세요 유익한 강의 잘 듣고 있습니다! 트랜잭션 관련해서 질문 있습니다.[질문 1]만약 아래와 같은 코드가 있다고 했을 때JdbcTemplate jdbcTemplate = new JdbcTemplate(targetDataSource); PlatformTransactionManager transactionManager = new DataSourceTransactionManager(targetDataSource); DefaultTransactionDefinition definition = new DefaultTransactionDefinition(); TransactionStatus status = transactionManager.getTransaction(definition); boolean isRollback = false; //100개의 테이블 리스트를 순회 for (String table : tableList) { try { String query = "임의의 쿼리"; jdbcTemplate.execute(query); } catch (Exception e) { log.error(e.getMessage()); isRollback = true; } } if (isRollback) transactionManager.rollback(status); else transactionManager.commit(status); 100개의 테이블을 순회해서 어떠한 쿼리를 실행해보고 싶은데, 100개의 쿼리 중 하나의 쿼리라도 실패하는 순간 그 뒤의 쿼리들은 전부 오류가 떨어집니다.오류 내용은 아래와 같습니다."오류: 현재 트랜잭션은 중지되었습니다. 이 트랜잭션을 종료하기 전까지는 모든 명령이 무시될 것입니다."제가 생각하기로는 앞선 쿼리에서 오류가나서 트랜잭션이 롤백되었으니 나머지 쿼리를 실행해보지 않아도 롤백되기 때문에 실행해보지 않고 무시하겠다는 의미 같은데...저는 오류가 나더라도 우선 100개의 쿼리는 잘 돌아가고 마지막에 rollback처리를 하고 싶은데 방법이 있을까요? (오류가 100개의 쿼리 각각 어떠한 오류로 인한 실패인지 확인하고 싶기 때문입니다.) [ 질문 2]rollbackFor 옵션을 애노테이션 옵션말고 코드로 설정할 수 있나요?마치 propagation 옵션을 아래와 같이 설정한 것처럼 코드로 설정할 수 있나요?definition.setPropagationBehavior(PROPAGATION_REQUIRES_NEW);
-
미해결쉽고 빠르게 익히는 Power BI (기본편)
Powerbi 조직메일이 없으면 어떡하나요?
Powerbi 계정생성 시 개인용 메일은 제한 된다고 하는데 조직용메일이 없는 경우에는 가입을 어떻게 하나요?
-
미해결스프링 핵심 원리 - 고급편
질문은 아닙니다만 오타 발견하여 제보드립니다..!
크게 중요한 부분은 아니지만 오타를 발견하여 제보드립니다. 프록시 패턴과 데코레이터 패턴 자료에서 프록시, 프록시 패턴, 데코레이터 패턴 - 소개 바로 위 구문에서 가장 어려문 문제 -> 가장 어려운 문제 오타가 있는 것 같아 제보드립니다~!
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
교안 98P 질문
안녕하세요. 큰돌님.이직 준비를 하면서 코딩테스트 준비를 빠르게 하기 위해 C++을 새롭게 공부하고 있습니다.다름이 아니라 설명중 의문이 생겨서 질문드립니다.이는 연산자(operator) 오버로딩입니다. 이는 말 그대로 연산자를 오버로딩(하위 클래스에서 재정의)하는 것이죠.여기서 오버로딩이라고 말씀하셨는데, 제가 아는 오버로딩의 개념과 조금 다르게 나와있습니다.제가 오버라이딩의 개념과 헷갈려서 그런지 모르겠지만, 혹시 C++에서는 오버로딩이 하위클래스에서 재정의하는 의미로 사용되나요?확인하시고 알려주시면 감사하겠습니다!