묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결김영한의 실전 자바 - 중급 2편
타입 매개변수 제한
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]타입 매개변수를 Animal로 상한을 지정함으로써 제네릭 타입 안에서 Animal 클래스의 기능을 사용할 수 있다는 건 이해했는데,Animal의 자식인 Dog, Cat의 기능도 사용을 못하나요?코드를 짜서 실행해본 결과 사용이 안되는걸로 확인 했습니다..만약 안되는거면 왜 그런지, 만약 Dog, Cat의 기능을 사용하고 싶다면 어떻게 해야하는지 궁금합니다.(다운 캐스팅을 해야하는건지..?)
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
requirments 설치 시 오류
Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. 이런 오류가 납니다.
-
미해결React Native with Expo: 제로초에게 제대로 배우기
게시글 post 버튼을 클릭한 후에 화면 이동이 발생하지 않습니다
안녕하세요. 게시글 post 버튼을 클릭한 후에 화면 이동이 발생하지 않습니다... 혹시 제가 코드 작성하면서 누락한 부분이 있는 건가 싶어서 어떤 코드에서 그 부분을 다루고 있는지 잘 모르겠어서 질문드립니다 ㅜㅜ modal.tsx의 handlePost는 동일하게 작성되어 있습니다.post 버튼을 누른뒤에 로그는 아래와 같이 정상적으로 출력되고, cancel 버튼을 눌러서 뒤로 가서 확인해보면 게시글은 잘 작성되어있습니다.. 화면이 자동으로 안넘어가는데 어디를 확인해봐야하나요?? LOG posts [{"content": "dd", "id": "1754381715692", "imageUrls": ["file:///data/user/0/com.cozyu.threadsclone/cache/ImagePicker/b22031f0-a977-4501-86c9-2cbc9cf73ae2.jpeg"], "userId": "cozyu"}] LOG post result [{"content": "dd", "id": "1754381715692", "imageUrls": ["file:///data/user/0/com.cozyu.threadsclone/cache/ImagePicker/b22031f0-a977-4501-86c9-2cbc9cf73ae2.jpeg"], "userId": "cozyu"}]
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
페이지 라우터의 단점을 보완할 방법
안녕하세요. 강의에서 설명해주신 페이지 라우터의 단점 중"불필요한 컴포넌트들도 JS 번들에 포함된다"는 내용에 대해 질문드리고 싶습니다.제가 이해한 바로는, 초기 HTML은 사전 렌더링 시 모든 컴포넌트를 포함하여 만들어지되,실제로 브라우저에서 하이드레이션(클라이언트 측 React 활성화)이 일어나는 컴포넌트는상호작용이 필요한 컴포넌트나 CSR 방식으로 처리된 컴포넌트에 한정되어이들만 JS 번들에 포함되는 것으로 생각했습니다.즉, 단순히 정적인 컴포넌트는 HTML로만 렌더링되고,JS 번들에는 포함되지 않거나 최소화된다고 이해했는데,혹시 이 부분에서 제가 잘못 이해하고 있는 걸까요?초기 렌더링 시 어떤 요소들이 HTML로 렌더링되고,어떤 컴포넌트들이 JS 번들에 포함되는지 기준을 설명해주시면 감사하겠습니다.
-
해결됨[코드캠프] 부트캠프에서 만든 '완벽한' 프론트엔드 코스
fetchUser 요청시 userPoint.amount
충전 금액이 balance에 누적되는 것 같은데, userPoint에는 따로 저장되는 것이 아닌가요?아니라면 충전 된 유저의 포인트는 어떻게 가져와야 될까요?그리고, 사진처럼 fetchUser 하면 userPoint.amount 가 non-nullable field 라며 userPoint의 amount를 못가져오는데 혹시 오류일까요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
인증 관련 질문
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 좋은 강의 잘 보고있습니다.이와 같이 마이크로 서비스로 프로젝트가 구성되면, 유저 인증과 관련된 부분은 어떻게 처리되는지 궁금합니다. 일단 스스로 생각해본 바로는, 게시글/댓글 쓰기, 좋아요 API는 로그인 한 유저만 가능하다고 하면, 각각의 서비스에서 클라이언트의 요청을 받았을 때 해당 요청을 유저 API를 호출하여 인증을 하는 방식이 있을 것 같은데 이 방법은 각 서비스들이 유저 서비스를 알고 있어야 한다는 단점이 있을 것 같습니다..위와 같은 상황에서의 실무에서 모범 사례나 정형화된 방법이 있을까요?
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
[id].tsx페이지 SEO 관련 질문드립니다.
안녕하세요. 배포 후 SEO 확인 과정에서 이해되지 않는 부분이 있어 질문드립니다. [id].tsx에서 동적 라우팅을 처리할 때, getStaticPaths를 통해 id=1,2,3에 해당하는 페이지는 빌드 시점에 SSG로 사전 렌더링되도록 설정하였고,나머지 ID에 대해서는 fallback: true를 사용해 첫 요청 시 SSR처럼 처리되는 것으로 이해했습니다. 또한 강의에서 router.isFallback이 true일 경우, SEO를 고려하여 <Head>에 별도의 메타 정보를 넣어주는 분기 처리를 하신 것으로 알고 있습니다.저는 이 분기 처리가 필요한 이유가, 해당 시점에는 실제 데이터가 포함된 HTML이 아직 완성되지 않았기 때문에 SEO 검사 도구나 크롤러에 최소한의 메타 정보를 제공하려는 의도라고 이해했습니다. 하지만 실제 배포된 결과를 확인해보니, id=1,2,3 외의 fallback으로 생성된 페이지들조차도og:image 등 메타 정보가 정상적으로 노출되고 SNS 공유 시에도 커버 이미지가 잘 보이고 있습니다. 이런 경우, fallback으로 생성된 SSR 페이지임에도 불구하고 og 태그가 잘 노출되는 이유는 무엇인지 궁금합니다.SEO 관점에서 이런 동작이 가능한 이유가 있다면 설명 부탁드립니다.
-
미해결
92점으로 합격 + AICE강의 예정 질문
덕분에 고득점 92점으로 합격할 수 있었습니다.너무 감사합니다. 혹시 비슷한 성격인 AICE Associate에 대해 강의 계획이 있으신지, 없으시다면 적극 요청드립니다^^! 도움 주셔서 감사합니다
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
실습을 위한 키트 주문(결제) 했는데 언제 보내주시나요?
제목 그대로입니다.지난 주 월요일에 결제 했는데요 아직까지도 배송을 안 해주고 있어서 문의 드립니다.물론 "배송업체에서 보냈다고 하는 데 못 받았다"는 문자 메시지는 받았습니다만,도저히 이해가 되지 않아서 질문 남깁니다.분명 지난 주에 중국에 주문했던 PCB를 받았다며 사진까지 공유 해 주셨고,그래서 스마트 스토어에서 결제 했던 것인데요.그렇다면 지난 주에 보여준 그 사진들은 무엇인가요?언제까지 보내 주실 지 확실히 알려 주시거나, 환불(결제 취소) 방법을 알려 주시길 바랍니다.
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
The service was not able to process your request 500 에러
<추가> youtube-transcript 오류 강좌를 보고있는데 자막을 못가져오는거같습니다.뭐가 변경된걸까요?
-
미해결PCB HW설계 실무 : STM32를 활용한 Mixed-signal 보드 설계 프로젝트
LDO의 OUT핀과 Mounting Hole에 관한 문의
안녕하세요, 강의를 듣던 도중 질문이 생겨 문의드립니다. LDO를 사용할 때 Out Pin이 2, 4번이고 이를 피드백하기 위해 같이 연결해주었는데 두 핀이 모두 OUT이면 이미 내부에서 같이 연결되어있는 것 아닌가요? 소자의 데이터시트에서 소자의 핀 타입에 따라서 찾아봤는데도 4개의 핀이 없어서 궁금해서 여쭤봅니다!Mounting Hole에 대해서 제가 아는 것은, PCB 상 구리 도금을 해서 GND와 더 가깝게 연결하려고 사용한다고 알고 있습니다. 그러면 Mounting Hole 4개에서 모두 접지를 하는 것이 좋은 것 아닌가요? 왜 2개만 하는 지 궁금해서 문의드립니다.감사합니다!! 강의 열심히 듣고 있습니다!!
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
연봉 5000만원에 대한 소득세가 다르게 계산되는 문제
4강까지 강의를 다 들었습니다.하지만 연봉 5천만원인 거주자의 소득세는? 이라는 쿼리를 날릴경우 답변이 624만원이 나오지 않고 다양한 값이 나오고 있는것을 확인했습니다.upstage model을 사용하고 pinecone vector store 를 사용하고 있으며 dictionary chain 까지 구성해서 직장인 -> 거주자로 바꾸는것 까지 적용해서 invoke 를 실행했습니다.직접 테스트한 예시로는 'query': 연봉 5천만원인 거주자의 소득세는 얼마인가요? 소득구간별 세율의 예시를 보여주면서 설명해줘,'result': '연봉 5천만원인 직장인의 소득세는 550만원입니다. 소득구간별 세율에 따라 계산하면, 5천만원 이하의 과세표준에는 15%의 세율이 적용되어 84만원 + (1,400만원을 초과하는 금액의 15%) = 550만원이 소득세로 산출됩니다.'},{'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '연봉 5천만원인 직장인의 소득세는 550만원입니다. 이는 종합소득 과세표준 5,000만원 이하 구간에 해당하는 세율을 적용하여 계산한 금액입니다.',{'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '연봉 5천만원인 직장인의 소득세는 526만원입니다. (산출식: 5,000만원 - 1,400만원 = 3,600만원, 3,600만원 * 15% - 84만원 = 420만원)'}이런식으로 지속적으로 다른 답이 나오고 있으며 "소득구간별 세율의 예시를 보여주면서 설명해줘" 이 부분을 추가하지 않고 처음 쿼리를 날리면 직장인의 소득세는 xxx 만원입니다. 하고 바로 끝나는 result가 나왔습니다.이러한 원인이 upstage 모델을 사용해서 이런 결과가 발생했는지 궁금하고 4강에서 설명했던 few-shot prompting 이 되지 않아서 처음에는 정확한 답을 주지 못하고 있다가 "소득구간별 세율의 예시를 보여주면서 설명해줘" 이 부분이 추가되면서 다음 응답들이 더 자세하게 나오게 된 것인지 궁금합니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
12,13,14 강의 소리만 나오고 검은 화면입니다
12,13,14 강의 소리만 나오고 검은 화면입니다 확인 부탁드립니다
-
해결됨FastAPI: Python으로 3배 빠르게, 2배 정확한, 10배 빠른 API 만들기
25강에서 에러발생: 해결방법 알려주세요
💡 질문하기 전에 먼저 확인해보세요!UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 3465: illegal multibyte sequence 유니코드 관련에러가 발생합니다. utf-8 관련 설정에 문제가 있어보이는데, 해결방법을 구합니다. 별것을 다해본것 같은데 해결이 되질 않습니다. 코드는 알려주신데로 아래와 같이 수정했습니다.# /alembic.ini 파일 sqlalchemy.url = sqlite+aiosqlite:///./sql_app.db # /alembic/env.py 파일 import asyncio # 추가 from logging.config import fileConfig import os # 경로 작업 위해 추가 import sys # 경로 작업 위해 추가 from sqlalchemy import engine_from_config from sqlalchemy import pool # ✨ 추가: 비동기 엔진 설정을 위해 async_engine_from_config 사용 ✨ from sqlalchemy.ext.asyncio import async_engine_from_config from alembic import context # --- ✨ 추가: 프로젝트 루트 경로 추가 (env.py가 app 모듈을 찾도록) ✨ --- # env.py 파일의 부모 디렉토리의 부모 디렉토리 (즉, 프로젝트 루트)를 sys.path에 추가 sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), ".."))) # -------------------------------------------------------------- # --- ✨ 추가: Base 및 모델 임포트 ✨ --- from app.database import Base # database.py의 Base 임포트 import app.sql_models.task # task 모델 모듈 임포트 (Base.metadata가 인식하도록) # 만약 다른 모델 파일들이 있다면 모두 임포트해주는 것이 안전합니다. # ----------------------------------------------------------------------------- # this is the Alembic Config object, which provides # access to the values within the .ini file in use. config = context.config # Interpret the config file for Python logging. # This line sets up loggers basically. if config.config_file_name is not None: fileConfig(config.config_file_name) # add your model's MetaData object here # for 'autogenerate' support # from myapp import mymodel # target_metadata = mymodel.Base.metadata # target_metadata = None # --- ✨변경: target_metadata 설정 ✨ --- target_metadata = Base.metadata # 우리의 모델 메타데이터 지정! # -------------------------------- # other values from the config, defined by the needs of env.py, # can be acquired: # my_important_option = config.get_main_option("my_important_option") # ... etc. # ✨ 추가 ✨----------------------------------------------------------------- def do_run_migrations(connection): # context 설정 및 마이그레이션 실행 (run_sync 내부에서 호출될 함수) context.configure(connection=connection, target_metadata=target_metadata) with context.begin_transaction(): context.run_migrations() # --------------------------------------------------------------------------- # ... (run_migrations_offline 함수는 보통 그대로 둠) ... def run_migrations_offline() -> None: """Run migrations in 'offline' mode. This configures the context with just a URL and not an Engine, though an Engine is acceptable here as well. By skipping the Engine creation we don't even need a DBAPI to be available. Calls to context.execute() here emit the given string to the script output. """ url = config.get_main_option("sqlalchemy.url") context.configure( url=url, target_metadata=target_metadata, literal_binds=True, dialect_opts={"paramstyle": "named"}, ) with context.begin_transaction(): context.run_migrations() # --- ✨ 변경: run_migrations_online 함수 비동기 방식으로 수정 ✨ --- async def run_migrations_online() -> None: """Run migrations in 'online' mode for an async application.""" # config 섹션에서 비동기 엔진 생성 connectable = async_engine_from_config( config.get_section(config.config_ini_section), prefix="sqlalchemy.", poolclass=pool.NullPool, future=True, # SQLAlchemy 2.0 스타일 사용 ) # 비동기적으로 DB 연결 async with connectable.connect() as connection: # 동기적인 마이그레이션 함수(do_run_migrations)를 # 비동기 연결의 run_sync 메서드 내에서 실행 await connection.run_sync(do_run_migrations) # 엔진 연결 종료 await connectable.dispose() # ----------------------------------------------------------------- ''' # ✨ 위의 것으로 수정 def run_migrations_online() -> None: """Run migrations in 'online' mode. In this scenario we need to create an Engine and associate a connection with the context. """ connectable = engine_from_config( config.get_section(config.config_ini_section, {}), prefix="sqlalchemy.", poolclass=pool.NullPool, ) with connectable.connect() as connection: context.configure( connection=connection, target_metadata=target_metadata ) with context.begin_transaction(): context.run_migrations() ''' if context.is_offline_mode(): run_migrations_offline() else: # ✨ run_migrations_online() # 아래로 변경 # 온라인 모드일 경우 비동기 함수 실행 asyncio.run(run_migrations_online())
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
비행 질문
비행 잘 됩니다. 스로틀 올리면 비행은 되는데 옆으로 이동합니다. 조종 하면 비행 가능하지만 이 문제를 해결할 수 없을까요? roll 문제 인거 같은데 캘리브레이션이 -0.55로 되있습니다. 이 정도면 오차도 작아서 괜찮을거 같은데 잘 안되네요.
-
미해결인프라 보안 점검 Ansible + Django 로 한번에 끝내기
PPT가 꺠져서 보입니다
안녕하세요PPT가 꺠져서 보입니다
-
미해결쉽게 설명하는 AWS 기초 강의
21강에서 쓰이는 profile 에 대해 질문합니다
cloudshell 에 입력한 profile 정보는 어떻게 저장되나요? 처음에 aws configure 을 이용해 iam read 권한을 가진 유저의 키로 user 라는 profile 을 만들었고 권한 사용이 잘 되었습니다. 이후 같은 쉘에서 앞서 user 를 만들 때 사용한 키와 같은 키로 iamuser 라는 profile 을 aws configure 로 만들었는데, 처음 생성한 user 와 iamuser 둘 다 사용이 잘 됩니다. 그러면 한 사용자의 키값만 있다면 profile 은 계속 찍어낼 수 있나요? 이 profile 은 언제까지 유지되고 어떻게 저장되나요? 생성된 profile이 계속 남아있다면 보안 문제가 있을 것 같은데 이 부분이 어떻게 작동되는지 궁금합니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
git 주소 부탁드립니다.
코드 참고가 필요해서 요청드려요
-
해결됨AI 입문자를 위한 MS AI 핵심기술 완전정복
실습-3 관련문의
현재 Azure AI Foundry 홈페이지가실습영상에 나온 UI하고 많이 차이가 있는데해당 AI 서비스 관련 실습을 하려면 어느 위치에서 할 수 있나요?
-
미해결CUDA 프로그래밍 (1) - C/C++/GPU 병렬 컴퓨팅 - CUDA 커널 kernel
cudaFree가 자동으로 되는 상황
안녕하세요. 좋은 강의 올려주셔서 정말 감사합니다. 39강 8분 14초에서 cudaFree를 하지 않아도 프레임이 다 종료될때 자동으로 free가 된다고 하셨는데, 프레임이 종료된다는 것이 어떤 의미인지 잘 모르겠습니다. 감사합니다.