분류 전체보기

· OOP/Java
1. 쓰레드와 멀티쓰레드프로세스를 실행 중인 프로그램이라고 하면, 프로그램은 OS로 부터 실행에 필요한 메모리를 할당받아 프로세스가 됩니다.프로세스의 메모리를 이용해서 실제로 작업을 수행하는 것이 쓰레드 입니다. 둘 이상의 쓰레드를 가진 프로세스가 멀티 쓰레드 프로세스 입니다. 2. 멀티쓰레드 장단점장점1. CPU 사용률 향상2. 효율적인 메모리 사용3. 사용자에 대한 응답성 향상4. 작업이 분리되어 코드 간결단점1. 동기화와 교착 상태 문제  3. 쓰레드 구현쓰레드를 구현하는 방법은 Thread 클래스를 상속받는 방법과 Runnable 인터페이스를 구현하는 방법이 있습니다.public class MyThread extends Thread{ @Override public void run() {..
Pull Request 절차1. Fork2. clone, remote 로컬에 clonegit clone https://github.com/humback915/Design.git 원격 저장소에 추가git remote add  원격 저장소 현황git remote -v 3. branch 생성로컬에서 작업할 branch 생성 및 이동git switch -c sub  4. add, commit, pushgit 수정 파일 추가git add . git commit 메세지 추가git commit -m  git 원격 저장소에 push 하여 로컬 개발 브랜치가 원격 저장소에 생성git push  5. Pull Request 생성 6. Merge 7. branch 삭제 및 동기화원격 저장소와 로컬 동기화git pull ..
옵저버 패턴(Observer Pattern)변화가 일어 났을 때, 미리 등록된 다른 클래스에 통보해주는 패턴을 구현하는 것입니다.일대다(one-to-many) 의존성을 가지며, 분산 이벤트 핸들링 시스템을 구현하는 데 사용됩니다.ex) event listener 옵저버 패턴 흐름1. 일 대 다 관계로 구성2. 관찰 대상의 상태가 변경되면 옵저버 한테 통보3. 통보 받은 값을 바꿀 수 있고, 삭제 하는 등의 적절한 대응을 합니다.4. 일 대 다 관계의 그룹에서 추가/삭제 될 수 있으며 그로 인하여 정보를 전달 받거나 받을 수 없게 합니다.옵저버 패턴 특징1. 대상 객체의 상태가 변경될 때마다 다른 객체의 동작을 트리거해야 할때2. 앱이 한정된 시간, 특정한 케이스에만 다른 객체를 관찰해야 할 때3. 한 객..
팩토리 메소드 패턴(Factory method pattern)생성 패턴 중 하나로 객체를 생성할 때 어떤 클래스의 인스턴스를 만들지 서브 클래스에서 결정합니다.즉, 인스턴스 생성을 서브 클래스에게 위임합니다.부모(상위) 클래스 코드에 구체 클래스 이름을 감추기 위한 방법으로도 사용합니다.부모 추상 클래스는 인터페이스에만 의존하고 실제로 어떤 구현 클래스를 호출할 지는 서브 클래스에서 구현합니다.이렇게 하면 새로운 구현 클래스가 추가되어도 기존 Factory 코드의 수정없이 새로운 Factory를 추가하면 됩니다. 팩토리 메소드 패턴의 구조팩토리 메소드 패턴 코드Product 인터페이스/** * 물건 A의 클래스 */public class CreateProductA implements Product{ ..
Docker 도커https://docs.docker.com/get-started/overview/컨테이너 가상화 방식 기술애플리케이션을 개발, 제공 및 실행하기 위한 개방형 플랫폼Docker를 사용하면 애플리케이션을 인프라에서 분리하여 소프트웨어를 신속하게 제공코드 전달, 테스트 및 배포 지연시간을 줄임(코드 작성과 프로덕션 환경 사이) Docker는 개발자가 애플리케이션과 서비스를 제공하는 로컬 컨테이너를 사용하여 표준화된 환경에서 작업할 수 있도록 하여 개발 수명 주기를 간소화컨테이너는 CI/CD(지속적인 통합 및 지속적 전달) 에 적합 Docker 플랫폼컨테이너라고 하는 격리된 환경에서 애플리케이션을 패키징하고 실행하는 기능 제공 컨테이너실행 가능한 이미지 인스턴스, Docker API 또는 CLI..
Proxy Pattern프록시 패턴은 객체 간의 간접적인 접근을 가능하게 하는 구조를 제공하는 패턴입니다.Proxy 클래스를 통해 대신 전달하는 형태로 설계되며, 객체를 바로 호출하는 것이 아닌 Proxy를 호출하는 패턴입니다.그러므로 실제 Client는 Proxy로 부터 결과를 받습니다.Proxy의 효과로 캐싱(Caching), 보안(Aop), 데이터 유효성, 지연 초기화, 로깅, 원격객체 등이 있습니다.객체지향 설계원칙 중 개방폐쇄의 원칙(OCP)과 의존 역전 원칙(DIP)을 따릅니다. Proxy Pattern 장단점장점보안성 향상유연성 향상성능 향상 단점코드 복잡성성능 저하Proxy Pattern 구조프록시와 객체는 동일한 인터페이스를 가지고 있으며 이를 통해 다른 인터페이스와 완전히 호환되도록 바..
Git & Github 명령어1. git config 확인git config —list2. git config 설정git config —global user.nameuser.name 확인하는 명령어입니다.git config —global user.name “name”user.name을 지정하는 명령어입니다.git coonfig —global user.emailuser.email을 확인하는 명령어입니다.git coonfig —global user.email “email”user.email을 지정하는 명령어입니다.3. git config 삭제git conifg —unset —global user.namegit conifg —unset —global user.email4. git init 초기화디렉토리를 gi..
ON DELETE CASCADE 옵션 관계형 데이터 베이스에서 외래 키 (Foreign Key) 제약 조건을 정의 할 때 사용되는 옵션 중 하나 입니다. 이 옵션을 설정 하면 부모 테이블에서 행이 삭제 될 때 해당 행을 참조하는 자식 테이블의 행도 자동으로 삭제됩니다. 간단히 말해, 만약 부모 테이블의 한 행이 삭제되면, 이 행을 참조하는 자식 테이블의 모든 관련 행도 함께 삭제됩니다. 이를 통해 데이터 무결성을 유지하고 데이터베이스의 일관성을 유지 할 수 있습니다. 예를 들어, 다음과 같은 두 개의 테이블이 있다고 가정해보겠습니다. CREATE TABLE 부모 ( 부모_ID NUMBER PRIMARY KEY, 부모_이름 VARCHAR2(50) ); CREATE TABLE 자식 ( 자식_ID NUMBER..
defxyj
'분류 전체보기' 카테고리의 글 목록