묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
pyinstaller -w -F 실행 중 에러
pyinstaller -w -F를 실행하면 이런 에러가 뜹니다..ㅠㅠ .exe 파일도 생성 안 되구요어떻게 해결해야 할까요?? FileNotFoundError: Icon input file /Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/PyInstaller/bootloader/images/icon-windowed.icns not found
-
해결됨면접과 취업을 부르는 '퍼블리셔 개인 포트폴리오 홈페이지' 제작
현재도 float 사용은 중요한가요?
안녕하세요 선생님 강의 들으면서 취업준비 열심히 하고 있는 학생입니다먼저 찾아봤는데 비슷한 질문들은 없는 것 같아서 질문드립니다, 같은 질문이 있었다면 죄송합니다 궁금한 점이 있는데 취업을 위해 포트폴리오를 제작할 때float를 주로(?) 사용하여 제작하되, flex와 grid를 사용한 포트폴리오도제작하여 사용 경험을 어필할 수 있어야 된다고 들었는데요이게 현재도 통용되는 이야기인지 궁금합니다이전에는 ie에서의 flex 및 grid 호환성 문제때문에float를 주로 사용한 걸로 알고있는데(아니라면 죄송합니다)ie지원종료가 된지 2년이 넘어가는 현 시점에서도 float는 여전히 중요한가요?아니면 float를 사용할 줄 알되 flex와 grid를 중점적으로 다룰 줄 알아야 할까요?
-
해결됨따라하며 배우는 리액트 네이티브 기초
진행도가 100% 안찍혀요
안녕하세요. 모두 수강했는데 진행도가 100% 안찍히는데 원인을 알수있을까요? 혹시 마지막 강의 "." 제목으로 된것 떄문인가요?이거 어떻게 수강 체크하는지 알수있을까요??
-
미해결견고한 결제 시스템 구축
멱등키에 request를 넘기는 것
uuid만을 사용해도 충분히 유니크할 것 같은데 request 자체를 넘겨서 어떻게 사용하는 건가요?
-
미해결실습으로 손에 잡히는 SQLD의 정석(2과목)
그룹 함수 데이터 모델
sales 라는 테이블이 어디 있는지 모르겠어요..깃허브에도 찾아봤는데 안보여요 ㅠㅠㅠ
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
백로그에 대한 질문이 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]서버에서는 서버 소켓으로 PORT 번호 지정해서 열어놓고클라이언트가 TCP 연결을 완료하면 서버에서 백로그큐에 연결 정보를 저장하고, 서버에서 accept()를 하면 큐에서 꺼내 소켓을 생성한다고 설명하셨습니다. 근데 GPT나 다른 사람의 내용을 종합하면 클라이언트의 TCP 연결이 요청되면 해당 연결 정보를 syn 큐에 저장하고 연결이 완료되면 os에서 백로그에 저장한 뒤, 서버에서는 accept()를 하면 단순히 백로그에 대한 정보를 꺼내서 소켓을 만든다고 합니다. 내용을 정리하던 중 헷갈려서 어떤 것이 정확히 맞을지 궁금해서 질문드립니다!
-
미해결BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)
[빠짝스터디 1주차 과제] ARRAY, STRUCT 연습 문제/ PIVOT 연습문제/ 퍼널 쿼리 연습 문제
삭제된 글입니다
-
미해결[유니티6] 따라하면서 배우는 고박사의 2D 플랫포머 게임 제작
03-04 배경화면 스크롤에서 MainCamera의 depth를 수정해야 되지 않나요?
원래 있던 depth -1로 했더니, 배경화면만 나와서 depth 1로 했더니 잘 되는 것 같아요.
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
섹션2 벽 부분 질문입니다.
17:45초에 울타리 크기를 키우고 있는데 s누르고x로 사이즈 키우니 이렇게 되네요.. ㅠ- 안쪽은 정상처럼 보여요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
준영속 상태 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]준영속 상태란 persist context 안에서 한번이라도 관리된 적이 있는 entity의 상태를 의미한다고 알고 있습니다.하지만 찾아본 바에 의하면 jpa가 '한번이라도 관리된 적이 있는지' 여부를 추적하는 메커니즘을 가지고 있는 것 같지는 않고, 단순히 식별자 여부로 판단하는 것 같은데그렇다면Member memberA = em.find(Member.class, 1L);Member memberB = new Member("B", memberA.getId());memberB도 준영속 상태라고 보는 것이 맞나요?memberB가 준영속 상태가 아니라면 사실상 준영속 상태를 만드는 방법은 detach()를 호출하는 방법밖에 없는 건가요?감사합니다.
-
해결됨Next + React Query로 SNS 서비스 만들기
ISR 테스트 중 궁금점
// src/components/TanstackQueryOption.ts import { isServer, QueryClient, defaultShouldDehydrateQuery, } from '@tanstack/react-query' function makeQueryClient() { return new QueryClient({ defaultOptions: { queries: { staleTime: 15 * 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 } }// src/components/TanstackQueryProvider.tsx '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={process.env.NEXT_PUBLIC_MODE === 'local'} /> </QueryClientProvider> ) } // src/app/layout.tsx import Banner from "@/component/Banner"; import Footer from "@/component/Footer"; import Header from "@/component/Header"; import TanstackQueryProvider from "@/component/TanstackQueryProvider"; import type { Metadata } from "next"; import { Inter } from "next/font/google"; import "@/app/global.css"; const inter = Inter({ subsets: ["latin"] }); export const metadata: Metadata = { title: "Create Next App", description: "Generated by create next app", }; export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { return ( <html lang="en"> <body> <TanstackQueryProvider> <div className='container'> <Banner/> <Header/> <main>{children}</main> <Footer/> </div> </TanstackQueryProvider> </body> </html> ); } // src/app/page.tsx 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 function Page () { const newQueryClient = getQueryClient(); newQueryClient.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(newQueryClient)}> <ProductList /> </HydrationBoundary> </section> </> ) }; 'use client' // src/components/ProductList.tsx import Product from "@/component/Product"; import { getProducts } from "@/fetch/getProducts"; import { useQuery, useSuspenseQuery } from "@tanstack/react-query"; import styles from "@/component/ProductList.module.css"; export const ProductList = () => { const {data, isLoading, isFetching} = useSuspenseQuery({queryKey: ['products'], queryFn: getProducts}); console.log(`isLoading: ${isLoading}, isFetching: ${isFetching}`) return ( <div className={styles.productList}> {data?.map((product: any) => ( <Product key={product.item_no} product={product} /> ))} </div> ) }; export default ProductList;// src/components/Product.tsx import Link from "next/link"; import Image from "next/image"; export const Product = ({product} : any) => { return ( <Link href={`/product/${product.item_no}`} prefetch> <Image src={product.detail_image_url} alt={product.item_name} width={500} height={300} /> <h3>{product.item_name}</h3> <span>{product.price}</span> </Link> ) } export default Product;// src/app/product/[id]/page.tsx export default function ProductDetailPage() { return ( <> 상품 상세페에지 </> ) }// src/fetch/getProducts.ts export const getProducts = async () => { const res = await fetch(`http://localhost:9090/api/products`, { method: "GET", headers: { "Content-Type": "application/json", }, next: { revalidate: 10, } }); const currentTime = new Date().toLocaleTimeString(); const data = await res.json(); 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; }// src/server/server.js import express from "express"; import cors from "cors"; const app = express(); const port = 9090; app.use(cors()); app.use(express.json()); app.get("/api/products", (req, res) => { const currentTime = new Date().toLocaleTimeString(); console.log(`Received request at ${currentTime}`); const products = [ { item_no: 122997, item_name: '상품 1', detail_image_url: 'https://picsum.photos/id/237/500/500', price: 75000, }, { item_no: 768848, item_name: '상품 2', detail_image_url: 'https://picsum.photos/id/238/500/500', price: 42000, }, { item_no: 552913, item_name: '상품 3', detail_image_url: 'https://picsum.photos/id/239/500/500', price: 240000, }, // { // item_no: 1045738, // item_name: '상품 4', // detail_image_url: // 'https://picsum.photos/id/240/500/500', // price: 65000, // }, ]; res.json(products); }); app.listen(port, () => console.log('Server is running')); 안녕하세요, fetch와 tanstackQuery를 사용해서 ISR 동작을 테스트하고있었습니다.테스트 마다 .next 파일은 지우고 새로 build 하여 run start를 통하여 확인하였습니다.staleTime과 revalidate 의 시간이 서로 상이한데, 동일하게 설정했을때, 시간의 간격을 두었을때의 차이점을 직접 확인하려고 하였는데 어떤점에서 차이가 나는지 보고도 이해가 안가서 질문드립니다.궁금점 1. staleTime과 revalidate 는 gcTime 처럼 staleTime이 revalidate보다 적은 시간으로 설정을 해야하는지? 그렇다면 그 이유는 gcTime보다 작게 설정하는 이유와 같은지? 가 궁금합니다.2. server.js에 주석처리해놓은 item을 다시 주석을 해지하면 처음 revaildate의 10초 설정으로 인해새로고침을해도 아이템은 계속 페이지에서 3개만 노출되고있고, 상품을 클릭해서 이동을 하면서staleTime의 설정인 15초가 되었을때는 client 요청이 발생하여 아이템이 4개로 잘 노출되고있습니다.하지만 이 때 새로고침을 하게되면 처음 fetch revalidate로 cache되어있던 데이터인 아이템 3개까지만 노출이 되고 새로고침을 한번 더 진행해야 그때서야 4개로 노출이되는데 클라이언트와 서버 쪽이 서로 싱크가 안맞는거같은데 이러한 문제점이 왜 일어나는지 이해가 잘안됩니다!3. 확장된 fetch와 tanstackQuery를 어떻게 분리해서 사용해야할까도 많이 고민이 되는데.. queryFn 에 이미 fetch로 만들어둔 함수를 가져와 사용하니 분리라는 개념을 생각하면 안되는걸까요? fetch를 독립적으로 사용하는 경우도있다고하는데 이 경우는 왜 독립적으로 사용하는지 잘모르겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제 1-2 gold값 가진 데이터 수
gold값을 가진 데이터 수를 구할 때 아래의 코드처럼 조건문 대신 .str과 .sum을 사용해도 괜찮은 건가요?print(df['f3'].str.contains('gold').sum())
-
해결됨C개발자를 위한 최소한의 C++
마지막 주소록 예제 c 파일 한글 깨짐 현상
안녕하세요, 강사님! 양질의 강의 제공해 주셔서 감사합니다.완강까지 마지막 주소록 예제만을 남겨두고 있는데, 다른 cpp 예제들에서는 보이지 않던 한글 깨짐 현상이 발생해 진행에 어려움을 겪고 있습니다. 혹시 해결 방법이 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
서버 배포 관련해서 질문드립니다.
지금 올라와 있는 서버 강의를 듣던 중에 배포 관련해서 궁금하여 질문 남깁니다.c++게임서버를 aws에 배포하는 과정 내용의 강의를 올리실 생각이 있으신가요?배포하는 과정이 궁금합니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
(해결) 각 테스트가 상태를 공유하지 않습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]"회원 리포지토리 테스트 케이스 작성" 강의에서 MemoryMemberRepositoryTest를 작성하시며 @AfterEach를 통해 각 테스트 케이스가 끝날 때 마다 repository 필드의 상태를 초기화해야 한다고 말씀하셨습니다.그런데 저는 별 다른 오류가 나타나진 않아서 다음과 같이 작성해봤습니다.@AfterEach void afterEach() { System.out.println(repository.hashCode()); }그랬더니 각 repository의 해쉬가 서로 다르더라구요. MemoryMemberRepository 구현 내부에서 상태를 출력하게 해보면, 매 테스트 케이스마다 새로운 상태가 되는 것으로 보입니다.제가 잘못 작성한 부분이 있는 걸까요? 아니면 스프링, 라이브러리 버전의 문제인가요? 전체 코드는 다음과 같습니다. 읽어주셔서 감사합니다.// MemoryMemberRepository.javapackage hello.hello_spring.repository; import hello.hello_spring.domain.Member; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; public final class MemoryMemberRepository implements MemberRepository { private final Map<Long, Member> store = new HashMap<>(); private long sequence = 0; @Override public Member save(Member member) { member.setId(++sequence); store.put(member.getId(), member); return member; } @Override public Optional<Member> findById(Long id) { return Optional.ofNullable(store.get(id)); } @Override public Optional<Member> findByName(String name) { return store.values() .stream() .filter(member -> member.getName().equals(name)) .findAny(); } @Override public List<Member> findAll() { return store.values() .stream() .toList(); } public void clearStore() { store.clear(); } }// MemoryMemberRepositoryTest.javapackage hello.hello_spring.repository; import hello.hello_spring.domain.Member; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.*; class MemoryMemberRepositoryTest { MemoryMemberRepository repository = new MemoryMemberRepository(); @AfterEach void afterEach() { System.out.println(repository.hashCode()); } @Test void save() { var member = new Member(); member.setName("spring1"); repository.save(member); var result = repository.findById(member.getId()).get(); assertThat(member).isEqualTo(result); } @Test void findByName() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); var result = repository.findByName("spring1").get(); assertThat(result).isEqualTo(member1); } @Test void findAll() { Member member1 = new Member(); member1.setName("spring1"); repository.save(member1); Member member2 = new Member(); member2.setName("spring2"); repository.save(member2); var result = repository.findAll(); assertThat(result).hasSize(2); } }
-
해결됨Godot Engine 으로 시작하는 첫 게임 개발
디스코드 서버는 어떻게...^^;;
디스코드 서버는 어떻게 접속하면 되나요???디스코드를 한번도 사용해보지 않았어요...안내를 찾아보고 하려고 했는데 안내도 못찾겠어요,.. -자동차가 보이지 않는 문제 때문에 프로젝트 파일을 서버에 올려보라는 제안을 받은 후-
-
미해결유니티 AR로 만드는 FPS 게임
총 구현_4 강의에 필요한 indicator image 가 없습니다.
올려주신 강의 자료에 총 구현_4 강의에 필요한 indicator image 가 없습니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
혹시 강의에서 오토스케일링은 배울수있을까요?
모든강의를 구매할 예정입니다.스프링 강의를 제외하고 구매하고싶습니다만 현재 까지 강의를 들었을때 제가 스프링 서버를 두개를 뛰운다음에 유레카로 로드밸런싱하는것 같은데 필요에따라서(서비스요청이 많아지면)자동적이게 설정한대로 확장하게 만들수 있나요? 이건 젠키스 강의로봐야하나요?- 오토스케일링 여부또한 하나의 ec2 에 모든 로직을 넣어서 확장하는게 아니라 여려 ec2 에서 스케일링 하는 강의가있나요?스프링 배포까지 공부해야할까요?-ec2 분산 여부
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
안녕하세요 강사님 정렬에 대해서 설명이 조금 더 듣고 싶습니다.
#include <queue> #include <iostream> #include <vector> #include <set> using namespace std; int N; vector<vector<int>> n; vector<int> ch; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); FILE* fp; freopen_s(&fp, "input.txt", "rt", stdin); cin >> N; ch.resize(N, 0); for (int i = 1; i <= N; i++) { int a, h, w; cin >> a >> h >> w; n.push_back({ a, h, w }); } //sort(n.begin(), n.end(), [](const vector<int>& a, const vector<int>& b) { // return a[0] > b[0]; }); int max = 0; ch[0] = n[0][1]; for (int i = 1; i < N; i++) { int a1 = n[i][0]; int h1 = n[i][1]; int w1 = n[i][2]; int res = h1; for (int j = 0; j < i; j++) { int a2 = n[j][0]; int h2 = ch[j]; int w2 = n[j][2]; if (a1 < a2 && w1 < w2) { if (h1 + h2 > res) { res = h1 + h2; } } } ch[i] = res; if (res > max) { max = res; } } cout << max; } 강사님께서도 정렬을 먼저 하고서 알고리즘의 진행을 설명해 주셨는데, 저런식으로 조건을 넣어 줄 경우 정렬을 하지 않아도 상관이 없을 것 같았는데 답이 다르게 나오더군요.무슨 차이인가요?
-
미해결
🔥IT 직군 취업과 커리어 성장을 위한 사이드 프로젝트 참여자 모집🔥[스위프 7기]
나만의 독보적인 포트폴리오를 만들고 싶다면?단기간에 프로젝트 A to Z를 경험하고 싶다면?타 직군과 소통하며 협업을 경험하고 싶다면?위와 같은 고민을 하고 있다면 지금 당장 ‘스위프 7기’에 지원하세요!완벽하게 취.뽀. 하고 싶은 대학생&취준생&주니어 모두 환영! (비전공자도 환영🙌) 📢 [스위프란?]스위프는 PM, 디자이너, 개발자가 한 팀으로 웹개발 단기 프로젝트(6주)를 진행하며 아이디에이션부터 출시까지 경험하고 성장할 수 있는 프로그램입니다. 스위프를 통해 나와 맞는 팀원과 함께 프로젝트의 전 과정을 경험하고, 나만의 차별화 된 포트폴리오를 만들 수 있어요! ⭐ [참가 혜택]체계적으로 협업할 수 있도록 스위프 전용 협업 툴 지원!초보자도 쉽게 프로젝트를 진행할 수 있는 가이드라인 및 템플릿 제공!GitHub 연동만으로 쉽고 빠른 웹 호스팅 지원!포트폴리오로 활용할 수 있도록 프로젝트 결과물 보존!현직자가 답변해주는 상시 QnA 창구 운영!기업 채용 연계 서비스 제공!팀 회의를 위한 오프라인 공간 제공!→ 자세히 알아보기 https://dub.sh/swyp/benefit 🙌🏻 [모집 대상]- 서비스 기획에 관심 있는 PMㆍ기획자, 디자인 툴 하나라도 사용해 본 디자이너, 프로그래밍 언어를 하나라도 공부해 본 개발자, 모두 환영해요!- 한 번도 사이드 프로젝트 해본 적 ‘없’는 사람? 오히려 좋아요!- 경험이 부족해도 포트폴리오가 없어도 괜찮아요. 당신의 의지와 열정이면 충분해요! 🔥 [참가비]- “단돈 99,000원!”참가비 249,000원수료 시 현금 리워드(15만원) 지급 📅 [일정]- 지원 마감 : 10/27(일)- 합격자 안내 : 10/28(월) 20:00- 팀 빌딩 : 10/29(화)~10/31(목)- 킥오프 미팅 : 11/2(토) 10:00- 프로젝트 발표 및 네트워킹 행사 : 12월 28일(토)※ 세부 일정은 합격자에 한해 일괄 안내 예정 🥳 [선배들의 후기]프로젝트 결과물 https://dub.sh/swyp/project후기 모음 https://dub.sh/swyp/review 📌 [지원 방법]신청서 작성 https://swyp.swyg.im/ 🙋 [문의]Contact : http://pf.kakao.com/_kiszn 👉 스위그(SWYG)에 대해 더 알고 싶다면?홈페이지 https://www.swygbro.com인스타그램 https://www.instagram.com/swyg_official