묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Next + React Query로 SNS 서비스 만들기
next-auth 버전을 낮추고 vercel 배포 시 빌드 과정에 에러
안녕하세요, next-auth 5 베타를 사용하다가 "r is not a function"이라는 에러 메시지 때문에 next-auth 버전을 "^4.24.5"로 낮추었더니 해결되었습니다. 그런데 vercel에 배포하려하니 자꾸 아래의 사진과 같은 에러 때문에 어려움을 겪고 있습니다...ㅜ 해당 에러 구글에 찾아봐도 해결방법을 모르겠던데 도와주실 수 있으실까요ㅠㅠㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
split() 함수에서 pos변수타입을 long long 으로 선언한 이유
안녕하세요 큰돌님 강의 잘듣고있습니다. 위 사진은 교안에 나온 split함수 예시입니다while 조건문에서 사용되는 find함수는 size_t 타입을 반환한다고 하는데 pos도 이에 맞춰서 size_t라는 타입으로 일치해줘야 하지 않나 하는 궁금증이 생겼습니다. 변수 pos를 size_t로 받지않고 longlong으로 받으시는 이유가있는걸까요?
-
미해결스프링 핵심 원리 - 기본편
TestConfig에서 메서드와 return에 관한 질문입니다.
@Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy fixDiscountPolicy() { return new FixDiscountPolicy(); } }1. 여기서 메서드와 return의 관계는 DiscountPolicy rateDiscountPolicy = new RateDiscountPolicy(); 와 같이 다형성을 동반한 관계로 보면 될까요?2. 일반적으로 @Bean이 붙은 메서드의 이름으로 빈 이름이 지정되어 올라가는 것으로 알고 있는데 구현체도 빈 안에 같이 구현된다고 보면 될까요...?타입으로 빈을 조회하는 경우에 메서드의 타입으로 생각을 해서 DiscountPolicy.class 타입으로만 조회하는 줄 알았는데 @Test @DisplayName("특정 하위 타입으로 조회") void findBeanBySubType() { RateDiscountPolicy bean = ac.getBean(RateDiscountPolicy.class); assertThat(bean).isInstanceOf(RateDiscountPolicy.class); }여기선 RateDiscountPolicy.class 타입으로 빈을 조회하는 것으로 나와서 헷갈려서 질문드립니다...
-
미해결
index.js
개발자 모드에서 안보입니다live server 는 깔았습니다
-
해결됨스프링 핵심 원리 - 기본편
프로토타입에 프록시 적용해보기
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]강의 프로토타입 예시에 프록시를 적용해 보았습니다.의도한 대로 다른 인스턴스를 호출해주는 것 까진 되는 걸 확인했습니다.다만 로그에 CGLIB라는 라이브러리로 상속 받은 가짜 프록시 객체라고 나오지 않는 것 같고, addCount 로직이 적용이 되지 않는 것 같습니다프로토타입 빈에는 프록시를 적용하면 안되는 걸까요? 왜그런걸까요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
MemberRepository와 MemberService 중복 관련
MemberRepository에 findAll과 findOne이 있는데 MemberService에 findMembers와 findOne의, 실상 같은 역할을 하는 메소드를 중복으로 만들어주는 이유가 뭔가요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
보드가 너무 뜨거워요
전원을 연결하면 led가 막 들어오면서 칩이 너무뜨거워져요. 다른 코드를 올리도 전원을 껏다 키면 다시 led불이 막 들어오면서 뜨거워지네요. 다이소에서 2000원짜리 5핀케이블을 사서 연결했는데 케이블 문제일까요??
-
미해결Practical Testing: 실용적인 테스트 가이드
잘못된 Interceptor 사용으로 인한 h2-console 접근 문제
안녕하세요. 강의에서 h2 db를 사용하시는 것을 보고 제 개인프로젝트에서 profile이 test일 경우에 h2 db를 써보기로 결정했습니다.그런데 제가 AuthInterceptor를 잘못 만들어서인지 localhost:8080/h2-console url로 접속하면 JSON 응답이 나와버립니다. 어떤 코드가 잘못되었는지, 어떻게 개선해야 하는지 봐주실 수 있으실까요..? 제가 작성한 코드와 설명을 남깁니다. application.ymlspring: profiles: default: local jpa: hibernate: ddl-auto: none mail: host: smtp.gmail.com port: 587 username: kanggi1997@gmail.com password: 보안을위해지웁니다 properties: mail: smtp: starttls: enable: true auth: true --- spring: config: activate: on-profile: local datasource: url: jdbc:postgresql://localhost:5432/forecast?useSSL=false driver-class-name: org.postgresql.Driver username: gunwoo jpa: properties: hibernate: dialect: org.hibernate.dialect.PostgreSQLDialect format_sql: true show-sql: true hibernate: ddl-auto: update --- spring: config: activate: on-profile: test h2: console: enabled: true # /h2-console 설정 datasource: url: jdbc:h2:mem:~/databasesByH2/forecastBE driver-class-name: org.h2.Driver username: sa password: jpa: properties: hibernate: format_sql: true show-sql: true hibernate: ddl-auto: create spring security를 사용하는데 어려움을 느껴 직접 인가를 구현하기 위해 AuthInterceptor와 WebConfig를 구성했고 사이트 회원만 api에 접근할 수 있게 만들었습니다. 로그인하지 않았을 경우 로그인이 필요하다는 메시지를 JSON형태로 전달합니다.AuthInterceptorpackage site.gunwoo.forecastBE.config; import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import site.gunwoo.forecastBE.dto.ResponseDTO; @Component @Slf4j public class AuthInterceptor implements HandlerInterceptor { private ObjectMapper mapper = new ObjectMapper(); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if ("OPTIONS".equals(request.getMethod())) { log.debug("preflight은 통과시킴"); return true; } String loggedInUserEmail = (String) request.getSession().getAttribute("loggedInUser"); if (loggedInUserEmail == null) { response.setContentType(MediaType.APPLICATION_JSON_VALUE); response.setCharacterEncoding("UTF-8"); response.setStatus(HttpStatus.UNAUTHORIZED.value()); ResponseDTO responseDTO = new ResponseDTO("로그인이 필요합니다.", null); String jsonResponse = mapper.writeValueAsString(responseDTO); response.getWriter().write(jsonResponse); return false; } return true; } } 아래의 addInterceptors 메서드에서 AuthInterceptor의 처리를 거치지 않아도 되는 uri를 정의했습니다. h2 콘솔 접근을 위한 uri인 "/h2-console"도 포함시켰습니다. 하지만 여전히 로그인이 필요하다는 응답이 JSON 형식으로 나타납니다.WebConfigpackage site.gunwoo.forecastBE.config; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration @RequiredArgsConstructor public class WebConfig implements WebMvcConfigurer { private final AuthInterceptor authInterceptor; @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://localhost:5173") .allowedMethods("GET", "POST", "PUT", "DELETE") .allowedHeaders("Authorization", "Content-Type") .exposedHeaders("Custom-Header") .allowCredentials(true) .maxAge(3600); } @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(authInterceptor) .addPathPatterns("/**") .excludePathPatterns("/user/join") .excludePathPatterns("/user/login") .excludePathPatterns("/test") .excludePathPatterns("/regions") .excludePathPatterns("/h2-console"); //적용이 안되는 듯 } }
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
api 요청도 안되고, 콘솔도 안떠요.
플레이 그라운드에 정보를 넣는데 이게 왜 오류가 뜨는지 모르겠어요. 분명 몇 주전에는 된 내용을 복사 붙이기로 몇십번 시도해도 안됩니다. 그리고 '섹션 04'부터 api 요청하는 부분 다 안돼요. 뭘 잘못했는지 모르겠습니다.코드만 몇십번 확인하고, 다시 강의 재생해서 봤는데도 Api 요청에만 문제가 있습니다.다른 섹션들도 'api 요청 부분'만 아무리 클릭해도 맨 마지막 이미지와 같이 아무것도 안떠요.구글에서 하라는대로 캐시도 다 지웠고, 확장프로그램도 지우고를 여러 번 했음에도 안됩니다.apollo/client 버전은 3.11.1입니다.api 요청만 다 실패해서 몇주째 잡고 있는데...너무 답답해요.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
gaurd 에서 reflector가 undefined나옵니다...
안녕하세요. 강의대로 Guard에 대해 같이 진행하였지만, App.module.ts에 { provide: APP_GUARD, useClass: AccessTokenGuard, },를 넣으면,bearertokengaurd에서 isPublic이 항상 undefined로 나와서 exception이 나옵니다...dependency 오류는 안나오는걸로 보아 다른 문제인 것 같은데 도저히 못 찾겠습니다..@Injectable() export class BearerTokenGuard implements CanActivate { constructor( private readonly reflector: Reflector, private readonly authService: AuthService, private readonly memberService: MemberService, ) {}여기 디버깅 했을 때 reflector, authService, memberService 모두가 undefined으로 나옵니다.정확히 this.reflector.getAllAndOverride 가 터지고 있습니다...뭐가 문제 일까요?
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
쿼리를 보내는 부분은 따로 스레드를 만들어서 처리하는건지 궁금합니다.
public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setName("member1"); member.setTeam(team); em.persist(member); // team.getMembers().add(member); em.flush(); em.clear(); Team findTeam = em.find(Team.class, team.getTeamId()); List<Member> members = findTeam.getMembers(); System.out.println("==============="); for (Member m : members) { System.out.println("==========="); System.out.println("m = " + m.getName()); System.out.println("==========="); } tx.commit(); } catch (Exception e) { tx.rollback(); } finally { em.close(); } emf.close(); } }위 코드를 실행했을때 출력 결과는 아래와 같습니다.Hibernate: select t1_0.TEAM_ID, t1_0.name from Team t1_0 where t1_0.TEAM_ID=? =============== Hibernate: select m1_0.TEAM_ID, m1_0.MEMBER_ID, m1_0.USERNAME from Member m1_0 where m1_0.TEAM_ID=? =========== m = member1 =========== 제가 예상한 실행 결과는 findTeam.getMembers(); 로 인해 두 번째 select 쿼리문이 나오고 그 다음에 =============== 가 출력 될거라고 예상을 했습니다.근데 실행 결과는 =============== 가 먼저 출력 되고 두 번째 select 쿼리문이 출력 됐습니다.그래서 이걸 보고 든 생각이 main 스레드가 코드를 한줄 씩 실행하다가 findTeam.getMembers(); 부분에서 SQL문을 디비로 보낼 스레드를 만들어서 해당 스레드에게 그러한 역할을 넘기고 바로 다음줄을 실행하여 =============== 가 두번째 select 쿼리문 보다 먼저 출력되는건지 궁금합니다. 감사합니다.
-
미해결김영한의 실전 자바 - 중급 2편
Hashset 자료구조에 대해서 질문 있습니다!
김영한 멘토님 안녕하세요 강의를 듣다가 질문이 있어서 질문 남깁니다!HashSet 자료구조를 사용해 객체를 저장할때, HashCode와 equals를 재정의 해야한다고 말씀해 주셨는데요. 정말 멘토님 말대로 재정의 하지 않으면 값이 중복되어서 저장되었습니다. 근데 궁금한것은 HashSet 자료구조이기에 HashCode를 사용하는것은 아는데, 그 이전에 자료구조가 Set의 기반의 자료구조인데 Set은 원래도 중복된 값을 허용하지 않는걸로 알고있습니다. 근데 왜 HashCode를 재정의해야 그때서야 값이 중복되어서 저장되지 않는것인가요? 애초에도 Set 기반의 자료구조인데 말입니다.
-
해결됨Amazing JavaScript - 입문
코드샌드박스에 들어갔는데 잠금표시가 되어있습니다.
잠금표시가 되어있어 새로운 파일을 생성할 수 없습니다. 강의를 보면서 따라하고싶은데 방법이 있을까요?
-
해결됨[2025 리뉴얼] 스스로 구축하는 AWS 클라우드 인프라 - 기본편
Release Elastic IP addresses
EC2 인스턴스에 연결해준 Elastic IP addresses 를 Release 하려면EC2 인스턴스를 terminate 해줘야 하는건가요?EC2 인스턴스를 stop한 상태에서는 Elastic IP addresses가 Release가 안되는건가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
시간초과 질문있습니다!
안녕하세요 시간초과가 나서 질문 드립니다 http://boj.kr/fc46d18e98374d0eb3e7ae35da228024unorder map이 해시 맵이라 O(1)의 시간 복잡도를 갖는 걸로 알고 있는데 왜 시간 초과가 나는지 모르겠습니다...혹시 해시 충돌이 나서 그런걸까요?
-
해결됨Flutter로 SNS 앱 만들기
8섹션 follow,unfollow기능추가 에서
14:21profile_repository.dart강의 코드는 이렇게 나와야 하는데 저는다르게 나와요then코드를 치니 이렇게 나요.. 무시하고 코드입력하고 진행했습니다.하여튼 아래코드로 그냥 진행 했는데요.value에서 에러가 발생 하여, 위코드와 같은 의미라 하여 주석처리하고 진행했습니다.그러나 currentUserModel에서 에러가 발생했습니다.첫번째 value부분에 에러 부분과 두번째 currentUserModel부분좀 봐주세요. 멜보내겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
수업자료 받는곳
안녕하세요, 수업자료가 제공된다고 되어있는데, 자료 받는 곳을 찾을 수 없습니다. 어디에서 받을 수 있는지 알고 싶습니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
간단한 프로젝트에서 포즈 워핑을 연습하던 도중 문제가 발생했습니다.
교수님의 강의에 언제나 큰 도움을 얻고 있습니다.기존의 질문을 GAS 강의에서 작성하였으나, 강의 주제와 맞지 않다고 판단하여 다시 작성하게 되었습니다. 제가 겪고 있는 문제를 글로 설명드리기 보다는 직접 보여드리는 것이 나을 것 같아 동영상으로 대체하였습니다.아래의 링크는 현재 발생하고 있는 문제를 담은 유투브 링크입니다.https://www.youtube.com/watch?v=SC1bD4pls3U C++ 클래스로 만든 애님 인스턴스에서 파생된 애니메이션 블루 프린트를 사용해포즈 워핑을 연습하고 있던 도중 영상과 같은 문제가 발생했습니다. 가속도에 따라 발을 디디는 속도가 달라지게끔 설계하였지만, 영상처럼 애니메이션이 굳어버리는 문제가 발생하였습니다.문제가 발생하고 있는 원인을 찾기 위해 로그를 찍어 확인한 결과, LogTemp: Warning: Accelation : X=-2048.000 Y=0.000 Z=0.000LogTemp: Warning: bHasAccelation : trueLogTemp: Warning: Accelation : X=0.000 Y=0.000 Z=0.000LogTemp: Warning: bHasAccelation : false 문제가 발생하는 시점부터 로그가 위와 같이 찍히는 것을 확인할 수 있었습니다.Accelation과 bHasAccelation은 다음의 코드에 의해 값이 결정됩니다. Accelation = Movement->GetCurrentAcceleration() * FVector(1.0f, 1.0f, 0.0f);bHasAccelation = !Accelation.IsNearlyZero(0.001f); 제가 생각해본 문제의 원인은 가속도가 MaxAccelation 이상을 넘어가면 가속도를 0으로 초기화하는 것이라고 생각하고 있습니다.혹시 제가 생각한 것이 문제의 원인이 맞는 것일까요?만약 맞다면 가속도가 MaxAccelation에 도달했을때 어떻게 값을 조절해야 하는지 궁금합니다.제가 생각한 부분에서 문제가 없다면, 어느 부분에서 문제가 발생할 수 있는지 알려주시면 감사하겠습니다.
-
해결됨홍정모의 따라하며 배우는 C언어
Break point hit문제
Break point를 사용할때 솔루션에서 처음 만든 프로젝트에서는 문제없는데 두번째 세번째 프로젝트는 break point hit이 되지 않고 전체가 전부다 디버깅이 됩니다. 어떻게 해결을 해야할까요?
-
미해결
학생 할인
학생 인증 하면 25%할인권 주는 이벤트가 있어서 신청했는데. 언제 쿠폰 받을 수 있나요?