스프링러너는 스프링 기반 애플리케이션을 개발하는데 필요한 지식과 경험을 쌓을 수 있도록 돕는 트레이닝 팀입니다.

스프링 기반 애플리케이션을 개발하기 위해서는 생각보다 많은 학습과 노력이 필요합니다. 서적과 온라인 교육 등을 통해 스프링의 기술적인 측면을 학습할 수 있습니다. 하지만 이렇게 학습을 통해 쌓은 지식만으로 애플리케이션을 개발하려고 하면 막막함을 느끼게됩니다. 스프링이 제공하는 기능 사용법은 배웠지만, 스프링 기반 애플리케이션 개발 경험을 가지지 못했기 때문입니다.

참가자가 스프링 프레임워크(Spring Framework), 스프링 부트(Spring Boot) 등 스프링 생태계에서 스프링 작동원리와 사용법을 배우고 거기서 더 나아가 실무에 적용 가능한 스프링 기반 애플리케이션 프로그래밍을 익힐 수 있도록 스프링러너가 도와드립니다.

가이드 러너(Guide Runner)란, 스포츠 경기에서 선수들이 안전하게 경기를 끝낼 수 있도록 함께 뛰는 도우미를 뜻합니다.


스프링러너는 트레이너로서 탄탄히 스프링 관련 지식을 전달하는 것을 넘어 참가자 곁에서 함께 달리며 개발자의 길을 함께 달리는 가이드 러너입니다.

스프링러너(SpringRunner)는 스프링(Spring) + 가이드 러너(Guide Runner)를 합해 만들어진 이름입니다.

훈련 프로그램

스프링 핵심 프로그래밍(Learn Essence of Spring Workshop) (개정 중)

May 2020

  • 제어의 역전(IoC)과 의존관계 주입(DI), 스프링 컨테이너와 빈 관리의 핵심 개념을 학습합니다.
  • 관점지향 프로그래밍(AOP)의 원리와 스프링 AOP 모듈 활용 방법을 익힙니다.
  • 이식 가능한 서비스 추상화(PSA)를 통해 기술 독립적인 애플리케이션 설계 방법을 다룹니다.
  • 소프트웨어 복잡성을 이해하고, 설계 원칙과 디자인 패턴을 적용하여 변경에 유연한 코드를 작성합니다.
  • 순수 자바 애플리케이션에 스프링을 도입하고 점진적 리팩토링을 통해 코드를 개선하는 경험을 쌓습니다.

더 나은 내용으로 개정 작업 중입니다. 곧 다시 만나요!

스프링 웹 마스터하기(Mastering Spring Web 101 Workshop)

November 2019

  • Spring MVC와 Spring Boot로 웹 애플리케이션 서버 사이드를 직접 개발하며 실무 경험을 쌓습니다.
  • HTTP 요청 연결, 데이터 바인딩, 응답 및 예외 처리 등 Spring MVC의 핵심 기능을 학습합니다.
  • 인증과 인가, 국제화, 파일 처리 등 엔터프라이즈 환경의 복잡한 요구 사항을 다룹니다.
  • 변화하는 요구 사항에 유연하게 대응할 수 있는 소프트웨어 설계 역량과 아키텍처 구조를 익힙니다.

강의 프로그램

확장성 있는 시스템 설계하기

February 2025

  • 소규모에서 대규모 서비스로 성장하기 위한 확장성 있는 시스템 설계의 기본 원리를 익힙니다.
  • 가용성, 성능, 확장성을 고려한 단계별 설계 전략과 실천 방안을 학습합니다.
  • 플랫폼, 서버, 클라이언트 엔지니어링의 역할과 협업 방식을 알아봅니다.

모듈형 모놀리스란 무엇인가 (개정 중)

September 2024

  • 단일 코드베이스를 유지하면서도 명확한 책임과 경계를 가진 자율적인 모듈로 시스템을 구성하는 방법을 익힙니다.
  • 모듈을 비즈니스 기능 단위로 수직 분할하고, 각 모듈 내부를 계층화하여 복잡성을 관리하는 전략을 학습합니다.
  • 모듈화를 통해 유지 보수성과 유연성을 확보하면서도 시스템 복잡성을 효과적으로 관리하는 실천법을 알아봅니다.

더 나은 내용으로 개정 작업 중입니다. 곧 다시 만나요!

코틀린 멀티플랫폼, 미지와의 조우

September 2022

  • Kotlin/JS 기반 리액트와 Kotlin/JVM 기반 스프링을 활용하여 단일 코드베이스로 풀스택 웹 애플리케이션을 개발합니다.
  • 클라이언트와 서버 간 공유 로직을 작성하고, 도메인 모델과 저장소 로직을 멀티플랫폼으로 구현합니다.
  • 할 일 관리 애플리케이션을 실습하며 클린 아키텍처 기반의 웹 애플리케이션 구조를 경험합니다.
  • 코틀린 멀티플랫폼의 실용성과 한계를 파악하고, 실무 적용 가능성을 탐구합니다.