일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 아파치
- Gradle
- 시스템운영
- Java
- slave node
- 엘라스틱서치
- ElasticSearch
- nodejs
- mysql
- 스프링
- 마이바티스
- npm
- 트랜잭션
- SonarQube
- Stash
- 자바
- JVM
- springboot
- sql
- 레드마인
- Elk
- Git
- Apach
- Bitbucket
- 리눅스
- heap메모리
- orm
- DB
- spring
- mybatis
- Today
- Total
목록아키텍처패턴 (5)
프로그래머호이잇
동시성은 소프트웨어 개발에서 가장 까다로운 측면 중 하나이다. 여러 프로세스나 스레드가 동일한 데이터를 조작하는 경우 필연적으로 동시성 문제가 발생한다. 동시성문제 개념 1. 손실된 업데이트 A가 파일 abc를 수정하는 중 B가 동일한 파일인 abc파일을 수정 후 저장한다. A가 파일을 읽은 시점에는 B가 수정한 내용이 없으므로 A는 파일 수정 시 B가 수정한 내용은 반영되지 않는다. 2. 일관성 없는 읽기 A가 디레토리 a 의 하위 파일 수 와 디렉토리 b의 하위 파일 수를 알려고 한다. a의 디렉토리에 파일 수를 확인 후 잠시 자리를 비운동안 B가 a 디렉토리에 작업을 하여 파일을 3개 추가하면 A는 그내용이 반영되지 않은 파일의 수만 읽게된다. 이러한 문제는 동시성의 가장 기본적인 문제이다. 실행 ..
프레젠테이션 : 서비스제공, 정보표시 (HTML,CSS Javascript)사용자 요청, HTTP 요청 웹 프레젠테이션 이란? 웹 브라우저 기반의 사용자인터페이스로 소프트웨어 설치가 필요없고, 공통적인 UI 제공, 범용적 접근을 제공하는 프레젠테이션 계층 웹브라우저 기반 어플리케이션에서 웹 서버의 역할은 요청을 받으면 URL을 해석하고 웹서버 프로그램으로 제어권을 넘겨주는 것. 웹 서버 프로그램을 구성하는 방식은 스크립트, 서버 페이지 라는 두가지 주요형식이 존재함. 스크립트 : 일반적으로 HTTP호출을 처리하는 함수나 메서드를 포함하는 프로그램으로서 CGI스크립트와 자바 서블릿을 예로 들 수 있음. 서버페이지 : 반환하는 페이지는 HTML 로 작성하고 특정 시점에 실행할 코드를 HTML 스크립트릿으로 ..
빌드 Tool : Gradle db : h2database Spring Boot, Lombok 이용하여 ORM 을 코딩해 보았습니다. build.gradle 의존성 dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-web-services' implementation 'com.h2database:h2' compileOnly 'org.projectlombok:lombok' devel..
도메인 논리 : 애플리케이션이 수행해야 하는 도메인과 관련된 작업. 입력과 저장된 데이터를 바탕으로 하는 계산, 프레젠테이션에서 받은 데이터의 유효성 검사, 프레젠테이션에서 받은 명령을 기준으로 작업 대상이 될 데이터 원본 논리를 결정하는 등의 작업 Ex) Controller , Service 에서 수행하는 비즈니스 로직 및 Validation 체크 등은 도메인 논리에 해당됨. 도메인 논리 주요 패턴 : 트랜잭션 스크립트, 도메인 모델, 테이블 모듈 트랜잭션 스크립트 : 프레젠테션에서 입력 받은 데이터에 대해 유효성 검사와 계산을 통해 입력 처리 후 데이터를 저장하고 다른 시스템에서 작업을 호출하는 프로시저 (Request 별로 Servlet 안에 모든 비즈니스 로직을 정의하는 것?? Service 의 ..
프레젠이션 : 서비스제공, 정보표시 (HTML,CSS Javascript)사용자 요청, HTTP 요청 도메인 : 시스템의 핵심이 되는 논리 데이터 원본 : 데이터베이스, 메시징 시스템, 트랜잭션 관리자 및 다른 패키지와의 통신 데이터 원본 계층의 역할은 애플리케이션이 작업을 수행하는 데 필요한 인프라의 다양한 부분과 통신하는 것이고, 이계층에서 가장 중요한 일은 데이터베이스와 상호작용하는 것임. 도메인 논리 패턴 집합 : 아키텍처 패턴 1. 게이트웨이 기본적으로 SQL 접근을 도메인 논리와는 별도로 분리하고 개별 클래스에 배치하는 것이 좋음. SQL을 제대로 이해하지 못해 효과적으로 쿼리를 정의하는 것에 대한 어려움을 겪는 경우 많음. 이를 구현하는 방법중 하나는 게이트웨이를 사용하는 것. 행 데이터 게..