ESP-IDF
ESP-IDF 개요 **-IDF**(Espress IoT Development Framework) 에스프레스иф(Espressif Systems에서 제공하는 공식 임베디드 소프트웨어 개발 프임워크로, ESP32, ESP32-S, ESP32-C, ESP32-H 및 ...
ESP-IDF 개요 **-IDF**(Espress IoT Development Framework) 에스프레스иф(Espressif Systems에서 제공하는 공식 임베디드 소프트웨어 개발 프임워크로, ESP32, ESP32-S, ESP32-C, ESP32-H 및 ...
# 수직 확장 ## 개요 **수직 확장**(Vertical Scaling), 또는 **스케 업**(Scale Up) 시스템의 성능 향상시키기 위해 기존의 하드웨어 자원을 더 강력한 자원으로 교체 증설하는 방식 아키텍처 설계 전략이다. 이는버의 CPU, 메모리(RAM...
# 사용자 중심 설계 ## 개요 **사용자 중심 설계**(-Centered Design, 이하CD)는 제품 시스템을 설할 때 최종 사용자의 니즈, 제약, 능력, 맥락을 최우선으로 고려하는 설계 철학이자 프로세스입니다. 이법은 기술 중심 또는 기능 중심 설계와 대조되...
# 다형성 다형성(Polymorphism)은지향 프로그래밍(Objectriented Programming,OP)의 핵심 개념 중 하나로, "여러 형태를 가질 수 있는 능력"을 의미합니다 이는 동일한터페이스나 메서드를 통해 서로 다른 클래스의 객체가 각자의 방식 동작할...
# 코드 자동 완성 ## 개요 **코드 자 완성**(Code Autocompletion은 소프트어 개발 환경 개발자가 코드를 입력하는 과정에서 미리 예 가능한 코드 조각을 제하거나 자동으로 완성해주는 기을 말한다. 이 기능 통합 개발경(IDE)이나 코드 편집기에서 ...
# RPS ## 개요**RPS**(Requests Per Second는 시스템 성능을 측정 핵심 지표 중 하나로, **초당 처리 가능한 요청 수**(초당 요청 수) 의미합니다. 특히 웹버, API 서비스, 마이크로서비스 아키텍처 등과 같은 소프트웨어 시스템의 성능 평...
# 빌드 시스템 ## 개요 **빌드 시스템**(Build System)은 소 코드를 컴파일, 링크, 패키징, 테스트 등의 과정을 거쳐 실행 가능한 소프트웨어로 변환하는 일련의 자동화된 도구와 프로세스를 의미합니다. 소프트웨어 개발 과정에서 반복적이고 수작업이 필요한...
# Bitbucket Bitbucket은 소프트웨어 개발이 소스 코드를 저장, 관리, 협업할 수 있도록 돕는 **클라우드 기반 협업 플랫폼**입니다. Atlassian이발 및 운영하는 이 서비스 주로 Git과curial 버전 관리 시스템을 지원하며, 특히 **Git ...
# maven-compiler-plugin `maven-compiler-plugin`은 Apache Maven 프로젝트에서 자바 소스 코드를 컴파일하는 데 사용되는 핵심 플러그인입니다. 이 플러그인은 프로젝트의 소스 코드를 지정된 자바 버전에 맞게 바이트코드로 변환하...
# maven-compiler-plugin ## 개요 `mavencompiler-plugin`은 Apache Maven 기 자바 프로트에서 **소스 코드를 컴파일**하는 데 사용되는 핵심적인 빌드 플러그인입니다. 이 플러그인은 Maven의 기본 라이프사이클 중 `c...
# 디브옵스 디브옵스(DevOps)는 소프트웨어 개발(Development)과 IT 운영(O)을 통합하여 소프트웨어의 출시 속도, 품질, 안정성을 향상시키기 위한 **개발 방법론 및 문화적 접근 방식**입니다. 전통적으로 개발팀과 운영팀은 별도의 조직으로 존재하며, ...
# CI/CD 파이라인 ## 개요 /CD 파이프라인은지속적 통합**(Continuous Integration CI)과 **지속적포/전달**(Continuous Deployment/Delivery, CD)을 자동화하여 소프트웨어 개발로세스의율성과 품질을 향상시키는 핵...
# gradle build Gradle은 현대 소프트웨어발에서 널리 사용되는 오픈소스 빌드 자동화 도구로, 특히 Java, Kotlin, Android 애플리케이션 개발에 많이 활용됩니다. `gradle build` 명령어는 Gradle 프로젝트에서 코드를 컴파일하고...
# npm ## 개요 **npm**(Node Package Manager)은 JavaScript 및 Node.js 생태계 사용되는 **표준 패키지 관리자**로, 소프트웨어 개발자들이 코드 공유하고, 재사용하며, 프로젝트의 의존성을율적으로 관리 수 있도록 도와주는 도...
# 정적 분석 도구 ## 개요 정적 분석 도구(Static Analysis Tool)는스 코드를 실행하지 않고도 소프트웨어의 구조, 문법, 스타일, 보안 취약점, 버그 가능성을 분석하는 소프트웨어 개발 도구입니다. 이러한 도구는 프로그램의 정적 구조를 기반으로 오류...
# CLI **CLI**(Command-Line Interface, 명령줄 인터페이스)는 사용 컴퓨터 시스템과 상호작용하기 위해 텍스트 기반 명령을 입력하는 소프트웨어 인터페이스입니다. 그래픽 사용자 인터페이스)와 달리, CLI는 마우스 클릭 없이 키보드를 통해 명령...
# 성능 ##요 소프트웨어 개에서 **성능**(Performance)은 시스템이나 애플리케이션이어진 작업을 얼마나 효율적으로 처리하는지를내는 핵심 지표입니다. 성능 사용자 경험, 시스템 안성, 자원률 등에 직접적인 영향을 미치며, 특히 규모가 크거나 실 처리가 요구...
# 트랜스파일러 ## 개요 **트랜스파일러**(Transpiler)는 소스 코드를 한 프로그래밍 언어에서 다른 프로그래밍 언어로 변환하는 도구를 의미합니다. 일반적인 컴파일러가 고수준 언어를 저수준 언어(예: 기계어)로 변환하는 것과 달리, 트랜스파일러는 고수급 언...
Agda Agda는 함수형 프로그래밍 언어이자 **정형 증명기**(proof assistant)로, 수학적 정리의 형식적 증명과 소프트웨어의 정확성 검증을 위해 설계된 고급 언어입니다. Agda는 **의존 타입**(dependent types)을 지원하여, 프로그램의...
# Maven ## 개요 **Maven**(메이븐은 자바 기반 소프트웨어 프로젝트의 **빌 자동화**, **의존성 관리**, **프로젝트 정보 관리**를 강력한 오픈소스 도구입니다. 아파치 소프트웨어 재단에서 관리하며, Ant와 같은 기존 빌드 도구의 복잡성을 해결...