참고사이트 : https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html delimiter | CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW BEGIN INSERT INTO test2 SET a2 = NEW.a1; DELETE FROM test3 WHERE a3 = NEW.a1; UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1; END; | delimiter ; (코드는 참고사이트의 예제) 특정 테이블의 데이터를 업데이트 할 때 이전의 데이터를 백업해 두고 싶었다. 그래서 그 테이블에 BEFORE UPDATE Trigger를 생성해보았다. MySQL Workben..
원문 사이트 : tutorialspoint.com/Member-variables-vs-Local-variables-in-Java 1. 로컬 변수 - 로컬 변수는 메소드, 생성자 또는 블록 내부에서 선언된다. - 로컬 변수는 메소드, 생성자 또는 블록에 진입할 때 생성되고, 메소드, 생성자 또는 블록을 빠져나가면 소멸된다. - 로컬 변수에는 접근제어자(Access Modifier)를 사용하지 않는다. - 로컬 변수는 내부적으로 stack 레벨에서 수행된다. - 로컬 변수에 대한 기본값은 없다. 때문에 로컬 변수는 변수를 하용하기 전에 변수 선언과 초기화가 이루어져야 한다. 2. 객체(Instance)/멤버 변수 - 객체 변수는 클래스에서 선언된다. 클래스 내부이자 메소드, 생성자 또는 블록 외부여야 한다...
1. 현상 : 파일용량이 큰 경우 submit이 완료될 때까지 시간이 걸린다. 그 사이 화면이 멈춘 것처럼 보이기 때문에 로딩 이미지가 필요하다. gif를 사용하여 지금 동작하고 있다는 느낌을 주려고 하는데 IE에서 테스트 중 submit이 일어날 때 gif 이미지마저 멈춰서 보여 정말 화면이 멈춘 느낌이 났다 ㅠㅠ 2. 참고사이트 : https://forums.asp.net/t/1814498.aspx?loader+gif+IE+problem 3. 원인 : 참고사이트에서 살펴보면 GIF 이미지가 숨김처리 되었다가 노출되면 GIF 이미지가 동작하지 않고 멈춰있게 된다고 한다. img 태그를 직접 숨기지 않고 부모 태그를 숨김처리해도 같은 효과가 있는 듯 하다. 4. 해결방법 : javascript에서 부모 ..
원문 사이트 : https://docs.mongodb.com/manual/tutorial/query-documents/ -- Query Documents -- Query on Embedded/Nested Documents : field의 value가 document인 경우 db.inventory.insertMany([ { item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" }, { item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" }, { item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }..
구동하는 데에 문제가 있는 것은 아니지만 찜찜하신 (나같은) 분을 위해 검색해 보았다. https://stackoverflow.com/questions/53287813/unknown-referenced-nature-org-springframework-ide-eclipse-core-springnature 맨 아래쪽 답변을 보면 연도-월 형식으로 된 버전의 eclipse를 사용할 때 나타나는 것 같다. 방법1 : .project 파일에서 해당 부분을 주석처리 하거나 삭제한다. 방법2 : 프로젝트에서 오른쪽 마우스 클릭하여 Properties를 클릭 > Project Natures 선택 > org.springframework.ide.eclipse.core.springnature 를 선택 후 Remove 나는 ..
1. 설치환경은 CentOS7. 2. 설치목적은 테스트 환경 세팅. 개발 서버라 마음놓고 설치하며 시건방을 떨면서 글을 쓰다가 엄청나게 삽질하고 겸허함을 담아 고쳐쓴다 ㅠㅠ 3. 설치방법 1) 설치 추천 사이트 : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ 사이트에서 버전을 선택하여 따라하면 된다. 왼쪽 상단에 보면 버전을 선택할 수 있는 select가 있다. 4.2.3 버전을 설치해 보았다. 따라하다 보면 응? 쉬운데? 이러면서 건방을 떨게 된다.... 2) 이 곳은 서비스 등록까지 알려준다! 게다가 user 등록까지! : http://wikidocs.net/16278 다만 이 곳은 3버전을 설치한다. 설치하면서 비교해 본..
1. PK 만들기 https://docs.microsoft.com/ko-kr/sql/relational-databases/tables/create-primary-keys?view=sql-server-ver15 1) 기존 테이블에 추가 ALTER TABLE 테이블명 ADD CONSTRAINT PK명 PRIMARY KEY CLUSTERED (컬럼명) 2) 새로운 테이블 생성 시 추가 CREATE TABLE 테이블명 ( 컬럼1 데이터형 NOT NULL , 컬럼2 데이터형 NULL , .... , CONSTRAINT PK명 PRIMARY KEY CLUSTERED (컬럼명) ) 2. 컬럼 데이터형 변경 ALTER TABLE 테이블명 ALTER COLUMN 컬럼명 변경하려는데이터형 (수정하려는 컬럼에 제약 조건이 ..
1. 현상 : 리스트 로딩 시 검색어가 추가되면 속도가 많이 느렸다. 답답이.... 검색어가 총 3개의 테이블을 검색하는 것이지만 너무 느린감이 있어서 튜닝에 나섰다. 2. 원인 : 처음 쿼리가 이랬다... SELECT 소요 시간은 2.17초 정도 SELECT ... FROM 테이블1 WHERE INSTR(컬럼1_테이블1, '검색어') > 0 OR PK_테이블1 IN ( SELECT FK_테이블2 FROM 테이블2 WHERE INSTR(컬럼2_테이블2, '검색어') > 0 UNION SELECT FK_테이블3 FROM 테이블3 WHERE INSTR(컬럼3_테이블3, '검색어') > 0 ) - 검색어를 검색할 때 INSTR 함수를 사용했는데 이 부분을 LIKE 문으로 바꾸자 속도가 개선되었다. 검색어 검색..
아... 테스트 서버 포트가 갑자기 막혀서 (누군가가 그렇게 했겠지만...) 방화벽을 찾아나섰다. 테스트 서버 방화벽은 분명 iptabls를 사용하는 것으로 알고 있었는데 iptables 설정에는 내가 사용하는 포트가 열려있다. 그런데 왜 막힌 것인가... https://jootc.com/p/201808031482 (방화벽 상태 확인) http://millky.com/@origoni/post/1128 (방화벽 관리) 위 사이트에서 많은 도움을 받았다. 먼저 iptables를 방화벽으로 사용하고 있는지를 확인했다. 1. iptables 1-1. 실행여부 확인 명령문 : service iptables status 또는 systemctl status iptables 결과 : active (exited) 실행 ..