이런 걸
배워요!
세상의 모든 프레임워크를 이해할 수 있는 지식과 경험
백엔드 기술 로드맵을 이해할 수 있는 능력
만들어진 기술을 잘 사용하는데 그치지 않고 좀 더 발전시키는 능력
백엔드 프레임워크를 직접 만들어보고,
성장하는 개발자로 거듭나보세요! 🧰
세상의 모든 프레임워크는
모두 똑같은 과정을 거쳐 만들어집니다.
세상에는 맛있는 음식이 많고
그 음식 덕분에 세상을 즐겁게 살아갈 수 있습니다.
그 맛있는 음식을 더 맛있게 먹을 수 있는 방법이 있습니다.
음식을 직접 만드는 겁니다.
물론 처음부터 잘 만들 수는 없습니다.
재료 조절에 실패하기도 하고, 냄비를 태울 수도 있습니다.
애써 만든 음식의 평가가 최악일 수도 있습니다.
하지만 실망하지 않고 반복해 도전하면
나만의 레시피가 완성되고,
모든 사람이 맛있게 먹을 수 있는 음식을 만들 수 있습니다.
그런데 음식을 만들면서 얻은 경험과 지식은 여기서 그치지 않습니다.
음식을 바라보는 눈이 달라집니다.
그 음식에 담긴 재료, 도구 그리고 만든 사람의 생각을 읽을 수 있는 능력이 됩니다.
그리고 나의 레시피를 훌륭하게 다듬을 지혜로 넓어집니다.
프레임워크를 만드는 것도 똑같습니다.
내가 프레임워크를 만든 경험과 지식은
다른 프레임워크에 담긴 기술과 지식,
그리고 그걸 만든 사람의 생각을 바르게 이해할 수 있게 해주고
내 역량을 깊게 만들어 줄 지혜가 됩니다.
그렇기 때문에 프레임워크를 잘 사용하는 데 그치지 않아야 합니다.
다른 사람이 사용할 프레임워크를 직접 만들어봐야 합니다.
코드가 엉성해도 괜찮습니다.
당연히 오류가 발생할 수도 있습니다.
사용하는 사람의 불만이 있을 수 있습니다.
하지만 세상의 훌륭한 프레임워크는 똑같은 과정으로 만들어졌습니다.
부딪치고 문제를 확인하고 해결함을 반복하세요.
그런 과정은 지식과 경험을 얻게 해주고 몸 안의 지혜가 돼
개발자의 삶을 풍요롭게 해줍니다.
SW 재사용성을
위한 추상화
모듈 단위의
객체지향 패러다임
병행성, 직렬성 확보
트랜잭션
반드시 필요한
비기능 품질 속성
"백엔드 프레임워크 만들기"는
아무것도 없는 상태에서 실제 업무에 사용될 수준의
백엔드 프레임워크가 완성되는 과정을 담고 있습니다.
SW공학의 기본 목표인 SW 재사용성을 위한 추상화,
실행 시점에 원하는 기능과 데이터를 가진 모듈을
사용할 수 있는 객체지향 패러다임,
병행성과 직렬성을 동시에 확보하기 위한 트랜잭션(Transaction),
개발자에게 반드시 제공되어야 할 비기능 품질 속성을
프레임워크에 담는 과정과 경험, 그리고 지혜가 있습니다.
이 강의를 통해
나와 다른 사람이 작동하는 소프트웨어를 쉽게 만들 수 있게 해주는
프레임워크를 만들 용기와 노력을 냈으면 합니다.
그리고 그런 경험을 통해 개발자의 삶이 보다 풍요롭고 즐겁게 되길 소망합니다.
섹션 1. 작동하는 소프트웨어를 쉽게 만들 수 있도록 준비합니다.
• 서블릿, MVC 아키텍처 스타일을 이해하고 프레임워크 관점으로 구현합니다.
섹션 2. 공통기능을 추상화하고 쉽게 사용할 수 있도록 구성합니다.
• 첫번째 공통기능인 HttpServletRequest 객체를 추상화하고 개발자가 쉽게 사용할 수 있도록 AOP 관점으로 리팩토링 합니다.
섹션 3. SQL 의존적인 개발을 제거합니다.
• SQL 의존적인 개발을 이해하고 이를 제거하기 위한 프레임워크 기능을 개발합니다.
섹션 4. 비즈니스 로직을 재사용할 수 있는 DI와 IoC를 구현합니다.
• 프레임워크가 반드시 가지고 있어야 할 기능인 DI와 IoC를 비즈니스 관점에서 생각해보고 구현합니다.
섹션 5. 인증과 접근제어를 구현합니다.
• 내가 누군지 증명하고 내가 할 수 있는 기능을 확인시켜주는 인증과 접근제어 기능을 구현합니다.
섹션 6. 개발자가 알아두면 좋은 지식: 암호화
• 블록 비밀키 암호화 기술을 잘 사용할 수 있는 지식을 배우고 기능으로 구현합니다.
섹션 7. SW 비가시성을 해결하기 위해 로그기능을 구현합니다.
• 병렬/병행 환경으로 운영되는 시스템에서 SW 가시성을 보장하는 로그 기능을 구현합니다.
섹션 8. 비기능 요구사항은 개발자가 사용하는 소프트웨어 기능입니다.
• 프레임워크는 개발자의 요구사항인 비기능 품질속성을 만족하는 절반만 만들어진 실행 가능한 SW이고 완성될 수 없는 SW입니다. 비기능 품질속성에 대해 알아보고 앞으로 추가될 기능에 대해 생각해 봅니다.
처음 시작은 단순하지만,
마지막엔 실무에서도 사용할 수 있는
훌륭한 백엔드 프레임워크를 완성할 수 있습니다.
학습 대상은
누구일까요?
백엔드 프레임워크 원리에 대해 궁금하신 분
개발자가 사용할 SW를 만들고 싶은 분
개발자에 필요한 이론을 실무 관점에서 이해하고 싶으신 분
선수 지식,
필요할까요?
Java: 기본적인 문법
SQL: 기본적인 DML, DDL
JSP를 사용해본 경험
전체
54개 ∙ (9시간 18분)
가 제공되는 강의입니다.