주요 이력
국가 핵심 망 관리: 대법원 및 조달청 시스템 운영·최적화 전문가
차세대 공공 플랫폼 구축: 지능형 나이스(NEIS) 응용 SW 개발 및 아키텍처 설계
풀스택 전문 교육자: K사 부트캠프 등 다수의 강의를 통한 실전 기술 전수
엔터프라이즈 솔루션 전문가: 대규모 시스템 유지보수 및 고도화 설계 역량 보유
안녕하세요! 개발자로 시작해 지금은 교육자로 활동하고 있는 JSCODE 시니입니다.
국가 중요 시스템을 직접 만들고 운영도 해봤지만, 사실 제가 가장 잘하는 건 "그 어려운 걸 누구나 이해하게 설명하는 것" 입니다.
실무 현장은 원래 거칠고 복잡합니다. 🤯
하지만 배우는 과정까지 그럴 필요는 없잖아요?
여러분이 지금 당장 배우고 싶은 스택이 무엇이든 상관없어요.
실무 현장의 복잡한 기술들을 여러분의 눈높이에 맞춰 아주 쉽게 씹어서 떠먹여 드릴게요! 🍀
머릿속에만 있던 복잡한 생각들이 실제 돌아가는 서비스로 바뀌는 신기한 경험, 저랑 같이 쉽고 재밌게 시작해 봐요!
Courses
Reviews
- Spring AI in Practice: Implementing Chatbots, RAG, and MCP in Spring Services
- Introduction to CI/CD using Jenkins (with AWS)
- Spring AI in Practice: Implementing Chatbots, RAG, and MCP in Spring Services
- Spring AI in Practice: Implementing Chatbots, RAG, and MCP in Spring Services
- Introduction to Spring Batch: Fundamentals of Large-Scale Processing in 3 Hours
Posts
Q&A
[지식 공유] bge-m3 모델 pull 시도할 때 EOF 뜨는 현상 해결
안녕하세요, jyee님~ JSCODE 시니입니다!ㅎㅎ우선 좋은 지식 공유 정말 감사드립니다.ollama pull 과정에서 Error: EOF (End of File)가 발생하며 다운로드가 실패하는 현상은 의외로 많은 분들이 겪는 네트워크/동시성 관련 이슈 중 하나인데 이렇게 공유해주셔서 감사합니다!🥹우선 EOF 에러의 원인은 Ollama 서버가 모델 매니페스트나 레이어를 다운로드할 때, 대용량 파일이거나 일시적인 네트워크 병목으로 인해 서버와의 연결이 예기치 않게 끊어지면서(End of File) 발생하는것이 대부분 입니다..!또는 OLLAMA_MAX_QUEUE=1 환경 변수의 역할때문에도 발생하는데요..!Ollama는 내부적으로 처리하는 동시 요청 큐(Queue)의 크기를 제한하여, 네트워크 요청이 분산되거나 과부하가 걸리는 것을 방지합니다. 즉, 이를통해 다운로드 파이프라인을 단일화하여 안정성을 높여주는 역할을 하기도 합니다.네트워크 환경이나 PC 스펙에 따라 특정 대용량 모델이나 임베딩 모델(bge-m3 등)에서 유독 이 증상이 잦은데, 메뉴바에서 완전히 종료 후 환경 변수를 주어 안정성을 높이는 아주 정확한 해결 방법을 찾아내고 공유해 주셨네요!ollama list 꿀팁까지 적어주셔서 이 에러로 막히는 다른 수강생분들께 정말 큰 도움이 될 것 같습니다.완강까지 파이팅입니다! 혹시 또 강의 들으시면서 흥미로운 점이나 공유하고 싶은 내용이 있다면 언제든 남겨주세요. 감사합니다. 😊
- Likes
- 1
- Comments
- 2
- Viewcount
- 12
Q&A
무한루프 발생 조건에서 설정 오류 라는 게 어떤 케이스일까요?
안녕하세요! jyee님~ JSCODE 시니 입니다~우선 강의를 흥미롭게 들으시면서 코드의 디테일한 부분까지 깊게 고민하고 질문해 주셔서 감사합니다!ㅎㅎ말씀하신 LengthTextSplitter의 무한 루프 방지 로직은 텍스트 파싱 및 청크 분할 알고리즘을 설계할 때 매우 중요한 예외 처리 구간입니다.질문하신 대로 chunkSize보다 chunkOverlap이 더 크게 설정되거나 음수가 들어오는 경우가 '설정 오류'의 대표적인 케이스입니다!조금 더 구체적으로 어떤 원리로 인해 인덱스가 제자리에 머물거나 뒤로 밀려 무한 루프가 발생하는지 몇 가지 케이스로 나누어 설명해 드리자면,1. chunkOverlap이 chunkSize보다 크거나 같은 경우 (가장 흔한 설정 오류 입니다!)우리가 슬라이딩 윈도우 방식으로 텍스트를 잘라낼 때, 다음 청크의 시작점(nextStart)은 보통 현재 시작점(chunkStart)에서 chunkSize를 더한 뒤 chunkOverlap만큼 빼서 결정됩니다.수식 표현: nextStart = chunkStart + chunkSize - chunkOverlap우리는 현재 chunkSize와 chunkOverlap을 직접 주입해주고 있는데요~ 만약 설정을 잘못하여 chunkSize = 100, chunkOverlap = 120으로 지정했다고 가정을 해보겠습니다..!• nextStart = chunkStart + 100 - 120이 되므로, nextStart = chunkStart - 20이 됩니다.• 즉, 다음 시작점이 앞으로 전진하지 못하고 오히려 뒤로 밀리는 현상이 발생합니다.• 조건문(if (nextStart 2. 말씀하신 chunkOverlap 또는 chunkSize가 음수인 경우생성자나 빌더에서 음수 진입을 막는 검증(Validation) 로직이 누락되었다면, 계산식 내에서 음수 연산으로 인해 인덱스가 꼬이게 됩니다..!• 예를 들어 chunkOverlap에 -50 같은 음수가 들어가면 마이너스 마이너스가 되어 오버랩이 아니라 오히려 공백이 생기거나, 반대로 인덱스 역전 현상을 유발하는 엣지 케이스가 생길 수 있습니다.말씀하신 "생성자 설정 시 크기 역전(overlap > size)이나 음수 지정" 케이스가 맞습니다!ㅎㅎ이런 방어적 코드(if (nextStart 정확한 개념을 짚고 계시니 앞으로의 구현 실습도 아주 수월하게 진행하실 수 있을 것 같습니다~!!완강까지 계속 응원하겠습니다. 추가로 궁금한 점이 생기면 언제든 질문 남겨주세요!
- Likes
- 1
- Comments
- 1
- Viewcount
- 19
Q&A
지식공유 (윈도우 설치) [실습] 외부 MCP Server와 연동한 실시간 날씨 조회 - MCP Client 개발
안녕하세요 이준엽님~ JSCODE 시니 입니다.해당 내역 공유해주셔서 감사합니다! ㅎㅎ 명령어도 잘 보이게 글 써주셔서 너무 좋네요~! ㅎㅎ수강하시다가 궁금한점 있으시면 언제든 질문 게시판 이용 부탁드립니다 ~~
- Likes
- 0
- Comments
- 1
- Viewcount
- 34
Q&A
자료 다운로드가 안됩니다.
안녕하세요 흑후추님~JSCODE 시니입니다~!강의자료 섹션 맨 상단에 기재해드린 것 처럼 윈도우 OS를 사용하시는 분들의 경우, 윈도우 기본 압축프로그램을 사용하시면 압축파일이 비어보입니다! 반디집과 같은 압축 프로그램을 사용하셔서 압축 해제해보시길 바라고, 시도 후에도 동일증상 있으시면 1대1 오픈채팅방으로 재문의 부탁드립니다~!ㅎㅎ
- Likes
- 0
- Comments
- 2
- Viewcount
- 34
Q&A
안녕하세요 졸업프로젝트를 준비하는 학생입니다.!
안녕하세요! 허언증님~ JSCODE 시니 입니다! ㅎㅎ먼저 완강 전에 이렇게 멋진 프로젝트를 기획하시고 질문 남겨주셔서 감사합니다.결론부터 말씀드리면, 수강생님이 기획하신 'RAG 기반 의사소통 피드백 챗봇'은 강의 완강하시면 충분히 구현 가능하며, 아주 훌륭한 프로젝트 주제입니다!RAG(검색 증강 생성)를 활용하면 일반적인 챗봇을 넘어, 특정 도메인 지식이나 대화 가이드라인을 기반으로 LLM이 보다 정확하고 의미 있는 피드백을 주도록 만들 수 있습니다. 강의 후반부로 가실수록 RAG의 핵심인 외부 데이터 검색과 Tool Calling 등을 결합한 프롬프트 엔지니어링을 스프링 환경에서 어떻게 매끄럽게 연결하는지 감을 잡으실 수 있을 거예요.우선은 강의를 끝까지 완강하시면서 Spring AI의 전체적인 흐름과 Vector DB 활용법을 익히시는 것을 추천해 드립니다. 이후에 작은 기능(예: 단순 텍스트 입력에 대한 1차 피드백)부터 차근차근 살을 붙여나가시면 원하시는 애플리케이션을 멋지게 완성하실 수 있을 겁니다! ㅎㅎ학습하시다가 구현과 관련해 막히는 부분이 생기면 언제든 다시 질문 남겨주세요. 완강과 프로젝트 완성까지 응원하겠습니다! 화이팅하세요~!!
- Likes
- 0
- Comments
- 1
- Viewcount
- 53
Q&A
소스코드 빈 파일 문의드려요
안녕하세요! 다연님~ JSOCDE 시니 입니다!해당 파일이 Mac OS에서 작성된 파일이라윈도우 기본 압축 해제 프로그램으로 압축 해제시 빈 파일로 보일 수 있습니다!이런 경우 기본 프로그램이 아닌 반디집으로 압축해제 시도 하시면 정상적으로 파일 확인하실 수 있습니다~!조치 진행해보시고, 추가적으로 문의사항 생기시면 연락주시길 바랍니다!완강까지 화이팅입니다~ +1:1 질문방에서 해결 완료 확인하였습니다~!
- Likes
- 0
- Comments
- 2
- Viewcount
- 53
Q&A
Docker + Spring Boot CI/CD 방법
안녕하세요, agachansong님! JSCODE 시니입니다~현재 이 강의에서는 Jenkins의 초점을 맞추어 Node.js 환경을 기반으로 CI/CD의 핵심 원리와 흐름을 다루고 있습니다! 질문해 주신 Spring Boot의 경우, 기본적인 Docker 및 Jenkins 활용 흐름은 유사하지만 빌드 도구(Gradle/Maven)나 Dockerfile 작성 방식에서 약간의 차이가 있습니다.추후 시간이 된다면 Spring Boot 프로젝트를 활용한 CI/CD 과정도 별도 강의로 제작해 볼 계획을 가지고 있습니다! 🥹다만, 현재 강의를 완강하신 분이라면 이미 CI/CD의 전체적인 메커니즘을 충분히 이해하고 계실 거예요. 따라서 다음 과정을 참고하여 스스로 자료를 찾아보며 직접 환경을 구축해 보시는 것을 강력히 추천드립니다!• Dockerfile 작성: openjdk 이미지를 기반으로 Gradle/Maven 빌드 결과물(.jar)을 실행하는 Dockerfile을 만들어 보세요!• Jenkins Pipeline 수정: Node.js 빌드 단계 대신 ./gradlew build와 같은 명령어를 사용하도록 Pipeline 스크립트를 변경해 보세요.• 컨테이너 배포: 생성된 JAR 파일을 Docker 이미지로 빌드하고 컨테이너로 띄우는 과정을 실습해 보세요.직접 부딪히며 해결하는 과정이 강의를 들을때보다 훨씬 실력 향상에 가장 큰 도움이 되실거에요! 실습하시다가 막히는 부분이 생기면 언제든 질문 남겨주세요!agachansong님의 성장을 응원하겠습니다~!
- Likes
- 0
- Comments
- 2
- Viewcount
- 68
Q&A
(강의 6분 50초 부분) Workspace 안에 index.html이 비어있음
안녕하세요! 쿠카이든님~ JSCODE 시니입니다!ㅎㅎ 질문해 주신 Playwright 리포트 빈 화면 현상은 리포트 구성 파일이 정상적으로 로드되지 않을 때 주로 발생합니다. 정확한 문제 원인을 파악하여 해결책을 드리기 위해, 번거로우시겠지만 아래 세가지 정보를 추가로 확인 부탁드립니다.1. 브라우저 콘솔 에러 로그 빈 화면이 뜬 상태에서 키보드의 F12(개발자 도구)를 누른 뒤, 상단의 [Console] 탭을 클릭해 보세요.그곳에 빨간색으로 표시되는 에러 메시지들이 있다면 캡처하거나 복사해서 공유해 주세요. (문제를 해결할 가장 중요한 단서가 됩니다.🥹)2. 수강 중인 강의 정보 현재 수강하고 계신 강의의 전체 제목과 몇 강인지 알려주실 수 있을까요~?젠킨스 설정 단계에 따라 해결 방법이 달라질 수 있어 확인이 필요합니다. 3. 젠킨스 스크립트 콘솔 설정 확인[젠킨스 관리] > [Script Console]에 아래 코드를 입력하고 Run을 실행한 뒤, 다시 리포트를 확인해 보시기 바랍니다.System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-same-origin allow-scripts; default-src 'self' 'unsafe-inline' 'unsafe-eval'; script-src * 'unsafe-inline' 'unsafe-eval'; style-src * 'unsafe-inline'; img-src * data:; font-src *;") (참고: 이 설정은 젠킨스 재시작 시 초기화될 수 있으니, 우선 실행 후 리포트가 정상적으로 나오는지 확인 부탁드립니다.)위 정보들을 확인해 주시면 정확한 원인을 잡아드리겠습니다!ㅎㅎ
- Likes
- 0
- Comments
- 2
- Viewcount
- 69
Q&A
강의순서가 바뀌어 있습니다.
안녕하세요! p4sh4님~ JSCODE 시니 입니다!강의를 수강하시며 꼼꼼하게 확인해 주신 덕분에 오류를 바로잡을 수 있었습니다. 제보해 주셔서 진심으로 감사드립니다! ㅎㅎ말씀하신 대로 업로드 과정에서 혼선이 있어 47강과 48강의 순서가 바뀌어 있었습니다. 확인 즉시 [실습] Jenkins와 S3를 활용한 정적 웹사이트 호스팅하기 내용이 정상적으로 이어지도록 수정을 완료했습니다.참고로, 해당 강의 자료는 'Jenkins와 S3를 활용한 정적 웹사이트 호스팅하기'라는 하나의 강의자료 페이지 안에 다음과 같이 구성되어 있으니 학습에 참고해 주세요.47강: [실습] Jenkins와 S3를 활용한 정적 웹사이트 호스팅하기48강: 버킷에 정책 추가하기학습에 불편을 드려 죄송합니다. 혹시 수정된 내용 확인 후에도 이상이 있거나 궁금한 점이 생기시면 언제든 말씀해 주세요. 완강까지 화이팅 하시길 바랍니다~!
- Likes
- 0
- Comments
- 1
- Viewcount
- 71
Q&A
build.zip 퍄일이 없습니다.
안녕하세요 p4sh4님! JSCODE 시니 입니다~파일이 없어 당황스러우셨을 것 같아요,,! 불편드려 죄송합니다! ㅠㅠ해당파일이 업로드 중 누락된 것 같아 다시 다운로드 받으실 수 있게 강의자료에 재 업로드 해놓았습니다~!혹시나 윈도우 사용자분이시라면, 반디집을 이용해 압축 해제 부탁드립니다!또한 기타 문의 사항 있으시다면 언제든 편하게 연락주시길 바랍니다~!완강까지도 응원하겠습니다!
- Likes
- 0
- Comments
- 1
- Viewcount
- 75




