주로 사용하는 것들만 모았습니다. 다시 한번 말씀드리지만, 주로 사용하는 것입니다. 이것들만 알아도 유용하네요.
본 키워드들은 command state에서 입력해야합니다.

* 주의 : 대문자인 경우에는 shift를 누르고 입력합니다.
            Ctrl + x 는 Ctrl키를 누르고 x키를 누르라는 표시입니다.
            dd 처럼 연속된 문자는 그냥 연속해서 두번 누르라는 표시입니다.

1. 페이지 이동

Ctrl + f : 다음 페이지
Ctrl + b : 전 페이지
Ctrl + d : 반만 다음 페이지로
Ctrl + u : 반만 전 페이지로

2. 커서 이동

h : 좌
j : 아래
k : 위
l : 우

w : 커서를 바로 다음 단어로 이동
b : 커서를 바로 전 단어로 이동

3. 복사

y : 특정한 다음 텍스트를 복사
yy : 커서가 있는 라인을 복사
p : 삭제나 복사된 텍스트를 커서가 있는 문자나 라인 뒤에 삽입

4. Undo Redo

u : Undo
. : Redo

5. 검색

/[pattern] : /를 누르면 왼쪽 하단에 '/'가 표시되고 패턴을 입력가능함
                 이때 패턴을 입력하면 해당 패턴을 찾아줌
n : 위에 패턴으로 찾은 여러개 중 다음으로 일치하는 패턴을 찾음 (다음찾기)
N : 위의 패턴으로 찾은 여러개 중 이전으로 일치했던 패턴을 찾음 (이전찾기)

6. 삭제

x : 현재 커서에서 한 문자 삭제 (뒤에것을 당김)
dd : 현재 커서가 있는 라인 삭제 (아래 줄을 당김)

*gcc 버전 확인
gcc -v

*gcc로 컴파일

gcc로 컴파일할 파일명
ex)gcc test.c
a.out이라는 실행 파일이 생김
./a.out으로 파일 실행

*gcc로 실행파일 지정 컴파일
gcc -o test test.c

*gcc로 컴파일만 하고 링크하지 않기
gcc -c test.c

*두 개 파일을 부분 컴파일 후 링크시키고 실행
gcc -c a.c b.c
gcc -o a a.o b.o
./a

*헤더파일
헤더파일 중에 <>로 묶인 것과 ""로 묶인 것이 있다.
<>로 묶인 것은 /usr/include에서 파일을 검색하고,
""로 묶인 것은 현재 디렉토리 및 -I옵션을 준 디렉토리에서 헤더파일을 찾는다.
gcc a.c -I..
gcc a.c -I/usr/src/linux/include

-t 묶음 파일의 내용을 표시하는 옵션
ar t libc.a | less

정적 라이브러리 : a라는 확장자
공유 라이브러리 : so라는 확장자

라이브러리 만들기

ar r libtest.a test.o
-s 옵션 : 목차를 갱신하거나 생성해줌
ar s libtest.a
ar rs libtest.a test.o

라이브러리 사용
gcc -o test test.c -ltest
gcc -o test test.c -ltest -L.

-l옵션 뒤에 링크하고 싶은 라이브러리 이름을 써줌
라이브러리 파일의 이름에 공통적으로 붙는 lib는 빼주고, '.'을 포함한 확장자도 빼준 나머지를 씀
수학라이브러리인 libm.a를 링크하고 싶을 때는 -lm 과 같은 옵션을 붙여야 함

gcc의 기본 라이브러리 디렉토리
/lib, /usr/lib, /usr/local/lib

*도움말 man

ex) man errno
man -s 2 write (섹션 지정하는 옵션)

*에러 처리

#include <string.h>
char *strerror(int errnum);

#include <stdio.h>
void perror(const char* msg);

사용

#include<errno.h>
fprintf(stderr, "ERROR: %s\n", strerror(errno));
perror("error");

-출처 : 영진닷컴 Unix & Linux C programming

의외로 Visual C++ 6.0을 여러개 못 열고
프로젝트 하나 열때마다 저장하고 다시 열고 하는 분이 계시더라고요.
여러 개 띄울 수 있는 방법 알려드릴께요.
(다시 말씀 드리면, dsw 프로젝트 파일을 더블클릭해서 열 경우 기존 프로젝트 파일을 닫아야 하는 경우를 말씀드리는 거에요~)

visual studio가 열려있으면 미리 다 닫아주세요.

1. 탐색기->도구->폴더 옵션을 들어갑니다

사용자 삽입 이미지

2. 파일 형식 탭을 클릭하고 키보드에 d를 누르세요. 그러면 d로 시작하는 곳을 찾아갑니다. 그리고 확장명 중에 'dsw'인 것을 찾아서 고급 버튼을 누릅니다.
사용자 삽입 이미지

3. 'MSDEV로 열기'가 보일 것입니다. 그 글자를 선택하고 '편집'버튼을 눌러주세요.
사용자 삽입 이미지

4. DDE 사용의 체크를 없애주고, 확인 버튼을 누르면 완료입니다~
사용자 삽입 이미지

자 이제 dsw파일을 더블클릭해서 열면 visual studio가 새 창으로 열릴 것입니다.

**혹시 vista를 사용하는 분은 폴더 옵션에 파일형식 탭이 없기 때문에 직접 레지스트리를 수정해줘야 합니다.

윈도우의 시작->실행->regedit 를 써주고 엔터를 치면 레지스트리 편집기가 열립니다,
찾기에서 dswfile 을 찾아서
dswfile -> shell -> &Open with MSDev -> command, ddeexec 를 찾아가서 ddeexec 폴더를 삭제하면 됩니다.
안녕하세요? 바람돌이입니다.

Fedora Core 4에서는 보안을 이유로 계정으로 접속을 하고 디렉토리에 권한을 설정한다고 하여도 업로드를 불가능하게 해놓았습니다.
물론 로그인, 다운로드는 잘 동작합니다.

drwxrwx---  15 root root     4096  7월 25 22:52 .

다음과 같게 권한이 설정되어있어야 합니다.

drwxrwx---  15 test test     4096  7월 25 22:52 .

이렇게 되어 있어도 됩니다.
아무튼, 중요한 것은 해당 디렉토리에도 로그인 한 계정에 대한 쓰기 권한이 있어야만 업로드가 된다는 것입니다.
자세한건 "리눅스의 권한 설정" 부분과 "chmod"를 살펴보시기 바랍니다.



그리고, 업로드를 가능하게 하려면, 다음을 실행합니다.

[root@localhost ~]# setsebool -P ftpd_disable_trans 1

정확하게 어떤 것인지는 모르지만, 위와 같이 실행하면, 업로드가 가능해집니다.
물론, 위를 실행한뒤에는 vsftpd를 재시작해주어야만 합니다.

[root@localhost ~]# /etc/init.d/vsftpd restart



반대로 다시 업로드기능만을 막고 싶다면
다음과 같이 실행합니다.

[root@localhost ~]# setsebool -P ftpd_disable_trans 0
[root@localhost ~]# /etc/init.d/vsftpd restart


꼭 성공하시기 바랍니다. 몇일 고생했습니다. 안될 이유가 없다고 맨날 생각해서리... @^-^@

'도서관 I > 리눅스' 카테고리의 다른 글

[바람이] vi 사용법 정리  (0) 2007.08.01
[펌] gcc 명령어  (0) 2007.07.26
[바람이] killproc-2.11 사용법  (0) 2007.07.20
[펌] 리눅스 한글 깨짐 현상 해결법  (0) 2007.07.18
[펌] ctags & cscope 설치 및 사용  (1) 2007.07.02

안녕하세요? 바람돌이입니다.

이번에 설명할 프로그램은 killproc 으로서 리눅스에서 프로세스를 PID가 아닌 프로세스 이름과 같은 것으로 죽일 수 있는 프로그램입니다.

먼저 http://rpmfind.net/ 이나 그 외에 다양한 곳에서 다운을 받을 수 있습니다.

본 페이지에서도 2.11 버전은 다운 받으실 수 있습니다.



우선 해당 파일을 적당한 곳에 다운 받습니다.
그리고 나서, 다음과 같이 압축을 해제합니다.

[root@localhost ~]# tar zxvf killproc-2.11.tar.gz
killproc-2.11/
killproc-2.11/README
killproc-2.11/COPYING
killproc-2.11/Makefile
killproc-2.11/killproc.8
killproc-2.11/killproc.c
killproc-2.11/startproc.c
killproc-2.11/startproc.8
killproc-2.11/checkproc.c
killproc-2.11/checkproc.8
killproc-2.11/libinit.c
killproc-2.11/libinit.h
killproc-2.11/usleep.c
killproc-2.11/usleep.1
killproc-2.11/killproc-2.11.lsm
[root@localhost ~]#

그리곤 해당 폴더에 들어가서 make를 실행하면 실행 파일이 생성됩니다.


[root@localhost ~]# cd killproc-2.11
[root@localhost killproc-2.11]# make
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -DINITDIR=\"/etc/init.d\" -c libinit.c
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o killproc killproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o startproc startproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -funroll-loops -o checkproc checkproc.c libinit.o
gcc     -D_GNU_SOURCE -Wall -pipe -o usleep usleep.c
[root@localhost killproc-2.11]# ll
합계 372
-rw-r--r--  1  223 ftp  18007 11월  8  2005 COPYING
-rw-r--r--  1  223 ftp   4544 11월  8  2005 Makefile
-rw-r--r--  1  223 ftp    983 11월  8  2005 README
-rwxr-xr-x  1 root root 29103  7월 20 17:04 checkproc
-rw-r--r--  1  223 ftp   7511 11월  8  2005 checkproc.8
-rw-r--r--  1  223 ftp   7149 11월  8  2005 checkproc.c
-rwxr-xr-x  1 root root 32245  7월 20 17:04 killproc
-rw-r--r--  1  223 ftp    749 11월  8  2005 killproc-2.11.lsm
-rw-r--r--  1  223 ftp   8631 11월  8  2005 killproc.8
-rw-r--r--  1  223 ftp  10373 11월  8  2005 killproc.c
-rw-r--r--  1  223 ftp  33820 11월  8  2005 libinit.c
-rw-r--r--  1  223 ftp   9341 11월  8  2005 libinit.h
-rw-r--r--  1 root root 21868  7월 20 17:04 libinit.o
-rwxr-xr-x  1 root root 38672  7월 20 17:04 startproc
-rw-r--r--  1  223 ftp   7806 11월  8  2005 startproc.8
-rw-r--r--  1  223 ftp  16992 11월  8  2005 startproc.c
-rwxr-xr-x  1 root root  5917  7월 20 17:04 usleep
-rw-r--r--  1  223 ftp   1024 11월  8  2005 usleep.1
-rw-r--r--  1  223 ftp   1724 11월  8  2005 usleep.c
[root@localhost killproc-2.11]#


보시는 것 중에 killproc 파일이 바로 실행 파일입니다. (특정 터미널에서는 색상이 다르게 보일겁니다.)

이를 PATH를 설정해주어도 되지만, 편하게 계속 사용할 것임으로 /bin 폴더에 복사해 놓습니다.



[root@localhost killproc-2.11]# cp ./killproc /bin
[root@localhost killproc-2.11]# killproc
killproc: Usage:
        killproc [-v] [-t<sec>] [-g|-G] [-SIG] /full/path/to/program
        killproc -l
[root@localhost killproc-2.11]#



그리곤 실행을 시켜보면 어느 폴더에서나 위와 같이 실행이 가능하다는 것을 알 수 있습니다.




사실 make를 하게 되면 3개의 프로그램이 생성됩니다.
1. startproc
2. checkproc
3. killproc

즉, 프로세스를 생성하고, 검사하며, 죽일 수 있는 패키지입니다.
나머지에 대한 것은 검색을 활용하시기 바랍니다.




간단한 killproc 사용법을 설명하겠습니다.
만약 mysqld를 실행하면, 대략 몇개의 프로세서가 동작하게 되는데,

[root@localhost killproc-2.11]# killproc mysqld

하게 되면, mysql에 관련된 프로세서가 모두 죽는 것을 볼 수 있습니다.


스크립트에 넣어서 사용하시는 것도 하나의 팁이 될 수 있겠네요. @^-^@




출처 : 삽질신 님의 네이버 블로그
원문 : 리눅스 한글 깨짐 현상 해결해보자


한글이 깨지는 현상이 있을 경우 /etc/sysconfig/i18n 의 설정은 아래와 같았음

LANG="ko_KR.UTF-8"
SUPPORTED="ko_KR.UTF-8:ko_KR:ko"
SYSFONT="latarcyrheb-sun16"


이부분을 아래와 같이 수정~~~


# 한글 설정
/etc/sysconfig/i18n

LANG="ko_KR.eucKR"
SUPPORTED="en_US.iso885915:en_US:en:ko_KR.eucKR:ko_KR:ko"
SYSFONT="lat0-sun16"
SYSFONTACM="iso15"



# 매뉴얼 설정 수정
vi /etc/man.config

수정
PAGER          /usr/bin/less -isr    ( --> 이부분은 안해도 한글설정됨!! )


수정후 바로적용하고 싶다면 "source /etc/sysconfig/i18n " 하면된다.

위 두가지 한글 설정은 터미널이나 기타부분에서 한글깨짐현상을 고치기 위해서다

출처 : 팡두 님의 네이버 블로그
원문 : Mysql Storage Engine



Mysql Storage Engine

 

plug in storage engine 구조

             Table 별로 각자 다른 Storage Engine을 사용가능

하나의 Storage Engine에서 다른 Storage Engine으로의 변화를 간단한 SQL명령만으로 가능

                           ALTER TABLE mytable ENGINE-MyISAM;

#1. Storage Engin 별 특징

Feature

MyISAM

BDB

Memory

InnoDB

Archive

NDB

Storage Limits

No

No

Yes

64TB

No

Yes

Transactions(commit, rollback ,etc)

 

 

 

Locking granularity

table

page

table

row

row

row

MVCC/Snapshot Read

 

 

 

Geospatial support

 

 

 

 

 

B-tree indexes

 

Hash indexes

 

 

 

Full text serch index

 

 

 

 

 

Clustered index

 

 

 

 

 

Data Caches

 

 

 

Index Caches

 

 

Compressed data

 

 

 

 

Encrypted data(via function)

Store cost(space used)

low

low

N/A

high

very low

low

Memory cost

low

low

medium

high

low

high

Bulk Insert Speed

high

high

high

low

very high

high

Cluster database support

 

 

 

 

 

Replication support

foreign key support

 

 

 

 

 

Backup/Point-in-time recovery

 

Query cache support

Update Statistics for Data Dictionary

 

1. MyISAM

             1.1 기본적인 특징

l        MySQL의 기본 Storage Engine

l        Data 저장에 실제적인 제한이 없슴(논리적-물리적 제한은 있음)

l        Data를 매우 효율적으로 저장

l        빈번한 Data 사용의 부하를 잘 소화함

l        B-tree, R-tree그리고 Full-text Index를 지원

l        특정 Index에 대한 Memory Cache를 지원

l        Data 압축에 대한 옵션을 제공

l        지리적 Data를 지원

l        Table 레벨의 Lock을 지원

l        Transaction을 미 지원

l        Backup 및 특정 시점으로의 복구 지원

 

.frm

Table구조정보(스키마정보)

.myd

Data

.myi

Index 정보

DB는 디렉토리별로 생성/관리된다.
Table
은 디렉토리내 파일로 생성/관리되고, 하나의 Table 3개의 Data파일로 구성된다
.




Table을 구성하는 row는 다음과 같이 3가지 형식으로 분류할 수 있다.

**
고정포맷(fixed row format)

컬럼타입으로 varchar, text, blob을 사용하지 않을때.
가능하다면 가급적 고정포맷을 사용하는 것이 좋다
.
동적포맷보다 Memory사용이 적고, Index파일크기도 작아진다. 당연히 속도 또한 향상된다
.
파일구조의 고정길이레코드가 고정포맷, 가변길이레코드가 동적 포맷이라고 생각해주면 이해하기 쉬울 것이다
.

**
동적포맷(dynamic row format)

컬럼타입으로 varchar, text, blob을 사용할때. 주의) varchar(3)보다 작다면 고정포맷이 사용됨
고정포맷에 비해 디스크사용에 있어 효율성을 가지나, 속도는 상대적으로 느리다.
Table
에 빈번한 레코드의 수정/삭제가 이루어지면 단편화가 유발하므로 주기적인 optimize table이 요구된다
.
text, blob
은 별도로 저장되므로, optimize table을 수행할 필요성이 없다
.

**
압축포맷(compressed row format)

읽기전용이다.

myisampack명령어로 만들 수 있다.
디스크공간을 적게 차지하므로 CD Backup할 때 사용하면 된다
.

MyISAM
은 동시성제어를 위해 Table단위 Lock(table-level locking)을 사용한다
.
참고로, 대부분의 상용 DBMS들은 행 단위 Lock(row-level locking)을 사용한다
.
행 단위 Lock킹이 더 세밀하고 정밀한 제어가 가능한 반면, Table단위 Lock킹은 단순하다.


READ LOCAL lock
query
(select)에서만 사용됨.
갱신작업들을 블록. 다른 query문들은 블록 안됨
.
insert
문에서 .myd 파일의 끝에 Data를 추가하는 경우에는 블록 되지 않음
.

READ, or shared locks
모든 갱신작업들(insert는 모두 적용됨)이 블록 됨. myisamcheck는 이 Lock을 사용
.

WRITE, or exclusive locks
insert(
몇몇 종류만), update, delete시 사용됨. 다른 모든 읽기작업/쓰기작업이 블럭됨
.

Index : key buffer
에 캐싱되어 모든 MySQL 스레드들이 공유

Data : OS
의 캐싱에 의존.

주의) 캐싱에 대해

InnoDB
Index/Data 캐싱 모두를 관리하는 것에 비해 MyISAM, Index MySQL서버가 관리하고, Data는 관리하지 않는다.(Data OS캐싱에 의존한다는 의미)
InnoDB
innodb_buffer_pool_size, MyISAM key_buffer_size변수를 사용한다
.

자주 사용되는 Table들의 .myi파일크기를 합하면 대략적은 Index 캐싱크기를 구할 수 있다
.

3
가지 Index 사용가능: b-tree, r-tree, full text 트랜잭션 지원 안됨
.
mysqldump, mysqlhotcopy
Backup가능


MyISAM MERGE
Table
들을 union으로 묶은 일종의 view.
실제 Data는 기반Table들에 있음
.
보통 history Data나 로그를 가지는 Table들에서 사용됨
.
오라클의 파티셔닝과 그 개념이 유사
.

1.2 적합한 사용처

- 트레픽이 많은 웹사이트

- Data ware house

- 정적인 Table, 로그 Table
-
쓰기작업이 별로 없는 select 위주의
Table.
- current insert
기능이 read시에 insert가 가능하게 하므로 로그 Table에 사용될 수 있다
.

 

2. InnoDB

2.1 기본적인 특징

l        ACIDTransaction 지원

l        Table space 64TB Data의 저장을 지원

l        MyISAM보다 Data 저장 비율이 낮음

l        다른 Engine들에 비해 느린 Data 로드 속도

l        MVCC/Snapshot read를 지원

l        B-tree clusteredIndex를 지원

l        특정 DataIndex에 대한 Memory Cache 지원

l        외부키 지원

l        Data 압축옵션을 제공하지 않음

l        row레벨 Lock을 지원하며 여러가지 isolation레벨을 지원

l        자동 에러복구 기능

l        Backup 및 특정시점으로의 복구지원

 

ACID 트랜잭션, multi-versioning, row-level locking, foreign key제약조건 지원됨.
크래쉬후 자동복구 지원

Data
Index가 모두 저장되는 Tablespace 개념이 사용됨.
오라클의 Tablespace와 같이 여러개의 파일들로 구성될 수 있다
.
select
Lock킹이 필요치 않으며, 갱신작업들은 행단위 Lock킹을 사용
.
높은 동시성을 제공하지만, MyISAM에 비해 3배정도의 디스크 사용량을 요구함
.
최적의 성능을 위해 많은 Memory InnoDB buffer pool에 할당되어야 함
.
Cluster
Primary key btreeIndex 사용

commit
된 트랜잭션은 redo log에 기록되고, 이는 적정한 시간에 Tablespace에 기록된다.
mysqldump
Backup가능
.

참고
>
show variables
는 서버변수 값을 파악 시 사용한다. 오라클에서의 show parameter와 유사하다
.
mysql> show variables like 'have%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_bdb         | NO    |
| have_crypt       | NO    |
| have_compress    | YES   |
| have_innodb      | YES   |
| have_isam        | NO    |
| have_raid        | NO    |
| have_symlink     | YES   |
| have_openssl     | NO    |
| have_query_cache | YES   |
+------------------+-------+
9 rows in set (0.00 sec)

SQL> show parameter timed
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------
timed_os_statistics                  integer     0
timed_statistics                     boolean     TRUE

2.2 적합한 사용처

- Online Transaction을 지원하는 Application

- 민감한 정보를 갖는 Table(회원Table, 돈에 관련된 Table)
-
갱신(읽기/쓰기) 위주의 트랜잭션이 요구되는
Table.
- Index
가 많이 걸린 대량의
Table.

3. MEMORY(HEAP)
모든 Data들은 Memory에 저장됨.
다른 Table타입들에 비해 속도가 월등히 빠르지만, 서버가 셧다운 시 Data는 모두 소실된다
.
동등조건( ex) where a=10) 검색에 HASH기반 검색을 제공한다
.
이는 범위 검색 시 Index가 사용되지 못한다는 것을 의미한다. varchar, blob, text컬럼 사용 못 함
.
4.1
버전부터는 tree기반 Index도 사용가능 함.

일시적으로만 사용되는 임시 Table.

 

4. Cluster(NDB)

4.1 기본적인 특징

l        Transaction 지원

l        모든 DataIndexMemory에 존재

l        TableMemory 제한은 5.1버전부터 사라짐

l        매우 빠른 Data 로드 속도

l        MVCC/Snapshot read지원

l        B-tree Index 지원

l        Primary key 사용시 최상의 속도를 나타냄

l        99.999% uptime을 제공

l        Cluster간 어떤것도 공유하지 않는 구조(shared Nothing)

l        SQL API와 함께 고속의 접근을 위한 API제공

l        Online Backup과 특정 시점으로의 복구 지원

 

4.2적합한 사용처

고가용성이 반드시 필요한 Application

고속의 Data/key look up이 필요한 Application

 

5. Archive

5.1 기본적인 특징

l        5.0에 새롭게 도입

l        자동적인 Data 압축을 지원

l        다른 Storage Engine 대비 80%의 저장공간 절약

l        실제적인 저장용량의 제한 없슴

l        가장 빠른 Data 로드 속도

l        MVCC/Snapshot read를 제공

l        Index 미지원

l        빠른 Insert 속도를 위해 특별한 입력 버퍼를 제공

l        Insert select만을 지원

l        row레벨 Lock을 지원

l        Backup 및 특정 시점으로의 복구 지원

Data베이스에는 빈번하게 사용되는 Data뿐만 아니라 의사 결정이나 통계에 사용하기 위해 계속 누적되는 Data도 많은 부분 존재한다. 이런 경우 Data베이스의 용량은 필연적으로 계속해서 증가하기 마련이고 이러한 Data가 차지하는 공간을 줄이고 효율적으로 사용하기 위해 도입된 것이 바로 Achive Storage Engine이다.

 

MySQL에서는 그 동안 빈번히 사용되지 않는 대용량 Data를 처리하기 위해 압축 MyISAM Table이라는 것을 사용했다. Achive Storage Engine이 압축 MyISAM Table에 비해 어떤 장점이 있는지 살펴보자.

 

압축 MyISAM Table MyISAM Table을 압축해 보관하는 것으로써 반드시 Table이 오프라인 상태여야 했지만 Achive Table Online 상태에서 모든 작업을 할 수 있다.

• MyISAM Table
을 압축하기 위해서는 DBA가 운영체제 상에서 myisampack이라는 유틸리티를 실행시켜야 했지만 Achive Table MySQL 클라이언트 상에서 MySQL SQL 커맨드로써 가능하다.

압축 MyISAM Table은 오직 SELECT만 가능하였지만 Achive Table SELECT INSERT가 모두 가능하며 끊김 없는 읽기 메커니즘을 통해 쓰는 동안 읽기 작업이 중단되지 않는다.

• Achive Table
은 일반 MyISAM Table에 비해 75%나 용량이 감소하며 압축 MyISAM Table에 비해서도 7% 이상 용량이 작다.

 

5.2 적합한 사용처

해를 두고 계속되는 Data를 위한 Data ware house

Data 저장 Application

Data 검사

 

6. Federated

6.1 기본적인 특징

l        5.0에 새롭게 도입됨

l        원격의 물리적 Data 베이스에 대한 논리적 Data 베이스를 생성

l        하나의 Data 베이스에서 다른 타겟 오브젝트로의 포인터역할

l        원격 Data 접근을 위한 특별한 미들웨어가 필요하지 않음

l        실행 속도는 네트워크 요소에 따라 좌우됨

l        실제 Data 베이스의 Engine 특성에 따라 처리됨

l        Table 정의를 통한 SSL보안 처리

l        모든 SQL 오퍼레이션 지원( as per target object)

 

6.2 적합한 사용처

분산 Data 베이스 환경

Federated Storage Engine은 오라클의 DB Link와 같은 기능의 Storage Engine으로써 원격 서버에 있는 Table을 로컬 Table과 같이 사용할 수 있도록 한다. 이를 통해 여러 대의 MySQL 서버를 용도에 따라 구분하고 필요한 경우에는 서로 참조해 사용할 수 있다.

 

Federated Storage Engine의 사용은 매우 간단한 작업만으로 가능하다. 두 대의 MySQL 서버를 사용한다고 가정하고 어떻게 Federated Storage Engine을 사용할 수 있는지 알아보자. 먼저 실제로 Table이 생성되고 Data가 저장될 MySQL 서버에 다음과 같이 Table을 만들었다.

 

그리고 이 Table은 원격에서 사용하는 서버에 다음과 같이 Federated Storage Engine 기반의 Table을 만들어서 바로 사용할 수 있다.

 

 

7. 기타 StorageEngine

7.1 기본적인 특징

l        RAM에 상주하는 Memory Table; Data가 셧다운시 사라짐

l        Memory Table B-tree Hash Index 둘다 지원함

l        BDB Table Commit/rollback Transaction 지원을 제공

l        Merge Table은 기본적으로 MyISAM Table의 모음

l        Merge TableData 파티셔닝의 한 방법

l        커스텀 Storage Engine 역시 Mysql에 사용가능

 

7.2 적합한 사용처

l        Memory: Data 오브젝트의 빠른 검색

l        BDB : Online Transaction 프로세싱

l        Merge : 분할된 Data를 가진 대용량 Data 베이스

l        커스텀 : 특별 Application 상황


로깅이나 검색에서는 MyISAM

등록정보나 배너시스템에서는 InnoDB
임시Table, 뉴스의 헤드라인, 로드가 많은 페이지의 Data에 대해선 heap을 사용한다.

출처 : 청주콜라님 네이버 블로그
원문 : 델파이 단축키


[폼 디자이너]

Ctrl + 방향키(←↑→↓)                     : 컴포넌트 위치 이동

Shift + Ctrl + 방향키(←↑→↓)              : 컴포넌트 위치 이동(빠르게)

Shift + 방향키(←↑→↓)                      : 컴포넌트 크기 변경

선택 후 ESC                                        : Parent컴포넌트로 이동

 

[오브젝트 인스펙터]

Ctrl + ↓                            : 컴포넌트 선택기 팝업
(팝업 후 알파벳 문자 입력하여 해당 컴포넌트로 이동 가능)

Alt + ↓                             : Property Combo 선택기 팝업
(팝업 후 알파벳 문자 입력하여 해당 컴포넌트로 이동 가능)

Ctrl + Enter                           : 열거형 Property값을 다음 값으로 변경

+선택 후, ←,→                           : 하위 Property펼치기,접기

Ctrl + Tab                           : Properties,Events탭 전환

..선택 + Ctrl + Enter     : Property Editor 열기

Tab                                               : Property Name/Value토글,  Property 쪽에 Cursor 가 위치한
 상태에서 키보드를 치면 Incremental Search

 

            

 

[코드 인사이트(Code Insight)]

Ctrl + Space                                : 코드완성 마법사

Ctrl + Shift                     : 메소드 파라미터 팁

Ctrl + J                                : 코드 템플릿 사용

Ctrl + Shift + Up/Down                Object 의 Member function/procedure 의 선언부와 구현부를 이동

Ctrl + Shift + C         Object 의 Member function/procedure 의 선언부와 구현부중

                         의 한가지를 코딩 한후 누르게 되면 나머지 선언부 또는 구

                         현부를 완성시켜줌

 

[코드탐색기]

F2                                                : 이름 변경하기(Uses제외)

DoubleClick                                        : 소스코드 탐색기의 해당 코드로 이동

Ctrl + Shift + E                           : 탐색기<->에디터 창 이동

 

 


 

[소스코드 에디터]

Ctrl + S                           : 파일 저장

Ctrl + F4                                  : 파일 닫기

Ctrl + Shift + C                            : Method/Procedure/Property자동생성

Ctrl + Shift + ↑(↓)                       : 선언부,구현부 상호간 이동

Ctrl + ←,→                              : 이전 단어, 다음 단어

Ctrl + Shift + ←,→                       : 이전 단어, 다음 단어까지 블록

Ctrl + Home                                        : 소스코드 맨 앞으로 이동

Ctrl + End                                        : 소스코드 맨 뒤로 이동

Shift + Home                                        : 현재 라인 맨 앞까지 블럭

Shift + End                                        : 현재 라인 맨 뒤까지 블럭

Ctrl + PageUp                              : 현재 화면의 맨 윗줄로 이동

Ctrl + PageDown                           : 현재 화면의 맨 아랫줄로 이동

Ctrl + Shift + I(U)                          : 현재 라인에 들여쓰기(내어쓰기)

Shift + Alt + 방향키(←↑→↓)                : 블록 사각형 지정

Ctrl + KL                                        : 캐럿이 Line Home에 있을 때, Line 블럭

Ctrl + T                           : 현재 위치에서 마지막 단어까지 삭제

Ctrl + I                                     : 블럭 지정된 문자를 공백으로 변환

Alt + {, }                                        : '{'괄호 앞,뒤에서 사용. 짝 찾기.

Ctrl + N                                   : 다음 Line 맨 앞으로 줄바꿈

Ctrl + M                                        : 줄바꿈

Alt + BackSpace                            : 실행 취소

Ctrl + E                                    : 한 글자 찾기

Ctrl + ↑(↓)                               : 캐럿 고정 스크롤

Ctrl + F                                    : 찾기

Ctrl + R                                    : 바꾸기

F3                                                : Search Again

Ctrl + Enter : 현재위치의 단어로 File Open 시도 현재 Path 에서 찾지 못하면 Dialog

Ctrl + O, C  Column Block Mode (또는 Alt키를 누른상태에서 Mouse를 드래그 해 

                 도 컬럼블럭 설정이 가능, Shift + Alt + Arrow Key 를 사용해도 컬

                 럼블럭 설정)

Ctrl + O, K Line Block Mode

 

[델파이 GUID 생성키]

Ctrl + Shift + G

 

[화면이동]

F11   View Object Inspector

F12    Toggle Form/Unit

Alt + 0   View Window List

Ctrl + F12  View Unit

Shift + F12  View Form

Ctrl + PgUp/PgDown  CodeEditor에서 현재페이지의 첫줄(PgUp), 마지막줄(PgDown)로 이동

 

[컴파일/실행]

Ctrl + F9  Compile

F9  Run

F7  Trace Into

F8  Trace Over

F5  Set Breakpoint

Ctrl + F5  Add Watch

Ctrl + F7  Evaluate/Modify

 

 

 

[키 매크로]

Ctrl + Shift + R Record

* 키매크로 작성순서 :  <Ctrl+Shift+R> -> <원하는키> -> <Ctrl+Shift+R>

Ctrl + Shift + P Play

출처 : 최선을 다하여 사는 중
원문 : vmware tool 설치하기

vmware를 더 잘 사용하기 위해, vmware tool을 설치하자

메뉴 중 VM-> Install VMware Tools..를 클릭

바탕화면에 cd 모양이 생기면 클릭해서 VMwareTools-버전.tar.gz 파일을 압축을 풀기 위해 다른 폴더로 옮긴다.(마우스로 끌어넣어도 되고, cp 명령을 사용해도 된다)

다음 명령을 사용하여 압축을 푼다
tar -zxvf VMwareTools-버전명.tar.gz

vmware-tools-distrib 라는 폴더가 생기면 그 안으로 들어가서
다음 명령을 하여 설치 시작(root 권한이어야 함)
./vmware-install-pi

설치하면서 enter를 치거나 yes를 쓰면 됨

해상도 조절 부분은 알맞은 번호를 쓴다.

설치 완료!

출처 : 최선을 다하여 사는 중 님 블로그
원문 :  vmware shared folder 만들기 

vmware를 사용할 때 window에 있는 파일을 공유하기 편하게 하기 위하여
shared folder를 사용한다.

설정하는 방법!!

vmware 메뉴에서 VM->Setting을 클릭
Options 탭에 보면 Shared Folders가 있다.

shared Folder를 클릭하면 오른쪽에 화면이 뜬다.
Add..버튼을 누르고 Host folder에 browse를 눌러 window에 있는 폴더를 선택하여 추가

일단 Enabled에 체크하고,
Read-only는 읽기 권한만 주려고 할 때 체크하고 OK버튼을 누르자!

이제 linux에서 /mnt/hgfs 폴더 밑에 보면 shared folder가 있다!!

+ Recent posts