usePermissions훅 사용시 에러가 납니다. android환경입니다. 코드랑 에러 올리겠습니다.구글에 먼저 검색해도 잘 모르겠어서 질문드립니다. import {useEffect} from 'react'; import {Alert, Linking, Platform} from 'react-native'; import {check, PERMISSIONS, request, RESULTS} from 'react-native-permissions'; function usePermissions() { // 권한 관련 useEffect(() => { if (Platform.OS === 'android') { //정확한 위치권한 check(PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION) .then(result => { console.log('check location', result); if (result === RESULTS.DENIED) { return request(PERMISSIONS.ANDROID.ACCESS_FINE_LOCATION); } else if (result === RESULTS.BLOCKED) { Alert.alert( '이 앱은 위치 권한 허용이 필요합니다.', '앱 설정 화면을 열어서 항상 허용으로 바꿔주세요.', //밑에 배열은 버튼을 의미한다. [ { text: '네', //Linking.openSettings는 핸드폰 설정을 열어준다. onPress: () => Linking.openSettings(), }, { text: '아니오', onPress: () => console.log('No Pressed'), style: 'cancel', }, ], ); } }) .catch(console.error); } else if (Platform.OS === 'ios') { check(PERMISSIONS.IOS.LOCATION_ALWAYS) .then(result => { if (result === RESULTS.BLOCKED || result === RESULTS.DENIED) { Alert.alert( '이 앱은 백그라운드 위치 권한 허용이 필요합니다.', '앱 설정 화면을 열어서 항상 허용으로 바꿔주세요.', [ { text: '네', onPress: () => Linking.openSettings(), }, { text: '아니오', onPress: () => console.log('No Pressed'), style: 'cancel', }, ], ); } }) .catch(console.error); } if (Platform.OS === 'android') { //카메라 권한 check(PERMISSIONS.ANDROID.CAMERA) .then(result => { if (result === RESULTS.DENIED || result === RESULTS.GRANTED) { return request(PERMISSIONS.ANDROID.CAMERA); } else { console.log(result); throw new Error('카메라 지원 안 함'); } }) .catch(console.error); } else { check(PERMISSIONS.IOS.CAMERA) .then(result => { if ( result === RESULTS.DENIED || result === RESULTS.LIMITED || result === RESULTS.GRANTED ) { return request(PERMISSIONS.IOS.CAMERA); } else { console.log(result); throw new Error('카메라 지원 안 함'); } }) .catch(console.error); } }, []); } export default usePermissions; 에러메세지 텍스트입니다. Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'RNPermissions' could not be found. Verify that a module by this name is registered in the native binary., js engine: hermes at AppInner (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&minify=false&app=com.mh.fooddeliveryapp&modulesOnly=false&runModule=true:131130:86) at Provider (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&minify=false&app=com.mh.fooddeliveryapp&modulesOnly=false&runModule=true:130801:22) at App at RCTView at View (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&minify=false&app=com.mh.fooddeliveryapp&modulesOnly=false&runModule=true:59410:43) at RCTView at View (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&minify=false&app=com.mh.fooddeliveryapp&modulesOnly=false&runModule=true:59410:43) at AppContainer (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&minify=false&app=com.mh.fooddeliveryapp&modulesOnly=false&runModule=true:59254:36) at FoodDeliveryApp(RootComponent) (http://10.0.2.2:8081/index.bundle//&platform=android&dev=true&minify=false&app=com.mh.fooddeliveryapp&modulesOnly=false&runModule=true:107936:28) ERROR TypeError: Cannot read property 'check' of undefinedThis error is located at: in AppInner (created by App) in Provider (created by App) in App in RCTView (created by View) in View (created by AppContainer) in RCTView (created by View) in View (created by AppContainer) in AppContainer in FoodDeliveryApp(RootComponent), js engine: hermes ERROR TypeError: Cannot read property 'check' of undefinedThis error is located at: in AppInner (created by App) in Provider (created by App) in App in RCTView (created by View) in View (created by AppContainer) in RCTView (created by View) in View (created by AppContainer) in AppContainer in FoodDeliveryApp(RootComponent), js engine: hermes
우선 강의중에 보여주셨던 HTML코드들에 대해서 행방을 알수가 없고 키를 강의마다 알려주신다는데 언제 알려주시는지 모르겠습니다. 그래서 완성되어있던 파일에 있는 HTML파일들을 끌어다가 다시 완성시켰는데 코드자체에 CSS,Js가 적용되지 않고 에러가 뜨기도 합니다. Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "!hasNotification" (template: "fragments.html" - line 129, col 24) 혹시 최신화된 코드나 강의 진행도에 따른 코드 접근 방법이 있을까요...? 물론 제가 옛날 강의를 듣는것이다 보니 감수해야 하는 부분이겠지만 하나하나 알아가다보니 강의를 듣는 시간도 늘어지고 지치기 시작하는거 같습니다 시간이 지나면서 바뀌는 부분에 대해서 조금이라도 안내를 해주시거나, 주의할 부분이라던가 아니면 참고할만한 내용들을 추가해주시면 감사하겠습니다.
안녕하세요 제목 그대로 start.spring.io 에서 강의 내용 따라 그대로 스프링 프로젝트를 생성하고 실행하여 첫 빌드를 하는데 계속 오류가 납니다.. 이틀 동안 너무 스트레스 받다가 도저히 혼자 해결이 안 되어 질문드려요. 제발 도와주십쇼 ㅠㅠ 1번 오류 세부 내용 Download https://services.gradle.org/distributions/gradle-8.6-bin.zip, took 23 s 799 ms Starting Gradle Daemon... Gradle Daemon started in 1 s 867 ms FAILURE: Build failed with an exception. * What went wrong: Multiple build operations failed. Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. CONFIGURE FAILED in 14s 2번 오류 세부 내용 C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8 -> C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc 3번 오류 세부 내용 Multiple build operations failed. Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc-9b249c29-1a91-4470-b675-465ff91418e8) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\0a561266a2b57efc5da5664bb0d7e3fc) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280-d74ea8fc-73d7-4578-9c43-b8cd0558405c) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\7b013786ef742a9c8c87e3aaf3d90280) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27-e5e2c8d8-9b10-4d94-aa86-5ed8eafd0641) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\1cb4a041ffa70c8710c09b3490f08d27) > Could not move temporary workspace (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d-888af752-9ab7-43e9-bc4d-c9089f87eee4) to immutable location (C:\Users\tjmg7\.gradle\caches\transforms-4\09e5b33217636222c215e9ce4b40ac0d) * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. 세팅 상태 start.spring.io 에서 자바 17 버전으로 프로젝트 생성했었고요. 그에 맞춰서 인텔리제이 설정도 다 했습니다. 지금 정말 이해가 되지 않는 건 제 데스크톱과 노트북의 환경 세팅을 완전 똑같이 해놨는데 데스크톱에서는 프로젝트 실행이 잘 되는데 노트북에서만 이 에러가 발생한다는 겁니다.. ㅠㅠ 제 데스크톱과 노트북의 환경 차이는 아무리 생각해봐도 데스크톱은 윈도우 10이고 노트북은 윈도우 11이라는 것밖에 생각이 나질 않습니다. .gradle 안에 캐시 폴더 지웠다가 프로젝트 다시 실행도 해봤고요.. .gradle 폴더 자체를 지웠다가 다시 실행도 해봤습니다. 인텔리제이도 여러 번 지웠다가 재설치하고 실행해봤고요. 해결 방법 좀 간곡히 부탁드립니다.. 스프링 공부하고 싶습니다 ㅠㅠ
보통 메모리 구조라고 하면 코드, 데이터, 힙, 스택 영역으로 알고 있습니다. 근데 실행 프로그램이 자바 코드로 이루어져 있다면 메모리 구조는 메서드, 스택, 힙 영역으로 이루어지는건가요? 메서드 영역에 클래스 즉 코드들이 올라간다 했는데 그러면 CPU가 메서드 영역에 있는 자바 코드들을 하나씩 레지스터로 fetch해서 decode, execution 하는건가요? CPU가 클래스 코드들을 해석하면서 메서드 호출일 경우 스택 영역에 스택 프레임을 생성하고 인스턴스 생성일 경우 힙 영역에 인스턴스를 생성하는 건가요? 힙 영역에 인스턴스가 생성된다고 했는데 그러면 필드 코드는 여전히 메서드 영역에 존재하지만 인스턴스가 가지고 있는 필드 값들은 힙 영역에 존재하는 건가요? 감사합니다.
안녕하세요. 분산락을 언제 쓰는게 좋을지 고민하다가 몇 가지 궁금증이 생겨 질문드립니다. 분산 DB 환경이 무엇을 의미하는지? 흔히 분산 DB 환경에서 낙관적, 비관적 락으로 동시성 문제를 해결하기 힘들다고 얘기하더라고요. 여기서 말하는 분산 DB 라는 것이 샤딩에 의해 여러 DB 서버가 있는 것인지, 동일한 데이터를 저장하는 DB 서버가 여러 대 있는 환경을 의미하는 것인지 모르겠습니다. 예를 들어, Ticket 이란 데이터를 저장하는데 동일한 ticket 데이터가 DB server 1, DB server 2 에 저장되어 있는 환경일까요?? 만약 분산 DB 가 샤딩인 경우 비관적 락으로도 동시성 이슈를 해결할 수 있을 것 같은데 맞을까요? 아래 그림처럼 ticketId = 1 인 티켓을 예매하기 위한 요청이 동시에 올 경우 입니다. 처음 x-lock 을 잡은 요청이 끝나야 뒤늦게 온 요청이 해당 티켓의 잔여 수량을 확인하고 예매 하기 때문에 샤딩으로 인한 분산 DB 에서는 비관적 락으로 동시성 이슈를 해결할 수 있을 것 같습니다. 동일한 Ticket 데이터가 여러 DB 서버에 중복되어 저장된 분산 DB 환경에서는 분산락을 사용해야 될 것 같습니다. 그러나, 샤딩은 동일한 Ticket 데이터에 접근하기 위해서는 동일한 서버로 접근하기 때문에 비관적 락으로도 충분히 해결 가능할 것 같아서 질문 드립니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에서는 warn이 뜨고 name이 없다라는 콘솔문구가 뜨는데 저는 창을 들어가보면 에러는 똑같이 나는데 warn이 안뜨네여..
안녕하세요 영한님, 정말 좋은강의 잘 듣고있습니다. Merge관련해서 질문이 하나있는데요..! 아래 두 method 모두 시작할때 persistence context가 비어있고 찾는 entity가 db에 있다고 가정할때 비슷한 (혹은 같은) flow로 진행될까요? 여기서 method parameter, Entity e,는 업데이트될 (id가 set되어있고 field가 업데이트 되어있는)객체입니다. @Transactional public void updateEntity(Entity e){ Entity foundEntity = em.find(Entity.class, e.getid()); foundEntity.setFieldOne("New Data"); } @Transactional public void updateEntity(Entity e){ em.merge(e); } Merge를 꼭 써야하는건 아니지만, 그냥 동작 메커니즘이 궁금해서 질문드립니다. Merge를 쓰는게 Update전에 항상 Select query로 db에서 객체를 조회하기때문에 쓰기를 지양하라고 하시는건가요, 아니면 merge를 쓸때 또 다른 downside가 있나요?
섹션 4. 회원 도메인 개발-회원서비스 개발에 대해 질문있습니다. 테스트 junit으로 테스트 실행시 아래와 같은 에러가 나옵니다. Execution failed for task ':test'. > No tests found for given includes: [jpabook.jpashop.Service.MemberServiceTest](filter.includeTestsMatching) package jpabook.jpashop.Service; import static org.junit.Assert.*; import jpabook.jpashop.domains.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; //메모리db로 test import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertEquals; @RunWith(SpringRunner.class) @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exception { //given Member member = new Member(); member.setName("kim"); //when Long savedId = memberService.join(member); //then assertEquals(member, memberRepository.findOne(savedId)); } // @Test // public void 중복회원예외() throws Exception { // //given // // //when // // //then // // } } 에러 사항을 찾아보니 디렉토리 위치가 다를 경우에 에러가 날 수 있다고 하여 디렉토리 위치를 비교해봐도 같습니다. junit테스트도 동일합니다. 어느 부분이 틀린지 알 수 있을까요?
안녕하세요! 제로초님! 좋은 강의 감사합니다. 제로초님의 강의를 듣고 개인 프로젝트를 진행하고 있던 중 궁금한 점이 있어 질문 드립니다 현재 Complete 구조에 해당하는 화면에서 하단 탭을 안보이게 하고 싶은데, 해결을 하지 못하여 질문을 드립니다. [ 공부한 내용] 공식 문서에서는 특정 스크린에서 하단 탭을 숨기고 싶다면 구조를 변경하라고 말하고 있는데, 제가 원하는 방법은 아니어서 다른 방법을 찾아보았습니다. https://reactnavigation.org/docs/hiding-tabbar-in-screens tabBarvisible을 사용하면 tab안에 있는 stack에서 하단 탭을 안보이게 할 수 있다는 블로그도 많이 확인하였지만 공식문서에서 tabBarvisible을 더이상 지원하지 않는다고 하여 사용하지 않았습니다. https://reactnavigation.org/docs/upgrading-from-5.x 아래 블로그에서 React.useLayoutEffect를 사용해 컴포넌트에 접근하였을 때 화면 이름과 navigation.setOptions를 활용하여 하단 탭을 안보이게 하는 방법이 있다고 하여 적용해 보았으나 제 프로젝트에서는 동작하지 않았습니다. https://velog.io/@yejinleee/ReactNative-%EC%8A%A4%ED%83%9D%EB%82%B4%EB%B9%84%EA%B2%8C%EC%9D%B4%EC%85%98%EC%97%90%EC%84%9C-%ED%83%AD-%EB%B0%94-%EC%88%A8%EA%B8%B0%EA%B8%B0 혹시 Complete 화면에서 하단 바를 안보이게 하는 방법이 있을까요? 항상 좋은 답변을 해주셔서 감사합니다 : )
Link 수업 듣는 중에 아래 질문과 같이 동일한 문제가 발생했는데요 (상품 클릭 시, 링크 변경은 되는데 페이지 이동이 안되는 현상) https://www.inflearn.com/questions/645148/link-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0-%EA%B4%80%EB%A0%A8%EC%A7%88%EB%AC%B8 질문 확인하고 <React.StrictMode> 을 제거하기 전에는 상품카드를 클릭했을때 url만 변경되고 페이지가 새로고침되지 않았습니다. <React.StrictMode> 제거해야지만 클릭시 url변경 + 페이지 새로고침까지 되었습니다 강의와 동일하게 작성하였는데 왜 <React.StrictMode> 제거 후 문제가 해결된걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] 스프링 cascade 활용도 측면에서 궁금한 것이 있습니다. 영한님 - 인프런 (inflearn.com) 이 질문을 남겼었던 수강생입니다! 잠깐 상황을 요약하면 Program 과 Review 그리고 User 가 다대 1 1대 다 로 묶여 있는 상황입니다. program 에서 program.addReview 메서드를 활용하기 위해 cascade type 을 적용하였었습니다. 하지만 영한 님은 이부분의 코드는 별로 좋은 코드가 아니다! cascade 옵션 질문 - 인프런 (inflearn.com) 를 참고해서 보아라. 라고 하셨습니다. 위 질문의 요약은 강의에서 Order 는 OrderItem 을 개인 소유 하나, Order 와 Delivery 는 Delivery 가 여러 곳에서 참조할 수 있으므로 개인 소유 하지 않는다. 라고 읽었습니다. 참조 하는 것과 Cascade Type .all 이 무슨 관계가 있는지 모르겠습니다. 6줄요약하면: Delivery 와 Review 는 여러 곳에서 참조할 수 있으므로 CascadeType all 을 붙이지 말라고 하신 것 같은데 여러 곳에서 참조가능성이 있으면 CascadeType all 을 왜 붙이지 말아야 하는지 궁금합니다. 단순히 계속 코드를 보며 추적해야 하는 것 때문인가요?? 이 부분이 와닿지 않습니다. 혹시 실제 예를 들어 설명해주실수 있나요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. 이게 현재 프로젝트 이고 plugins { id 'java' id 'org.springframework.boot' version '3.2.3' id 'io.spring.dependency-management' version '1.1.4' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' } group = 'study' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'com.mysql:mysql-connector-j' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' //test 롬복 사용 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.1.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:5.1.0:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } //querydsl 추가 시작 def querydslDir = file('build/generated/querydsl') querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClasspath } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl } 현재 gradle설정인데 Querydsl 설정과 검증 부분에서 막혔어요 클린해서 q파일 지우고 테스트 코드 런하면 아래 에러가 나타나고 error: Attempt to recreate a file for type study.querydsl.entity.QHello 이후에 q파일이 생성 된 후에는 error: Could not find class file for 'study.querydsl.entity.Hello'. 에러가 반복되네요.. https://www.inflearn.com/questions/1086099 다른분들 설정파일 따라해도 안됩니다..
질문 카테고리를 변경하다가 내용이 다 삭제되어 다시 질문을 올립니다ㅠㅠ 우선 좋은 강의 만들어 주셔서 감사합니다! 초보자임에도 불구하고 강의를 듣고 나서 앱을 만들 수 있겠다는 자신감을 얻어 앱을 만들던 중 난관에 봉착하여 질문을 드립니다. 만드려고 하는 기능은 다음과 같습니다. 사용자가 장소를 검색. 검색한 장소를 네이버 지도에서 마커로 표시해줌. 질문은 다음과 같습니다. 장소 검색 기능을 추가하려고 합니다. 카카오 장소 검색 api를 사용하는 것이 제일 좋은 방법인지 궁금합니다. 카카오 장소 검색 api는 웹뷰를 이용해야 하는 것 같은데 웹뷰 구동 방식이 제가 생각하는 방식이 맞는지 궁금합니다. reactnative에서 react 프로젝트 호출 -> react에서 카카오 장소 검색 api 호출 -> 카카오 api 응답 -> react에서 reactnative 프로젝트로 응답 전달 -> reactnative에서 응답을 받아서 사용 제가 알아본 과정은 다음과 같습니다. 제로초님께서 react-native-naver-map 라이브러리는 장소 검색 기능이 없다는 것을 알게 되었습니다. 장소 검색을 하기 위해서는 새로운 api를 사용해야 한 다는 것을 깨닫고, 네이버 장소 검색 api를 확인해본 결과, 네이버 장소 검색 api는 최대 5개의 결과값만 받을 수 있다는 것을 알게 되었습니다. 응답을 5개만 받을 수 있다는 한계가 너무 명확하여, 대안을 찾던 도중 카카오 장소검색 api, 구글 장소 검색 api가 있는 것을 확인하였습니다. 구글 장소 검색 api를 사용한 블로그 글이 꽤 있었지만 네이버 지도 + 구글 장소 검색 api 조합을 사용 할 거라면 차라리 구글 지도 + 구글 장소 검색 api 조합이 더 좋을 것 같다는 판단을 하였지만 네이버 지도를 사용하고 싶었기 때문에 최종적으로는 네이버 지도 + 카카오 api를 사용하려고 합니다. 카카오 장소 검색 api를 사용하기 위해 카카오 장소 검색 안드로이드 api 공식 문서를 살펴본 결과, 내용이 자바 코드로 안내가 되어있었습니다. 처음에는 자바 코드로 작성되어 있어서 어리둥절 하였지만 안드로이드는 자바 or 코틀린으로도 개발한다는 것을 알게 되었습니다. 몇몇 블로그를 살펴보니 reactnative에서 카카오 장소 검색 api를 사용할 때는 웹뷰를 사용한다는 사실을 알게 되었습니다. 웹뷰를 사용한다면 리액트 프로젝트를 따로 만들고 구동해야 하는 것 같은데, 이게 최선의 방법인지 혼란스러워서 질문을 남기게 되었습니다.
[제로초 강좌 질문 필독 사항입니다] 질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다. 도움이 되는 질문을 하는 방법을 알려드립니다. https://www.youtube.com/watch?v=PUKOWrOuC0c 0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다. 1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다. 2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다. 3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요. 4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요. 5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다. 6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.
public class Animal { public void sound(){ System.out.println("동물 울음 소리"); } } public class Dog extends Animal{ @Override public void sound() { System.out.println("멍멍"); } } public class BabyDog extends Dog{ public void sound() { System.out.println("낑낑"); } } public class AnimalPolyMain1 { public static void main(String[] args) { Dog dog = new Dog(); BabyDog babyDog = new BabyDog(); soundAnimal(dog); soundAnimal(babyDog); } private static void soundAnimal(Animal animal){ System.out.println("동물 소리 테스트 시작"); animal.sound(); System.out.println("동물 소리 테스트 종료"); } } 안녕하세요. 강의 중 추가적으로 궁금한게 생겨서 질문드립니다. 그림에 따르면 코드에 만약에 제가 BabyDog클래스를 만들어서 Dog를 extends 한 후 오버라이딩을 하지 않고 매서드를 생성하면 "낑낑"이 아닌 매서드 오버라이딩이 된 "멍멍"이 출력되어야 하는 거 아닌가요??