개요SPA는 CloudFront와 S3를 이용해서 프론트엔드를 구성할 때 처음 접해본 용어이다. 개념이 확립되지 않아서 정리해보고자 한다. SPA란?SPA(Single-Page application) 이란 단일 페이지 애플리케이션을 의미하고 단일 웹 문서(HTML, CSS, JavaScript)만 로드한 다음 다른 콘텐츠의 경우 XMLHttpRequest 및 Fetch와 같은 JavaScript API를 통해 해당 단일 문서의 본문 콘텐츠를 업데이트하는 웹 앱 구현체이다.결국 필요한 데이터만 비동기로 가져와 웹 브라우저가 동적으로 현재 화면에 다시 렌더링하는 방식을 의미한다. 사용자가 변경사항을 받아올 때 전체 HTML을 받아오는 방식이 아니라 화면 렌더링을 로컬 PC에서 즉시 생성해 더 빠르게 화면 전..
CS 지식
개요Keep alive는 ELB 또는 ALB 등 네트워크 통신에서 많이 봤던 키워드이다. 정리해보고자 한다. 선행 지식먼저 Keep alive를 이해하기 위해서 HTTP의 통신에 대한 특성을 알아볼 필요가 있다.기본적으로 HTTP는 TCP Connection을 유지하지 않는다. 무슨 의미냐면 Connection을 Handshake를 통해 맺고 일정 시간이 지나면 Connection이 끊기기 때문에 여러 파일을 송/수신할 때 등의 상황에서 Connection을 끊고 다시 맺어야할 수도 있다는 의미이다.간략히 Keep alive가 있고 없고의 차이는 아래 그림과 같을 것이다. 그래서 왜 사용하는가?우리가 Connection을 유지하지 않고 통신을 하고자 한다면 과정이 매우 길어질 것이고, 자원도 소모될 것이..
정의 경량 디렉터리 액세스 프로토콜(영어: Lightweight Directory Access Protocol; LDAP)은 TCP/IP 위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜이다. 디렉터리는 논리, 계급 방식 속에서 조직화된, 비슷한 특성을 가진 객체들의 모임이다. 가장 일반적인 예로는 전화 번호부(telephone directory)가 있는데 가나다 순의 일련의 이름을 가지고 있고, 이름마다 전화 번호와 주소가 포함되어 있다. 이러한 기본 설계 때문에 LDAP는 인증을 위한 다른 서비스에 의해 자주 사용된다. LDAP 디렉터리 트리는 선택된 모델에 따라 다양한 정치적, 지질학적, 조직적 경계를 반영하기도 한다. 오늘날 LDAP의 배치는 최상위 수준의 계급을 구조화하기 위해 도메인 이..
오늘은 교착 상태에 대해 알아 보도록 한다. 자원을 사용할 때 서로가 서로를 물고 놓아주지 않아서 hang up 상태가 되거나 서버가 정상적인 동작을 하지 않는 것이라고 대충은 알고 있었으나 정확히는 몰라 알아보도록 한다. 정의 교착 상태는 동일한 리소스를 공유하는 프로세스들이 서로의 리소스에 액세스하는 것이 차단되는 것을 이야기 한다. 보통 프로세스나 스레드의 경우 특정 작업을 완료하게 되면 프로세스나 스레드가 보유하고 있던 리소스를 해제한다. 그리고 다른 리소스를 할당하게 되는데 둘 이상의 프로세스가 리소스를 보유하고 있고, 리소스를 해제하고 재할당하는 과정에서 각각 서로의 리소스를 갖고자 할 때 서로 리소스가 해제되는 것을 기다리기 때문에 영원히 차단되는 것이다. 더욱 구체적으로 이야기 하면 교착 ..
KPI KPI(Key Performance Indicator)란 '핵심 성과지표' 또는 '주요 성과 지표 ' 이다. 기업이 비즈니스 목표를 얼마나 잘 달성하고 있는지 판단하기 위해 사용하는 척도를 의미한다. 기업이 KPI를 설정하는 이유는 목표를 달성하기 위한 전략을 수립하고, 프로세스 내의 현재 목표와 목표치를 비교해 성과를 평가하기 위함이다. KPI 4단계 가이드라인 1. 비즈니스 목표 정의하기 비즈니스 목표와 KPI를 설정하는 의도를 구체화하는 것에서부터 시작한다. 전체 조직 및 팀별로 달성하려는 목표를 파악해야 함 2. 주요 비즈니스 지표 정하기 비즈니스 목표를 정의했다면, 해당 목표와 관련이 있는 또는 직접적으로 영향을 미치는 비즈니스 지표는 무엇인지 연결 지어야 함. 업계나 부서 등에 따라 사..
정의 GitOps는 버전 관리, 협업, 규정 준수, CI/CD 등 애플리케이션 개발에 사용되는 DevOps 모범 사례를 인프라 자동화에 적용하는 운영 프레임워크 왜 사용하는가? 소프트웨어 개발 라이프사이클의 대부분은 자동화 되었지만 인프라는 여전히 전문 팀이 필요한 수동 프로세스로 남아있다. 오늘날 인프라 자동화를 구현하는 것이 점점 더 중요해지고 있으며, 최신 인프라는 지속적인 배포에 필요한 클라우드 리소스를 효과적으로 관리할 수 있도록 탄력적이여야 한다. 데브옵스 팀은 GitOps를 이용해 클라우드 네이티브 애플리케이션의 속도와 확장성을 염두에 두고 개발을 진행한다. GitOps는 인프라, 특히 최신 클라우드 인프라를 프로비저닝하는 프로세스를 자동화하는 데 사용된다. 팀이 애플리케이션 소스 코드를 사..
정의 부트스트랩(Bootstrap)은 웹사이트를 쉽게 만들 수 있게 도와주는 CSS, JS 프레임워크이다. 하나의 코드로 휴대폰, 태블릿, 데스크탑까지 다양한 기기에서 작동하게 만들 수 있으며, 다양한 기능을 제공하여 사용자가 쉽게 웹사이트를 제작, 유지, 보수할 수 있도록 도와준다. 부트 스트랩이란 각종 레이아웃, 버튼, 입력창 등의 디자인을 HTML, CSS, Javascript로 구성해 놓은 프레임워크라 생각하면 된다. 부트스트랩은 주로 반응형 웹 개발을 위해 사용하고 반응형 웹 개발에 대한 기본 사항이 포함되어 있어 개발자는 미리 정의된 그리드 시스템에 코드를 삽입하기만 하면 된다. 부트스트랩을 사용하는 웹 개발자는 기본 명령과 기능에 대해 걱정할 필요 없이 훨씬 빠르게 웹사이트를 구축할 수 있다..
정의 사일로는 원래 곡식 및 사료를 저장해 두는 굴뚝 모양의 창고를 가리키는 말인데, 성과주의의 심화로 부서 간 경쟁이 지나치게 과열되면서 발생하는 현상으로 기업 등 조직을 이루는 부서들이 조직의 공동 목표와 이익보다는 자기 부서의 이익만을 추구하여 다른 부서와의 정보 공유 및 소통/협력을 외면하는 현상을 가리킨다. 위와 같은 의미로 사용되기도 하며, 고의 또는 실수로 분리되어 보관되는 시스템 내 고립된 지점을 말하기도 한다. 왜 사일로는 발생하는가? 서로 다른 시스템에서 생성, 수집한 데이터가 각 부서나 업무에서만 사용되고, 다른 곳에서는 제대로 활용되지 못하는 상황에 의해 발생함 사일로는 대표적으로 고객의 정보를 저장하는 RDB를 예로 들 수 있다. 내부 보안 정책으로 인해 이 정보를 조직의 마케팅 ..
정의 DNS를 플러시하면 캐시에서 IP 주소나 기타 DNS 레코드가 모두 지워집니다. 이렇게 하면 보안, 인터넷 연결 및 기타 문제를 해결하는 데 도움이 될 수 있습니다. 웹을 이용할 때 DNS 캐싱을 무조건 사용하게 된다. 캐싱은 다음 번에 해당 웹사이트에 접속을 할 때 해당 웹사이트에 대한 정보를 미리 저장해 다음 번 접속 때 빠르고 접속하게 하는 용도로 사용하는데, 이러한 캐싱이 많이 쌓이게되면 오히려 인터넷 접속 속도가 느려지거나, 캐싱에 저장되어 있는 정보가 원 데이터 웹사이트 정보와 상이할 경우 제대로 된 접속이 되지 않을 경우가 발생한다. 이를 방지하기 위해서 주기적으로 DNS에 저장되어 있는 정보를 초기화 해주는 것을 DNS 플러시라고 한다. 플러시는 변기에서 물을 내릴 때 사용하는 용어로..