묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
안드로이드 위치 권한 이슈 2가지 문의
❗질문 작성시 꼭 참고해주세요에러 메세지에서 단서를 찾을 수 있는 경우가 많습니다. 에러 메세지를 읽고 한번 검색해보시는것을 추천드립니다.질문글을 작성하실때는, 현재 문제(또는 에러)와 코드나 github을 첨부해주세요.개발중인 OS, ReactNative, Node 버전 등의 개발환경을 알려주셔야합니다.에러메세지는 일부분이 아닌 전체 상황을 올려주세요. 일부만 보여주시면 답변이 어렵습니다. (에러 일부만 자르거나 일부만 복사하지말아주세요) 안드로이드의 경우 앱을 열어놓고 설정화면으로 넘어간 다음으로 경로 권한을 내리고 다시 앱으로 돌아가면 앱이 재실행되어 useAppState 가 초기화되어 의도한 동작을 하지 않습니다. 1번의 경우에 앱을 다시 백그라운드에 두고 다시 앱을 켜면 의도한 동작이 실행되는데 이상하게 getCurrentPosition 의 에러 콜백이 무한으로 돕니다....
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
노션 파일 업로드가 가능한가요?
안녕하세요. 노션 연동까지 잘 들었습니다.노션 API를 통해 파일을 업로드할 수 있을까요?노션 페이지에 텍스트 작성은 잘 되는데 파일 첨부가 안되네요.레딧 보니까 되는것 같던데, 며칠동안 고민해도 안되네요.
-
미해결
코딩 1:1 클래스 “코드스케이프” 모집
🌟 코딩을 탐험하는 CodeScape(코드스케이프) 🌟 안녕하세요 코드스케이프 스터디입니다! 2학기를 맞이해서 1학기에 이어 새학기 C언어, JAVA 4주 마스터 스터디와 응용 심화 스터디를 준비하고 있습니다! 중간고사 기간 전에 빠르게 기본기 점검, 마스터하고 싶은 분들 모집합니다! 자세한 커리큘럼은 노션 통해서 확인 해주세요~! 📖 <프로그램 및 커리큘럼 소개>https://polar-zydeco-01f.notion.site/CodeScape-17eab7600a9d805bb0a2e0b474d895a8?pvs=4 📝모집기간 및 대상 📍모집 기간 : 09.01 (월) ~ 09.21 (일)📍진행 기간 : 4~5주차 커리큘럼으로 준비중 (클래스마다 조금씩 상이할 수 있음.)📍모집대상 ✅ 서울권 대학생(휴학생도 환영)✅ 서울 거주자 전공자 & 비전공자 상관 없음!✅ 새학기 시작하고 C Langauge 혹은 Java 개념 4주안에 기본기 쌓고 싶은 분!✅ C Langauge 혹은 JAVA 주력언어로 희망하는 개발자 지망생! (심화반은 사이드 프로젝트 진행예정.)✅ 6주차 커리큘럼으로 준비중 (스터디마다 조금씩 상이할 수 있음.) ✉ <신청 및 문의>📤신청링크: https://forms.gle/Nwzj5mqPVDxHAvLr9📤문의링크: 김지석 010-2973-4106
-
미해결[실전 게임 코드 리뷰] 유니티 클리커 게임
SceneType 질문
강의를 다 들어서 이제 첫 단추부터 풀어보려고 게임씬 스크립트 열고 분석하려 했는데 SceneType 변수가 있길래 뭐하는 코드지 하고 검색해 봤는데 해당 변수를 활용하는 부분이 안보여서 어떤 로직인지 잘 모르겠어요 해당 변수는 어떤 용도로 작성됐나요
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
두 수의 차이와 가위바위보 숫자 크기에 따라 처리했습니다.
안녕하세요! 강의 보면서 복습도 할 겸, 열심히 지식을 얻어가고 있습니다.아무튼, 본론으로 돌아가서 가위바위보 규칙을 생각하고 두 사람의 결과값에 따라 차이를 구하고 분기를 나눠보았습니다.우선 가위 ( 1 ), 바위 ( 2 ) , 보 ( 3 )비기는 경우 = 0가위와 바위의 차이 = 1바위와 보의 차이 = 1가위와 보의 차이 = 2이렇게 숫자로 규칙을 작성하고 보니, 큰 수와 작은 수를 정렬하고 서로의 차이를 구하면 분기를 나눌 수 있을 거 같았습니다.따라서, 차이가 1인 경우엔 큰 수를 가진 사람이 이기게 되고 차이가 2인 경우엔 작은 수를 가진 사람이 이기도록 설정할 수 있을 거 같았습니다.무승부의 경우에는 차이가 0이고 서로의 값이 같다면 무승부로 처리하면 되기에 따로 처리하고 아래처럼 작성하였습니다.function solution(n, A, B) { let answer = ""; for (let i = 0; i < n; i++) { const [a, b] = [A[i], B[i]]; const diff = Math.max(a, b) - Math.min(a, b); if (diff === 0) { answer += "D\n"; } if (diff === 1) { if (a > b) { answer += "A\n"; } else { answer += "B\n"; } } if (diff === 2) { if (a > b) { answer += "B\n"; } else { answer += "A\n"; } } } return answer; } console.log(solution(5, [2, 3, 3, 1, 3], [1, 1, 2, 2, 3])); 이 경우에 시간복잡도가 커지지만, 두 사람의 데이터만 처리하면 될 것이라 판단하고 괜찮을 거 같다고 생각하여 작성해 보았는데 ..만일 코테에서 작성한다면 시간 초과라던가 그런 문제가 있을 수 있을까요?
-
미해결Airflow 마스터 클래스
macOS에서 docker 설치
안녕하세요 mac에서 docker 설치하려고 하는데 apt-get command not found가 뜹니다. 찾아보니 apt 명령어는 macOS에서 동작 안한다고 하는데 어떻게 진행하면 될까요?
-
미해결김영한의 실전 데이터베이스 - 기본편
order_date 조건에 비교 연산자 대신에 와일드카드 사용
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]조인 종합 실습 파트에서 주어진 문제를 해결할 때,where u.address LIKE '서울%' AND o.order_date LIKE '2025-06%';으로 작성했을 때 똑같이 동작하는 것 같아서 질문합니다. 이렇게 사용했을 때는 또다른 문제가 있을까요?
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
커리큘럼문의
언어과목에서 다 맞는 목표가 아니면 커리큘럼 중에 섹션 7, 10, 12는 안봐도 될까요?
-
미해결ASP.NET Core MVC +ASP.NET Core +REST API +.NET 8.0
12_3강 AutoMapper 설명 중에 MapperConfiguration
12_3강 AutoMapper 설명 중에 MapperConfiguration 설정을 사이트에서 복사해오는 부분이 있습니다. var configuration = new MapperConfiguration(cfg => cfg.CreateMap<Order, OrderD to>(), loggerFactory);공식사이트에서 new MapperConfiguration 생성시 loggerFactory 가 추가되도록 되어 있습니다. 강의 내용상 아직 DI를 다루지 않았고, 또한 로그가 그렇게 중요한게 아니라면 var configuration = new MapperConfiguration(cfg => cfg.CreateMap<APP_USER, CreatedUserDTO>(), NullLoggerFactory.Instance); 강의 듣는 분들은 이렇게 처리하시면 될 것 같습니다.
-
미해결[4주 과정] <클로드 코드> 완독 챌린지 : 매일 1시간씩 4주 동안 클로드 코드 도서 완독하기!
여전히 node.js에서 설치 오류
일단 설치가 제대로 안돼 2일째 학습도 해보았는데 설치가 잘 안되면 진도를 제대로 따라갈 수 없네요.어린 아이가 있어 긴시간을 내기 어려워 어디에서부터 수정해야할지 뒤죽박죽 일단 명령어만 학습 익히고 있습니다.
-
해결됨남박사의 파이썬으로 실전 웹사이트 만들기
검색기능 질문
from flask import Flask from flask import request from flask import render_template from flask_pymongo import PyMongo from datetime import datetime from bson.objectid import ObjectId from flask import abort from flask import redirect from flask import url_for import time import math app = Flask(__name__) app.config["MONGO_URI"] = "mongodb://localhost:27017/myweb" mongo = PyMongo(app) @app.template_filter("formatdatetime") def format_datetime(value): if value is None: return "" now_timestamp = time.time() offset = datetime.fromtimestamp(now_timestamp) - datetime.utcfromtimestamp(now_timestamp) value = datetime.fromtimestamp((int(value) / 1000)) + offset return value.strftime('%Y-%m-%d %H:%M:%S') @app.route("/list") def lists(): #페이지 값(값이 없는 경우 기본값은 1) page = request.args.get("page", 1, type=int) #한페이지당 몇개의 게시물을 출력할지 limit = request.args.get("limit", 7, 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}}) #검색 대상이 한개라도 존재할 경우 query 변수에 $or 리스트를 쿼리 합니다. if len(search_list) > 0: query = {"$or": search_list} print(query) board = mongo.db.board datas = board.find(query).skip((page - 1)*limit).limit(limit) #게시물의 총 갯수 tot_count = board.find(query).count() #마지막 페이지의 수를 구합니다. last_page_num = math.ceil(tot_count / limit) #페이지 블럭을 5개씩 표기 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_num=last_page_num, search=search, keyword=keyword) @app.route("/view/<idx>") def board_view(idx): # idx = request.args.get("idx") if idx is not None: board = mongo.db.board data = board.find_one({"_id": ObjectId(idx)}) if data is not None: result = { "id" : data.get("_id"), "name" : data.get("name"), "title" : data.get("title"), "contents" : data.get("contents"), "pubdate" : data.get("pubdate"), "view" : data.get("view"), } return render_template("view.html", result=result) return abort(400) @app.route("/wirte", methods = ["GET", "POST"]) def board_wirte(): if request.method == "POST": name = request.form.get("name") title = request.form.get("title") contents = request.form.get("contents") print(name, title, contents) current_utc_time = round(datetime.utcnow().timestamp() * 1000) board = mongo.db.board post = { "name" : name, "title" : title, "contents" : contents, "pubdate" : current_utc_time, "view" : 0, } x = board.insert_one(post) print(x.inserted_id) return redirect(url_for("board_view", idx=x.inserted_id)) else: return render_template("wirte.html") if __name__ == "__main__": app.run(debug = True) <script> function search() { var v_search = document.getElementById("search").value; var v_keyword = document.getElementById("keyword").value; if(v_search == "" || v_keyword == ""){ return false; } else{ self.location.href="{{url_for('lists')}}?search=" + v_search + "&keyword=" + v_keyword; } } </script> {% if datas.count() > 0%} <table> <thead> <tr> <td>번호</td> <td>제목</td> <td>이름</td> <td>날짜</td> <td>조회수</td> </tr> </thead> <tbody> <!--반복되는 구간--> {%for data in datas%} <tr> <td>{{loop.index + (page - 1) * limit}}</td> <td><a href="{{url_for('board_view', idx=data._id, page=page, search=search, keyword=keyword)}}">{{data.title}}</a></td> <td>{{data.name}}</td> <td>{{data.pubdate | formatdatetime}}</td> <td>{{data.view}}</td> </tr> <!--반복되는 구간 끝--> {%endfor%} </tbody> </table> {%if block_start -1 > 0%} <a href="{{url_for('lists', page=block_start - 1, search=search, keyword=keyword)}}">[이전]</a> {%endif%} {%for i in range(block_start, block_last + 1)%} {% if i > last_page_num%} {%else%} {%if i == page%} <b>{{i}}</b> {%else%} <a href="{{url_for('lists', page=i, search=search, keyword=keyword)}}">{{i}}</a> {%endif%} {%endif%} {%endfor%} {%if block_last < last_page_num%} <a href="{{url_for('lists', page=block_last+ 1, search=search, keyword=keyword)}}">[다음]</a> {%endif%} <select name="search" id="search"> <option value="">검색대상</option> <option value="0">제목</option> <option value="1">내용</option> <option value="2">제목 + 내용</option> <option value="3">작성자</option> </select> <input type="text" name="keyword" id="keyword"> <input type="button" value="검색" onclick="search()"> {% else %} <h3>데이터가 없습니다.</h3> {%endif%} 분명 똑같이 했는데 왜 검색이 안되고 무반응인지 잘 모르겠어요. 뭐가 문제일까요?
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
강의 공부에 대해서 관련된 질문!
공부중인데 내용이 너무 좋아서 블로그에 공부한 예제 코드와 정리된 내용을 일부 작성하려 하는데 괜찮을까요?? 스크린샷으로 첨부하거나 그런건 아니고 코드는 제 ide 에서 실행한것과 git repo 에 올리면서 공유하려고 해~ 그리고 공부한 내용들은 직접 작성 하고 정리해서 올리려고 하는데 괜찮은지 궁금해서 질문해!!
-
미해결6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법
UNDO LOG와 롤백에 관해 질문드립니다.
1. 현재 학습 진도4-5 수강중 트랜잭션 내 isolation level에 따른 데이터 consistency 보장을 위해, WAL(Write-Ahead Logging)시 내부적으로 사용하는 UNDO LOG와 REDO LOG를 활용한다. 2. 어려움을 겪는 부분그러면 트랜잭션 내에서 rollback을 수행하면, UNDO LOG를 기반으로 디스크 내용을 트랜잭션 수행 이전 상태로 되돌린다고 이해했습니다. 맞게 이해한걸까요?만약 이게 맞다면, WAL로 인해 트랜잭션 내 작업들은 커밋되기 전에 디스크에 반영되지 않으므로, rollback된다면 UNDO LOG를 활용하지 않더라도 디스크 내 데이터가 이전 내용임이 보장되지 않나요?롤백 시 UNDO LOG가 어떤 부분에서 활용되어야 하는지 이해하지 못했습니다.
-
미해결
세일즈포스 마케팅 클라우드 인텔리전스 공인 전문가 (AP-215) 시험 연습 문제
세일즈포스 마케팅 클라우드 인텔리전스 공인 전문가 (AP-215) 시험 준비는 단순히 정의를 암기하는 것 이상을 요구합니다. 명확한 개념 이해, 실습 인식, 그리고 시험 구조를 반영한 실제 exam questions에 대한 노출이 필요합니다. 많은 전문가들이 practice questions, exam dumps, 그리고 선별된 학습 자료에 의존하지만, 핵심은 이를 현명하게 사용하는 방법을 아는 것입니다. 다른 어떤 certification exam과 마찬가지로 올바른 준비 전략은 이론, 안내된 예제, 그리고 꾸준한 복습을 결합하는 것입니다. 이는 뇌가 시험에서 직면하게 될 content와 질문 스타일을 모두 인식하도록 훈련하는 것과 같습니다.세일즈포스 마케팅 클라우드 인텔리전스 공인 전문가 (AP-215 자격 시험 문제에 접근할 때, Salesforce는 지식을 실제 맥락에서 적용하는 능력을 평가한다는 것을 기억하세요. 마케팅 시나리오를 해석하고, 데이터 모델을 정렬하며, 분석에 대한 이해를 보여주어야 합니다. 맥락 없이 Certification Exam Dumps 또는 Exam Practice Dumps를 사용하는 것은 피상적인 학습으로 이어질 수 있습니다. 대신 그것들을 진단 도구로 활용하세요. 실수를 분석하고, 왜 한 옵션이 맞거나 틀린지 반성하며, 논리를 다듬으세요. 이러한 능동적인 exam dumps 복습 방법은 준비를 더욱 효율적으로 만듭니다.다음은 이해도를 점검하기 위한 다섯 가지 예제 연습 문제입니다:Marketing Cloud Intelligence에서 마케터가 여러 소스의 데이터를 조화시키는 데 사용하는 구성 요소는 무엇입니까? A) Data Streams B) Contact Builder C) Journey Builder D) Email StudioSalesforce Marketing Cloud Intelligence에서 harmonization mapping의 역할은 무엇입니까? A) 잘못된 데이터 필드를 정리한다 B) KPI dashboards를 정의한다 C) 이질적인 데이터 차원을 정렬한다 D) 마케팅 여정을 구성한다성과 추세를 시간에 따라 가장 잘 전달하는 시각화 유형은 무엇입니까? A) Heatmap B) Line chart C) Pie chart D) Scatter plot대규모 데이터 변환을 처리할 때 권장되는 모범 사례는 무엇입니까? A) 수동 CSV uploads 사용 B) 데이터 스트림 수준에서 변환 적용 C) 분석 전에 Excel로 내보내기 D) 자동화를 비활성화하고 필요 시 실행한 마케팅 분석가가 반복적인 데이터 새로 고침을 예약하고 싶어 합니다. 어떤 기능을 사용해야 합니까? A) Data Mapping Tool B) Scheduling Automation C) Journey Scheduler D) API TriggerMicrosoft, Linux Foundation, IBM, Amazon, 그리고 HP와 같은 플랫폼의 Certification Exam Dumps를 검토하면 시험이 단순 암기가 아닌 적용된 추론을 평가한다는 패턴을 보여줍니다. 현실적인 exam practice dumps와 체계적인 Salesforce practice questions로 훈련하면 자신감이 꾸준히 향상됩니다. 많은 학습자들이 또한 학습 생태계의 일부로 Prepbolt와 같은 자료를 언급하며, 접근 방식을 비교하고 이해를 검증하기 위해 활용합니다.
-
미해결프로들만의 차별화된 엑셀 데이터 분석과 차트 시각화
데이터형식바꿀떄 함수 vs 텍스트나누기
숫자인데 문자형 데이터를 숫자데이터로 변환시 value함수랑 텍스트 나누기쓰는거랑 차이가있나요? 어느걸더 권장하나요?
-
미해결고객의 친구가 되기 위한 'UX Writing'
강의자료 요청드립니다!
강의자료 요청드립니다!이메일 : jeongh.24m@gmail.com
-
해결됨코딩 없이 AI 자동화 전문가가 되는 법, n8n 완벽 가이드
22강 도커에 레디스 설치 문제
어떤 강의에 대한 질문인지 자세하게 알려주시면 답변을 드리는데 도움이 됩니다. 스크린샷윈도우키 + 쉬프트키 + S(윈도우)을 자세히 첨부하시면 답변 드리는데 많은 도움이 됩니다. 동영상 재생 관련 같은 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요.안녕하세요. 도커에 레디스 설치가 오류나서 여쭤봅니다. 레디스 DOCKER-COMPOSE-YML도 ai한테 짜달라고 해서 짜서 파일 만들었고 이 경로로 terminal들어가서 docker compose up -d를 쳤는데 "error getting credentials - err: exit status 1, out: ''라고 계속 뜹니다.로그인 문제일수도 있다고 해서 도커 로그인 다시했는데도 계속 저렇게 뜨고 있는데 어떻게 해결할 수 있을까요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
member의 password null 체크 로직
안녕하세요! 토비님 좋은 강의 잘 듣고 있습니다 :)별거 아닌것 같긴합니다만..도메인 코드 개선중 문득 궁금한 점이 생겨서 문의남겨봅니다..!Member를 생성하는 정적 펙토리 메소드에서member.passwordHash = requireNonNull(passwordEncoder.encode(createRequest.password()));이렇게 암호화된 값에 대한 null 체크를 하도록 구현하셨습니다.그런데 아래와 같이 다른 파라미터처럼 암호화를 하기전에 password 파라미터 자체를 null 체크하는게 일관성이 있다고 생각되는데 암호화를 한 후 null체크를 하신 토비님의 의도가 궁금합니다!!member.passwordHash = passwordEncoder.encode(requireNonNull(createRequest.password()));
-
미해결얄코의 가장 쉬운 자료구조와 알고리즘
이중연결리스트 노션 페이지
이중연결리스트 노션 페이지 링크가 안보이네요...ㅠ 저만 안보이는건가요..? 다른 강의 노션 링크는 하단에 보이는데..
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
jdk 버전 17
현재 컴퓨터에서 jdk 버전 17을 이용하고 있는데 그대로 진행해도 문제가 없을까요..? jdk 11 버전을 깔고 환경변수 편집했는데 cmd 버전에 여전히 17이라고 나오네요..