묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)
소스파일이 안가져와지네요?
jenkinsfile을 보면코드가 주신대로 아래와 같고요여기에서 [소스파일 체크아웃] 부분이 지나면 jenkins디렉토리 workspace 밑으로 해당 소스파일이 가져와서 폴더가 생성되어야 하는게 아닌지..궁금합니다. 폴더가 일단 생성이 안되구요...맨밑에 이미지 추가한것처럼 helm쪽 파일만 릴리즈파일 체크아웃통해 받아진것 같아요.또한가지는 [소스빌드] 스텝인데 echo로만 그냥 찍는거지 실제 빌드하는거 아니죠?체크아웃자체도 안받아져서 빌드도 안될것 같구요.마지막으로 [컨테이너빌드] cp부분도 echo로 찍는부분이지 실제 copy명령어를 실행하는것도 아니고..그런데 docker build 명령어는 실제로 하는데...위에서 빌드도 문자열만 찍는거고 ...소스도 안받아졌는데 어떻게 docker build는 또 실제로 할수잇는지도 궁금합니다. stage('소스파일 체크아웃') { steps { // 소스코드를 가져올 Github 주소 git branch: 'main', url: 'https://inf.run/M45Zm' } } stage('소스 빌드') { steps { // 755권한 필요 (윈도우에서 Git으로 소스 업로드시 권한은 644) echo "chmod +x ./gradlew" echo "gradle clean build" } } stage('릴리즈파일 체크아웃') { steps { checkout scmGit(branches: [[name: '*/main']], extensions: [[$class: 'SparseCheckoutPaths', sparseCheckoutPaths: [[path: "/${CLASS_NUM}"]]]], userRemoteConfigs: [[url: "${GITHUB_URL}"]]) } } stage('컨테이너 빌드') { steps { // jar 파일 복사 echo "cp ./build/libs/app-0.0.1-SNAPSHOT.jar ./${CLASS_NUM}/build/docker/app-0.0.1-SNAPSHOT.jar" // 도커 빌드 echo "docker build -t ${DOCKERHUB_USERNAME}/api-tester:v1.0.0 ./${CLASS_NUM}/build/docker" } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
업캐스팅 문제 예시 3번 11:50
코드상 자식에서 draw를 없애면 부모의 draw를 실행하게되어 계속 무한반복인데,무한반복이 없다고 치고 자식클래스의 this.draw는 출력이 어떻게 되는지 궁금합니다.
-
해결됨딥러닝을 활용한 자연어 처리 (NLP) 과정 (기초부터 ChatGPT/생성 모델까지)
강의 교재 최신화 요청
강의에 나오는 내용과 교재 내용의 차이가 있습니다.교재 최신화 부탁드립니다.
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
[9.2 투두리스트 업그레이드] id undefined
안녕하세요. 투두리스트 업그레이드 중 "UPDATE" 에서 질문있습니다.업그레이드 하며 체크박스를 선택했을 때 다음과 같은 오류가 발생합니다.업그레이드 이전까지는 잘 돌아가서 업그레이드 하며 오타 문제가 아닐까 하는데 원인을 찾기가 어려워 질문 드립니다.. ㅜ APP.jsx 와 List.jsx 코드 올려드립니다.- APP.jsximport "./App.css"; import Header from "./components/Header"; import Editor from "./components/Editor"; import List from "./components/List"; import { useState, useRef, useReducer } from "react"; const mockData = [ { id: 0, isDone: false, content: "Study React.js", date: new Date().getTime(), }, { id: 1, isDone: false, content: "do laundry", date: new Date().getTime(), }, { id: 2, isDone: false, content: "wanna go home", date: new Date().getTime(), }, ]; function reducer(state, action) { switch (action.type) { case "CREATE": return [action.data, ...state]; case "UPDATE": return state.map((item) => { item.id === action.targetId ? { ...item, isDone: !item.isDone } : item; }); case "DELETE": return state.filter((item) => item.id !== action.targetId); default: return state; } } function App() { const [todos, dispatch] = useReducer(reducer, mockData); const idRef = useRef(3); const onCreate = (content) => { dispatch({ type: "CREATE", data: { id: idRef.current++, isDone: false, content: content, date: new Date().getTime(), }, }); }; const onUpdate = (targetId) => { dispatch({ type: "UPDATE", targetId: targetId, }); }; const onDelete = (targetId) => { dispatch({ type: "DELETE", targetId: targetId, }); }; return ( <div className="App"> <Header /> <Editor onCreate={onCreate} /> <List todos={todos} onUpdate={onUpdate} onDelete={onDelete} /> </div> ); } export default App; List.jsx import "./List.css"; import TodoItem from "./TodoItem"; import { useState } from "react"; const List = ({ todos, onUpdate, onDelete }) => { const [search, setSearch] = useState(""); const onChangeSearch = (e) => { setSearch(e.target.value); }; const getFilteredData = () => { if (search === "") { return todos; } return todos.filter((todo) => todo.content.toLowerCase().includes(search.toLowerCase()) ); }; const filteredTodos = getFilteredData(); return ( <div className="List"> <h4>Todo List 🎈</h4> <input value={search} onChange={onChangeSearch} placeholder="검색어를 입력하세요" /> <div className="todos_wrapper"> {filteredTodos.map((todo) => { return ( <TodoItem onDelete={onDelete} onUpdate={onUpdate} key={todo.id} {...todo} /> ); })} </div> </div> ); }; export default List;
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
2024년 2회 기출문제 (43분대, Java 문제)
(기출) 2024년 2회 기출문제(영상) 43분대질문return 값이 dcba가 되는 것이 이해가 잘 되지 않습니다. 1) 코드 흐름을 보면 처음에 result - comp(str, 7, seen); 실행 2) idx가 0보다 크므로, char c = str.charAt(7) 즉 여기서 char c는 d가 됨 3) 그리고 String result = comp(str, 6, seen)으로 comp 함수를 다시 부르는 거죠? (재귀함수) 4) if (!seen[c])는 seen[d]는 처음에는 False이므로, !를 만나 True 5) result = d + result 6) char c = str.charAt(6) 이제 char c는 c가 됨 // 3번에서 호출한 재귀함수 실행 7) 이런식으로 해서 처음 들어오는 값만 result에 저장되다 보니 dcba가 출력되는게 맞나요? 추가로 재귀함수를 만나면 아래 if문은 재귀함수가 모두 끝난 이후에 진행되는 것인지, 병렬(?)로 진행되는 것인지 궁금합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
쓰레기값
#include <stdio.h> int intArr[5]; // int형 배열 float floatArr[5]; // float형 배열 double doubleArr[5]; // double형 배열 char charArr[5]; // char형 배열 int main() { printf("int 배열 초기값: "); for (int i = 0; i < 5; i++) { printf("%d ", intArr[i]); } printf("\n"); printf("float 배열 초기값: "); for (int i = 0; i < 5; i++) { printf("%f ", floatArr[i]); } printf("\n"); printf("double 배열 초기값: "); for (int i = 0; i < 5; i++) { printf("%lf ", doubleArr[i]); } printf("\n"); printf("char 배열 초기값: "); for (int i = 0; i < 5; i++) { printf("%d ", charArr[i]); // %d로 출력하면 ASCII 값이 출력됩니다 } printf("\n"); return 0; } 에서 출력값이 쓰레기값이 나온다고 하셨는데 출력값으로 작성해 놓으신거는 그냥 임의로 쓰레기값 형태로 작성해놓으신거죠?
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
완강 처리가 되지 않습니다.
강사님 모든 학습을 들었지만,완강 처리가 되지 않습니다.
-
해결됨코딩없이 시작하는 엑셀 크롤링. WEB부터 ChatGPT API까지
새로운 조달청 버전으로 다시 알려주실 수 있을까요?
간절합니다. ㅠ
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-Q 2636 시간초과
안녕하세요 2636번 치즈 문제 질문 드립니다.https://inf.run/LM71Q위와같이 행렬을 두개 만들어서 풀었는데 시간 복잡도가 10,000,000을 넘을 것 같진 않은데 자꾸 시간 초과가 뜨는 것 같습니다. 혹시 이 부분에 대해 어떻게 해야할 지 답변 주시면 감사하겠습니다.
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
ConfigService.get<string>() 반환값이 string | undefined로 처리되어 TS 오류가 발생합니다
코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다![코드팩토리 디스코드]https://inf.run/54jjz - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 환경변수 적용하기 -1 듣고 있는데async registerWithEmail(user: RegisterUserDto) { const hash = await bcrypt.hash( user.password, parseInt(this.configService.get<string>(ENV_HASH_ROUNDS_KEY)), ); const newUser = await this.usersService.createUser({ ...user, password: hash, }); return this.loginUser(newUser); }this.configService.get<string>(ENV_HASH_ROUNDS_KEY 에서 string| undefined 형식의 인수는 string 형식의 매개 변수에 할당될 수 없습니다라는 에러가 뜹니다.강의에서는 위 코드에서 타입 에러가 발생하지 않던데, NestJS 버전 차이로 인해 타입 정의가 바뀐 걸까요? 해결방법이 궁금합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
화면 한글깨짐 문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.인텔리 제이에서 한글 깨짐 문제 정상적으로 한글 값이 저장되는거 같습니다. 하지만 화면에 표시할 때 오류가 발생합니다. 인텔리 제이 인코딩 설정 은 다음과 같습니다
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
프로세스의 메모리 구성과 자바 메모리 구조의 상관 관계
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 저는 영한님의 강의를 듣고 자바와 스프링을 공부하고 있는 수강생입니다. 양질의 강의를 제공해 주셔서 감사합니다.강의를 전부 듣고 복습을 하던 중에 궁금한 부분이 생겨서 질문 드립니다. 섹션 2 "프로세스와 스레드" 강의에서는 프로세스의 메모리 구성에 대한 내용과,섹션 3 "스레드 시작1" 강의에서는 자바 메모리 구조에 대한 내용의 상관 관계에 대해서 이해가 어려운 부분이 있어서 질문드립니다. 프로세스의 메모리는 4가지 영역(코드, 데이터, 힙, 스택)으로 나눠서 설명해 주셨고자바의 메모리 구조는 크게 3가지 영역(메서드, 힙, 스택)으로 나눠서 설명해 주셨는데요.여기서 프로세스의 힙, 스택 영역과 자바의 힙 스택 영역이 같은 것을 의미하나요?만약 같다면, 프로세스에서 코드, 데이터 영역은 자바의 메모리 구조로 봤을 때 메서드 영역에 포함되는 개념인가요?중복되는 질문일 수 있지만.. 검색해보니, 일반적으로 프로세스당 하나의 jvm 인스턴스를 가진다고 하는 것을 확인했는데요. 그럼 한 jvm 인스턴스에서 하나의 프로세스만을 관리하고 있을 때, (프로세스의 메모리 구조 == 자바의 메모리 구조)라고 생각해도 되는 걸까요?질문 확인해 주셔서 감사합니다. 좋은 하루 되세요!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이원분산분석에서 등분산성 만족하지 않을 경우
안녕하세요! 시험과는 조금 무관한 부분일 수 있으나 강의 들으면서 궁금해 문의 드립니다. 만약 levene을 통해서 한 집단이라도 등분산성을 만족시키지 못하는 경우, 어떤 검정을 사용해야 하나요?감사합니다!
-
미해결실무자를 위한 구글애널리틱스(GA4+GTM) 활용법(25년 Update)
ga 코드와 gtm 코드를 둘 다 심으면 ga에 페이지뷰가 두배로 나오나요
gtm 코드 심을 때 기존 ga 태그는 삭제해야 하는지 궁금합니다. 페이지 뷰가 두배로 나올 수도 있는지 궁금합니다~
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
클래스와 객체 강의 수강방법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 스타트코딩 네이버카페 가입했는데 클래스와 객체 강의 수강은 어떻게 해야 하나요. 등업 방법이랑 수강방법 궁금합니다.
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
[공유] llama3-groq 모델명 수정 필요
"LLM 모델의 Tool Calling 성능 비교(OpenAI, Gemini, Llama 70B)" 파트 강의 중 1:48초 부터 llama3-groq-70b-8192-tool-use-preview 모델을 불러와 Tool Call의 성능 비교를 진행합니다.2025-04-03 기준 해당 모델명이 변경되어 더 이상 로드가 불가능 합니다.따라서 "llam3-70b-8192" 모델명을 변경하여 사용하는 것이 좋을 것 같습니다.수정 전 코드llm_groq = ChatGroq(model="llama3-groq-70b-8192-tool-use-preview", temperature=0) 수정 후 코드llm_groq = ChatGroq(model="llama3-70b-8192", temperature=0) 감사합니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
텍스트 기준으로 찾기 오류
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요어떻게 해야 하나요 코드는 똑같은데
-
해결됨한 입 크기로 잘라먹는 Next.js(v15)
ISR on-demand 사용해서 전체 새로고침 없이 새로운 추천도서 받아오기
안녕하세요!ISR on-demand 활용해서 인덱스 페이지에서 전체 페이지 새로고침 없이"새로 추천 받기" 버튼을 눌렀을 때 추천 도서(recoBooks)만 새롭게 받아오도록 구현하고 싶습니다.getStaticProps를 통해 전달된 recoBooks가 useState의 초기값으로 들어갈 때,해당 데이터도 여전히 빌드 타임에 fetch되어 정적 HTML과 함께 포함되는지 궁금합니다.개발자 도구를 보면 정적으로 렌더링되는 것 같은데, useState로 상태를 만들었기 때문에 초기 렌더링이 정적인지 아니면 클라이언트 측에서 동적으로 할당되는건지 헷갈립니다.// CSS Module import SearchableLayout from '@/components/searchable-layout'; import style from './index.module.css'; import { ReactNode, useState } from 'react'; import BookItem from '@/components/book-item'; import { InferGetStaticPropsType } from 'next'; import fetchBooks from '@/lib/fetch-books'; import fetchRandomBooks from '@/lib/fetch-random-books'; export const getStaticProps = async () => { console.log('인덱스 페이지'); const [allBooks, recoBooks] = await Promise.all([ // 병렬로 함수 호출하기 fetchBooks(), // fetchRandomBooks(), ]); return { props: { allBooks, recoBooks, }, }; }; export default function Home({ allBooks, recoBooks }: InferGetStaticPropsType<typeof getStaticProps>) { const [recommended, setRecommended] = useState(recoBooks); const revalidate = async () => { try { const response = await fetch('/api/revalidate'); const result = await response.json(); // console.log(result); if (result.revalidate) { //페이지 갱신이 됐을 때 const rebooks = await fetchRandomBooks(); setRecommended(rebooks); } else { //페이지 경신 안됐을 때 } } catch (err) { //에러처리 console.error(err); } }; // console.log(recoBooks); return ( <div className={style.container}> <section> <h3>지금 추천하는 도서</h3> <button onClick={revalidate}>새로 추천 받기</button> {recommended.map((book) => ( <BookItem key={book.id} {...book} /> ))} </section> <section> <h3>등록된 모든 도서</h3> {allBooks.map((book) => ( <BookItem key={book.id} {...book} /> ))} </section> </div> ); } Home.getLayout = (page: ReactNode) => { return <SearchableLayout>{page}</SearchableLayout>; };
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
5분 케이스 4번
this(a,b)에서 매개변수를 2개 넣은것이 만약 2개 이상이라면 코드가 잘못된 것인가요? 아니면 두 개 다 호출하나요?
-
해결됨비전공자도 이해할 수 있는 CI/CD 입문·실전
Deploy 트리거 관련 질문드립니다.
강의를 들으면서 프로젝트로 실습해보다가 궁금한 점이 생겨 질문드립니다!강의에서는 main 브랜치에 push가 일어나는 것이 트리거가 되는 경우를 설명해주셨습니다.만약에 main 브랜치 하위에 기능별로 브랜치를 나누어서feature/login, feature/post 식으로 브랜치가 존재하며프론트엔드 React 코드, 백엔드 Spring 코드의 별도 구분 없이 각각의 브랜치에 같이 존재한다면백엔드 코드만 ec2에 deploy 되도록 설정하는 방법이 있을까요?