[다이어그램] 클래스 다이어그램(Class Diagram) - Marker 인터페이스 상속/구현 관계
·
◈ Study/다이어그램(Diagram)📈
- 클래스 다이어그램(Class Diagram)이란? 클래스 내부 구성요소 및 클래스 간의 관계를 도식화하여 시스템의 특정 모듈이나 일부 및 전체를 구조화 → 클래스, 인터페이스 간의 관계를 알 수 있다. - Marker 인터페이스 상속/구현 관계 Generated Documentation (Untitled) unfoldingmaps.org
[GoF] Iterator 패턴 : 처리를 반복한다 [전체를 검색하고 처리를 반복하는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Iterator 패턴 : 처리를 반복한다 Iterator 패턴은 컬렉션의 요소들의 기본 표현​(리스트, 스택, 트리 등)​을 노출하지 않고 그들을 하나씩 순회할 수 있으며, 무엇인가 많이 모여 있을 때 이를 순서대로 가리키며 전체를 검색하고 처리를 반복하는 패턴이다. - 어떤 경우에 사용할까? 그냥 반복문을 돌리면 될텐데, 왜 번거롭게 Iterator라는 걸 만들어서 사용하는가? 가장 큰 이유는 Iterator를 사용함으로 구현과 분리하여 반복할 수 있다. Iterator it = bookShelf.iterator(); while(it.hasNext()) { Book book = it.next(); System.out.println(book.getName()); } 위의 while 문에서는 hasNe..
[Error Note] java.lang.IllegalStateException: Module entity with name 해결방법 [gradle 프로젝트가 build 안될 때]
·
◈ Study/에러노트(Error Note)🧱
- java.lang.IllegalStateException: Module entity with name 해결방법 gradle 프로젝트를 빌드하는데 에러가 발생하였다. 에러가 난 이유는 실제 프로젝트명과 setting.gradle의 rootProject.name 달라서였다. (실제 프로젝트명은 WaYF였고 rootProject.name은 wayf.. 대소문자가 달랐다..😅) - 참고자료 gradle 프로젝트가 build 안될 때 - java.lang.IllegalStateException: Module entity with name 윈도우 11에서 기존 프로젝트를 Git에서 checkout 하였으나 아래와 같은 에러로 정상적으로 build하지 못하고 있었다. 해결방법 실제 프로젝트명과 setting.gr..
[Error Note] 스프링 부트(Spring Boot) DB 없이 실행시키는 법 [Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.]
·
◈ Study/에러노트(Error Note)🧱
- 스프링 부트(Spring Boot) DB 없이 실행시키는 법 스프링 부트로 프로젝트를 생성 후, DB 관련 세팅 없이 실행하게 되면 아래와 같은 에러를 만나게 된다. *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you ..
[study] 인라인 메서드(inline method)란? [코드 내용이 단순할 때 가독성 높이는 방법]
·
◈ Study/기초튼튼 개발지식🥔
- 인라인 메서드(inline method)란? 인라인 메서드는 메서드 호출의 오버헤드를 줄이고 실행 속도를 향상시키며, 메서드의 이름이 너무 일반적이어서 기능이 무엇인지 정확히 알기 어려울 때 사용하면 가독성을 높일 수 있다. 인라인 메서드는 성능 개선을 위한 최적화 기법 중 하나이지만, 모든 메서드에 적용할 수 있는 것은 아니다. 메서드 크기가 크거나, 호출하는 부분이 많거나, 가상 메서드인 경우 등에는 인라인 메서드를 적용하기 어려울 수 있다. 또한, 인라인 메서드는 코드 중복이 발생할 수 있기 때문에 유지보수성을 고려하여 적절히 사용해야 한다. //인라인 메서드 적용 전 function getRating(driver) { return moreThanFiveLateDeliveries(driver) ..