본문 바로가기

분류 전체보기292

Separation of Concerns(관심사 분리) 관심사의 분리(Separation of Concerns) 원칙 설명"관심사의 분리(Separation of Concerns, SoC)"는 소프트웨어 설계에서 중요한 원칙 중 하나입니다. 이 원칙은 프로그램의 각 부분이 서로 다른 기능이나 관심사에만 집중하도록 설계되어야 한다는 것을 의미합니다. 이를 통해 코드의 가독성, 유지보수성, 재사용성이 크게 향상됩니다. 자바에서는 클래스를 통해 관심사를 분리할 수 있으며, 다양한 방법으로 구현될 수 있습니다. 대표적인 예로는 모듈화, 계층화, 컴포넌트 기반 개발 등이 있습니다. 주요 개념모듈화: 프로그램을 기능별로 분리된 모듈로 나누어, 각 모듈이 특정 역할만 수행하도록 합니다.응집도: 각 모듈 내의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타내며, 높은 응집.. 2024. 8. 5.
#24 Concurrency 2 자바 공식 Concurrency 튜토리얼 Liveness적시에 실행할 수 있는 동시 응용 프로그램의 기능을 활성 상태(liveness)라고 합니다. 이 섹션에서는 가장 일반적인 종류의 활동성(liveness) 문제인 교착 상태(deadlock)에 대해 설명하고 계속해서 다른 두 가지 활동성 문제인 기아 및 라이브락(starvation and livelock)에 대해 간략하게 설명합니다. Deadlock교착 상태(Deadlock)는 둘 이상의 스레드가 서로를 기다리며 영원히 차단되는 상황을 설명합니다. 여기에 예가 있습니다.Alphonse와 Gaston은 친구이며 예의를 중요시합니다. 친구에게 인사를 할 때 친구가 인사에 대한 응답을 할 때까지 인사를 하고 있어야 한다는 엄격한 예절이 있습니다. 불행하게도.. 2024. 8. 5.
2024.08.05 (월) { Concerns, 다형성(Polymorphism), 어그리게이션&컴포지션, UML Class Diagram } Concerns "Concerns"는 소프트웨어 개발에서 특정 관심사 또는 문제 영역을 의미합니다. 관심사는 시스템의 특정 부분 또는 기능과 관련된 모든 것을 포괄하는 개념입니다. 예를 들어, 보안, 데이터베이스 액세스, 사용자 인터페이스, 비즈니스 로직 등은 모두 개별적인 관심사로 볼 수 있습니다. 다형성(Polymorphism) 객체 지향 프로그래밍의 핵심 개념 중 하나로, 같은 인터페이스나 상위 클래스에서 정의된 메서드를 다양한 방법으로 구현하는 능력을 말합니다. 다형성은 코드의 유연성과 재사용성을 높이는 데 중요한 역할을 합니다. 다형성의 종류컴파일 타임 다형성 (Compile-time Polymorphism)런타임 다형성 (Runtime Polymorphism)1. 컴파일 타임 다형성 (Comp.. 2024. 8. 5.
#23 Concurrency 1 자바 공식 Concurrency 튜토리얼 Thread스레드(Thread)란 프로세스 내에서 실행되는 독립적인 실행 흐름을 말합니다. 프로세스는 운영체제로부터 자원을 할당받아 실행되는 프로그램의 인스턴스를 의미하며, 각각의 프로세스는 하나 이상의 스레드를 가질 수 있습니다.스레드는 프로세스 내에서 코드 실행의 기본 단위로, 동시에 여러 작업을 수행할 수 있습니다. 프로세스는 자신만의 주소 공간, 파일 핸들, 자원 등을 가지고 있지만, 스레드는 프로세스의 자원을 공유하여 실행됩니다. 따라서 스레드는 프로세스 내에서 동시에 여러 작업을 처리하고 서로 협력하여 작업을 완료할 수 있습니다.스레드는 동시성 (Concurrency)을 제공하여 작업의 처리 속도를 향상시키고, 병렬성 (Parallelism)을 통해 여.. 2024. 8. 5.
#22 Lesson: Exceptions [튜토리얼]자바 프로그래밍 언어는 오류 및 기타 예외적인 이벤트를 처리하기 위해 예외를 사용합니다. 이 레슨에서는 예외를 언제 그리고 어떻게 사용하는지 설명합니다. What Is an Exception?예외(Exception)는 정상적인 명령 흐름을 방해하는 프로그램 실행 중에 발생하는 이벤트입니다.The Catch or Specify Requirement이 섹션에서는 예외를 catch하고 처리하는 방법을 다룹니다. 이 논의는 try, catch, finally 블록뿐만 아니라 chain exception와 logging을 포함합니다.How to Throw Exceptions이 섹션에서는 throw 스테이트먼트와 Throwable 클래스 및 그 하위 클래스를 다룹니다.The try-with-resourc.. 2024. 8. 5.
2024.08.02 (금) { WHERE절 ON절, 1대 다 관계, NoSQL, 트랜잭션(Transaction) } WHERE 절과 ON 절 WHERE 절목적: 결과 집합에서 특정 조건을 만족하는 행만 필터링하기 위해 사용됩니다.사용 위치: SELECT, UPDATE, DELETE 문에서 사용됩니다.적용 범위: 테이블이나 뷰에서 데이터를 필터링합니다.ON 절목적: JOIN 구문에서 두 테이블 간의 관계를 지정하기 위해 사용됩니다.사용 위치: JOIN 구문에서 사용됩니다.적용 범위: 테이블을 조인할 때, 조인 조건을 지정합니다. where는 대부분 값이오는데 ex) WHERE First_Name = 'Jane';on은 비교 ex) ON e.Employee_ID = p.Employee_ID; 1대 다 관계를 사용하는 예제 1대 다 관계를 사용하는 예제는 게시판(게시물)과 댓글을 관리하는 시스템에서 매우 유용합니다. 아래는.. 2024. 8. 2.