WORK 88

MY SQL 특정문자 개수 구하기

mysql에서 특정 문자의 개수를 구할 일도 있다. 예를들어 아래와 같은 쿼리문을 조회해서 결과값을 조회했다고 가정해보자. SELECT DEPT_NAME FROM DEPT_INFO DEPT_NAME 개발팀@@@인사팀 조회 결과를 보면 DEPT_NAME 값에는 개발팀@@@인사팀 의 값이 있는데 여기서 특수문자 @의 개수를 구해보자. SELECT LENGTH(DEPT_NAME) - CHAR_LENGTH(REPLACE(DEPT_NAME, '@@@', '')) FROM DEPT_INFO 위와같은 쿼리로 조회 시 결과는 3이 출력 될 것이다. 해당 쿼리는 PostGre DB에서도 조회가 가능하다.

WORK/DB 2023.10.05

서로 다른 도메인의 window open 팝업 닫힘 체크

다른 도메인 팝업을 호출하고 팝업이 close 될때 감지하여 목록으로 이동시켜야 했다. 둘다 개발하는 사이트라 접근은 가능해서 알아보게 되었는데 Window.postMessage() 를 써봐도 안되고.... document.domain 요거는 지원되지 않는다하고... 결국 꼼수로 진행했다. let onWindow = null; let winInterval = null; var fnPopupOpen = function(){ onWindow = window.open("https://www.naver.com"); winInterval =window.setInterval(function()){ try{ if(onWindow == null || onWindow .close ){ window.clearInterva..

WORK/JQUERY 2023.01.19

mysql 프로세스 확인 및 kill 하기

테이블을 삭제하고 다시 만들어야 할 일이 생겨서 drop 을 하려고 하니 로딩만 되고 drop이 되지 않았다. 혹시몰라 process 확인 show processlist; 왜 sleep이 이렇게 많지? ;; sleep 상태에서 시간이 올라가는건 db 를 사용하는 어플리케이션에서 mysql 접속을 한 뒤에 접속세션을 종료하지 않고 그냥 놔두면 발생한다고 한다. 개발자가 나만 있는게 아니니 일단 가장 긴 Time을 가지고 있는 값들만 모두 kill 처리 했다. kill 명령어 // kill [id입력] kill 105621; 그리고 나서 테이블 drop을 하니 정상 drop이 되었다. 일정시간 경과 후 자동 세션 종료 설정도 가능하다. -- 현재 interactive 설정값 조회 (28800 초 이후 int..

WORK/DB 2022.11.29

tui grid에서 클릭한 row value 가져오기

toast grid(tui grid) 에서 클릭한 row의 value 값 가져오기 grid.on("click", (ev)) =>{ if(ev.columnName == "그리드명"){ let id = grid.getValue(ev.rowKey, "그리드명") console.log("id : " + id); } }); "그리드명" 이라고 되어있는 부분은 그리드 뿌려줄 때 name 으로 되어있는 값이고 해당 셀 클릭 시 가지고올 값을 밑에 grid.getValue() 에 넣어주면 된다. hidden 값도 가져올 수 있다. grid.on 에서 grid도 선언명과 동일하게 할것.

WORK/GRID 2022.11.28

동일한 태그값에 서로 다른 value 값 가져오기

동일한 li태그를 클릭 했을 때 다른 value 값을 가져올 때 사용하면 된다. (onchange 등도 사용가능하다.) Jquery 에 data() 를 이용하면 된다. 사과 딸기 바나나 배 위와 같은 html 값이 있을 경우 litag 클래스 클릭 시 클릭 된 태그의 value 값을 가져오는건 간단하다. 위와 같은 형태로 하면 된다. 참고로 태그안에 값은 임의로 사용해도 된다. data-cd / data-nm / data-code 등등으로 data-"원하는 name" 입력 후 $(this).data("입력한 값") ;// data-code 로 입력했다면 'code' 로 입력

WORK/JQUERY 2022.11.23

S3 Browser 에서 Compatible Storage 연결하기

Sub Title : how to connect amazon compatible storage to S3 Browser 먼저 s3 브라우저를 다운 받는다. https://s3browser.com/ S3 Browser - Amazon S3 Client for Windows. User Interface for Amazon S3. S3 Bucket Explorer. s3browser.com S3 Browser 를 실행 한 후에 Accounts > Add New account 클릭 아래와 같은 창이 뜨게 된다. Display Name 입력 Account Type을 S3 Compatible Storage 로 입력한다. EndPoint와 호환 스토리지에서 생성 한 Access Key와 Secret Key를 입력 후..

WORK/Amazon 2022.11.22

spring boot 에러페이지 만들기

spring boot 에서 @RequestMapping(value = "/error") 값이 존재하지 않으면 기본 에러 페이지가 노출 된다. 그래서 java 파일 하나 만들어서 @RequestMapping(value = "/error") 부분을 선언해주면 끝 import org.springframework.boot.web.servlet.error.ErrorController; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.RequestD..

WORK/JAVA 2022.11.01

Spring 에서 amazon sdk를 이용하여 버킷 조회하기

1. amazon IAM 사용자를 생성하고 사용자에 대한 엑세스 ID, 비밀 엑세스 Key를 발급 받는다. 해당 Key 가 있어야 호출이 가능하다. 호출할 버킷이 있어야 하므로 콘솔 > 버킷으로 이동하여 버킷을 생성한다. 간단히 이름과 리전만 선택하고 등록. 이제 SDK 를 이용하여 호출해 보자. pom.xml 추가 1. amazon sdk 전체를 사용하지 않을 경우 (BOM 만 추가) com.amazonaws aws-java-sdk-bom 1.11.327 com.amazonaws aws-java-sdk-s3 2. amazon 전체 sdk를 사용 할 경우 com.amazonaws aws-java-sdk-s3 pom.xml 추가 후 소스코드 작성 (class 안의 내용만 작성됨) String accessK..

WORK/Amazon 2022.10.21

광고 크롤러 오류가 있으며, 이 때문에 수익 손실이 발생할 수 있습니다.

구글 애드센스에서 "광고 크롤러 오류가 있으며, 이 때문에 수익 손실이 발생할 수 있습니다." 라는 에러가 발생했다. 여기서 잠깐. 크롤러란 무엇인가? 크롤링(crawling) 혹은 스크레이핑(scraping)은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위다. 크롤링하는 소프트웨어는 크롤러(crawler)라고 부른다. 한마디로 구글이 내 블로그(웹사이트)에 접속하여 내용 전체를 그대로 가져간다는 말이다. 근데 특정 글에 대해서 가져갈 수 없어 광고 노출도 되지 않으니 수익 손실이 발생할 수 있다고 친절하게 알려주고 있는 것이다. 검색을 해 보니 아래와 같이 진행 하면 된다고 한다. 1. 오류가 난 부분에 "작업" 버튼 클릭 2. 아래 빨간색 부분을 클릭하여 사이트 url 복사하기 3. ..

WORK/기타 2022.10.14