<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false">
oncontextmenu="return false" -----오른쪽마우스버튼막기<br>
onselectstart="return false" -----텍스트 선택막기<br>
ondragstart="return false" -----드래그막기<br>
</body>
2017년 2월 9일 목요일
미디어쿼리
- <head> 추가
<meta name="viewport" content="width=device-width, initial-scale=1.0
maximum-scale=1.0, user-scalable=0">
maximum-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
- CSS 추가
@CHARSET "UTF-8";
@-ms-viewport{width:device-width;}
@viewport{width:device-width;}
...
@media(max-width:1024px){}
@media(max-width:768px){}
@media(max-width:600px){}
@media(max-width:480px){}
2017년 2월 7일 화요일
테이블복사및varchar2toCLOB
*테이블 복사
CREATE TABLE temp AS SELECT emp_no, name, dept FROM employee;
DROP TABLE employee;
RENAME temp TO employee;
*varchar2->clob
제목대로 컬럼에 데이터 타입만 변경하면 정말 좋겠지만 한번에 변경은 불가능 하므로 아래와 같은 절차를 통해서
데이터 타입을 변경해야 합니다.
1. 테이블에 Clob 컬럼을 생성합니다.
2. 업데이트문을 통해서 Varchar2 컬럼의 내용을 Clob 컬럼으로 복사합니다.
3. Varchar2 컬럼을 Drop 합니다.
4. Clob 컬럼을 이름을 원래 Varchar2 컬럼이 사용하던 이름으로 변경합니다.
사용예제 입니다.
create table myemp(empid varchar2(100), notes varchar2(4000));
insert into myemp values (1,'This is xxx');
insert into myemp values (2,'This is yyy');
insert into myemp values (3,'This is zzz');
commit;
alter table myemp add notes_new clob;
update myemp set notes_new=notes;
commit;
alter table myemp drop column notes;
alter table myemp rename column notes_new to notes;
2016년 12월 27일 화요일
파일삭제
1. rm
-r : 해당 폴더안에 있는 모든 파일들까지 같이 삭제하고 자기자신 즉 폴더까지 삭제하는 옵션
-i : 각 파일들이나 폴더를 삭제할 때 삭제할 것인가를 묻도록 하는 옵션
-f : 파일이 있든 없든 오류를 표출하지 않고 무조건 삭제하는 옵션
rm -rf [디렉토리명] // 리눅스 디렉토리(하위 디렉토리, 파일 포함)를 삭제
rm -rf * // 현재 디렉토리의 모든 것을 삭제
2. rmdir
rmdir은 디렉토리만 삭제하는 명령으로 디렉토리 안에 파일이 존재하는 경우 디렉토리가 삭제되지 않습니다. 따라서, rmdir을 사용하시려면 디렉토리안을 먼저 삭제하신후에 해당 명령을 사용하여 디렉토리를 삭제해야 합니다.
rmdir [디렉토리명]
-r : 해당 폴더안에 있는 모든 파일들까지 같이 삭제하고 자기자신 즉 폴더까지 삭제하는 옵션
-i : 각 파일들이나 폴더를 삭제할 때 삭제할 것인가를 묻도록 하는 옵션
-f : 파일이 있든 없든 오류를 표출하지 않고 무조건 삭제하는 옵션
rm -rf [디렉토리명] // 리눅스 디렉토리(하위 디렉토리, 파일 포함)를 삭제
rm -rf * // 현재 디렉토리의 모든 것을 삭제
2. rmdir
rmdir은 디렉토리만 삭제하는 명령으로 디렉토리 안에 파일이 존재하는 경우 디렉토리가 삭제되지 않습니다. 따라서, rmdir을 사용하시려면 디렉토리안을 먼저 삭제하신후에 해당 명령을 사용하여 디렉토리를 삭제해야 합니다.
rmdir [디렉토리명]
2016년 12월 15일 목요일
wait_timeout관련
*디폴트 타임아웃 확인
show variables like '%timeout';
*정보 설명
connect_timeout : MySQL 서버 접속시에 접속실패를 메시지를 보내기까지 대기하는 시간
delayed_insert_timeout : insert시 delay될 경우 대기하는 시간
innodb_lock_wait_timeout : innodb에 transaction 처리중 lock이 걸렸을 시 롤백 될때까지 대기하는 시간.
innodb는 자동으로 데드락을 검색해서 롤백시킨다.
innodb_rollback_on_timeout : innodb의 마지막 구문을 롤백시킬지 결정하는 파라미터.
timeout은 진행중인 transaction을 중단하고 전체 transaction을 롤백하는 과정에서 발생한다.
interactive_timeout : 활동중인 커넥션이 닫히기 전까지 서버가 대기하는 시간
net_read_timeout : 서버가 클라이언트로부터 데이터를 읽어들이는 것을 중단하기까지 대기하는 시간
net_write_timeout : 서버가 클라이언트에 데이터를 쓰는 것을 중단하기까지 대기하는 시간
slave_net_timeout : 마스터/슬레이브로 서버가 클라이언트로부터 데이터를 읽어들이는 것을 중단하기까지 대기하는 시간
table_lock_wait_timeout : 테이블 락을 중단하기까지 대기하는 시간
wait_timeout : 활동하지 않는 커넥션을 끊을때까지 서버가 대기하는 시간
* Solution.
1) autoreconnect=true // 트랜잭션 오류 가능성있음
- 커넥션이 끊어지면 자동 재접속
jdbc:mysql://(host):(port)/(db_name)?autoReconnect=true
ex) jdbc:mysql://127.0.0.1:3306/seoulnetworks?autoReconnect=true
2) validationQuery 사용 //추천
-Mysql
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="validationQuery" value="select 1"/>
</bean>
- Oracle
validationQuery="select 1 from dual"
Mysql캐릭터셋확인 및 변경
* 캐릭터셋 확인
#database 확인
SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE schema_name = "mydb";
#table 확인
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = "mydb"
AND T.table_name = "mytable";
#column 확인
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "mydb"
AND table_name = "mytable"
AND column_name = "mycolumn";
#Show 명령어 사용(추천)
SHOW FULL COLUMNS FROM mytable;
*캐릭터셋 변경
#데이터베이스 디폴트 캐릭터셋 변경
alter database [dbname] DEFAULT CHARACTER set utf8;
#utf-8일때는 utf8 , utf8_general_ci
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci
#euc-kr일때는 euckr , euckr_korean_ci
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET euckr COLLATE euckr_general_ci
#테이블의 모든 컬럼의 charset 를 변경할 경우
alter table 테이블명 convert to character set utf8;
alter table 테이블명 convert to character set euckr;
#database 확인
SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE schema_name = "mydb";
#table 확인
SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
AND T.table_schema = "mydb"
AND T.table_name = "mytable";
#column 확인
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "mydb"
AND table_name = "mytable"
AND column_name = "mycolumn";
#Show 명령어 사용(추천)
SHOW FULL COLUMNS FROM mytable;
*캐릭터셋 변경
#데이터베이스 디폴트 캐릭터셋 변경
alter database [dbname] DEFAULT CHARACTER set utf8;
#utf-8일때는 utf8 , utf8_general_ci
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci
#euc-kr일때는 euckr , euckr_korean_ci
ALTER TABLE 테이블명 MODIFY COLUMN 컬럼 VARCHAR(255) CHARACTER SET euckr COLLATE euckr_general_ci
#테이블의 모든 컬럼의 charset 를 변경할 경우
alter table 테이블명 convert to character set utf8;
alter table 테이블명 convert to character set euckr;
mysql캐릭터셋확인
mysql charater set
* character set 확인
mysql> show variables like 'c%';
* my.cnf 수정
[root@localhost local]# vi /etc/my.cnf
[client]
#추가
default-character-set = utf8
[mysqld]
#추가
init_connect= SET collation_connection = utf8_general_ci
init_connect= SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci
[mysqldump]
#추가
default-character-set = utf8
[mysql]
#추가
default-character-set = utf8
* mysql 재시작
[root@localhost local]# service mysqld restart
mysqld 를 정지 중: [ OK ]
mysqld (을)를 시작 중: [ OK ]
[root@localhost local]#
피드 구독하기:
글 (Atom)