묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨PM을 위한 데이터 리터러시(프로덕트 데이터 분석)
데이터 로그 설계 과제 작성
안녕하세요! 강의로 많은 도움 받고 있습니다 ㅎㅎ로그설계 과제 3가지 고민해봤는데 보완할 부분이 있을지 의견 주시면 감사하겠습니다.tracking plan: https://docs.google.com/spreadsheets/d/1S36ZEYrGKfPNSSxDRyfEP8klFdYA0j42uE52zg9dTp0/edit?usp=sharing피그마 기획서를 보고 page별로 이벤트를 적는게 편해서 양식을 일부 수정했는데 이런 식으로 작성해도 괜찮을까요? [1] 기능이 잘 동작하는지 확인하기메인지표=각 영역의 클릭 횟수, 클릭률배너 영역: click_banner/view_home메뉴 카테고리 영역: click_food_category/view_home음식추천 영역: click_recommend_food/view_home동네맛집 영역: click_best/view_home잘 동작한다면배너 view_banner_content/click_banner=1 (banner_id별로 확인)메뉴카테고리 view_food_category/click_food_category=1 (food_category별로 확인)음식추천 ???/click_recommend_food=1 추천된 음식을 구분하는 방법을 잘 모르겠습니다 ㅠㅠ동네맛집 ???/click_recommend_restaurant=1 마찬가지로 동네맛집 영역에 노출된 식당을 구분하는 방법이 있을까요? [2] 검색 만족도 지표만족 정의하기: 사용자가 검색을 통해 원하는 메뉴 또는 식당을 찾았다지표 정의하기① 검색기능 이용 비율=view_search_result/view_home② 검색 완료 비율=view_search_result/view_search (검색영역 진입 후 이탈하지 않고, 실제로 검색 수행까지 완료한 경우)③ 무결과 검색률 (무결과가 적을수록 검색의 질이 높은 것으로 판단)분자: view_search_result(result_number=0)분모: view_search_result④ 검색결과 페이지 내에서 특정 음식(예: 치킨 너겟)의 클릭율분자: click_food(food_name=”치킨 너겟”)분모: view_search_result [3] 검색 필터 기능의 활성화 지표필터 활성화 정의하기: 기본 검색보다 필터를 사용한 경우가 더 많다지표 정의하기① 필터 적용 비율=view_filter_result/view_search_result
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
삼성 싸피 (난이도 실버수준) 준비하려면 3주차까지면 충분할까요?
큰돌의터전님 혹시 단톡방 참여 못하나요?? 그리고 삼성 싸피 (난이도 실버수준) 준비하려면 3주차까지면 충분할까요...?
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
28강 8분 54초 Electric Car 문제 질문드려요
ElectricCar() 이 자식이라 부모를 불러와야한다는건 알겠는데 불러오는 부모가 class Car 을 불러오는건가요,아님 public Car() 을 불러오는건가요? public Car() 를 불러오는거라 "Car created" 만 출력하는거고 그 밑에 있는 startEngine() 은 부르지않는게 맞는건지 궁금해요
-
미해결React Native with Expo: 제로초에게 제대로 배우기
.
.
-
해결됨직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피
한글 자동화 삽도 삽입!!
안녕하세요 강의 보면서 한글 자동화 겉핥기 중인 수강생입니다.현재 제가 관리카드 형식의 한글 자동화를 템플릿을 통해 만들고있습니다.엑셀에 로우데이터 입력 후 엑셀 입력된 데이터들을 한글 템플릿 표 안에 원하는 위치에 까진 입력을 한 상태입니다만.이후 한글 템플릿 표 안에 삽도를 삽입하는 과정에서 막혔습니다.ai를 통해 질문해보고 다시 코드를 짜보고 있으나 계속 삽도부분에서 막혀 질문드립니다.import os from collections import defaultdict from io import BytesIO import pandas as pd import win32clipboard import win32com.client as win32 from PIL import Image import time def init_hwp(visible=False): """ 아래아한글 시작 """ hwp = win32.gencache.EnsureDispatch("hwpframe.hwpobject") hwp.XHwpWindows.Item(0).Visible = True hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckerModule") return hwp def get_nst_table(n): """ n번째 표 앞으로 이동 n은 0부터 시작함. """ ctrl = hwp.HeadCtrl count = 0 while ctrl: if ctrl.CtrlID == "tbl": if count == n: hwp.SetPosBySet(ctrl.GetAnchorPos(0)) break else: ctrl = ctrl.Next count += 1 else: ctrl = ctrl.Next def insert_text(text): """ 문서에 텍스트 삽입 """ hwp.HAction.GetDefault("InsertText", hwp.HParameterSet.HInsertText.HSet) hwp.HParameterSet.HInsertText.Text = text hwp.HAction.Execute("InsertText", hwp.HParameterSet.HInsertText.HSet) def get_text(): """ 문서 선택범위의 문자열을 추출 """ hwp.InitScan(Range=0xff) total_text = "" state = 2 while state not in [0, 1]: state, text = hwp.GetText() total_text += text hwp.ReleaseScan() return total_text def append_hwp(filename): """ 문서 끼워넣기 """ hwp.HAction.GetDefault("InsertFile", hwp.HParameterSet.HInsertFile.HSet) hwp.HParameterSet.HInsertFile.KeepSection = 0 hwp.HParameterSet.HInsertFile.KeepCharshape = 0 hwp.HParameterSet.HInsertFile.KeepParashape = 0 hwp.HParameterSet.HInsertFile.KeepStyle = 0 hwp.HParameterSet.HInsertFile.filename = filename hwp.HAction.Execute("InsertFile", hwp.HParameterSet.HInsertFile.HSet) def 사진리스트추출(): """ '삽도폴더' 하위의 모든 서브폴더에서 모든 그림 파일 경로를 추출하여 단일 리스트로 반환합니다. """ all_pic_paths = [] # "삽도폴더"의 경로를 설정합니다. (현재 스크립트 위치 기준) 삽도폴더_경로 = os.path.join(os.getcwd(), "삽도폴더") # "삽도폴더"가 존재하는지 확인합니다. if not os.path.exists(삽도폴더_경로): print(f"경고: '{삽도폴더_경로}' 폴더가 존재하지 않습니다.") return [] # os.walk를 사용하여 서브폴더를 포함한 모든 파일을 탐색합니다. for root, _, files in os.walk(삽도폴더_경로): for file in files: # 이미지 파일 확장자를 확인합니다. 필요에 따라 추가/수정 가능합니다. if file.lower().endswith((".png", ".jpg", ".jpeg", ".gif", ".bmp")): all_pic_paths.append(os.path.join(root, file)) return all_pic_paths # 사용 예시: # 이 함수를 호출한 결과를 사진리스트 변수에 저장해야 합니다. # 예: 사진리스트 = 사진리스트추출() def 사진제목추출(): 제목사전 = defaultdict(list) 제목리스트 = [] for 사진파일 in 사진리스트: 파일명 = os.path.basename(사진파일) 본문, _ = os.path.splitext(파일명) if "_" not in 본문: continue 연번, 삽도종류 = 본문.split("_", 1) 제목명 = f"{연번}_{삽도종류}" if 제목명 not in 제목리스트: 제목리스트.append(제목명) 제목사전[제목명].append(사진파일) return 제목리스트, 제목사전 def 클립보드로_이미지_삽입(filepath): """ 한/글 API의 InsertPicture 메서드는 셀의 크기를 변경하지 않는 반면(이미지가 찌그러짐) 클립보드를 통해 이미지를 삽입하면 이미지의 종횡비에 맞춰 셀의 높이가 자동으로 조절됨. """ 이미지 = Image.open(filepath) 아웃풋 = BytesIO() 이미지.convert('RGB').save(아웃풋, 'BMP') 최종데이터 = 아웃풋.getvalue()[14:] 아웃풋.close() win32clipboard.OpenClipboard() win32clipboard.EmptyClipboard() win32clipboard.SetClipboardData(win32clipboard.CF_DIB, 최종데이터) win32clipboard.CloseClipboard() hwp.Run("Paste") def 첫번째행으로_이동(): """ 표의 A2 셀로 이동 """ hwp.Run("TableColBegin") hwp.Run("TableColPageUp") hwp.Run("TableLowerCell") hwp.Run("TableCellBlock") def 위셀과병합(): """ 제목 그대로임 """ hwp.Run("TableDeleteCell") # 아래 셀 내용을 지운 후 hwp.Run("TableCellBlockExtend") # 셀 다중선택모드 hwp.Run("TableUpperCell") # 위 셀까지 선택 hwp.Run("TableMergeCell") # 선택된 셀 병합 hwp.Run("TableCellBlock") # 다시 셀 선택 모드 def 다음페이지로(): """ 표에서 나와서 문서 끝으로 이동 후 Ctrl-Enter를 통해 다음페이지로 넘어감 """ hwp.Run("Cancel") hwp.Run("MoveTopLevelEnd") hwp.Run("BreakPage") def 완료메시지(): msgbox = hwp.XHwpMessageBox # 메시지박스 생성 msgbox.string = "문서작성을 완료하였습니다." msgbox.Flag = 0 # [확인] 버튼만 나타나게 설정 msgbox.DoModal() # 메시지박스 보이기 if __name__ == '__main__': hwp = init_hwp() # hwp.Open(os.path.join(os.getcwd(), "예시파일.hwp")) hwp.Run("FileOpen") os.chdir(hwp.Path.rsplit("\\", maxsplit=1)[0]) # 현재 열린 문서가 위치한 경로로 이동 df = pd.read_excel(os.path.join(os.getcwd(), "관리카드 데이터 정리.xlsx")) 사진리스트 = 사진리스트추출() 사진리스트 제목리스트, 제목사전 = 사진제목추출() 제목리스트 제목사전 관리카드_리스트 = df pd.set_option('display.max_rows', None) 관리카드_리스트 # === 이 부분이 가장 중요합니다! NaN 값을 빈 문자열로 채우는 코드 === 관리카드_리스트 = 관리카드_리스트.fillna('') 훼손지_리스트 = [i.split("_")[0] for i in 제목리스트] 훼손지_리스트 삽도명_종류 = [i.split("_")[1] for i in 제목리스트] 삽도명_종류 for i in range(len(관리카드_리스트)): # ========================엑셀 내부 데이터 값 정의=============================== 연번_누름틀_값 = 관리카드_리스트.iloc[i]["연번_누름틀"] 순번_값 = 관리카드_리스트.iloc[i]["순번"] 토지이용현황_값 = 관리카드_리스트.iloc[i]["토지이용현황"] 소유구분_값 = 관리카드_리스트.iloc[i]["소유구분"] 당초차량진출입_값 = 관리카드_리스트.iloc[i]["당초차량진출입"] 검토내용_값 = 관리카드_리스트.iloc[i]["검토내용"] 도로포장_값 = 관리카드_리스트.iloc[i]["도로포장"] 교행여부_값 = 관리카드_리스트.iloc[i]["교행여부"] 검토결과_값 = 관리카드_리스트.iloc[i]["검토결과"] i_지적도 = 관리카드_리스트.iloc[i]["지적도"] i_항공사진 = 관리카드_리스트.iloc[i]["항공사진"] i_현장사진_1 = 관리카드_리스트.iloc[i]["현장사진_1"] i_현장사진_2 = 관리카드_리스트.iloc[i]["현장사진_2"] i_검토결과_사진 = 관리카드_리스트.iloc[i]["검토결과_사진"] # ========================표 내부 데이터 입력하기================================ append_hwp(os.path.join(os.getcwd(), "템플릿1.hwp")) # 문서 끼워넣기 # hwp.RenameField("연번_누름틀",연번_누름틀_값) # 누름틀 필드 이름 바꾸기 # hwp.PutFieldText(연번_누름틀_값,연번_누름틀_값) # 누름틀에 연번_누름틀 값 텍스트로 넣기 hwp.RenameField("순번",순번_값) hwp.PutFieldText(순번_값,순번_값) hwp.RenameField("토지이용현황",토지이용현황_값) hwp.PutFieldText(토지이용현황_값,토지이용현황_값) hwp.RenameField("소유구분",소유구분_값) hwp.PutFieldText(소유구분_값,소유구분_값) hwp.RenameField("당초차량진출입",당초차량진출입_값) hwp.PutFieldText(당초차량진출입_값,당초차량진출입_값) hwp.RenameField("검토내용",검토내용_값) hwp.PutFieldText(검토내용_값,검토내용_값) hwp.RenameField("도로포장",도로포장_값) hwp.PutFieldText(도로포장_값,도로포장_값) hwp.RenameField("교행여부",교행여부_값) hwp.PutFieldText(교행여부_값,교행여부_값) hwp.RenameField("검토결과",검토결과_값) hwp.PutFieldText(검토결과_값,검토결과_값) hwp.RenameField("지적도",i_지적도) hwp.PutFieldText(i_지적도,i_지적도) hwp.RenameField("항공사진",i_항공사진) hwp.PutFieldText(i_항공사진,i_항공사진) hwp.RenameField("현장사진_1",i_현장사진_1) hwp.PutFieldText(i_현장사진_1,i_현장사진_1) hwp.RenameField("현장사진_2",i_현장사진_2) hwp.PutFieldText(i_현장사진_2,i_현장사진_2) hwp.RenameField("검토결과_사진",i_검토결과_사진) hwp.PutFieldText(i_검토결과_사진,i_검토결과_사진) hwp.Run("MoveTopLevelEnd") hwp.Run("BreakPage") 위 코드를 실행하여 만든 결과물입니다. 지적도, 항공사진, 현장사진1,2, 검토결과_사진에 강의에 올라온 사진리스트 추출을 이용하여 삽도들을 삽입하고 싶습니다.어떻게 해야 할까요??ㅠ답변 기다리겠습니다.감사합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
langchain 버전 질문드립니다.
수업 중에서는 langchain==0.3.3 버전을 사용하셨는데 제가 지금 수강하고 있는 시점에서는 1.0.3 버전이 나와서 1.0.3 버전으로 설치했습니다. No module named 'langchain.chains'RetrievalQA(create_retrieval_chain)를 임포트하려고 langchain.chains를 가져오려고 했는데, ModuleNotFoundError가 뜹니다. 현재 버전에서는 사라진 것 같습니다. 다른 방법을 추천하시는지아니면 0.3.3으로 다운그레이드해서 공부해야하는지 궁금합니다..! 감사합니다
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
다차원 배열 포인터 변수 선언할때
포인터 조작과 출제패턴 강의 27:07초에서 다차원 배열 포인터 변수 선언할때 왜 괄호를 *ptr 에 씌워주는지 궁금하네요. 원래 그런 방식으로 사용하기로 합의가 된건가요?
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
26강에서 벡터저장소인 pinecone을 쓴이유가 있을까요?
다양한 벡터저장소가 있는데 파인콘의 장점이나 특징이 어떤게 있는지 궁금합니다.
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
전원회로 질문있습니다.
1. 실제로 PCB에 회로가 올라갈때는 아래 그림과같이 올라가나요?2. GND는 왜 두개인가요?데이터시트에 다르면 100nF 커패시터는 핀당 하나씩 들어가는거 아닌가요? 3.3v가 연결된 핀은 8개로 보이는데 왜 9개의 100nF 커패시터가 달려있나요?
-
해결됨오브젝트 - 기초편
강의 자료 관련 질문입니다! (2-4. 절차에서 객체로)
영호님 안녕하세요 😊 이번에는 2-4강을 듣던 도중 강의 자료와 관련된 질문을 드려요 Q. DiscountCondition을 책임지는 로직을 DiscountPolicy로 이동할 때,DiscountPolicy 클래스에 있는 findDiscountCondition()메서드의 접근 제어자가 private으로 되어있는 부분은 public으로 변경하고ReservationService 클래스의 reserveScreening() 메서드에서 policy.findDiscountCondition(screening, conditions);으로 생각하면 될까요?! 2-4 강의자료 page 10 (강의 02:29) 2-4 강의자료 page 11 (강의 02:42)
-
해결됨Flutter 앱 개발 기초
수강기간 연장 부탁 드립니다.^^
수강기간 연장 부탁 드립니다.감사합니다.좋은 하루 보내세요~
-
해결됨디자인 시스템 with 피그마
인프런 할때마다 짜증나는데 수업내용이 너무 오래된건 제발 삭제좀 하던지 다시 찍던지 해주세요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨디자인 시스템 with 피그마
tailwind color generator 이게 작동이 잘 안되네요
이 플러그인 들어가서 gray 라고 치면 컬러가 9개 인가요? 이게 안나오고 그냥 단지 색도 안나오는 100이라는 글자 하나만 나오는데요
-
해결됨[완독 챌린지] 『AI 엔지니어링』 5주만에 함께 읽기!
챌린지 검색이 안되서요.
시작전이긴 한데 구매했는데 리스트에 보이지 않습니다. 왜 그런걸까요?
-
해결됨제미니의 개발실무 - 커머스 백엔드 기본편
상품 상세 컨트롤러 내 서비스 호출 질문
강의에서 상품 상세 컨트롤러에서 여러 개의 서비스를 직접 참조해 하나의 응답으로 반환하고 있는데요이 경우, 단일 서비스에서 데이터를 묶어 응답하지 않고 각 서비스를 개별적으로 호출하는 이유가 궁금합니다.이런 구조가 모듈을 분리했을 때 Aggregation 성격의 서비스가 여러 서비스에 의존하게 되는 문제를 피하기 위한 설계인가요?또, 여러 서비스를 호출하면 하나의 API 요청 내에서 여러 트랜잭션 커넥션이 열릴 수 있는데, 이를 설계 상 트레이드오프로 봐야 할까요?추가로, 강의에서는 productId 하나만 받아서 여러 서비스를 독립적으로 호출하고 있는 것 같았는데,서비스 간 호출 순서가 없으므로 각각을 독립적인 유즈케이스로 보는 게 맞을까요?아니면 컨트롤러가 여러 서비스를 조합하는 역할을 가져도 되는 걸까요?마지막으로, 저는 조회 시 실무에서는 모듈별 유즈케이스가 각각 존재하고, 이를 묶어주는 별도의 서비스가 로직과 조합을 포함하여 담당하고 있습니다.예를 들어 상품 조회 API 응답 시 상품내용과 함께 회원 이름/생년월일 등등 포함, 쿠폰 정보 포함 요구사항이 주어졌을 때두 가지 방식으로 구현할 수 있을 것 같은데요어떻게 바라보시는지 궁금합니다.# 방법1 # 특정 서비스에서 조합하여 호출 상품 API 모듈(컨트롤러) → 상품 Service 모듈 → 회원 모듈 서비스1, 쿠폰 모듈 서비스2, ...# 방법2 # 각 서비스를 컨트롤러에서 호출 상품 API 모듈(컨트롤러) → 회원 모듈 서비스1, 쿠폰 모듈 서비스2강의에서는 방법2 와 비슷하게 처리하신 것 같습니다.강의 중 여러가지 패턴을 소개해 주신다고 했지만 급하게 질문드리는 점 죄송합니다.
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다
이전에 구매하고 학교생활하느라 정신없어서 잘 듣지 못했는데지금 다시 들으려고 보니 기간이 거의 남지 않았네요ㅠ수강기간을 한 번만 연장시켜 주실 것을 부탁드립니다.. 감사합니다!
-
미해결Next + React Query로 SNS 서비스 만들기
import 파일 경로를 찾지 못 해서 에러가 발생합니다.
안녕하세요. 에러가 발생해서 질문드립니다.경로는 아무리 봐도 맞게 쓴거 같은데 찾지를 못 합니다.Build ErrorModule not found: Can't resolve '@/app/(afterLogin)/_component/FollowRecommend'./Desktop/FRONT/z-com/src/app/(afterLogin)/layout.tsx (10:1)Module not found: Can't resolve '@/app/(afterLogin)/_component/FollowRecommend' 8 | import LogoutButton from "@/app/(afterLogin)/_component/LogoutButton"; 9 | import TrendSection from "@/app/(afterLogin)/_component/TrendSection"; > 10 | import FollowRecommend from "@/app/(afterLogin)/_component/FollowRecommend"; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 11 | 12 | export default function AfterLoginLayout({ children }: { children: ReactNode }) { 13 | return ( Import map: aliased to relative './src/app/(afterLogin)/_component/FollowRecommend' inside of [project]/Desktop/FRONT/z-com/src https://nextjs.org/docs/messages/module-not-found
-
해결됨(2026) 일주일만에 합격하는 정보처리기사 실기
c언어 , 자바 자료형
for문 같은 경우 i값이 0부터 4까지 총 5번 반복 되는데 왜 숫자는 안 늘어나나요?답이 0 1 2 3 4 이렇케 나와야하는거 아닌가요?왜 0 0 0 0 0은 되고 0 1 2 3 4는 안되는지 알 수 있을까요..? 만약 0 1 2 3 4가 나오려면 어떻케 코드가 되어있어야 출력되는지도 알수 있을까요..? 기본적인거 같은데 질문해서 죄송합니다ㅜ
-
미해결
공헌이익은 어디에 사용하나요?
공헌이익은 매출액에 변동비를 뺀것이다. 라고만 아는 것이 아니라, 이게 뜻하는바가,, 그러니까 실무에서 어떤 의미로 쓰이는지 알고 싶습니다. 예를들어, 공헌이익을 보고 '우리 공헌이익이 너무 낮네! 고정비가 너무 높은거 아냐? 영업이익이 너무 적은 것 아냐? 도대체 뭐가 문제야? 이렇게 질문하면서 근본적인 원인을 찾거나 이에 따른 기업의 향후 전략들을 세우거나 변경할 수 있을 것 같아요. 구체적으로 어떤 의사결정에 활용되는지 알려주시면 고맙겠습니다.
-
미해결[왕초보] [누적 5,000명+] Python 프로그래밍 기초 완성 로드맵
변수 선언에 관련한 질문.
안녕하세요. 변수선언에 관련된 질문이 있습니다.# 하나의 변수에 하나의 값을 대입 a = 1 b = 1위와 같은 경우에 변수와 값을 띄워쓰기 하는데 붙여쓰기를 해도 동일하게 적용은 가능한데 띄워쓰기 하는 이유가 있는지 궁금합니다.