inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

데이터베이스 연결시 오류가 발생합니다

미해결

데이터 분석 SQL Fundamentals

안녕하세요. 오랜만에 디비버를 실행시켰더니 계속 위와같은 오류가 발생합니다. 디비버와 포스트그레 재설치를 반복하고 방화벽에 추가해 보아도 같은 현상이 발생하네요.. 구글링을 해보아도 해결책을 찾지 못하겠습니다. 도와주십시오..!

  • sql
  • postgresql
  • dbms/rdbms
다라라람쥐 댓글 2 좋아요 0 조회수 1169

DIP구현 중, AOP과의 이슈가 발생하여 질문 드립니다

미해결

스프링 핵심 원리 - 기본편

안녕하세요! 알려주신 내용을 바탕으로 제 개인프로젝트에 적용해서 리팩토링을 해보고있는데요! DIP를 위배하지않기위해 @Getter @Configuration public class IamportConfig { @Value("${secret.sec.key}") private String secretKey ; @Value("${api.api.key}") private String apiKey ; @Bean public IamportClient iamportClient() { return new IamportClient(apiKey, secretKey); } } 이런식으로 IamportConfig를 선언해서 주입을 해주었고 실제 코드에는 private final PurchaseService purchaseService; private final ItemService itemService; private final IamportClient iamportClient; private final RedissonClient redissonClient; private final JwtUtil jwtUtil; private final IamportConfig iamportConfig; 이렇게 선언했습니다! 이후 @PostMapping("/api/payment/cancel") private boolean cancelPayment(@RequestBody RefundRequestDto refundRequestDto) throws JsonProcessingException { RestTemplate restTemplate = new RestTemplate(); String url = "https://api.iamport.kr/payments/cancel"; // 요청 파라미터 설정 MultiValueMap<String, String> formData = new LinkedMultiValueMap<>(); formData.add("impUid", refundRequestDto.imp_uid()); formData.add("checksum", String.valueOf(refundRequestDto.checksum())); formData.add("reason", refundRequestDto.reason()); // 요청 헤더 설정 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); String token = getAccessToken(new PaymentRequestDto.getToken(iamportConfig.getApiKey(), iamportConfig.getSecretKey())); headers.set("Authorization", "Bearer " + token); // 요청 객체 생성 HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers); // 요청 보내기 ResponseEntity<String> response = restTemplate.postForEntity(url, requestEntity, String.class); // 응답 처리 if (response.getStatusCode() == HttpStatus.OK) { // 각 아이템에 대해 수량 롤백 진행 purchaseService.rollbackItemsQuantity(refundRequestDto.imp_uid()); // 주문 상태 변경 purchaseService.ChangeStatusToCancelled(refundRequestDto.imp_uid()); return true; } else { return false; } } 이런 코드를 사용하는과정에서 String token = getAccessToken(new PaymentRequestDto.getToken(iamportConfig.getApiKey(), iamportConfig.getSecretKey())); 이부분의 iamportConfig 가 null로 나오는 문제가 발생했습니다. 다방면으로 답을 찾아보다가 AOP를 전부 주석처리하니까 해결되더라구요. 그래서 AOP의 적용범위에서 해당 컨트롤러를 제외시켰는데 해결이 되었습니다. 이를통해 좀 알아보니까 AOP가 실행되는 시점은 새로운 PaymentRequestDto 인스턴스가 생성되기 전 이므로 AOP 프록시 객체가 cancelPayment를 감쌀때 PaymentRequestDto는 null이게 된다. (AOP 로직이 @Value로 주입된 프로퍼티 값에 접근하기 전에 실행되어 값을 정상적으로 참조할 수 없는 상황이 발생) 라는 결론에 다다르게 되었는데, 제가 잘 이해한게 맞을까요?...!

  • spring
  • 객체지향
wodnrtkfka 댓글 1 좋아요 0 조회수 326

상수버퍼도 공용적으로 사용하는게 좋나요?

미해결

[게임 프로그래머 도약반] DirectX11 입문

공통적인 상수버퍼를 셰이더마다 생성하는것이 아니고 리소스매니저처럼 따로 상수버퍼를 만들어놓고 받아와서 사용하는 식으로 해도 되나요?

  • c++
  • directx
조플레이 댓글 1 좋아요 0 조회수 241

상속

미해결

김영한의 실전 자바 - 기본편

public class cd{ public int amt ; ... ..... ... } public class ab extends cd{ public int count ; public void method(){ count += amt ; } 이 상황에서 class ab 는 cd 의 instance variable 인 amt 를 자유자재로 쓸 수 있나요? 그렇다면 위와 같이 그냥 amt 만 써야 하나요? 마찬가지로 이 아래 BankAccount class 의 private double balance 가 아니라 public double balance 였다면 Checking class 에서 만약 withdraw method 를 public void withdraw{ transcations ++ ; balance = balance + amt ; } 라고 해도 되는건가요 ?

  • java
  • 객체지향
ghuhan18 댓글 1 좋아요 0 조회수 209

controllerV1 사용이유

해결됨

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] V3까지 공부하다가 너무 헷갈려서 다시 V1으로 와서 공부하고있습니다. 3분 30초 쯤에 ControllerV1 즉 interface를 사용하는 이유를 들어도 너무 헷갈립니다. 각각의 컨트롤러는 인터페이스를 의존하고 프론트컨트롤러는 인터페이스를 통해 request, response를 넘겨주면서 각각의 컨트롤러가 받는 형식으로 생각하고 있었습니다. 근데 정작 왜 사용하는지 제대로 이해를 못하고있는 것 같아 질문드립니다.

  • spring
  • mvc
규원 댓글 1 좋아요 0 조회수 246

MethodEx4 지역변수 선언 관련 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 공부하는 도중에 질문이 있어서 남깁니다. 1. 왜 balance 지역변수는 메인 메서드 범위 내에 선언을 하고 0으로 초기화를 하였는지 왜 amount 지역변수는 while문 범위 내에 선언을 하고 초기화를 하지 않았는지 초기화값을 줄 때와 주지 않을 때의 상황이 따로 있는것인지 위에 3가지가 궁금합니다. 이미 여러 예제들을 통해 제가 작성한 코드와 강사님이 작성하신 코드를 비교해봤을 때, 발생한 공통된 질문들입니다. 감사합니다.

  • java
  • 객체지향
박이수 댓글 1 좋아요 0 조회수 241

addAttackEvent 속도가 너무 빠르면 이런 오류가 발생하네요

해결됨

[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론

addAttackEvent(this, "beam", 3, 1, 100) 속도를 위처럼 빠르게 하면 몹이 한마리 죽으면서 아래 오류가 나오는데 이런 경우는 어떻게 해야하나요? beam.js:31 Uncaught RangeError: Maximum call stack size exceeded at Beam.setVelocity (beam.js:31:19) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18) at Beam.setVelocity (beam.js:32:18)

  • javascript
  • phaser
Fork 댓글 2 좋아요 0 조회수 325

Route 53 , Nginx 관련 질문

해결됨

AWS 전 직원이 알려주는 AWS 아키텍처

안녕하세요! 강의 정말 잘 보고 있습니다. 저도 웹 검색을 통해 주먹 구구식으로 AWS 를 사용하다가, 강사님의 강의를 들으니 왜 이런 설정을 해야하는지 이해가 잘갑니다. 정말 감사합니다. 근데 하나 궁금한게 생겨 질문드립니다. https 인증을 위해 강의에서 ACM을 사용하셨는데, 그 방식을 유지한다면 추후에 백엔드 서버에 nginx를 설치하여 웹서버를 구축할 필요하가 있는걸까요? 현재 제가 구축한 웹서버는 nginx와 certbot을 이용하여 https인증을 진행한 상황입니다. 강사님의 강의를 듣고 업데이트를 해볼 생각인데, 궁금해서 질문드립니다. (Docker를 이용하여 백서버와 nginx, certbot 이미지를 사용해서 서버를 구축해볼 예정이었는데, nginx,certbot이 꼭 필요한지 의문이 들었습니다.)

  • aws
dhj100 댓글 1 좋아요 1 조회수 395

pip는 내부 또는 외부명령 ,실행할 수 있는 프로그램

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 기본편

pip는 내부 또는 외부명령 ,실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 나옵니다. 그래서 인터넷에서 떠돌아다니는 걸 아래와 같이 해서 해봐도 되지 않습니다. 환경변수 설정이 되어 있습니다. 동시에 위처럼 오류가 나는데요. pip를 실행할수가없습니다. 도와주세요. ㅠ.ㅠ

  • python
  • 웹-크롤링
kim seungwon 댓글 2 좋아요 0 조회수 3530

5 라이프사이클 모듈화 - 질문

미해결

Svelte.js [Core API] 완벽 가이드

크게 3가지 정도 동작이 이상해서 문의 드립니다. 1) 강의 따라 입력하고 실행하다 보면 내가 입력한 코드가 자동으로 없어 지네요. 에러 나서 살펴보면 그래요 주로 import 로 시작하는 문장이구요 다른것두 있는지는 ... 2) 저장 세이브 하면 코드 뒤에 자동으로 세미콜론이 붙네요. 삭제해도 또 붙구요, 안 붙는 방법이 없을까요 또한 import { aaa, bbb} 라면 지가 맘대로 { bbb, aaa } 순으로 순서가 바뀌구요 또한 세로로 정렬이 되네요. 3) App.svelte 파일에서 {#if done} 로 해야 동작하네요 강의내용대로 $done 하면 안되구요 Something.svelte 파일에서는 $ 붙여야 하구요 세팅이 깨졌나요, 아님 다른 이유가 있는지 모르겠네요. 또한 동작이 좀 틀립니다. Hello Lifecycle! 는 변하지 않고 계속 보이구요. 코드가 틀린지 몰라 몇번이나 봐도 그건 아닌거 같구요 4) 올리신 코드는 Trello 코드 같은데 별도로 각 강의마다 했던 짧은 코드지만 파일로 올려주셨으면 조겠네요. 강의 화면 찾아가면서 비교하기 너무 힘들고 시간이 많이 걸리네요.

  • svelte
  • rollup
  • sortable
cdway 댓글 1 좋아요 0 조회수 310

오메 갑자기 난이도가 확 올라간 느낌입니다 ㅠ

미해결

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

csv 함수들이 많네요.. pandas 들어가기도 전에 벌써 할께 많네용 pandas에 들어가기 전 이정도 csv 함수들은 인지가 되어야 하겠죠?

  • python
  • pandas
홍태경 댓글 1 좋아요 0 조회수 273

섹션 5 - 3(타입 안전 열거형 패턴) if 문대신 개선된 switch 문으로 변경

해결됨

김영한의 실전 자바 - 중급 1편

package enumeration.ex2; public class DiscountService { public int discount(ClassGrade grade, int price) { if (grade == ClassGrade.BASIC) { return price / 100 * 10; } if (grade == ClassGrade.GOLD) { return price / 100 * 20; } if (grade == ClassGrade.DIAMOND) { return price / 100 * 30; } return 0; } } package enumeration.ex2; public class DiscountServiceTest { public int discount(ClassGrade grade, int price) { switch (grade) { case ClassGrade.BASIC -> { return price / 100 * 10; } case ClassGrade.GOLD -> { return price / 100 * 20; } case ClassGrade.DIAMOND -> { return price / 100 * 30; } default -> { return 0; } } } } 안녕하세요. 위의 코드 같이 if 문으로 사용하면 정상적으로 실행이 가능한데 아래 처럼 if 문을 개선된 switch 문으로 바꾸면 왜 컴파일 오류가 뜨는지 정확히 알고 싶습니다. case 에는 리터럴 상수만 사용 가능하고 참조값은 case에 적을 수 없는 것 같은데 맞나요?

  • java
  • 객체지향
따뜻한 당나귀 댓글 2 좋아요 0 조회수 448

dataSource 우선순위(?)

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] ItemServiceApplication에 test일때만 dataSource를 직접 정의해주었는데 인메모리 DB가 properties에 정의한 datasource보다 우선되는건가요? h2 서버 끄고 properties는 그대로 둔 채 돌려도 정상작동 하는 것으로 봐선 properties의 datasource는 아예 시도를 안 하는 것 같은데... 인메모리가 있으면 무시하고 넘어가는 것인지 궁금합니다!

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
차노쓰 댓글 1 좋아요 1 조회수 313

slack 초대 부탁드립니다!

해결됨

코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)

bigcocoa2002@gmail.com 입니다. 감사합니다!

  • git
  • github
  • 버전관리시스템
selby 댓글 2 좋아요 1 조회수 292

강의에서 진행된 React-query로 prefetchQuery와 서스펜스를 사용한 패턴에 대해서 궁금한게 있습니다!

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 강사님! 이 강의 덕분에 Next를 기반으로 다양한 프로젝트들을 진행할 수 있게 됐습니다! 그러던 도중, 문득 강사님에게 배운 일부 내용에 대해 궁금한것이 추가적으로 생겨서 질문드립니다. prefetchQuery를 하게 될 경우 그 원리가 궁금합니다 export default async function TabDeciderSuspense() { const queryClient = new QueryClient(); await queryClient.prefetchInfiniteQuery({ queryKey: ['posts', 'recommends'], queryFn: getPostRecommends, initialPageParam: 0, }); const dehydreatedState = dehydrate(queryClient); return ( <HydrationBoundary state={dehydreatedState}> <TabDecider /> </HydrationBoundary> ); } 위 코드에서 HydrationBoundary 로 dehydreatedState를 넘겨주는 원리가 queryFn: getPostRecommends 를 통해 반환받은 값이 캐싱된 QueryClient인스턴스 자체 를 클라이언트 컴포넌트로 넘겨주고 클라이언트 컴포넌트에서는 넘겨받은 QueryClient인스턴스에서 queryKey를 통해 캐싱 데이터를 바로 사용하는 것인가요? 아니면 QueryClient 인스턴스 자체를 전송하는 것이 아니라, 인스턴스에 저장된 데이터와 상태 정보만 (queryFn: getPostRecommends 반환값)클라이언트 사이드에서 사용할 수 있는 형태로 만든 뒤(=직렬화) 클라이언트 사이드에서 이 정보만 QueryClient(RQProvider.tsx에서 만든)에 적용하는 것인가요? 다른 글을 보면 강사님께서 prefetchQuery를 사용한 이유가 해당 페이지에 왔을 때 미리 데이터를 불러와서 SEO 측면에서 유리함을 가져가기 위해서라고 하셨는데, prefetchQuery없이 서버 컴포넌트에서 fetch → 하위 클라이언트 컴포넌트에 props로 전달 하는 형태도 동일한 효과를 가져가는게 맞는것일까요? 이 강의에서 진행했던, 서버 컴포넌트의 Suspense + 클라이언트 컴포넌트의 useSuspenseQuery 의 패턴을 적용할 때 발생하는 문제가 있습니다. (이 부분은 강사님의 코드가 아니라 저 혼자 이 강의를 토대로 직접 실습을 해보면서 맞닥뜨린 문제입니다.) 현재 클라이언트 컴포넌트에서는 CORS대비 프록시를 사용하고 있습니다 // next.config.js async rewrites() { return [ { source: '/api/:path*', // 외부 백엔드 api로 프록시 destination: `${process.env.NEXT_PUBLIC_BASE_URL_DEV}/api/:path*`, }, ]; }, 서버 컴포넌트에 Suspense를 걸어줍니다 // page.tsx const page = ({ params }: PageProps) => { const slug = params.id; return ( <div> <Suspense fallback={<Spinner />}> <EditPresentation slug={Number(slug)} /> </Suspense> </div> ); }; 클라이언트 컴포넌트에서 useSuspenseQuery를 사용합니다 const EditPresentation = ({ slug }: EditPresentationProps) => { const { data: value } = useSuspenseQuery({ queryKey: ['upload', slug], queryFn: async (presentationId: number) => { // 프록시 api const response = await fetch(`/api/presentations/${presentationId}`, { method: 'GET', }); if (response.ok) return await response.json(); }, }); return <>...</>; }; export default EditPresentation; 원래 이론대로라면 서버 컴포넌트의 <Suspense />에 useSuspenseQuery의 queryFn이 걸려야 하는데, 브라우저 새로고침을 하게 되면 실행은 잘 되면서 동시에 아래의 에러가 발생합니다… (제 생각은) 클라이언트 컴포넌트도 어쨌든 처음에 서버를 거치게 되는데, 아마 서버에서는 프록시를 사용한 api를 읽어내지 못해서 발생하는 문제 같긴 한데,,, 혹시 이런 경우에는 어떻게 처리하는게 좋을까요...ㅠ

  • react
  • next.js
  • react-query
  • next-auth
  • msw
kraf 댓글 2 좋아요 0 조회수 404

예외 처리

미해결

김영한의 실전 자바 - 중급 1편

수업중에 만약 예외 처리를 못하고 계속 던지면 main() 밖으로 나가는 순간 예외 로그를 출력하면서 시스템이 종료된다고 나와 있는데, 시스템이 종료된다는 말은 무슨 말인가요 ? 저 아래 코드에서 다른 줄에 있는 .... 코드를 실행하지 않고 line 10 으로 건너뛴다는 이야기인가요? 아니면 건너뛰지도 않고 그냥 끝나버린다는 말인가요 ? public class Main { public static void main(String[] args) { ........ .......... } } ( line 10)

  • java
  • 객체지향
ghuhan18 댓글 2 좋아요 0 조회수 367

slack 초대 부탁드립니다.

해결됨

코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. bigcocoa2002@gmail.com 입니다. 감사합니다!

  • git
  • github
  • 버전관리시스템
댓글 2 좋아요 1 조회수 337

섹션1 3번 레이아웃 deprecated 경고

해결됨

[iOS] Swift Modern Collection View & MVVM 패턴 가이드

createListCarouselSection() 함수에서 사용되는 let group = NSCollectionLayoutGroup.vertical(layoutSize: groupSize, subitem: item, count: 3) 'vertical(layoutSize:subitem:count:)' was deprecated in iOS 16.0 와 같은 경고가 뜨는데, let group = NSCollectionLayoutGroup.vertical(layoutSize: groupSize, repeatingSubitem: item, count: 3) 으로 바꿔서 빌드하면 빌드는 되지만, 정상적으로 3개가 표시되지 않는 이슈가 있습니다. NSCollectionLayoutGroup.vertical(layoutSize: groupSize, repeatingSubitem: item, count: 3)을 사용해서 정상적으로 표기되려면 어떻게 해야하나요?

  • ios
  • mvvm
  • rxswift
Dongjun Kim 댓글 2 좋아요 0 조회수 362

dockerfile, docker compose 질문드립니다.

해결됨

실리콘밸리 엔지니어가 가르치는 파이썬 장고 웹프로그래밍

안녕하세요 선생님 🙂 docker 관련 질문드립니다. 첫번째 질문 docker 를 사용하여 django 환경만들기에서 docker file과 docker compose 두개 파일을 생성하여 환경을 구축하셨는데요. dockerfile은 필요한 파일들을 설치하는 이미지 구축 docker compose 는 django를 실행하기 위한 실행 환경 설정과 실행 으로 이해하면될까요? 두번째 질문 다른 python 프로젝트들을 구축할때도 동일한 방식으로 (dockerfile, docker compose) 구축하나요? 감사합니다.

JP 댓글 1 좋아요 1 조회수 260

인기 태그

인프런 TOP Writers

주간 인기글