🏠 온프레미스 (On-premise) 온프레미스는 기업의 서버를 클라우드와 같이 ‘가상의 공간’이 아니라, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식입니다. 클라우드 이전에 가장 일반적으로 사용되던 시스템으로 직접 인프라를 구축하는 방식을 뜻합니다. 클라우드와 정반대로 온프레미스는 필요한 시스템을 구축하기 위해 하드웨어와 소프트웨어를 각각 구입하고 특정 공간에 직접 인프라 환경을 구성합니다. ☁️ 클라우드 (Cloud) 기업에서 필요한 IT 시스템이 고도화됨에 따라 기업 자체적으로 서버, 네트워크, 스토리지 장비와 같은 수많은 인프라를 관리하는 것은 부담스럽고, 비용은 지속적으로 증가하여 비효율적인 업무 프로세스로 이어집니다. 이에 따라 클라우드 컴퓨팅과 같은 새로운 방식의 서비스가 ..
블록 다이어그램이란? 수치 혹은 물리적인 자료와 그 흐름을 보다 명료하게 이해하기 위해 매 과정을 체계적으로 구역을 나눈 후, 이를 그림(블록, 선, 화살표)으로 나타냅니다. 크게 공학 및 전산 부분에서 쓰이는 블록 다이어그램과 지구과학/지질 분야에서 쓰이는 블록 다이어그램으로 나뉩니다. 블록 다이어그램 구성 요소는 일반적으로 순서도의 구성 요소를 기반으로 활용합니다. 활용 분야에 따라 순서도의 도형을 조합하여 구성 요소를 만들어서 활용하면 됩니다. 아래는 제어공학에서 블록 다이어그램을 작성하는데 필요한 구성요소의 예시입니다. 제어 공학에서는 전달 요소, 전달 함수, 화살표, 가산점 및 인출점을 활용하여 블록 다이어그램을 작성합니다. 참고: 순서도, 블록다이어그램, ER다이어그램의 차이점, 뭐가 다를까?..
클라우드 서비스의 종류 Infrastructure as a Service(IaaS, 아이아스, 이에스)서비스로 제공되는 인프라스트럭처입니다. 개발사에 제공되는 물리적 자원을 가상화합니다. Platform as a Service(PaaS, 파스)서비스로 제공되는 플랫폼입니다. 개발사에 제공되는 플랫폼을 가상화합니다. Software as a Service(SaaS, 사스)서비스로 제공되는 소프트웨어입니다. 고객에게 제공되는 소프트웨어를 가상화합니다. 클라우드 구분 1. IaaS : 서비스로 제공하는 인프라스트럭처 클라우드 인프라스트럭처 서비스는 확장성이 높고 자동화된 컴퓨팅 리소스를 가상화하여 제공하는 것입니다. 2. PaaS : 서비스로 제공하는 플랫폼 클라우드 플랫폼 서비스는 주로 응용 프로그램을 개발..
코드 리뷰를 할 때 보아야 할 것 1) 설계 사내 애플리케이션 설계 원칙과 일반적인 프로그래밍 설계 지침에 맞춰서 코드가 작성되어 있는지 확인합니다. 2) 비즈니스 로직을 몰라도 리뷰를 할 수 있는 사항들 유지보수성 중요한 값을 하드 코딩을 하고 있지는 않은가요? 주석이 코드가 하는 일이 아닌, 코드에 담긴 의도를 설명하고 있나요? 코드를 쉽게 이해할 수 있나요? 설정이 용이한가요? 코드의 특정 부분을 설정 파일(.env)파일을 사용해서 설정을 변경하게 만들 수 있는지 확인합니다. 스타일 가이드에 맞게 작성되어 있나요? 하나의 함수가 10 라인을 넘어간다면 너무 많은 관심사를 갖고 있는 건 아닌지 유심히 봐주세요. 재사용성 중복된 코드는 없나요? 두 번 이상 반복해서 등장하는 코드는 함수나 클래스로 분리..
1. 메세지 구조 1) 기본 형식 [type] (optional scope): [subject] (optional #issueNumber) [optional body] [optional footer] 2) 타입 (type) 종류 구분자 작업 유형 예 비고 feat 새 기능 구현 feat: 예치금 대량 충전 검색 기능 추가 (PP-2345) fix 버그 수정 fix: 상점 목록의 에러처리 예외케이스 대응 (PP-2356) release 버전 변경 release: v10.0.0 → v10.1.1 docs 문서(또는 주석) 관련 작업 docs: 데코레이터 옵션에 대한 문서 추가 (PP-2345) refactor 리팩터링 refactor: createStore의 함수를 작은 함수로 분리 (PP-2345) tes..
자바스크립트는 함수형 패러다임을 기반으로 하면서 객체지향의 문법을 쓰는 독특한 언어 프로그램은 곧 데이터의 변화이며 다시 써보자면 프로그램은 액션에 의해 변하는 데이터입니다. 데이터가 변하는 방법은 따로 계산으로 독립적으로 만들어두어 액션과 계산과 데이터를 함수를 통해 연결하여 작성하는 개념이 바로 함수형 프로그래밍 패러다임 인 것입니다 명령형 프로그래밍: 무엇(What)을 할 것인지 나타내기보다 어떻게(How) 할 건지를 설명하는 방식 절차지향 프로그래밍: 수행되어야 할 순차적인 처리 과정을 포함하는 방식 (C, C++) 객체지향 프로그래밍: 객체들의 집합으로 프로그램의 상호작용을 표현 (C++, Java, C#) 선언형 프로그래밍: 어떻게 할건지(How)를 나타내기보다 무엇(What)을 할 건지를 설..
세션 기반의 인증과, 토큰 기반의 인증 방법 1. 인증, 인가 란? 웹 서비스를 개발하다보면 사용자 인증과 권한 처리 로직에 대한 고민을 하게됩니다. 사용자 인증(Authentication)은 사용자가 자신이 주장하는 신원을 증명하는 과정이며, 권한 처리(Authorization)는 인증된 사용자에 대해 허용된 작업 및 기능에 대한 권한을 부여하는 과정으로 인가 라고도 표현합니다. 인증은 식별 가능한 정보를 이용하여 서비스에 등록된 유저인지를 파악하기 위한 과정으로 일반적으로 사용자 이름과 비밀번호를 입력하여 이루어집니다. 인증 후에는 권한 부여가 이루어져야 합니다. 인증된 사용자가 접근하려는 자원에 대한 권한이 있는지 확인하는 과정으로 권한은 일반적으로 역할(Role)이나 권한(Permission)의 ..