묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 고급편
Decorator 에서 추상메서드로 뺄때 질문 있습니다.
1) 실제 로직@Slf4j public class TrueComponent implements Component { @Override public String operation() { log.info("TrueComponent 가 실행되었습니다."); return "data"; } }2) 추상클래스@Slf4j public abstract class AbstractorDecorator implements Component { private Component component; public AbstractorDecorator(Component component) { this.component = component; } @Override public String operation() { log.info("AbstractorDecorator.operation() 실행"); String result = component.operation(); log.info("AbstractorDecorator.operation() 종료"); return result; } }2) 자식@Slf4j public class DecoratorTest1 extends AbstractorDecorator { public DecoratorTest1(Component component) { super(component); } @Override public String operation() { log.info("DecoratorTest1.operation() 실행"); super.operation(); log.info("DecoratorTest1.operation() 실행"); return "data"; } }3) 자식 @Slf4j public class DecoratorTest2 extends AbstractorDecorator { public DecoratorTest2(Component component) { super(component); } @Override public String operation() { log.info("DecoratorTest2.operation() 실행"); super.operation(); log.info("DecoratorTest2.operation() 실행"); return "data"; } }4) 테스트 코드@Slf4j public class DecoratorPatternTest2 { @Test void abstractDecorator() { Component trueComponent = new TrueComponent(); DecoratorTest2 decoratorTest2 = new DecoratorTest2(trueComponent); DecoratorTest1 decoratorTest1 = new DecoratorTest1(decoratorTest2); DecoratorPatternClinet decoratorPatternClinet = new DecoratorPatternClinet(decoratorTest1); decoratorPatternClinet.execute(); } }질문))) MessageDecorator, TimeDecorator 의 중복부분인private Component component; public AbstractorDecorator(Component component) { this.component = component; }해당 부분을 줄이기 위해서 추상메서드로 올렸는데추상메서드로 올리고 코드를 실행하면 추상메서드의 log.info("AbstractorDecorator.operation() 실행"); 이부분이 어쩔수 없이 중복으로 호출되는데, 코드를 줄이기 위해서 사용하기 때문이 중복으로 호출되는건 상관이 없는 건가요?
-
해결됨[인프런어워드 베스트셀러] 코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
텔레그램 대신 사용 가능한 것은?
pc 보안 상 텔레그램을 사용할 수 없습니다. 텔레그램 대신 사용해 볼만한 툴이 있을까요??
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
Vivado 2025.2 리눅스 설치 후 실행 에러와 솔루션 (libxv_commontasks.so)
안녕하세요 🙂[1. 질문 챕터] : 필수과정! Xilinx Vivado 2022.2 설치 (~..)[2. 질문 내용] : Vivado 2025.2 리눅스 설치 후 에러 발생 및 해결방법(에러 로그 : application-specific initialization failed: couldn't load file "libxv_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory) [3. 시도했던 내용, 그렇게 생각하는 이유] : sudo apt install libtinfo5: libtinfo5 패키지 구버전 호환 문제로 실행 에러 발생, 설치 후 에러 해결 AI 만세
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서AI)
스타터킷 제작 관련 질문합니다
안녕하세요 스타터킷 제작 강의 수강중에 이제 실습 중입니다.먼저 cot를 통한 클로드 코드와 웹 개발 스타터킷에 대해 공부하고 제 상황에 맞춘 킷을 개발하려고 기획을 짜고 있습니다 스택을 추천해달라고 하고 이후 다시 한 번 최신 공식문서 기반으로 버전 체크를 해봤습니다이 때 26년도 1월에 나온 next.js 최신 버전 16.1.6과 15중 일단 현재는 AI가 가장 잘 이해한다고 권장하는 15로 버전설치를 하였습니다최신으로 하는게 나을까요? 아니면 지금 선택이 맞는걸까요
-
미해결RPA - UiPath 개발 초급 과정
11-1 영상 재생이 되지 않습니다.
안녕하세요. 11-1 영상은 재생되지 않아 문의 드립니다. 우선 유투브 채널에서 듣도록 하겠습니다. 감사합니다.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌2)
pointer-event:none;
10:57 부분에서, 설명하셨던 것처럼 .btn과 ul에 position: relative; 를 줘도 드래그가 잡히고, 저번 CSS 강의에서 알려주신 속성중에 pointer-events: none;을 .item:before 선택자에 주니까 한번에 해결이 되었어요! 알려주신것 문득문득 떠오르고 적용할때마다 너무 행복합니다!ㅎㅎ아래는 item:before 부분.item:before { content: ''; position: absolute; background-color: rgba(255, 255, 255, 0.267); width: 100%; height: 47%; left: 0; bottom: 0; transform: rotate(-10deg) scale(1.2); pointer-events: none; }
-
미해결2026 코딩테스트 올인원 [JAVA]
코테 사이트 네트워크 연결....
학습 관련 질문을 남겨주세요. 구체적으로 적을수록 좋아요!마크다운과 단축키를 활용하면 글을 더 편하게 작성할 수 있어요.커뮤니티 질문 & 답변에 비슷한 내용이 있었는지 먼저 검색해보세요.편하게 질문주세요:) 직접 답변 드리도록 하겠습니다~ 안녕하세요! 양질의 강의 덕분에 코딩 테스트 준비를 수월하게 할 수 있는 것 같습니다!다름이 아니라 코테 사이트 네트워크 문제가 지속적으로 발생해서 공부하는데 어려움이 있습니다..ㅠㅠ 확인 한 번만 부탁드립니다! 감사합니다
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
DataFrame groupby 사용관련 질문
7:45 에서 해당 코드대로 아래와 같이 작성했는데 TypeError가 발생하였습니다.grouped_by_city = df.groupby('City').mean() print("\nGrouped by City:") print(grouped_by_city)에러 원인을 찾아보니 groupby().mean()을 수행할 때 숫자가 아닌 컬럼이 함께 포함되었기 때문이라 아래와 같이 작성해야 된다고 합니다.data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva'], 'Age': [25,30,35,40,45], 'City' : ['New York','San Francisco', 'Los Angeles', 'Chicago', 'Houston'], 'Salary' : [50000, 60000, 70000, 80000, 90000] } df = pd.DataFrame(data) df['Experience'] = [2,5,8,10,12] print("\nDataFrame after adding coulmn:") print(df)제가 data를 잘못 작성해서 이런 오류가 발생한 것일까요?
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
앱 제작 시 주로 코드로 작성하시는 이유가 있을까요?
안녕하세요, 해당 강의 18:00분 경에 앨런님께서 말씀하신 '앱을 만들 때 주로 코드로 만든다'라는 말씀에 궁금증이 들어 질문 남깁니다.UIKit을 통해 앱을 제작하실 때, 스토리보드 대신 주로 이전 강의 섹션과 같이 주로 코드를 이용해 UI를 구성한다는 말씀이신가요?스토리보드와 코드 둘 다 짧게나마 겪어본 제 입장에서는, 세그웨이를 수행하는 것 제외 스토리보드가 더욱 많은 이점이 느껴져서요.대표적으로는 VC에 UI 관련한 코드가 없어 더욱 VC가 본인의 책임에 집중하게 된다는 생각도 들고, 코드로 UI를 짜다 보면 하나 둘 빼먹게 될 확률도 높아지는 것 같아서요(스토리보드에서는 이를 바로 에러로 잡아주지만, 코드는 잡아주지 않기도 하구요)어떤 부분에 의해, 주로 코드로 UI를 구성하는 것을 선호하는지가 궁금합니다!
-
미해결
클립 유료화 구분점 질문
인프런 클립 게시할 때 유료화 구분점이 이동이 안되네요. 어떻게 하는건지 알려주실분 있나요?
-
미해결클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지 (with 커서AI)
서브에이전트 인식이 안됩니다,....
.claude/agents/prd-generator.md 생성하고/exit 으로 나갔다가 터미널에서 다시 클로드실행해도 여전히 agents 목록에 안뜨더라구요.Create new agent 수동으로 만들었더니 서브에이전트 생성은 되긴한데 여전히 @agent-prd-generator 명령어는 안먹히구요.프롬프트에 'prd-generator 서브에이전트를 활용해서'라는 문구를 추가해서 MVP PRD는 생성했는데,mcp 설치 후 CLI 껐다 켜도 settings 파일에 적용 안되는 것도 그렇고 변경 내용이 연동이 안되네요.. 혹시 사용 방법이 바꼈거나 확인된 버그 있을까요?
-
해결됨남박사의 파이썬으로 실전 웹사이트 만들기
리스트 이동 시 창 에러 발생
다른 쪽은 모두 정상인데.... 로그인, 글 작성,수정 후, 리스트 창으로 이동 시 서버 에러가 나오는데,,, 원인을 못 찼겠습니다. @blueprint.route("/list") def lists(): page = request.args.get("page", 1, type=int) limit = request.args.get("limit", 10, type=int) search = request.args.get("search", -1, type=int) keyword = request.args.get("keyword", "", type=str) query = {} search_list = [] if search == 0: search_list.append({"title": {"$regex": keyword}}) elif search == 1: search_list.append({"contents": {"$regex": keyword}}) elif search == 2: search_list.append({"title": {"$regex": keyword}}) search_list.append({"contents": {"$regex": keyword}}) elif search == 3: search_list.append({"name": {"$regex": keyword}}) if len(search_list) > 0: query = {"$or": search_list} board = mongo.db.board datas = board.find(query).skip((page-1) * limit).limit(limit) #tot_count = board.find(query).count() tot_count = board.count_documents(query) last_page_num = math.ceil(tot_count / limit) block_size = 5 block_num = int((page-1) / block_size) block_start = int((block_size * block_num) + 1) block_last = math.ceil(block_start + (block_size-1)) return render_template("list.html", datas=datas, limit=limit, page=page, block_start=block_start, block_last=block_last, last_page=last_page_num, search=search, keyword=keyword, title="리스트", )
-
미해결빅데이터분석기사 필기 올인원: 3주에 끝내는 완벽 대비
차원 축소 개념-차원의 저주
안녕하세요, 필기시험을 준비하며 강의를 잘 듣고있습니다. 강의를 항상 빨리듣기하고있어서 자세히 못보다가 오늘 눈에 들어오는 부분이있어서 글을 남깁니다.위치 : 2과목 42페이지 차원 축소개념에서 차원의 저주에서내용 : "데이터 공간이 희소해지며"는 공간이 아니라 데이터가 희소해진다는걸 잘못 줄인말인거죠? 수정이되어야, 이해하는데 도움이될거같아요.. 차원이 증가할수록 공간은 커지는데, 데이터 밀도가 감소되는거지요?
-
미해결성장과 상금은 누구의 것? 인프런 3주 '서바이벌' 챌린지 : All or Nothing!
개인 생존 여부
제가 생존했는지 확인하는 방법은 없나요?
-
해결됨전동킥보드로 배우는 임베디드 실전 프로젝트
실무 협업 코딩 방식
안녕하세요, 강사님.강의와 관련된 질문은 아니지만, 실무에서 어떤 방식으로 협업하여 코드를 작성하시는지가 궁금해서 질문 드립니다. 일단, 저는 실무에서 협업해 본 경험이 없습니다.실무에서는 어떻게 협업하는지 궁금해서 찾아 들어가보다가,임베디드 갤러리라는 곳에서 다소 자극적이지만,임베디드 회사 거르는 기준 이라는 글을 보게 됐습니다. 요약하면, 아래와 같은 회사는 안 좋은 회사라는 취지의 글이었습니다.Git 같은 형상 관리 도구를 쓰지 않는 회사테스트 코드 안 짜는 회사코드 리뷰 안 하는 회사코드 포매터 안 쓰는 회사 어느 정도 이해되는 부분도 있고,테스트 코드는 정말 작성할까? 싶기도 했습니다.GPT한테 물어보니, 심지어 리눅스 같은 큰 프로젝트도 포매터는 안 쓴다는 것 같습니다. (린터를 이용해서, 코드 리뷰 단계에서 스타일을 점검하지만) 그래서 드리고 싶은 질문은, 실무에서Git 같은 형상 관리 도구를 사용하시나요?테스트 코드를 작성하시나요?린터, 코드 포매터를 사용하시나요?코드 리뷰를 하시나요?입니다.강의 외의 개인적으로 궁금한 내용을 질문 드려 죄송합니다..
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
5-Q 질문
안녕하세요! 문제 조건이 '웅덩이는 겹치지 않는다' 이기 때문에 현재와 다음 상태를 비교하여 코드를 짰는데 왜 틀린지 모르겠습니다 #include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, L; cin >> N >> L; vector<array<int, 2>> ar(N); for (int i = 0; i < N; i++) { int s, e; cin >> s >> e; ar[i] = {s, e - 1}; } sort(ar.begin(), ar.end(), [](const auto& a, const auto& b) { return a[0] < b[0]; }); int ret = 0; int start = ar[0][0]; int end = ar[0][1]; for (int i = 0; i < N - 1; i++) { auto& cur = ar[i]; auto& next = ar[i + 1]; if (next[0] - cur[1] >= L) { int diff = end - start + 1; ret += diff / L; if (diff % L != 0) ret++; start = next[0]; end = next[1]; } else { end = next[1]; } } int diff = end - start + 1; ret += diff / L; if (diff % L != 0) ret++; cout << ret << "\n"; return 0; }
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
도커 이미지를 만들 때 application.yml
강의에선 application.yml를 포함한 상태로 이미지를 빌드하는데, 현업에서도 이런 식으로 하나요? 이미지를 통해 application.yml의 내용을 알 수 있다거나 보안상 문제가 생길 수 있는지 궁금합니다.
-
미해결피그마UI3 기초 + 실무 탄탄 초스피드 완강코스
6강 질문
6강에서 컴포넌트를 detach 하는 버튼이 보이지 않아요단축키도 안먹힙니다 ㅠ
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
compose.yml 관리
현업에선 compose.yml도 .env와 마찬가지로 .gitignore에 추가하나요? 이런 경우, compose.yml도 .env 때와 마찬가지로 새로 작성하나요?그리고 이 강의에선 compose.yml에 MySQL을 작성했는데, 만약 RDS를 사용한다면 MySQL에 관련된 것은 도커 컨테이너에 띄우지 않는다고 이해했는데 맞나요? 그리고 ECR 리포지토리도 삭제하지 않는다면 비용이 발생할까요?
-
해결됨비전공자도 이해할 수 있는 Docker 입문/실전
ECR 리포지토리에 이미지가 3개가 보입니다.
한 번만 push했는데 왜 이렇게 보일까요?제 컴퓨터는 윈도우인데, Q&A에서 맥 명령어를 입력해도 된다는 답변을 보고 일부러 맥 명령어를 해 봤습니다. 혹시 그것 때문일까요?push는 됐는데 이미지가 3개면 잘못된 건가요?