Programming(58)
-
[Spring] 상수 설정하기( properties )
spring 설정 xml에 다음과 같은 구문을 추가한다.(첫번째) 굵은 표시를 한 부분을 추가한다.classpath:database.properties의 의미는 classpath로 지정된 경로들에 있는 database.properties를 읽어오라는 뜻이라한다.classpath:properties/*.properties의 의미는 classpath로 지정된 경로들에 있는 확장자가 properties인 파일들을 모두 읽어 오라는 뜻이라한다. 난 /WEB-/INF/database.properties,/WEB-/INF/file.properties 2개의 properties를 넣어서 이렇게 사용하였다. 주의할 점은 properties들에 같은 key 값이 있다면 원하지 않는 데이터가 읽힐수 있다고 한다. 그럴 경..
2018.05.29 -
[Oracle] 오라클 Lock 확인 및 해제
-- 락걸린 테이블 확인 SELECT DO.OBJECT_NAME, DO.OWNER, DO.OBJECT_TYPE, DO.OWNER, VO.XIDUSN, VO.SESSION_ID, VO.LOCKED_MODE FROM V$LOCKED_OBJECT VO, DBA_OBJECTS DO WHERE VO.OBJECT_ID = DO.OBJECT_ID; -- 해당 테이블에 LOCK 이 걸렸는지. SELECT A.SID, A.SERIAL#, B.TYPE, C.OBJECT_NAME FROM V$SESSION A, V$LOCK B, DBA_OBJECTS C WHERE A.SID = B.SID AND B.ID1 = C.OBJECT_ID AND B.TYPE='TM' AND C.OBJECT_NAME IN ('TB_CO_GENO');..
2018.04.11 -
[QuerySet]쿼리셋 수정을 통한 웹서비스 성능 개선
들어가기웹서비스에 있어서 데이터페이스는 성능에 많은 영향을 미친다. 절대적으로 SQL 갯수를 줄이고, 각 SQL의 성능 및 처리속도 최적화가 필요하다.리스트 조회 페이지를 만들때 Post.objects.all() 과 같은 queryset을 자주 활용했었다. 이번에 인스타그램st 프로젝트를 진행하며 데이터 조회시 몇개의 SQL 쿼리가 발생할까? 중복은 없을까? 궁금해졌다. django-debug-toolbar 를 활용해서 페이지 로딩시 발생하는 쿼리를 확인해보았는데, 결과가 충격적이었다. 고작 글 9개를 조회하고 화면에 출력하는데, 28개의 쿼리문이 발생하고 그 중에 26개는 중복이었다.(부들부들..)이를 해결하기 위해서 다음과 같은 메소드를 활용하였다.select_related()ForeignKey, O..
2018.02.23 -
[Shell Script] 기본 문법
시작하기에 앞서 쉘 스크립트를 만들고 나서 실행하려고 하면 권한이 없어서 실행을 못할 수도 있다. 따라서 먼저 권한을 바꿔주는 명령어에 대해 짚고 넘어가자.- $chmod권한을 바꿔주는 명령어로 쉘 스크립트를 실행하기 위해서는 실행 권한 뿐만 아니라 안에 내용을 읽을 수 있는 읽기 권한도 있어야 한다.- chmod 사용자 권한 파일권한 변경은 문자 말고 3자리 숫자로도 변경할 수 있으며 첫번째 숫자부터 각각 소유자, 소유 그룹, 제 3자를 나타낸다.- chmod 각 권한을 더한 값(3자리) 파일 - 변수x=12 와 같이 선언하며, 연산자 “=” 사이에는 공백 문자가 있으면 안된다는 것에 주의하자. 선언한 변수의 값은 변수 이름 앞에 $을 붙임으로써 사용할 수 있다.변수가 선언될 때는 기본적으로 문자열로 ..
2018.02.22 -
[MySQL] Backup & Restore
자동화 된 백업이 중요하지만 데이터를 변경하기 전에 빠르고 간단하게 스냅 샷을 찍기를 원할 때가 있습니다. 리눅스에서 파일을 변경할 때 파일을 다른 이름으로 단순히 cp 할 수 있으며 , 변경이 제대로되지 않으면 다시 cp 할 수 있습니다. MySQL은, 그것은하지 않습니다 매우 간단하지만, 더 어려운 의미가 없다.백업 만들기mysqldump 명령은 TEXTFILE MySQL이 관리하는 데이터베이스의 "덤프"를 만드는 데 사용됩니다. 이러한 덤프는 처음부터 데이터베이스를 다시 만드는 데 필요한 모든 SQL 명령이 포함 된 파일입니다. 이 과정은 빠르고 쉽습니다.단일 데이터베이스 를 백업 하려면 덤프를 만들고 출력을 다음과 같이 파일로 보내면됩니다.mysqldump database_name > databa..
2018.02.22 -
[MYSQL] 구동 시 Active: failed (Result: exit-code) 해결법
서버 업데이트 후 재부팅하는 과정에서 Mysql이 구동되지 않았다. $ service mysql status 명령어를 통해 상태를 확인해보니 아래와 같았다. ● mysql.service - LSB: Start and stop the mysql database server daemon Loaded: loaded (/etc/init.d/mysql) Active: failed (Result: exit-code) since Thu 2018-02-22 08:28:48 KST; 7s ago Process: 2693 ExecStop=/etc/init.d/mysql stop (code=exited, status=0/SUCCESS) Process: 2761 ExecStart=/etc/init.d/mysql start (..
2018.02.22