묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨김영한의 실전 자바 - 중급 2편
강사님 질문이요. 평균적으로 하루에 얼마나 강의에 시간을 투자하시나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]말 그대로 입니다. 영한님은 하루에 자바 강의를 찍을 때 평균적으로 하루에 시간을 얼마나 투자하시나요?('어레이 리스트 에서 링크드리스트로 변환 할때 이런 것은 얼마나 생각을 해야지 나오지?(11:30~40)'라는 생각이 들어서 질문을 합니다.)
-
해결됨[Unity] 함께 만들어가는 방치형 게임 개발
파이어베이스 데이터베이스 불러오기 궁금한점이 있어요.
데이터 베이스 불러올때 public void ReadData() 함수에서만약에, 저장된 파일이 없을때 불러오려고 하면 에러날수도있을거같아서 혹시if(그 유저의 저장된파일이 있다면){ ReadData(); //데이터를 불러온다. }else{ return;} 이렇게 코드를 짜보고싶은데위에서 if 안에 들어갈만한 (그 유저의 저장된파일이 있다면) 에혹시 뭐라고 쓰는게 좋을까요? ㅠㅠ
-
해결됨실습으로 손에 잡히는 SQLD의 정석(2과목)
SYSDATE 실제 시간이랑 차이나는 이유
안녕하세요. 강의 잘 듣고 있습니다.이것 저것 실습해보다가SELECT SYSDATEFROM dual;이렇게 작성했을 때 실제 제가 하던 시간과 9시간이 차이가 나는 것을 발견했습니다. (오후 12시인데 추출값은 오전 3시로 나옴. 다른 것은 현재와 일치함.)이렇게 차이가 나는 이유가 있을까요? 수정할 수 있는 방법이 있나요?
-
미해결실전! Querydsl
fetchOne 반환 값 / 실무 Exception
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]fetchOne()은 결과 값이 없을 경우 null을반환 하는데 왜 Optional<Member>로반환 하지 않나요? fetchOne()은 member가 없을 경우 null 반환 합니다.결과 값을 Optional.ofnullable()로 감싸서 반환 후서비스 계층에서 null 이면 안될 경우 RutTimeException을 상속한 커스텀 Exception을 발생시키고 advice에서 처리 하는게 맞나요?
-
해결됨세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
DP (BOJ 12865) 풀이에 관한 질문
import sys input = sys.stdin.readline n, k = tuple(map(int, input().split())) dp = [0 for _ in range(k+1)] minVal = sys.maxsize for _ in range(n): w, v = tuple(map(int, input().split())) dp[w] = v if w < minVal: minVal = w for i in range(minVal+1, k+1): maxVal = -1 for j in range(minVal, i): maxVal = max(maxVal, dp[j] + dp[i-j], dp[i]) dp[i] = maxVal print(dp[m])안녕하세요 강사님! 우선, 이 강의가 저한테 정말 도움이 되고 있음에 감사드립니다! 저는 위와 같이 dp 테이블을 2차원으로 할 생각을 못하고 풀었다가 시간초과가 났습니다. 아직 dp가 어렵게 느껴져서 dp 테이블 설계를 잘 못하겠네요..ㅠㅠ다행히 강의에서 dp 문제는 올려주신 강의만 제대로 숙지하면 될 것 같다고 하셨는데 dp 문제를 잘 풀기 위한 다른 팁 같은게 있을까요?
-
미해결그림으로 배우는 자바, 파트1: 입문!
인강에 나온 자료 똑같이 보고 싶은데 혹시 있나요?
자료 관련 주소가 있을까요?
-
해결됨Next + React Query로 SNS 서비스 만들기
두개의 차이점
안녕하세요, 아래 ISR에 대해서 질문드렸었는데, nextjs 에서 2가지 구현 방법이있다고 해서두가지가 어떤 차이점이 있고 어떻게 활용하는게 좋을지 궁금해서 질문드립니다!1번 방법 = fetch API 의 revlidate를 활용하여 ISR 구현import ProductList from "@/component/ProductList"; import { getQueryClient } from "@/component/TanstackQueryOption"; import { getProducts } from "@/fetch/getProducts"; import { dehydrate, HydrationBoundary, QueryClient } from "@tanstack/react-query"; import Image from "next/image"; export default async function ProductPage () { const queryClient = getQueryClient(); await queryClient.prefetchQuery({ queryKey:['products'], queryFn: getProducts, }) return ( <> <section className='visual-sec'> <Image src="/visual.png" alt="visual" width={1920} height={300}/> </section> <section className="product-sec"> <h2>상품 리스트</h2> <HydrationBoundary state={dehydrate(queryClient)}> <ProductList /> </HydrationBoundary> </section> </> ) }import { isServer, QueryClient, defaultShouldDehydrateQuery, } from '@tanstack/react-query' function makeQueryClient() { return new QueryClient({ defaultOptions: { queries: { staleTime: 10 * 1000, }, dehydrate: { shouldDehydrateQuery: (query) => defaultShouldDehydrateQuery(query) || query.state.status === 'pending', }, }, }) } let browserQueryClient: QueryClient | undefined = undefined export function getQueryClient() { if (isServer) { return makeQueryClient() } else { if (!browserQueryClient) browserQueryClient = makeQueryClient() return browserQueryClient } }'use client' import { getQueryClient } from '@/component/TanstackQueryOption'; import { QueryClientProvider, } from '@tanstack/react-query' import { ReactQueryDevtools } from '@tanstack/react-query-devtools'; import { ReactNode } from 'react' export default function TanstackQueryProvider({ children }: { children: ReactNode }) { const queryClient = getQueryClient() return ( <QueryClientProvider client={queryClient}> {children} <ReactQueryDevtools initialIsOpen={true} /> </QueryClientProvider> ) } export const getProducts = async () => { const res = await fetch(`http://localhost:9090/api/products`, { method: "GET", headers: { "Content-Type": "application/json", }, next: { revalidate: 10, } }); const data = await res.json(); const currentTime = new Date().toLocaleTimeString('ko-KR', { hour: '2-digit', minute: '2-digit', second: '2-digit', fractionalSecondDigits: 3, hour12: false, }); if (typeof window === "undefined") { console.log('fetch products', 'server', currentTime); console.table(data); } else { console.log('fetch products', 'client', currentTime); console.table(data); } if(!res.ok) { throw new Error("Failed to fetch products"); } return data; }2번 방법 = export const revalidate 로 시간 설정 후 fetch로 받은 data 값을 바로 렌더링 시키기 import Product from "@/component/Product"; import styles from '@/component/ProductList.module.css'; import Image from "next/image"; export const revalidate = 10; export default async function Product2Page() { const data = await fetch('/api/products'); const products = await data.json(); console.log(revalidate, 'Product2Page'); return ( <> <section className='visual-sec'> <Image src="/visual.png" alt="visual" width={1920} height={300}/> </section> <section className="product-sec"> <h2>상품 리스트</h2> <div className={styles.productList}> {products.map((product: any) => ( <Product key={product.item_no} product={product} /> ))} </div> </section> </> ) } 2개다 ISR로 구현되며, 1번 방법은 Data Cache 캐싱 매커니즘을 활용하고,2번 방법은 Full Router Cache 캐싱 매커니즘을 활용한다의 차이점으로 생각이 드는데,이 외에 다른 차이점과 실제 개발을 하면서 선호되는 방식이 따로 있을까요? 해당 페이지만 보았을때는 2번 방법으로 해도 어차피 주기적으로 다시 생성해서 최신 데이터를 반영하면 복잡하게 react-query를 사용하고, Hydration을 하면서 데이터를 동기화할 필요가 있나 싶어서 어떻게 사용해야할지 감이 안잡히네여
-
미해결[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작
02-02 플레이어와 발판: PlatformBase 상속클래스 어태치문제
이번 강의에서 PlayerController의 다음 코드가 작동하려면void UpdateBelowCollision(){ if( movement.HitBelowObject.TryGetComponent<PlatformBase>(out var platform)){ if(!platform.IsHit){ platform.UpdateCollision(gameObject); // gameObject는 플레이어 } } } 적어도 Platform_00_Moving 프리팹에,PlatformBase를 상속받은 클래스가 있는 스크립트를 어태치해야 될 것 같습니다.그래서 GetComponent로도 찾아지고, UpdateCollision메소드도 실행되구요.
-
해결됨얄코의 떠먹여주는 객체지향 디자인 패턴
파사드 패턴에 대해 질문이 있습니다.
안녕하세요 강의 잘 보고 있습니다.파사드 패턴에 대해 질문이 있습니다.얄코님이 올려주신 예시에선 다음과 같이 두 상황이 나온다고 이해했습니다.다양한 서브 시스템을 파사드 클래스로 조합해 하나의 새로운 로직을 만듦.여러 서브 시스템을 생성시키고 세부 로직을 파사드 클래스에 위임.1번의 경우는 일종의 추상화로 이해하였으며, 2번의 경우 서브 시스템에 대한 의존성 주입을 파사드 클래스에 위임 및 세부적인 로직을 캡슐화하는데 의의를 두었다고 이해했습니다. 만약 의존성 주입은 자동으로 이루어지는 3-layer 아키텍쳐에서 파사드 패턴을 도입할 경우 이미 service 레이어에서 내부 로직에 대해 캡슐화가 되었으므로 다양한 서브시스템을 파사드 클래스로 조합하는 것(ex. 1번)에만 집중하면 될까요?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
eslint 설정 문의
안녕하세요. 24년 10월 기준으로 문의드립니다.npm 버전은 10.8.2으로 아래와 같이 프로젝트 생성을 했습니다.npm init vue@latest (eslint, prettier 설정)npm install강의에서와 다르게 .eslinttrc.cjs 파일이 생성되지 않고 아래의 이미지와 같이 생성됩니다. 가능한 현재 버전을 기준으로 해보고 싶습니다. 방법에 대해 문의드립니다!
-
미해결설계독학맛비's 실전 Verilog HDL Season 2 (AMBA AXI4 완전정복)
AXI stream 관련 질문
안녕하세요 🙂RDMA - IP - WDMA 사이에서 데이터 전송할 때 AXI stream을 사용하는 이유는 ready/valid 를 사용함으로써 data의 안정성을 보장하기 위함인가요? 데이터 이동 경로를 설계자 마음대로 바꿔도 되는건지도 궁금합니다. 예를들어 Wire로 연결...AXI lite, standard는 PL영역 밖의 장치 사이에서 사용하였는데요, stream 같은 경우에는 PL영역 내부에서의 데이터 이동에 쓰이지 않습니까 stream은 일반적으로 PL내부에서 많이 사용되나요? 질문이 많았는데.. 항상 좋은 강의와 질의응답에 감사드립니다!
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강의 내용 정리
강의 내용을 듣고 정리하고 학습한 내용을 제 블로그나 노션에 정리해도 괜찮나요?
-
해결됨설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
Image 인식 가속 모델을 설계하려면
안녕하세요. 좋은 강의 감사드립니다. 강의를 모두 수강하고 얻은 지식들을 기반으로 Application을 만들고 싶어 가장 간단한 LeNet-5 모델 연산을 가속하여 Image 인식을 해보고자 합니다. 진행 중 궁금한 점이 있어 질문드립니다. 강의 내에서 AXI Protocol을 사용하여 FPGA의 PS 부분으로 Ref_C 부분을 연산하셨고 PL 부분으로 Weight 값, Feature Map 값 등을 FPGA에 입력해주신 것으로 이해했습니다. 제가 이해한 부분이 맞는걸까요?만약 맞다면 AXI Protocol을 통해 MNIST 데이터셋 등을 넣어주는 과정이 있어야 Image 인식이 될 것 같다는 생각이 드는데 AXI Protocol에 대한 지식을 얻기 위해서는 맛비님의 어떤 강의들을 수강하면 될까요?강의 내에서 제공해주신 Lab Project 코드로 Implementation 결과는 FPGA의 Resource가 대략 7-80% 사용하는 것으로 보여졌습니다. 이게 한 Layer에 대해 그리고 Activation Function이 구현 되지 않았음에도 꽤 많은 HW Resource를 사용하는 것 같은데 강의에서 사용하신 ZYBO Z7-20으로는 하나의 모델 전체 연산을 하기에는 Resource가 부족할까요? 아니면 Pipelining이 되어 있기 때문에 크게 상관이 없을까요?좋은 강의 제공해주심에 감사드립니다!
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
dispatch(logoutUser()) 실행시 dispatch(authuser())도 함께 실행되는 문제
dispatch(logoutUser()) 실행시 dispatch(authuser())도 함께 실행되는 문제가 발생하고 있는데 원인을 잘 모르겠습니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
'아래 spring batch 통합 테스트시 @Transactional 사용 어려움 질문'의 추가질문입니다.
아래 질문에서 (https://www.inflearn.com/community/questions/939280/spring-batch-%ED%86%B5%ED%95%A9-%ED%85%8C%EC%8A%A4%ED%8A%B8%EC%8B%9C-transactional-%EC%82%AC%EC%9A%A9-%EC%96%B4%EB%A0%A4%EC%9B%80-%EC%A7%88%EB%AC%B8%EC%9D%B4%EC%9A%A5?srsltid=AfmBOorgNyXxuBBsgtD-dGYQq1p884s2u8Wg1u75xaynYq2EooXmmnnM)즉, 스프링 배치 통합 테스트를 작성하는 경우, 현 강의에서 다루고 있는 테스트 작성법과는 다른 접근이 필요한 것이죠. (배치 수행 시 chunk 단위로 여러 번 트랜잭션이 수행될테니까요)답변을 달아주셨는데요,테스트 클래스에 @Transactional 붙이면, 하나의 테스트 메서드 내 스프링 배치의 작업도 일괄 롤백될테니까, 결국엔 테스트 간에 오류를 안일으키지 않나요..?
-
미해결
중소기업 서류 합격도 쉽지 않은 요즘, 취준생분들의 고민을 듣고 싶습니다.
안녕하세요.저희는 우리나라의 심각한 문제 중 하나인 취업 준비 과정의 고통을 줄이기 위한 서비스를 개발중인 팀 '복어'입니다. 실제 취준생 분들의 고민을 듣고 공감을 바탕으로 서비스를 개발하려 합니다.응답해주신 답변 하나하나가 다른 취준생분들의 고민에 도움이 되는 서비스 개발에 기여될 예정입니다. [설문지 링크]https://bit.ly/3Yi9vOk [설문 대상]신입으로 취업 준비를 하고 계신 분 (100명) [소요 시간]10문항, 5분 [설문 보상]스타벅스 기프티콘 (참여자 100명 중, 10명 선정) 많은 참여 부탁 드립니다.감사합니다!
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
yarn start:dev 명령어 입력시 발생하는 에러
위와 같은 에러가 납니다. ㅠㅠ GPT도 사용하고 이것저것 찾아봐도 해결 방안을 못찾아서 질문 올립니다...
-
미해결스프링 핵심 원리 - 기본편
Member 클래스와 HashMap에 관하여 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요. 스프링 강의를 잘 듣고 있는 사람입니다. 회원 만들기 예제1을 따라 만들던 도중 궁금한 점이 생겨 문의 드립니다. 문의 사항은 아래와 같습니다.Member 클래스를 만들때 Member를 Entity라고 표현을 하시고 클래스 다이어그램에선 Member에 대한 내용이 없어서 이 부분이 궁금합니다. 각 클래스마다 Member를 따로 객체로 생성하지 않고 main문에서 member 객체를 생성하기에 클래스 다이어그램에 들어가진 않은거 같은데, 이 Member 클래스를 왜 Entity라고 표현하시는지 궁금합니다. MemberRepository를 구현하는 MemoryMemberRepository의 해쉬맵의 put을 보면 Long 타입 하나와 Member 하나를 저장할 수 있는 해쉬맵인데요, 근데 Member엔 이미 ID를 저장할 수 있는 private Long id가 있고 main문에서 객체를 생성할때 값을 집어 넣어주는데, 굳이 Member.getId()를 통해 Id 값을 저장해주었는지가 궁금합니다.
-
미해결Practical Testing: 실용적인 테스트 가이드
OrderRepositoryTest에서 Product 객체를 생성하는 것을 생략하고 테스트 해도 괜찮나요?
OrderRepository에서 startDateTime, endDateTime, orderStatus를 파라미터로 받아 List<Order>를 반환하는 findOrdersBy 쿼리메소드를 테스트하려고합니다.OrderRepositoryTest 내부에서 해당 테스트를 작성하던 중 given절에서 Product 객체를 생성하는 과정을 생략하고 Order 객체를 생성할때 비어있는 리스트를 이용하여 생성하도록 하였습니다. @ActiveProfiles("test") @SpringBootTest class OrderRepositoryTest { @Autowired private OrderRepository orderRepository; @DisplayName("원하는 기간과 원하는 주문상태의 주문들을 조회한다.") @Test void findOrdersBy() { // given LocalDate registeredTime = LocalDate.of(2024, 10, 24); Order order1 = Order.builder() .products(List.of()) .orderStatus(PAYMENT_COMPLETED) .registeredDateTime(registeredTime.atStartOfDay()) .build(); Order order2 = Order.builder() .products(List.of()) .orderStatus(PAYMENT_COMPLETED) .registeredDateTime(registeredTime.plusDays(1).atStartOfDay()) .build(); orderRepository.saveAll(List.of(order1, order2)); // when List<Order> orders = orderRepository.findOrdersBy( registeredTime.atStartOfDay(), registeredTime.plusDays(1).atStartOfDay(), PAYMENT_COMPLETED); // then assertThat(orders).hasSize(1) .extracting("orderStatus", "registeredDateTime") .contains( tuple(PAYMENT_COMPLETED, registeredTime.atStartOfDay()) ); }이는 테스트하려는 목적이 Order 객체 내부에 적절한 List<OrderProduct> 값을 가지고 있는지를 검증하려는 것이 아니고 findOrdersBy 쿼리메소드가 적절한 Order객체를 가져오는지를 테스트하는 것이라고 생각하였습니다.위와 같이 실제 객체를 생성하는 것 대신 비어있는 리스트 값을 활용하는 것도 괜찮은지 궁금합니다.
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
ORA-12541
첫 설정하고 잘 db도 연결해서 쿼리도 했는데그다음날 다시 들어가니ORA-12541: 데이터베이스에 접속할 수 없습니다. %s에 리스너가 없습니다. (CONNECTION_ID=NLVRNlPuRjCSIQBsRDyXvQ==)이런 항목이 뜹니다ㅠㅠ