분류 전체보기
-
스프링 빈과 스프링 컨테이너스프링 2021. 8. 2. 17:34
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 스프링 컨테이너 스프링 빈이 저장되는 싱글턴 컨테이너를 스프링 컨테이너라고 한다. ApplicationContext 클래스를 스프링 컨테이너로써 사용한다. 스프링 컨테이너를 사용해서 기존에 AppConfig를 설정하여 객체를 생성하고 DI를 하는 것을 대체 할 수 있다. 스프링 컨테이너는 @Configuration이 붙은 AppConfig를 설정 정보로 사용한다. @Bean 어노..
-
객체 지향 원리 적용스프링 2021. 7. 29. 16:53
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 관심사 분리 이전에 좋은 객체 지향 원칙인 SOLID를 배운적이 있다. SOLID를 다형성으로 구현해보려 했지만 OCP(개방/폐쇄 원칙), DIP(의존관계 역전 원칙)을 구현해내기 쉽지 않았다. 이를 해결하기 위해서 각 객체의 관심사를 분리하는 것이 필요했다. 예를들어 애플리케이션을 하나의 공연으로 생각하자. '역할'에 해당하는 '배역'과 '구현'에 해당하는 '배우'가 있다고 하..
-
스프링과 객체지향설계스프링 2021. 7. 25. 20:25
김영한님의 스프링 핵심 원리 - 기본편 강의를 듣고 작성했습니다. 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 개발자가 되어보세요! 📣 확인해주 www.inflearn.com 스프링의 탄생 배경 기존의 자바진영에서는 EJB(Enterprise Java Beans)라는걸 썼었다. 여러가지 강력한 기능을 제공해주는 툴이였지만 개발자가 개발을 할 때 EJB를 기반으로 개발해야해서 코드가 난잡해지고 객체지향 방법론을 거의 쓸 수 없는 문제가 있었다. 그러다보니 더더욱 힘들어져 이를 해결할 방법을 찾는 사람들이 있었고, 이를 해결한 사람이 스프링의 핵심개념과 ..
-
스프링 빈과 의존 관계스프링 2021. 7. 16. 20:00
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 스프링 빈과 스프링 컨테이너 스프링은 '스프링 빈'을 저장하는 '스프링 컨테이너'를 운용한다. @Component 애노테이션이 있으면 스프링 빈으로 자동 등록되어 스프링에서 관리해준다. 컴포넌트 스캔 @Component 애노테이션이 있으면 스프링으로 자동 등록해주는 기능이다. @Component를 포함하는 다음 애노테이션도 스프링 빈으로 자동 ..
-
테스트와 웹 애플리케이션 구조스프링 2021. 7. 14. 20:31
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 웹 애플리케이션의 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체 * Optional 객체 null을 반환할 수도 있는 객체를 리턴할 때 Optional로 래핑해주면 좋다. 래핑해줄 경우 Optional객체에서 ..
-
스프링 웹 개발 기초스프링 2021. 7. 13. 20:34
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 크게 웹을 개발하는 방법에는 3가지로 나뉜다. 정적 컨텐츠를 클라이언트에 건네주기 MVC와 템플릿 엔진을 이용해서 데이터 정제 후 클라이언트에 건네주기 API를 통해 클라이언트에 객체를 건네주기 1. 정적 컨텐츠를 클라이언트에 건네주는 방법 다른 처리를 할 것 없이 단순히 resources:static/ 폴더에 파일을 넣어준 다음에 URL로 이..
-
프로젝트 환경 설정스프링 2021. 7. 12. 12:59
김영한님의 스프링부트 강의를 듣고 작성했습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., 스프링 학습 첫 길잡이! 개발 공부의 길을 잃지 않도록 도와드립니다. 📣 확인해주세 www.inflearn.com 초기화 스프링 프로젝트의 초기화는 스프링 부트 스타터 패키지를 사용했고, Gradle를 사용했다 디펜던시는 Spring Web, Thymeleaf를 추가했다. https://start.spring.io/ Gradle 빌드 및 라이브러리 초기화후 IntelliJ에서 오픈하면 빌드가 진행되며 필요한 라이브러리들을 설치한다. 이 후에 라이브러리 목록..
-
LeetCode - 114. Flatten Binary Search Tree알고리즘/알고리즘 문제 복기 2021. 5. 29. 11:38
https://leetcode.com/problems/flatten-binary-tree-to-linked-list/ Flatten Binary Tree to Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 뭔가 순서를 뒤집는 것이 있을때 스택을 사용하면 편리하다. Preorder는 Root -> Left -> Right순으로 이어진다. Pseudo Code void flatten(TreeNode root) { Stack s; s.push..