묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨친절한 블렌더 - [LV.2] 모델링 연습
무늬대로 따라가지 않습니다.
답변해주신대로 찾아서 따라해보는데,10:08 부분에 파란색 무늬 따라 줄이 바뀌어야 하는데 그대로여서요...!
-
해결됨앨런 Swift Concurrency for Swift 6 (Part-2)
재개될 때 스레드 변경시 왜 컨텍스트 스위칭이 발생하지 않는 건가요?
📌 자주하는 질문 모음링크: https://pointed-earwig-996.notion.site/Swift-Concurrency-for-Swift-6-Part-2-1acbbab5ec9280a0944edcab00e027dd?pvs=4안녕하세요. 몇 가지 궁금한점이 있어서 질문남겨요.part.1의 7강, 책 26페이지에서 멈췄다가 다시 실행될때 다른 쓰레드에서도 실행될 수 있다고 되어있는데요.우선 제가 이해한 것은기존의 프로세스(앱)하나당 여러개로 나뉘어서 쓰던 쓰레드가 CPU-프로세스-쓰레드 각 하나씩으로 연결로 바뀌었다.하나의 쓰레드에서 멈췄다 재개했다를 반복하며 재개 전까지 다른 일을 처리할 수 있게 됐다.그래서 프로세스 내부에서 일어나던 컨텍스트 스위칭이 없어졌다.제가 헷갈리는 부분은 아래와 같아요.현재강의 3:15에 보면 한 쓰레드에서 멈췄다 재개했다 하며 중간에 다른 일도 처리하고 하는걸로 보여요. 그래서 컨텍스트 스위칭이 일어나지 않는다고 이해했어요. 그런데 다른쓰레드에서 재개되면 쓰레드가 바뀌는데 왜 컨텍스트 스위칭이 일어나지 않는 건가요?CPU당 하나씩 쓰레드를 가지게 되면 최대 동시 실행할 수 있는 앱은 CPU코어수 만큼으로 제한되나요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
안녕하세요 조회기능 구현에서 에러가 발생했습니다
vscode를 통해 npm start를 한 후, todo/read/숫자를 입력하니까 404에러가 발생했습니다. 그런데 vscode에서 컨트롤S를 눌렀더니 화면이 떴는데 익스플로러 상에서 새로고침을 하니까 다시 404에러가 발생하는데 이유를 모르겠습니다. 이미지를 첨부할 테니 혹시 더 필요하신 게 있으시면 답변해 주시면 감사드리겠습니다.
-
미해결웹 개발의 핵심, HTTP 완벽 마스터하기!
TypeError: querystring is not a function 에러 나시는 분들
querystring.decode(body)로 하시면 해결 가능합니다
-
해결됨IntelliJ를 시작하시는 분들을 위한 IntelliJ 가이드
Presentation Assistant
IntelliJ 2023.03버전부터 플러그인 Presentation Assistant 기능이 인텔리제이로 내장되었다고 합니다. 혹시 플러그인에서 검색이 안 되시는 분들은 settings에서 검색해보시면 찾으실 수 있으실겁니다!
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Executorservice 궁금한게 많습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요?예[질문 내용]실무 웹앱의 특정 api 의 연산속도가 너무 느려ExecutorService 를 활용하여 멀티스레드기법으로 연산속도를 올려볼 계획입니다.ExecutorService executor = Executors.newFixedThreadPool(5);위와 같이 스레드풀의 스레드갯수를 5로 설정하려고합니다. 근데 이때 특정 api 에 동시에 5개의 요청이 들어왔다면 executor 객체가 메모리상에 5개가 생성되면서 스레드풀도 자동으로 5개 생성돼 총 25개의 스레드가 생성될것으로 보이는데 이게 서버에 부하를 주지는 않을지 궁금합니다.아니면 실무에서는 ExecutorService 를 static 싱글톤으로 선언해서 더이상 인스턴스가 생성되지 않게 하고 캐시풀 전략을 사용해야하는건지 궁금하네요. 그리고 ExecutorService 같은건 요청이 몰리는 api 같은데서 사용하는게 아니라 배치작업같은데서 사용해야하는건지도 궁금합니다.. 궁금한게 많은 주니어 개발자입니다. 영한님의 답변을 듣고싶네요 ㅠㅠ ai 말고 ㅠㅠ
-
미해결1시간만에 끝내는 virtual thread in spring boot
ThreadPoolTaskExecutor에서의 가상스레드
안녕하세요! 너무 좋은 무료강의 감사합니다:)강의를 듣는와중에 궁금증이 생겼는데요. log.info("3) Service virtual true: {}", Thread.currentThread().isVirtual());현재 스레드가 가상스레드가 맞는지 확인 하는 위와 같은 코드를 심어 실행해 보았습니다. 컨트롤러의 경우 항상 true를 리턴했고, SimpleAsyncTaskExecutor의 경우에도 true를 리턴했습니다. 그러나 예제코드에서 세팅하신 ThreadPoolTaskExecutor의 설정으로는 false를 리턴하였습니다. 해당 현상을 gpt한테 100% 공식문서 기반으로 설명하라고 하자 ThreadPoolTaskExecutors는 VirtualThread와 상호작용 중이라는 힌트 정보를 붙인 것이다(?) 라는 답변을 하여 이해하기가 힘들었습니다. 일단 threadPoolTaskExecutor.setThreadFactory(Thread.ofVirtual().name("vthread-", 0).factory());와 같은 ThreadPoolTaskExecutors의 세팅을 추가해주니 isVirtual 에대한 true값이 나오긴 했습니다. 제 부족한 견문으로는 이해가 되지 않는 현상이라 강사님이 도움을 주실수 있나해서 문의드립니다 🙂
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
clone() 메서드를 재정의함으로써 Deep copy로 구현한다로 이해하면 될까요?
안녕하세요!한가지 아리송한 부분이 있어 질문 드립니다:)20:30 정도에 clone()이 등장하는데 clone()을 그냥 사용하는 것이 아니라 '재정의 하여 사용함으로써 Deep copy가 된다'는 의미로 이해하면 될까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
변수와 출력 문자에 대해 궁금해요
변수에 사용되는 데이터가 문자일때 띄어쓰기 할때 underbar 없어도 출력되는데 괜찮나요? 연습시 정상 출력됩니다.예시) home="South Korea, Gwang ju"변수를 한글로 해도 괜찮습니까? 짧은 구문은 가능한데, 나중에 복잡해져도 에러가 발생하지 않나 궁금합니다.예시) 강남=1 print (강남) 1
-
미해결이득우의 언리얼 프로그래밍 Part3 - 네트웍 멀티플레이 프레임웍의 이해
3분 39초 경에 질문이 있습니다
서버와 클라이언트 두 곳 모두 액터가 존재하지 않을 경우라고 했는데, 이 경우는 단순히 액터가 스폰하지 않았기 때문에 None 이라는 건가요?
-
미해결절대강좌! 유니티 6 - TPS 게임으로 배우는 유니티 마스터클래스
안녕하세요 이벤트 버스 패턴에 대해서 궁금한게 있어서요
안녕하세요 선생님 다름이 아니라스크립터블 오브젝트를 활용해서 액션 함수를 만들어서 플레이어의 정보를 갱신하고 갱신이 되면 UI 를 관리하는 곳에서 해당 UI 의 정보를 같이 갱신하는 식으로 구현되는 걸로 알고 있는데요만약에 플레이어의 MaxHp 가 변한다거나 총알의 MaxAmmo 가 변하는 경우에는 UI 를 관리하는 곳에서도 Player와 Weapon 의 정보를 같이 들고 있어야 하는건가요? 아니면 다른 처리 방식이 있을까요?
-
미해결[개정3판] Node.js 교과서 - 기본부터 프로젝트 실습까지
비주얼 스튜디오 코드로 계속 진행해도 괜찮을까요?
여태까지 비주얼 스튜디오 코드로 하시다가 웹스톤으로 바꾸셨던데혹시 비주얼 스튜디오 코드로 계속 진행해도 프로그램 실행에는 문제없을까요?
-
해결됨진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
파워쿼리 편집기에서 셀 값 변경
안녕하세요. 파워쿼리 편집 중, 한 셀의 값만 변경하는 방법이 궁금합니다.예를 들어, 아카데미 출품작 데이터를 사용할 때, "마더" 라는 영화 제목을 "mother" 로 바꾸는 방법이 궁금합니다.감사합니다.
-
해결됨UIUX 포트폴리오 Part.3 - 반응형 웹 포트폴리오
figma에서 이미지 크기를 문의드립니다
안녕하세요.선생님께서 제공해주신 피그마 화일에서움직이는 아이콘을 확대해도이미지가 깨지지 않습니다.방법을 알려 주실 수 있을까요?질문이 많은데, 친절히 설명해주셔서 감사합니다.답변을 기다리겠습니다. 감사합니다.
-
미해결유니티 머신러닝 에이전트 완전정복 (기초편)
2025년 pip ml agents 설치 에러
이 부분에서 설치시에 계속 에러가 나네요 ㅠㅠERROR: Could not find a version that satisfies the requirement mlagents==0.30.0 (from versions: 0.4.0, 0.10.0.dev1, 0.10.0, 0.10.1, 0.11.0.dev0, 0.11.0, 0.12.0, 0.12.1, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.16.0, 0.16.1, 0.17.0, 0.18.0, 0.18.1, 0.19.0, 0.20.0, 0.21.0, 0.21.1, 0.22.0, 0.23.0, 0.24.0, 0.24.1, 0.25.0, 0.25.1, 0.26.0, 0.27.0, 0.28.0)ERROR: No matching distribution found for mlagents==0.30.0.
-
미해결[React / VanillaJS] UI 요소 직접 만들기 Part 1
닫힌 상태에서 문자열은 찾아지는데 열리진 않아요
AccordionItem에 작성하신 코드를 그대로 따라쳤다고 생각했습니다.닫힌 상태에서 문자열은 찾아지는데 자동으로 아코디언이 열리진 않습니다ㅠ추가적으로 css코드를 넣어야할까요?알려주신 링크를 들어가서 봤는데 setOpen을 useEffect 맨 위에 넣는걸 보고 새로운 상태를 넣어야하는건가 했습니다.
-
미해결카프카 완벽 가이드 - 코어편
KafkaTimeoutError:
안녕하세요 개발자님 KafkaTimeoutError: Failed to update 입니다.window에서 리눅스로 옴겼더니 왜 그런걸까요?설정 부분 추가 및 변경 해야 하는 부분이 어디 일까요?client에서 설정을 수정 해야 하나여ㅛ, kafka server.properties 에서 어디를 수정 해야 하나요?
-
미해결[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)
빌드 오류
안녕하세요 막 강의를 시작해보려고하는데 첫 챕터 부터 막히네요 ㅜ 구글링도 해보고 안되서 문의 드립니다첫 빌드때 d1.uproject generate 후빌드를 해보면 이런 오류가 나는데 혹시 어떤 부분이 문제일까요,,?"D:\UE_5.4\Engine\Build\BatchFiles\Build.bat LyraEditor Win64 DebugGame -Project="D:\YJ\YJ\GP\D1\D1.uproject" -WaitMutex -FromMsBuild -architecture=x64" 명령이 종료되었습니다(코드: 6).
-
해결됨김영한의 실전 자바 - 기본편
캐스팅 질문 있습니다
기본형, 참조형 모두 대입을 할 땐 타입을 일치시켜야된다는 걸로 알고 있습니다.기본형에서 대입을 할 때 타입이 다를 경우 자동으로든 수동으로든 값 자체 변환해서 타입을 일치시켜야하고,참조형에서 대입을 할 때 타입이 다를 경우, 업 캐스팅(자동)이든 다운 캐스팅(수동)이든 실제 객체의 타입이 아닌 정적 타입을 일치시켜야 되는 걸로 압니다.Child child = new Child(); Parent parent = (Parent)child; // 정적타입을 Child에서 Parent로 변환해서 정적타입을 일치시켰다. Child child2 = (Parent) parent;//정적타입을 Parent에서 Child로 변환해서 정적타입을 일치시켰다 Parent parent = (Parent)new Child();//실제 객체 타입인 Child는 정적타입이 없는 상황에서 Parent로 정적타입을 설정해서 정적타입을 일치시켰다..?질문1.업캐스팅은 정적타입을 부모타입으로 설정하는것,ex)(Parent)new Child();(Parent)child(); <- child변수는 정적타입이 Child로 가정다운캐스팅은 정적타입을 부모타입에서 다시 자식타입으로 변경하는 것으로 이해했는데 맞을까요?ex)(Child)parent; <-parent변수는 정적타입이 Parent로 가정질문2.위에 코드에서Parent parent = (Parent)new Child();이 부분은 실제 객체 타입인 Child는 정적타입이 없는 상황에서 Parent로 정적타입을 설정해서 정적타입을 일치시킨건가요..?이 부분이 전혀 이해가 되지 않습니다.물론 업캐스팅이 생략되는 건 알고 있고 이해되지 않는 부분을 설명하고자 업캐스팅을 생략하지 않고 작성했습니다.질문3.강의에서 말한 부모는 자식을 담을 수 있다는 정확한 의미는 정적타입(변수의 타입)이 부모타입이고 실제 객체의 타입이 자식일 때라고 이해했는데 맞을까요?Parent parent = child;이 경우는 Parent parent = (Parent)child;이렇게 내부에서 타입이 일치되도록 변환을 해주기 때문에 정적타입은 결국 일치되어 부모타입의 변수에 실제 객체 타입이 자식타입으로 대입이 가능하다고 생각했습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
Docker compose 관련 공유
강의 내용 똑같이 따라해봐도 redis, node 버전 관련 문제로 실행할 수 없었습니다..!저는 아래 코드로 테스트 성공했으니 참고 부탁드려요! Dockerfile >>>> node version 16 FROM node:16 WORKDIR /usr/src/app COPY ./ ./ RUN npm install CMD [ "node", "server.js" ] package.json>>> redis version 4.7.0{ "name": "nodejs-docker-compose-app", "version": "1.0.0", "main": "server.js", "scripts": { "start": "node server.js", "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { "express": "4.17.1", "redis": "4.7.0" }, "author": "", "license": "ISC", "description": "" } docker-compose.ymlversion: "3" services: redis-server: image: redis container_name: redis-server restart: unless-stopped expose: - 6379 node-app: depends_on: - redis-server build: context: . dockerfile: Dockerfile container_name: node-app restart: on-failure ports: - "8081:8080" server.jsconst express = require("express"); const redis = require("redis"); const app = express(); // Redis 클라이언트 생성 const client = redis.createClient({ socket: { host: "redis-server", port: 6379 } }); async function connectToRedis() { let connected = false; while (!connected) { try { await client.connect(); console.log('Connected to Redis'); connected = true; } catch (error) { console.error('Error connecting to Redis:', error); console.log('Retrying in 2 seconds...'); await new Promise(resolve => setTimeout(resolve, 2000)); } } } // Express 엔드포인트 설정 app.get('/', async (req, res) => { try { let number = await client.get('number'); if (number === null) { number = 0; } console.log('Number: ' + number); res.send("숫자가 1씩 올라갑니다. 숫자: " + number); await client.set("number", parseInt(number) + 1); } catch (error) { console.error('Error:', error); res.status(500).send('Redis 연결 오류'); } }); // 서버 시작 전에 Redis 연결 app.listen(8080, async () => { await connectToRedis(); // 서버 시작 시 Redis 연결 시도 console.log('Server is running on port 8080'); }); 모두 저장 후 터미널에서docker compose down docker compose up --build