서버 vs 클라이언트

클라이언트 : 서버로 요청하는 프로그램을 말함 ex) 웹 브라우저

서버: 클라이언트의 요청을 받아 처리 해주는 것

 

DB

DBMS: 데이터베이스 관리 시스템(Database Management System) 데이터의 보안, 무결성 유지, 동시성 제어, 백업 및 회복 기능. 일반적으로 RDBMS, NoSQL로 분류

RDBMS: 관계형 데이터베이스 시스템. 행 열 로 이루어짐 - 성능 향상 불리(스케일 업, 스케일 아웃)

NoSQL: 비 관계형 데이터베이스. 빅데이터, 분산 시스템 환경에서 대용량 처리에 용이 - 성능 향상 용이

 

IP & Port

IP는 아파트 건물

Port는 호 수 로 비유 가능

ex) localhost:8080 

 

라이브러리 vs 프레임워크 

라이브러리

1. 개발자가 필요할 때 사용할 수 있는 함수, 클래스의 모음

2. 개발자가 직접 호출

3. 개발자가 프로그램의 제어 흐름 관리

프레임워크

1) 제어흐름을 프레임워크가 관리(IOC)

2) 의존성 주입(DI)

 

CI/CD

Continuous Integration (CI - 지속적 통합):
여러 명의 개발자가 동시에 작업하는 경우 코드 충돌과 버그가 발생 가능. CI는 이러한 문제를 해결하기 위해 개발자가 작성한 코드를 자동으로 빌드하고 테스트하는 프로세스. CI를 통해 변경된 코드가 메인 코드베이스에 통합되기 전에 자동으로 테스트되므로 개발자들은 통합 문제를 빠르게 감지하고 해결 가능.


Continuous Deployment (CD - 지속적 배포):
Continuous Deployment는 CI 프로세스를 확장하여 테스트를 통과한 코드를 자동으로 프로덕션 환경에 배포하는 것을 의미.즉, 새로운 코드 변경이 테스트를 통과하면 자동으로 사용자에게 제공되어 실시간으로 업데이트가 이루어짐. 이를 통해 빠른 속도로 소프트웨어를 개발하고 배포할 수 있으며, 사용자들은 항상 최신 버전의 소프트웨어를 사용할 수 있다.

 

Spring

관점지향 프로그래밍: AOP 

관점을 분리하여(핵심 관점, 부가 관점 분리) 로직을 모듈화 하여 프로그램의 변경, 확장에도 유연하게 대응할 수 있어서 좋다.

+ Recent posts