글

[용어 정리] API Gateway

이미지
[용어 정리] API Gateway 마이크로 소프트 아키텍처 의 이어지는 포스트 우리가 많이 사용하는 검색 포털 사이트의 메인 화면 사용자 서비스 뉴스 서비스 실시간 급상승 검색어 서비스 광고 서비스 날씨 서비스 사용자는 메인 페이지를 보기 위해서 하나의 URL을 통해 서버에 요청을 보내지만 실제 사용자가 보게 도는 화면에는 다양한 종류의 서비스 결과가 있다. 만약 모놀리틱 아키텍처 를 이용해서 이와 같은 요청을 처리하는 애플리케이션을 구현한다면 실제 요청이 도착하여 결과를 반환하기까지 서버는 다양한 종류의 쿼리를 DB에 보내게 됨 이러한 방식은 애플리케이션 아키텍처 간단하다는 장점이 있지만 특정 서비스에 변경이 있을 경우 이 서비스를 포함하고 있는 모든 코드를 찾아서 수정해줘야 해야함... 귀찮.. 만약 마이크로 소프트 아키텍처 로 진행하면 요청에서 필요한 각 영역을 담당하여 처리함 이론적으로 가능할지 몰라도 이를 실제로 구현하다 보면 몇가지 어려움이 있음 클라이언트가 모든 마크로 서비스의 호스트명은 물론 end_point를 알고 있어여 함 즉, 마이크로 서비스가 추가되거나 호스트정보가 변경되면 클라이언트가 가지고 있는 정보 역시 함께 수정해줘야 함   모든 마이크로 서비스의 주소를 저장해 두어야 하며, 요청을 보낼 때마다 해당 요청이 어떤 서비스에 보내는 것인지를 명시해 주어야 하기 때문에 소스 코드가 복잡해짐   모든 마이크로 서비스가 웹 통신에 적합한 프로토콜로 통신하지 않음 일부 서비스들은 서비스 자체가 가지는 특성에 따라 더 알맞는 프로토콜을 사용함 ex) 알림을 보내주는 서비스는 메시지 큐와 같은 프로토콜을 사용   두 개 이상의 마이크로 서비스가 통합되거나 하나의 마이크로 서비스가 두 개 이상으로 분리되는 경우 여기에 맞추어 코드를 수정하는것이 어려움 API GATE...

[용어 정리] Micro Service Architecture란?

이미지
[용어 정리] Micro Service Architecture란? Monolithic Architecture(모노로틱 아키텍처)  하나의 서버에 모든 비지니스 로직이 들어가 있는 상태 하나의 중앙 집중화된 DB에 모든 데이터가 저장됨 장점  여러개의 기술을 혼용해서 사용하기 어려움(node.js, Ruby, Python etc) 배포 및 재가동 시간이 오래 걸림 수정이 용이하지 않음(타 컴포넌트 의존성) 단점 기술 단일화  관리 용이성 Micro Service Architecture(마이크로 서비스 아키텍처) 하나의 기능을 구현 하는데, 여러개의 서비스를 조합하여 기능을 제공 즉, 하나의 큰 애플리케이션을 여러개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만든 아키텍처 ex) 주문하기 : 사용자 정보 조회, 상품 정보 조회, 신규 주문 생성 시스템을 여러개의 독립된 서비스로 나눠서, 이 서비스를 조합 함으로서 기능을 제공하는 아키텍처 디자인 패턴 SOA의 경량화 버전(실패한다면 실패하는 이유도 같음) SOA(Service Oriented Architecture) : 기존의 애플리케이션의 기능들을 비지니스적인 의미를 가지는 기능 단위로 묶어서 표준화된 호출 인터페이스를 통해 서비스로  구현하고, 이 서비스들을 기업의 업무에 따라 조합하여 애플리케이션을 구성하는 소프트웨어 개발 아키텍처 기술 스택 마이크로 서비스 아키텍처는 서비스 별로 다른  기술 스택을 사용할 수 있음 단점  운영 관점에서 여러가지 기술을 배워야 함(Devops - You build, You run) 서비스 간의 통신에 대한 처리가 추가적으로 필요 사람이 떠나면 보수 불가(Product not a project) 은행권 같은 곳에서 SI프로젝트를 하기에는 힘들수도 있다 친한팀끼리...

[용어 정리] XHTML, XML, SGML이란?

이미지
[용어 정리] XHTML, XML, SGML 이란? HTML SGML의 응용 데이터가 어떻게 보이질지에 초점 동일한 데이터를 표시하고 꾸미는데 사용 XML Extensible Markup Language HTML의 한계를 극복하고 SGML의 복잡함을 해결하는 방안으로 탄생 SGML을 인터넷 기반을 쉽게 사용할 수 있도록 기능을 줄인 업계 표준 마크업 언어를 정의하기 위한 언어, 확장이 가능한 언어 웹에서 디스플레이 표준을 HTML로 한것처럼 데이터의 표준으로 만들기 위한 노력 텍스트 기반이며 간결한 데이터 형 마크업언어(HTML)이 아니라 마크업언어를 정의하기 위한 언어 데이터가 무엇인지에 초점 데이터를 구조화 하는데 사용 XHTML HTML과 동등한 표현 능력을 지닌 마크업 언어로, HTML보다 엄격한 문법을 가짐 Extensible Hypertext Markup Language XML의 응용 HTML을 사용하면 할 수 있으나, XHTML로는 불가능 한것도 있고 XHTML로는 가능하다 HTML로는 불가능 한 것도 있음 ex) <br> <br/>태그 SGML  Standard Generalized Markup Language 마크업 언어를 생성하기 위한 메타 마크업 언어, HTML의 할아버지 격 즉, 다른 마크업 언어를 기술하기 위한 마크업 언어 HTML과 달리 마크업을 사용자가 정의할 수 있음 출처 http://asfirstalways.tistory.com/98 https://m.blog.naver.com/PostView.nhn?blogId=lazenius&logNo=120011305094&proxyReferer=https%3A%2F%2Fwww.google.com%2F https://mommoo.tistory.com/17 https://kylog.tistory.com/40

[용어 정리] DTD란?

이미지
[용어 정리] DTD란? DTD(Documetn Type Definition) 문서 형식 정의 SGML 계열의 마크업 언어에서 문서 형식을 정의하는 것 SGML을 비롯해 HTML, XHTML, XML등에 쓰임 한마디로, 문서형식을 정의해 주는것 주로 DTD를 새로 작성하기보다는 있는거로 가져다가 씀 사람마다 새로 작성하면... 형식 정의에 의미가 없다... DTD를 쓰는 이유? DTD를 이용하면, 서로 다른 그룹의 사람들 간에 정보를 교환할 때, 그 표준 형식에 대해서 합의를 볼 수 있음 DTD를 이용하면, 외부에서 받은 데이터가 검증이 된 것인지를 확인해 볼 수 있음 요약 문서의 가독성 증가 브라우저 별 호환성 증가(크로스 브라우징) 문서 제작의 효율성 증가 +최근에 나온 HTML5는 같은 DTD선언으로 XHTML, HTML 둘 다 사용 가능 출처 :  http://blog.naver.com/PostView.nhn?blogId=blogpyh&logNo=220777413429

[용어 정리] 뷰포트의 기본(meta name="viewport" content="width=device-width, user-scalable=no")

[용어 정리] 뷰포트의 기본 <meta name="viewport" content="width=device-width, user-scalable=no"> 모바일로 최적화된 사이트는 일반적으로 다음과 같은 태그를 포함한다. width  뷰포트 크기를 조절 특정한 숫자를 사용해 width=600 이라고 할 수도 있고 device-width 와 같은 특정한 값 사용 가능 device-width : 100%스케일에서 CSS픽셀들로 계산된 화면의 폭을 의미 (뷰 포트의 높이에 따라 크기와 위치가 변하는 요소들로 이루어진 페이지의 경우 상응하는 height 와 device-height 값들을 유용하게 사용 가능) initial-scale  페이지가 처음 로드될 때 줌 레벨을 조정함 maximum-scale , minimum-scale , 그리고 user-scalable 속성들은 사용자가 얼마나 페이지를 줌-인, 줌-아우트 할 수 있을지 조정함 출처 : https://developer.mozilla.org/ko/docs/Mozilla/Mobile/Viewport_meta_tag

[용어 정리] IE 문서 모드란 meta http-equiv="X-UA-Compatible" content="IE=edge"

이미지
[용어 정리]IE 문서 모드  메타 태그 중 아래의 코드를 알아보자 <meta http-equiv="X-UA-Compatible" content="IE=edge"> content="IE=edge" IE=edge :  IE(Internet Explorer)브라우저에서, 각 버전 중 가장 최신 표준 모드를 선택하는 문서 모드(IE6~IE11) IE : 이전 버전의 브라우저에서 보는 것처럼 내용을 표시 할 수 있음 문서 유형 (document type)선언과 함께 사용해야 함 <!DOCTYPE html> : 최신의 웹 표준을 지원하는 HTML5 DOCTYPE 사용 추천 E11에서는, 문서 모드가 곧 퇴화될 것이며 앞으로 사용하지 말아야할 것으로 규정 현재는  egde모드를 추천함 출처 : http://aboooks.tistory.com/357 

[부트스트랩] 부트스트랩이란?

[부트스트랩] 부트스트랩이란? 부트스트랩 부트스트랩은 웹 디자인을 편리하게 하기 위해서 나온 프레임 워크 부트스트랩을 활용하면 웹 디자인에 쏟아야 하는 노력을 절반 이상으로 줄임 특히 반응형 웹에 효과적 부트스트랩 설치 부트스트랩 설치는 부트스트랩 사이트에서 다운로드 받은 후 크게 3가지 방법으로 사용 웹서버에 올려서 사용하는 방법 (가장 많이 이용) CDN(Contents Delivery Network)을 이용하는 방법 (CDN상황에 종속되어 가끔 느려짐) Bower이라는 패키지를 이용하는 방법( bower 라는 별도의 패키지 필요) 출처 : http://devstory.ibksplatform.com/2017/08/blog-post_21.html