분류 전체보기(77)
-
[OOP] Observer 패턴 정리하기
❓ Observer의 의미 ❓무언가를 관찰하는 사람? 지켜보고 있는 사람?🔭 옵저버 패턴 🔭💡옵저버 패턴은 당신이 여러 객체에게 자신이 관찰 중인 객체에서 발생하는 모든 이벤트에 대하여 알리는 구독 메커니즘을 정의할 수 있도록 하는 행동 디자인 패턴이다.위 그림에서 망원경을 들고 보고 있는 서류들도 있고 그렇지 않은 서류들도 있다. 망원경을 들고 보고 있는 서류들은 저글링을 하는 서류의 실수를 하는 것을 볼 수 있지만 그렇지 않은 서류들은 볼 수 없다.저글링을 하는 서류가 실수한 것을 본 서류들은 각양각색의 반응을 할 것이다. 어떤 서류는 웃을 수도 있고 어떤 서류는 안타까워 할수도 있다.즉, 관찰 중인 객체(저글링하는 서류)에 어떤 이벤트가 발생하면 여러 객체 (망원경든 서류들)에게 알리고 이를 알게된..
2022.11.12 -
[JAVA] JAVA에서의 Data Type
오류가 없고 실행가능한 프로그램을 만들기 위해서 올바른 데이터 타입을 할당했는지 확인해야한다. 컴퓨터 프로그래밍 언어에서 중요한 요소임에도 메모리 공간을 어느정도 이용하고 데이터 유형 간의 차이를 정확하게 모르고 있어서 이번 기회에 정리를 해보고자 한다.모든 프로그래밍 언어에는 언어마다의 Data Type도 있고 할당하는 메모리의 크기가 다를 수 있지만 현재 필자가 사용중인 언어를 기준으로 JAVA에서의 Data Type들을 알아보고자 한다.JAVA에서의 Data Type자바에는 크게 두 가지의 데이터 타입 범주가 존재한다.Primitive Data TypeReference(Non-Primitive) Data Type먼저 Primitive Data Type에 대해서 알아보자.Primitive Data T..
2022.11.12 -
[OOP] Proxy 패턴 정리하기
Proxy(프록시)의 뜻이 뭘까?뭔가를 대신해준다? 누군가를 대체해준다? 프록시 패턴이란?프록시는 다른 객체에 대한 대체 또는 자리표시자를 제공할 수 있는 디자인 패턴이다. 원래 객체에 대한 접근을 제어하므로, 요청이 원래 객체에 전달되기 전 또는 후에 무언가를 수행할 수 있도록 함. 그렇다면 프록시 패턴은 어떤 문제들을 해결할 수 있을까?프록시 패턴이 해결할 수 있는 문제특정 데이터베이스로의 쿼리 응답이 굉장히 느리다고 가정하자.이 경우 여러 클라이언트들이 직접적으로 DB로 접근해서 쿼리를 날린다면 정말 더 느려질 것이다.하지만 만약 아래와 같이 프록시 서버를 둔다면,프록시 서버에서의 캐싱을 이용해서 DB로의 접근을 줄이고 프록시 서버에서 처리를 해줘 성능 향상을 도모할 수 있고 DB는 DB의 기능만을..
2022.11.10 -
[JAVA] Exception 정리하기
정리의 계기자바를 공부한 지 얼마 되지 않아서 Exception을 잘 처리하는 개발자가 좋은 개발자라는 것을 들어왔지만 몸으로 체감할 수 없었다. 하지만 최근 교육을 들으면서 과제에서 Exception을 다루는 일이 많아졌는데 어떻게 예외처리하는 것이 좋은 것이고 맞는 걸까라는 생각이 들었다.OOP에 관한 얘기를 들었을 때 Exception으로 인해 캡슐화가 깨지는 경우도 있다는 얘기를 들었고 이 시기에 하루에 하나씩 올라오는 면접 질문으로 checked, unchecked Exception에 대해서 설명하라는 질문이 나와 정리해보려고 한다.Error와 Exception의 차이checked, unchecked ExceptionException을 잘 처리하는 방법이런 부분에 대해서 알아보겠다.1️⃣Erro..
2022.11.10 -
[회고] 3주차 회고 ( Spring Boot Week1 )
배우고 공부한 것들 Spring과 Spring Boot https://steady-coding.tistory.com/594 ( Spring 정리된 글 ) Profile 개발서버 혹은 로컬 서버에서의 설정들과 운영서버에서의 설정들이 다를 경우가 대게 존재한다. 이 설정들을 매번 변경하는 것은 쉽지 않기에 profile을 이용해서 각자 다른 설정들을 손쉽게 적용할 수 있다. properties, YAML 각각의 서버마다 다른 설정을 제공해줄 설정파일이다. 또한 외부에서 받아오는 중요한 특정 값들 예를 들면 외부 API를 위한 API key, Secret Key 등 외부 설정값을 관리하기 위해 사용되는 파일이다. properties name = value 형식의 포맷을 가진 파일이다. yaml 계층 구조 형식..
2022.11.06 -
[Architecture] Layered Architecture(feat. MVC 패턴)
❓Software Architecture소프트웨어 아키텍처는 모든 소프트웨어 시스템의 기본 구조를 말하며 시스템이 제대로 기능하고 작동하도록 하는 모든 측면을 말한다.소프트웨어 시스템에서의 아키텍처는 물리적 설계가 아닌 구성 요소의 설계, 구성 요소 간의 관계, 사용자 상호 작용 및 시스템에 대한 사용자의 요구를 포함한다.예로써는 Microservices, client-server, layered architecture 등의 구조들이 있다.그렇다면 Layered Architecture는 무엇일까?❓Layered Architecture소프트웨어 개발에서 일반적으로 가장 많이 사용되는 아키텍처이다. Layer의 수에 따라 N Layered Architecture라고 불려지는데 단일 소프트웨어 단위로 함께 기..
2022.11.05