묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
_app.js 랑 _documnet.js 정확히 이해가 안갑니다.
강의 _app.js 와 Head 부분 듣고 있는데 이해가 안가서 멈추고 구글링하다가 질문글 남깁니다. 제가 이해한 내용을 이렇습니다. _app.js은 next.js에서 내부적으로 인식하는 컴포넌트 입니다. pages폴더 내부에 _app.js 파일을 작성하면 가장먼저 _app.js를 호출하게 됩니다. _app.js는 자체에서 라우팅이 적용되고 초기에 localhost:3000으로 들어갈 경우 경로가 '/' 이니까 index.js 의 retrun 값을 Component라는 props로 받습니다. localhost:3000/profile 로 라우팅 될 경우 profile.js의 리턴값을 Component라는 props로 받습니다. 즉, _app.js는 공통적으로 페이지에 레이아웃을 적용할 때 사용 합니다. ----- _document.js 역시 next에서 인식하는 컴포넌트로 _document.js => _app.js순서로 동작하고 pages 내부의 모든 페이지 컴포넌트의 html의 공통적으로 적용되는 부분을 커스텀한다. _document.js가 리액트에서 index.html 같은 역할이고 _app.js는 client.jsx 하는 부분이랑 비슷한 것 같은데 _document.js에 _app.js를 렌더링한다? 이렇게 이해하는게 맞나요 정확히 이해가 잘 안가는데 혹시 제가 틀린 부분 있거나 보충설명 해주실 수 있으면 부탁 드립니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
문자열 탐색 문제 중에서 문자열 압축 문제 이렇게 풀어봐도 괜찮을까요?
function solution(str) { let answer = ""; for (let i = 0; i < str.length; i++) { let first = str.indexOf(str[i]); let last = str.lastIndexOf(str[i]); if (first === last) answer += str[i]; else { answer += str[i] + String(last - first + 1); i = last; } } return answer; } let str = "KKHSSSSSSSE"; console.log(solution(str)); 강사님은 cnt증가하는 방식으로 하셨는데 indexOf()와 lastIndexOf()를 이용해서 구해도 괜찮은건지 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
java_home 환경변수 설정해놨던 경로와 cmd창에서 java -version을 확인할때 나오는 경로가 달라요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]이 경우에 어떻게 두 경로를 맞춰야하나요? 윈도우10 사용중이고 8버전과 11버전이 둘 다 설치되어있는 상태였습니다. 빌드시 자꾸만 버전 오류가 나서 8버전을 아예 삭제했더니 이번엔 자바 파일을 찾을 수 없다고 나옵니다 ㅠㅠ
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
강의에서 나온 build.gradle(project)와 제 build.gradle 코드가 달라요
// Top-level build file where you can add configuration options common to all sub-projects/modules.plugins { id 'com.android.application' version '7.1.0' apply false id 'com.android.library' version '7.1.0' apply false id 'org.jetbrains.kotlin.android' version '1.5.30' apply false}task clean(type: Delete) { delete rootProject.buildDir } 저는 build.gradle가 이 코드들 밖에 없는데 혹시 이 상태에서는 어떻게 해줘야 하는지 알 수 있을까요?
-
미해결스프링 핵심 원리 - 기본편
해시맵 질문있습니다!
이부분에서 혹시 해시맵을 쓰지않고 맵을 쓰는이유가 궁금합니다. private static Map<Long, Member> store = new HashMap<>();
-
미해결스프링 프레임워크 입문
자바1.8버전으로 설치 후,boot-run실행시 오류
자바버전 강의대로 확인후, 인텔리제이 커뮤니티을 받고, java버전 설정을 했습니다. workspace폴더를 만들고 그 안에 프로젝트를 넣었고, 인텔리제이로 받은 후, 메이븐 스프링부트 런 실행시, 아래와같은 에러가 뜨네요ㅜ io/spring/javaformat/eclipse/jdt/jdk11/internal/formatter/DefaultCodeFormatter has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 11버전 클래스파일로 부터 컴파일되었고, 이 클래스는 8버전으로 부터 인식되어야한다? 라는 에러가 찍힙니다..버전설정은 강의대로 한 것 같은데, 어디를 더 체크 해보면될까요??ㅜ
-
미해결8명의 비전공자는 어떻게 개발자로 취업했을까
독학하고있는 학생인데요 질문이있습니다...
학원 안다니고 인터넷강의로 독학을 10개월정도 하고있는데요,여러 인터넷 강의를 통해서 문법,라이브러리, 프레임워크를 열심히 공부하면서 오픈 apis 활용해서 몇개의 개인프로젝트도 만들어보고 현재 프론엔드로 취업준비중인데요... 결국 학원을 다녀야만 취업이 가능한건가요,,,??...
-
미해결Kotlin으로 개발하는 Spring Boot Web MVC
FieldError로 형변환을 하는 이유는 무엇인가요?
안녕하세요. 강의 잘 보고 있습니다. val field = it as FieldError 부분을 볼 수 있습니다. 혹시 여기서 형변환을 하는 이유는 무엇인가요?
-
미해결스프링 핵심 원리 - 기본편
인스턴스와 의존관계 맺는다는것 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 1. 앞 강의에서 의존관계를 맺는다는 것은 "그 대상을 알고 있는 상태" 라고 설명해 주셨는데요, 그래서 이것을 코드레벨로 생각하면 구현체와 의존관계를 맺는다는 것은 해당 구현체를 참조하는 상태로 볼 수 있었습니다. 그렇다면 인터페이스와의 의존관계는 해당 인터페이스 형 참조변수를 선언하고 있다면 (강의 내용처럼) 의존관계가 맺어진것 으로 보는것이 맞는지 궁금합니다. 2. 또한 앞 클라이언트와 서버 간주 질문의 답변 처럼, 클라이언트와 서버는 고정된 역할이 아니라 요청과 응답의 관점에 따라 달라지는 것으로 이해하였는데요, 그렇다면 이런 상황에서 OCP와 DIP를 지킨다는 것은 모든 관점에서 가능한 클라이언트들의 코드를 전부 변경하면 안되는것이 맞는지 궁금합니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
로그인 토큰으로 구현시 질문..
안녕하세요 제로초님 jwt토큰으로 로그인을 구현할때 a. 클라이언트에서 매 요청 마다 액세스토큰 만료기한 검사를해서 만료됬거나 만료시간이 가까워지면 리프레쉬토큰을 헤더에 담아서 요청하여 새로 운엑세스 토큰을 받는 로직과 b. 서버에서 만료기한 검사를하여 만료기한이 넘어갔다면 에러 코드를 보내고. 클라이언트에서 해당 에러코드를 받았을 때 새로운 액세스토큰을 발급하는 api요청을 하고서 실패했던 api를 재요청하는 로직이 있는데 1. 위 두가지의 방법에서 제로초님이 더 선호하시는 방법은 무엇인가요?? 2. 각 방식의 장단점이 보이기는 하는데.. a. 방식은 매 요청마다 토큰 만료기한을 검사하는 로직이 실행되는게 단점으로 보이는데 요게 성능에 문제가 되는 부분일까요?? 3. 로그인된 상태에서 리프레쉬토큰도 만료되면 새로 발급받는 건가요?? 리프레쉬토큰이 만료되어 갑자기 로그아웃되는 상황이 발생하여 사용성에 안좋을거같은데 또, 이렇게 한다면 리프레쉬토큰은 로그아웃하지 않는한 영구히 보존되는거라 다른 조치가 필요하지 않을까 싶어서 어떻게 활용하는지 궁금합니다. 4. 로컬스토리지로 토큰을 보관하였을때 문제가 로컬스토리지는 만료기한이없고 로그아웃 또는 직접 삭제하지 않는한 영구히 보존되는걸로 알고있는데 로컬스토리지로 보관하는 방법으로는 모든 브라우저창이 닫힐때 로그아웃처리(로컬스토리지 데이터삭제)를 구현을 못하는건가요?? 5. 쿠키에 httpOnly를 적용하면 프론트서버에선 접근이 가능하다고 말씀해주셨는데 리엑트로 프로젝트를 진행한다면 프론트엔드 코드에서는 접근할수가 없던데 맞나요!? 항상 감사합니다 제로초님!
-
미해결초보자도 만들 수 있는 스크롤 인터렉션. 1편 자바스크립트
새로고침 했을 때 페이지 이동
안녕하세요 수업 듣다가 궁금한 점이 생겨 질문 드립니다. 새로고침 했을 때 새로고침 하기 전의 화면이 나타나는게 아니라 위로 이동하던데 왜 그런건가요??
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Material강의 질문입니다!
input강의때 되던 키입력이 Material 강의를 다 따라하고 나서 컴파일을 할때 키입력이 적용이 안되는데 어떤 부분이 변동되어서 물체가 안움직이게 되는건지 궁금합니다!
-
미해결
매일 특정 시간마다 반복하고 싶습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. import datetime을 한 다음, 매일 아침 9시에 if 구문이 돌아가도록 코딩을 하고 싶어서 저리 코딩을 했습니다! 여기서 now = datetime.datetime.now()로 위에 미리 해놨습니다. 그래서 오늘 돌려보니, 아침 9시에 잘 실행이 되었는데, 오늘 18시에도 저 if 구문이 돌아갔습니다,, 제가 혼자 고민해보았을 땐 9시와 18시 뭔가 9시간 차이라는 점 말고는 의심되는 부분이 없고, 잘 모르겠어서 질문 남깁니다 ㅠ 제가 datetime 함수에 대해 잘못 이해한 것일까요??
-
미해결[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발
5분 40초 쯤
post는 다 : N 으로 가져오면 된다고 하셨는데 id 로 1개만 가져오니까 다 : 1 로 가져와야 하는거 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Lazy 엔티티 접근시 Where In 쿼리 발생 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님 강의 잘 듣고 있습니다. 강의목차 API 개발 고급 - 지연로딩과 조회 성능 최적화(간단한 주문조회 V2)에서 API 호출 후 람다식에서 DTO 맵핑시 LAZY 엔티티인 Member와 Delivery 접근할때 Where id 방식이 아닌 Where in 방식으로 쿼리 로그가 남겨지는데요 . where in으로 로그가 발생하여 1+N+N은 발생하지 않고, 1+1+1 이런식으로 발생하는 것 같습니다. 원인을 파악하지 못하여 질문드립니다 감사합니다
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
팩토리얼 함수 관련해서 질문드립니다!
정말 별건 아닌데 제가 워낙 기초가 없어서 질문드립니다.. 팩토리얼 함수 짜실 때 *=가 무슨 뜻인가요?ㅠ for (int num = 1; num <= n; num++) { ret *= num; }
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
3:00분 질문, 11:20초 질문
1. SpinLock이 구현이되어있는것을 사용하시면 된다고 하셨는데 bool _lockTaken = false; _lock.Enter(ref _lockTaken); 을 해주게되면 _lockTaken 이 false일 경우에는 ( == 아무도 자물쇠를 안잠군 상태이다) Enter가 true를 _lockTaken 이 true일 경우에는 ( == 누군가 자물쇠를 잠구었다) Enter가 false를 반환하는 것인가요? 2. 왜 Reward 클래스를 찾는 함수안에서 보상 아이템을 추가한다고 해서 lock 키워드를 저기서 사용을 하는지 잘 이해가 가지않습니다...
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
유니티에서 사용되는 싱글톤 질문입니다.
현재 언리얼 강의 수강후, 유니티 강의도 수강 중입니다. 이번 유니티 강의를 완강 후에 개인적으로 느낀 것인데, (?) 뭔가 배울 코드가 많은 건 유니티 강의 쪽이었던 것 같습니다. 물론 언리얼 강좌가 현재 미완성이라는 건 알고 있습니다. 다만 루키스 강사님 강좌 말고 다른 언리얼 강좌를 봐도, 이번 유니티 강좌처럼 ~Manager 같은 걸 만드는 내용이 별로 안 나오더군요. 솔직히 강의 따라 Manager를 만들면서, 프레임워크라고 해야 하나? DataManager든, Resource매니저든, SpawningPool 이런걸 만들때 시야를 넓게 보는 감각이 있던게 상당히 새로웠습니다. 유니티에서는 하나하나씩 쌓아올린다는게 이런건가 싶더군요. 그런데 제가 미숙해서 그런건지 모르겠지만, 혹시 언리얼에서도 이렇게 매니저 같은걸 만들어서 프레임 워크를 짜는 경우가 많을까요? 아니면 이미 언리얼쪽은 Actor든, GameMode든, 여러 코드들이 완성되어 있어서 굳이 짤 필요가 없는 건가요. 언리얼은 이미 완성된 틀에서 코드를 작성한다~ 이런 느낌의 말을 얼핏 기억하고는 있는데, 뭔가 알것 같으면서도 잘 모르겠습니다. 대충 언리얼의 GameInstance가 이번 강의에서 나온 싱글톤 역할을 하는거 같은데, 그러면 언리얼의 GameInstance에서도 이번 강의에서 배운 매니저들을 엮어도 되는 걸까요?
-
미해결디파이 킹덤 P2E(Play to Earn)로 투잡하기
p2e 모델에 대한 궁금증
p2e 모델이 일종의 에어드랍으로 보이는데요 1. p2e를 도입한 게임사 입장에서는 어떻게 수익을 버는지 주수익원은 무엇인지 2. 보상으로 준 아이템이나 토큰이 어떻게 소각하는지 즉 경제가 어떻게 순환되는지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
참조와 주소 전달의 크기 확인방법
struct StatInfo { int hp; int attack; int defence; }; int main() { StatInfo info; info.hp = 100; info.attack = 5; info.defence = 1; PrintInfoByRef(info); PrintInfoByPtr(&info); } void PrintInfoByRef(StatInfo &info) { cout << "size is :" << sizeof(info) << endl; } void PrintInfoByPtr(StatInfo* info) { cout << "size is :" << sizeof(info) << endl; } 주소 전달 방식과 참조 잔달방식 모두 8바이트(64bit환경) 크기만큼을 매개변수로 전달한다고 설명을 해주셔서 해당 부분을 위 코드를 사용해 확인을 해봤습니다. 그런데 주소 전달방식의 경우 8바이트가 맞게 나오지만 참조 전달방식의 경우 구조체의 크기(12바이트)로 확인이 됩니다. 그리고 각 함수들에 전달되는 매개변수의 메모리를 확인해봐도 주소 전달방식의 경우 구조체의 주소값을 가지고 있었지만 참조 전달방식의 경우 구조체의 첫번째 값(위 예제에서 int hp)을 가르키고 있었습니다. 어찌보면 당연하게도 값 전달방식과 동일하게 main함수에서 구조체 객체를 매개변수로 넘겨주기 때문에 그럴 수 있지만 강의에서 설명해주신 메모리의 크기가 확인이 안되니 납득이 어렵습니다. 강의에서 설명해주신 참조와 주소 전달의 크기가 8바이트라는것을 어떻게 확인할 수 있을까요? 참조와 주소 전달 방식 각각을 어셈블러를 까면서 확인하는 과정을 강의에 포함해 설명해주셔서 내부적으로 동작하는 방식을 눈으로는 알겠지만 각각의 크기를 눈으로 직접 확인하기 어려워 뭔가 상충되어 이해되는 느낌입니다....