Posted
Filed under Mysql
종 데이터를 횡 데이트로 만들기 (세로 - 가로)

횡으로 구성되어있는 데이터를 종으로 만드는 방법에 대해 설명합니다. 먼저 전, 후의 데이터를 비교해보세요.

처리 전 데이터

1
2
3
4
5
6
7
8
9
10
+-----+------+-------+-------+
| idx | name | class | score |
+-----+------+-------+-------+
|   7 | choi | kor   |    90 |
|   8 | choi | eng   |    80 |
|   9 | choi | math  |    70 |
|  10 | kim  | kor   |    60 |
|  11 | kim  | eng   |    85 |
|  12 | kim  | math  |   100 |
+-----+------+-------+-------+

처리 후 데이터

1
2
3
4
5
6
+------+------+------+------+
| name | kor  | eng  | math |
+------+------+------+------+
| choi |   90 |   80 |   70 |
| kim  |   60 |   85 |  100 |
+------+------+------+------+

처리 후 데이터를 보면 name 기준으로 kor, eng, math항목이 횡으로 나열된 것을 볼 수 있습니다.

종 데이터 샘플 생성

종 데이터로 사용할 사용할 가상의 샘플 데이터를 생성해 보겠습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `score` (
  `idx` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) NOT NULL,
  `class` varchar(32) NOT NULL,
  `score` int(11) NOT NULL,
  PRIMARY KEY (`idx`)
);
 
INSERT INTO score (name, class, score) VALUES ('choi', 'kor', 90);
INSERT INTO score (name, class, score) VALUES ('choi', 'eng', 80);
INSERT INTO score (name, class, score) VALUES ('choi', 'math', 70);
 
INSERT INTO score (name, class, score) VALUES ('kim', 'kor', 60);
INSERT INTO score (name, class, score) VALUES ('kim', 'eng', 85);
INSERT INTO score (name, class, score) VALUES ('kim', 'math', 100);

종 데이터 생성이 완료 되었습니다.

1
2
3
4
5
6
7
8
9
10
11
mysql> SELECT * FROM score;
+-----+------+-------+-------+
| idx | name | class | score |
+-----+------+-------+-------+
|   7 | choi | kor   |    90 |
|   8 | choi | eng   |    80 |
|   9 | choi | math  |    70 |
|  10 | kim  | kor   |    60 |
|  11 | kim  | eng   |    85 |
|  12 | kim  | math  |   100 |
+-----+------+-------+-------+

alias를 이용한 컬럼 생성

종 데이터를 kor, eng, math로 구성된 횡 데이터로 만들기 위해 alias를 이용 K, E, M 컬럼을 생성하고 kor데이터는 K에 eng데이터는 E에 math데이터는 M에 넣습니다.

값이 저장되지 않은 컬럼은 NULL이 저장됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
      name,
      CASE WHEN class = 'kor' THEN score END AS K,
      CASE WHEN class = 'eng' THEN score END AS E,
      CASE WHEN class = 'math' THEN score END AS M
FROM score;
 
+------+------+------+------+
| name | K    | E    | M    |
+------+------+------+------+
| choi |   90 | NULL | NULL |
| choi | NULL |   80 | NULL |
| choi | NULL | NULL |   70 |
| kim  |   60 | NULL | NULL |
| kim  | NULL |   85 | NULL |
| kim  | NULL | NULL |  100 |
+------+------+------+------+

아직까지는 종 데이터의 형식이지만 이제 횡데이터로 만들기 위한 준비는 되었습니다.

횡 데이터 생성

위에서 만들었던 쿼리를 이용해서 임의의 테이블을 만듭니다.
임의의 테이블을 group by하고 alias를 이용해서 생성한 K, E, M 컬럼을 이용 횡데이터로 만듭니다.
K, E, M컬럼은 SUM 함수를 이용해서 더해주고 alias를 이용 kor, eng, math로 컬럼명을 지정합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT name, SUM(K) as kor, SUM(E) as eng, SUM(M) as math FROM
(
  SELECT
        name,
        CASE WHEN class = 'kor' THEN score END AS K,
        CASE WHEN class = 'eng' THEN score END AS E,
        CASE WHEN class = 'math' THEN score END AS M
  FROM score
)AS T GROUP BY name;
 
+------+------+------+------+
| name | kor  | eng  | math |
+------+------+------+------+
| choi |   90 |   80 |   70 |
| kim  |   60 |   85 |  100 |
+------+------+------+------+


[원문]http://blog.devez.net/307

참고 URL

http://stackoverflow.com/questions/1241178/mysql-rows-to-columns

2018/01/09 10:57 2018/01/09 10:57
Posted
Filed under Mysql

[참고] : https://dev.mysql.com/doc/refman/5.7/en/alter-table-partition-operations.html

========================================================================================================
1. 파티션 지원 확인

SHOW VARIABLES LIKE '%partition%';

SHOW PLUGINS;

 

2. 파티션 추가

CREATE TABLE `테이블` (

  ....

)

PARTITION BY RANGE(함수(`필드명`)) (

  PARTITION `파티션명1` VALUES LESS THAN (값),

  PARTITION `파티션명2` VALUES LESS THAN (값),

  PARTITION `파티션명3` VALUES LESS THAN (MAXVALUE)

);

 

CREATE TABLE 이후 추가

ALTER TABLE `테이블` PARTITION BY RANGE(함수(`필드명`)) (

  PARTITION `파티션명1` VALUES LESS THAN (값),

  PARTITION `파티션명2` VALUES LESS THAN (값),

  PARTITION `파티션명3` VALUES LESS THAN (MAXVALUE)

);

 

# THAN (표현식) 에는 THAN (함수(값)) 형태로도 가능

#표현식에 사용할 수 있는 함수 종류 및 파티션의 종류는 아래 링크에서 참고

http://wyseburn.tistory.com/entry/MySQL-%ED%8C%8C%ED%8B%B0%EC%85%94%EB%8B%9D

 

3. 파티션 분할

ALTER TABLE `테이블` REORGANIZE PARTITION `파티션명3` INTO (

  PARTITION `파티션명3` VALUES LESS THAN (값),

  PARTITION `파티션명4` VALUES LESS THAN (MAXVALUE)

);

 

4. 파티션 삭제

ALTER TABLE `테이블` DROP PARTITION `파티션명1`;

 

5. 파티션 관리

ALTER TABLE REBUILD PARTITION;
ALTER TABLE OPTIMIZE PARTITION;
ALTER TABLE ANALYZE PARTITION;
ALTER TABLE REPAIR PARTITION;
ALTER TABLE CHECK PARTITION;

 

6. 파티션 완전삭제

ALTER TABLE `테이블` REMOVE PARTITIONING;



출처: http://wyseburn.tistory.com/entry/MySql-파티셔닝-정리 [메모장입니다.]
2018/01/08 15:31 2018/01/08 15:31
Posted
Filed under nginx
[참고]http://nginx.org/en/docs/http/ngx_http_access_module.html

특정 아이피를 지정 하여 허용하려면
allow 192.168.1.20
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
등등 다음과 같이 허용할 아이피 또는 아이피 대역대를 설정 하고
deny  all;
를 설정하면 ... 허용된 아이피를 제외한 모든 아이피가 차단된다.

[Example]
location / {
    deny  192.168.1.1;
    allow 192.168.1.0/24;
    allow 10.1.1.0/16;
    allow 2001:0db8::/32;
    deny  all;
}

The rules are checked in sequence until the first match is found. In this example, access is allowed only for IPv4 networks 10.1.1.0/16 and 192.168.1.0/24 excluding the address 192.168.1.1, and for IPv6 network 2001:0db8::/32. In case of a lot of rules, the use of the ngx_http_geo_module module variables is preferable.

Directives

Syntax: allow address | CIDR | unix: | all;
Default:
Context: http, server, location, limit_except

Allows access for the specified network or address. If the special value unix: is specified (1.5.1), allows access for all UNIX-domain sockets.

Syntax: deny address | CIDR | unix: | all;
Default:
Context: http, server, location, limit_except

Denies access for the specified network or address. If the special value unix: is specified (1.5.1), denies access for all UNIX-domain sockets.

2018/01/03 10:21 2018/01/03 10:21
Posted
Filed under JSP, JAVA
java8 부터 다음과 같이 메모리 설정을 한다.
-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=2048m

2017/12/19 14:50 2017/12/19 14:50
Posted
Filed under Htm&Javascript

jQuery(document).ready(function () {
    var minDate = new Date();
    var maxDate = new Date();
    var dd = maxDate.getDate() + 7;
    maxDate.setDate(dd);

    jQuery("#startDate").datepicker({
        minDate : minDate,
        maxDate : maxDate
    });
});


===================================================
옵션 형태로 추가하는 경우

jQuery(document).ready(function () {
    var minDate = new Date();

    jQuery("#startDate").datepicker("option", "minDate", minDate);
});

2017/12/15 17:06 2017/12/15 17:06
Posted
Filed under JSP, JAVA
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;

publicclassTest{
 
publicstaticvoid main(String[] args)throwsException{
   
ScriptEngineManager mgr =newScriptEngineManager();
   
ScriptEngine engine = mgr.getEngineByName("JavaScript");
   
String foo ="40+2";
   
System.out.println(engine.eval(foo));
   
}
}

samed  javascript  eval function

출처: http://unikys.tistory.com/226

2017/11/23 11:32 2017/11/23 11:32
Posted
Filed under Linux

 centos7 하드 마운트

[원문]http://zero-gravity.tistory.com/297

 추가하고 싶은 하드디스크의 용량이 2TB를 초과한다면 6번 과정으로 바로 갈 것.

 

 

 

   1. fdisk -l

   

   드라이브 목록을 확인한다.

 

# fdisk -l

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048     1026047      512000   83  Linux

/dev/sda2         1026048  1469032447   734003200   83  Linux

/dev/sda3      1469032448  1510975487    20971520   83  Linux

/dev/sda4      1510975488  1953523711   221274112    5  Extended

/dev/sda5      1510977536  1531949055    10485760   83  Linux

/dev/sda6      1531951104  1552922623    10485760   83  Linux

/dev/sda7      1552924672  1560788991     3932160   82  Linux swap / Solaris

/dev/sda8      1560791040  1952958463   196083712   83  Linux

 

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes, 7814037168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

 

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

 

 

   할당되지 않은 4TB 크기의 /dev/sdb 드라이브가 보인다. 이걸 파티션 할당해줘야 한다.

   (리눅스는 보통 첫번째 드라이브가 /dev/sda1,2,3...두번째 드라이브가 /dev/sdb1,2,3... 이렇게 설정된다.)

 

 

   2. fdisk /dev/[디스크명]

 

   새로운 하드디스크를 추가한다.

 

# fdisk /dev/sdb

 

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0x6ad31b53.

 

WARNING: The size of this disk is 4.0 TB (4000787030016 bytes).

DOS partition table format can not be used on drives for volumes

larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID 

partition table format (GPT).

 

 

The device presents a logical sector size that is smaller than

the physical sector size. Aligning to a physical sector (or optimal

I/O) size boundary is recommended, or performance may be impacted.

 

Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

 

Command (m for help): n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p):p  

Partition number (1-4, default 1): 1

First sector (2048-4294967295, default 2048): 2048

Last sector, +sectors or +size{K,M,G} (2048-4294967294, default 4294967294):  #Enter를 치면 default로 잡힌다.  

Using default value 4294967294

 

Partition 1 of type Linux and of size 2 TiB is set 

#하드디스크의 용량은 4TB이지만, 파티션에 할당할 수 있는 최대 크기는 2TB다.

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

Syncing disks.

 

 

   3. mkfs -t [파일시스템] /dev/[디스크명]

   파일시스템 만들기.

 

mkfs -t ext4 /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

134217728 inodes, 536870655 blocks

26843532 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=2684354560

16384 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 

4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 

102400000, 214990848, 512000000

 

Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done 

 

 

   4. mount -t [파일시스템] /dev/[디스크명] 

   마운트하기.

 

mount -t ext4 /dev/sdb1 /second

 

df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        20G   93M   19G   1% /

.

.

.

.

 

/dev/sdb1       2.0T   81M  1.9T   1% /second   # 새로 마운트한 드라이브가 보일 것이다.

 

 

   이렇게 하면 4TB의 하드디스크 중에 2TB를 할당해서 사용할 수 있다.

 

   그러나 2TB씩 쪼개서 사용하기 싫고 4TB를 통으로 사용하고 싶다면, 다르게 설정해줘야 한다. 

 

 

   5. 되돌리기

 

   우선, 추가해줬던 파티션을 삭제하고 마운트도 다시 해제하자.

 

# fdisk /dev/sdb

 

WARNING: The size of this disk is 4.0 TB (4000787030016 bytes).

DOS partition table format can not be used on drives for volumes

larger than (2199023255040 bytes) for 512-byte sectors. Use parted(1) and GUID 

partition table format (GPT).

 

 

The device presents a logical sector size that is smaller than

the physical sector size. Aligning to a physical sector (or optimal

I/O) size boundary is recommended, or performance may be impacted.

Welcome to fdisk (util-linux 2.23.2).

 

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

 

 

Command (m for help): m

Command action

   a   toggle a bootable flag

   b   edit bsd disklabel

   c   toggle the dos compatibility flag

   d   delete a partition

   g   create a new empty GPT partition table

   G   create an IRIX (SGI) partition table

   l   list known partition types

   m   print this menu

   n   add a new partition

   o   create a new empty DOS partition table

   p   print the partition table

   q   quit without saving changes

   s   create a new empty Sun disklabel

   t   change a partition's system id

   u   change display/entry units

   v   verify the partition table

   w   write table to disk and exit

   x   extra functionality (experts only)

 

Command (m for help): d

Selected partition 1

Partition 1 is deleted

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: 장치나 자원이 동작 중.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

 

# umount /second

 

   df- h로 확인해보면 디스크를 추가하지 전의 원래 상태로 돌아옴을 확인할 수 있다. 

 

 

 

   6. 2TB를 초과하는 디스크 할당하기.

 

   2TB를 초과하는 파티션을 할당하기 위해선 parted 명령어를 사용해야 한다.

 

parted /dev/sdb

GNU Parted 3.1

Using /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) help                                                             

  align-check TYPE N                        check partition N for TYPE(min|opt) alignment

  help [COMMAND]                           print general help, or help on COMMAND

  mklabel,mktable LABEL-TYPE               create a new disklabel (partition table)

  mkpart PART-TYPE [FS-TYPE] START END     make a partition

  name NUMBER NAME                         name partition NUMBER as NAME

  print [devices|free|list,all|NUMBER]     display the partition table, available devices, free space, all found partitions, or a

        particular partition

  quit                                     exit program

  rescue START END                         rescue a lost partition near START and END

  rm NUMBER                                delete partition NUMBER

  select DEVICE                            choose the device to edit

  disk_set FLAG STATE                      change the FLAG on selected device

  disk_toggle [FLAG]                       toggle the state of FLAG on selected device

  set NUMBER FLAG STATE                    change the FLAG on partition NUMBER

  toggle [NUMBER [FLAG]]                   toggle the state of FLAG on partition NUMBER

  unit UNIT                                set the default unit to UNIT

  version                                  display the version number and copyright information of GNU Parted

(parted) mklabel gpt                                                      

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?

Yes/No? yes                                                               

(parted) unit TB  # 단위를 설정한다. GB or TB                                                         

(parted) mkpart primary 0.00TB 4.00TB  # 용량 설정 start end

(parted) print                                                            

Model: ATA HGST HDN726040AL (scsi)

Disk /dev/sdb: 4.00TB

Sector size (logical/physical): 512B/4096B

Partition Table: gpt

Disk Flags: 

 

Number  Start   End     Size    File system  Name     Flags

 1      0.00TB  4.00TB  4.00TB  ext4         primary         # 정상적으로 추가됐다.

 

(parted) quit 

Information: You may need to update /etc/fstab.                                   

 

   파일시스템을 만든다.

# mkfs -t ext4 /dev/sdb1

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

244195328 inodes, 976754176 blocks

48837708 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=3124756480

29809 block groups

32768 blocks per group, 32768 fragments per group

8192 inodes per group

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 

4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 

102400000, 214990848, 512000000, 550731776, 644972544

 

Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done 

 

   마운트한다.

# mount -t ext4 /dev/sdb1 /second

 

# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        20G   93M   19G   1% /

.

.

.

.

 

/dev/sdb1       3.6T   89M  3.4T   1% /second   # 마운트 완료

 

 

   이 과정을 모두 마쳤다면, /second 폴더에 넣는 파일들은 모두 새로 추가한 디스크에 저장될 것이다.

 

   그러나 재부팅 시 마운트가 자동으로 해제되기 때문에, 부팅할 때 자동으로 마운트를 해주는 설정을 해줘야 한다.

 

 

   7. fstab 파일 등록

 

   재부팅 시 자동마운트가 되도록 설정한다.

 

# blkid   # 먼저 자동마운트 등록할 디스크의 UUID를 알아내야 한다.

/dev/sda1: UUID="22a87868-322e-4661-af01-93b2062044ce" TYPE="xfs" 

.

.

.

/dev/sdb1: UUID="e001a7f9-1154-129e-a916-dad0b54116f2" TYPE="ext4" PARTLABEL="primary" PARTUUID="52412c84-700e-2313-9e2f-c12b1ca1676a"

 

# vi /etc/fstab

 

 

#

# /etc/fstab

# Created by anaconda on Sat Sep 26 08:52:44 2015

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=1c407d96-e43b-4b52-af5f-b191560e8267 /                       ext4    defaults        1 1

.

.

.

.

 

UUID=e001a7f9-1154-129e-a916-dad0b54116f2 /second              ext4    defaults        1 2  # 여기에 추가한다.

 

 

 

   이렇게 하면 재부팅을 하더라도 자동마운트 된다.

 

   굳이 재부팅을 할 필요없이 자동으로 마운트가 되는지 확인하고 싶다면, 마운트를 해제하고 mount -a 을 해보면 된다.

2017/10/11 16:52 2017/10/11 16:52
Posted
Filed under Mysql


실 운영시 =2로 사용(안정성)
디비작업시(대량)인서트  = 잠시 0 설정 해줌

mariadb 콜솔에서 실행
set global innodb_flush_log_at_trx_commit = 0;


innodb_flush_log_at_trx_commit = 0
innodb_flush_log_at_trx_commit = 1
innodb_flush_log_at_trx_commit = 2

0 인 경우, MySQL 이나 OS가 갑자기 crash 된다면 최대 1초동안의 트랜잭션을 잃을 수 있다.

  • 1 인 경우, 안전하다.
  • 2 인 경우, OS가 갑자기 crash 된다면 최대 1초동안의 트랜잭션을 잃을 수 있다. 하지만 MySQL 장애시에는 이미 OS 영역으로 데이터는 넘어갔기 때문에 안전할 수 있다.
  • 각 값에 따라, 엄청난 성능을 보일 수 있다.
    • 지난번에 엄청난 양의 log를 위하여 MySQL을 사용하는 팀이 있었는데, 해당값을 1에서 0으로 수정함에 따라 성능이 7배 빨라지기도 했다.
    • 단순 select용의 slave나, 최대 1초정도의 트랜잭션은 무시할 수 있는 서비스 혹은 log를 저장할 서버라면 해당값을 1에서 0으로 변경할 수 있다.
    • MySQL을 가장 빠르고 쉽게 튜닝할 수 있는 parameter 중의 하나이다.
2017/09/27 09:15 2017/09/27 09:15
Posted
Filed under Mysql

[원문]https://sites.google.com/site/dist777study/home/db/mysql/wait_timeout
SET @@GLOBAL.wait_timeout=300
my.cnf 에
wait_timeout=300
추가

2017/09/20 14:21 2017/09/20 14:21
Posted
Filed under JSP, JAVA
==Ctrl==

Ctrl + Y 열 삭제

ctrl + X 잘라내기 돼.

Ctrl + N 찾기 클래스

Ctrl + R 바꾸기

Ctrl + O 근데 덮어쓰기 / 이을 방법 선택

Ctrl + F 현재 코드 내에서

Ctrl + J 자동 코드 팁 (팁 자기가 정의 코드 포맷)

Ctrl + D 복사 돼 또는 블록 (기본 이 뜻) (하지만 나는 보통 습관 고쳐졌다 전문 복사 돼, 안 포함 블록, 검색Duplicate Lines)

Ctrl + P 방법 인자 힌트 보이기

Ctrl + W 선택한 커서 있는 단어, 연속 따라 다른 효과가 있을 (반대로Ctrl+Shift+W)

Ctrl + Q 마우스 변수 / 类名 / 방법 명 등 위에 놓다 (해도 지금 팁 보충 때 따라) 문서 내용 보이기 같은 비슷한 기능 그리고 하나Ctrl + Shift + I

Ctrl + B 커서 아래 클래스 혹은 방법은 바로 열기 (대하여 전면 지원 잘 수 있는 name, 예를 들면 직접 통해 class 위치 까지 css 파일 위치) (에 ctrl+ 커서 지향)

Ctrl + E 최근 열린 파일

Ctrl + U 현재 아버지 같은 방법 / 부 클래스

Ctrl + K VCS제출 프로젝트

Ctrl + T VCS업데이트 사항

Ctrl + G 뛰어 지정한 돼.

Ctrl + H 클래스 차원 그림 보이기

Ctrl + F1 표시 오류

Ctrl + F3 전근 까지 선택한 단어의 다음 동명 위치

Ctrl + F9 컴파일

Ctrl – F12 현재 편집 파일에 빠른 탐색 (직접 할 수 있을 IDEA 삽입 문자, IntelliJ 선별 너 입력 온 지 일치하는 대응 어떤 방법을 온 빠른 위치) (비슷한 구조)

Ctrl + F11 팝업 작은 상자는 지정한 책갈피를 추가할 수 자 식 (파일이나 폴더 대한 역할을 하다)

Ctrl + Tab 편집 창 전환 (만약 전환 과정을 또 더하기 따라 위에 delete, 은 대응 선택한 창 닫기)

Ctrl + delete 커서 뒤에 단어 삭제

Ctrl + home/end 헤더 파일 끝 뛰어올랐다

Ctrl + BackSpace 커서 앞 단어 삭제

Ctrl + [ 또는] 이동 커서 까지 장 초 / 말 괄호 곳

Ctrl + / 또는 Ctrl+Shift+/ 설명 (// 또는/*…*/ )

Ctrl + 1, 2, 3, 4…. 快速定位到书签代码处(必须先Ctrl+Shift+1,2,3,4…북마크 추가)

Ctrl + 공백 코드 완성 팁 (때문에 windows 기본 의해 입력기 좀 쇄 자신의 다음 수 있습니다)

Ctrl + 작은 접기 키보드 +/- / 확장 코드

Ctrl + 마우스 클릭으로 파일을 편집 창 제목 팝업 이 파일 경로를 통해 이 파일을 열 수 있는 데 (에Ctrl+alt+F12)

Ctrl + 쪽 왼쪽 / 오른쪽 커서 뛰어 위로 / 다음 단어

Ctrl + 방향 위 / 아래 에 너 마우스로 미끄러져 휠 마우스 당 (편의를 위해)

==================================================

==Alt==

Alt + 1 열기 / 닫기 project 탭

Alt +   이 것은 Tab 키를 누르면 위에 그 후 만약 종목에는 버전 제어 않으면 사용되는 버전 제어 명령 보이기

Alt + A 지금 SVN 중 그 새로 만들기 파일 추가 (자신의 가입 들어와, 서브버전 분류)

Alt + Q 보기 방법 성명 (왼쪽 위 나타나서 Tip 층 팁), 너는 스크롤 올라가 볼 필요가 없다

Alt + F1 팝업 파일 선택 목표 이 잘 쓰는

Alt + F2 여러 웹 브라우저 미리 보기

Alt + F3 선택한 텍스트, 하나하나 아래로 찾기 같은 텍스트 및 강조.

Alt + F7 이 방법은 보기 / 변수 / 클래스 호출된 곳

Alt + F8 지금 것을 상태에서 선택한 변수를 또는 어떤 대상에 따라 이 단축키 팝업 정말 입력 변수 · 방법 디버그 상자 지정 보기 그 내용을 것을 상황

Alt + Home 뛰어올랐다 파일 탐색bar

Alt + Insert 생성 코드 (예 get, set 방법을 생성자 등)

Alt + 방향 방향 바꾸기 단추를 오른쪽 단추를 왼쪽 혹은 현재 열린 코드 파일 보기

Alt + 방향 key 위에 또는 방향 key 다음 은 방법 간 빠른 이동 위치

Alt + 마우스 왼쪽 단추를 누르면 놓지 않다, 드래그 수 직접 네모난 영역 선택 (매우 유용하다)

Alt + 리턴 고속 복구 단일 가방 가져오기 (쓸 수 있다)

==================================================

==Shift==

Shift + F6 재구성이다: 다시 명명한다

Shift + F11 보기 북마크

Shift + F10 Run(현재 프로그램 실행) 맞먹는다 run 단추를 누르십시오

Shift + F9   debug현재 프로그램의 디버그 단추를 누르면 맞먹는다

Shift + end 선택된 현재 커서 까지 end 곳

Shift + home 선택된 현재 커서 까지 home 곳

Shift + Enter 커서 에 능하다 다음 비우다 한 줄, 커서 뛰어내리다

Shift + 파일 닫기 단추를 눌러서 수 있다

Shift + 휠 가로 스크롤 축 스크롤 (매우 강대하다)

==================================================

==Ctrl+Alt==

Ctrl + Alt + W 모든 단축키 편집 닫기 (자신의 추가,close all)

Ctrl + Alt + O 최 적화 가져오기 클래스, 가방

Ctrl + Alt + L 포맷 코드

Ctrl + Alt + I 선택한 부분을 자동 들여쓰기 (좀 비슷한 포맷, 하지만 그냥 정리 될 형식 뿐이다)

Ctrl + Alt + T 선택한 지방 코드 둘러싸여 팁

Ctrl + Alt + B 실현 뛰어올랐다 구체적인 방법을 찾다 인터페이스 / 추상 방법 구체적인 실현 잘 쓰는 (반면 행위 단축키 예Ctrl+b)

Ctrl + Alt + V 빠른 도입 한 변수

Ctrl + Alt + F7 이 종류의 찾고 의해 또는 변수를 사용될 곳은 팝업 상자 방식으로 찾아와, 그와 같은 효과를 Alt+F7 하지만 때문에 선택한 팝업 상자 한 위치 사라진다.

Ctrl + Alt + Enter 커서 있는 줄에 비우다 한 줄, 커서 뛰어오르다

Ctrl + Alt + home 팝업 따라 현재 파일 관련이 있는 파일 목록 가져오기 (예를 들면 강력한 디자인 기능, 안에는 몇 js, css 파일 바로 이 연결된 파일)

Ctrl + Alt + 왼쪽 / 오른쪽 반송하다 / 나아갈 방향을 위로 한 운영 곳

Ctrl + Alt + 방향 위 / 아래 은 Find 모드에서, 골라 위로 / 다음 찾기 파일

Ctrl + Alt + 공백 类名 또는 인터페이스 이름 팁 (가장 상용하는 일반적으로 敲入 문자 다 팁, 하지만 당신이 부주의로 esc, 더 이상 따라 이 나올 수 있다)

==================================================

==Ctrl+Shift==

Ctrl + Shift + F 파일 찾기 (어느 단어를 검색할 파일 형식을 통해 지정한 디렉터리에 (따라 myeclipse 중 ctrl+H 기능 같다))

Ctrl + Shift + U // 큰 / 소문자 모두 이 단축키

Ctrl + Shift + V 붙이다, 요즘 너무 일부 정보 복사

Ctrl + Shift + Z , 取消撤销(恢复上一次操作)

Ctrl + Shift + T     만약 일반 클래스 다음 그것의 팝업 이미 다, 하지만 선택의 대응 시험 보는 거 잖아 클래스. 만약 이 시험 보는 거 잖아 클래스 다음 그것의 않으면 그냥 다시 원본 클래스.

Ctrl + Shift + C 현재 파일 디스크 경로 클립보드로 복사

Ctrl + Shift + J 자동으로 다음 줄 것이라고 합병하다 현재 줄 끝

Ctrl + Shift + E 요즘 변경 파일

Ctrl + Shift + I  이 방법은 이름 또는 类名 다음 (또는 코드 보충 설명 때 해도 따라 해도 지금 이미지 주소 위에 따라) 을 따라 이 단축키 표시 이 방법은 또는 같은 소스 구조 를 누르면 할 필요가 없다, 들어가서 밑그림 보기 (물론 반드시 네가 이미 가져오기 소스 상황에서 보이기도 한다고) 비슷한Ctrl+Q

Ctrl + Shift + R 검색 지정한 범위 파일을 텍스트 바꾸기

Ctrl + Shift + N 통해 입력 파일 이름 (수 일부 이름 입력 지원 모호하다) 와 위치 파일

Ctrl + Shift + F12 전체 화면 편집기

Ctrl + Shift + F7 강조 모든 그 선택한 텍스트를 따라 Esc 강조 사라졌다.(수 throws 또는 try..catch 해도 위에 이 단축키를 누르면 예컨대 한 방법 throws 단어 위에서 따라 이 단축키 않으면 너에게 어떤 내부 방법을 다 이상 다 현 나온 거야.)

Ctrl + Shift + Del 태그 삭제 둘러싸인

Ctrl + Shift + 1, 2, 3… 快速添加书签

Ctrl + Shift + Space 자동 완성 코드 (지능 팁)

Ctrl + Shift + Enter 줄 끝 자동으로 더하기; 종료 코드, 만약 입력 if 따라 이 단축키 자동으로 너를 도와 보충(){}

Ctrl + Shift + Enter 자동 줄 끝 더하기; 완성 코드

Ctrl + Shift + Up 또는 Down 이동 커서 있는 statement 도메인 이동 위 / 아래 (13 버전 자동으로 포맷) (만약 커서 지금 방법을 이름 위에 놓다, 교환 방법 위치, 만약 열 tool 인터페이스, 그런데 세로 방향으로 배열 않으면 방향을 따라 창 크기 조정)

Ctrl + Shift + Left 또는 Right 열 tool 인터페이스, 만약 가로 레이아웃 않으면 창 크기 조정 좌우로 방향을 따라)

Ctrl + Shift + [ 또는] 선택된 현재 커서 위치 까지 그 아버지의 급 구역 (인터페이스 상류 탐색 아마 더 열다)

Ctrl + Shift + 작은 키 + 또는 – 개다 / 전개 모든 코드

Ctrl + Shift + 공백 코드 완성 기능이 (가장 상용하는 일반적으로 敲入 문자 다 팁, 하지만 당신이 부주의로 esc, 더 이상 따라 이 나올 수 있다)

Ctrl + Shift + 쪽 왼쪽 / 오른쪽 왼쪽 / 오른쪽 임 가 선택한 단어를 또는 기호

Ctrl + Shift + Backspace(백스페이스) 저번에 수정 데 다시 (따라 Ctrl+Alt+ 정도 방향 key 다른 데로 단지 다시 물러나서 도착한다 수정 곳이 아니라 과거 커서 놓을 자리가)
==================================================

==Alt+Shift==

Alt + Shift + N 작업 추가하기

Alt + Shirt + F 즐겨찾기에 추가

Alt + Shift + C 작업 항목 보기 요즘 변화 상황 목록 (버전 제어 아래 표시 비교적 느리다)

Alt + Shift + F10  팝업 메뉴 선택적 run run 제공 어느 (이 자기가 시도는 아래 따라 후 무슨 팝업 상자 기억 보기)

Alt + Shift + F9  팝업 메뉴 것을 실행 제공하는 것을 선택적 어느 (이 자기가 시도는 아래 따라 후 무슨 팝업 상자 기억 보기)

Alt + Shift + 방향 key 위에 또는 방향 key 아래로 이동 커서 에 능하다 위로 / 아래

==================================================

==Ctrl+Shift+Alt==

Ctrl + Shift + Alt + V    간단한 붙이다

Ctrl + Shift + Alt + N    이러한 방법은 또는 변수를 찾는 중

Ctrl + Shift + Alt + C   참조 정보 복사, 예를 들면, 어느 방법 이름에 따라 이 단축키, 얻은 내용은: org.jfree.data.general.DefaultPieDataset#setValue(java.lang.Comparable, double)안에 가방, 类名, 방법 방법 변수 이름

==================================================

==기타==

F11      添加书签

F4        커서 어디에 (설령 한 경로 URL 작은 부분 수) 일으키는데, 이 경로 다음 위치 에서 IntelliJ IDEA 좌측 웹 창 열기

F2 또는 Shift+F2 강조 오류 또는 경고 빠른 위치 (코드 어떤 신문 경우)

코드 레이블 입력 완료 후 따라 Tab 을 생성된 코드.

지금 Ctrl + F 찾기 모드에서 따라 F3 다음 좀

지금 것을 모드에서, F8 다음, F9 다음 정지점

변경 아래로 가기 검색down

Ctrl+마우스 클릭으로 파일을 편집 창 제목 팝업 이 파일 경로를 통해 이 파일을 열 수 있는 곳

따라 탭 드래그 코드 TAB+, 헤어져 여러 개의 IntelliJ IDEA 되다

원문 : http://www.programkr.com/blog/MYTOwEDMwYT2.html
2017/09/01 17:12 2017/09/01 17:12