묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
Primitive는 왜 스코핑할때 모두 비활성화하는 것일까요?
우선 강의를 들어주셔서 감사합니다. 강의 들으시면서 궁금하신 부분을 남겨주세요. 회사 일 관계로 빠른 답변이 어려울 수 있으며, 최대 3일 이내에 답변드리도록 하겠습니다. 이해를 돕기 위해서 스크린샷 이미지, 피그마 파일 링크를 반드시 첨부해주세요. 마지막으로 먼저 유사한 질문이 있는지 한번 찾아보시는 걸 권장 드립니다. 인프런 서비스 운영 관련해서는 1:1 문의하기로 인프런 쪽으로 연락 주시기 바랍니다.
-
미해결게임 개발을 위해 알아야 할 Azure CDN
1강에서 6:37 속도별 메가바이트 측정 방법이 궁금합니다!
1강에서 6:37 속도별 메가바이트 측정 방법이 궁금합니다! 1초당 3MB 정도 나온다고 하셨는데, 혹시 이거는 어떻게 알게 되신건가요?? 그리고 예상시간 6분 30초도 어떻게 아신건지 궁금합니다 -그리고 9:22 초 'CDN 물량계약 시 과금절약' 이 뜻도 궁금합니다 9:19 초 POP 서버 말씀하신 거, 이거 이메일 서버 말씀하시는 게 맞죠 ?? 감사합니다 감사합니다
-
해결됨C# 윈폼_ 응용프로그램 개발
9강 18분즈음 속성값에 Label1Text가 안뜹니다.
여기서 왜 안뜰까요? 인강에서 LabelText label1이라고 뜨는데
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
예상문제
혹시 요번년도 예상문제 20선 한번만 난이도 상으로 만들어주실 수 있나요... 봤던 것ㅂ만 풀어서 그런지 체감을 할 수가 없네요
-
미해결2025 정보처리기사 필기
point 69. 소프트웨어 개발 표준 강의
강의 PPT랑 말하는거랑 싱크가 맞지 않는 것 같습니다. ppt보다 말하는게 더 빠른 것 같습니다.
-
해결됨쉽게 설명하는 AWS 기초 강의
2개 과정이 강의 제목만 다르고, 실제론 똑같은 동영상이에요.
지금 수강중인데요, 176. IAM 정책 고급 177. IAM 정책 구성 요소 위 2개 과정이 강의 제목만 다르고, 실제론 똑같은 동영상이에요.
-
해결됨Airflow 마스터 클래스
강의 수강간 Airflow 버전 문의
안녕하세요 강의 수강중인데 어떤 버전으로 진행하면되는지 문의드리고자.현재 '섹션 2. Airflow 설치' 부분에 '5. 도커&에어플로우 설치'를 강의를 듣고 있습니다. 강의 도입부에 airflow 설치시 2.10.5 버전으로 설치 부탁하셨는데, 강의 중반부에 Airflow 3대 버전으로 영상이 업데이트 완료되어 최신 버전 docker-compose.yaml 로 설치하라고 안내해주셔서요. 어떤 버전으로 강의를 진행하면될까요?
-
미해결생초보를 위한 파이널컷 프로
수강기간연장을 부탁드려도 될까요?
안녕하세요.강의를 다 못들어서 그런데 수강기간연장을 부탁드려도 될까요?
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
Project Setup Step 절차가 나오지 않아요, 테마를 어디서 고르죠?
히 적어줄수록 좋아요!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
26분 자식 this() 3단 체인
역순 호출시 child5(int) 에 int 값 1을 넣어서 출력해야 하는거 아닌가 하고요이미 3번에서 1을 대입 하면 더이상 안쓰는건가요?볼땐 알겠는데 뒤돌아보면 다시 리셋 되네요~ㅠㅠ
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
PayOption
package poly.ex.pay2; public class PayOption { Pay findPay(String option) { //결제 수단 추가시 변경되는 부분. if (option.equals("kakao")) { return new KakaoPay(); } else if (option.equals("naver")) { return new NaverPay(); } else if (option.equals("newPay")) { return new NewPay(); } else { return new DefaultPay(); } } }마지막 강의 실전 문제 중에서 결제 수단 관련 문제입니다.위와 같이 코드를 작성하게 되면 결제 수단이 추가될 때마다 클래스 내부 코드가 변경이 되는데, OCP를 위반한 것 같은데, 왜 이렇게 작성한 것인지 궁금해서 여쭤봅니다.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨GPT + Bitget API로 만드는 실전 자동매매: 나만의 선물거래 봇 완전히 구현
실행이 안 되는 분들을 위한 질문
실행이 안 되서 교수님께 질문을 하러 들어오니 llm에게 문의하라고 적어놓으셔서 문의 후 방법을 공유드리려고 질문 남겨놔요~알아서 하셨을 수도 있지만?1. 모든 코드를 잘 작성하셨는지 체크해보세요2. 초반에 말씀하셨던 install관련 다음 내용을 터미널에 입력한다=> pip install requests=> cursor에서 물어보면서 진행하는데 가상환경으로 만들어서 진행해야하는 경우도 있다고 하니 다들 체크하셔요~ 경험 공유드립니다!P.S. 좋은 양질의 강의 감사합니다. 내일 또 와서 들을게요~ 짬짬이 따라가는 중 입니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
31. 업캐스팅 (부모 형태, 자식 생성자)
제가 제대로 이해한 것이 맞는지 헷갈려서 질문 드려요 ㅠ 부모 자식 클래스 관계에서 super()라는 명시적 호출이 생략되어 있는 거고, 상속 관계에서는 무조건 자식 생성자 생성하기 전에 부모 생성자부터 생성하는 건 이해했습니다.근데 그럼 상속 관계에서 명시적 호출 super()이 아닌, this()라고 선언 해놓았을 경우, 부모 생성자를 생성하지 않고 자식 생성자만 생성하는 건가요? 너무 헷갈리네요 ..
-
해결됨아키텍처와 함께하는 부하(성능) 테스트 with Locust
RPS 개념을 잘모르겠어요
20명을 동시에 테스트 했을 경우 RPS가 API 당4.96, 0.33, 0.18, 0.13, 0.08 등등 숫자가 높을 수록 좋은건가요? 0.08 등 숫자는 왜 나오는건지 이해가 안되요SequentialTaskSet 써서 시나리오 API 순차적인 처리를 해야 RPS가 균등하게 나올까요
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우
저는 yarn node 2_server.js 로 실행하니 되네요![코드팩토리 디스코드]https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨남박사의 파이썬으로 실전 웹사이트 만들기
google.py 몽고db 샘플데이터 만들기
[남박사의 파이썬으로 실전 웹사이트 만들기] 강좌를수강중 입니다.강좌내용대로 코딩후 실행해봐도 db 생성이 안되어 강좌의 이후단계로 진입을 못하고 있습니다.샘플데이터가 탑재된 db 를 다운받을 방법이 없을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
메모리 풀 질문있습니다.
우선 좋은강의 만들어주셔서 감사합니다.제가 질문드릴건 메모리풀을 1024까지는 32바이트단위로 만드는데, 그러면 32바이트전용 풀 64바이트 전용 풀 이렇게 만들어질거고근데 이제 요청하는데 16바이트 요청을 1000번하면,32바이트 풀안에 메모리헤더 큐가 1000개가 생기는거죠?? 해제안했다는 가정하에
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
메모리 풀 질문있습니다.
우선 좋은강의 만들어주셔서 감사합니다.제가 질문드릴건 메모리풀을 1024까지는 32바이트단위로 만드는데, 그러면 32바이트전용 풀 64바이트 전용 풀 이렇게 만들어질거고근데 이제 요청하는데 16바이트 요청을 1000번하면,32바이트 풀안에 메모리헤더 큐가 1000개가 생기는거죠?? 해제안했다는 가정하에
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
return
5:25초 구간에서 계산까지는 모두 혼자 정상적으로 진행했는데 궁금한 점은 temparr를 리턴 할 때 왜 intarr로 반환하는 건가요?
-
미해결C 프로그래밍 - 입문부터 게임 개발까지
8-8 연장전 / 소스코드 공유해드려요. 참고하세요!
#include <stdio.h> #include <stdlib.h> #include <time.h> // 10마리의 서로 다른 동물(각 카드 2장씩) // 사용자로부터 2개의 입력값을 받아서 -> 같은 동물 찾으면 카드 뒤집기 // 모든 동물 쌍을 찾으면 게임 종료 // 총 실패 횟수 알려주기 int arrayAnimal[4][5]; // 카드 지도 (20장의 카드) int checkAnimal[4][5]; // 뒤집혔는지 여부 확인 char *strAnimal[10]; void initAnimalArray(); void initAnimalName(); void shuffleAnimal(); int getEmptyPosition(); int conv_pos_x(int x); int conv_pos_y(int y); void printfAnimals(); void printQuestion(); int foundAllAnimals(); void printAlign(const char *str, int totalWidth); int getVisibleWidth(const char *str); int main(void) { srand(time(NULL)); initAnimalArray(); initAnimalName(); shuffleAnimal(); int failCount = 0; // 실패 횟수 while (1) { int select1 = 0; // 사용자가 선택한 처음 수 int select2 = 0; // 사용자가 선택한 두번째 수 printfAnimals(); // 동물 위치 출력 printQuestion(); // 문제 출력 (카드 지도) printf("뒤집을 카드를 2개 고르세요 : "); scanf("%d %d", &select1, &select2); if (select1 == select2) // 같은 카드 선택 시 무효 continue; // 좌표에 해당하는 카드를 뒤집어 보고 같은지 안같은지 확인 // 정수 좌표를 (x, y)로 변환 int firstSelect_x = conv_pos_x(select1); int firstSelect_y = conv_pos_y(select1); int secondSelect_x = conv_pos_x(select2); int secondSelect_y = conv_pos_y(select2); // 같은 동물인 경우 if ((checkAnimal[firstSelect_x][firstSelect_y] == 0 && checkAnimal[secondSelect_x][secondSelect_y] == 0) && (arrayAnimal[firstSelect_x][firstSelect_y] == arrayAnimal[secondSelect_x][secondSelect_y])) { printf("\n\n빙고! : %s 발견 \n\n", strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); checkAnimal[firstSelect_x][firstSelect_y] = 1; checkAnimal[secondSelect_x][secondSelect_y] = 1; } // 다른 동물인 경우 else { printf("\n\n 땡!! (틀렸거나, 이미 뒤집힌 카드입니다)\n"); printf("%d : %s\n", select1, strAnimal[arrayAnimal[firstSelect_x][firstSelect_y]]); printf("%d : %s\n", select1, strAnimal[arrayAnimal[secondSelect_x][secondSelect_y]]); printf("\n\n"); failCount++; } // 모든 동물을 찾았는지 여부, 1 : 참, 0 : 거짓 if (foundAllAnimals() == 1) { printf("\n\n 축하합니다 ! 모든 동물을 다 찾았네요 \n"); printf("지금까지 총 %d 번 실수했습니다\n", failCount); break; } } return 0; } void initAnimalArray() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { arrayAnimal[i][j] = -1; } } } void initAnimalName() { strAnimal[0] = "원숭이"; strAnimal[1] = "하마"; strAnimal[2] = "강아지"; strAnimal[3] = "고양이"; strAnimal[4] = "돼지"; strAnimal[5] = "코끼리"; strAnimal[6] = "기린"; strAnimal[7] = "낙타"; strAnimal[8] = "타조"; strAnimal[9] = "호랑이"; } void shuffleAnimal() { // ☐ ☐ ☐ ☐ ☐ // ☐ ☐ ☐ ☐ ☐ // ☐ ☐ ☐ ☐ ☐ // ☐ ☐ ☐ ☐ ☐ for (int i = 0; i < 10; i++) { for (int j = 0; j < 2; j++) { int pos = getEmptyPosition(); int x = conv_pos_x(pos); int y = conv_pos_y(pos); arrayAnimal[x][y] = i; } } } // 좌표에서 빈 공간 찾기 int getEmptyPosition() { // ☐ ☐ ☐ ☐ ☐ 0 1 2 3 4 -> 0 0 0 0 0 // ☐ ☐ ☐ ☐ ☐ 5 6 7 8 9 -> 1 1 1 1 1 // ☐ ☐ ☐ ☐ ☐ 10 11 12 13 14 -> 2 2 2 2 2 // ☐ ☐ ☐ ☐ ☐ 15 16 17 18 19 -> 3 3 3 3 3 while (1) { int randPos = rand() % 20; // 0 - 19 사이의 숫자 반환 // 19 -> (3, 4) int x = conv_pos_x(randPos); int y = conv_pos_y(randPos); if (arrayAnimal[x][y] == -1) { return randPos; } } return 0; } int conv_pos_x(int x) { // 19 -> (3,4) return x / 5; } int conv_pos_y(int y) { // 19 -> 19 / 5 ? 몫은 3, 나머지 4 return y % 5; // y를 5로 나눈 나머지 값 } void printfAnimals() { printf("\n======== 이건 비밀인데 . . 몰래 보여줍니다 =======\n\n"); for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { printAlign(strAnimal[arrayAnimal[i][j]], 8); } printf("\n"); } printf("\n============================================\n\n"); } void printQuestion() { printf("\n\n(문제)\n"); int seq = 0; // seq // checkAnimal // ☐ ☐ ☐ ☐ ☐ 0 1 2 3 4 0 0 0 0 0 // ☐ ☐ ☐ ☐ ☐ 5 6 7 8 9 1 0 0 0 0 // ☐ ☐ ☐ ☐ ☐ 10 11 12 13 14 // ☐ ☐ ☐ ☐ ☐ 15 16 17 18 19 for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { // 카드를 뒤집어서 정답을 맞혔으면 ' 동물 이름' if (checkAnimal[i][j] != 0) { printAlign(strAnimal[arrayAnimal[i][j]], 8); } else { char temp[16]; sprintf(temp, "%d", seq); // 숫자를 문자열로 바꿔서 printAlign(temp, 8); // 한글처럼 정렬 } seq++; // 아직 뒤집지 못했으면 (정답을 못맞혔으면) 뒷면 -> 위치를 나타내는 숫자 } printf("\n"); } } int foundAllAnimals() { for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { if (checkAnimal[i][j] == 0) { return 0; } } } return 1; // 모두 다 찾음 } int getVisibleWidth(const char *str) { int width = 0; while (*str) { if ((*str & 0xF0) == 0xE0) { width += 2; str += 3; } else { width += 1; str += 1; } } return width; } void printAlign(const char *str, int totalWidth) { int visibleWidth = getVisibleWidth(str); printf("%s", str); for (int i = 0; i < totalWidth - visibleWidth; i++) { printf(" "); } }