본문 바로가기
반응형

용어 사전103

FPGA(Field Programmable Gate Array)란? FPGA(Field Programmable Gate Array)란? FPGA는 Field Programmable Gate Array의 약어로, 설계 가능한 논리 소자와 프로그래밍이 가능한 내부 회로로 구성된 반도체 소자입니다. FPGA는 일반 반도체와는 달리 회로 변경이 가능하며 다양한 용도에 맞게 회로를 다시 프로그래밍하여 사용할 수 있습니다. FPGA는 수많은 논리 게이트와 플립플롭, 블록 램(블록 랜덤 액세스 메모리) 등으로 구성되어 있습니다. 이러한 구성 요소들은 FPGA 내부에서 상호 연결되고 사용자는 FPGA의 리소스를 프로그래밍하여 원하는 논리 회로를 구현할 수 있으며 주로 HDL(Hardware Description Language)이라는 특수한 프로그래밍 언어를 사용하여 프로그래밍됩니다... 2023. 7. 14.
IaC(Infrastructure as Code)란? IaC(Infrastructure as Code)란? IaC(Infrastructure as Code)는 코드를 사용하여 인프라의 생성, 변경, 삭제, 모니터링 등을 자동화할 수 있는 기술로 서버나 네트워크와 같은 컴퓨터 시스템을 자동으로 설정하기 위해 소스 코드나 설정 파일을 사용하여 설명하고 관리하는 것을 말합니다. 기존에는 서버를 구축하기 위해서는 정해진 절차를 따라야 했는데, 이는 전문적인 지식이 필요하고 대량의 서버를 구축하는 데 많은 시간이 걸렸습니다. 하지만 IaC를 사용하면 이 작업을 프로그램으로 자동화하여 누구나 실수 없이 서버를 구축할 수 있게 됩니다. 쉽게 말해 IaC는 집을 만드는 과정에 비유할 수 있습니다. 집을 만들기 위해서는 먼저 설계도를 작성하고 그에 따라 집을 만드는데 마찬.. 2023. 7. 13.
RFP(Request for Proposal)란? [목차] RFP(Request for Proposal)란? RFP는 Request for Proposal의 약어로 제안 요청서라고도 불리며, 프로젝트를 수행할 업체를 선택하기 전에 요구사항을 정리하여 후보 업체들에게 제출하는 문서입니다. RFP는 프로젝트에 대한 자세한 내용을 담고 있으며, 주제, 목적, 목표, 운영 방안, 기대 효과 등이 포함됩니다. RFP는 프로젝트의 성공에 매우 중요한 역할을 하는 문서로, RFP를 작성하거나 읽을 때는 정확하고 철저한 확인과 질문 그리고 원활한 소통이 필요합니다. 또한 프로젝트나 구매 과정에서 효과적인 공정성과 투명성을 유지하기 위해서도 중요하기 때문에, 명확하고 구체적인 요구사항을 포함한 제안서를 작성하고 제출할 수 있도록 지침을 정확히 제공해야만 제안자들이 프로.. 2023. 7. 13.

CI/CD(Continuous Integration/Continuous Delivery)란? CI/CD(Continuous Integration/Continuous Delivery) CI(Continuous Integration)와 CD(Continuous Delivery)는 애플리케이션 개발 단계를 자동화하여 더 짧은 주기로 클라이언트에게 제공하는 방법으로, 두 가지 개념은 팀의 개발 및 배포 프로세스를 자동화하고 품질을 유지하며 효율성을 향상시키는 데 도움을 줍니다. 그러면 각각에 대해 자세히 알아보겠습니다. CI(Continuous Integration)란? CI는 개발자들이 코드 변경 사항을 정기적으로 공유 리포지토리에 병합하고, 이를 자동으로 빌드 및 테스트하여 코드 품질을 지속적으로 유지하는 프로세스입니다. 여러 개발자들이 동시에 작업을 하고 각자의 변경사항을 공유 리포지토리에 통합할.. 2023. 7. 11.
클린 아키텍처(Clean Architecture)란? 클린 아키텍처(Clean Architecture)란? 클린 아키텍처는 로버트 마틴(Robert C. Martin)이 저술한 책인 "클린 코드(Clean Code)"에서 제안한 시스템 아키텍처로, 기존의 계층형 아키텍처에서 벗어나고 의존성을 최소화하는 설계를 말합니다. 클린 아키텍처의 핵심 아이디어는 소프트웨어 시스템을 다양한 레이어와 컴포넌트로 구성하고, 각 컴포넌트 사이의 의존성을 역전시켜 유연하고 유지보수 가능한 시스템을 만드는 것입니다. 이를 위해 클린 아키텍처는 다음과 같은 주요 개념을 제시합니다. 의존성 역전 원칙(Dependency Inversion Principle) 클린 아키텍처에서는 고수준 모듈이 저수준 모듈에 의존하는 대신, 추상화에 의존해야 한다는 원칙을 강조합니다. 이는 인터페이스나.. 2023. 7. 10.
DDD(Domain-Driven Design)란? DDD(Domain-Driven Design)란? 도메인 주도 설계(Domain-Driven Design, DDD)란 소프트웨어를 특정 도메인과 일치하도록 모델링하는 것으로, DDD는 비즈니스 도메인의 개념과 용어를 소프트웨어 코드의 구조와 언어로 표현하여 개발 과정에서 도메인 전문가와 개발자 사이의 의사 소통을 원활하게 하고, 도메인 지식을 더 잘 반영할 수 있도록 합니다. DDD의 한 가지 중요한 특징은 소프트웨어 코드의 구조와 언어가 비즈니스 도메인의 용어와 일치한다는 점입니다. 예를 들어, 대출 응용 프로그램을 개발한다고 가정해보면, 소프트웨어 코드에는 "LoanApplication"과 "Customer"와 같은 클래스, "AcceptOffer"와 "Withdraw"와 같은 메소드가 있을 수 있습.. 2023. 7. 9.

UML(Unified Modeling Language)이란? UML(Unified Modeling Language)이란? UML은 Unified Modeling Language의 줄임말로, 소프트웨어 시스템의 분석, 설계 및 문서화를 위한 표준화된 그림 언어입니다. UML 언어를 사용하면 우리는 소프트웨어 시스템을 이해하고 그림으로 표현할 수 있습니다. UML은 소프트웨어 개발 과정에서 시스템 구조, 동작 및 상호작용을 시각적으로 모델링하고 문서화하는데 사용되는데, 주로 객체지향 방법론에서 널리 사용되며, 다양한 다이어그램 유형을 제공하여 시스템을 다양한 관점에서 표현할 수 있습니다. 쉽게 말해 UML은 그림으로 이야기하는 언어라고 생각하시면 됩니다. UML은 1990년대에 Grady Booch, Ivar Jacobson 및 James Rumbaugh라는 세 명의.. 2023. 7. 8.
반응형