일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- ubuntu
- 맛집
- ReactJS
- Gradle
- Web Server
- Spring Boot
- Git
- linux
- jsp
- devops
- javascript
- elasticsearch
- MySQL
- tool
- docker
- 요리
- php
- redis
- JPA
- IntelliJ
- db
- springboot
- AWS
- Spring
- jenkins
- Oracle
- java
- it
- laravel
- Design Patterns
- Today
- Total
목록2020/05 (38)
아무거나
스칼라 서브쿼리 SQL에서 단일 값을 스칼라(=Scala)값 이라고 표현한다. 즉, 스칼라 서브쿼리(=Scala Subquery)는 SELECT절에 오는 서브쿼리로 결과값으로 1행만 반환하는것을 말한다. -- SELECT문 안에 SELECT문으로 스칼라 서브쿼리 사용 SELECT board_title, ( SELECT board_contents FROM tb_board AS a WHERE a.board_no = b.board_no ) AS board_contents, board_no FROM tb_board AS b WHERE board_contents like '%contents%';
Spring Boot + Mybatis + Mysql 을 활용한 계층형(=hierarchy) 게시판 구현 테이블 설계 CREATE TABLE `tb_board` ( `BOARD_NO` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '게시판 고유 값', `GROUP_NO` int(11) unsigned NOT NULL COMMENT '게시판 그룹번호 (원글은 자신의 값)', `SORT_SEQ` int(2) unsigned NOT NULL COMMENT '게시글 정렬 순번', `BOARD_LVL` int(2) unsigned NOT NULL COMMENT '게시글 레벨(depth)', `BOARD_TITLE` varchar(45) NOT NULL COMMENT '게시..
Swagger 이용시 java.lang.NumberFormatException: for input string 과 같이 오류를 표시하는 경우가 있다. 이럴 경우에는 아래와 같이 build.gradle 에 내용을 추가하자. dependencies { ... implementation("io.swagger:swagger-annotations:1.5.21") implementation("io.swagger:swagger-models:1.5.21") ... }
-- 예시로 TB_SAMPLE_ONE, TB_SAMPLE_TWO 각각 두개의 테이블이 있고 ID, STATUS 값으로 조인을하여 TB_SAMPLE_ONE 의 TITLE을 TB_SAMPLE_TWO의 TITLE로 업데이트하자 UPDATE ( SELECT a.TITLE, b.TITLE AS MODIFY_TITLE FROM TB_SAMPLE_ONE a, TB_SAMPLE_TWO b WHERE 1=1 AND a.ID = b.ID AND a.STATUS = b.STATUS ) r SET r.TITLE = r.MODIFY_TITLE;
로드밸런싱 설정 (Nginx의 Upstream 모듈을 통해서 제공) nginx config 파일에서 수정하자. [nginx.conf 또는 default.conf] ... http { upstream myapp { server server1.example.com server server2.example.com } server { listen 80; location / { proxy_pass http://myapp; } } } ...
Stream을 활용한 데이터 가공 문자열로된 숫자와 알파벳대소문자로 되어있는 데이터 정렬 // Code List list = Arrays.asList("9", "A", "Z", "1", "B", "Y", "4", "a", "c"); List sortedList = list.stream().sorted().collect(Collectors.toList()); sortedList.forEach(System.out::println); return sortedList; // Output [ "1", "4", "9", "A", "B", "Y", "Z", "a", "c" ] 문자열로된 숫자와 알파벳대소문자로 되어있는 데이터 reverse 정렬 // Code List list = Arrays.asList("9", "..
반복되는 쿼리 묶기 설정 ... SELECT BOARD_NO, GROUP_NO, SORT_SEQ, BOARD_LVL, BOARD_TITLE, BOARD_CONTENTS, SYS_REGR_ID, SYS_REG_DTIME, SYS_MODR_ID, SYS_MOD_DTIME FROM TB_USER_BOARD ORDER BY GROUP_NO DESC, SORT_SEQ ASC LIMIT #{size} OFFSET #{offset} WHERE BOARD_NO = #{boardNo} ...
[MaxGauge 쿼리 추출 방법] 1. 분석할 쿼리(기능)을 실행 2. 하단에 실시간으로 분석되나 쿼리가 빠르면 바로 사라짐 -> 상위의 PERFORMANCE ANALYZER 버튼 클릭 3. 좌측 메뉴에 Trend Analysis 버튼 클릭 4. 상위 탭 메뉴에 SQL List 클릭 5. 실행시킨 쿼리시간등을 정하고 SQL Text란에 쿼리문 입력(Like 검색됨) - ex: FROM TB_TEST 6. Retrieve 버튼 클릭하여 조회
Portainer Document Portainer 는 Docker 를 웹상에서 관리할 수 있게 도와주는 툴 입니다. 오픈소스로 배포되고 있어 무료로 사용이 가능하며, 쉘프롬프트에서 Docker 명령을 일일이 수행할 필요가 없이 Web UI 로 손쉽게 관리 할 수 있습니다. 사이트 공식 사이트: https://www.portainer.io Github: https://github.com/portainer/portainer Docker Hub: https://hub.docker.com/r/portainer/portainer 시작 전 Docker가 설치되어 있어야 한다. 설치(linux) // Portainer에서 사용할 Volume 생성 $ docker volume create portainer_data ..
성능 최적화 H/W 세팅 CPU: 8 Core, RAM: 30GB, Disk: 80GB (SSD) 정도로 세팅하여 리소스에 따라 세팅하자. (AWS EC2 기준 m3.2xlarge 부터 추천) Elasticsearch JVM Heap Memory는 32GB 이상 지정할 수 없다. 따라서 64GB 이상을 사용하는 서버를 사용할 이유가 없다. JVM Option은 -Xms와 -Xmx 설정값을 동일하게 설정한다. CPU 사용률이 60% 이상이면 CPU 확장 필요 Document 세팅 Shard Shard 개수는 데이터 크기가 작으면 default 값으로 유지하는게 좋고 데이터 크기가 클수록 응답속도 성능에 맞춰 증가시키는 것이 좋다. Shard의 물리적인 크기는 20GB ~ 40GB 정도의 사이즈가 적절하다...