묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Flutter 초급 - Http통신, 상태관리
CartBloc 대체 코드 올립니다.
import 'package:flutter_bloc/flutter_bloc.dart'; // 이벤트 기반 패턴 라이브러리 import '../model/item.dart'; enum CartEventType { add, remove } // 이벤트 정의 class CartEvent { final CartEventType type; final Item item; CartEvent(this.type, this.item); } class CartBloc extends Bloc<CartEvent, List<Item>> { // 이벤트, 리스트 정의 CartBloc() : super([]) { on<CartEvent>((event, emit) { switch (event.type) { case CartEventType.add: state.add(event.item); break; case CartEventType.remove: state.remove(event.item); break; } emit(state); }); } // CartBloc() : super([]); // 초기값은 빈 배열 // // @override // Stream<List<Item>> mapEventToState(CartEvent event) async* { // // 스트림 형태로 방출하게 만듦 // // 이벤트를 던지면 어떻게 수행할지 정의 // switch (event.type) { // case CartEventType.add: // state.add(event.item); // break; // case CartEventType.remove: // state.remove(event.item); // break; // } // yield state; // 값을 하나씩 밀어넣어주는 코드 // } }
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
[login route 생성하기] - accessToken에 userData를 담은 이유가 궁금합니다.
안녕하세요. login route 생성하기의 내용을 쭉 따라가다가 이해가 되지 않는 부분이 있어 질문하게 되었습니다.강사님께서는 노드 백엔드서버에서 accessToken와 userData를 담은 객체를 json형식으로 반환하도록 하셨습니다. 저로써는 db에 저장되어 있는 회원객체를 그대로 인증정보에 담는 것이 매우 위험하다고 생각되었습니다. userData를 반환해준 이유가 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
test폴더를 삭제해버렸습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 9:12 쯤 부분을 실습하다가JUnit4와 5를 설치와 삭제를 반복하다가실수로 test 디렉토리를 지워버렸습니다.그러니까 그 다음 단계에서 어노테이션이 다 빨간색으로 인식이 안되는데test 디렉토리 지웠을 때 어떻게 복구하면 되는지 궁금합니다.답변 부탁드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA 특징 중 자동 업데이트 관련
주문 서비스 개발 부분 강의를 듣다가 궁금한 점이 있어 질문드립니다. 주문 취소(OrderService.cancelOrder) 부분에서order.cancel() 만 작성하면 JPA 특징으로 인해, 데이터 업데이트 관련 쿼리 로직 없이 자동으로 업데이트 된다고 하셨는데요. 주문 생성(OrderService.order)의 EntityManager 가 사용된 orderRepository.save(order); 와 혼동이 와서 질문 남깁니다. 주문 취소 order.cancel() 메서드를 타면서 엔티티의 값(status, count 등) 변경 내역이 자동으로 업데이트 되는 것이라고 하면, 주문 생성도 Order.createOrder(member, delivery, orderItem); 를 타면서 엔티티의 값들을 설정하기 때문에 orderRepository.save(order); 를 사용하지 않아도 되는게 아닌가 라는 생각이 듭니다. 제가 JPA 를 잘 몰라서 혼란이 오는 것 같은데.. 쿼리는 직접 작성하지 않아도 업데이트/저장/삭제 등 DB 조작이 일어나려면 EntityManager 를 통해야 된다고 생각하고 있었습니다. 주문 취소는 EntityManager 없이 업데이트 되고, 주문 생성은 EntityManager의 persist() 를 사용해서 저장하는 것 이 2가지 차이점에 대해서 설명 부탁드립니다! 감사합니다 :)
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
IntelliJ Setting 질문입니다...
이런 오류가 생겼는데 어떻게 해결해야 할까요? ㅠㅜ
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2데이터 베이스에 데어터가 들어오지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.java 17에 스프링 부트는 3.1.0 버전을 사용중이고h2 데이터 베이스는 최신 버전을 다운 받았습니다.스프링부트 3.0버전 이상은 h2 2.1.214버전 이상 사용하는게 맞나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
궁금한점
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님 강좌에서 사용했던 소스코드나 교재 내용들 혹시 블로깅 해도되나요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문 등록 파라미에 대해서 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]상품 주문시에만 파라미터를 @requestParam으로 받으셨는데 특별한 이유가 있는지 궁금합니다.
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - NFT
사이트 문제 및 ipfs 링크 받을 떄 문제해결
docs 링크가 바뀜 https://docs.klaytn.foundation/content/dapp/sdk/caver-js/v1.4.1/api-references/caver.klay/transaction/sendtx_smart_contract_executionhttps://ipfs.infura.io/ipfs/"+ hash 값 넣는 부분에 "https://ipfs.infura.io/ipfs/" 대신에 앞에서 만든 자신의 infura api 링크를 같이 넣어줘야함 예시 "https://님이만든거이름.infura-ipfs.io/ipfs/"그럼 잘됨
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - NFT
ipfs.infura.io 문제 해결
문제 : ipfs.infura.io를 사용할 경우 post timeout이 발생함 다른것도 ipfs.io 로 갈아 끼워서 해봐도 안됨 빠른포기 해결방법 :1. 검색 2. infura.io 공용 오픈api? 가 만료된것을 알아냄 3. 회원가입한다 4. 개인 ipfs용 apikey를 생성한다. 5. API key 값과 API Key Secret 값을 확인한다. 6. 아래의 코드가 infura api 사용하는 방식이다 강의에 나온것에서 headers 부분만 추가해주면 된다 그리고 그곳에 auth 값이 필요한것이다.const projectId = 'API key'; const projectSecret = 'API Key Secret '; const auth = 'Basic' + Buffer.from(projectId + ':' + projectSecret).toString('base64'); const client = ipfsClient.create({ host: 'ipfs.infura.io', port: 5001, protocol: 'https', headers: { authorization: auth, }, });해당 강의에서는 node에서 작업을 하기때문에 node_modules에 포함되어있는 Buffer 함수가 정상 동작 하지만 일반 비 node 로컬 환경에서 개발할경우 별도로 노드 js 파일을 만들어서 auth 값만 뽑아낸다음에 하드코딩으로 갈겨넣어도 정상동작한다. 그렇게 넣고나서 강의를 따라 실행하고 infura 사이트에 로그인한뒤 자신의 ipfs 목록을 보면 alert 창에 적힌 저 Qm..............어쩌고저쩌고의 값이 잘 올라와있는것을 확인할수 있을것이다. 예전에 삽질한 흔적들이 남아있는 커뮤니티다 . 해결책은 안적었지만 공식 커뮤니티이니 돌아다니다보면 또 주워 얻는게 있는듯하다. https://community.infura.io/t/how-can-i-get-ipfs-url-image-by-dedicated-gateway/5759
-
미해결Klaytn 클레이튼 블록체인 어플리케이션 만들기 - NFT
파일검색 문제 해결
setting.json 파일을 변경해도 되지 않을경우 1. git ignore에 node_modules가 적혀있으면 검색이 안되는것을 확인 2. git_ignore에 에서 node_modules를 주석처리 한다 3. 컨트롤 p를 누르고 ERC721FULL을 작성한뒤 엔터를 갈긴다 4. 잘된다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
스프링부트 버전에 따른 SQL 문이 다른 점 (Alias 유무)
안녕하세요, 스프링부트 3.1로 강의를 듣고 있는 학생입니다.3.1.0 버전에서는 Select 쿼리를 생성할 때 별칭(alias) 없이 생성되었는데JPA hibernate 버전 차이가 원인인 것인가요?문서를 찾아보려고 해도 어떻게 찾아야 할지 감이 오지 않아서 질문드립니다.아래는 MemberServiceTest 회원가입 test 의 로그입니다.3.1.02023-06-13T22:26:00.567+09:00 DEBUG 64058 --- [ Test worker] org.hibernate.SQL : select m1_0.member_id, m1_0.city, m1_0.street, m1_0.zipcode, m1_0.name from member m1_0 where m1_0.name=? 2023-06-13T22:26:00.571+09:00 DEBUG 64058 --- [ Test worker] org.hibernate.SQL : select next value for member_seq2.4.12023-06-13 22:23:43.684 DEBUG 63945 --- [ Test worker] org.hibernate.SQL : select member0_.member_id as member_i1_0_, member0_.city as city2_0_, member0_.street as street3_0_, member0_.zipcode as zipcode4_0_, member0_.name as name5_0_ from member member0_ where member0_.name=? 2023-06-13 22:23:43.691 DEBUG 63945 --- [ Test worker] org.hibernate.SQL : call next value for hibernate_sequence아래는 각 로그가 출력할 때 사용한 파일입니다.2.4 버전https://drive.google.com/file/d/1BhS1ZjixkOKzQxrEaSLGu0o6tWGhRLr_/view?usp=sharing3.1 버전https://drive.google.com/file/d/1SN6W0iq6X2ALHPNJDUgXuG-ep3-D4UyU/view?usp=sharing
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
setter 대신 Builder를 사용하여 구성했는데 꼬임에 대해서
setter 사용을 지양하기 위해setter를 사용하지 않고 Builder 패턴으로 구현하여 코드를 작성하던중 OrderService의 order() 메서드를 테스트 하는데 NullPointerException이 발생했습니다.어디서부터 꼬인지를 모르겠어서어디부터 물어봐야할지를 모르겠네요...그래서 이후 강의에서는 setter를 사용하지않고 정석대로 생성자를 이용하는 방식을 사용하는 강의가 있는지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
회원, 주문 엔티티
질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 JPA에 대해 공부하고 있는 학생입니다!!강의를 듣다 궁금한 것이 생겨 질문합니다!!강의에서 Member 테이블과 Order테이블이 다대일 양방향관계로 만들었습니다. 양방향으로 만들었기 때문에 member에서 order을 참조하여 해당 member가 order들을 찾을 수 있는데(member.getOrder()), 수업 자료에 "실무에서는 회원이 주문을 참조하지 않고, 주문이 회원을 참조하는 것으로 충분 하다."라는 말이 있어서 궁금증이 생겼습니다.실무에서는 해당 테이블들을 다대일 단방향으로 연관관계를 매핑한다는 것인데, 그러면 member가 자신이 주문한 것들을 찾고싶을땐 어떤 방식으로 찾나요?
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
DB와 강의 리뉴얼
먼저 좋은 강의 감사합니다!Firestore 대신에 Realtime DB를 사용하신 이유가 궁금합니다 강의 리뉴얼은 언제쯤 마무리 될지, 아예 v9으로 다시 만드시는 것인지 여쭙고 싶습니다.감사합니다.좋은 하루 보내세요 : )
-
미해결프로젝트로 배우는 Vue.js 3
24강에서 computed의 종속성이 변경도록 return하는데, 그러면 computed가 다시 실행되나요?
24강 검색기능 추가의 filteredTodos에서const filteredTodos = computed(() => { if (searchText.value) { return todos.value.filter(todo => { return todo.subject.includes(searchText.value); }); } return todos.value; });제가 알기로 computed는 반응형 종속성 변수가 변경될때마다 실행되는것으로 이해했습니다.그러면 여기서 반응형 종속성 변수는 todos와 searchText인데return에서 todos의 value가 변경되므로, computed가 총 두번실행되는 것인가요?1.searchText 변경을감지하고 computed 실행2.return 에서 todos.value를 변경3.todos의 변경을 감지하고 computed 재실행4.searchText와 todos모두 변경되지 않아 computed종료
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
insert 쿼리는 로깅이 되지 않습니다. (수정 -> 원인 파악 완료)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]질문 수정테스트 코드에 @Rollback(value = false) 어노테이션을 넣고 실행했더니 INSERT 쿼리도 로깅되는 것을 확인했습니다!!생각해 보니, 롤백이 되지 않으면 그때 한 번에 쿼리를 보내는 것이 자연스러운 것 같네요..! 롤백될 쿼리까지 로그에 남으면 개발자 입장에서 원인을 파악하기 더 힘들 것 같고요.원래 롤백이 되는 쿼리는 로깅이 안 되는 것이 정상인 거겠죠?? 기존 질문위 사진과 같이 create table 쿼리는 로깅이 잘 되지만, insert 쿼리는 로깅이 되지 않습니다!이유가 무엇인지 알 수 있을까요??관련 코드 및 로그 첨부하겠습니다.application.yml 설정spring: datasource: url: jdbc:h2:tcp://localhost/~/Programming/h2/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: show_sql: true format_sql: true logging: level: org.hibernate.sql: debug 실행한 테스트 코드@Test @Transactional void testMember() { // given final Member member = new Member(); member.setUsername("memberA"); // when final Long savedId = memberRepository.save(member); final Member findMember = memberRepository.find(savedId); // then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); assertThat(findMember).isEqualTo(member); }로그(원인을 파악하여, 글이 길어지지 않기 위해 로그는 첨부하지 않겠습니다.)
-
미해결따라하며 배우는 리액트 테스트 [2023.11 업데이트]
toHaveTextContent 에러
안녕하세요.'context wrapper 추가로 에러 제거하기' 강의에서 발생한 에러가 해결되지 않아 질문 드립니다.https://www.inflearn.com/questions/736423/tohavetextcontent-%EC%97%90%EC%84%9C-%EC%97%90%EB%9F%AC%EA%B0%80-%EC%9E%90%EA%BE%B8-%EB%82%98%EB%8A%94%EB%8D%B0-%EC%95%84%EB%AC%B4%EB%A6%AC-%EC%B0%BE%EC%95%84%EB%8F%84-%EC%9E%98-%EB%AA%A8%EB%A5%B4%EA%B2%A0%EC%8A%B5%EB%8B%88%EB%8B%A4이 글과 동일한 에러가 계속 발생하는데, 이 질문자분이 답글로 남겨주신 코드로 수정해보아도 해결이 되지 않습니다. 어디서 문제가 발생한 건지 강의를 다시 보고 또 봐도 찾기가 어려워 깃허브 주소 남깁니다. 감사합니다.● update product's total when products change expect(element).toHaveTextContent() Expected element to have text content: 1000 Received: 총 가격: 0 16 | userEvent.clear(americaInput); 17 | userEvent.type(americaInput, "1"); > 18 | expect(productsTotal).toHaveTextContent("1000"); | ^ 19 | }); 20 | at Object.<anonymous> (src/pages/OrderPage/test/calculate.test.js:18:25) https://github.com/daeunleeeee/react-shop-test
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
localhost 연결 거부 ㅠㅠ
수업을 잘 따라갔는데 localhost를 연결할 수 없다고 계속 떠요ㅠㅠ 이유가 뭘까요ㅠ
-
미해결프로젝트로 배우는 Vue.js 3
구조가 다름...
예전 강의라 그런지 구조도 다르고 레퍼런스도 달라서 따라가기가 어렵습니다..강의에서는 package.json에 scripts도 vue-cli 기반으로 돼있는데 전 이렇게 되어있고. 강의와 똑같이 해서 npm run serve해도 이런 오류만 나옵니다 .이 강의는 이미 만들어진 소스에서 추가하는 식인가요? 섹션0까지만 들어서 그런지 처음 만들때와 구조가 달라서 불친절하다는 생각이 드네요,,