묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Practical Testing: 실용적인 테스트 가이드
response의 위치에 대한 질문이 있습니다
학습 관련 질문을 남겨주세요. 어떤 부분이 고민인지, 무엇이 문제인지 상세히 작성하면 더 좋아요!먼저 유사한 질문이 있었는지 검색해 보세요.서로 예의를 지키며 존중하는 문화를 만들어가요. 안녕하세요현재 프로젝트에서는 service쪽에서 response로 변환을 해주고 있어서, response 객체의 위치가 service쪽에 있는데 response 변환을 controller 쪽에서 해주고 response의 위치도 controller쪽으로 옮기는 것에 대해서는 어떻게 생각하시나요?? service에서는 domain과 관련된 것들만 있는 게 좋지 않나? ( domain entity와 jpa entity를 구분하지 않고 있기는 하지만요.. ) 라는 생각이 있고, response는 api의 응답이라서 아무래도 controller쪽에 있는 게 좋을 것 같다고 생각을 해서 여쭤보게 됐습니다.
-
미해결Next + React Query로 SNS 서비스 만들기
Streaming을 사용하지 않아도 미리 정적인 컴포넌트들을 서버에서 응답을 받습니다
loading.tsx나 Suspense를 사용했을 때, Next의 Streaming이 동작하여 병렬적으로 미리 준비된 컴포넌트는 사용자의 브라우저에서 먼저 보이게 되고, fetch가 완료된 이후에 서버에서 데이터를 클라이언트로 보내줘서 사용자가 보이는걸로 알고 있습니다.하지만, 개발자 도구 Network 탭을 확인해본결과 새로고침을 하였을 때, loading.tsx나 Suspense를 사용을 모두 빼고서 prefetchQuery와 HydrationBoundary, useQuery만을 사용했을 시 Streaming 동작 방식처럼 fetch문 실행이 완료되기 전에 미리 NavMenu나 글자 같이 정적인 요소들이 fetch가 끝나기 전에 이미 브라우저에 도착해있는걸 확인하였습니다.하지만, 딱 한가지 다른 점은 후자 같은 경우는 정적인 컴포넌트가 브라우저에 도착했음에도 화면에 보이질 않고, 전자 같은 경우는 로딩창이나 다른 정적인 요소들은 이미 화면에 미리 보입니다.그렇다면, Next 15 공식문서에 있는 fetch 실행이 끝날때까지 HTML 파일을 서버 사이드에서 렌더링 하는 것이 Blocking 된다는 논리가 이해가 되질 않습니다. (https://nextjs.org/docs/app/building-your-application/routing/loading-ui-and-streaming)위의 코드는 /home의 추천탭을 기준으로 확인하였습니다.이러한 현상이 발생하는 원인이 무엇인지 알 수 있을까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
@Configuration과 @Transactional
안녕하세요 항상 강의를 잘 보고 있습니다.@Configuration과 @Transactional 둘 다 상속을 이용한 proxy기법(CGLIB, AOP)을 사용하는 것으로 확인하였습니다.만약 저가 MemberService라는 class에 @Service, @Transactional를 부여한 후 ComponentScan을 하면 MemberService의 프록시 객체가 빈으로써 생성되어 스프링 컨테이너에 반환되는 것을 확인하였는데 궁금한 것은 @Configuration과 @Transactional 이 둘이 각각 프록시를 생성하는 것인지 혹은 하나만 생성하는 것인지가 궁금합니다.두 번째로 궁금한 것은 프록시는 싱글톤으로 관리가 될 텐데, 프록시가 아닌 target이 가르키는 실제 객체 MemberService는 매 request마다 객체가 새로 생성되어지는 것인지 혹은 최초로 서버가 로드할 때 한 번만 생성이 되는 것인지 궁금합니다. (제 생각에는 @Configuration으로 인하여 후자이지 않을까 생각합니다.)
-
미해결Practical Testing: 실용적인 테스트 가이드
repostory 테스트 코드 작성 이유 관련 질문
제가 테스트 코드 작성이 처음이라 잘 이해하지 못한 것 같은데요repository에서 테스트 코드를 작성하는 이유를 잘 모르겠습니다.. given에서 Product를 삽입하는 과정은 DB의 product에 레코드를 삽입하는 과정으로 대체해서 수행할 수 있을 것 같아서요. DB를 통해 확인하지 않고 리포지토리에 대해 테스트 코드를 작성하는 이유가 무엇일까요?혹시 수동 검증 시 콘솔에서 확인하는 것과 동일하게 직접 사람이 테스트 과정에 개입해야 해서 그러한 것일까요?
-
미해결Practical Testing: 실용적인 테스트 가이드
테스트 코드에서 data.sql 사용 없이 Product를 직접 생성한 이유
테스트 코드 작성 시에 data.sql을 활용하지 않으신 이유가 궁금합니다. @Test 메서드 내에서 Product를 생성하는 것보다 이미 작성된 data.sql을 활용하는 것이 더 편해보이는데 Product 인스턴스를 직접 생성하신 이유가 무엇인가요?혹시 테스트마다 필요로 하는 데이터가 다르기 때문인 것일까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
Object와 Set을 이용해 풀어봤습니다.
function solution(s) { const dic = {} s.split("").forEach((el) => { if (dic[el]) { dic[el]++ } else { dic[el] = 1 } }) const newStr = [...new Set(str.split(""))] return newStr .map((el) => { if (dic[el] && dic[el] !== 1) { return (el += dic[el]) } else { return el } }) .join("") } let str = "KKHSSSSSSSE" console.log(solution(str)) 먼저 오브젝트에 몇 개의 문자가 몇 번 등록되어있는지 저장한 후 set으로 중복을 제거해서 뼈대를 만들었습니다.그 다음으로 반복문을 이용해서 오브젝트를 탐색해 뼈대에 문자열을 합성해주는 방식으로 풀었습니다. 답안에 비해 좀 복잡한 것 같은데 놓치거나 시간,공간복잡성에서 손해가 클까요?
-
해결됨버그헌팅과 시나리오 모의해킹 전문가 되기
msf6 exploit(unix/webapp/wp_admin_shell_upload) 실행 오류
메타스플로잇 프레임워크에 접속해서 도구에 들어가면이런 화면이 뜨고전부 설정한 상태에서 익스플로잇을 하면라는 문구와 함께 실행이 되지 않습니다. 어떻게 해결할 수 있나요? 공격대상은 잘못되지 않았습니다.
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
useAuth 401 error
일단 윈도우유저입니다. 코드는 강사님 코드 그대로라.. 뭐 보여드릴게없습니다. 3-8 듣고있습니다. 에러같은경우는 401에러 axios error입니다. 이상한게 onSuccess가 계속 실행이 안되는데 onSettled은 또 실행이되고.. 확인을해보니 백엔드에서 문제가 있는것같습니다.백엔드에서 확인을해보니 autoguard에 막히는것같아서 일단 지워보고 진행을햇는데도 id가없다고합니다 autoguard를 못뚫으니 토큰문제같기는한데.. 궁금합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
한탄스럽네여
분명 다 똑같이 따라왔는데 JdbcTemplate - 이름 지정 파라미터3 에서 코드를 돌렸더니 작동을 안하네요... 이전강좌까지 다 잘됐는데 아..............................................혹시나해서완성코드 받아서 복붙해도 작동 안하네요 Ai답변이 딴소리 해주겠지만오류때문에 미칠 노릇이네요 풀이자꾸 꺾입니다...
-
미해결스프링 핵심 원리 - 기본편
gradle 오류 - 대입이 사용되지 않습니다.
=========================================프로젝트 생성하고 gradlew을 열었는데 대입이 사용되지 않는다는 오류가 뜹니다. refresh도 해봤는데 오류는 계속 뜹니다. 환경변수도 jdk17로 설정했습니다. 어떻게 하면 오류가 사라질까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
평가지표 문의
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요이 강의를 보면서 이 강의가 학습을 시키기 위한 정식 강의인지, 대충 이런 게 있다고 그냥 넘어가기는 그렇고 적당히 소개하고 말려고 한 강의인가요?엄청난 속도로 위아래 올라갔다 내려가며 쫓기듯이 강의하시는데... 이것이 최선인건지,, 초심자를 위한 최적화된 강의가 과연 맞는 것인지..정신없어서 뭐가 뭔지 손을 못 대겠던데요. 교안으로 제공하면 출력해서 노트하며 복습이라도 할 텐데 이거 뭐 어쩌란 건지 도무지 모르겠습니다.초급자에게 이 강의를 이해 시키려고 하신 강의 맞으신가요?또는 이 강의를 이해하지 못하면 어떻게 되는 걸까요? 이 강의를 어떻게 해석해야 하는지 설명을 요청 드립니다.빅분기가 결국 결과물을 시각화 하는 과정인데 강의에서는 말로만 하고 시각화된 자료도 제공이 되야 효율적이지 않을까 합니다.따라하는 것도 따라하는 것이지만 머리에 한계가 있잖아요. 강사는 아는 내용을 막힘없이 설명하는 것이고, 초심자는 말하는 족족 그대로 머리에 익혀지지 않잖아요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderService의 order() 내에서 Delivery 생성메서드가 아닌 생성자 호출 이유가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]OrderService의 주문 생성 코드에서 Order와 OrderItem은 생성메서드를 통해 객체를 생성하여 저장하도록 하셨는데, Delivery 객체에 대해서는 따로 생성 메서드를 만들지 않고 직접 생성자 호출을 통해 만든 이유가 있을까요?
-
미해결실무 중심! FE 입문자를 위한 React
7-5. 메모 삭제 기능에 문제가 있습니다.
이슈 함수: deleteMemo이슈 흐름: "+" 버튼 클릭, 새로운 메모 아이템(Untitled)생성 → memo 2 삭제 → memo 1 삭제이슈 내용: Untitled 메모 아이템이 있음에도 "메모가 없습니다" 로 처리됨.이유: 삭제 시 배열의 길이가 달라지면서 index 에 영향이가는데 selectedMemoIndex 값은 그에 따라 변하지 않아서단순히 index === selectedMemoIndex 의 조건문으로 만족하지 않음.해결방법: 삭제 시 selectedMemoIndex 에도 새로운 값을 넣어줘야함.저는 아래와 같이 해결했습니다.if (index > selectedMemoIndex) {setSelectedMemoIndex(selectedMemoIndex + 1);} else if (index < selectedMemoIndex) {setSelectedMemoIndex(selectedMemoIndex - 1);} else if (index === selectedMemoIndex) {setSelectedMemoIndex(0);}
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
value_counts와 count 차이
똑같은 빈도수를 구하는 문제에서도어떨 때는 value_counts()를 사용하고어떨 때는 그냥 count()를 사용하시는데 차이가 궁금해요
-
해결됨C# 프로그래밍 기초부터 실전 활용까지
접근 제어자로 필드를 만들어 파생 클래스에서 사용할 때 질문입니다.
class Pokemon { protected string sound = "크아아왕"; protected void Sound() { Console.WriteLine($"{sound}"); } } class Pikachu : Pokemon { public Pikachu() : base {} protected void Sound() { sound = "피카 피카~~!"; Console.WriteLine($"{sound}"); } }이렇게 해서 Pikachu의 인스턴스를 만들어 Sound 함수를 사용하면 "피카 피카~~!"가 잘 출력되는 것을 확인했습니다. 제가 궁금한건 Pikachu 파생 클래스에서 sound 변수를 Sound() 함수 안이 아니라 밖에서 값을 초기화 할 때 왜 에러가 뜨는지 궁금합니다. 그리고 이렇게 함수가 아닌 밖에서 초기화해서 사용할 수 있는 방법은 무엇이 있는지 궁금합니다.class Pikachu : Pokemon { sound = "피카 피카~~!"; public Pikachu() : base {} protected void Sound() { Console.WriteLine($"{sound}"); } }감사합니다!!
-
해결됨C# 프로그래밍 기초부터 실전 활용까지
상속 부분 강좌에서 upcasting을 하는 이유가 궁금합니다.
파생 클래스는 여러 정보들을 부모에게 상속받아 사용하는데, 굳이 자식 클래스의 인스턴스를 upcasing으로 인스턴스를 만드는 이유가 따로 있을까요?혹시 private와 같은 접근 제어자 때문일까요?
-
해결됨실전! Querydsl
DTO 반환 시 JOIN과 FETCH JOIN의 차이점 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]jpa에서 join과 fetch join에 차이점join은 from절에 있는 주체 엔티티만 영속화 fetch join은 연관 엔티티와 주체가 되는 엔티티 모두 영속화한다. 이라고 이해 했습니다그런데 공부하던 중 엔티티 반환이 아닌 DTO을 반환하면 join과 fetch join은 어떻게 영속화 하는지 궁금합니다.
-
미해결실무 중심! FE 입문자를 위한 React
실습링크
실습 링크 들어가니깐 안됩니다.. 새로운 링크 알려주세요
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-D 왜틀
안녕하세요, 큰돌님.http://boj.kr/d79121f090df454eb46693fcd385e6671-D 회문 문제인데, 저는 vector를 사용해서 풀어보았습니다.하지만 어떤 문자열을 넣어도 항상 1(회문)을 출력하여 틀리게 됩니다. 어느 부분이 틀린 건가요?그리고 제가 배열이 나오면 항상 벡터를 사용하려고 하는데 좋지 않은 습관일까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
useSearchParams 에러가 발생합니다
해결했습니다