묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[입문] 인디해커를 위한 루비온레일즈 8 입문 강의
Formatter 설정도 궁금합니다.
RuboCop과 같은 Formatter 설정도 부록으로 넣어주실 수 있으신가요!?
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
오류..
이 오류 어떻게 해결할 수 있을까요 ㅠㅠ
-
미해결배달앱 클론코딩 [with React Native]
jdk11 버전과 gradle 버전의 호환성 관련 질문드립니다.
안녕하세요?강의관련 환경 설정 중 막힌 부분이 있어서 질문드립니다. 현재 환경 설정은 rn75 폴더에서 시작하여openJDK 11안드로이드 13.0 티라미수 (api 33) 넥서스5 안드로이드 13.0 티라미수 (api 33) x86_44gradle 버전 7.2 위에 3번 환경설정까지 셋팅 후 npm run android를 실행하면 첨부드림과 같이 최신 gradle(8.x) 버전에서는 Java 17을 사용해야 한다고 하여 jdk 11버전을 공식 지원한다고 찾아본 7.x버전으로 낮추어 다시 명령어를 입력해보았지만 동일한 상황입니다.혹시 제가 누락한 부분이 있을지 궁금합니다...!
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
서버 스펙과 비용에 관하여
안녕하세요.서버 스펙과 비용 이미지에서 s3비용이 2.19불 밖에 들어가지 않은걸 봤는데요. 제 생각으로는 어플리케이션을 위해 logo이미지정도를 호출(?)유저들이 파일을 업로드하거나 다운로드 받는 기능은 없을거 같습니다.local storage에 application의 파일들이 저장되어있는거같습니다.앱 1개당 1달러씩 꾸준히 벌어보자라는 생각을 가지고 접근을 했을떄, s3 비용이 걸림돌이 되어 빼야하는 기능이었는지 궁금합니다. 추가적으로 local DB도 셋업을 하시는것 같은데 이것또한 서버에서 데이터를 불러와 api 호출로 셋업을 하시는건가요?
-
해결됨실전! FastAPI 활용(비동기)
비동기 서버 구성하다 알 수 없는 에러에 빠졌는데...
안녕하세요. 좋은 강의 감사합니다.강의를 기반으로 제 방식대로 서버를 구성하다가 알 수 없는 에러에 빠졌습니다.서버는 정상 구동은 되고, postman으로 root url인 localhost:8000/ 에 request를 날리면 정상적으로 결과값을 반환 받는데localhost:8000/api/recommend?userId=1 만 호출하면 바로 에러메세지 없이 500만 응답으로 받고 있습니다.print(1) 도 서버 로그에 찍히지 않고 서버 로그는 아예 나오질 않네요.localhost:8000/ 에서도 동일하게 서버 로그는 찍히지 않습니다우선 의도는 BaseRepository 클래스를 만들어서 find_by_id 같은 중복 코드를 하나로 관리해보려고 했습니다.의존성 주입 부분은 지피티의 도움을 받아서 위치를 조정했습니다.도저히 어디서 문제가 난건지 알 수 없어서 도움 요청 드립니다 ㅜㅜ# main.py from typing import Dict from dotenv import load_dotenv from fastapi import FastAPI from src.app.app import create_app load_dotenv() app: FastAPI = create_app() @app.get("/") async def health_check_handler() -> Dict[str, str]: return {"statusMsg": "good"} # app.py from contextlib import asynccontextmanager from typing import AsyncGenerator import anyio from fastapi import FastAPI from src.app.endpoints.recommend import router @asynccontextmanager async def lifespan(app: FastAPI) -> AsyncGenerator: limiter = anyio.to_thread.current_default_thread_limiter() limiter.total_tokens = 200 yield def create_app() -> FastAPI: app = FastAPI(lifespan=lifespan) app.include_router(router, prefix="/api") # 다른 설정들(예: 미들웨어, 이벤트 핸들러 등)을 추가할 수 있습니다. return app# connection.py import os import urllib from typing import AsyncGenerator from dotenv import load_dotenv from sqlalchemy.ext.asyncio import AsyncEngine, AsyncSession, async_sessionmaker, create_async_engine load_dotenv() DB_USERNAME: str = os.getenv("DB_USERNAME", "root") DB_PASSWORD: str = os.getenv("DB_PASSWORD", "root") DB_HOST: str = os.getenv("DB_HOST", "127.0.0.1") DB_NAME: str = os.getenv("DB_NAME", "") DB_PORT: str = os.getenv("DB_PORT", "3306") DB_ECHO: bool = os.getenv("DB_ECHO", "true").lower() == "true" if not DB_NAME: raise ValueError("DB_NAME 환경변수가 설정되지 않았습니다.") # 비밀번호 특수문자 허용 encoded_password = urllib.parse.quote_plus(DB_PASSWORD) DATABASE_URL: str = f"mysql+asyncmy://{DB_USERNAME}:{encoded_password}@{DB_HOST}:{DB_PORT}/{DB_NAME}" engine: AsyncEngine = create_async_engine( DATABASE_URL, echo=DB_ECHO, pool_size=10, max_overflow=0, pool_timeout=30, # second pool_recycle=60, # second pool_pre_ping=True, ) SessionFactory = async_sessionmaker(autocommit=False, autoflush=False, bind=engine) async def get_db() -> AsyncGenerator[AsyncSession, None]: session = SessionFactory() try: yield session finally: await session.close()# user_route.py from typing import Dict from fastapi import APIRouter, Depends, status from src.app.dependency.query_param_denpendency import snake_case_query from src.core.common_type import V from src.core.exception.not_found_exceptions import UserNotFoundExceiption from src.db.connection import get_db from src.entity.user import UserEntity from src.repository.user import UserRepository, get_user_repository from src.dto.response.user_response import UserResponse router = APIRouter(prefix="/recommend") @router.get(path="", status_code=status.HTTP_200_OK, response_model=UserResponse) async def get_recommend_schedule( params: Dict[str, V]=Depends(snake_case_query), user_repo: UserRepository=Depends(get_user_repository) ): print(1) user_id: int = int(params.get("user_id", None)) user: UserEntity | None = await user_repo.get_user_by_id(user_id) if not user: raise UserNotFoundExceiption() user = UserResponse.model_validate(user) return user# base_repository.py from typing import Type from sqlalchemy import select from sqlalchemy.ext.asyncio import AsyncSession from src.core.common_type import E class BaseRepository: def __init__(self, db: AsyncSession): self.db = db async def get_entity_by_id(self, model: Type[E], entity_id: int) -> E | None: print(2) entity: E | None = await self.db.execute(select(model).where(model.id==entity_id)) return entity.scalars().first() # user_repo.py from fastapi import Depends from sqlalchemy.ext.asyncio import AsyncSession from src.db.connection import get_db from src.entity.user import UserEntity from src.repository.base_repository import BaseRepository def get_user_repository(db: AsyncSession = Depends(get_db)) -> "UserRepository": return UserRepository(db) class UserRepository(BaseRepository): async def get_user_by_id(self, user_id: int) -> UserEntity | None: print(3) return await self.get_entity_by_id(UserEntity, user_id) # user_response.py from datetime import datetime from typing import Optional from pydantic import BaseModel class UserResponse(BaseModel): id: int name: str nickname: str email: str phone: str join_date: datetime updated_at: Optional[datetime] = None deleted_at: Optional[datetime] = None class Config: from_attributes = True 도대체 어디서 문제가 생긴걸까요...
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
광고 유지 기간
안녕하세요 좀비님. 먼저 좋은 강의 출시해 주셔서 감사합니다. 강의 잘 보고 있습니다.강의와 커뮤니티 질문들을 보다가 궁금한 부분이 생겨서 질문 남기게 됐습니다. 광고를 몇 개월동안 지속해도 적자라면 방치하는 수순을 밟는다는 커뮤니티 답변을 봤습니다. 그러면 반대로 목표했던 수익률을 달성하는 경우는 언제까지 광고를 유지하시나요? 예를 들어 하루 10달러가 목표였는데 개발과 광고를 열심히 해서 목표 수익에 달성했습니다. 그럼 달성한 시점에 광고는 정리하시나요? 아니면 광고 비용을 줄인다던가 잘 되고 있으니 광고비를 더 늘린다던가 같은 다른 전략을 취하시나요? 만약 목표를 달성해도 광고를 계속 유지하는 방향이라면 지출되는 광고비는 앱 개수에 비례해서 계속 커지는 건가요?
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
버튼 컴포넌트에서 불린프로퍼티 아이콘이 안 보입니다.
버튼 컴포넌트에서 불린 프로퍼티를 넣으려고 하는데요, appearance에서 눈 옆에 육각형 아이콘이 안 보입니다. 안 보이는 이유가 뭘까요?
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
컴포넌트 파일에 파운데이션 라이브러리가 연결이 안됩니다!
말씀해주신대로, 파운데이션 파일에서 라이브러리 publish 한 후, 컴포넌트 파일에서 add to file을 했는데 베리어블과 local style에 파운데이션이 뜨지 않습니다!제가 어떤 부분을 누락한 걸까요?
-
해결됨하루 100만 원을 벌게해준 프리랜서 노하우 완벽 정리
초기 컨설팅 비용관련
안녕하세요. 계약전 문의가 많이 오는데, 그 과정에서 가지고 기술이라던지, 향후 플랜등을 논의하는 시간이 꽤 길어집니다. 물론 계약이 될 때도 있는데, 계약이 안되는 경우.. 몇일의 시간이 소요되는데, 이런 경우는 없으셨을까요?처음 상담때부터 비용을 받는것도 어려울 것 같고.. 어느정도까지 같이 논의를 해야할지 끊지를 못하겠네요...
-
해결됨Godot Engine 으로 시작하는 첫 게임 개발
점수표시에 캔바스레이어 없어도 잘되던데
그냥 자식노드로 점수표시화면.tscn 인스턴스로 불러와추가만해도 상단에 표시 잘되고 작동도 잘되던데요. 캔바스레이어를 만들고 하위로 넣는 이유가 있을까요?중요한거면 알려주세요.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
데이터베이스를 깊게 배우기 위한 책 추천을 받을 수 있을까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)[질문 내용]안녕하세요, 영한님. 해당 강의 후반부에서 데이터베이스를 깊게 학습하는 것이 좋다고 하셨는데 혹시 이를 위한 책을 추천해주실 수 있을까 해서 글을 남겨봅니다. 제 지식 수준기본적으로 학부에서 오라클을 기반으로 한 데이터베이스 수업을 들어서 설계, SQL 프로그래밍, 인덱스 설계(이론만), locking(이론만) 등에 대해서는 알고 있는 상태입니다. 찾아봤던 책 목록(원서) Elmasri Navathe 저자의 Fundametals of DATABASE SYSTEMS(국내도서) Real MySQL 제가 조금 찾아보면서 정리한 리스트는 위 두 개의 책입니다. 위의 책 중 마음에 드는 책 아무거나 잡아서 학습할지, 또는 영한님이 따로 추천해주실 만한 책이나 학습처가 있는지 의견을 얻을 수 있을까 싶어 글 남깁니다.
-
미해결FastAPI 완벽 가이드
머신러닝 백엔드 강좌 언제나오나요?
머신러닝 강좌는 언제 오픈하나요? 빨리듣고 싶습니다. ㅎㅎ 일 때문에 빨리 듣고싶은데 프리뷰 필요하시면 연락부탁드립니다.
-
미해결
코딩 문외한 질문
코딩 아무것도 모르는 초보자입니다 chatgpt로 해당 색깔을 넣으면 색깔에 범위를 정해주는 코딩을 하고 있는데 def is_within_range(test_color, lower, upper): return all(lower[i] <= test_color[i] <= upper[i] for i in range(3)) color_ranges = { "Nuga": ((200, 120, 50), (220, 160, 100)), "Light green": ((0, 140, 0), (50, 180, 60)), "Medium blue": ((40, 110, 180), (60, 150, 210)), "Apple green": ((100, 180, 0), (140, 220, 50)), "Dark brown": ((30, 20, 10), (70, 50, 40)), "Dark Azur": ((0, 0, 200), (20, 50, 255)), "Lavender": ((180, 150, 200), (220, 200, 240)), "White": ((240, 240, 240), (255, 255, 255)), "Black": ((0, 0, 0), (30, 30, 30)), "Dark Gray": ((50, 50, 50), (100, 100, 100)), "Light Gray": ((140, 140, 140), (180, 180, 180)), "Red": ((180, 20, 20), (210, 60, 60)), "Yellow": ((240, 180, 20), (255, 220, 60)), "Blue": ((10, 100, 180), (30, 140, 220)), "Green": ((20, 100, 30), (50, 160, 70)), "Orange": ((200, 80, 0), (240, 120, 50)), "Tan": ((150, 130, 100), (190, 180, 140)), "Purple": ((60, 20, 100), (100, 60, 160)), "Brown": ((150, 90, 60), (190, 120, 100)), "Dark Red": ((160, 40, 60), (190, 80, 100)), "Earth blue": ((10, 40, 70), (30, 70, 120)), "Sky Blue": ((50, 140, 180), (80, 180, 220)), "Pink": ((200, 150, 200), (220, 180, 240)), "Bright teal": ((0, 120, 120), (30, 160, 160)), "Sand blue": ((80, 120, 150), (110, 160, 190)), "Earth green": ((0, 50, 10), (20, 90, 50)), "Watermelon red": ((230, 80, 70), (255, 130, 120)), "Aqua": ((170, 220, 200), (190, 240, 220)), "Skin White": ((220, 200, 150), (240, 220, 190)),} test_color = (0, 410, 0) matched_color = Nonefor color_name, (lower, upper) in color_ranges.items():if is_within_range(test_color, lower, upper): matched_color = color_namebreak if matched_color: print(f"The color {test_color} belongs to '{matched_color}' range.")else: print(f"The color {test_color} does not match any predefined range.") 이렇게 chatgpt가 하라고 해서 넣었습니다. 근데 자꾸 File "<python-input-632>", line 3 else: ^^^^SyntaxError: invalid syntax 오류가 뜨면서 실행이 안됩니다. 혹시 무엇이 잘못이고 고쳐야하는지 알려주실 분들 있나요?NFT 발행하기
-
미해결Next + React Query로 SNS 서비스 만들기
useEffect의 의존성 배열에 fetchNextPage를 넣는 이유가 궁금합니다
useEffect(() => { if (inView) { hasNextPage &&fetchNextPage(); } }, [inView, hasNextPage, fetchNextPage]);이렇게 useEffect를 작성하셨는데 fetchNextPage를 useEffect의 의존성배열에 넣는 이유가 궁금합니다
-
해결됨(2025) MBTI 테스트 기반 수익형 웹사이트 만들기 - <코딩 배워 사업하자>
호스팅 업체를 결국 AWS 로 정해야 하는 이유가 궁금합니다.
강의를 잘 보고 있습니다.클라우드 플레어가 상당한 장점이 있는 호스팅 업체로 보이는데요, 그럼에도 불구하고 실무에서는 결국 AWS를 선택하는 이유를 아래의 3가지로 정리하면 될까요?커스터마이징 제한느린 성능벤더 종속성이 외에 클라우드플레어에서 AWS로 이전할 수 밖에 없었던 에피소드가 있으신지 여쭤보고 싶습니다.
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
에어코리아_대기오염 api 요청변수 파라미터
247강 api 테스트 진행중인데 현재 에어코리아 대기오염 현황랑 강의랑 요청변수가 달라진 것 같습니다. itemCode, dataGubun, searchCondition이 사라지고 inqBginDt(조회시작일), inqEndDt(조회종료일), msrstnName(측정소명) 이렇게 위 셋이 사라지고 아래 셋이 생겼습니다. 그래서 파라미터를 받는데 어떤 형식으로 받아야할지 몰라서 질문 남깁니다. 샘플데이터가 각각 20201001, 20201030, 강남구인데 어떤 파라미터로 받아야하나요? 그리고 이게 강의 진행에 문제가 될까요? 감사합니다.
-
미해결[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
kotlin 버전과 ksp 버전 꼭 맞추셔야 해요!!
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
구조체 변수, 구조체 포인터와 malloc에 관한 질문
안녕하세요. typedef 강의를 수강하다 처음 보는 내용들이 너무 많은 와중, typedef 기출 문제(약 3분 15초 즘)에 대해 질문을 남깁니다. 구조체 형태의 Data라는 타입명을 가진 변수 Data를 커스텀으로 정의 후, 해당 타입을 활용하기 위해 main 함수 내부에서 Data 타입(구조체) 변수 d1과 Data 포인터 타입(구조체 포인터) 변수 d2를 선언했습니다. 이 문제에서 핵심은구조체 타입의 포인터 변수를 선언할 경우, 해당 변수의 멤버 변수에 .(dot)을 통해 직접 접근 할 수 없다.우리는 멤버 변수에 할당된 메모리 주소에 접근할 수 있기 때문에, ->(arrow)를 통해 접근하여 해당 주소에 저장된 값을 불러오는 방법을 활용해야 한다.라고 생각했습니다. 즉, d1의 numPtr에 값을 저장 및 접근 할 때와 d2에서 할 때의 차이를 배우기 위한 문제라고 생각이 들었습니다. 그런데, 갑자기 stdlib.h의 내장 함수인 malloc에 대한 코드가 나왔습니다.malloc은 동적으로 메모리 주소를 할당하기 위한 함수라는 것을 알게 되었습니다.,malloc(sizeof(type명))을 통해 포인터 변수에 메모리 영역을 할당하고, 이후 main 함수를 빠져나가기 전 free를 통해 할당했던 메모리 영역을 해제시켜 줬는데요. 왜 해당 방식으로 문제가 출제되었는지 이해가 되지 않아서 질문을 남깁니다.독립적인 Data 타입의 구조체 인스턴스(?)를 만들고 싶은데, 이를 d1 처럼 생성하고 싶지 않을 경우에는 반드시 저 방법을 활용해야 하는 것인가요???malloc을 통해 선언 하는 방식과 아래의 방식에 차이가 있나요?Data d2; // 구조체 변수 선언 Data *d2Ptr = &d2; // 구조체 변수의 메모리 주소에 접근하기 위한 포인터 변수 선언부족한 지식으로 인해 아직은 어렵지만, 차근차근 배워나가는 재미가 있습니다. 항상 좋은 강의 감사드립니다!
-
해결됨파이썬으로 나만의 블로그 자동화 프로그램 만들기
너무 어려워요....이해가 너무안되네요.
너무 어려워서 이해가 너무안되요 누구나 할수 있다고 하셧는데 누구나는 아닌것 같네요....
-
미해결대규모 트래픽 처리를 위한 부하테스트 입문/실전
백엔드 API 설정을 https로 하고 싶은 경우
현재 서비스에서 백과 프론트의 소통이 https://도메인으로 이뤄지고 있는데, 이 경우에는 ALB와 타겟그룹 설정 시 80포트 말고 443 포트를 열도록 하면 되나요?