CS

CS

AOP

Aspect Oriented Programming 횡단 관심사(Cross-Cutting Concern)의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임 횡단관심사란? 애플리케이션 전반에 걸쳐서 공통적으로 필요한 기능을 의미 애플리케이션의 핵심 기능(BusinessLogic) 에 속하지 않는 시스템 서비스 예) Logging, Transaction, 권한 검사, 성능 측정 비즈니스 컴포넌트들과 복잡한 의존 관계 형성 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임 소프트웨어 시스템 내부의 관심사들을 서로 분리시킴 공통 관심사항 적용 시 발생하는 의존 관계의 복잡성과 코드 중복문제를 해결하기 위한 프로그램 개발 방법론 공통 기능(시스템 서비스)을 분리해서 개발 및 모듈화하고 'a..

CS/DesignPattern

Command Pattern (커멘드 패턴)

명령어에 따라 행위를 구현할때, 명령어가 많아지면 조건문이 늘어나고, 가독성도 떨어지게 된다. 'copy', 'paste', 'cut'등의 명령어를 각각 구현하는 것보다, execute()라는 추상 메소드를 통해, 각 명령어에 따라 서브 클래스가 선택되어 실행되는 것이 효율적이다. overloading과 같은 추상화 개념을 사용한 것이다. Command Pattern 이란? 작업 요청과 처리를 분리하는 방법 중 하나이다. 커맨드 패턴은 결과를 위한 계산 과정의 각 부분들을 캡슐화 시킬 수 있다. 연결해줘라는 작업 요청을 받고, 어떤 기계에 연결할지는 처리 담당에서 결정한다. Command Pattern에서 사용되는 개념 1. 클라이언트 (Client) : 명령어를 입력받는다. 2. 커멘드 (Command..

CS/Algorithm

BFS / DFS 구분

BFS / DFS = 그래프 탐색 방법 DFS 임의의 노드에서 다음 분기로 넘어가기전에 해당 분기를 완벽하게 탐색하는 방법 구현방법: Stack, 재귀함수 경로를 탐색할때, 한방향으로 갈 수있을때까지 계속 탐색 - > 더이상 갈 수 없다면, 다른 방향으로 다시 탐색 진행함 BFS 임의의 노드에 인접한 노드를 먼저 탐색하는 방법 가장 가까운 노드 먼저 방문 > > 멀리 떨어져있는 것은 나중에 - 구현방법 : Queue 사용 DFS VS BFS 문제 분류 방법 그래프의 모든 정점을 방문 -> DFS, BFS 사용 경로의 특징을 저장 -> DFS (BFS는 경로의 특징을 가질 수 없다) -> DFS : 한경로상의 노드를 기억하기 때문에 적은 메모리를 사용한다. 최단 거리를 구해야할 때 -> BFS (BFS는 ..

CS/Algorithm

[ 프로그래머스 / JAVA ] Lv.0 연속된 수의 합 (반례)

문제출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 틀렸던 부분들: - 정수이기 때문에 음수도 포함된다는 것 - total값이 0일 경우 - > [-2,-1,0,1,2] total이 0인 경우를 대비해서 반복문 범위를 다시 해주었다. for (int i = -(total + num); i

yujindonut
'CS' 카테고리의 글 목록