Professional Documents
Culture Documents
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
.
(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.
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 ()
{
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
,
.
.
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++)
{
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
// .
while (n > 0)
{
r = m % n;
m = n;
n = r;
}
return m;
}
3.
149
. 582 129
.
[1] 582 = 1294 + 66
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