유연하고 확장 가능한 애플리케이션 개발
기초 원리부터 이해하고 문제해결 능력을 기르는 스프링 기반 프로그래밍 강의

스프링러너의 교육 철학

우리는 스프링 기능을 배우지 않습니다.
'스프링 기반 프로그래밍'을 배울 겁니다.


스프링러너는 스프링 기반 애플리케이션을
개발하는데 필요한 지식과 경험을 쌓을 수 있도록
돕는 '가이드 러너'로서 함께 달립니다.

스프링의 기능을
일방적으로 전달하는 방식이 아닌
가이드 러너가 참가자와
호흡을 맞춰 함께 달리듯
학습 과정에서 겪을 수 있는
많은 시행착오를 파악하고 줄여드립니다.

우리는 모든 참가자에게
스프링 기반 프로그래밍 경험을 제공하고
스스로 애플리케이션을 개발할 수 있는
자신감을 느끼도록 하는 것을 목표로 하고 있습니다.

스프링러너의 교육 방식

우리는 코드로 설명하고,
코드로 이해합니다.


작가는 글을 통해 스토리를 만들어내고,
개발자는 코드로 애플리케이션을 만듭니다.

작가가 ‘인물-사건-배경’을 이용하여
스토리를 만들어내듯
다양한 시스템과 라이브러리를 연계하여
‘스프링’ 생태계에서
애플리케이션을 만들어가는 과정을 설명합니다.

스프링 작동 원리를 제대로 이해하고,
실무에 적용 가능한 다양한 코드를 함께 작성하면서
유연하고 확장 가능한 애플리케이션을
만드는 경험을 가지게 됩니다.

스프링 기반 확장 가능한 애플리케이션 개발,
출발 신호가 떨어졌으니 함께 뛰며 시작해봐요!

결승점이 아득해 보여도 걱정하지 마세요.
숨이 찬 시점마다 이정표를 세워두었어요!

우리는 부담스러울 정도로
친절하게 트레이닝 할 겁니다.


스프링을 쉽게 배우는 방법은 없습니다.
하지만, 자세하게 알려드릴 순 있겠죠.

우리는 디테일을 놓치지 않습니다.
고전적인 소프트웨어 설계 원칙을 바탕으로
확장 가능한 애플리케이션을 만들 수 있게 도와드릴게요.


코드가 지나가는 과정에서 언급했던 키워드 하나하나
모두 놓치지 않도록 보조 자료를 제공합니다.

시행착오라는 돌멩이에 넘어지지 않도록
끝까지 달리기만 하면 되는 안전한 트랙을 깔아드릴게요.

ImageSlide
ImageSlide
ImageSlide
ImageSlide
ImageSlide
ImageSlide
ImageSlide
ImageSlide

*스프링 러너 워크샵 후기 중 발췌

우리는
🏃🏻‍♀️이렇게 함께 달릴 거예요.🏃🏻

Point 1
온라인 교육도 생동감 있게! 핵심은 꼭 잡고 가요.

단순히 코드를 줄줄 읽는 강의는 디테일을 놓치기 쉽죠.
딴생각할 틈 없도록 중요한 부분을 강조해드릴게요!

Point 2
스프링러너의 노하우가 담긴 교육 자료를 드려요.

코드가 흐른다고 지식도 흘러가면 의미 없으니까!
필수 내용과 예상 질문을 정리한 PDF 파일로 알 때까지 복습하세요.

Point 3
더 달리고 싶다면? 무료 심화 학습을 진행하세요.

우리는 당신의 호기심까지 책임집니다!
강의 내용에서 나온 개념의 추가 설명을 스프링러너 유튜브에서 확인하세요.

우리의 이야기가
더 듣고 싶다면.

⭐️
좋은 객체지향 설계는
A에서 B를 만드는 것이 아니라 A+를 만들 수 있습니다.


스프링러너는 모든 참가자가 스프링을 활용해 '유연하고 확장 가능한 애플리케이션' 개발 경험을 가질 수 있도록 돕습니다.
많은 회사가 레거시 애플리케이션을 내버려 두고, '차세대 프로젝트'를 통해 새로운 애플리케이션을 개발해야 하는 상황을 자주 마주합니다. 레거시 애플리케이션이 비즈니스 변화를 따라가지 못하고, 고쳐 쓰는 것보다 새로 만드는 것이 더 낫기 때문입니다. 이는 매우 비효율적인 방법입니다. 변경을 수용할 수 있는 구조를 가진 코드를 작성할 수 있다면, 내가 작성한 코드를 두고 매번 새롭게 작성하지 않고 기존 코드를 더 쉽게 유지·보수할 수 있습니다.

💻
스프링을 사용한다면, 3가지 핵심 기술은 제대로 활용할 수 있어야 합니다.

스프링은 제어의 역전(Inversion of Control; IoC)을 기반 기술로 구축되었습니다. 따라서 제어의 역전과 함께 의존관계 주입(Dependency Injection; DI)을 제대로 이해하지 못하면 스프링을 잘 다루는 것이 무척 어렵습니다. 이식 가능한 서비스 추상화(Portable Service Abstraction; PSA) 같은 경우는 저수준 기술을 직접 사용하는 방식으로 디테일을 놓치는 경우가 많습니다. 예를 들어 파일을 읽는 기능을 개발할 때 자바 플랫폼이 제공하는 API를 그대로 사용한다면 코드 확장성을 제한하게 되고, 추후 요구사항이 바뀌면 많은 코드를 변경해야 하는 문제가 생깁니다. PSA를 제대로 사용한다면 매우 적은 수준의 코드 변경이나 설정 정보 변경만으로도 문제를 해결할 수 있습니다. 관점지향 프로그래밍(Aspect Oriented Programming; AOP)의 경우는 기저에 있는 동작 원리를 이해하지 못해 문제가 발생했을 때 해결 방법을 찾지 못하거나, 또는 본인이 원하는 방식으로 응용하고 싶을 때 어려움을 겪을 때가 있습니다. 스프링러너는 스프링의 핵심 기술을 포함해 스프링이 제공하는 다양한 기능을 활용할 수 있는 방법을 알려드리겠습니다.

👟
스프링러너의 트레이닝은 '아기 발걸음'입니다.

우리는 천천히 하나하나 기초 개념을 이해하고, 활용하는 방법을 알고 싶은 참가자에게 가장 알맞은 커리큘럼을 준비했습니다. 그리고 참가자의 질문에 끊임없이 답하며 수업을 확장하고 있습니다. 이 아카데미의 두 번째 커리큘럼인 Class 102는 사실 첫 번째 커리큘럼인 Class 101보다 먼저 만들어졌습니다. Class 201의 오프라인 강의에서 받은 '애플리케이션 핵심 모듈은 어떻게 만드나요?'라는 질문이 시발점이 되어 바닥에서 쌓아 올리는 스프링 핵심 원리와 변경을 수용할 수 있는 구조를 만드는 객체지향 설계를 다루는 커리큘럼이 되었습니다. 이 외에도 우리는 다양한 방식으로 수업을 확장하며, 참가자가 넘어지지 않도록 노력할 겁니다.

스프링러너가 답하는 FAQ.

우아한형제들 기술이사 김민태 배너