묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨Next.js 까보기: "쓸 줄 아는 개발자"에서 "알고 쓰는 개발자"로
필터옵션이 많은 페이지에서도 서버 fetch를 사용하는게 맞을까요??
강의에서 말씀해준 내용도 그렇고, next 공식문서에서도 서버 fetch를 권장하고 있지만필터옵션이 다수 포진된 페이지에서도 서버 fetch를 해야할까 의문점이 듭니다. 필터 버튼 하나 누를때마다 다시 fetch 해야하니까 route.push나 replace 할 수 밖에 없는데 이게 과연 좋은 방법인가 의구심이 듭니다.리액트 쿼리를 사용하는게 더 나을지, 서버 fetch를 사용하는게 나은지 선생님의 의견이 궁금합니다. 추가로 window.history.replaceState webAPI를 사용하면 단순 url만 변경하고 페이지 로드나 컴포넌트 리렌더링은 일어나지 않는걸로 알고 있는데요. 근데 리액트 쿼리로 클라이언트 fetch 할 땐 window.history.replaceState 로 url만 변경해도 다시 fetch가 되더라구요?? 어떤 원리로 동작하게 되는지 궁금합니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
22분 this 체인 질문입니다.
7번째 줄부터 Child5(int n) {this(n, "hi");System.out.println("Child5(int)");이 부분에서 출력 부분의 ("Child5(int)") 대신 ("Child5(n)")이면 Child(1)이 출력되는건가요?
-
미해결38군데 합격 비법, 2025 코딩테스트 필수 알고리즘
선택 정렬 질문
1. 현재 학습 진도몇 챕터/몇 강을 수강 중이신가요? 3주차 2강어떤 알고리즘을 학습하고 계신가요? 선택 정렬여기까지 이해하신 내용은 무엇인가요? 선택 정렬 원리 2. 어려움을 겪는 부분어느 부분에서 막히셨나요? 교재 잘못 나온 부분코드의 어떤 로직이 이해가 안 되시나요?어떤 개념이 헷갈리시나요? 3. 시도해보신 내용문제 해결을 위해 어떤 시도를 해보셨나요?에러가 발생했다면 어떤 에러인가요?현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊 딩코님 안녕하세요! 교재에 잘못 나온 부분인가 싶어서 질문 남깁니다.3주차 선택 정렬 부분에서요딩코님께서도 이렇게 설명을 하시고,직접 파이참에서 돌려봤을 때해당 결과가 이렇게 나왔습니다. 그런데 교재에는실행결과가 다르게 나와있어서 혹시 교재 잘못나온 건 아닌지 여쭤봅니다.교재 보면서 혼자 생각정리 하고 있었는데, 아무리 생각해도 실행결과가 저게 아닌 것 같아서 직접 돌려보고 강의도 봤는데 교재에 나온 결과가 안 나오더라고요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
케이스 7번의 this.name = name; 구문질문
7분2초에 케이스 7에 this.name = name 은 child 객체를 의미하는건가요? 부모의 클래스라도?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
2:23 질문이 있습니다.
왜 b가 자기자신을 호출하는데 D가 출력이 되는지 잘 모르겠습니다. this.draw()가 왜 D를 출력하는지 궁금합니다. 그리고 네번째 D를 출력하는데 b.paint()에서 출력한 건지 모르겠네요. 저는 바로 밑에 줄인 b.draw()에서 이미 D출력해서 끝났다고 생각했습니다. 해설 부탁드립니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
영상 편집에 오류가 있는것 같습니다.
3:10 MemberRegisterResponse 생성3:23 MemberRegisterResponse 생성같은 과정이 반복되는데 편집이 잘 못 된것 같습니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 프로젝트를 windows로 빌드하고 실행한 이후..
[질문 내용]그 이후부터는 intellij에서 localhost:8080으로 접속이 안됩니다. 설정에서 이렇게 변경을 해도 프록시서버 설정을 바꿔야하는건지 알수가 없네요. 프로젝트 다시 만드는 방법보다 설정바꿔서 실행해보고 싶은데 어느 쪽을 변경해야하나요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
java 기출변형 22분
22분에 나오는 코드의 실행 순서에 질문이 있습니다.자식 클래스 생성자에 this나 super로 생성자가 적혀있지 않은 경우 자바에서 자동으로 super()를 만들어준다고 알고 있는데 맞나요? 그럼 Chi()에서 this(20)으로 Chi(20)이 실행된 다음, 이 생성자에는 따로 this나 super로 생성자가 적혀있지 않기 때문에 super()로 Par() 생성자가 호출된다고 이해하면 될까요?질문을 정리하자면, 코드의 정확한 실행 순서가Chi() -> Chi(int y) -> Par()인지,Chi() -> Par() -> Chi(int y)인지 알고 싶습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
강의 구성 관련해서 질문이 있습니다
선생님 안녕하세요 혹시 이 강의는 tensorflow 로 만들어진 강의인가요? 선생님의 torch cnn강의를 듣고도 이 강의를 들을 수 있는 것인지, 아니면 tensorflow 강의를 들어야만 이 강의를 들을 수 있는것인지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
2025년 1회 기출 문제 1번 문제 질문
4분 58초에 for(i=0;i<4;++i){if(Data[i]>'c'){break;}이 문항에서 위에 나온 배열에 B A D E 가 존재하는데요 c 의 아스키코드는 99 로 인지한 상태로 풀고 나머지 배열에있는 값들은 각각 66 , 65 ,68 ,69 이렇게 해서 브레이크가 안걸리고 i가 3까지 나열한 뒤로 끝나는 것으로 인지했었습니다 그런데 영상 강의에선 D의 값에서 break가 걸린다고 들었는데 왜 그런건지 질문드립니다.
-
미해결홍정모의 따라하며 배우는 C언어
14.14 예제 질문
#define CRTSECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <conio.h>#define SLEN 101struct book{ char name[SLEN]; char author[SLEN];};void print_books(const struct book* books, int n);void write_books(const char* filename, const struct book* books, int n);struct book* read_books(const char* filename, int* n);int main(){ int temp; int n = 3; struct book* my_books = (struct book*)malloc(sizeof(struct book) * n); if (!my_books) { printf("Malloc failed"); exit(1); } my_books[0] = (struct book){ "The Great Gatsby", "F. Scott Fitzgerald" }; my_books[1] = (struct book){ "Hamlet", "William Shakespeare" }; my_books[2] = (struct book){ "The Odyssey", "Homer" }; print_books(my_books, n); printf("\nWriting to a file.\n"); write_books("books.txt", my_books, n); free(my_books); n = 0; printf("Done.\n"); printf("\nPress any key to read data from a file.\n\n"); temp = _getch(); my_books = read_books("books.txt", &n); print_books(my_books, n); free(my_books); n = 0; return 0;}void print_books(const struct book* books, int n){ for (int i = 0; i < n; ++i) { printf("Book %d : \"%s\" written by \"%s\"\n", i + 1, books[i].name, books[i].author); }}void write_books(const char* filename, const struct book* books, int n){ FILE* fw; if ((fw = fopen(filename, "w")) == NULL) { fprintf(stderr, "Can't open \"%s\" file.\n", filename); exit(EXIT_FAILURE); } fwrite(books, sizeof(struct book), n, fw); fclose(fw);}struct book* read_books(const char* filename, int* n){ FILE* fp; if ((fp = fopen(filename, "r")) == NULL) { fprintf(stderr, "Can't open \"%s\" file.\n", filename); exit(EXIT_FAILURE); } fseek(fp, 0, SEEK_END); long file_size = ftell(fp); rewind(fp); struct book* all_books; int si = file_size / sizeof(struct book); *n = si; all_books = (struct book*)malloc(sizeof(struct book) (n)); if (all_books == NULL) { printf("Failed"); return NULL; } fread(all_books, sizeof(struct book), *n, fp); fclose(fp); return all_books;}예제를 풀다보니 바이너리형식으로 추가,저장되는 코드로 만들어 버렸는데 이 경우에는 메모장에서 텍스트를 추가할 수 없으니 틀렸다고 보는게 맞겠죠?
-
미해결한 입 크기로 잘라먹는 Next.js(v15)
백엔드 서버를 배포했는데, 어쩔 땐 정상적으로 로딩이 되는데 어쩔 땐 500 에러가 발생합니다
무엇이 문제일까요? 간헐적으로 새로고침을 하면 제대로 로딩이 됐다 안 됐다 하는데 그로 인해 당연히 한입북스에 백엔드 데이터도 못 불러오는 거 같습니다!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
23:29 질문입니다
메인 클래스에서 parent.getA()를 출력하는데 부모와 자식클래스에 똑같이 getA() 함수가 있으면 오버라이딩으로 자식클래스를 호출하나요? parent.getA()로 직접적으로 부모클래스를 호출하더라도요?
-
미해결반드시 알고 넘어가야 할 웹 기술 기초편
URL 인코딩 (18:25)
pw : cre &#cre(공백부분) 인코딩 %20 으로,userpw=cre%20%26%23 아닌가요? '+'기호는 어느 타입의 상황일 때 %20을 대신하여 사용되는지 궁금합니다 좋은 강의 제공해주셔서 감사합니다
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
<7-5. 시퀄라이즈 사용하기>수업 질문 드립니다.
안녕하세요. 수업 중 막히는 것이 있어서 질문 글 올립니다.수업을 다 따라가고 연결테스트를 하려고 했는데,이렇게 에러가 생겼습니다.분명히 config폴더가 있고 그안에 config.json 파일이 존재하는데 없다고 하길래, 일단 npx sequelize init 을 했더니 이번에는 config 파일이 이미 존재한다는 소리를 하길래 --force 를 하긴했습니다.그런 다음에 다시 실행하니까,이렇게 오류메시지가 생겼어요.강의에는 models 폴더에 user라는 파일을 만들라는 건 듣도보도 못했는데, 뭐가 잘못된건지 잘 모르겠습니다.
-
해결됨6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
eventPublisher.publishEvent 시 @Transactional을 걸어야 하지 않나요?
딩코님! 강의 너무 잘 듣고 있습니다~! 강의를 따라가며 디비와 트랜잭션 그리고 락에 관해 심화 내용도 듣고 포폴도 하나하나 잘 채워가고 있습니다! 다름이 아니라 딩코님이 내주신 과제 중에 의문이 있어 질문을 드리게 되었습니다. 1. 현재 학습 진도4주차 수강 후 락과 트랜잭션 최적화를 수행하고 있습니다. 현재 여러가지 작업(일기 작성, 포인트 적립, AI 댓글 작성 예약, 알림 이벤트 발생)에 대해 facade 계층을 만들어 중요한 작업(일기 작성, 포인트 적립)에 대해서는 트랜잭션을 묶어 우선적으로 처리되게 하고 AI 댓글은 TaskScheduler로 특정 시간 후에 비동기적으로 이루어지게 하며 알림은 spring event로 after commit 후 처리하려 합니다. 2. 어려움을 겪는 부분현재 이벤트 발행 (트랜잭션 커밋 후 실행됨, after-commit)에 대해 의문이 있습니다.현재 딩코님이 올려주신 코드에는@Component @RequiredArgsConstructor @Slf4j public class ImprovedEventJoinWithExternalApiUpdateFacade { private static final String TEST_PHONE_NUMBER = "01012341234"; private final EventExternalUpdateService eventJoinService; private final ExternalEventApi externalEventApi; private final ApplicationEventPublisher eventPublisher; public void joinEvent(Long eventId, Long memberId) { // 1. 기존 서비스로 이벤트 참가 처리 EventWithLockParticipant participant = eventJoinService.joinEventWithTransaction(eventId, memberId); // 2. 외부 API 호출 ExternalEventResponse response = externalEventApi.registerParticipant( eventId, memberId, participant.getEvent().getName() ); if (!response.isSuccess()) { throw new RuntimeException("외부 API 호출 실패: " + response.getErrorMessage()); } // 3. 외부 API 응답으로 참가자 정보 업데이트 eventJoinService.updateExternalId(participant, response.getExternalId()); // 4. 이벤트 발행 (트랜잭션 커밋 후 실행됨) eventPublisher.publishEvent(new EventJoinCompletedEvent( eventId, participant.getEvent().getName(), TEST_PHONE_NUMBER )); } }이렇게 코드 내에 @Transactional이 걸려있지 않습니다. 그런데 이벤트 리스너에는@Component @RequiredArgsConstructor @Slf4j public class EventJoinEventListener { private final KakaoTalkMessageApi kakaoTalkMessageApi; @Async @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void handleEventJoinCompleted(EventJoinCompletedEvent event) { try { kakaoTalkMessageApi.sendEventJoinMessage( event.getPhoneNumber(), event.getEventName() ); } catch (Exception e) { log.error("알림 발송 실패. eventId={}, eventName={}", event.getEventId(), event.getEventName(), e); } } } 이렇게 transaction이 커밋된 후에 실행되도록 AFTER_COMMIT이 걸려있는데, 이렇게 되면 이벤트 리스너가 제대로 실행이 안되지 않나요? 제대로 이벤트 리스너가 실행이 되려면 joinEvent부터 @Transactional이 걸려있어야 하지 않나요?3. 시도해보신 내용따로 간단하게 코드를 작성하여 테스트해보았습니다. @RequiredArgsConstructor @Component public class StudyFacade { private final StudyService studyService; private final ApplicationEventPublisher eventPublisher; // @Transactional : 주석 처리하면 밑에 eventEvent가 실행되지 않음 public void execute() { studyService.saveStudy(); eventPublisher.publishEvent("event published"); } @Async @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) public void executeEvent(String event) { System.out.println("event = " + event); } } @RequiredArgsConstructor @Service public class StudyService { private final StudyRepository studyRepository; @Transactional public void saveStudy() { studyRepository.save(new Study("test")); } } 실제로 execute 메서드의 @Transactional을 주석처리하면 밑의 이벤트 리스너인 executeEvent가 실행이 되지 않더라구요. 이러면 ImprovedEventJoinWithExternalApiUpdateFacade의 joinEvent부터 트랜잭션을 걸어야 하니까 딩코님이 말씀하신 트랜잭션을 최대한 작게 나누는 트랜잭션 최적화가 어렵지 않나요? 항상 강의 잘 듣고 있습니다! 감사합니다!
-
미해결Airflow 마스터 클래스
chatGPT API 실습은 이제 유료인 거 맞나요??
안녕하세요 강사님 수업 잘 듣고 있습니다!다름이 아니라 이제 chatGPT API 강의를 듣고 있는데print(resp.text)에서 에러가 계속 나서 보니5$이상 결제를 해야 API 이용이 가능하다는 말이 있어서 혹시 맞는지 확인 부탁드립니다..!
-
미해결[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
Swap 기능문의
안녕하세요!디자인시스템 제작중에 유지보수를 고려하여 기존에 하나의 파일로 관리했던 Foundation과 Components를 분리하는 작업에 있습니다. Components의 Foundation 요소는 Publishing 을 통해서 적용할 계획입니다.분리하는 작업을 진행할 경우, Variable과 Styled이 깨져버리는데요이름이 동일할 경우 자동으로 교체 할 수 있는 방법이 있나요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
n8n 카카오톡 연동 강의도 해주셨으면 합니다.
안녕하세요.남박사님의 여러가지 강의를 앞전에 많이 들었지만특히 이번 강의는 전혀 지루하지 않고 처음 접하는 강의라서 정말 재미있게 잘 듣고 있습니다. 감사합니다.다름이 아니라 텔레그램이나 디스코드같은 연동은 있지만 실무에서 응용해서 쓸려면 카톡과 연동해서 만드는게 필수라고 보는데 혹시 차후에 카톡과 연동해서 강의를 만드실 예정은 없으신지요? 앞전에 파이썬 강의를 들었을때 다른 플랫폼보다 사전 작업이 굉장히 복잡하다는건 알고 있어서 n8n 중급강의 같은거로 해서 나왔으면 하네요 ㅎ
-
미해결실전! 언리얼 소울라이크 개발: A to Z
적 무기를 들면 패링이 안되는 문제?
안녕하세요, 저는 무기를 만들때 복사해서 BP_Sword1 , 2 , BP_Sword_Enemy 이런식으로 늘리고 Mesh Asset 만 바꿔서 사용중인데, 적이 들고있는 무기를 전용으로 만들고 그 무기도 똑같이 바닥에 배치해두어서 플레이어도 주워 사용할 수있게 했는데, 플레이어가 다른 Sword1,2 사용시에는 Left_Alt를 누르면 패링 애니메이션 기능 , 스태미너 감소 다 잘이루어집니다. 근데 적 무기랑 똑같은걸 들면 스태미너만 차감되고 패링 기능 + 애니메이션같은게 재생이 안되고 캐릭터가 멈춰버립니다. 그리고 좌클릭 ( 공격) , Space(구르기) 같은 모션을 하면 StateClear가 되서 돌아옵니다. 어느 부분을 체크해봐야 이것을 고칠 수 있을까요 ?