묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨디자인 시스템 with 피그마
토큰 export 할때 어떻게 해야 하나요? 버전이 바뀌어서 그런지 못찾겠어요
토큰 export 할때 어떻게 해야 하나요? 버전이 바뀌어서 그런지 못찾겠어요
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
샤딩에 대해서 궁금점있습니다.
저의 짧은 지식으로는 샤딩은 수평분할에 기반한 방식이라 수직은 존재하지 않는 것으로 알고 있습니다. 혹시, 이부분에 대해서 설명을 해주실 수 있으신가요?
-
미해결한 입 크기로 잘라먹는 실전 프로젝트 - SNS 편
fetch api의 상태값 유지
안녕하세요..강의 잘 보고 있습니다. import { ITodoInfo } from "@/utils/types"; export async function fetchTodos(blngCoCd:string, userId:string) { const respose = await fetch( `${process.env.NEXT_PUBLIC_API_SERVER_URL}/todo/list?blngCoCd=${blngCoCd}&userId=${userId}` ); if (!respose.ok) { throw new Error("Fetch Todo Error"); } const data: ITodoInfo[] = await respose.json(); console.log('todo data=',JSON.stringify(data, null, 2)); return data; } import { fetchTodos } from "@/api/todo/fetch-todos"; import useUserInfoStore from "@/store/user-info-store"; import { ILoginUserInfo } from "@/utils/types"; import { useQuery } from "@tanstack/react-query"; export function UserTodosData() { const loinData: ILoginUserInfo = useUserInfoStore((state) => state.userInfo); return useQuery({ queryFn: () => fetchTodos(loinData.blngCoCd, loinData.userId) , queryKey: ["todos"], }); }이런식으로 zustand의 유저 정보를 가져와 훅에서 api를 호출을 하면 처음은 정보를 가져오는데.refresh를 하면 다시 가져 올때 blngCoCd와 userId가 null이 되면서 리스트를 가져오지 못하네요.zustand의 정보는 localstorage로 보관하고 있고... const loinData: ILoginUserInfo| null = useUserInfoStore((state) => state.userInfo); const blngCoCd = loinData?.blngCoCd; const userId = loinData?.userId; // blngCoCd와 userId가 모두 존재할 때만 쿼리를 활성화합니다. const enabled = !!blngCoCd && !!userId; return useQuery({ queryFn: () => fetchTodos(blngCoCd, userId) , queryKey: ["todos", blngCoCd, userId], enabled: enabled, });이렇게 변경을 했는데...api에 파라미터를 넘겨야 하는경우 새로고침을 할 경우 이런식으로 하는게 일반적인가요?
-
미해결
CH3의 맨 처음에 등장하는 '임베딩 입력 시퀀스' 텐서 값은 임의의 숫자인가요?
제 3장("어텐션 메커니즘 구현하기")의 거의 맨 앞 부분에 다음과 같은 문구와 코드가 등장합니다.다음처럼 3차원 벡터로 임베딩한 입력 시퀀스가 있다고 가정.import torchinputs = torch.tensor( [[0.43, 0.15, 0.89], # Your (x^1) [0.55, 0.87, 0.66], # journey (x^2) [0.57, 0.85, 0.64], # starts (x^3) [0.22, 0.58, 0.33], # with (x^4) [0.77, 0.25, 0.10], # one (x^5) [0.05, 0.80, 0.55]] # step (x^6))이 값들은 토크나이저에서 그냥 임의로 마구잡이로 부여하는 실수 값인가요? 아니면 각 토큰 별로 이미 유사도나 거리 개념까지 다 계산 되어서 나온 실수 값인가요?아!! 단순하게 이 교재에서 이해를 돕기 위해 3차원 값으로 예를 든 저 실수들만을 말하는 게 아니고요실제로 LLM에서 입력 시퀀스의 각 토큰에 부여된 텐서 값들을 말하는 겁니다.만약 아무런 연관성이 없이 그냥 임의로 토크나이저에서 만들어진 실수 값일 뿐이라면,단순히 한 입력 원소와 다른 모든 입력 원소의 점곱 등의 연산을 통해 산출된 문맥 벡터가 무슨 의미가 있는 것인 지 이해가 잘 되지 않아서요.즉, 그냥 아무런 연관성 없는 임의의 값들끼리 접곱했는데 의미를 가진 문맥 벡터가 나온다는 게 언뜻 이해가 되질 않습니다.아니면, 처음에는 토크나이저에서 아무런 연관성 없이 그냥 임의로 실수 값들을 각 토큰에 부여했다 하더라도,"훈련 가능한 가중치를 가진 멀티 헤드 어텐션" 알고리즘을 수행하게 되면 어텐션 가중치가 갱신 되면서이런 모든 의구심이 해소 되는 것인가요?
-
미해결스프링 시큐리티 OAuth2
authorization-server 라이브러리 질문이 있습니다.
강의 내에서 dependencies 하고 있는spring-security-oauth2-authorization-server 랑 아래 org.springframework.boot:spring-boot-starter-oauth2-authorization-server 과는 다른 라이브러리인가요?프로젝트 생성하면서 oauth2 authorization 서버를 선택 후에 build.gradle를 확인했는데강의에서 나온 것과 상이하여 질문드립니다.
-
미해결[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
[gif첨부] 아이콘 사이즈 설정 Instant swap property
안녕하세요.피그마에서 아이콘이 있는 버튼을 만드는데 어려움이 있어 문의드립니다.내용과 함께 gif를 첨부드렸는데 같이 확인부탁드립니다. 아이콘 사이즈 : 24 / 20px버튼 사이즈 : default / X-small아이콘 : Leading(앞) / Tralling(뒤)Instant swap property를 한후, ->Leading icon , ->Trailing icon을 사용하고 싶은데요.아이콘 사이즈도 자동으로 사이즈별로 관리하려면 어떻게 해야할까요?아이콘 Instant swap property를 하고나면, 사이즈가 하나로만 인식을 하는지 전체 사이즈가 변경되는 현상이 있습니다.사이즈별로 연동되지 않고 전체가 같이 바뀌는 현상이 있습니다(* 아래 처럼 20px 작은아이콘 영역을 Instant swap property 하면 24px로 커지게 됩니다.사이즈에서 설정을 바꾸면 기존에 큰 사이즈도 똑같이 따라가고 있습니다.)두개의 아이콘 사이즈를 각각 다르게 설정하는 방법을 찾고있는데 혹시 좋은 방법 있으시면 알려주시면 감사하겠습니다. 잘부탁드립니다. 감사합니다.
-
해결됨딥러닝 기반 이미지·객체 인식: CNN에서 YOLO·DETR까지
객체 인식에 대한 질문이 있습니다.
안녕하십니까 선생님.강의를 열심히 듣고 있던 중, 문득 그런 궁금증이 생겼습니다.코스매틱 브랜드 중, 여성들의 '아이브로우' 같은 경우 어떻게 객체 인식을 해줄 수 있을까? 에 대한 의구심이 들었습니다.'흑갈색', '갈색' 이거를 사람 육안으로 파악해도 색상보다는 텍스트로 인식하는 것이 더 빠른데, 이런 것은 어떻게 객체 인식을 하면 되는건가요? 바코드, 텍스트 이런 것들이 주어져 있지 않고, 오로지 색상만으로 구분 할 수 있습니까? 이런 것들에 대한 인식의 정확도를 99% 까지 올릴 수 있는지 궁금합니다.빛의 반사, 포장지, 동그란 형태의 케이스에 대한 예외가 떠오릅니다.
-
미해결
n8n질문
안녕하세요. n8n고수님들 계시나요? 아니 저보다 다 잘하실것같은데 제발 제 고민좀 들어주십쇼ㅠㅠㅠ n8n으로 기안서 자동화 워크플로우를 짜보고있습니다. ai노드로 기안서초안을 짜고 그 정보를 json파일로 풀어서 제가 만든 구글시트 폼에 원하는 위치에 위치시켜주는 워크플로우 입니다. { "type": "object", "properties": { "제목": { "type": "string" }, "내용": { "type": "string" }, "구입품목": { "type": "string" }, "합계금액": { "type": "number" }, "공급업체": { "type": "string" } }, "required": ["제목", "내용", "구입품목", "합계금액", "공급업체"]} 이게 json파일 양식이고 B7:H7 제목B9:H9 내용A11:H11 구입품목A13:H13 합계금액A15:H15 공급업체이게 양식이 위치할 구글시트 좌표입니다. 그런데 구글시트에 어떤노드로 어떻게 짜야 json정보값을 원하는 위치에 넣을 수 있는지모르겠습니다.http랑 googlesheet update row and sheet로 진행하는데 잘 안되네요 ㅠㅜㅠ 글만봐도 초보인게 느껴지시죠 ㅠㅠ제발 아무 조언이라도 부탁드려요ㅠ
-
미해결[플러터플로우] 실전! 앱 출시를 위한 끝장 노하우!
커스텀액션 maybeCreateUser 오류가 납니다.
전 질문 내용 검색해 보고 해도 안되는데요..확인 좀 부탁 드립니다.
-
미해결그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)
반복문의 기저조건(while)/경계조건(for)을 빠르게 설정하는 방법이 있을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님, 먼저 좋은 강의 항상 감사드린다는 말씀부터 올립니다.현재 우선순위 큐와 힙 구현부분을 수강 중인데 반복문 구현이나 반복문 탈출 조건에 대해 선생님께서는 어떻게 생각하고 결정하시는지 질문드리고자 합니다. 저의 경우 구현 부분을 수강하면서 크게 두가지 생각을 가졌습니다(우선순위 큐와 힙 구현 부분 이외 다른 트리구조도 마찬가지이지만 대표적으로). 상황 1) 우선순위 큐와 힙 insert(데이터 삽입) 구현 시 루트노드가 아니며, 마지막 삽입 위치가 부모노드의 오른쪽에 있는 경우에, 오른쪽 형제노드를 구하기 위해 while 반복문 실행한다.이때, while(currentTree.getParentTree().getParentTree() != null){ ..으로 while 반복문의 기저조건을 설정해주었는데, 반복하면서 부모노드로 올라갈때 루트노드는 형제노드가 없으므로 그 이전까지 진행하는 기저조건으로 설정한다. 상황 1 구현하면서 생긴 문제점(의문점)) 기저조건을 currentTree.getParentTree()으로 최초 설정하였을 것 같다는 생각이 들었습니다. 수강내용을 천천히 살펴보았을때도, 루트노드의 경우와 그 이상의 범위탐색시 불필요한 반복문이 또 다시 실행된다는 점을 이해하기까지 시간이 오래 소요되었습니다. 질문요지) 선생님께서는 이러한 기저조건 설정(while문의 경우) 혹은 경계조건 설정(for문의 경우)을 어떤 과정으로 생각하고 구현하시는지 질문드리게 되었습니다.참고로 저의 경우, 현재 수강하면서 코드로 직접 구현할때 최대한 머릿속에서 구현과정을 그려가면서 이해하기 위해 노력중입니다(실제 코딩테스트 환경에서는 종이를 사용하지 못하기에 머릿속으로 구현과정을 이해하는 습관을 장착하고 있습니다).이때 기저조건(while 반복문) 말고도 for 반복문을 사용할때 이에 대한 경계조건(<, <= 등의 사용을 고려하는 것까지)을 설정하기 위해 3~4번의 반복문을 머릿속에 생각하고 지워가면서 힘들게 구현하고 있는데, 선생님께서는 이를 어떻게 구현하고 계시는지 문득 궁금하게되어 질문드리게 되었습니다.아직 이런 알고리즘이 익숙치 않아 생긴 의문일까요? 알고리즘을 많이 살펴본다고 하더라도, 이러한 기본적인 부분부터 탄탄하게 잡고 나가는 것이 필요하다는 생각인데, 지금 이 부분이 오래 걸리다보니 소요시간을 줄이기 위한 노하우를 여쭙고 싶습니다..! 항상 감사드립니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
안녕하세요!! 강사님 혹시 RBAC 관련 내용도 강의에있나요..?
안녕하세요!! 강사님 혹시 RBAC 관련 내용도 다른 강의에있나요..?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
print(id(m) == id(n)) --> False
저는 False 가 나옵니다.찾아보니 False가 정상이고 True는 캐싱으로 설명이 나옵니다. (256보다 큰 숫자이므로 작은 정수 캐싱 범위에 해당하지 않음)강사님 설명 부탁합니다. m = 800 n = 800 print(id(m)) print(id(n)) print(id(m) == id(n))
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
벡터db 저장 문제
안녕하세요! 현재 3.6강까지 수강하였습니다.저는 llm 모델은 ollama의 exaone을 사용했고 임베딩 모델은 HuggingFaceEmbeddings 모델을 사용했습니다.Pinecone 콘솔로 들어온 데이터를 보고 있는데, 사진처럼 같은 게 2개씩 들어갔더라구요. 질문도 최대한 맞춰보려고"거주자의 종합소득이 5천만원일 때 소득세는 얼마인가요?" 라고 하였는데''제공된 문서들은 주로 다양한 유형의 소득과 관련된 조세 규정에 대해 설명하고 있지만, 특정 종합소득세율 테이블이나 5천만 원 소득에 대한 정확한 세액 계산 정보는 포함하고 있지 않습니다"이런식으로 답변이 나왔습니다. 이것은 단지 llm모델과 임베딩 모델에서 생긴 문제인 걸까요? 여기서 어떻게 더 해야할지 모르겠어서 질문남깁니다. 감사합니다.!
-
미해결타입스크립트 입문 - 기초부터 실전까지
vscode eslint server 오류
ESLint server is starting. 2025-10-31 16:07:45.117 [info] ESLint server running in node v22.19.0 2025-10-31 16:07:45.120 [info] ESLint server is running. 2025-10-31 16:07:46.021 [info] ESLint library loaded from: /Users/ijinseob/learn-typescript/node_modules/eslint/lib/api.js 2025-10-31 16:07:46.026 [error] An unexpected error occurred: 2025-10-31 16:07:46.026 [error] Error: Could not find config file. at assertConfigurationExists (/Users/ijinseob/learn-typescript/node_modules/eslint/lib/config/config-loader.js:80:17) at LegacyConfigLoader.loadConfigArrayForFile (/Users/ijinseob/learn-typescript/node_modules/eslint/lib/config/config-loader.js:414:3) at async ESLint.lintText (/Users/ijinseob/learn-typescript/node_modules/eslint/lib/eslint/eslint.js:1123:4) at async /Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:189380 at async O (/Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:182146) at async /Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:29208 at async /Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:11102 2025-10-31 16:07:55.052 [error] An unexpected error occurred: 2025-10-31 16:07:55.053 [error] Error: Could not find config file. at assertConfigurationExists (/Users/ijinseob/learn-typescript/node_modules/eslint/lib/config/config-loader.js:80:17) at LegacyConfigLoader.loadConfigArrayForFile (/Users/ijinseob/learn-typescript/node_modules/eslint/lib/config/config-loader.js:414:3) at async ESLint.lintText (/Users/ijinseob/learn-typescript/node_modules/eslint/lib/eslint/eslint.js:1123:4) at async /Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:189380 at async O (/Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:182146) at async /Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:29208 at async /Users/ijinseob/.vscode/extensions/dbaeumer.vscode-eslint-3.0.16/server/out/eslintServer.js:1:11102extension 설치는 했는데 config 설정에서 계속 뭔가 안되네요ㅠ
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
낙관적 락을 사용할 떄 차이점
@Version만 붙여도 자동으로 낙관적 락을 적용 시켜주는 걸로 알고 있습니다. 근데 강의에서는 @Lock(LockModeType.OPTIMISTIC) 을 이용해서 조회 시점부터 락을 거는 이유가 있을까요?@Lock(LockModeType.OPTIMISTIC) 를 제거하고 동시성 테스트 했을 떄도 정상적으로 돌아가긴 합니다. 어떤 차이가 있을까요
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
안녕하세요. user, catalog, order 를 보면 엔티티에서 pk 대신 별도의 유니크키를 사용하고 있는데, 특별한 이유가 있을까요 ??이 별도의 유니크 키가 어그리거트 루트로 사용되는걸까요 ??
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
zenmap 설치 오류
zenmap 설치 과정에서 이렇게 결과가 나오는데 어떻게 해결해야 될지 알려주시면 감사하겠습니다...ㅠㅠ 칼리 버전은 2025.2 입니다
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
애그리거트의 repository
안녕하세요 토비님! 애그리거트를 사용할 때 질문 사항이 있습니다.예) A도메인 B도메인이 있다 A는 애그리거트 루트이고 B는 A의 부속 엔티티이다.A와 B는 일대다, 다대일의 양방향 의존성을 가진다.B는 A를 통해서만 조작될 수 있다.이 때 B를 생성하거나 업데이트 할 때 B의 repository는 어디에 존재해야 하는가?@Entity public class A { @OneToMany(mappedBy = "media", cascade = CascadeType.ALL, orphanRemoval = true) private List<B> bs = new ArrayList<>(); public void updateNumber(long n){ this.bs.stream().forEach(b -> b.update(n); } } @Entity public class B { @ManyToOne(fetch = FetchType.LAZY) private A a; private long number; public void update(long n){ this.number = n; } } 이렇게 되어 있다고 할 때 변경 가능성을 생각할 때(물론 엔티티에서 이미 jpa에 기술을 사용하고 있긴하지만) B의 repository를 따로 가지는게 맞나요? 만약 따로 가진다면 B의 repository가 A repository에서 의존하여 처리 되어야 하나요?jpa에 완전 종속적으로 사용하면 B가 따로 repository를 가질 필요 없는데 순수함을 유지하지 하려 하니 이 부분에서 고민이 되네요. 아니면 이런 고민 자체가 잘못된걸까요?
-
미해결버그헌팅과 시나리오 모의해킹 전문가 되기
nmap 오류 관련 질문입니다.
이런 식으로도 결과가 나올 수 있나요? 칼리 버전은 2025.2 입니다.
-
미해결김영한의 실전 자바 - 중급 1편
래퍼클래스 박싱 출력
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요 예[질문 내용]안녕하세요 자바 래퍼클래스 강의를 듣다가 궁금해서 질문 남깁니다. 래퍼클래스 생성 (=박싱)하고나서 변수를 출력을 해보면 생성자에 주었던 값이 출력되게 되는데요.래퍼 클래스는 기본형을 객체화 시킨것이라고 알고 있고, 그렇기 때문에 변수에는 객체기 때문에 참조값이 들어가야한다고 알고있는데 왜 참조값이 아닌, 객체에 들어있는 멤머 변수 값이 출력이될까요?ㅠ