X

소프트웨어공학

데이터 교환 형식 (XML, JSON, YAML, CSV)

데이터 교환 형식의 필요성 서로 다른 환경의 시스템들이 데이터를 온전히 주고받으려면, 메모리 속 객체를 전송 가능한 형태로 변환하는 직렬화(Serialization)와 이를…

콜백 함수 (Callback function)

1. 효율적 비동기 처리, 콜백 함수 (Callback function) 개요 개념 코드 재사용, 비동기 처리를 위해 특정 작업이 완료된 후 실행되도록…

객체지향 모델의 상속 (Inheritance)

1. 코드 재사용성 구현, 객체지향 모델의 상속의 개념 및 목적 (1) 상속 (Inheritance)의 개념 개념도 개념 부모 클래스의 특성을 물려받아…

객체지향 모델의 다형성 (Polymorphism)

1. 코드 유연성 극대화, 객체지향 모델의 다형성의 개념/특징 (1) 다형성 (Polymorphism)의 개념 개념도 개념 같은 메시지(메서드 호출)에 대해 객체의 타입에…

객체지향 모델의 추상화 (Abstraction)

1. 핵심 개념 모델링, 객체지향 모델의 추상화의 개념 및 목적 (1) 추상화 (Abstraction)의 개념 개념도 개념 복잡한 시스템의 핵심 기능을…

객체지향 모델의 캡슐화 (Encapsulation)

1. 객체 정보 은닉, 객체지향 모델의 캡슐화의 개념 및 목적 (1) 캡슐화 (Encapsulation)의 개념 개념도 개념 관련 있는 데이터(속성)와 기능(메서드)을…

CI (Continuous Integration), CD (Continuous Delivery)

1. 기존 개발 환경의 문제점과 CI/CD 도입 필요성 전통적인 개발 환경의 코드 통합과 배포 문제들을 해결하기 위해 작게, 자주, 자동화…

소프트웨어 무중단 배포 전략

1. 소프트웨어 무중단 배포의 개념 및 필요성 Software Zero Downtime Deployment Strategies 개념 실행 중인 소프트웨어의 변경 사항 적용을 위해…

소프트웨어 기술 부채 (Technical Debt)

1. 소프트웨어 기술 부채 (Technical Debt)의 개요 (1) 기술 부채의 개념 및 특징 개념 특징 현 시점에서 장기적으로 더 나은…

바이브 코딩 (Vibe Coding)

1. 바이브 코딩의 개요 (1) 바이브 코딩이 소프트웨어 개발에 미치는 영향 (2) 바이브 코딩의 개념 원하는 기능을 자연어로 입력하여 생성형…