데브허브 | DEVHUB | 기술을 알려드림 - 개발을 위해 알아야 할 것들기술을 알려드림 - 개발을 위해 알아야 할 것들
- 자료 구조는 프로그램 개발의 기본적인 데이터 저장 구조이며, 배열, 링크드 리스트, 정렬 등이 대표적이다. 📚
- API는 시스템 간의 인터페이스 정의로, 백엔드에서 데이터베이스의 데이터를 주고받는 데 필수적이며, 오픈 API는 외부 사용을 허용하고 보안 및 과금(미터링) 전략을 포함한다. 🔌
- REST API는 HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용하여 자원을 명시적으로 조작하는 설계 원칙을 따르며, 상호 통신을 원활하게 한다. 🌐
- 함수, 클래스, 라이브러리, SDK, 모듈, 객체, 인스턴스, 컴포넌트는 소프트웨어 개발의 기본 구성 요소이며, 프레임워크는 개발 편의성을 제공한다. 🏗️
- 동기 통신은 응답을 기다리는 방식이고, 비동기 통신은 호출 후 다음 작업을 진행하며 콜백으로 응답을 처리하는 방식으로, AJAX가 대표적인 비동기 웹 통신 기술이다. ⚡
- XML과 JSON은 데이터를 담는 형식(데이터 포맷)이며, JSON이 효율성 때문에 현재 더 널리 사용된다. 📄
- 폴링은 주기적으로 상태를 확인하는 방식이고, 이벤트 방식은 특정 상황 발생 시 알림을 받는 방식으로, 이벤트 드리븐 아키텍처의 기반이 된다. 🔔
- 소프트웨어 공학은 개인 개발을 넘어 팀 단위의 체계적인 협업 개발을 위한 고민이며, 개발 방법론(폭포수, 애자일)을 통해 프로젝트를 관리한다. 🤝
- 폭포수 모델은 순차적이고 요구사항 변경이 어려운 반면, 애자일은 반복적이고 시장 및 사용자 요구 변화에 유연하게 대응한다. 🔄
- DevOps는 개발(Development)과 운영(Operations)을 통합하여 조직 간의 협업을 강화하고 소프트웨어 배포 및 관리를 효율화한다. 🧑💻
- CI/CD는 개발된 코드를 자동으로 빌드, 테스트, 배포하는 파이프라인을 구축하여 잦은 배포를 자동화하고 효율성을 높인다. 🚀
- 소프트웨어 아키텍처는 시스템의 구성 방식을 설계하는 것으로, 효율적인 운영과 문제 방지를 위해 시스템의 속성을 이해하고 반영해야 하며, MSA(마이크로서비스 아키텍처)는 대규모 서비스에 유용하지만 모든 경우에 최적은 아니다. 🏛️