묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
DI, IOC 등 모든 개념들이 API를 끌어다 쓸때 개념이죠?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. API 즉, 프레임워크를 불러다 사용시인터페이스의 의존해서 해당 라이브러리들을 당겨와서 사용하더라구요. 즉, IOC, DI 그리고 컨테이너 개념들은 pom.xml에 주입되어 사용되는 모든 도구, 엔진 들은 프레임워크 처럼 나 자신이 주도권을 가지는 것이 아니라 대부분 대신 해주죠?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
엔티티 - 비즈니스 로직 stockQuantity 질문있습니다!
=====================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]상품 엔티티 개발(비즈니스로직) 강의엔티티 내에서 stockQuantity와 관련된 로직이 함께 있어 응집성이 높아짐 + 캡슐화에 부합 -> 관리하기 좋음 이렇게 이해를 했습니다.여기서 질문이 객체지향원칙 SOLID - SRP 단일책임 원칙에 의해 클래스는 하나의 변경 이유만 가져야 한다. 에서 비즈니스 로직을 추가함으로써 SRP 원칙을 위배한거라고도 볼 수 있을까요?맞다면 객체지향원칙 - SRP원칙을 위배했지만 좋은 코드 같긴한데 위 사례에서는 객체지향적 설계로 완벽하다고는 볼 수 없는건가요?객체지향 원칙을 굳이 무조건 따르지 않고 유연하게 코드 개발을 해나가는게 좋을까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
List 타입 에러
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'List<IModelWithId>' is not a subtype of type 'List<RatingModel>?' of 'data' #0 CursorPagination.copyWith (package:codefactory_lecture/common/model/cursor_pagination_model.dart:28:14) #1 Pagination.paginate (package:codefactory_lecture/common/provider/pagination_provider.dart:91:22) <asynchronous suspension>이건 디테일 스크린에서 rating을 fetchmore로 더 불러올때 나는 에러입니다.[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: type 'List<IModelWithId>' is not a subtype of type 'List<RestaurantModel>?' of 'data' #0 CursorPagination.copyWith (package:codefactory_lecture/common/model/cursor_pagination_model.dart:28:14) #1 Pagination.paginate (package:codefactory_lecture/common/provider/pagination_provider.dart:91:22) <asynchronous suspension>그리고 이건 restaurant_screen.dart에서 쭉 내려서 데이터를 더 불러오려고 할 때 에러입니다. 둘 다 비슷한 에러입니다. state = resp.copyWith(data: [ ...pState.data, ...resp.data, ]);페이지네이션 코드 중 이 부분에 문제가 있었고, CursorPagination copyWith({ CursorPaginationMeta? meta, List<T>? data, }) { return CursorPagination<T>( meta: meta ?? this.meta, data: data ?? this.data); }여기서 List<T>? data의 타입이 맞지 않는 것 같습니다. 데이터 타입이 알맞게 각각 들어가야 할텐데, 자꾸 List<IModelWithId> 타입이 들어가는 거 같아요... 어느 부분을 고쳐야 할까요?
-
해결됨홍정모의 따라하며 배우는 C언어
9분 48초 (*(parr + 1))[1] 이게 이해가 잘 안되네요
(*(parr + 1))[1]을 제가 해석해보자면parr은 arr0을 가리킨다. 거기에 1을 더하면 arr1을 가리키게 된다.거기에 *를 붙이면 arr1이 가리키는 arr1[0]을 가리키게 된다.여기에 [1]를 붙이면? arr1[0][1]을 가리키게 되나? 아니면 arr1[1]을 가리키게 되나? 아니면 arr1[1]이 되나?출력값이 5인걸 보면 맨 오른쪽인것 같은데(*(parr + 1))은 &arr1[0]이고 거기에 [1]을 붙인다는 게 정확하게 무슨 뜻 인가요?어떤 식으로 작동하는건지 이해가 잘 안되요. parr[0]은 &arr0[0]이고parr[0][0]은 arr0[0]이다.라는 것과 비슷하게 작동하는 건가요? 항상 좋은 답변 감사합니다.
-
해결됨독하게 시작하는 C 프로그래밍
주소끼리 뺄셈
안녕하세요 널널한 개발자님 강의를 듣고 있는 초보자 수강생입니다.강의를 듣던 중 궁금한 사항이 있어 질문드립니다.아래에서와 같이 pszData와 szBuffer는 주소인데 pszData-szBuffer처럼 주소끼리의 뺄셈이 원래 가능한건가요? 답변 부탁드리겠습니다.
-
미해결
Django Serializer create(**validated_data) 질문
class SignUpSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('__all__') extra_kwargs = {"password": {"write_only":True}} def create(self, validated_data): user = User.objects.create(**validated_data) user.set_password(validated_data['password']) user.save() return user저는 위와 같이 회원가입 API를 만들었는데Direct assignment to the forward side of a many-to-many set is prohibited. Use groups.set() instead.이런 오류가 뜹니다... 다른 방식으로def create(self, validated_data): if User.objects.filter(username=validated_data['username']).exists() or User.objects.filter(email=validated_data['email']).exists(): raise serializers.ValidationError('username 존재 or email 존재') else: user = User.objects.create( username=validated_data['username'], nickname=validated_data['nickname'], email=validated_data['email'], gender=validated_data['gender'], age=validated_data['age'] ) user.set_password(validated_data['password']) user.save() return user이렇게 만들었더니 오류가 안뜨더라구요. 두 차이가 뭔지 궁금합니다.ManytoManyfield는 사용하지도 않았는데 저런 이유가 뜨는 이유도 모르겠습니다...ㅜ
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
별거 아니긴 한데 nest-cli 로 만들때
nest cli로 resource 만들때 경로를 / 넣어주면 아래에 바로 생성 됩니다.nest g resource posts/comments이렇게 하면 posts폴더 아래에 comments가 생깁니다!
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
회원가입 중복관련 질문있습니다.
회원가입을 성공시키고 나서 다시들어가면 라우팅이 메인화면에 가져서 회원가입을 하면 signUpDone이 true가 되었다가 false로 변경시켯는데 여기서 같은 아이디로 가입을 하게되면 제로초님이 403에러 뜨게 하신거 처럼 백엔드 작업을 해놓고 같은 아이디로 가입을 햇는데 403에러까지는 정상적으로 나오는데 403에러면 rejected가 실행이 되야 되는거 같은데 fulfilled가 실행이 됩니다. 콘솔 화면에는 정상적으로 에러가 낫다라는게 나오는데도요... 이유를 알수 잇을까 싶습니다.콘솔에 나오는 것은 아래 이미지구제 리덕스툴킷 코드는 아래와 같습니다.import { createAsyncThunk,createSlice } from "@reduxjs/toolkit"; import * as I from "types" import { authAxios, baseAxios } from "utils/instance"; interface UserInitialState { // 회원가입 signUpLoding: boolean; signUpDone: boolean; signUpError: null | undefined | string; resetSignUpDone: boolean; } const initialState: UserInitialState = { // 회원가입 signUpLoding: false, signUpDone: false, signUpError: null, resetSignUpDone: false, }; // 회원가입 export const signUp = createAsyncThunk("user/signup", async (data:I.SignUp) => { const response = await baseAxios.post("/user", data); return response; }); const UserReducer = createSlice({ name: "user", initialState, reducers: { resetSignUpDone:(state)=>{ state.signUpDone = false } }, extraReducers: (builder) => builder // 회원가입 .addCase(signUp.pending, (draft) => { draft.signUpLoding = true; draft.signUpError = null; draft.signUpDone = false; }) .addCase(signUp.fulfilled, (draft) => { draft.signUpLoding = false; draft.signUpDone = true; }) .addCase(signUp.rejected, (draft, action) => { draft.signUpLoding = false; draft.signUpDone = false; draft.signUpError = action.error.message; }), }); export const { resetSignUpDone } = UserReducer.actions; export default UserReducer
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
22분 52초까지 진행하던 중 Faild to Find 오류가 나왔습니다
분명 파일에 있는 경로를 참조하여 붙여넣기 했는데 왜 이러는걸까요? #include "Character/ABCharacter.h" #include "Components/CapsuleComponent.h" #include "GameFramework/CharacterMovementComponent.h" // Sets default values AABCharacter::AABCharacter() { // Pawn bUseControllerRotationPitch = false; bUseControllerRotationYaw = false; bUseControllerRotationRoll = false; // Capsule GetCapsuleComponent()->InitCapsuleSize(42.f, 96.0f); GetCapsuleComponent()->SetCollisionProfileName(TEXT("Pawn")); // Movement GetCharacterMovement()->bOrientRotationToMovement = true; GetCharacterMovement()->RotationRate = FRotator(0.0f, 500.0f, 0.0f); GetCharacterMovement()->JumpZVelocity = 700.f; GetCharacterMovement()->AirControl = 0.35f; GetCharacterMovement()->MaxWalkSpeed = 500.f; GetCharacterMovement()->MinAnalogWalkSpeed = 20.f; GetCharacterMovement()->BrakingDecelerationWalking = 2000.f; // Mesh GetMesh()->SetRelativeLocationAndRotation(FVector(0.0f, 0.0f, -100.0f), FRotator(0.0f, -90.0f, 0.0f)); GetMesh()->SetAnimationMode(EAnimationMode::AnimationBlueprint); GetMesh()->SetCollisionProfileName(TEXT("CharacterMesh")); static ConstructorHelpers::FObjectFinder<USkeletalMesh> CharacterMeshRef(TEXT("/Script/Engine.SkeletalMesh'/Game/Characters/Mannequins/Meshes/SKM_Quinn_Simple.SKM_Quinn_Simple'")); if (CharacterMeshRef.Object) { GetMesh()->SetSkeletalMesh(CharacterMeshRef.Object); } static ConstructorHelpers::FClassFinder<UAnimInstance> AnimInstanceClassRef(TEXT("/Game/Characters/Mannequins/Animations/ABP_Quinn.ABP_Quinn")); if (AnimInstanceClassRef.Class) { GetMesh()->SetAnimInstanceClass(AnimInstanceClassRef.Class); } }
-
미해결CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조
#4 .CRUD 실습 강의가 조인의 설명으로 나옵니다.
저만 그런가요? ;ㅁ;
-
해결됨자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
api응답을 어떤 식으로 하면 좋을까요?
강의를 보고 혼자서 api를 만들어보고 있습니다.강의 회원 가입 예제api는 void로 별도의 응답을 하지 않았는데 보통은 어떤 식으로 하나요?[{"success" : "true"}]이런 식으로 나마 응답 값을 주는게 맞을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
라우팅관련질문입니다.
회원가입에 성공을 한다 라고 하면 메인페이지로 이동하게 되는데 이상태에서 다시 회원가입페이지로 들어가려고 하면 signUpDone이라는 애가 true를 기억을 하고 잇어서 회원가입페이지에 머무는것이 아니라 다시 메인페이지로 들어가지는데 처음에 회원가입성공을 시키고 나서 signUpDone의 값을 다시 초기화 시켜야 되는거겟죠?
-
미해결비트코인 알고리즘 트레이딩 봇 개발
데이터수집하기 오류
실행하면 해당 오류 발생합니다. requests2.25.1 입니다
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
요약 정리 파일
혹시 선생님이 코드 치시는 부분 말고 요약 정리 하신 부분은 따로 파일이 없는 건가요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨홍정모의 따라하며 배우는 C++
단항 연산자 오버로딩 방법에 대해 질문있습니다.
9.1 산술 연산자 오버로딩하기 강의에서는 연산자 오버로딩을 멤버 함수, friend 함수, 전역 함수로 구현하는 방법을 각각 알아봤었습니다. 그런데 이번 강의의 단항 연산자 오버로딩은 멤버함수로만 구현하고 전역 함수로 구현하는 내용이 없어 스스로 시도해보았습니다.https://learn.microsoft.com/en-us/cpp/cpp/overloading-unary-operators?view=msvc-170위 링크의 아래 내용을 참고하여 작성해 보았습니다.To declare a unary operator function as a nonmember function, use this declaration form:return-type operator op ( class-type ); class Cents { private: int m_cents; public: Cents(int cents) { m_cents = cents; } int getCents() const { return m_cents; } int& getCents() { return m_cents; } friend std::ostream& operator << (std::ostream& out, const Cents& cents) { out << cents.m_cents; return out; } }; // 비멤버 함수로 오버로딩 Cents operator -(const Cents& cents) { return Cents(-cents.getCents()); } int main() { Cents cents1(6); cout << cents1 << endl; cout << -cents1 << endl; // 6 // -6 return 0; }테스트는 잘 되더라구요. 이렇게 하는 것이 맞나요?
-
미해결FreeRTOS 프로그래밍
FreeRTOS 사용시 us 단위의 측정이 가능한가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요? 기존에 STM32F405를 사용하여 함수의 수행시간을 측정할때 us 단위의 측정이 가능했습니다. 사용 클럭은 168MHz이고, SysTick->LOAD 레지스터에 168값을 넣으면 168번 카운트가 들어갈때마다 SysTick 인터럽트가 발생해서 1us 주기의 측정이 가능했습니다. 그런데 FreeRTOS를 사용할때 보면 FreeRTOSconfig.h에서 configTICK_RATE_HZ 에 1000 디폴트값으로 사용하는 것을 확인했습니다. 1KHz 주기이므로, 1ms단위의 측정이 가능합니다. 이값을 1MHz까지 올리게되면 FreeRTOS 디버그 모드에서 동작을 하지 않더군요. FreeRTOS가 올라가면 1us단위의 측정이 불가능한가요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
zip 메서드를 활용해서 view 제목 및 작성자 불러오기
안녕하세요, 수업 잘 듣고 있습니다. 수업 녹화 당시와 현재와 웹페이지 클래스 명이 달라져서 작성자는 제 생각엔 .user_info 클래스를 사용하는 것 같아 사진과 같이 코드를 작성하고 실행하였으나출력문이 조용(?)합니다. 강의 영상을 보면 게시글 제목과 작성자 명이 함께 나오는데 제 코드는 "검색어를 입력하세요:" 외에 뜨는 출력 문이 없어어떤 것이 문제 인지 문의 드립니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실행오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]<엔티티클래스 개발2>의 6:51부분까지 따라하고 JpashopApplication 을 실행했는데 오류가 뜨네요.Caused by: org.hibernate.type.descriptor.java.spi.JdbcTypeRecommendationException: Could not determine recommended JdbcType for Java type 'jpabook.jpashop.domain.Item.Item'
-
미해결홍정모의 따라하며 배우는 C++
7.15강 2:55 부분
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 2분 55초 부근에서 exe파일에 접근하여 문자열이나 숫자를 입력하는 부분을 보고 있는데혹시 vscode로 하고 있으면 어떻게 해야 하는지 알 수 있을까요?현재 저는 맥으로 하고 있으며, exe파일은 없고 폴더 안에 cpp파일만 있는 상태입니다..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
하이버네이트가 실행되는 오류가 있습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강사님 항상 좋은 강의 잘 보고 있습니다.다름이 아니라, 이번에 강좌에서 프로젝트를 새로 생성하고 테이블을 생성하는 과정에서 다음과 같은 오류가 발생하면서 테이블이 생성되지 않는데 어떤 원인이 때문인 그런 건가요??