본문 바로가기

디자인패턴, 설계4

(웹 사이트 방법론)JAM Stack 옛날 1세대 웹사이트의 경우 프론트와 백엔드가 합쳐진 모놀리식 구조였다. 그러다 보니 사용자가 많아짐에 따라 서버에 부담이 커지고 로딩되는 컨텐츠 속도가 느려질 수 밖에 없었다. JAM스택은 이러한 구조를 벗고 더 빠르고 안전하게 페이지를 전달하기 위해 고안된 웹사이트 개발 방법론이다. 아래는 JAM스택 공식 페이지에서 발췌한 JAM스택 개념 설명이다. Fast and secure sites and apps delivered by pre-rendering files and serving them directly from a CDN, removing the requirement to manage or run web servers. - 웹 애플리케이션에서 렌더링 할 화면을 Pre-render 하고 이를 CD.. 2022. 8. 8.
(설계)Micro Frontend 마이크로 프론트엔드란? 특정 기준으로 프론트엔드를 나누는 개발방식으로 프론트앱에 여러 기능과 섹션이 존재하여 통합해서 관리하기 힘들때 사용 위 그림은 여러 앱으로 나누어서 백엔드 또는 서로간에 소통하는 방식을 나타낸다. 마이크로 서비스 vs 마이크로 프론트엔드 개발방식 배포방식 마이크로 프론트엔드 장점 앱을 이해하기 쉬워진다. 각 앱의 규모가 작아지기에 이해하기 쉬워진다. 각 앱이 독립적이 된다. 분리되서 개발하기에 서로 독립적이다. 더 쉽게 개발하고 배포할 수 있다. 각 앱마다 단일팀에서 개발 가능하기 때문에 개발과 배포가 쉽다. 개발 속도가 빨라진다. 각 앱이 별도의 팀으로 구성될 수있기에 개발 속도가 빨라진다. CI/CD가 쉬워진다. 각 앱을 개별적으로 통합하고 배포할 수 있으므로 CI/CD 프로세.. 2021. 9. 13.
TDD(Test Driven Development) TDD(Test Driven Development)란? 기존에 우리는 개발을 할때 코딩을 먼저 한 뒤 테스트를 수행한다. 하지만 TDD는 이 순서를 바꿔서 개발한다. 이말인 즉슨 테스트를 먼저 진행한 뒤 코드를 짠다는 것인데... 대체 뭘로 어떻게 테스트 한다는 것일까? 예를 들어 집을 짓기위해 벽돌을 쌓는다고 하자. 벽돌을 쌓기 전에 일정 분량의 틀을 만들어 놓고 만들어 놓은 틀까지 벽돌을 쌓는다. 틀이 다 채워지면 벽돌이 틀에 잘 채워졌는지 체크하고 수정작업을 거친 뒤 다시 새로운 틀을 만들고 벽돌을 쌓는 행위를 반복한다고 한다고 할때, 이러한 방식이 TDD이다. 미리 틀을 만드는것은 테스트 코드를 작성하는 것이고 벽돌을 쌓는것은 테스트 코드에 맞는 실제 코드 작성을, 틀에 잘 채워졌는지 체크하고 수.. 2021. 9. 7.
(디자인패턴)싱글톤클래스와 Static클래스 싱글톤클래스 - 해당 클래스를 하나의 인스턴스만 가지도록 하는 디자인패턴 Static클래스 - 클래스에 static 키워드를 선언하여 해당 클래스를 정적데이터로 선언한 것 공통점 - 인스턴스를 생성할수 없고 오직 하나의 객체만 가진다. 차이점 - 싱글톤의 경우 static과 다르게 인터페이스와 상속이 가능하다. OOP의 특징인 다형성있게 구현가능 - static에 비해 싱글톤이 성능 상 유리하다. - static은 Method영역에, 싱글톤은 Heap 영역에 저장된다. 사용시 선택법 - 하나의 인스턴스만 필요하지만 초기화나 상속구현이 필요하지 않는 정적객체는 static으로, 그외엔 싱글톤으로 구현하면 될듯하다. 2021. 7. 23.