You are on page 1of 64

w w w. h a n b i t . c o .

k r

!
!


C !


, !

SDK 5.0 !

, LG
!

,
JavaFX, NIO

,
Daum
''

cafe.daum.net/superdroid

http://goo.gl/tJK3Tu

cafe.naver.com/thisisjava

| 1,164 | 45,000

| 708 | 25,000

| 1,224 | 30,000

w w w. h a n b i t . c o . k r

HTML5 +
CSS3
HTML5 1

JavaScript +
jQuery

HTML5 !

,
!

HTML5

| 624 | 30,000

| 980 | 32,000

HTML5 +
CSS3

Node.js

, ,
Node.js ?


HTML5

Node.js .

HTML5

| 484 | 25,000

| 700 | 32,000

:

2015 10 20
/
() / 7 83 () IT
023255544 / 023367124
1999 6 24 101779 / ISBN 978896848227-4 93000
/ /
, , ,
, , / , , /
()
. . .
www.hanbit.co.kr / ask@hanbit.co.kr

Published by HANBIT Media, Inc. Printed in Korea


Copyright 2015 & HANBIT Media, Inc.
() .
.

.
(writer@hanbit.co.kr) .
() .

12 .
.
10
.
.
.

.
,

12 .
.

12 .

.
< > ,
. .

,
, .
MOOC, , .
.
. .
.
, , , API
.
.
(maneuverability) ,
. -
.
IT ( ) API
. ( , )
.


.
.

DNA .
,
.



.

. ,
.
, ,
.
.

2015 9


()

: ( )
. 5

.
,
.

.
, .

.
.


.
( )
.
.

.

,
.
, .

(sort), (search), (binary tree), (list),
(backtracking), (hash), (Euclid) ,
(dynamic programming) (palindrome),
(doomsday ), (soundex ), (mersenne

prime) . 1 2
, 3 4
.
,
.

(http://hanbit.

co .kr /book /look .html ?isbn =978 -89 -6848 -227 -4 )


Baekjun.Lim@gmail.com .


.
.

.

. , ,
. .
.
.
.

.

2003 11

1.

/ 16

/ 28
.

P P / 46

/ 35

/ 50

/ 60

.
.

10

/ 68

/ 76

2.

/ 88

/ 95
.

/ 107

/ 113

/ 118

/ 126

.
.

/ 131

/ 136

11

3.

/ 146

, , / 161

RSA / 166

/ 185

() / 196

/ 168

RSA / 178

12

/ 152

RSA / 211

4.

N / 214

N / 218

/ 225
.

/ 233

/ 241

/ 258

. 2
.

/ 262

/ 266

13

1.
.



.

.

.
,

.
.

(web)
.
(customer company) , ,
,

.


(object) (
, , ).

.

16

.
.

.
.
(counter) 1 ,

1 .
.

.
HTTP
. ( ,

www.google.com )
?

.
.

. , ,
,
.

.
(framework)

1.

17


. (Java

Applet) .

(Java Virtual Machine) stop
destroy .

.

.
,
.

(manager)
.
.

.
.

18

(www.lucent.com)

(prototype)
(
)
.
.
 current_count
MAX_COUNT .
 current_count MAX_COUNT ,

current_count 1 .
 current_count MAX_COUNT
.
 current_count 1
.

1.

19

processPageOpenRequest ()
{

if (current_count < MAX_COUNT)


{

sendResponse ();
current_count++;
}

else
{

sendErrorMessage ();
}
}

processPageCloseRequest ()
{

current_count--;
}

processPageOpen

Request ,
processPageCloseRequest
. (multi-threading)
,

.
.

,
.

20

,
.
, current_count
.

. MAX_COUNT 10 ,
11
.

9 , 10 .
(log) current_count 10
.
(unit test) ,

.
(component)
.

.

.
( )
, ( !)
.

1.

21

.
.
(class) , ,
.

. 10 ,
Refresh ? .
11
.
10 , 11 (
) Refresh
. 10
, stop current_count 1
, 11
.
Refresh .
[ 1] processPageCloseMessage
[ 2] processPageOpenMessage

Refresh
.
. ,
Refresh
.

22



. ( )

.
URI http://test.test.test/test/Test.html .
<a href=http://test.test.test/test/Test.html> Test
</a> HTML Test .

10
.
. .
Refresh ?
.
.

1.

23

,
.

.

.

.
[ 1] processPageOpenMessage
[ 2] processPageCloseMessage

10
current_count , MAX_COUNT 10
. processPageOpenMessage if
current_count < MAX_COUNT false .
sendResponse , sendErrorMessage
.

. stop( )
,
.
,
() .
.

24

10
.

.

.


.
, ,
.
,
.

.

1.

25

.


.

, , , ,
NP .
,
.

.
, , ,
.

.
,

.


.
, .
.

26

,
.
.

The Art of Computer Programming 1, 3(, 2006)

1.

27

2.
.

.

, .

.

.
, , ,
, ,
.
.

2.

87


(sort) .

, .
API
.

.
( The Art of

Computer Programming)
30 .

88



.
- The Art of Computer Programming 3: (2)


(sorting) (ordering)
.
.
Since only two of our tape drivers were in working order, I was
ordered to order more tape units in short order, in order to order the
data several orders of magnitude faster.
(

.)

,
order
.
.
.

,

.
(divide and conquer) (recursive)

2.

89

, , ,

(
. . ).

(quick sort), (bubble sort),
(select sort), (insert sort), (merge sort),
(radix sort)
.
.

.
,
.

. (Tony

Hoare) 60
. ,

(Robert W. Floyd)
.
.

(pseudo code) .

90

quicksort (list)
{

if (length(list) < 2)
{

return list
}

x = pickPivot (list)
list1 = { y in list where y < x}
list2 = {x}
list3 = { y in list where y > x}
quicksort (list1)
quicksort (list3)
return concatenate (list1, list2, list3)
}

.
x .
[] x , .
() .
() .
[] , x, .


x .
x
0 x (
) .

2.

91

. x
(worst case) .

x
.
.

.
,
.
(cartoon)
. ,
.
.

92


.
.
,
.

. .
,

. . ?
?
.
.
.
array . array
(element) 1 ,
0 .
. ( 5. 10)
/*

* length array .
*/
int isSorted (int* array, int length)

( length
.

2.

93

length length . C

. 3 )
.
int isSorted (int* array, int length)
{

int index;
for (index = 0; index < length-1; index++)
{

if (array[index] > array[index+1])


{

return 0;
}
}

return 1;
}

( : C sizeof
. sizeof(array) array
, sizeof(array[0]) array
. sizeof(array)

sizeof(array[0]) array
. . )
. ?
? .

94

3.
.

CD .

.

.

.

3.

145

(www.donga.hs.kr)

.


. .
.

. .

146

, , .
.
.
(Stoikheia)
.
300 20
.

, ,
.

.
( )

.

.

.
.

.

.

3.

147

. 888 (www.health.uottawa.ca)

2,000
.
,
.
m n . m n
.
. n m n m , m n
. m n

148

(swap) . m n
.
m n . r .
 r 0 n . 0 m n
, n r .

.

. C .
int gcd (int m, int n)
{

if (n > m)
{
//

swap m n

//

m n

// .

swap

// .

swap (m, n);


}

while (n > 0)
{

r = m % n;
m = n;
n = r;
}

return m;
}

3.

149

. 582 129
.
[1] 582 = 1294 + 66

582 129 4, 66.


[2] 129 = 661 + 63

129 66 1, 63.
[3] 66 = 631 + 3

66 63 1, 3.
[4] 63 = 321 + 0
0 3.

m=nC+r ,
n m , r n .

(
. ).

m
n .

.

.
.
,

150

.
.

.
.

3.

151

4.
.


.

,
.
, ,
. N

.
, () ,
. . .

4.

213

60 ( C ) B
(Kenneth Thompson) (chess)
. 2000

, .

C
.

. C
.
.

. 20

214

.
, .
,
, .

(www.english.uga.edu)

C

. 20
C

.
, , , (John McCarthy)

.

.
.

4.

215


, .
,
IT .
N (N queens problem)
, .
N N
?


.
(backtracking) .
(recursion) (divide and conquer)
.

216

, (Warner Brothers)

8
, ( ) 8
. ()
,
(). N
(row), (column), (diagonal)
.

4.

217

4
4 .
.
(i, j) .

i
j (

218

).
(1, 1)
.


. (2, 1) (2, 2)
(2, 3) (2, 4) .
(2, 3) .

.
. ? (3, 1)

4.

219

. (3, 2)
. (3, 3)

. (3, 4) .
44 N ?
. . (2, 3) (2, 4)
(2, 3) .
(2, 4)
.
.
.
.
,
.
(2, 3)
(2, 4) .

220

.
(3, 1) .
(3, 2)? (3, 2)
. ,
. , (3, 2)
.

.
. (4, 1), (4, 2), (4, 3), (4, 4)
. 44

? . 44
.
,
.
.
?

4.

221


(1, 1)
. .
(1, 1)
(1, 2) .

(1, 2)
.
(2, 4)
.
.

222

. (3, 1)
. .

. (4, 3)
.

N=4 N .

. ( ) ,
, , ,

4.

223

.
.
.

.

224

w w w. h a n b i t . c o . k r

Hanbit eBook

Realtime
w w w. h a n b i t . c o . k r / e b o o k

DRM free!

eBook Oriented!

Hanbit eBook

Hanbit eBook

Realtime 70

Realtime 89
49

MFC

Hanbit eBook

Hanbit eBook

Realtime 90

Realtime 92
49

Vert.x
JavaScript
Promise
azu /


/
STOMP MQTT IoT
/
Mobile and Web Messaging
/

w w w. h a n b i t . c o . k r

! 2015

! 2015

vol.1
/ / 30,000

vol.1
/ / 30,000


.
vol.2

,

/ 13,000

< > .


Zero to Maker

vol.2

/ / 14,000

. ,

/ 13,000

< > .

CEO ,
.

Make:

,
.
,
/

Zero to Maker

:
/ / 14,000

Maker Pro
.

/

CEO
,


. .
.

Make:
,
,
/

Maker Pro

You might also like