강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

스프링 시큐리티 완전 정복 [6.x 개정판]

스프링 시큐리티 6.x 최신 버전으로 제작된 개정판 강의로 초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과 인가와 관련된 핵심적인 기술들을 익히게 됩니다.

(4.9) 수강평 79개

수강생 2,214명

  • 정수원
백엔드개발자
스프링시큐리티
개정판
업데이트
SpringSpring BootSpring Securitysecurityweb-security

먼저 경험한 수강생들의 후기

수강 후 이런걸 얻을 수 있어요

  • 스프링 시큐리티의 기본 API 와 관련 Filter 완전 정복

  • 스프링 시큐리티의 내부 아키텍처와 객체들간의 역할 및 관계흐름들 이해

  • 스프링 시큐리티의 인증원리와 내부 동작방식 이해

  • 스프링 시큐리티의 인가원리와 내부 동작방식 이해

  • 스프링 시큐리티와 스프링 MVC 를 연계하는 방식 이해

  • 스프링 시큐리티를 활용해 실무적 수준의 보안 시스템 구축 노하우 학습

스프링 시큐리티 6.x 최신 버전 완전 개정판!!

스프링 시큐리티 6.x 는 이전 버전들과 비교했을 때 상당한 변화와 개선을 보여주고 있으며, 이번 강좌는 바로 그 변화된 부분과 새롭게 추가된 기능에 초점을 맞추고 있습니다.

이에 따라 커리큘럼 항목도 기존 스프링 시큐리티 강좌 대비 변경되거나 새롭게 추가된 항목이 많아졌습니다.특히 스프링 시큐리티의 인가 영역은 이전 버전과 비교했을 때 전체 뼈대가 바뀌었을 정도로 큰 변화가 있었습니다.
그래서 이번 스프링 시큐리티 완전정복 강좌는 스프링 시큐리티 6.x 버전의 주요 변경 사항과 새로운 기능들을 상세히 분석하고 파헤침으로써 수강생 여러분들이 본 강좌의 이론과 실습을 통해 각 기능과 API 를 확실하게 익힌다면 기존 버전에서의 개발 경험이 있는 분들은 물론, 스프링 시큐리티를 처음 접하는 분들 모두 실무 환경에서 스프링 시큐리티를 활용한 어플리케이션을 개발하는데 큰 도움이 될 것입니다


입문자, 초·중·고급자 모두를 위한 강의

본 강좌는 스프링 시큐리티를 처음 접하는 입문자부터 기초적인 지식이나 사용 경험은 있지만 좀 더 깊이 있는 지식 습득과 스프링 시큐리티의 핵심 원리, 내부 구조, 동작 방식 등을 심도 있게 이해하고 이를 응용하고자 하는 중·고급자를 위해 제작하였습니다.

주요 학습 내용 💡

본 강의는 스프링 시큐리티를 위한 핵심 주제로 크게 인증, 인가, 악용보호, 통합, 실전프로젝트 의 다섯 가지 축을 중심으로 수업을 진행합니다.

1. 인증 (Authentication)

스프링 시큐리티 6.x는 사용자 인증을 위해 폼 기반 인증, 기본 인증, 기억하기 인증 등 다양한 방법을 제공합니다. 이러한 인증 방식은 사용자가 시스템에 자신의 신원을 증명할 수 있는 효과적인 수단을 마련해 줍니다. 인증 과정은 사용자가 제공한 자격 증명을 검증하여 사용자의 신원을 확인하는 것으로, 이는 AuthenticationManager를 중심으로 이루어집니다. 성공적인 인증 후, 사용자의 인증 정보는 SecurityContextHolder 내의 SecurityContext에 저장되며, 이는 애플리케이션 전반에서 사용자의 인증 상태를 참조하는 데 사용됩니다. 스프링 시큐리티는 또한 세션 관리를 통해 사용자의 세션 정보를 관리하며, 동시 세션 제어, 세션 정책 설정, 세션 만료 및 세션 고정 보호 등의 기능을 제공하여 사용자의 세션을 안전하게 보호합니다. 인증 과정에서 발생할 수 있는 다양한 예외 상황들도 적절히 처리할 수 있도록 설계되어 있습니다.


2. 인가 (Authorization)

스프링 시큐리티의 인가 과정은 사용자가 인증을 마친 후 특정 자원에 대한 접근 권한이 있는지를 결정합니다. 스프링 시큐리티 6.x에서는 HttpSecurity를 사용하여 URL 기반 또는 메소드 기반 인가 처리를 구성할 수 있으며, AuthorizationManager를 포함한 새로운 인가 아키텍처를 통해 보다 세밀하고 유연한 인가 정책을 구현할 수 있습니다. 이는 개발자가 애플리케이션의 보안 요구 사항에 맞게 접근 제어 정책을 정의할 수 있게 하며, 사용자의 요청에 대해 권한을 평가하여 자원 접근을 허용하거나 거부할 수 있습니다. 인가 처리는 애플리케이션의 보안을 강화하는 데 중요한 역할을 하며, 민감한 정보와 자원을 보호하는 데 핵심적입니다.

3. 악용보호 (Protection Against Exploits)

스프링 시큐리티 6.x는 애플리케이션을 다양한 보안 위협으로부터 보호하기 위해 CORS, CSRF 보호, 그리고 SameSite 쿠키 설정과 같은 기능을 제공합니다. 이러한 보안 기능은 애플리케이션을 크로스 사이트 스크립팅, 크로스 사이트 요청 위조 공격으로부터 보호하며, 사용자의 데이터와 세션을 안전하게 유지합니다. CORS 설정을 통해 개발자는 다른 도메인의 리소스에 안전하게 접근할 수 있도록 할 수 있으며, CSRF 보호 기능은 악의적인 웹사이트가 사용자를 대신하여 요청을 보내는 것을 방지합니다. SameSite 쿠키 속성을 설정함으로써, 브라우저가 쿠키를 전송하는 방식을 제어하여 추가적인 보안 계층을 제공합니다.

4. 통합 (Integrations)

스프링 시큐리티 6.x 버전은 서블릿 환경, 스프링 MVC, 그리고 스프링 MVC 비동기 처리와의 긴밀한 통합을 제공합니다. 이러한 통합을 통해, 개발자는 스프링 기반의 애플리케이션에 보안 기능을 손쉽게 추가하고 구성할 수 있습니다. 서블릿 통합을 통해 스프링 시큐리티는 HTTP 요청과 응답에 대한 보안 처리를 관리하며, 스프링 MVC 통합은 컨트롤러와 서비스 레이어에서의 세밀한 보안 정책을 가능하게 합니다. 비동기 처리와의 통합은 스프링 웹플럭스(Spring WebFlux)를 사용하는 반응형 프로그래밍 모델에서의 보안 요구사항을 충족시키며, 이는 개발자가 비동기 및 스트림 기반의 애플리케이션을 구축할 때 보안을 효과적으로 관리할 수 있도록 합니다. 이러한 통합 기능은 스프링 시큐리티를 다양한 스프링 애플리케이션 아키텍처와 원활하게 연동시키며, 보안 구현의 복잡성을 줄여줍니다.

5. 실전프로젝트 (Practical Projects)

스프링 시큐리티 6.x 버전은 실전 프로젝트에서의 회원 인증 시스템, 회원 관리 시스템 구현에 있어 핵심적인 역할을 합니다. 이를 통해 개발자는 사용자 인증, 권한 관리, 자원 접근 제어 등의 기능을 효과적으로 구현할 수 있습니다. 회원 인증 시스템은 애플리케이션의 보안을 강화하는 기반을 제공하며, 회원 관리 시스템은 사용자 정보의 안전한 저장, 조회, 수정, 삭제 등을 관리합니다. 권한 관리를 통해 사용자별로 다른 접근 권한을 할당하고, 자원 관리는 애플리케이션 내의 민감한 정보와 기능에 대한 접근을 제어합니다. 또한, 스프링 시큐리티는 Map 및 데이터베이스를 이용한 동적 인가 설정을 지원하여, 실행 시간에 권한을 변경하거나 업데이트할 수 있는 유연성을 제공합니다. 이러한 실전 프로젝트에서의 구현은 스프링 시큐리티의 강력한 기능과 유연성을 보여주며, 개발자가 보안 요구사항을 충족시키는 데 필수적인 도구입니다.

회원 인증 시스템

회원 관리 시스템

강의 구성 및 상세 커리큘럼 🏃

섹션 1. 초기화 과정 이해

  • 스프링 시큐리티가 기동하며서 발생하는 초기화 과정을 깊이 있게 다룹니다.

  • 스프링 시큐리티 초기화 시 설정되는 빈, 전체 구조와 흐름, 필터 체인 구성 등을 포함하여, 스프링 시큐리티가 어떻게 작동 준비를 하는지 세밀하게 설명합니다. 이 과정을 이해함으로써, 개발자는 스프링 시큐리티의 기본 작동 원리를 파악하고, 필요한 보안 설정을 효과적으로 적용할 수 있게 됩니다

섹션 2. 인증 프로세스

  • 다양한 사용자 인증 방식을 학습합니다

  • 폼 기반 인증, 기본 인증(Basic Authentication), "기억하기(remember-me)" 인증 등 다양한 인증 메커니즘을 상세히 소개하고, 어플리케이션의 요구사항에 가장 적합한 인증 방식을 선택하고 구현하는 방법을 배웁니다.

섹션 3. 인증 아키텍처

  • 이 섹션은 스프링 시큐리티의 인증 처리 구조와 원리에 초점을 맞춥니다.

  • 인증 과정에서의 객체 간 관계, 인증 매니저, 인증 프로바이더 등 핵심 컴포넌트의 역할과 상호 작용을 자세히 설명합니다. 이해를 돕기 위해 다양한 인증 플로우와 사용 사례를 통해 인증 아키텍처를 실제로 어떻게 적용할 수 있는지 보여줍니다

섹션 4. 인증 상태 영속성

  • 이 단원에서는 인증 상태의 저장, 참조 및 삭제와 같은 영속성 관리 방법을 다룹니다.

  • 이전 버전에 비해 더욱 효율성 있는 인증 상태의 영속성을 어떻게 설정하고 구현하는지 자세하게 학습합니다.

섹션 5. 세션 관리

  • 이 섹션에서는 세션 정보의 생성, 유지, 만료 및 삭제와 같은 세션 라이프사이클 관리를 포함하여, 동시 세션 제어, 세션 고정 보호, 세션 정책 설정 등을 상세히 설명합니다.

섹션 6. 예외 처리

  • 인증과 인가 과정에서 발생할 수 있는 다양한 예외 상황을 어떻게 처리할지에 대한 방법론을 제시합니다. 보안 관련 예외 처리의 중요성을 강조하며, 사용자에게 친절한 에러 메시지를 제공하고, 시스템의 보안을 유지하기 위한 예외 처리 전략을 학습합니다.

섹션 7. 악용 보호

  • 웹 애플리케이션은 다양한 보안 위협에 노출되어 있습니다. CORS(Cross-Origin Resource Sharing), CSRF(Cross-Site Request Forgery), SameSite 쿠키 속성 등의 보안 메커니즘을 통해 이러한 위협으로부터 어플리케이션을 보호하는 방법을 배웁니다.

섹션 8. 인가 프로세스

  • 인가는 애플리케이션 내에서 사용자가 수행할 수 있는 작업을 결정합니다.

  • URL 기반 인가, 메소드 수준 인가 등 다양한 인가 처리 방법을 소개하고, 각각의 적용 방법과 보안 고려사항을 설명합니다. 이를 통해 개발자는 애플리케이션의 보안 요구 사항에 맞는 적절한 인가 정책을 설계하고 구현할 수 있습니다

섹션 9. 인가 아키텍처

  • 인가 처리의 내부 구조와 원리를 깊이 있게 다룹니다.

  • 인가 매니저, 인가 결정자 등 핵심 컴포넌트와 이들 간의 관계를 분석하며, 인가 아키텍처를 통해 복잡한 보안 요구 사항을 해결하는 방법을 소개합니다.

.섹션 10. 이벤트 처리

  • 스프링 시큐리티는 인증과 인가 과정에서 발생하는 이벤트를 처리할 수 있는 메커니즘을 제공합니다.

  • 인증 이벤트, 인가 이벤트의 처리 방법을 배우며, 어떤 상황에서 이벤트를 발생시키고 수신하는지에 대한 방법들을 학습합니다.

섹션 11. 통합하기

  • 스프링 시큐리티는 스프링 에코시스템과 긴밀하게 통합됩니다.

  • 서블릿 API, 스프링 MVC와의 통합 방법을 상세히 설명하며, 스프링 애플리케이션에 스프링 시큐리티를 효과적으로 통합하는 방법을 다룹니다.

섹션 12: 고급 설정

  • 다중 보안 설정, 이중화 설정, 시큐리티 DSLs 를 어떻게 구현할 수 있는지에 대해 학습합니다.

섹션 13: 실전 프로젝트

  • 이 단원은 이론에서 실제로 넘어가, 회원 인증 시스템 및 회원 관리 시스템 구현을 통해 스프링 시큐리티의 전반적인 적용 방법을 학습합니다.

스프링 시큐리티 로드맵

  • 스프링 시큐리티 완정정복 + 스프링 시큐리티 OAuth2

이 강의를 만든 
지식공유자를 소개합니다.

정수원(leaven)

  • 현직 자바 개발자

  • SI/SM/솔루션/Mobile/Front&Back-end 의 다양한 프로젝트 경험

  • Architect/PM/PL 로서 역할 수행

  • Github


이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 스프링 시큐리티의 기본 개념을 확실하게 이해하고 싶은 분

  • 스프링 시큐리티의 기본 기능을 넘어 자유롭게 기능을 확장하고 커스트마이징 하고자 하는분

  • 스프링 시큐리티를 활용해 실무적 수준의 인증 및 권한 제어 시스템을 구현하고자 하는 분

  • 스프링 시큐리티 입문자부터 중고급자까지 활용할 수 있는 내용으로 구성

선수 지식,
필요할까요?

  • Java

  • Spring Boot

  • Spring MVC

  • Spring JPA

  • RDBMS

안녕하세요
입니다.

10,076

수강생

352

수강평

1,212

답변

4.9

강의 평점

5

강의

다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.

공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.

다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.

 

커리큘럼

전체

103개 ∙ (36시간 55분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

79개

4.9

79개의 수강평

  • rocket700015862님의 프로필 이미지
    rocket700015862

    수강평 2

    평균 평점 5.0

    5

    75% 수강 후 작성

    Tôi đang làm việc trên một dự án nhưng tôi đang gặp khó khăn rất nhiều về vấn đề bảo mật và xác thực/ủy quyền. Tôi đã học được quy trình chung thông qua một khóa học miễn phí ở nơi khác (Spring Security 5.x) mã hóa nhân bản và sau đó được mã hóa bằng cách sửa đổi mã nguồn trên blog để phù hợp với dự án của tôi, nhưng tôi cảm thấy rằng phương pháp đó là chưa đủ. Hầu hết các sách và bài giảng hiện có đều dựa trên phiên bản Spring Security 5.x nên có nhiều điểm khác biệt so với 6.x. Đặc biệt, trong phần cài đặt bảo mật, 5.x sử dụng các phương thức đơn giản, nhưng bắt đầu từ 6.x, bắt buộc phải có biểu thức lambda nên tôi gặp rắc rối khi phải google từng cái một để xem điều này có đúng không. Sau khi tìm hiểu trên Google và tìm hiểu Spring Security in Action phiên bản thứ 2, tôi đã áp dụng JWT và OAuth2 cho dự án với GPT4 và máy chủ đã hoạt động, nhưng tôi rất khó chịu vì thực tế là việc xác thực/ủy quyền được áp dụng mà không có sự hiểu biết đúng đắn, vì vậy tôi đã nghe giảng . Tôi tự hỏi điều gì sẽ xảy ra nếu có nhiều điểm trùng lặp với phiên bản thứ 2 của Spring Security in Action, nhưng bạn có thể làm rõ các khái niệm mơ hồ bằng cách chỉ ra những chi tiết không có trong cuốn sách. Nếu bạn mới học lần đầu thì mình khuyên bạn không nên bị lạc bởi Google + phiên bản 5.x + ChatGPT4 hoặc 4o (hầu hết dữ liệu học tập là phiên bản 5.x nên có rất nhiều mã không dùng nữa) + chỉ cần học bài này thôi😭 + Nếu bạn mới làm quen với Spring Security thì hãy sử dụng Spring Security in Action 2nd (version 6.x trở lên) do Manning bán + Tài liệu chính thức gợi ý. Nghiên cứu phiên bản 5.x không được khuyến khích.

    • pinako님의 프로필 이미지
      pinako

      수강평 2

      평균 평점 4.5

      4

      37% 수강 후 작성

      Ông giải thích nó rất chi tiết và giải thích các nguyên tắc một cách kỹ lưỡng. Tuy nhiên... cách phát âm còn nhiều điều chưa tốt. Ngoài ra, có rất nhiều trường hợp mọi người không hiểu vì họ có tiếng địa phương. Nó khó hơn rất nhiều so với các bài giảng khác. Cảm ơn bạn vì bài giảng tuyệt vời.

      • alsry922님의 프로필 이미지
        alsry922

        수강평 17

        평균 평점 4.7

        4

        76% 수강 후 작성

        Tôi chỉ lắng nghe những gì tôi nghĩ là cần thiết. Mặc dù các bài giảng rất dài nhưng tôi khuyên bạn nên xem chúng ba lần. Lúc đầu, tôi không hiểu chuyện gì đang xảy ra, nhưng tôi tự hỏi liệu mình có nên tiếp tục nghe điều này hay không. Khi tôi nghe nó lần thứ hai, tôi đã có một ý tưởng chung về cảm giác của nó. Nếu tôi nghe nó một lần nữa, tôi nghĩ tôi sẽ hiểu được hầu hết nội dung. Tôi đã chơi nó hai lần nên tôi sẽ nghe lại một lần nữa. Hơi thất vọng một chút là phát âm hơi khó nghe qua bụng và phản hồi về các câu hỏi của cộng đồng có vẻ hơi chậm... Ngoài ra, có vẻ như bạn có thể tìm hiểu khá nhiều thứ về Spring Security bằng cách nghiên cứu nó. Khuyến khích!

        • smathj9975님의 프로필 이미지
          smathj9975

          수강평 34

          평균 평점 5.0

          5

          100% 수강 후 작성

          Cuối cùng tôi đã bướng bỉnh.!!! Trước hết, tôi rất thích phiên bản cuối cùng của bài giảng. Mình thích bản Security 6 này hơn 5 bản trước! Người hướng dẫn nói về phiên bản mới. Bạn đưa rất nhiều phân tích vào việc tạo ra bài giảng. Bạn càng tham gia khóa học nhiều, bạn càng học được nhiều Tôi đang viết ra một vài tính năng phòng trường hợp chúng có thể hữu ích cho người khác. 1. Đặt phần khởi tạo bộ lọc ở phía trước lá. Tôi cũng rất hài lòng với quá trình khởi tạo và thực tế là nó đã được đặt lên hàng đầu. 2. Tách phần lý thuyết và phần thực hành Bài giảng được chia thành từng phần nên kéo dài khoảng 20 đến 30 phút. Thật dễ dàng để thấy 3. Quản lý chi nhánh theo từng bộ phận Nó rất hữu ích cho việc tham gia khóa học vì mỗi phần được chia thành các nhánh. 4. Sức thuyết giảng Không còn nghi ngờ gì nữa về khả năng giảng dạy của anh ấy, đây là một trong những bài giảng hoặc sách giáo khoa về bảo mật hay nhất mà tôi từng xem. Đó thực sự là một bài giảng nhẹ nhàng và muối. Rất nhiều điều xảy ra chỉ bằng cách thêm thư viện và bật máy chủ... Tôi thích nó vì nó không phải là một bài giảng chỉ kết thúc bằng việc sử dụng hàm. Ngoài ra, bạn có thể phát triển cái nhìn sâu sắc về các công nghệ Spring khác nhau. Điều tôi ước... Bạn cũng có thể cung cấp OAuth2 làm khóa học mới không!!!

          • leaven
            지식공유자

            Cảm ơn bạn rất nhiều vì đánh giá có giá trị của bạn. Chúc mừng bạn đã hoàn thành khóa học trong một thời gian dài ^^ Tôi sẽ hỗ trợ Smathj vượt xa những bài giảng của mình và tạo ra hệ thống của riêng anh ấy. Không gì có thể đánh bại được niềm vui học tập. Tôi cũng rất vui khi thấy niềm vui đó được thể hiện qua đánh giá của smathj. OAuth2 được theo dõi liên tục. Tôi không biết chính xác thời gian nhưng tôi hy vọng sẽ thấy được nhiều nội dung nâng cấp hơn khi thực sự cần thiết. Cảm ơn bạn.~~

        • ttasjwi님의 프로필 이미지
          ttasjwi

          수강평 16

          평균 평점 5.0

          5

          40% 수강 후 작성

          Vì bài giảng kéo dài 36 giờ 55 phút nên bạn sẽ bị sốc khi xem lần đầu. Tôi cũng cảm thấy miễn cưỡng khi mới bắt đầu tìm hiểu về phần này... Tuy nhiên, giá trị thực sự của bài giảng này là nó giải thích chi tiết các nguyên tắc vận hành nội bộ thông qua trình gỡ lỗi. Khi tôi đi sâu vào các nguyên tắc hoạt động chi tiết thông qua trình gỡ lỗi trong bài giảng, tôi đã học được cách tự mình sử dụng trình gỡ lỗi, điều này giúp ích rất nhiều trong việc cải thiện khả năng phát triển của tôi. Nếu bạn theo dõi bài giảng này sau khi trải qua các giai đoạn giới thiệu của Spring (learning core, web, jpa, boot, v.v.) và tìm hiểu quy trình vận hành và cấu hình tự động nội bộ thông qua trình gỡ lỗi, bạn sẽ cảm thấy hiểu biết của mình về bảo mật ngày càng tăng nhanh. Và theo tiêu chuẩn hiện tại, hầu hết các tài liệu liên quan đến bảo mật đều không được dùng nữa hoặc dựa trên các tài liệu không được sử dụng, nhưng bài giảng này được tạo ra với phiên bản 6 trở lên. Thật khó để tìm thấy các bài giảng hoặc tài liệu giải thích về bảo mật, hoặc thậm chí các công nghệ cụ thể một cách sâu sắc như vậy. Đây là khóa học tôi đánh giá cao.

          • leaven
            지식공유자

            Trước hết xin cảm ơn đánh giá quý giá của bạn ^^ Hầu hết các bài giảng của tôi được thực hiện trong một khoảng thời gian khá dài nên tôi nghĩ có lẽ bạn sẽ cảm thấy rất áp lực trước khi học chúng, giống như Shrew. Thực tế, điều đó đúng. Tuy nhiên, cá nhân tôi có một tiêu chuẩn và nguyên tắc vững chắc là những kiến ​​thức tối ưu nhất phải được truyền tải đến học viên dưới mọi hình thức bất kể thời lượng bài giảng là bao nhiêu, nên dù hình thức bên ngoài của video bài giảng không có sự trau chuốt, nâng cao. Tuy nhiên, vì tôi có ý chí mạnh mẽ là không bao giờ thỏa hiệp hay thỏa hiệp về chất lượng truyền tải kiến ​​thức nên thời lượng video luôn kéo dài hơn dự kiến!! Tất nhiên, chúng tôi luôn ý thức được việc điều chỉnh phù hợp là cần thiết ^^ Vì thời gian dài nên tôi nghĩ rằng nếu bạn làm theo những phần khó nhiều lần, bạn sẽ phát triển được những kỹ năng mạnh mẽ hơn. Và tôi càng biết ơn hơn vì bạn đã cảm nhận được sức hấp dẫn của việc sửa lỗi ^^ Nó sẽ giúp ích rất nhiều nếu bạn sử dụng nó tốt trong thực tế, vì vậy tôi hy vọng bạn sẽ tiếp tục phát triển nó như một thói quen. Cảm ơn bạn một lần nữa vì đánh giá chân thành của bạn.

        월 ₩417,266

        5개월 할부 시

        ₩99,000

        정수원님의 다른 강의

        지식공유자님의 다른 강의를 만나보세요!

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        연관 로드맵

        강의가 포함된 로드맵으로 학습해 보세요!