본문 바로가기
반응형

개발/기본16

전통적인 MVC 전통적인 MVC(Model-View-Controller)는 소프트웨어 디자인 패턴으로, 애플리케이션을 세 가지 주요 구성 요소인 모델(Model), 뷰(View), 컨트롤러(Controller)로 분리합니다. 이 패턴은 애플리케이션의 데이터 처리(모델), 사용자 인터페이스(뷰), 그리고 사용자 입력과 애플리케이션 로직의 제어(컨트롤러) 사이의 역할을 명확히 구분함으로써, 코드의 재사용성을 높이고, 유지보수를 용이하게 만듭니다. 각 구성 요소의 역할 모델(Model) 애플리케이션의 데이터와 비즈니스 로직을 담당합니다. 데이터베이스와의 상호작용, 데이터 검증, 데이터 처리 등의 기능을 수행합니다. 상태 변경이 발생하면 뷰에 알림을 보내 업데이트를 유도합니다. 뷰(View) 사용자에게 데이터를 표시하는 인터페.. 2023. 12. 12.
분산 락(Distributed Lock) 분산 락(Distributed Lock)은 분산 시스템 환경에서 여러 노드 또는 프로세스 간에 자원에 대한 접근을 동기화하는 메커니즘입니다. 분산 시스템에서는 여러 서버나 노드가 동일한 데이터나 자원에 접근할 필요가 있을 때, 이러한 자원들이 동시에 수정되어 일관성이 깨지는 것을 방지하기 위해 분산 락을 사용합니다. 분산 락의 개념과 필요성 분산 시스템 여러 노드가 네트워크를 통해 서로 통신하면서 작업을 수행하는 시스템입니다. 이러한 시스템에서는 데이터의 일관성과 정확성을 유지하는 것이 중요합니다. 자원 관리 분산 시스템에서는 여러 노드가 동일한 자원(데이터베이스, 파일 시스템 등)에 동시에 접근할 수 있습니다. 이 때, 동시에 발생하는 변경사항이 자원의 일관성을 해칠 수 있습니다. 동기화 필요성 이러한.. 2023. 12. 6.
Git Rebase Git에서 `rebase`는 기본적으로 한 브랜치의 변경 내용을 다른 브랜치에 적용하는 과정입니다. 이를 통해 깔끔한 선형적인 커밋 히스토리를 유지할 수 있습니다. `rebase`와 `merge`의 가장 큰 차이점은 히스토리의 표현 방식에 있습니다. Git Rebase의 기본 개념 커밋 히스토리의 재배열 `rebase`는 기존 브랜치의 커밋들을 임시로 저장한 후, 대상 브랜치의 최신 커밋 다음으로 이 커밋들을 하나씩 적용합니다. 이렇게 하면 마치 해당 변경사항이 대상 브랜치의 최신 상태에서 시작된 것처럼 보이게 됩니다. 충돌 해결 `rebase` 과정 중에 충돌이 발생할 수 있습니다. 이때는 수동으로 충돌을 해결하고 `rebase`를 계속 진행해야 합니다. 히스토리 변경 `rebase`는 기존의 커밋 히.. 2023. 12. 6.
SSL SSL(Secure Sockets Layer)은 인터넷 상에서 데이터를 안전하게 전송하기 위해 사용되는 표준 보안 기술입니다. SSL은 클라이언트와 서버 간의 통신을 암호화하여, 중간에서 이 데이터를 가로채는 공격자가 정보를 읽거나 조작하는 것을 방지합니다. 이 기술은 웹 브라우징, 이메일, 인스턴트 메시징, VoIP(Voice over IP) 등 다양한 네트워크 애플리케이션에 널리 사용됩니다. SSL의 주요 기능 암호화 데이터가 인터넷을 통해 전송될 때, 제3자가 이를 도청할 수 없도록 암호화합니다. 이는 민감한 정보(예: 신용카드 번호, 로그인 자격 증명)가 안전하게 전송될 수 있도록 보장합니다. 인증 SSL은 웹 서버의 신원을 확인하는 데 사용되는 디지털 인증서를 통해 서버 인증을 제공합니다. 이는.. 2023. 11. 17.
반응형