클라우드 컴퓨팅 (Cloud Computing) 인터넷을 통해 컴퓨터 시스템 및 리소스를 제공하고 사용하는 모델 사용자가 필요한 만큼의 컴퓨팅 파워, 스토리지, 데이터베이스 등을 온디맨드로 이용할 수 있게 해주는 기술 클라우드 플랫폼 (Cloud Platform) 클라우드 서비스를 제공하는 기업이나 조직이 클라우드 리소스를 제어하고 관리할 수 있는 플랫폼 주요 특징 인프라스트럭처 서비스 (Infrastructure as a Service, IaaS) : 가상 머신, 스토리지, 네트워킹 등의 기본적인 컴퓨팅 리소스 제공 플랫폼 서비스 (Platform as a Service, PaaS) : 애플리케이션 개발 및 배포를 위한 플랫폼 제공 소프트웨어 서비스 (Software as a Service, SaaS)..
분산 시스템 (Distributed System) 여러 대의 컴퓨터들이 네트워크를 통해 상호 연결되어 동작하는 컴퓨터 시스템 데이터 처리, 자원 공유, 계산 등을 효율적으로 수행 확장성과 신뢰성 향상 데이터 일관성, 분산 트랜잭션, 장애 대응 등을 효과적으로 다루기 위해 적절한 아키텍처, 도구, 기술을 선택하여 구현하는 것이 중요 데이터 일관성 (Data Consistency) 분산 시스템에서 여러 노드 간의 데이터가 항상 일관된 상태를 유지하는 것 다수의 노드에서 동시에 데이터를 수정하거나 읽을 때 일관성 유지 어려움 [해결방법] 일관성 수준 선택 강 일관성 (Strong Cosistency) : 모든 노드에서 일관된 데이터 제공 약 일관성 (Eventual Cosistency) : 시간이 지난 후에는..
마이크로 서비스 (Microservices) 소프트웨어를 작고 독립적인 단위로 나누어 개발, 배포, 운영하는 아키텍처 패턴 전통적인 모놀리식 (monolithic) 아키텍처 대신 여러 개의 작은 서비스로 애플리케이션을 구성 복잡성을 관리하기 위해 적절한 도구와 패턴을 사용하는 것이 중요 유연성, 확장성, 유지보수성을 향상시키는 데 중점 서비스 분리 (Service Seperation) 작은 서비스 단위 각 마이크로 서비스는 특정 업무 기능을 수행하는 작은 단위로 분리 예 : 주문 처리, 사용자 관리, 결제 등 독립적 배포 각 서비스는 독립적으로 배포 가능 다른 서비스와 독립적인 라이프 사이클을 가짐 특정 서비스의 수정 또는 업그레이드가 전체 애플리케이션에 영향을 미치지 않도록 함 통신 패턴 (Commun..
자료구조 (Data Structures) 배열 (Array) 동일한 자료형의 원소를 순차적으로 나열한 자료 구조 인덱스를 통한 빠른 접근, 메모리 공간 효율성 연결 리스트 (Linked List) 각 노드가 데이터와 다음 노드를 가리키는 포인터로 이어진 자료 구조 데이터의 삽입과 삭제가 빈번한 경우, 메모리 동적 할당 스택 (Stack)과 큐 (Queue) 스택 : 후입선출 구조 (LIFO), 함수 호출 큐 : 선입선출 구조 (FIFO), 자원 예약, 작업 대기열 트리 (Tree)와 그래프 (Graph) 트리 : 계층적 구조로 노드가 부모-자식 관계를 가짐, 디렉토리 구조 그래프 : 노드와 간선으로 이루어진 비순환적인 자료 구조, 네트워크, 지도 등 알고리즘 (Algorithms) 탐색 알고리즘 선형 탐..
웹 보안 지속적으로 진화하고 발전하는 분야 다양한 보안 취약점에 대한 방어 수단을 적용하는 것이 중요 개발자는 보안 최적화를 위한 지속적인 교육 및 업데이트를 수행하여 웹 애플리케이션의 안정성 확보 HTTPS (Hypertext Transfer Protocol Secure) HTTP의 보안 버전 데이터를 암호화하여 안전한 통신을 제공 SSL (혹은 TLS) 프로토콜을 사용하여 데이터 암호화 사이트의 신뢰성 검증을 위해 SSL/TLS 인증서 사용 쿠키 (Cookies) 클라이언트에 저장되는 작은 데이터 조각 웹 브라우저를 통해 서버에 상태 정보 전송 세션 유지, 사용자 추적, 로그인 정보 등에 활용 보안을 강화하기 위해 HttpOnly 및 Secure 속성 사용 권장 세션 (Session) 클라이언트와 서..