'2007/11/23'에 해당되는 글 3건

  1. 2007.11.23 :: 리눅스 커널 파라메터 2
  2. 2007.11.23 :: ASCII Code Table
  3. 2007.11.23 :: 한글 유니코드 값 구하는 공식
리눅스 2007. 11. 23. 14:19
# 커널이 할당할 수 있는 파일 핸들 최대값 조정 (max 65535)
# 128M -> 8192
# 256M -> 13684
# 512M -> 32768
# 1G -> 65536
# 2G -> 131072
fs.file-max = 65535

# 동시 사용자가 몰릴 경우에 대비해 received host대한 충분한 backlog 수치를 늘려주는 것이 좋음
net.core.netdev_max_backlog=2500

# 소켓 수신 큐 최대값과 기본값 조정.

# 일반적인 경우의 대용량 Serving을 위한 설정. 기본 값이 변경되는 경우 아파치 등의 웹서버 설정을 특별히 해줄 필요는 없다고 함.
net.core.rmem_default = 65536
net.core.rmem_max = 8388608

# 소켓 출력 큐 최대값과 기본값 조정.
# 일반적인 경우의 대용량 Serving을 위한 설정으로 더 적은 시스템콜로 웹페이지를 네트웍 스택에 보낼 수 있음.
# 기본 값이 설정되는 경우 아파치 등의 웹서버 설정을 특별히 해줄 필요는 없다고 함.

net.core.wmem_default = 65536
net.core.wmem_max = 8388608

# TCP layer의 수신 버퍼를 상향 조정
# 대량의 데이터를 클라이언트로 전송하는 경우에는 이 값을 추천. 
net.ipv4.tcp_rmem = 4096 87380 8388608

# TCP layer의 송신 버퍼를 상향 조정 대량의 데이터를 클라이언트로 전송하는 경우에는이 값을 추천.
net.ipv4.tcp_wmem = 4096 65536 8388608

# The tcp_mem variable defines how the TCP stack should behave when it comes to memory usage.
# TCP스택이 메모리를 어떻게 사용할지에 대한 메모리 페이지 단위 설정.
# 순서대로 min pressure max설정이다. tcp_wmem과 tcp_rmem설정에 따른 적정한 크기를 할당한다.
# IA32는 4KB가 한 개의 페이지이다.
# ※ 이 설정 값은 네트워크 성능에 영향을 큰 영향을 줄 수 있으므로 주의가 요구된다.
# {min} {pressure} {max}
net.ipv4.tcp_mem = 4096 4096 4096

# 유저 파일 핸들에 할당되지 않은 커넥션에 대해 몇번을 제거 시도를 할 것인지를 정하는 파라메터.
# 하이로드의 웹서버인 경우 이 값을 7이하로 떨어뜨릴 경우 “TCP: too many of orphaned sockets”와
# “Out of socket memory”에 대한 커널 메시지가 나타날 수 있다.
net.ipv4.tcp_orphan_retries = 7

# 클라이언트의 소켓으로부터 RST을 받아 TIME_WAIT 상태로 가는 경우 즉시 소켓을 종료시킴.
# 웹서버와 같은 유형의 서버에서는 소켓을 열고 닫는 회수가 많으므로 이 쪽을 튜닝하면
# net.ipv4.tcp_max_tw_buckets 값을 줄이는 설정을 해도 됨. 파일 서버와 같은 경우는 이 값을 기본값으로 놓는 것이 좋음.
net.ipv4.tcp_rfc1337 = 1

# SPECWeb99의 권고는 인트라넷 네트워크에서만 사용하는 네트웍인 경우 selective  acknowledgements를 off 시킴으로써 성능이 향상된
다고 함. SPECWeb99의 테스트는 완전한 1-2hop 이내의 네트워크 토폴로지를 가정하였으므로 일반적으로는 이 부분을 on으로 해주는 좋다
는 권고.

# ※ 외부 접속을 받는 네트워크에선 on으로 해야함.
net.ipv4.tcp_sack = 1

# SPECWeb99의 권고는 인트라넷 네트워크에서만 사용하는 서버인 경우 timestamps 생성를 off 시킴으로써 성능이 향상됨.
# SPECWeb99의 테스트는 완전한 1-2hop 이내의 네트워크 토폴로지를 가정하였으므로 일반적으로는
# 이 부분을 on으로 해주는 좋다는 권고. tcp_window_scaling 부분 참조
# ※ 외부 접속을 받는 네트워크에선 on으로 해야함
net.ipv4.tcp_timestamps = 1

# tcp_sack와 tcp_timestamps의 경우와 같은 튜닝 관점이다.
# 단, rmem, wmem과 tcp_rmem, tcp_wmem의 버퍼 상향 조정시에는
# tcp_timestamps와 함께 on 설정을 해주어 윈도크기를 조절하도록 하는 것이 좋다고 권고함.
net.ipv4.tcp_window_scaling = 1

# KEEPALIVE 시간을 줄이면 비정상적으로 stale된 접속을 해제하는 시간을 줄일 수 있음.
net.ipv4.tcp_keepalive_time = 1300

# 소켓의 listen backlog 값 조정으로 동시접속이 몰릴 경우에 대한 최적화
net.ipv4.tcp_max_syn_backlog = 8192

# FIN_TIMEOUT 대기 시간을 줄이면 끊어진 소켓의 소거 시간을 줄일 수 있음.
net.ipv4.tcp_fin_timeout = 30

# 새 접속에서 사용할 수 있는 포트의 사용 가능 범위를 확장.
net.ipv4.ip_local_port_range = 16384 65536

# DOS 공격 중의 하나인 SYN flooding 공격을 막아주도록 On으로 변경.
# 방화벽으로부터 보호되고 있어도 위 공격에 대한 대비책이 없다면 켜주는 것이 좋으나 성능에 영향이 있으며,
# 이 부분을 켜주는 것 보다는 tcp_
net.ipv4.tcp_syncookies = 1

# off상태면 두 네트웍 인터페이스간 IP 패킷 전달을 해제합니다. 
net.ipv4.ip_forward = 0

# 웹서버와 같은 유형의 서버에서 high load에서는 사용자 소켓의 종료 진행에서
# TIME_WAIT 상태가 되는데 이 것의 양이 60초간 지속 된다는 것을 가정하고 이 값을 충분히 높여 주는 것이 좋음.
net.ipv4.tcp_max_tw_buckets = 2000000

# Linux 2.4에서 주의해야할 점.
# 주어진 경로에 대한 ssthread 값이 라우팅 테이블에 캐시되는데 이 값으로 윈도 값 설정이 감소하게 되면
# 이후 10분간의 모든 다른 커넥션에 이 값을 사용하게 되므로 웹서버등에서는 켜주는 것이 좋을 것 같다. 
net.ipv4.route.flush = 1

# 가상 메모리 하부 시스템의 성능 향상. 
# 가상 메모리 및 버퍼 메모리 관리에 대한 성능을 높여줌.
vm.bdflush = 100 1200 128 512 15 5000 500 1884 2

# 브로드캐스브, 멀티캐스트 주소에 ICMP ECHO 요청을 막음. smurf 공격 방지용
#
net.ipv4.icmp_echo_ignore_broadcasts = 1

# SRR 옵션으로 패킷들을 수용한다. IP source routing 을 제어한다. 보통 호스트로
# 향하게 하는 것을 권장한다. TRUE (router) FALSE (host)
#
net.ipv4.conf.all.accept_source_route = 0

#net.ipv4.conf.all.send_redirects=0
#net.ipv4.conf.all.accept_redirects=0
# DOS 공격 중 하나인 IP Spoofing을 Source Route 를 검사해서 방지합니다.
# 방화벽에서 막아주거나 외부에 노출되어 있지 않은 서버 등 공격의 우려가 없다면 끄는 것이 좋음.
# 알 수 없을 경우 on으로 설정해둡니다.
# RFC182에 따른 IP spoof 방지를위한 설정(커널 2.2이상 버전)
#
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1

# Log Spoofed Packets, source Routed Packets, Redirect packetes
# ip주소를 스푸핑한다고 예상되는 경우 로그에 기록하기
#
net.ipv4.conf.all.log_martians = 1

# 공유 메모리 최대값 조정
kernel.shmmax=3800000000

# 세마포어 최대값 조정 
# 의미: {배열당 최대 SEM 수}{최대SEM시스템넓이}{SEMOP호출당최대OP수}{최대배열수} 
# 공식: {최대SEM시스템넓이} = {최대 배열 수} x {배열당 최대 SEM 수} (DB2 튜닝문서에 따름)
kernel.sem=1000 32000 32 512

# 메시지큐 시스템 크기 조정
kernel.msgmni = 1024
posted by 티니
:
Language 2007. 11. 23. 14:08

10진수

16진수

8진수

2진수

ASCII

10진수

16진수

8진수

2진수

ASCII

0

0×00

000

0000000

NULL

64

0×40

100

1000000

@

1

0×01

001

0000001

SOH

65

0×41

101

1000001

A

2

0×02

002

0000010

STX

66

0×42

102

1000010

B

3

0×03

003

0000011

ETX

67

0×43

103

1000011

C

4

0×04

004

0000100

EOT

68

0×44

104

1000100

D

5

0×05

005

0000101

ENQ

69

0×45

105

1000101

E

6

0×06

006

0000110

ACK

70

0×46

106

1000110

F

7

0×07

007

0000111

BEL

71

0×47

107

1000111

G

8

0×08

010

0001000

BS

72

0×48

110

1001000

H

9

0×09

011

0001001

HT

73

0×49

111

1001001

I

10

0×0A

012

0001010

LF

74

0×4A

112

1001010

J

11

0×0B

013

0001011

VT

75

0×4B

113

1001011

K

12

0×0C

014

0001100

FF

76

0×4C

114

1001100

L

13

0×0D

015

0001101

CR

77

0×4D

115

1001101

M

14

0×0E

016

0001110

SO

78

0×4E

116

1001110

N

15

0×0F

017

0001111

SI

79

0×4F

117

1001111

O

16

0×10

020

0010000

DLE

80

0×50

120

1010000

P

17

0×11

021

0010001

DC1

81

0×51

121

1010001

Q

18

0×12

022

0010010

SC2

82

0×52

122

1010010

R

19

0×13

023

0010011

SC3

83

0×53

123

1010011

S

20

0×14

024

0010100

SC4

84

0×54

124

1010100

T

21

0×15

025

0010101

NAK

85

0×55

125

1010101

U

22

0×16

026

0010110

SYN

86

0×56

126

1010110

V

23

0×17

027

0010111

ETB

87

0×57

127

1010111

W

24

0×18

030

0011000

CAN

88

0×58

130

1011000

X

25

0×19

031

0011001

EM

89

0×59

131

1011001

Y

26

0×1A

032

0011010

SUB

90

0×5A

132

1011010

Z

27

0×1B

033

0011011

ESC

91

0×5B

133

1011011

[

28

0×1C

034

0011100

FS

92

0×5C

134

1011100

\

29

0×1D

035

0011101

GS

93

0×5D

135

1011101

]

30

0×1E

036

0011110

RS

94

0×5E

136

1011110

^

31

0×1F

037

0011111

US

95

0×5F

137

1011111

_

32

0×20

040

0100000

SP

96

0×60

140

1100000

.

33

0×21

041

0100001

!

97

0×61

141

1100001

a

34

0×22

042

0100010

"

98

0×62

142

1100010

b

35

0×23

043

0100011

#

99

0×63

143

1100011

c

36

0×24

044

0100100

$

100

0×64

144

1100100

d

37

0×25

045

0100101

%

101

0×65

145

1100101

e

38

0×26

046

0100110

&

102

0×66

146

1100110

f

39

0×27

047

0100111

'

103

0×67

147

1100111

g

40

0×28

050

0101000

(

104

0×68

150

1101000

h

41

0×29

051

0101001

)

105

0×69

151

1101001

i

42

0×2A

052

0101010

*

106

0×6A

152

1101010

j

43

0×2B

053

0101011

+

107

0×6B

153

1101011

k

44

0×2C

054

0101100

'

108

0×6C

154

1101100

l

45

0×2D

055

0101101

-

109

0×6D

155

1101101

m

46

0×2E

056

0101110

.

110

0×6E

156

1101110

n

47

0×2F

057

0101111

/

111

0×6F

157

1101111

o

48

0×30

060

0110000

0

112

0×70

160

1110000

p

49

0×31

061

0110001

1

113

0×71

161

1110001

q

50

0×32

062

0110010

2

114

0×72

162

1110010

r

51

0×33

063

0110011

3

115

0×73

163

1110011

s

52

0×34

064

0110100

4

116

0×74

164

1110100

t

53

0×35

065

0110101

5

117

0×75

165

1110101

u

54

0×36

066

0110110

6

118

0×76

166

1110110

v

55

0×37

067

0110111

7

119

0×77

167

1110111

w

56

0×38

070

0111000

8

120

0×78

170

1111000

x

57

0×39

071

0111001

9

121

0×79

171

1111001

y

58

0×3A

072

0111010

:

122

0×7A

172

1111010

z

59

0×3B

073

0111011

;

123

0×7B

173

1111011

{

60

0×3C

074

0111100

<

124

0×7C

174

1111100

|

61

0×3D

075

0111101

=

125

0×7D

175

1111101

}

62

0×3E

076

0111110

>

126

0×7E

176

1111110

~

63

0×3F

077

0111111

?

127

0×7F

177

1111111

DEL

posted by 티니
:
Language 2007. 11. 23. 14:07
현대 한글 유니코드 값 구하는 공식은 다음과 같다.

[{(초성)×588}+{(중성)×28}+(종성)]+44032

예를 들어, ‘뷁’이라는 글자의 유니코드 값을 구한다면

  • 초성은 ㅂ이므로 7,
  • 중성은 ㅞ이므로 15,
  • 종성은 ㄺ이므로 9가 된다.

이 값을 위 공식에 대입하면 {(7×588)+(15×28)+9}+44032가 된다. 이를 계산하면 48577이 나온다.
곧, ‘뷁’의 10진수 유니코드 값은 48577이다.

이 코드 앞에 &#을 붙이면 된다...

따라서 &#48577;을 쓰면 ‘뷁’을 얻을 수 있다.

원리

이 공식이 성립할 수 있는 까닭은 유니코드에 현대 한글 영역이 가나다순으로 11172글자가 쭉 배열돼 있기 때문이다.

  • 끝에 44032를 더하는 까닭은 첫 번째 현대 한글 ‘가’의 코드가 44032(16진수 U+AC00)이기 때문이다.
  • 초성 값에 588을 곱하는 까닭은 초성이 588(=21×28)글자마다 바뀌기 때문이다. 이때 21은 중성 개수이고 28은 종성 개수이다.
  • 중성 값에 28을 곱하는 까닭은 중성이 28글자마다 바뀌기 때문이다. 이때 28은 종성 개수이다.

초성

  • ㄱ 0
  • ㄲ 1
  • ㄴ 2
  • ㄷ 3
  • ㄸ 4
  • ㄹ 5
  • ㅁ 6
  • ㅂ 7
  • ㅃ 8
  • ㅅ 9
  • ㅆ 10
  • ㅇ 11
  • ㅈ 12
  • ㅉ 13
  • ㅊ 14
  • ㅋ 15
  • ㅌ 16
  • ㅍ 17
  • ㅎ 18

중성
  • ㅏ 0
  • ㅐ 1
  • ㅑ 2
  • ㅒ 3
  • ㅓ 4
  • ㅔ 5
  • ㅕ 6
  • ㅖ 7
  • ㅗ 8
  • ㅘ 9
  • ㅙ 10
  • ㅚ 11
  • ㅛ 12
  • ㅜ 13
  • ㅝ 14
  • ㅞ 15
  • ㅟ 16
  • ㅠ 17
  • ㅡ 18
  • ㅢ 19
  • ㅣ 20

종성
  • 0
  • ㄱ 1
  • ㄲ 2
  • ㄳ 3
  • ㄴ 4
  • ㄵ 5
  • ㄶ 6
  • ㄷ 7
  • ㄹ 8
  • ㄺ 9
  • ㄻ 10
  • ㄼ 11
  • ㄽ 12
  • ㄾ 13
  • ㄿ 14
  • ㅀ 15
  • ㅁ 16
  • ㅂ 17
  • ㅄ 18
  • ㅅ 19
  • ㅆ 20
  • ㅇ 21
  • ㅈ 22
  • ㅊ 23
  • ㅋ 24
  • ㅌ 25
  • ㅍ 26
  • ㅎ 27
직접 테이블을 보고 싶다면...

posted by 티니
: