일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 엘라스틱서치
- mybatis
- Stash
- sql
- ElasticSearch
- spring
- 트랜잭션
- DB
- nodejs
- orm
- 자바
- 리눅스
- npm
- springboot
- slave node
- 아파치
- mysql
- Gradle
- heap메모리
- 레드마인
- SonarQube
- JVM
- Git
- 시스템운영
- Bitbucket
- 마이바티스
- Java
- Apach
- Elk
- 스프링
- Today
- Total
목록호이잇 프로그래밍 (77)
프로그래머호이잇
빌드 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을 제대로 이해하지 못해 효과적으로 쿼리를 정의하는 것에 대한 어려움을 겪는 경우 많음. 이를 구현하는 방법중 하나는 게이트웨이를 사용하는 것. 행 데이터 게..
ProxyPass /public ! ProxyPass / http://localhost:7002/ ProxyPassReverse / http://localhost:7002/ Order allow,deny Allow from all 위 처럼 /public ! 를 써주면 public은 proxy Path 에 제거가 됩니다!!
이렇게 설정하면 됩니다. 포트는 7002 ProxyPass / http://127.0.0.1::7002/ ProxyPassReverse / http://127.0.0.1::7002/ Order allow,deny Allow from all
Mybatis #과 $의 차이 PrepareStatment(#)와 Statment($) Statement($) 1. 단일로 사용될 때 빠른 속도를 지닙니다. 2. 쿼리에 인자를 부여할 수 없습니다. 3. 매번 컴파일을 수행해야 합니다. 4. 단순 String Replace (SQL 인잭션 공격에 취약할수있음!!!!!!!!!!) PreparedStatement(#) 1. 쿼리에 인자를 부여할 수 있습니다. 2. 처음 프리컴파일 된 후, 이후에는 컴파일을 수행하지 않습니다. 3. 여러번 수행될 때 빠른 속도를 지닙니다.
totalMemory는 현재 힙에 할당된 총 메모리 크기 maxMemory는 최대로 할당될 수 있는 메모리 크기 freeMemory는 현재 할당된 힙 메모리 중 사용가능한 크기 확인 방법 Code double maxMemory = (double) Runtime.getRuntime().maxMemory() / (1024 * 1024); double totalMemory = (double) Runtime.getRuntime().totalMemory() / (1024 * 1024); double freeMemory = (double) Runtime.getRuntime().freeMemory() / (1024 * 1024); 1024 * 1024 로 나누어 주는 이유는 MB 로 단위를 변경하기 위함
방안 1. select top 10 * from tblname where key not in ( select top 100 key from tblname ); PK 값과 TOP 을 이용하여 뽑아냄 저 구문은 101~110 Row 가 나올듯 방안 2. select * from ( select row_number() over (order by key) as rownum, * from tblname ) tbl1 where tbl1.rownum between 101 and 110; 요거는 Window Function 을 이용하여 Rownum 을 매기고 그 Rownum 을 이용하여 검색하는 방법 방안 3. select * from tblname order by key OFFSET 100 ROWS FETCH NEX..
SELECT ROUND(10 / FLOOR (CONVERT(float,20)),2) * 100 요런식으로 ROUND 와 CONVERT 함수를 이용하여 진행하면됩니다. ROUND 함수 : 반올림 CONVERT 함수 : FLOAT 형으로 변경해줌 INT / INT = INT 이지만 INT / FLOAT = FLOAT 로 만들어주게합니다~