묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
OCP 원칙
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.좋은 객체 지향 설계의 5가지 원칙(SOLID)에서 7:39초 부분인데요, MemberService에 MemberRepository m;으로 변수를 선언해놓고 setMemberRepository(m) 메서드를 만들어서 main 메서드 등 외부에서 구현클래스를 할당해주면 MemberService 즉, 클라이언트 코드를 변경하지 않아도 되기 때문에 OCP 원칙을 지킬 수 있는 것 아닌가요? 지킬 수 없다는 것이 잘 이해가 안됩니다.질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결게임 디자인 패턴 with Unity
코드 링크 복사
코드 링크에 있는 코드들 복사가 안되는데 복사가 가능하게 해주시면 공부하느데 좀더 효율적일것같습니다.
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
ServerRPCAttack_Implementation함수가 이해가 안갑니다.
제가 이해한 되로 정리해봤습니다. 다음 사진처럼서버 상에서 모든 캐릭터는 Authority / Autonomous 역할을 갖는다고 이해했는데요. 하지만 코드를 보면 for (APlayerController* PlayerController : TActorRange<APlayerController>(GetWorld())) { if (PlayerController && GetController() != PlayerController) //공격 명령을 내린 클라이언트와 대응되는 서버상의 액터를 제외시킴. { if (!PlayerController->IsLocalController()) { AABCharacterPlayer* OtherPlayer = Cast<AABCharacterPlayer>(PlayerController->GetPawn()); if (OtherPlayer) { OtherPlayer->ClientRPCPlayAnimation(this); } } } } 2번째 if문에서 Simulated Proxy 역할을 서버상에서 찾아서 ClientRPCPlayAnimation를 호출시킨다는게 이해가 안 갑니다. 서버에 Simulated Proxy가 없지 않나요?
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
업데이트 부탁드립니다.
안된다고 하시는 분들이 지금 너무 많습니다 저역시 2주 동안따라해봐도 환경 구성이 되질 않습니다. 지금 따라 하려니깐 되질 않습니다 다운이 받아 지지않는 버전도 있구요 그래서 xampp로 오라클연동하는 방법들을 알려주세요 업로드 해주셔도 감사할것같습니다
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
6강 내용 질문
1개의 콘솔 내용을 입력 했는데 실행값이 나오지 않습니다Extensions에서 Micorsoft 인증 된 걸 다운로드 한 다음 콘솔 내용 입력 후 Enter 대신 Ctrl+F5 눌렀는데 화면 처럼 실행 되는데 제가 설정을 잘못 한 걸 까요?
-
미해결성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]
table view 없음
show library 에 table view가 없는
-
미해결한 입 크기로 잘라먹는 타입스크립트(TypeScript)
영상이 안나오는 것 같아요.
앞 뒤의 각 수업들은 영상이 문제없이 나오는데, 본 강의만 영상이 안보입니다. 핸드북으로 대체되는건지... 혹시 문제가 있는건지 해서 글 남겨둡니다.
-
미해결
3-5 아래링크를 보라고 하시던데 어디있는지 잘 모르겠습니다
열심히 수강하고 있었는데 막혀서 스피드가 깨졌어요 ㅠㅠ
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
[강의명: virtual 소멸자] 자식 클래스의 소멸자에도 virtual 을 붙이시는 이유가 궁금합니다
#include <iostream> using namespace std; class Player { public: Player() { cout << "Player()" << endl; } virtual ~Player() { cout << "~Player()" << endl; } }; class Pet { }; class Archer : public Player { public: Archer() { cout << "Archer()" << endl; _pet = new Pet(); } virtual ~Archer() { cout << "~Archer()" << endl; delete _pet; } public: Pet* _pet; }; int main() { Player* archer = new Archer(); delete archer; } 영상 내용에서 자식클래스의 소멸자에도 virtual 을 붙이셨는데 부모 클래스의 소멸자에만 붙여도 자식 클래스의 소멸자가 잘 호출이 됩니다. 그래서 GPT를 통해 둘 다 붙이는게 좋은지 부모 클래스에만 붙이는게 좋은지 질문해봤는데 부모 클래스에만 붙여도 문제가 없다고 답변을 받았습니다. 근데 루키스님께서 둘 다 붙이는 이유가 분명 있으실탠데 그 이유가 궁금합니다.
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
인텔리제이 테마, 플러그인
지역변수, 메서드 이름, 파라미터 색이 셋 다 다르게 나오던데우빈님 인텔리제이 테마가 궁금합니다그리고 어떤 플러그인이 설치되어있는지도 궁금합니다폰트랑 사이즈 등등 그냥 설정정보 다 알고싶습니다.
-
미해결스프링 부트 - 핵심 원리와 활용
저만 강의 이상한가요;;
앞부분이 강사님 싱크랑 하나도 안 맞는데...?화면이랑 음성내용이랑도 안 맞구요..................ㅜㅜ
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃 권한 요청드립니다
인프런 아이디: izim0522인프런 이메일:izim0522@naver.com깃헙 아이디: izim5223@gmail.com깃헙 username: junse11입니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
윈도우에서 아이폰 화면 보기
선생님 혹시 윈도우 환경에서는 디바이스 매니저 실행하고상단 select device에서는 웹,모바일,데스크톱 이렇게 밖에 없는데 윈도우에서는 아이폰 화면 못보는건가요?선생님처럼 ios 환경에서만 안드로이드 화면을 볼수있는건지요api 34 사용중입니다
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 화면 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]문제:강의를 진행하다가 index.html의 코드를 바꾸고 서버를 재시작해도 적용이 안되는 현상이 발생발생 오류:발생한 오류 코드는 o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header 등등해결 방법:크롬 브라우저의 인터넷 사용 기록 삭제후 해결
-
해결됨아바타 커뮤니티앱 만들기 (React Native Expo)
공통 인풋 컴포넌트 구현하기에서 variant가 계속 빨간색 오류뜨는데요;
import React from 'react'; import { colors } from "@/constants"; import {StyleSheet, TextInput, View,Text, TextInputProps} from 'react-native'; interface InputFieldProps extends TextInputProps{ label?:string; variant?: "filled" | "standard" | "outlined"; } function InputField({label, variant = "filled", ...props }: InputFieldProps) { return ( <View> {label && <Text style={styles.label}>{label}</Text>} <View style={[styles.container, styles[variant]]}> <TextInput style={styles.input} {...props} /> </View> </View> ); } const styles = StyleSheet.create({ container:{ height:44, borderRadius:8, paddingHorizontal:10, justifyContent:"center", alignItems:"center", }, label:{ fontSize:12, color: colors.GRAY_700, marginBottom:5, }, filled:{ backgroundColor: colors.GRAY_100, }, standard: {}, outline: {}, input: { fontSize:16, padding: 0, flex:1, }, }); export default InputField; 도와주세요,,선생님 ㅠㅠ
-
미해결
멀티 스레드 테스트 문제
안녕하세요 선생님들 도움을 요청 하고자 질문글을 올립니다.멀티 스레드 테스트 중 문제가 발생 했습니다.서칭을 해보아도 문제 해결을 할 수 없어서 질문 드립니다. 멀티 스레드 모임 참가 테스트를 위해 테스트 코드를 짯습니다.트랜잭션 어노테이션이 있을 경우 무한 대기에 빠지고 밑의 예외가 발생 합니다.이상한점은 트랜잭션 어노테이션이 없거나 H2 DB 테스트를 하면 문제가 없습니다.완성된 테스트도 H2 데이터 베이스는 통과 하지만 MySql 테스트를 하면 똑같이 무한 대기후예외가 발생합니다. 이유가 뭘까요 ㅠㅠ 힌트라도 주시면 감사합니다.void joinEventWhenParticipateAtTheSameTimeWithConcurrency() throws Exception { //given int taskCount = 5; ExecutorService executorService = Executors.newFixedThreadPool(5); CountDownLatch countDownLatch = new CountDownLatch(taskCount); Event findEvent = executorService.submit(() -> eventRepository.save(createEvent("테스터", "테스트 모임", 3))).get(); executorService.shutdown(); } java.util.concurrent.ExecutionException: org.springframework.dao.PessimisticLockingFailureException: could not execute statement [Lock wait timeout exceeded; try restarting transaction] Caused by: org.springframework.dao.PessimisticLockingFailureException: could not execute statement [Lock wait timeout exceeded; try restarting transaction] @DisplayName("5명의 회원이 동시에 최대 인원이 3명인 모임에 참가 할때 3명만 참여 할 수 있다.") @Test void joinEventWhenParticipateAtTheSameTimeWithConcurrency() throws Exception { //given int taskCount = 5; ExecutorService executorService = Executors.newFixedThreadPool(5); CountDownLatch countDownLatch = new CountDownLatch(taskCount); Event findEvent = executorService.submit(() -> eventRepository.save(createEvent("테스터", "테스트 모임", 3))).get(); List<User> users = executorService.submit(() -> Stream .generate(() -> { User user = createUser("테스터", "testEmail"); userRepository.save(user); return user; }) .limit(taskCount) .toList()).get(); //when AtomicInteger exceptionCount = new AtomicInteger(0); for (User user : users) { executorService.submit(() -> { try { eventService.joinEvent(findEvent.getId(), user.getId()); } catch (BusinessException ex) { exceptionCount.incrementAndGet(); } finally { countDownLatch.countDown(); // 카운트다운 } }); } countDownLatch.await(); Long participateCount = executorService.submit( () -> userEventRepository.countParticipantByEventId(findEvent.getId())).get(); executorService.shutdown(); //then assertThat(participateCount).isEqualTo(3); assertThat(exceptionCount.get()).isEqualTo(2); }
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
supabse 연결 불가
npx prisma db push명령어 실행시, 아래와 같은 오류가 발생합니다. Error: P1001: Can't reach database server at aws-0-ap-northeast-2.pooler.supabase.com:`5432`.env 파일 루트 경로에 생성DATABASE_URL, DIRECT_URL 오타 없이 알맞게 입력위의 두 조건 모두 만족하고 있는데,왜 이런 오류가 발생하는 걸까요? 추가로,가이드에 따라 supabase에서 생성한 db가현재 활성화 상태이거나 running상태인지 어떻게 알 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
조회 시 Entity를 뿌리는 것 아닌가요 ?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]view 계층과 주고 받을 때는 dto로 주고 받아야 하니 들어올 때 form을 사용했는데, 지금처럼 em.createQuery("select i from Item i", Item.class).getResultList(); 이런 repo 코드를 정제없이 그대로 return 해주는 경우 Entity를 직접 전달하고 있는 것 아닌가요 ??잘못 이해하고 있는 부분에 대해 짚어주시면 감사하겠습니다.만약 잘 이해하고 있고, 예제라서 이렇게 처리한 것이라면, 정제하는 과정이 서비스 단에서 일어나는게 좋을까요 ? 컨트롤러 단에서 일어나는게 좋을까요 ?
-
미해결홍정모의 따라하며 배우는 C++
static int가 아닌 int로도 메모리 주소가 계속 같습니다.
안녕하세요? 수업시간에 static int와 int의 차이에 대해서 설명을 해주셨습니다. 저도 int a와 static int a를 통해서 값 변화를 확인했고요. 그런데 메모리를 계속 새로 할당받으면 메모리 주소가 바뀔 것이라고 생각해서 &a를 통해서 확인해보려고 하는데, int a로 해도 메모리 주소가 계속 같습니다. 혹시 제가 생각한 방향이 잘못된 것인지 여쭤보고 싶습니다. void doSomething() { int a = 1; // 계속 메모리를 새로 할당받음. a++; std::cout << &a << std::endl; } int main() { doSomething(); doSomething(); doSomething(); doSomething(); } 제 코드에서는 돌렸을 때, 계속 같은 값이 나오고 있습니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
만약 비동기 작업이 완료되었을 때는 넘겨주는 콜백 함수가 없다면 어떻게 되나요?
제가 이해한 내용이 맞는지 궁금하여 질문드립니다! 콜백 함수 없이 비동기 작업을 Web APIs에게 넘겨준다면 비동기 작업이 처리되고 넘겨줄 콜백 함수가 없으므로 아무일도 일어나지 않는다.개발자가 자바스크립트에서 비동기적으로 어떠한 코드를 처리하기 위한 목적으로 비동기 코드와 콜백 함수를 같이 작성한다. 라고 생각해도 될까요?