반응형 public void static main91 [Spring] DI (Dependency Injection) 오늘은 Spring책으로 공부해봤다! Dependency Injection은 의존 주입 이라고 한다. 의존 주입이 뭔지 함께 알아보자! Dependency (의존) 이란?? 한 클래스가 다른 클래스의 메서드를 실행할 때 이를 의존한다고 표현한다. import java.time.LocalDateTime; public class MemberRegisterService { private MemberDao memberDao = new MemberDao(); public void regist(RegisterRequest req) { // 이메일로 회원 데이터 조회 Member member = memberDao.selectByEmail(req.getEmail()); if (member != null) { // 같은.. 2021. 11. 11. [Design Pattern] Adapter Pattern 아~ 수많은 디자인 패턴중에 드디어 궁금했던 어댑터 패턴을 공부한다 곰부해보고싶은 패턴은 많은데 패턴이 느므 많자나~ Adapter Pattern? 보통 우리가 해외 여행 갈때 볼트 변환기 같은 것들을 어댑터라고 표현한다. 이같이 Adapter Pattern은 클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 변환시키는 패턴이다. [장점] 관계가 없는 인터페이스 간 같이 사용이 가능하다. 프로그램 검사가 용이하다. 클래스 재활용성이 증가한다. [구조] Target Client가 직접적으로 사용하려고 하는 인터페이스를 정의한다. (Adaptee가 지원하길 바라는 인터페이스를 의미!) Adaptee (개조되는 역할) Adapter에서 사용하고자 하는 인터페이스를 정의하고 있다. Adapter Targ.. 2021. 11. 10. [Design Pattern] Builder Pattern 아~ 패턴 왜이렇게 많아 솔직히 만드신분도 다 못외울꺼같아~ Builder Pattern? 복잡한 객체를 생성하는 클래스 와 표현하는 클래스를 분리하는 것! 동일한 절차에서도 서로 다른 표현을 생성하는 방법을 제공! 다시 말해서 객체의 생성 단계들을 캡슐화 하여 객체의 생성을 유연하게 해주는 패턴! 객체의 생성과정과 객체의 표현 방법을 분리! [구조] Builder(건축자)의 역할 인스턴스 생성을 위한 인터페이스(API)를 선언! ConcreteBuilder(구체적인 건축자)의 역할 Builder 인터페이스를 구현하는 역할 Director(감독자)의 역할 Builder 인터페이스(API)를 사용해 인스턴스를 사용 Product(제품)의 역할 만들어질 제품의 속성과 기능을 가짐 [구현] // 제품을 필드로.. 2021. 11. 9. [Design Pattern] Flyweight Pattern 오늘은 재택근무를 해서 블로그 공부를 할 시간이 됐다! 디자인 패턴을 집중적으로 공부해보자~ Flyweight Pattern? 어떤 클래스의 인스턴스 한 개만 가지고 여러 개의 "가상 인스턴스"를 제공하고 싶을 때 사용하는 패턴이다! 비용이 큰 자원을 공통으로 사용할 수 있도록 만드는 패턴이다! 궁극적으로 객체를 가볍게 하기 위한 것이라구~! [핵심] 객체를 가능한 대로 공유시켜서 쓸떼없이 new하지 않도록 하는 것이 목표! 객체가 필요할 때 맨날 new 하는게 아니라, 이미 만들어져 있는 인스턴스(객체)를 이용할 수 있으면 그걸 공유하기 [구조] Flyweight의 역할 공유에 사용할 클래스들의 인터페이스(API) 다시 말해서 프로그램을 가볍게 하기 위한 역할을 함! ConcreteFlyweight(구.. 2021. 11. 9. [Design Pattern] Observer Pattern 오늘은 발표준비겸 Observer Pattern이 무엇인지 알아보자! 옵저버 패턴이 뭔가 찾다가 진짜 엄청난 블로그를 발견했다! 덤으로 좋은 책도 발견! Head First Design Patterns 책이다! 궁금하시분은 찾아보시길! (광고 아닙니다~!!!) 나를 단번에 이해 시켜주셨다! 출처는 맨아래! Observer Pattern이 뭐야? - 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 방식으로 일대다(one-to-many)의존성을 정의한다. 🔴잠깐!🔴 일대 다(one-to-many) 관계ㅖㅖㅖ? - 옵저버 패턴에서 상태를 저장하고 지배하는 것은 주제(Subject) 객체이다. 따라서 상태가 들어있는 객체는 하나만 있을 수 있다. - 옵저버는 .. 2021. 11. 7. [Design Pattern] Singleton Pattern 아 진짜 오랜만에 공부한다 11월 시작부터 열심히다~ 아자아자 리마 파이팅 오늘은 디자인 패턴에 Singleton Pattern을 공부할꺼다! 왜냐면 내일 인강 들을꺼니까! 싱글톤 패턴이 뭘까? - 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 음... 쫌더 알아보자! - 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴! 생성자가 여러차례 호출되더라도 실제로 생성되는 객체는 하나고 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. (자바에서는 생성자를 private로 선언해서 생성 불가하게 하고 getInstance()로 부르게함!) 다시말해서 인스턴스가 필요 할 때 똑같은 인스턴스를 만들어 내는 것이 아.. 2021. 11. 2. [npm] npm이란 npm이 무엇일까나 맨날 찾아봐야지 하다가 이제좀 공부해본다 npm은 Node Packaged Manager의 약자이다! 내가 아는바로는 패키지를 관리하는느낌의 패키지관리자!!?로 알고있다! 나는 보통 scoop 을 이용해서 npm을 설치한다! 일단 powershell을 이용해서 scoop을 설치 scoop을 설치했다면 powershell에서 nodejs를 설치해보자! 좋아 설치했다면 이제 npm 명령어를 쓸수있을 것이다! (아마도..!) npm이란? npm 이란 노드 패키지 매니저 (Node Package Manager)를 의미! npm은 자바스크립트 런타임 환경인 Node.js 의 기본 패키지 관리자 역할을 한다! 그래서 npm을 통해 패키지 (package) 또는 모듈 (module) 이라고 불리는.. 2021. 5. 5. [Gradle] Gradle은 무엇일까나 Gradle은 무엇이고 왜쓰고 어떻게 쓰고 뭐가 좋은것인지 궁금해서 한번 찾아보아따! 근데 찾다보니까 한 블로에서 내가 궁금해했던 대부분의 것들을 정리해주셔서... [출처] madplay.github.io/post/what-is-gradle Gradle이란 무엇일까? 그루비(Grrovy)를 기반으로 한 빌드 자동화, 개발 지원에 중점을 둔 빌드 도구인 그래들(Gradle)에 대해서 알아보자 madplay.github.io 걍 거의 다 가져온 수준이여서 앞뒤로 출처를 밝힙니다!!!!! Gradle이 궁금하신분은 "오늘도 MadPlay"님의 블로그 들어가셔서 보시는걸 강추 드립니다! 정리천재! Gradle은 무엇인가? - Ant와 Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합한 굉장해.. 2021. 5. 5. [HTTP웹기본지식] HTTP 메소드의 속성 김영한 강사님의 HTTP 웹 기본 지식 내용 발췌! 안전 (safe) - 음 그니까 조회말고 무언가를 변경하는거에 대한 안전(safe) 같다! - 호출해도 리소스를 변경하지 않는다. - Q: 그래도 계쏙 호출해서, 로그같은게 쌓여서 장애가 발생하면요? - A: 안전은 해당 리소스만 고려한다. 그런 부분까지 고려하지 않는다. 멱등 (Idempotent) - f(f(x)) = f(x) - 한번 호출하든 몇번을 호출하든 결과가 똑같음 - 멱등 메소드 Get: 한번 조회하든 몇번을 하든 같은 결과 조회 - 음... 헤깔리는데 소스가 바뀌면 조회하는 결과물도 바뀌는거 아닌가...? Put: 결과를 대체한다. 따라서 같은 요청을 여러번 해도 최종 결과는 같다. Delete: 결과 삭제: 같은 요청을 여러번해도 삭제.. 2021. 5. 5. 이전 1 ··· 6 7 8 9 10 11 다음 반응형