Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Back-end

Building a Backend Framework (Revised Edition)

A framework is a self-contained, executable piece of software that provides common functionality that developers need.

(4.5) 6 reviews

237 learners

  • zero
Java
oop
AOP

Reviews from Early Learners

What you will learn!

  • Knowledge and experience to understand all the frameworks in the world

  • Ability to explain backend technology roadmap

  • Ability to view backend frameworks from a creator's perspective

backend framework,
Let's make it with our own hands! 🧰

What about this lecture?

Create your own backend framework,
This course will help you easily understand and use the world's many frameworks from a creator's perspective.

Why should you build your own framework?

All the frameworks in the world
They are all made through the same process .

There are many delicious foods in the world
Thanks to that food, we can live happily in the world.
There are ways to make that delicious food even more delicious.
I cook the food myself .

Of course, you can't make it well from the beginning.
You may fail to adjust the ingredients or burn the pot.
The food you worked so hard to make may get the worst reviews.

But if you don't get discouraged and keep trying,
My own recipe is complete,
You can make food that everyone can enjoy.

But the experience and knowledge gained from cooking doesn't stop there.
The way you look at food changes.
It gives you the ability to read the ingredients, tools, and thoughts of the person who made the food.
And it broadens my horizons with wisdom to refine my recipes to perfection.

Creating a framework is the same.
My experience and knowledge in creating frameworks
The skills and knowledge contained in other frameworks,
And it helps us to understand the thoughts of the person who created it correctly.
It will be wisdom that will deepen my capabilities.

That's why you shouldn't just use the framework well.
You have to create your own framework for other people to use.

It's okay if the code is messy.
Of course, errors may occur.
There may be complaints from users.

But the world's great frameworks were created through the same process.
Repeat the process of bumping into problems, identifying them, and solving them.
Such a process allows you to gain knowledge and experience and becomes wisdom within your body.
Enriching the lives of developers.


This lecture

SW reusability
Abstraction for

modular unit
object-oriented paradigm

Ensuring parallelism and seriality
transaction

Absolutely necessary
Non-functional quality attributes

"Creating a backend framework"
From nothing to a level that can be used for actual work
It contains the process of completing the backend framework.

Abstraction for SW reusability, which is the basic goal of SW engineering.
At runtime, create a module with the desired functions and data.
object-oriented paradigms available,
Transactions to secure both parallelism and serializability
Non-functional quality attributes that must be provided to developers
There is a process, experience, and wisdom that goes into putting it into a framework.

Through this lecture
It makes it easy for me and others to create working software.
I hope you have the courage and effort to create a framework.
And I hope that through such experiences, developers' lives will become richer and more enjoyable.


Additional information in the revised edition

  • Bulletin Board Project
    • Explains the process of completing the bulletin board and backend framework, which are the basic topics of the toy project.
  • Describes a complete framework that goes beyond direction
    • The advanced course explains the principles and functions of the framework required for additional practical work.
    • Understand that the direction of the framework is similar by comparing it with other frameworks.
  • Lectures designed with students in mind
    • Embedded Tomcat, automatic configuration of the execution environment
    • Project/Module Configuration for Eclipse and IntelliJ Users

Learning Content

  • It consists of a total of 8 sections (excluding orientation).
  • Each section contains a question to think about. There are no right or wrong answers, but please think about it and express it in writing.
  • Because the framework's features are built sequentially, we recommend learning them in the order of the curriculum .
  • (Advanced) courses provide detailed explanations of specific functions. They are easier to understand if you take them after completing the basic course.
  • The source code used in the lecture is uploaded to GitHub by section. (Link)
  • Questions are always welcome. (Link)

Learning Process and Features

Section 1. Prepare to easily create working software.
• Understand Servlet and MVC architectural styles and implement them from a framework perspective.

Section 2. Abstracts common functions and organizes them for easy use.
• The first common function, the HttpServletRequest object, is abstracted and refactored from an AOP perspective to make it easier for developers to use.

Section 3. Eliminate SQL-dependent development.
• Understand SQL-dependent development and develop framework features to eliminate it.

Section 4. Implement DI and IoC to reuse service logic.
• Think about and implement DI and IoC, which are essential features of a framework, from a business perspective.

Section 5. Implementing authentication and access control.
• Implement authentication and access control features that prove who I am and what I can do.

Section 6. Cryptography: What Developers Should Know
• Learn the knowledge to effectively use block secret key encryption technology and implement it into functions.

Section 7. Implement a logging function to understand SW characteristics.
• Implement logging functions to understand SW characteristics in systems operating in a parallel/parallel environment.

Section 8. We distribute one piece of software we create.
• Run half the backend framework and deploy and verify the bulletin board functionality for the other half.

Section 9. Appendix: Enabling Thymeleaf in our framework.
• Take well-built front-end technologies and configure them to run.


Take on the challenge now!

The beginning is simple, but
Finally, it can be used in practice
You can complete a great backend framework .

Recommended for
these people

Who is this course right for?

  • For those who want to know the principles of backend frameworks

  • Anyone who wants to understand the theories required for developers

  • Anyone who wants to create SW for developers to use

Need to know before starting?

  • java experience

  • DBMS, Internet programming experience

Hello
This is

237

Learners

6

Reviews

26

Answers

4.5

Rating

1

Course

  • 20년 경력의 자바 개발자
  • 백엔드 프레임워크를 만들고 사용중인 지식과 경험이 있는 개발자
  • 세상의 비즈니스 요구사항을 잘 이해하고 작동하는 코드로 단순하게 표현할 수 있는 개발자
  • 세상의 모든 기술을 사용하는 사람 입장에서 쉽게 설명할 수 있는 정보처리기술사

Curriculum

All

97 lectures ∙ (14hr 41min)

Published: 
Last updated: 

Reviews

All

6 reviews

4.5

6 reviews

  • athwls님의 프로필 이미지
    athwls

    Reviews 5

    Average Rating 5.0

    5

    61% enrolled

    • jetlifan님의 프로필 이미지
      jetlifan

      Reviews 1

      Average Rating 5.0

      5

      91% enrolled

      개발에서 중요한 포인트를 전반적으로 알 수 있는 강의입니다. 프레임워크를 직접 만드는 과정을 보여주면서, 어떤 이유에서 구현이 어떻게 돼야 하는지를 설명해주시는데, 여기서 개발자로서 고민해야 하는 포인트를 알 수 있습니다.

      • 제로
        Instructor

        안녕하세요. 제로입니다. 오랜만에 수강평이 달렸네요. ^^ 이전에 이야기 드린 내용이지만 영상으로 전달해 드린 지식과 경험을 머리속에만 담아두지 말고 코드로 글로 표현하길 바라겠습니다. 지식은 표현하면서 완성되고 경험은 표현한 지식이 남에게 전달되면서 완성되기 때문입니다. 다시 한번 수강평 감사드립니다.

    • HanKyul Kim님의 프로필 이미지
      HanKyul Kim

      Reviews 31

      Average Rating 4.7

      4

      9% enrolled

      완강은 하지 않았지만 좋은 강의 같습니다. 완강 후에도 수강평을 또 달 수 있으면 후기를 적어보겠습니다 :)

      • 한 번 등록된게 있으면 두 번은 안되네요. 완강 후 답글로 후기 달도록 하겠습니다!

      • 제로
        Instructor

        완강 후 수강평 기대하겠습니다. ^^ 한 가지 이야기 드리고 싶은 건 강의 내용이 많다 보니 중간에 듣다가 멈추시는 분들이 많습니다. 강의 작성자 입장에선 정말 안타까운데요. 각 섹터 마다 지식을 정리하는 글 또는 질문을 올리면 지치지 않고 끝까지 흥미를 가지며 들을 수 있을 것 같습니다. 왜 이렇게 하는 걸까? 나 같으면 이렇게 할 텐데... 이 지식은 잘못된 것 같은데? 저 지식은 이렇게 응용하면 어떻게 될까? 등의 생각을 질문으로 올리고 답변을 얻어가고 마음에 안 들면 다시 질문하는 형태로 강의를 이용하면 좋을 것 같습니다. 강의 비용은 강의 피드백도 포함되어 있습니다. 적극 활용해 주세요. :) 감사합니다.

    • netfly0님의 프로필 이미지
      netfly0

      Reviews 1

      Average Rating 3.0

      3

      100% enrolled

      다시 한번도 봐야지 아직은 잘 정리가 안 됩니다.

      • 제로
        Instructor

        안녕하세요. 제로입니다. 개정판 첫 수강평 감사합니다. 기술 서적은 어렵습니다. 첫번째 이유는 내가 모르는 지식이 생소하기 때문에 그 지식을 이해함에 시간이 걸리고 두번째 이유는 이전장에 읽었던 지식이 다음장을 이해할 경험으로 사용될때 까지 시간이 필요하기 때문입니다. 마지막으로 기술 서적은 단 시간에 읽을 수 없고 사람의 기억력은 망각 곡선이 있어 단기 기억은 금방 없어지기 때문에 오래전 읽었던 지식이 생소하게 느껴지기 때문입니다. 동영상 강의도 똑같은데요. 하지만 강의를 처음부터 끝까지 포기하지 않고 보면 상황이 달라집니다. 목차를 통해 내가 실제 필요한 기술을 찾아갈 기회가 생기거든요. 개발중 사용되는 IoC 지식이 필요하면 목차의 "서비스 로직을 재사용할 수 있는 DI 와 IoC 를 구현합니다." 선택해 다시 보면 되고 멀티쓰레드 환경에서 쓰레드 세이프티 한 코딩 방법이 필요하면 "멀티쓰레드 환경에서 로그 기능을 사용합니다." 선택해 응용하면 됩니다. 그래도 이해 안되면 강의를 만든 사람에게 물어보는 것도 괜찮구요. (질문 격하게 환영합니다.) 즉 기술 서적을 반복해서 볼 필요도 전체를 머리속에 정리할 필요가 없다는 거죠. 전체를 한번 봤으니 이후부턴 필요한 것만 선택해서 지식과 경험을 얻어가시기를 바랍니다. 제 강의를 끝까지 봐주신 것 정말 감사드립니다. 3점이 아쉽기는 하지만 강의를 끝까지 들어주시고 첫 수강평을 적어 주셔서 작은 선물(기프트콘)을 드리고 싶은데 강의 소개글에 있는 이메일로 회신 주시면 보내드리도록 하겠습니다.

    • 강태일님의 프로필 이미지
      강태일

      Reviews 12

      Average Rating 5.0

      5

      100% enrolled

      유익한 정보를 얻어 갑니다!

      • 제로
        Instructor

        수강평 감사합니다.

    $42.90

    Similar courses

    Explore other courses in the same field!