열기(open) : $('#modalID').modal('show') 닫기(close) : $('#modalID').modal('hide') modal 종료 시, 이벤트 처리 $('#modalID').on('hidden.bs.modal', function (e) { // function }) modal 종료 시, 이벤트 처리 해제 $('#modalID').off() modal 오픈 시, 이벤트 처리 $('#modalID').on('shown.bs.modal', function (e) { // function; }) https://myhappyman.tistory.com/179 Alert, Confirm을 모달 팝업으로 만들기 웹 페이지를 제작하면서 아주 편리하게 사용하는 alert, confirm창을 차..
자동화 CI/CD ? 컨테이너로 구동하는 애플리케이션을 배포하는 과정은 1. 깃허브 등의 저장소에 저장해 둔 어플리케이션 소스코드를 내려받아 도커 컨테이너 이미지로 빌드한다. 2. 빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록한다. 3. 레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성한다. 4. 생성한 오브젝트(Pod/deployment)를 외부에서 접속할 수 있도록 서비스 형태로 노출한다. docker build > docker push > kubectl create > kubectl expose 이 과정을 pipeline이라고 한다. 그리고 이 과정을 도구를 사용하여 자동화한다. 자동화는 크게 CI(Continuous Integration = 지속적 통합)..
집계함수는 group by랑 연동해서 작업이 이루어진다 aggregation function 그룹바이와 집계함수는 연동된다! 그룹별로 최저값, 최대값, 평균값 등 그룹별로 작업을 하는데 전체합계도 구하고, 동시에 그룹별 합계도 구하고 싶다! ? 합계뿐만 아니라 집계를 같이 구하고싶다! 전체 행들에 대한 집계와 그룹별로의 집계! 를 구하고 싶은 경우에 어떻게 해야 할까 ? 전체에 대해 집계를 돌리고 그룹별로 집계를 돌리고싶다. 그룹별 집계는 '소계' 라고 한다. 전체집계와 (소그룹의집계)소계를 같이 구하고싶다! 한번에 구하고싶다? 그럴때는 ? 1) ROLLUP 함수 GROUP BY ROLLUP(A) : 전체합계, 칼럼A소계 GROUP BY ROLLUP(A,B) : 전체합계, 칼럼A소계, 칼럼A,B조합 소계..
인덱스 사용자체를 기반으로 하는 조인 방식이다. 조인 수행 절차 하나의 테이블을 기준으로 각 row를 추출할 때마다 순차적으로 상대 테이블의 연관된 모든 row들을 조인에 의해 추출한다. 수행절차로부터 알 수 있는 튜닝 포인트에는 2가지가 있다. 1) 테이블사이에 조인이 발생하니 조인의 수를 최소화 하는것이 중요하다. 그걸 위한 차원에서 조인순서(driving)가 중요하다. 2) 연결되는 테이블은 반드시 연결고리 칼럼에 대한 인덱스가 사용되어야 한다. 조인조건에 대한 인덱스가 구성되어 있어야 하고, 그것이 사용되어야 하는 것이 중요하다. 특징 1. 인덱스에 의한 랜덤 액세스에 기반을 두며 인덱스 사용을 하는 이상 대용량 데이터를 처리하게 될때는 I/O로 인해서 문제가 발생될 가능성이 있다는 것이 특징이다..
경량(Lightweight)의 DATA-교환 형식이다. 속성-값 쌍 || 키-값 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 *개방형 표준 포맷 이다. 데이터 주고 받을 때 트래픽을 최소화하기 위한 데이터가 들어있는 가벼운 종이 같은 개념으로 보면 된다. 시작은 JavaScript로부터 파생됐지만(그래서 JavaScript 문법) 언어 독립형 포맷이다. 수년 간 지배 해왔던 XML를 대체 할 수 있는 주요 데이터 포맷이다. 보통 ajax나 rest api에서 XML , JSON 형식을 많이 보게 되는데 그 때 쓰이는 JSON이 이 JSON 이다. 프로그래밍 언어의 제약이 거의 없기 때문에 C,JAVA,Rudy 등 거의 모든 언어에서 사용 가능하다. JSON 표현..
서버가 단 하나만 존재할 때 수천만명의 사람들이 서버에 동시 접속하게 되면 어떻게 될까 ? 하나의 서버는 부하를 감당하지 못할것이다. 이를 해결하기 위한 방식에는 장비를 업그레이드하는 Scale-up 방식과 장비를 여러개두는 Scale-out 방식이 있다. 그런데 서버 1 서버 2 로 나누어 놓았을 때(Scale-out방식) 서버1에 99명의 사용자가 접속하고 서버2에는 1명의 사용자가 접속한다면 곤란한 상황이 다시 발생하게 된다. 이를 방지하기 위해 서버를 분산하고 가해지는 부하를 적절하게 분산하는 작업이 필요하다. 개발자가 의도한대로 부하가 서버마다 골고루 분산되어야 각 서버가 적절하게 부하를 담당할 수 있을 것이다. 이렇게 두개 이상의 컴퓨터 자원에 작업을 나누는 것을 로드밸런싱(load balan..
MyBatis에서 특정값을 비교할 때 했던 실수가 있다. 파라미터 값이 널값이거나 공백인지 체크할 때 기존에는 이렇게 작은따옴표로 공백체크를 했는데, 이렇게 할 경우 공백인지를 체크하지 못한다는 것을 발견하게 되었고 작은따옴표로 감싸고 공백은 큰따옴표로 표시해줘야한다는 것을 알게되었다. * &&가 아닌 and로 써야 한다. paraName 이라는 파라미터의 값이 "Y"인지 검사할 경우 paraName 이라는 파라미터의 값이 공백인지 검사할 경우 주의 : 작은 따옴표가 밖에 있어야 한다.
- Total
- Today
- Yesterday
- di
- 스프링
- 남궁성
- Node.js
- 한입크기로 잘라먹는 리액트
- 코드로 배우는 스프링 웹 프로젝트
- 컨테이너
- 스프링 프로젝트
- 이정환
- 자바스크립트
- 스프링 빈
- AWS
- spring
- @Configuration
- Spark
- EC2
- JavaScript
- 시큐리티
- 스프링의정석
- React
- 자바의정석
- 데브캠프
- 친절한SQL튜닝
- 인덱스
- MySQL
- 리액트
- security
- 데이터베이스
- node
- 객체지향
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |