안녕하세요. 유니티를 다루다가 언리얼을 공부하고자 해당 강의 구매 후 시청 전에 질문 드릴 것이 있어 남깁니다. 유니티로 게임 로직을 구현할 때 경험상 씬(언리얼에서는 레벨이라고 하는 것 같습니다)을 통해 간단하게 로그인씬->로비씬->인게임씬의 로직으로 게임이 구현되는데요. 강의 내용의 서버는 인게임씬에 해당하는 것인지 로그인씬, 로비씬 같은 것도 구현이 가능한 것인지 궁금합니다. 인게임씬에 해당하여 다른 씬은 따로 구현해야한다면 1강이나 2강을 보면 도움이 될 지도 궁금합니다. 감사합니다.
롬복 기능 추가할 때 build.gradle의 dependencies에 implementation 'org.projectlombok:lombok' 이 한 줄만 넣어줘도 롬복이 기능하는데 문제가 없는데 강의에서는 아래와 같이 여러 줄의 코드를 추가해줬습니다. 단순히 implementation만 추가해주는것과 강의에서 제시한 아래의 코드가 서로 어떻게 다른 건지 알 수 있을까요? //lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //lombok 라이브러리 추가 끝 참고로 스프링부트 버전은 3.2.1 입니다.
AllBeanTest에서 @Autowired 어노테이션을 붙일 경우에, 빨간 밑줄이 생기면서, Autowired members must be defined in valid Spring bean (@Component|@Service|...) 이런 경고 문구가 뜹니다. 실제로 해당 어노테이션을 붙이던 안붙이던 동일한 결과가 출력이 되는데 이유를 알 수 있을까요? public class AllBeanTest { @Test void findAllBean() { ApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class, DiscountService.class); } static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } } }
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hjloveu012&logNo=221601526390&categoryNo=24&proxyReferer= 이 링크에 있는 코드를 이용해서 강의하셨던 memberlist mvvm 강의 참고하여 앱을 만들고 있는데요.. 사진 처럼 save를 해서 가격에 있는 데이터 값을 저장하고 새로 생성된 셀을 클릭하면 아래 화면이 나오는데 가격이 0으로 계속 수렴합니다 디버깅을 통해 save해서 데이터값이 올바르게 들어오는 것까진 확인을 했는데요 셀을 클릭하고 detailview로 넘어가는 과정에서 데이터값을 전달 못받는건가 싶은데 몇일동안 구글링해봤지만 해결을 못하고 있습니다... 또한 기존에 생성되있는 1개의 멤버리스트 배열 또한 nametextfield 부분은 수정해도 잘 뷰에 표시 되는데 동일하게 가격 부분을 수정해서 update하면 디버깅을 통해 데이터가 정상적으로 들어오는것은 확인되나 셀을 클릭해서 detailview로 넘어오면 0으로 표시 됩니다. 링크에 있는 코드를 사용하지 않으면(extension으로 uitextfield delegate) 입력한 데이터 값이 잘 저장되고 잘 보여집니다. github에 올려서 다른 커뮤니티에 올려보고 하는데 아무런 피드백을 받을 수 없어서 돌고 돌아 여기에 질문 남깁니다.. 꼭 좀 부탁드리겠습니다 ㅠㅠ 참고로 깃허브 주소 남기겠습니다 https://github.com/theBettor/StackToShop
안녕하세요. 강의듣던중 notification이 제대로 작동되지 않아서 문의드립니다. 강의 내용과 동일하게 소스코드를 작성했는데 알림창 시작 버튼을 누르면 알림팝업이 나오지 않습니다. 강의자료에 올라온 소스코드를 그대로 실행하면 알림팝업이 잘나오는데, 제 소스코드를 실행이 제대로 작동되지 않는 것으로 봐서 설정 문제인거 같은데 어디가 문제인지 모르겠습니다ㅠ 확인부탁드립니다. 소스코드 https://drive.google.com/file/d/1TuCLiaHZ6Rkijb5X8z4wbqHEw3uTjHmK/view?usp=sharing
안녕하세요 ! APIs 생성하기 섹션을 들으며 연습하고 있는데요. 사용자 ID 값이 10 보다 큰 경우에는 404 에러를 출력하고 나머지 경우에는 사용자 정보를 반환하도록 작성해주신 GET 메서드 코드를 따라 작성했고, 포스트맨에서 정상 작동함을 확인하였습니다. 강사님 코드 import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: number } } ) { // 사용자 ID 값이 10보다 큰 경우 404 오류 출력 if (params.id > 10) { return NextResponse.json({ error: "USER NOT FOUND" }, { status: 404 }); } // 사용자 정보를 응답으로 전달 return NextResponse.json([ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]); } 따라하다가 문득, 전체 사용자 정보가 아니라 해당 id 에 해당하는 사용자 정보를 출력하고 싶어, 아래와 같이 코드를 수정하였습니다. 코드에 문제가 없다 생각했는데 에러를 출력하더라구요 ㅠㅠ 에러 코드 import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: number } } ) { const userData = [ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]; const user = userData.find((user) => user.id === params.id); if (!user) { return NextResponse.json( { error: "사용자를 찾을 수 없습니다" }, { status: 404 } ); } return NextResponse.json(user); } `user` 를 잘 찾지 못하는 것 같아서 혹시 id 타입 문제인가 해서 params.id 의 타입을 바꾸고 실행하였더니 정상 작동 하였습니다. 정상 작동했던 코드 1 import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: string } } ) { const userData = [ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]; const requestedId = parseInt(params.id); const user = userData.find((user) => user.id === requestedId); if (!user) { return NextResponse.json( { error: "사용자를 찾을 수 없습니다" }, { status: 404 } ); } return NextResponse.json(user); } 정상 작동했던 코드 2 import { NextRequest, NextResponse } from "next/server"; export function GET( request: NextRequest, { params }: { params: { id: number } } ) { // Mock user data const userData = [ { id: 1, name: "Jieun" }, { id: 2, name: "Hansol" }, ]; const requestedId = typeof params.id === "string" ? parseInt(params.id, 10) : params.id; const user = userData.find((user) => user.id === requestedId); if (!user) { return NextResponse.json( { error: "사용자를 찾을 수 없습니다" }, { status: 404 } ); } // Return the user information return NextResponse.json(user); } 질문입니다! API 호출 시 전달되는 매개변수 params.id 의 타입은 GET 메소드 매개변수 선언시 지정해주는 타입으로 정해지는건가요? string 타입인거라면 강사님 코드가 실행되지 않았어야 하고, number 타입이라면 저의 에러코드 또한 실행되었어야 하는데 왜 정상적으로 작동하지 않았는지 궁금합니다.
좋은 강의 감사합니다. Jwt 토큰에 대해서 공부하다 보니 Refresh Token에 대해 알게 되었습니다. 혹시 Refresh Token에 대해 찍은신 다른 강의나 참고할만한 코드가 따로 있을까요?! 그리고 해당 강의에서 구현한 jwt는 Refresh token 방식이 아니기 때문에 새로고침하거나 발급받은 후 페이지를 종료하게 되면 토큰은 사라지는 건가요?
[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
type 'CursorPaginationLoading' is not a subtype of type 'CursorPagination<dynamic>' in type cast pagination-1 까지 잘 진행했는데 2~4까지 묶어서 실습하는 중 위와 같은 오류 때문에 계속 loading 바가 나옵니다. 다시 한번 소스코드를 강사님 강의를 보며 점검해 봤는데, 찾을 수가 없어 도움을 청합니다.
docker run -v /usr/src/app/node_modules -v %cd%:/usr/src/app <이미지 아이디> 이 명령에서 '매핑해라'와 '매핑하지 말라'의 차이가 정확하게 어떤건지 궁금합니다. -v라는 같은 옵션을 주는 것으로 보이는데 어떻게 알아서 구분하나요?? 단순히 node_modules폴더가 디렉토리에 없어서 그런건가요? 만약 node_modules가 호스트 디렉토리에 있으면 그냥 참조하나요?
const onClickClose = () => { router.back(); modalStore.reset(); }; 뒷 부분에 기능을 추가하실지는 모르겠지만 현재 onClickClose를 하고나서 모달을 reset 해줘야 할 것 같습니다. 아니면 계속 상태를 가지고 있어서 나가고 나서도 reset이 이뤄져야 할 것 같습니다!
섹션 7에서 "@Autowired 필드명" 강의를 듣고 있습니다. AutoAppConfigTest에서 아래와 같은 에러가 발생합니다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderServiceImpl' defined in file [/Users/a/Desktop/study/spring-study/core/out/production/classes/hello/core/order/OrderServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 1: No qualifying bean of type ' hello.core.discount .DiscountPolicy' available: expected single matching bean but found 2: fixDiscountPolicy,rateDiscountPolicy 질문 게시판에 있는 글들도 읽어봤는데 따로 해결방법을 못찾겠습니다. 아래는 관련 코드들 캡쳐해서 첨부합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] ControllerV1 controller = controllerMap.get(requestURI); key 에 매핑되어있는 구체적 형태의 컨트롤러를 ControllerV1 타입으로 controller 에 담고 해당 컨트롤러로 이동하는 메서드가 controller.process(request, response) 라면 왜 controllerMap.get(requestURI).process(request, response) 가 될 수 없는지 궁금합니다. 이미 new로 인스턴스가 생성된 상황일텐데 왜 ControllerV1 타입으로 옮겨담는건가요? MemberFormControllerV1.java 가 implements ControllerV1 를 상속받으니 반드시 ControllerV1 타입으로 만들어줘야 하는것인가요? 여기서 인터페이스의 사용 목적은 중복되는 코드를 줄이기 위함인가요? 이해가 부족해서 죄송합니다 ㅠ 인터페이스의 사용목적이 이해가 잘 가지 않습니다 ㅠ
9강에서 h2데이터 베이스에 자연스럽게 저장이 되는것으로 연결이 되는데 CrudRepository를 사용할 경우 h2데이터 베이스로 자옫적으로 연결이 되는건가요? 아니면 h2데이터베이스의 경우는 콘솔의 역할만 하고 기본적으로 jdbc서버에 생성된 데이터베이스에 접근하는 방식인건가요?