-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrss.xml
913 lines (913 loc) · 70.9 KB
/
rss.xml
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[WEET 📚]]></title><description><![CDATA[개발자 추천 도서]]></description><link>http://weet.io</link><generator>GatsbyJS</generator><lastBuildDate>Wed, 15 Jan 2020 23:40:38 GMT</lastBuildDate><item><title><![CDATA[about]]></title><description><![CDATA[WEET 다시 weet로 돌아가기]]></description><link>http://weet.io/resume-en/</link><guid isPermaLink="false">http://weet.io/resume-en/</guid><pubDate>Sat, 11 Jan 2020 13:29:39 GMT</pubDate><content:encoded><h1 id="weet" style="position:relative;"><a href="#weet" aria-label="weet permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>WEET</h1>
<div align="center">
위트 서점을 찾아주셔서 감사합니다!<br/>
개발자에게 유용한 책 정보 모아서 추천드릴 수 있도록 차근차근 준비할게요!
</div>
<p><a href="http://weet.io">다시 weet로 돌아가기</a></p></content:encoded></item><item><title><![CDATA[자바 웹 프로그래밍 Next Step]]></title><description><![CDATA[이 책은 웹 개발 입문의 껍질(책에서는 ‘양파껍질’로 표현한다)을 막 벗겨낸 경력…]]></description><link>http://weet.io/books/programming/9788997924240/</link><guid isPermaLink="false">http://weet.io/books/programming/9788997924240/</guid><pubDate>Mon, 19 Sep 2016 00:00:00 GMT</pubDate><content:encoded><div class="gatsby-remark-grid-system row"><div class="gatsby-remark-grid-system col col-12 col-sm-12 col-md-5 col-lg-5 col-xl-5"><p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 200px;"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 130.78602620087335%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIDAQT/xAAYAQACAwAAAAAAAAAAAAAAAAAAAQIEBf/aAAwDAQACEAMQAAAB7J2TPsOMRazsMDBH/8QAHBAAAgEFAQAAAAAAAAAAAAAAAQIQABESEyAx/9oACAEBAAEFAmYrWyD5DC4w5//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABYRAQEBAAAAAAAAAAAAAAAAABARAf/aAAgBAgEBPwHIU//EABoQAAICAwAAAAAAAAAAAAAAAAAxASACMqH/2gAIAQEABj8CQu1cwb5V/8QAHBABAAMAAwEBAAAAAAAAAAAAAQARIRBBUXHB/9oACAEBAAE/IdDR7c00XejtC3UqZi9PxeMf6CDEbK9eOuCf/9oADAMBAAIAAwAAABAb5g7/xAAXEQADAQAAAAAAAAAAAAAAAAABEBEx/9oACAEDAQE/EDbqgX//xAAXEQEBAQEAAAAAAAAAAAAAAAABABEh/9oACAECAQE/EOHS2EGTf//EACEQAQACAgEDBQAAAAAAAAAAAAEAESExUWGBwUFxkaHw/9oACAEBAAE/EDHClqJTB0p/SHZ8REWSGN1HQ9eU/alNg31Gw8zvFzbd4b+4tMZgKa5xAXSVPCGyACgD2n//2Q=='); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="9788997924240 L"
title="9788997924240 L"
src="/static/1868f197eece62edcb4dbbafc811ff3f/9c38a/9788997924240_L.jpg"
srcset="/static/1868f197eece62edcb4dbbafc811ff3f/dd4e5/9788997924240_L.jpg 50w,
/static/1868f197eece62edcb4dbbafc811ff3f/ae1bf/9788997924240_L.jpg 100w,
/static/1868f197eece62edcb4dbbafc811ff3f/9c38a/9788997924240_L.jpg 200w,
/static/1868f197eece62edcb4dbbafc811ff3f/56b05/9788997924240_L.jpg 300w,
/static/1868f197eece62edcb4dbbafc811ff3f/28275/9788997924240_L.jpg 400w,
/static/1868f197eece62edcb4dbbafc811ff3f/5938c/9788997924240_L.jpg 458w"
sizes="(max-width: 200px) 100vw, 200px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</span></p></div><div class="gatsby-remark-grid-system col col-12 col-sm-12 col-md-7 col-lg-7 col-xl-7"><p>이 책은 웹 개발 입문의 껍질(책에서는 ‘양파껍질’로 표현한다)을 막 벗겨낸 경력 1년 이상의 초보개발자들을 대상으로 하는 책이다.</p><p>웹 서버, 프레임워크 등을 직접 제작해보고 테스트와 리팩토링을 통해 점진적 개선을 해나가면서 실무에 필요한 개발 능력과 웹에 대한 폭넓은 이해력을 높여준다.</p><p>10년 이상 자바 웹 프로그래머로 살아온 저자의 경험과, 3년 이상 NEXT에서 웹 서버 전공으로 학생들을 가르치면서 얻게 된 ‘학습’과 관련된 생각을 ‘양파껍질 학습법’이라는 저자만의 독특한 접근법으로 정리한 책이다.</p></div></div>
<h3 id="책-키워드" style="position:relative;"><a href="#%EC%B1%85-%ED%82%A4%EC%9B%8C%EB%93%9C" aria-label="책 키워드 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>책 키워드</h3>
<p><span class="badge badge-pill badge-danger">자바지기</span>
<span class="badge badge-pill badge-primary">백엔드 개발자</span>
<span class="badge badge-pill badge-warning">초보 개발자</span>
<span class="badge badge-pill badge-info">자바 웹 프로그래밍</span>
<span class="badge badge-pill badge-info">자바 웹 서버</span>
<span class="badge badge-pill badge-info">스프링 프레임워크</span>
<span class="badge badge-pill badge-info">테스트</span>
<span class="badge badge-pill badge-info">리팩토링</span>
<span class="badge badge-pill badge-info">의존관계 주입</span></p>
<h2 id="출판사-서평" style="position:relative;"><a href="#%EC%B6%9C%ED%8C%90%EC%82%AC-%EC%84%9C%ED%8F%89" aria-label="출판사 서평 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>출판사 서평</h2>
<p>대상 독자</p>
<p><code class="language-text">[가장 읽기에 적합한 대상독자]</code></p>
<ol>
<li>실무에서 스프링 프레임워크 기반으로 자바 웹 프로그래밍을 하고 있는 개발자로 내부 기술의 동작 원리를 학습하고 싶은 개발자. 경력으로 본다면 최소 1년 이상의 경험을 가진 자바 웹 개발자.</li>
<li>다른 개발자가 구현해 놓은 라이브러리, 프레임워크를 사용만 하는 것이 아니라 본인이 직접 라이브러리와 프레임워크를 구현하는 경험을 하고 싶은 개발자. 라이브러리와 프레임워크를 구현하면서 테스트, 리팩토링, 객체지향 설계 연습을 하고 싶은 개발자.</li>
<li>필자의 학습 방식과 자신의 학습 방식을 비교해 보면서 새로운 학습 방식을 찾고 싶은 개발자. 학습 방식을 비교해 보면서 자신의 현재 상태를 점검하고 부족한 부분을 찾아 다음 단계의 학습 로드맵을 설계하고 싶은 개발자.</li>
</ol>
<p><code class="language-text">[다음 단계로 적합한 대상 독자]</code></p>
<ol>
<li>이미 파이썬, 루비, PHP 기반으로 웹 프로그래밍을 해본 경험이 있는 개발자로 자바 기반의 웹 개발자로 전향하고 싶은 개발자. 자바 웹 개발자로 성장하기 위해 학습해야 할 지식과 로드맵을 찾고 있는 개발자.</li>
<li>웹 프로그래밍 경험은 없지만 C, C++ 등의 프로그래밍 경험이 있는 개발자로 자바 기반 웹 개발자로 전향하고 싶은 개발자.</li>
</ol>
<p><strong>새로운 프로그래밍 학습법을 제시한다!</strong></p>
<p>이 책은 일방적으로 지식을 전달하기 위한 책이 아니다. 책을 읽는 독자가 직접 무엇인가를 구현해 가면서 이와 관련한 지식을 학습하는 방식으로 구성되어 있다. 그렇다고 아무것도 없는 상태에서 무엇인가를 구현하라고 요구하는 것이 아니라, “요구사항 〉 힌트 〉 구현 〉 점진적 개선”이라는 학습 과정을 통해 혼자 힘으로 문제를 해결할 수 있도록 도움을 주고 있다.</p>
<p>누구나 아무것도 없는 상태에서 무엇인가를 구현하라고 하면 경험이 없는 상태에서는 두려움이 앞서 시도조차 하지 않는 경우가 많다. 이 책은 두려움보다는 문제를 해결해 가면서 자신감을 얻고, 성공의 맛을 느낄 수 있도록 설계된 책이다.</p>
<p><code class="language-text">[주요 내용]</code></p>
<p>1장은 프로그래밍을 처음 시작하는 개발자가 첫 번째 단계를 극복하기 위해 참고할 내용에 대해 다룬다.</p>
<p>2장은 문자열 계산기 구현을 통해 테스트와 리팩토링의 중요성에 대해 다룬다.</p>
<p>3장, 4장은 HTTP 웹 서버를 직접 구현하는 경험을 한다. 웹 클라이언트와 웹 서버가 HTTP를 통해 데이터를 어떻게 주고 받는지를 이해할 수 있다.</p>
<p>5장은 앞에서 구현한 HTTP 웹 서버를 리팩토링하는 경험을 한다.</p>
<p>6장은 세션을 직접 구현해보고 MVC 프레임워크 초기 버전을 구현하는 경험을 한다. 세션과 MVC 패턴에 대한 이해도를 높이고 있다.</p>
<p>7장은 JDBC API를 사용하는 과정에서 발생하는 중복 코드를 리팩토링을 통해 제거하고, 공통 라이브러리를 구현하는 경험을 한다.</p>
<p>8장은 AJAX를 지원하기 위해 JSON API를 제공하는 과정을 다룬다. 새로운 기능을 추가하기 위해 객체지향 설계와 개발이 가지는 의미에 대해 다룬다.</p>
<p>9장은 지금까지 학습한 과정을 제대로 이해했는지 검토하기 위해 자체 점검을 진행한다. 자신이 부족한 부분을 파악하고, 다음 단계를 위한 준비 단계로 삼는다.</p>
<p>10장은 지금까지 구현한 MVC 프레임워크의 부족한 부분을 찾아 개선하는 경험을 한다.</p>
<p>11장, 12장은 싱글톤 패턴 기반 개발의 한계점을 파악하고, 이를 개선하기 위해 의존관계 주입(Dependency Injection, 이하 DI)을 지원하는 프레임워크를 구현하는 경험을 한다.</p>
<p>13장은 지금까지의 학습 단계를 넘어 다음 단계로 학습할 주제와 각 주제별로 참고할 자료들을 공유하는 것으로 책을 마무리한다.</p>
<h2 id="저자-소개" style="position:relative;"><a href="#%EC%A0%80%EC%9E%90-%EC%86%8C%EA%B0%9C" aria-label="저자 소개 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>저자 소개</h2>
<p><code class="language-text">저자 박재성</code>은 프로그래밍을 통해 지속 가능한 삶을 살아가는 것에 관심이 많다. 최근에는 대한민국에서 자신의 색깔을 유지하며 행복한 삶을 살아가는 방법을 주변에 전하는 데 더 많은 관심을 가지고 있다. <a href="HTTPS://SLIPP.NET">SLIPP</a> 커뮤니티를 통해 다른 개발자와 온라인으로 소통하고, 오프라인 스터디를 통해 다양한 개발자들과 교류하고 있다. 저서로는 <code class="language-text">〈자바 세상의 빌드를 이끄는 메이븐〉(2011, 한빛미디어)</code>, <code class="language-text">프로그래머 그 다음 이야기(2011)</code>가 있다.</p>
<p>저자는 현재 NEXT INSTITUTE에서 웹 서버 전공 학생들에게 자바 웹 프로그래밍을 가르치면서 사람을 키우는 즐거움을 느끼고 있다. 나와 같은 반란군을 키우는 교육자이고 싶다.</p>
<p><strong>저자 책 소개</strong></p>
<p><a href="https://www.slipp.net/questions/456">https://www.slipp.net/questions/456</a></p>
<h2 id="목차" style="position:relative;"><a href="#%EB%AA%A9%EC%B0%A8" aria-label="목차 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>목차</h2>
<p>1장. 첫 번째 양파 껍질 벗기기<br/>
1.1 대한민국 IT 개발자 직군의 종류<br/>
1.2 개발자들에게 유용한 웹사이트들<br/>
1.3 처음에 배워야 하는 것들<br/>
1.4 일단 시작해 보자<br/>
1.5 본격적으로 웹 프로그래밍에 도전하기<br/>
1.6 학습 방법<br/></p>
<p>두 번째 양파 껍질 벗기기</p>
<p>2장 문자열 계산기 구현을 통한 테스트와 리팩토링<br/>
2.1 main() 메소드를 활용한 테스트의 문제점<br/>
2.2 JUnit을 활용해 main() 메소드 문제점 극복<br/>
2.3 문자열 계산기 요구사항 및 실습<br/>
2.4 테스트와 리팩토링을 통한 문자열 계산기 구현<br/>
2.5 추가 학습 자료<br/></p>
<p>3장 개발 환경 구축 및 웹 서버 실습 요구사항<br/>
3.1 서비스 요구사항<br/>
3.2 로컬 개발 환경 구축<br/>
3.3 원격 서버에 배포<br/>
3.4 웹 서버 실습<br/>
3.5 추가 학습 자료<br/></p>
<p>4장 HTTP 웹 서버 구현을 통해 HTTP 이해하기<br/>
4.1 동영상을 활용한 HTTP 웹 서버 실습<br/>
4.2 HTTP 웹 서버 구현<br/>
4.3 추가 학습 자료<br/></p>
<p>5장 웹 서버 리팩토링, 서블릿 컨테이너와 서블릿의 관계<br/>
5.1 HTTP 웹 서버 리팩토링 실습<br/>
5.2 웹 서버 리팩토링 구현 및 설명<br/>
5.3 서블릿 컨테이너, 서블릿/JSP를 활용한 문제 해결<br/>
5.4 추가 학습 자료<br/></p>
<p>6장 서블릿/JSP를 활용해 동적인 웹 애플리케이션 개발하기<br/>
6.1 서블릿/JSP로 회원관리 기능 다시 개발하기<br/>
6.2 세션(HttpSession) 요구사항 및 실습<br/>
6.3 세션(HttpSession) 구현<br/>
6.4 MVC 프레임워크 요구사항 1단계<br/>
6.5 MVC 프레임워크 구현 1단계<br/>
6.6 쉘 스크립트를 활용한 배포 자동화<br/>
6.7 추가 학습 자료<br/></p>
<p>7장 DB를 활용해 데이터를 영구적으로 저장하기<br/>
7.1 회원 데이터를 DB에 저장하기 실습<br/>
7.2 DAO 리팩토링 실습<br/>
7.3 동영상을 활용한 DAO 리팩토링 실습<br/>
7.4 DAO 리팩토링 및 설명<br/>
7.5 추가 학습 자료<br/></p>
<p>8장 AJAX를 활용해 새로고침 없이 데이터 갱신하기<br/>
8.1 질문/답변 게시판 구현<br/>
8.2 AJAX 활용해 답변 추가, 삭제 실습<br/>
8.3 MVC 프레임워크 요구사항 2단계<br/>
8.4 MVC 프레임워크 구현 2단계<br/>
8.5 추가 학습 자료<br/></p>
<p>9장 두 번째 양파 껍질을 벗기기 위한 중간 점검<br/>
9.1 자체 점검 요구사항(필수)<br/>
9.2 자체 점검 요구사항(선택)<br/>
9.3 자체 점검 확인<br/></p>
<p>10장 새로운 MVC 프레임워크 구현을 통한 점진적 개선<br/>
10.1 MVC 프레임워크 요구사항 3단계<br/>
10.2 MVC 프레임워크 구현 3단계<br/>
10.3 인터페이스가 다른 경우 확장성 있는 설계<br/>
10.4 배포 자동화를 위한 쉘 스크립트 개선<br/></p>
<p>11장 의존관계 주입(이하 DI)을 통한 테스트하기 쉬운 코드 만들기<br/>
11.1 왜 DI가 필요한가?<br/>
11.2 DI를 적용하면서 쌓이는 불편함(불만)<br/>
11.3 불만 해소하기<br/>
11.4 DI 프레임워크 실습<br/>
11.5 DI 프레임워크 구현<br/>
11.6 추가 학습 자료<br/></p>
<p>12장 확장성 있는 DI 프레임워크로 개선<br/>
12.1 필드와 setter 메소드에 @Inject 기능 추가<br/>
12.2 필드와 setter 메소드 @Inject 구현<br/>
12.3 @Inject 개선<br/>
12.4 설정 추가를 통한 유연성 확보<br/>
12.5 외부 라이브러리 클래스를 빈으로 등록하기<br/>
12.6 초기화 기능 추가<br/>
12.7 인터페이스, DI, DI 컨테이너<br/>
12.8 웹 서버 도입을 통한 서비스 운영<br/></p>
<p>13장 세 번째 양파 껍질 벗기기<br/>
13.1 스프링과 ORM 프레임워크<br/>
13.2 성능과 보안<br/>
13.3 프론트엔드 학습<br/>
13.4 설계, 테스트, 리팩토링<br/>
13.5 빌드, 배포 자동화 및 지속적 통합<br/>
13.6 개발 문화 및 프로세스 학습<br/></p>
<h2 id="책-정보" style="position:relative;"><a href="#%EC%B1%85-%EC%A0%95%EB%B3%B4" aria-label="책 정보 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>책 정보</h2>
<table>
<thead>
<tr>
<th></th>
<th align="center"></th>
</tr>
</thead>
<tbody>
<tr>
<td>저자</td>
<td align="center">박재성</td>
</tr>
<tr>
<td>출판사</td>
<td align="center">로드북</td>
</tr>
<tr>
<td>출간일</td>
<td align="center">2016.09.19</td>
</tr>
<tr>
<td>ISBN</td>
<td align="center">9788997924240</td>
</tr>
<tr>
<td>쪽수</td>
<td align="center">480쪽</td>
</tr>
<tr>
<td>크기</td>
<td align="center">174x225x25mm</td>
</tr>
<tr>
<td>무게</td>
<td align="center">758g</td>
</tr>
</tbody>
</table>
<p>파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음</p></content:encoded></item><item><title><![CDATA[코딩을 지탱하는 기술 (원리로 깨우치는 프로그래밍 기법)]]></title><description><![CDATA[…]]></description><link>http://weet.io/books/programming/9788994774480/</link><guid isPermaLink="false">http://weet.io/books/programming/9788994774480/</guid><pubDate>Thu, 17 Oct 2013 00:00:00 GMT</pubDate><content:encoded><div class="gatsby-remark-grid-system row"><div class="gatsby-remark-grid-system col col-12 col-sm-12 col-md-5 col-lg-5 col-xl-5"><p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 200px;"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 140%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAcABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBP/EABcBAQADAAAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAeLUzlU2TIoYH//EABkQAAIDAQAAAAAAAAAAAAAAAAABEBExIf/aAAgBAQABBQIdlIedGbGy2f/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABUQAQEAAAAAAAAAAAAAAAAAACEw/9oACAEBAAY/Ain/xAAeEAEAAgICAwEAAAAAAAAAAAABABExQRAhUWFxgf/aAAgBAQABPyENts1LAMD4n6fZbD1Oid8Lw3Ad0y9IdmOKHBP/2gAMAwEAAgADAAAAEPvSvf/EABYRAQEBAAAAAAAAAAAAAAAAAAABEf/aAAgBAwEBPxC6kY1//8QAFhEBAQEAAAAAAAAAAAAAAAAAEBEh/9oACAECAQE/EMKf/8QAHhABAQACAgIDAAAAAAAAAAAAAREAITFRQXFhgaH/2gAIAQEAAT8QcWAFEhr1idKmXk/mIBCewXn1krRQis685Aoa73gFH4xgkIlvjWvvDoqGBAhnjIBRsGHfeaeSzjJQbCr3n//Z'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="9788994774480 L"
title="9788994774480 L"
src="/static/0dcd4c79eecf50877a6f265572f642a7/9c38a/9788994774480_L.jpg"
srcset="/static/0dcd4c79eecf50877a6f265572f642a7/dd4e5/9788994774480_L.jpg 50w,
/static/0dcd4c79eecf50877a6f265572f642a7/ae1bf/9788994774480_L.jpg 100w,
/static/0dcd4c79eecf50877a6f265572f642a7/9c38a/9788994774480_L.jpg 200w"
sizes="(max-width: 200px) 100vw, 200px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</span></p></div><div class="gatsby-remark-grid-system col col-12 col-sm-12 col-md-7 col-lg-7 col-xl-7"><p>이 책은 프로그래밍 언어가 가지고 있는 다양한 개념이 ‘왜’ 존재하고 있는지를 설명한다. 세상에는 많은 프로그래밍 언어가 있으며 관련된 개념도 함수, 형, 스코프, 클래스, 상속 등 그 수를 헤아릴 수 없을 정도로 다양하다. 많은 프로그래밍 언어에서 공통적으로 사용하고 있는 개념도 있지만, 일부 언어만 채용하고 있는 개념도 많다. 이런 개념들은 ‘왜’ 탄생한 것일까? 본서의 목적은 그 이유를 알아내는 것이다.</p><p>이를 위해, 이 책은 언어 설계자의 관점에서 여러 언어를 비교하고 언어가 어떻게 변화되어 왔는지를 설명한다. 다양한 개념이 ‘왜’ 탄생했는지를 이해하게 되면 각 언어를 왜, 언제, 어떻게 사용해야 할지를 판단할 수 있게 된다. 또한 이후에 생겨날 새로운 개념도 쉽게 이해할 수 있는 밑거름이 될 것이다.</p><p>이 책은 프로그램 개발에 대한 핵심 개념을 쉽게 이해할 수 있어 개발자뿐만 아니라, 시스템 설계자나 관리자들에게도 큰 도움이 될 것이다.</p></div></div>
<h3 id="책-키워드" style="position:relative;"><a href="#%EC%B1%85-%ED%82%A4%EC%9B%8C%EB%93%9C" aria-label="책 키워드 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>책 키워드</h3>
<p><span class="badge badge-pill badge-danger">프로그래밍 책 추천</span>
<span class="badge badge-pill badge-primary">프로그래밍 원리</span>
<span class="badge badge-pill badge-primary">프로그래밍 개념</span>
<span class="badge badge-pill badge-warning">초보 개발자</span>
<span class="badge badge-pill badge-info">IT에 몸담은 이들을 위한 지적 생산 기술</span></p>
<h2 id="출판사-서평" style="position:relative;"><a href="#%EC%B6%9C%ED%8C%90%EC%82%AC-%EC%84%9C%ED%8F%89" aria-label="출판사 서평 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>출판사 서평</h2>
<p><code class="language-text">이 책의 목적은 여러분의 ‘왜’를 해결하는 것이다</code>
초보에서 한 단계 깊은 단계를 고민하는 법을 알려주는 책
코딩의 원리를 이해하다</p>
<p>세상에는 수많은 프로그래밍 언어가 존재한다. 읽어야 할 문서도 셀 수 없을 정도다. 하지만 여러분이 가지고 있는 시간은 제한되어 있어 모든 것을 습득하기엔 역부족이다.</p>
<p>또한 기술 변화 속도가 너무 빨라서 특정 언어나 툴에 관한 지식은 금방 쓸모 없게 된다. ‘변화하고 있는 지식’을 꾸준히 습득하지 않으면, 이미 학습한 지식도 점점 가치를 잃게 된다.</p>
<p>그러면 무엇을 학습하면 되는 것일까? 학습에는 3가지 중요한 포인트가 있다.</p>
<ul>
<li>비교를 통한 학습</li>
<li>역사를 통한 학습</li>
<li>만드는 것을 통한 학습</li>
</ul>
<p>첫 번째는 다수의 언어를 비교하는 것이다. 무엇이 그 언어만이 가진 특유의 개념이고, 무엇이 언어 간에 공통으로 사용되는 개념인지를 배울 수 있다.</p>
<p>두 번째는 언어의 발달 과정을 따라가는 것이다. 어떻게 탄생했고, 어떤 식으로 변화해 왔는지를 배움으로 ‘왜 이런 식으로 동작하고 있는지’에 대한 의문을 풀 수 있다.</p>
<p>세 번째는 직접 언어를 만드는 것이다. ‘나라면 어떻게 만들까?’를 생각함으로, 언어 설계자의 의도를 쉽게 이해할 수 있게 된다. 또한 실제로 만들어 봄으로써 자신이 잘 이해하지 못한 것을 알 수 있게 된다.</p>
<p>독자 여러분도 지금까지 다양한 책을 읽으면서 분명 ‘왜’라는 의문을 가진 적이 있을 것이다. 이 책의 목적은 여러분의 ‘왜’를 해결하는 것이다. 프로그래밍에 익숙하지 않은 독자들을 위해 ‘비교를 통한 학습’과 ‘역사를 통한 학습’ 방법에 많은 분량을 할애하고 있다. 이런 학습 방법 자체를 여러분들이 익힐 수 있다면, 이 책으로서는 대성공한 것이다.</p>
<p>예제코드 다운로드
<a href="http://nhiro.org/langbook/">http://nhiro.org/langbook/</a>
<a href="https://github.com/nishio/learn_language/tree/master/langbook">https://github.com/nishio/learn_language/tree/master/langbook</a></p>
<h2 id="저자-소개" style="position:relative;"><a href="#%EC%A0%80%EC%9E%90-%EC%86%8C%EA%B0%9C" aria-label="저자 소개 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>저자 소개</h2>
<p><code class="language-text">저자 : 니시오 히로카즈</code>
저자 니시오 히로카즈는 24살에 이학 박사 취득, 2007년부터 사이보즈 랩(CYBOZU LABS)에서 연구원으로 근무하고 있다. ‘시큐리티 &#x26; 프로그래밍 캠프 2011’에서 프로그래밍 언어 수업 관리 대표로 근무한 경험이 있고, 소프트웨어를 사용한 지식 창조 효율화와 소프트웨어 설계, 진화에 관심이 있다. 저서로는 《JYTHON 프로그래밍》, WEB+DB PRESS VOL.60 특집인 《프로그래머가 알아야 할 언어 설계 기본 지식》 등이 있다.</p>
<p><code class="language-text">역자 : 김완섭</code>
역자 김완섭은 대학에서 지리정보 공학을 전공했다. 일본에서 시스템 엔니지어로 5년간 근무했다. 일본 보험시스템 개발 담당을 시작으로, 일본 대기업 세콤(SECOM) 계열사인 파스코(PASCO)에서 일본 외무성, 일본 국토지리정보원 등 일본 정부기관을 대상으로 한 시스템 통합(SI) 업무를 담당했다. 이후 야후 재팬(YAHOO JAPAN)으로 직장을 옮겨 야후 맵(YAHOO MAP) 개발 담당 시니어 엔지니어로 근무하다가 2010년 귀국하여 SK에서 내비게이션 데이터 담당 매니저로 일했다. 지금은 또 다른 꿈을 찾아서 네덜란드에서 공부중에 있다. 역서로는 『서버 부하분산 입문』(제이펍)이 있다.</p>
<h2 id="목차" style="position:relative;"><a href="#%EB%AA%A9%EC%B0%A8" aria-label="목차 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>목차</h2>
<p>1장 효율적으로 언어 배우기<br/>
<br/>
1.1 비교를 통한 배움<br/></p>
<ul>
<li>규칙은 언어마다 다르다<br/></li>
<li>C 언어와 Ruby의 참거짓 값<br/></li>
<li>Java의 참거짓 값<br/>
<br/>
1.2 역사를 통한 배움<br/></li>
<li>언어 설계자의 의도를 이해하자<br/></li>
<li>어떤 언어를 배워야 하는지는 아무도 모른다<br/></li>
<li>언어에 의존하지 않는 보편적인 지식의 습득<br/>
<br/>
2장 프로그래밍 언어를 조감하다<br/>
<br/>
2.1 프로그래밍 언어 탄생의 역사<br/></li>
<li>케이블을 연결하다<br/></li>
<li>프로그램 내장 방식으로<br/></li>
<li>FORTRAN의 등장<br/>
<br/>
2.2 프로그래밍 언어 탄생의 목적<br/></li>
<li>나태 ? 프로그래머의 삼대 미덕<br/></li>
<li>언어에 따라 다른 ‘편리함’의 의미<br/>
<br/>
3장 문법의 탄생<br/>
<br/>
3.1 문법이란?<br/></li>
<li>연산자 우선순위<br/></li>
<li>문법은 언어 설계자가 정한 규칙<br/>
<br/>
3.2 스택 머신과 FORTH<br/></li>
<li>계산 순서<br/></li>
<li>연산 순서를 어떻게 표현할까?<br/></li>
<li>현재도 살아있는 스택 머신<br/>
<br/>
3.3 구문 트리와 LISP<br/></li>
<li>계산의 흐름<br/></li>
<li>계산 순서를 어떻게 표현할까?<br/></li>
<li>현재도 살아있는 구문 트리<br/>
칼럼: 이해력을 확인하기 위해서는 결과물(Output)을 확인한다<br/>
<br/>
3.4 중위 표기법<br/></li>
<li>구문 해석기<br/>
칼럼: 무엇을 배우면 좋을지 모르는 이유<br/></li>
<li>규칙간 마찰<br/>
<br/>
4장 처리 흐름 제어<br/>
<br/>
4.1 구조화 프로그래밍의 탄생<br/>
<br/>
4.2 if가 탄생하기 전<br/></li>
<li>if는 왜 있는 걸까?<br/></li>
<li>If-else는 왜 있는 걸까?<br/>
<br/>
4.3 while, 반복되는 if를 읽기 쉽게 표현<br/></li>
<li>while 문을 사용하는 방법<br/></li>
<li>while 문을 사용하지 않는 방법<br/>
<br/>
4.4 for, 수치를 증가시키는 while을 읽기 쉽게 표현<br/></li>
<li>for를 사용하는 방법<br/></li>
<li>for를 사용하지 않는 방법<br/></li>
<li>foreach, 처리 대상으로 반복 제어<br/>
<br/>
5장 함수<br/>
<br/>
5.1 함수의 역할<br/></li>
<li>이해(조직을 예로)<br/></li>
<li>재사용(부품을 예로)<br/></li>
<li>프로그램 재사용의 특징<br/>
<br/>
5.2 돌아가는 명령<br/></li>
<li>함수의 탄생<br/></li>
<li>돌아갈 목적지를 기록하기 위한 전용 메모리<br/>
칼럼: 이름<br/></li>
<li>스택<br/>
<br/>
5.3 재귀 호출<br/></li>
<li>내포 구조 데이터의 효율적 처리<br/></li>
<li>내포 구조를 다루는 방법<br/>
<br/>
6장 에러 처리<br/>
<br/>
6.1 프로그램도 실패를 한다<br/>
<br/>
6.2 실패를 어떻게 전달할까?<br/></li>
<li>반환값으로 실패를 전달한다<br/></li>
<li>실패하면 점프한다<br/>
<br/>
6.3 실패할 것 같은 처리를 묶는 구문<br/></li>
<li>John Good enough의 주장<br/></li>
<li>CLU에 도입<br/></li>
<li>C++에 도입<br/></li>
<li>Windows NT 3.1에 도입<br/>
<br/>
6.4 출구는 하나다<br/></li>
<li>왜 finally를 도입한 것일까?<br/></li>
<li>짝이 되는 처리를 반드시 실행한다<br/>
<br/>
6.5 어떤 경우에 예외를 던질까?<br/></li>
<li>함수 호출 시 인수가 부족한 경우<br/></li>
<li>배열 범위 밖에 있는 것을 취득하려고 했을 때<br/></li>
<li>틀리면 바로 예외를 던진다<br/>
<br/>
6.6 예외의 전파<br/></li>
<li>예외 전파의 문제점<br/></li>
<li>Java의 검사 예외<br/></li>
<li>검사 예외가 잘 사용되지 않는 이유<br/>
컬럼: 구체적인 지식과 추상적인 지식<br/>
칼럼: 이빨로 씹다<br/>
칼럼: 필요한 부분부터 흡수한다<br/>
<br/>
7장 이름과 스코프<br/>
<br/>
7.1 왜 이름이 필요할까?<br/></li>
<li>어떻게 이름을 붙일까?<br/></li>
<li>이름 충돌<br/></li>
<li>충돌 피하기<br/>
<br/>
7.2 스코프의 진화<br/></li>
<li>동적 스코프<br/></li>
<li>정적 스코프<br/>
<br/>
7.3 정적 스코프는 완성체인가?<br/>
칼럼: 다른 언어의 스코프<br/></li>
<li>내포 함수의 문제점<br/></li>
<li>외부 스코프에 재귀속되는 문제<br/>
<br/>
8장 형<br/>
<br/>
8.1 형(型)이란?<br/>
<br/>
8.2 수치를 On과 Off로 표현하는 방법<br/></li>
<li>자릿수 발명<br/></li>
<li>7 세그먼트 디스플레이<br/></li>
<li>주판<br/>
<br/>
8.3 한 자리에 필요한 램프는 몇 개일까?<br/></li>
<li>10 진수에서 2 진수로<br/></li>
<li>8 진수와 16 진수<br/>
<br/>
8.4 실수는 어떻게 표현할까?<br/></li>
<li>고정 소수점 ? 소수점을 어디에 붙일지 정한다<br/></li>
<li>부동 소수점 ? 어디부터 소수부인지의 정보 자체를 값에 포함시킨다<br/>
<br/>
8.5 형은 무엇을 위해 존재할까?<br/></li>
<li>형이 없을 때 발생하는 문제<br/></li>
<li>초기 FORTRAN의 형<br/></li>
<li>언어 처리계에 변수 종류를 알린다<br/></li>
<li>암묵의 형 승격<br/>
<br/>
8.6 형의 다양한 전개<br/></li>
<li>사용자 정의형과 객체 지향<br/></li>
<li>사양으로서 형<br/></li>
<li>총칭형, 제네릭스, 템플릿<br/></li>
<li>동적 형결정<br/></li>
<li>형 추론<br/>
칼럼: 대략적인 부분을 잡아서 조금씩 상세화한다<br/>
<br/>
9장 컨테이너와 문자열<br/>
<br/>
9.1 다양한 종류의 컨테이너<br/>
<br/>
9.2 왜 다양한 컨테이너가 존재할까?<br/></li>
<li>배열과 연결 리스트<br/></li>
<li>연결 리스트의 장단점<br/>
칼럼: O 기법 ? 계산 시간과 데이터량의 관계를 간단히 나타내는 것<br/></li>
<li>언어에 따른 차이<br/>
<br/>
9.3 사전, 해쉬, 연상 배열<br/></li>
<li>해쉬 테이블<br/></li>
<li>트리<br/></li>
<li>요소를 꺼내는 시간<br/></li>
<li>만능 컨테이너란 없다<br/>
<br/>
9.4 문자란?<br/></li>
<li>문자 집합과 문자 부호화 방식<br/></li>
<li>컴퓨터 이전 시대의 부호화<br/></li>
<li>EDSAC 문자 코드<br/></li>
<li>ASCII와 EBCDIC 시대<br/></li>
<li>Unicode에 의한 통일<br/>
<br/>
9.5 문자열이란?<br/></li>
<li>길이 정보를 가지고 있는 Pascal 문자열, 가지고 있지 않은 C 문자열<br/></li>
<li>한 문자가 16 비트인 Java 문자열<br/></li>
<li>Python 3에서 이루어진 설계 변경<br/></li>
<li>Ruby 1.9의 도전<br/>
<br/>
10장 병행 처리<br/>
<br/>
10.1 병행 처리란?<br/>
<br/>
10.2 잘게 분할해서 실행한다<br/>
<br/>
10.3 처리를 변경하는 2가지 방법<br/></li>
<li>협력적 멀티태스크<br/></li>
<li>선점적 멀티태스크 ? 일정 시간에 교대한다<br/>
<br/>
10.4 경합 상태 방지법<br/></li>
<li>경합 상태의 3가지 조건<br/></li>
<li>공유하지 않는다 ? 프로세스와 액터 모델<br/></li>
<li>변경하지 않는다 ? const, val, Immutable<br/></li>
<li>끼어들지 않는다<br/>
<br/>
10.5 락의 문제점과 해결책<br/></li>
<li>락의 문제점<br/></li>
<li>트랜잭션 메모리<br/></li>
<li>트랜잭션 메모리의 역사<br/>
트랜잭션 메모리는 성공할까?<br/>
<br/>
11장 객체와 클래스<br/>
<br/>
11.1 객체 지향이란?<br/></li>
<li>객체는 현실 세계의 모형<br/></li>
<li>클래스란?<br/>
<br/>
11.2 변수와 함수를 합쳐서 모형을 만드는 법<br/>
<br/>
11.3 방법 1: 모듈, 패키지<br/></li>
<li>모듈, 패키지란 무엇인가?<br/></li>
<li>Perl 패키지로 객체를 만든다<br/></li>
<li>모듈만으로는 부족하다<br/></li>
<li>별도의 데이터 저장소를 만든다<br/></li>
<li>인수로 개별 해쉬를 전달한다<br/></li>
<li>초기화 처리도 패키지에 넣는다<br/></li>
<li>해쉬와 패키지를 연결한다<br/>
<br/>
11.4 방법 2: 함수도 해쉬에 넣는다<br/></li>
<li>퍼스트 클래스<br/></li>
<li>함수를 해쉬에 넣는다<br/></li>
<li>복수 개 카운터를 만든다<br/></li>
<li>공유하고 있는 사물을 프로토타입으로 이동한다<br/></li>
<li>이것이 객체 지향?<br/>
<br/>
11.5 방법 3: 클로저<br/></li>
<li>클로저란?<br/></li>
<li>왜 클로저라고 부를까?<br/>
<br/>
11.6 방법 4: 클래스<br/></li>
<li>Hoare가 생각한 클래스<br/></li>
<li>C++ 클래스<br/></li>
<li>사양으로서 역할<br/></li>
<li>클래스의 3가지 역할<br/>
<br/>
12장 상속을 통한 재사용<br/>
<br/>
12.1 상속이란?<br/></li>
<li>상속에 관한 다양한 접근법<br/></li>
<li>상속은 양날의 칼<br/></li>
<li>리스코프의 치환 원칙<br/>
<br/>
12.2 다중 상속<br/></li>
<li>하나의 사물을 복수로 분류<br/></li>
<li>코드 재사용에 편리한 다중 상속<br/>
<br/>
12.3 다중 상속의 문제점 ? 거듭되는 충돌<br/></li>
<li>해결책 1: 다중 상속을 금지한다<br/></li>
<li>해결책 2: 메소드 해결 순서를 고민한다<br/></li>
<li>해결책 3: 처리를 섞는다<br/></li>
<li>해결책 4: 트레이트<br/>
칼럼: 끝에서부터 차례대로 베껴간다</li>
</ul>
<h2 id="책-정보" style="position:relative;"><a href="#%EC%B1%85-%EC%A0%95%EB%B3%B4" aria-label="책 정보 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>책 정보</h2>
<table>
<thead>
<tr>
<th></th>
<th align="center"></th>
</tr>
</thead>
<tbody>
<tr>
<td>저자</td>
<td align="center">니시오 히로카즈</td>
</tr>
<tr>
<td>출판사</td>
<td align="center">비제이퍼블릭</td>
</tr>
<tr>
<td>출간일</td>
<td align="center">2013.10.17</td>
</tr>
<tr>
<td>ISBN</td>
<td align="center">9788994774480</td>
</tr>
<tr>
<td>쪽수</td>
<td align="center">244쪽</td>
</tr>
<tr>
<td>크기</td>
<td align="center">150*210mm</td>
</tr>
<tr>
<td>무게</td>
<td align="center">385g</td>
</tr>
</tbody>
</table>
<p>파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음</p></content:encoded></item><item><title><![CDATA[리눅스 커맨드라인 완벽 입문서]]></title><description><![CDATA[이 책은 다른 플랫폼에서 옮겨 온 초보 리눅스 사용자들을 위한 것이다. 아마 독자들은 MS…]]></description><link>http://weet.io/books/programming/9788994774299/</link><guid isPermaLink="false">http://weet.io/books/programming/9788994774299/</guid><pubDate>Fri, 11 Jan 2013 00:00:00 GMT</pubDate><content:encoded><div class="gatsby-remark-grid-system row"><div class="gatsby-remark-grid-system col col-12 col-sm-12 col-md-5 col-lg-5 col-xl-5"><p><span
class="gatsby-resp-image-wrapper"
style="position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 200px;"
>
<span
class="gatsby-resp-image-background-image"
style="padding-bottom: 130.56768558951964%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAaABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAQCAwUB/8QAFgEBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAFyuXc2wqMl2X4GSa5H/8QAHRABAAICAgMAAAAAAAAAAAAAAQIDAAQRIRMUQf/aAAgBAQABBQKWrUZ4K19SrOXOwrWyOqyrHo16JEM+1AR//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAGxEAAgEFAAAAAAAAAAAAAAAAAAERAhITMVH/2gAIAQIBAT8BvqMr6LUkn//EACQQAAEDAQcFAAAAAAAAAAAAAAEAAhEhAxIxMlGRoQQQEyRB/9oACAEBAAY/AsvKgM5Ky8o+w+mNFPmdGtFeb1DtgnstJJvURa9oDTSfiMOGPbdU1X//xAAeEAEAAwEAAQUAAAAAAAAAAAABABEhMXGBocHR4f/aAAgBAQABPyEmxp5Q9JFwKdV+cLBZaqHPaN9516fEyR3W/RAgaAPX8g2mQKIHFF6qUa1ubHiEFA1yf//aAAwDAQACAAMAAAAQOz2w/8QAGREAAQUAAAAAAAAAAAAAAAAAAAEQESFB/9oACAEDAQE/EJUs1v/EABgRAQEBAQEAAAAAAAAAAAAAAAEAEUGh/9oACAECAQE/EBOsg4r2wpS9v//EACAQAQADAQACAQUAAAAAAAAAAAEAESExQVFhcYGRsfD/2gAIAQEAAT8Qoffe/wBguLEPGh779RYo00On5isRrGXLFfCJUwsAAd/n0lvW7C0jqzyJcXfgN8iM7KQCFiG3d6+vEEd7AU4RupXS02rJuzd/YhOKugrbn//Z'); background-size: cover; display: block;"
></span>
<img
class="gatsby-resp-image-image"
alt="9788994774299 L"
title="9788994774299 L"
src="/static/a8a7dc1c20a62eab9df912f48eecf4e4/9c38a/9788994774299_L.jpg"
srcset="/static/a8a7dc1c20a62eab9df912f48eecf4e4/dd4e5/9788994774299_L.jpg 50w,
/static/a8a7dc1c20a62eab9df912f48eecf4e4/ae1bf/9788994774299_L.jpg 100w,
/static/a8a7dc1c20a62eab9df912f48eecf4e4/9c38a/9788994774299_L.jpg 200w,
/static/a8a7dc1c20a62eab9df912f48eecf4e4/56b05/9788994774299_L.jpg 300w,
/static/a8a7dc1c20a62eab9df912f48eecf4e4/28275/9788994774299_L.jpg 400w,
/static/a8a7dc1c20a62eab9df912f48eecf4e4/5938c/9788994774299_L.jpg 458w"
sizes="(max-width: 200px) 100vw, 200px"
style="width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;"
loading="lazy"
/>
</span></p></div><div class="gatsby-remark-grid-system col col-12 col-sm-12 col-md-7 col-lg-7 col-xl-7"><p>이 책은 다른 플랫폼에서 옮겨 온 초보 리눅스 사용자들을 위한 것이다. 아마 독자들은 MS 윈도우 환경에서는 “파워유저”일 것이다. 아마도 직장상사가 리눅스 서버를 관리하라고 했을지도 모른다. 또는 단지 여러 보안 문제에 지쳐 리눅스를 사용해 보고픈 데스크톱 사용자일 것이다. 좋다. 여러분 모두를 환영한다.</p></div></div>
<h3 id="책-키워드" style="position:relative;"><a href="#%EC%B1%85-%ED%82%A4%EC%9B%8C%EB%93%9C" aria-label="책 키워드 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>책 키워드</h3>
<p><span class="badge badge-pill badge-danger">커맨드라인 추천 도서</span>
<span class="badge badge-pill badge-primary">백엔드 개발자</span>
<span class="badge badge-pill badge-warning">초보 개발자</span>
<span class="badge badge-pill badge-info">리눅스</span>
<span class="badge badge-pill badge-info">쉘스크립트</span>
<span class="badge badge-pill badge-info">커맨드라인</span>
<span class="badge badge-pill badge-info">command line</span>
<span class="badge badge-pill badge-info">shell</span>
<span class="badge badge-pill badge-info">bash</span></p>
<h2 id="출판사-서평" style="position:relative;"><a href="#%EC%B6%9C%ED%8C%90%EC%82%AC-%EC%84%9C%ED%8F%89" aria-label="출판사 서평 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>출판사 서평</h2>
<p><strong>마우스를 몰아내자!</strong></p>
<p>여러분은 지금까지 마우스로 미려한 리눅스 컴퓨터를 사용해왔다. 이제는 커맨드라인의 강력함을 체험하기 위해 뛰어들 차례다.</p>
<p>리눅스 커맨드라인은 가장 인기 있는 쉘인 Bash에서 완전한 프로그램을 작성하기 위해 터미널에서의 첫 번째 키 입력을 이끈다. 그러는 중에, 수염이 희고 마우스를 쓰지 않는 구루세대부터 이어온 변치 않는 기술을 배우게 될 것이다. 파일 탐색, 환경 설정, 연쇄 명령어, 정규 표현식, 패턴 매칭 등이다.</p>
<p>게다가 실전적 지식까지, 저자인 윌리엄 E. 샤츠 주니어(William E. Shotts, Jr.)는 이 도구들의 철학적 배경과 옛 유닉스 슈퍼컴퓨터로부터 전해온 데스크톱 리눅스 시스템의 부유한 유산들도 함께 이 책에 드러냈다.</p>
<p>이 책에서 배우게 될 내용들은 다음과 같다.</p>
<ul>
<li>파일, 디렉토리, 심볼릭 링크들을 생성 및 삭제</li>
<li>네트워킹, 패키지 설치, 프로세스 관리 등을 포함한 시스템 운영</li>
<li>표준 입출력, 리다이렉션, 파이프라인의 사용</li>
<li>세상에서 가장 인기있는 텍스트 편집기, vi로 파일 편집</li>
<li>일상적인 작업 자동화를 위한 쉘 스크립트 작성</li>
<li>cut, paste, grep, patch, sed로 파일 자르고 붙이기</li>
</ul>
<p>초기에 “쉘 쇼크”를 극복하고 나면, 컴퓨터와 의사소통하기에는 커맨드라인이 더 자연스럽고 표현하기 쉽다는 것을 발견하게 될 것이다. 여러분의 마우스에 먼지가 끼기 시작해도 놀라지 마라.</p>
<p><strong>많은 사람들이 리눅스를 언급할 때 “자유”를 말한다.</strong></p>
<p>하지만 실제 많은 사람들이 자유의 진정한 의미에 대해서 제대로 알고 있지 못한다고 생각한다. 여기서 말하는 진정한 자유란 자신의 컴퓨터가 무엇을 할지에 대해 결정할 수 있는 힘이라고 생각한다. 또한, 이러한 자유를 지켜내기 위해서는 자신의 컴퓨터가 무엇을 할 수 있는지를 알아야 한다는 것이다. 즉 자유란 비밀이 전혀 없는 컴퓨터 그 자체다. 사용자가 관심을 갖고 알아내고자 한다면, 무엇이든 답을 찾을 수 있는 것이 바로 자유다.</p>
<p>대상 독자</p>
<p>이 책은 다른 플랫폼에서 옮겨 온 초보 리눅스 사용자들을 위한 것이다. 아마 독자들은 MS 윈도우 환경에서는 “파워유저”일 것이다. 아마도 직장상사가 리눅스 서버를 관리하라고 했을지도 모른다. 또는 단지 여러 보안 문제에 지쳐 리눅스를 사용해 보고픈 데스크톱 사용자일 것이다. 좋다. 여러분 모두를 환영한다.</p>
<p>이 책의 구성</p>
<p>이 책은 엄선된 목차에 따라 마치 가정교사가 옆에 있는 것처럼 독자들을 인도해줄 것이다. 많은 저자들이 자신의 관점에서 이해할 수 있는 “체계적인” 방식으로 내용을 구성한다. 하지만 초보자에게는 매우 혼동될 수 있다. 또 다른 목표는 독자가 윈도우즈와는 다른 유닉스 방식으로 생각하기를 바라는 것이다. 우리는 왜 그렇게 동작하는지, 어떻게 그 방법을 얻을 수 있는지를 독자에게 이해시키기 위한 짧은 여행길 위에 있다. 리눅스는 단순히 소프트웨어의 일부가 아니다. 자신의 언어와 역사를 가진 거대한 유닉스 문화의 일부분이며, 그저 한낱 외침일지도 모른다.</p>
<p>이 책에서는 커맨드라인을 네 부분으로 나누어서 살펴보려고 한다.</p>
<ul>
<li>1부: 쉘 학습은 커맨드라인의 기본표현을 탐구하는 것으로 시작한다. 명령어 구조, 파일시스템 탐색, 커맨드라인 편집, 명령어 도움말과 문서 검색 등을 포함한다.</li>
<li>2부: 설정과 환경은 커맨드라인상에서 컴퓨터 명령을 제어하는 설정과 파일 편집에 대해서 다룬다.</li>
<li>3부: 기본 작업과 필수 도구는 커맨드라인에서 흔히 사용하는 일반적인 작업에 대해서 다룬다. 리눅스와 같은 유닉스형 운영체제는 데이터를 자유자재로 조작하기 위한 다수의 고전적인 커맨드라인 프로그램들을 지원한다.</li>
<li>4부: 쉘 스크립트 작성에서는 수많은 작업들을 자동화해주는 기술인 쉘 프로그래밍에 대해 소개한다. 가장 기본적인 부분이지만 배우기 쉽지는 않다. 쉘 프로그래밍을 배움으로써 다른 많은 프로그래밍 언어의 개념에도 익숙해질 것이다.</li>
</ul>
<h2 id="저자-소개" style="position:relative;"><a href="#%EC%A0%80%EC%9E%90-%EC%86%8C%EA%B0%9C" aria-label="저자 소개 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>저자 소개</h2>
<p><code class="language-text">저자 : 윌리엄 E. 샤츠 주니어</code>
저자 윌리엄 E. 샤츠 주니어는 소프트웨어 전문가이며, 15년이 넘은 열혈 리눅스 사용자다. 소프트웨어 개발 분야에 있어 기술 지원, 품질 보증, 문서화 등을 포함한 광범위한 지식을 가지고 있다. 또한 리눅스 교육과 새 소식, 리뷰, 리눅스 커맨드라인 사용의 확장을 주창하는 사이트(LINUXCOMMAND.ORG)의 창시자다.</p>
<p><code class="language-text">역자 : 이종우</code>
역자 이종우는 상명대 소프트웨어 학부를 나와, 한글과컴퓨터에서 리눅스 데스크톱과 아시아눅스용 응용프로그램을 개발하였으며, 이후 SK컴즈에서 맥과 리눅스용 응용프로그램을 개발하였다. 현재 주된 관심분야는 맥과 아이폰용 앱 개발이다.</p>
<p><code class="language-text">역자 : 정영신</code>
역자 정영신은 동덕여자대학교 컴퓨터학과에서 학사를 마친후 한글과컴퓨터 리눅스 개발실에서 한컴 리눅스와 아시아눅스 로컬라이제이션 업무를 담당했다. 현재는 프리랜서로 전향하여 IT 관련 번역 및 마켓 리서치를 전문으로 하고 있다.</p>
<h2 id="목차" style="position:relative;"><a href="#%EB%AA%A9%EC%B0%A8" aria-label="목차 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>목차</h2>
<p>PART 1 쉘 학습<br/>
<br/>
1 쉘이란 무엇인가?<br/>
터미널 에뮬레이터<br/>
첫 번째 키 입력<br/>
간단한 명령어 실행하기<br/>
터미널 세션 종료<br/>
<br/>
2 파일시스템 탐색<br/>
파일시스템 트리 구조의 이해<br/>
현재 작업 디렉토리<br/>
디렉토리 목록 표시<br/>
현재 작업 디렉토리 변경<br/>
<br/>
3 시스템 살펴보기<br/>
재미있는 ls 명령어<br/>
file 명령어로 파일 타입 확인<br/>
less 명령어로 파일 정보 보기<br/>
함께 탐험해보자!<br/>
심볼릭 링크<br/>
<br/>
4 파일과 디렉토리 조작<br/>
와일드카드<br/>
mkdir - 디렉토리 생성<br/>
cp - 파일 및 디렉토리 복사<br/>
mv - 파일 이동과 이름 변경<br/>
rm - 파일 및 디렉토리 삭제<br/>
ln ? 링크 생성<br/>
놀이터를 만들어보자<br/>
마무리 노트<br/>
<br/>
5 명령어와 친해지기<br/>
명령어란 구체적으로 무엇인가?<br/>
명령어 확인<br/>
명령어 도움말 보기<br/>
별칭으로 나만의 명령어 만들기<br/>
옛 친구와의 재회<br/>
<br/>
6 리다이렉션<br/>
표준 입출력과 표준 오류<br/>
파이프라인<br/>
마무리 노트<br/>
<br/>
7 확장과 인용<br/>
따옴표 활용(Quoting)<br/>
마무리 노트<br/>
<br/>
8 고급 키보드 기법<br/>
커맨드라인 편집<br/>
자동 완성<br/>
히스토리 활용<br/>
마무리 노트<br/>
<br/>
9 퍼미션<br/>
소유자, 그룹 멤버, 기타 사용자<br/>
읽기, 쓰기, 실행<br/>
사용자 ID 변경<br/>
사용자 특권의 사용<br/>
사용자 비밀번호 변경<br/>
<br/>
10 프로세스<br/>
프로세스는 어떻게 동작하는가<br/>
프로세스 제어<br/>
시그널<br/>
기타 프로세스 관련 명령어들<br/>
<br/>
PART 2 환경과 설정<br/>
<br/>
11 환경<br/>
환경에는 어떤 것들이 저장될까?<br/>
환경은 어떻게 설정할까?<br/>
환경 편집<br/>
마무리 노트<br/>
<br/>
12 VI 맛보기<br/>
vi를 왜 배워야 할까?<br/>
VI의 역사<br/>
vi 시작과 종료<br/>
편집 모드<br/>
커서 이동<br/>
기본 편집<br/>
검색 및 치환<br/>
다중 파일 편집<br/>
저장하기<br/>
<br/>
13 프롬프트 커스터마이징<br/>
프롬프트 해부하기<br/>
다른 형태의 프롬프트 사용해보기<br/>
색상 추가<br/>
커서 이동<br/>
프롬프트 저장<br/>
마무리 노트<br/>
<br/>
PART 3 기본 작업과 필수 도구<br/>
<br/>
14 패키지 관리<br/>
패키지 시스템<br/>
패키지 시스템 동작 원리<br/>
일반적인 패키지 관리 작업<br/>
마무리 노트<br/>
<br/>
15 저장 장치<br/>
저장 장치 마운트하기와 해제하기<br/>
새로운 파일시스템 만들기<br/>
파일시스템 검증 및 복구<br/>
플로피 디스크 포맷하기<br/>
장치에 데이터 직접 송수신하기<br/>
CD-ROM 이미지 만들기<br/>
CD-ROM 이미지 쓰기<br/>
추가 학습<br/>
<br/>
16 네트워킹<br/>
네트워크 점검 및 모니터링<br/>
네트워크로 파일 전송하기<br/>
원격 호스트와 안전하게 통신하기<br/>
<br/>
17 파일 검색<br/>
locate ? 손쉽게 파일 찾기<br/>
find - 다양한 방법으로 파일 찾기<br/>
<br/>
18 파일 보관 및 백업<br/>
파일 압축하기<br/>
파일 보관하기(아카이빙)<br/>
파일 및 디렉토리 동기화<br/>
<br/>
19 정규 표현식<br/>
정규 표현식이란?<br/>
grep - 텍스트를 통한 검색<br/>
메타문자와 리터럴<br/>
모든 문자<br/>
앵커(Anchors)<br/>
괄호 표현식과 문자 클래스<br/>
POSIX 기본 vs. 확장 정규 표현식<br/>
얼터네이션(Alternation)<br/>
정규 표현식 활용<br/>
마무리 노트<br/>
<br/>
20 텍스트 편집<br/>
텍스트의 응용<br/>
옛 친구들과의 재회<br/>
텍스트 자르고 붙이기<br/>
텍스트 비교<br/>
신속한 편집<br/>
마무리 노트<br/>
추가 학습<br/>
<br/>
21 출력 포맷 지정<br/>
간단한 포맷 툴<br/>
문서 포맷 시스템<br/>
roff 계열과 TEX<br/>
groff - 문서 포맷 시스템<br/>
마무리 노트<br/>
<br/>
22 인쇄<br/>
간략한 인쇄의 역사<br/>
리눅스의 인쇄<br/>
인쇄용 파일 준비<br/>
인쇄 작업을 프린터로 보내기<br/>
인쇄 작업 모니터링과 제어<br/>
<br/>
23 프로그램 컴파일<br/>
컴파일링이란?<br/>
C 프로그램 컴파일하기<br/>
마무리 노트<br/>
<br/>
PART 4 쉘 스크립트 작성<br/>
<br/>
24 첫 번째 쉘 스크립트<br/>
쉘 스크립트란?<br/>
쉘 스크립트 작성 방법<br/>
기타 포맷 방법<br/>
마무리 노트<br/>
<br/>
25 프로젝트 시작하기<br/>
1단계: 간단한 HTML 문서 만들기<br/>
2단계: 데이터 입력해보기<br/>
변수와 상수<br/>
Here 문서(Here Documents)<br/>
마무리 노트<br/>
<br/>
26 하향식 설계<br/>
쉘 함수<br/>
지역 변수<br/>
스크립트 실행 상태 유지<br/>
마무리 노트<br/>
<br/>
27 흐름 제어: if 분기<br/>
if의 사용<br/>
종료 상태<br/>
test의 사용<br/>
현대식 테스트<br/>
(( )) - 정수 테스트<br/>
표현식 조합<br/>
제어 연산자: 분기의 또 다른 방법<br/>
마무리 노트<br/>
<br/>
28 키보드 입력 읽기<br/>
read - 표준 입력에서 값 읽어오기<br/>
입력 값 검증<br/>
메뉴<br/>
마무리 노트<br/>
추가 학습<br/>
<br/>
29 흐름 제어: While 루프와 Until 루프<br/>
루프 돌기(반복)<br/>
while<br/>
루프 탈출<br/>
until<br/>
루프를 이용한 파일 읽기<br/>
마무리 노트<br/>
<br/>
30 문제 해결<br/>
구문 오류<br/>
논리 오류<br/>
테스팅<br/>
디버깅<br/>
마무리 노트<br/>
<br/>
31 흐름 제어: case 분기<br/>
case<br/>
마무리 노트<br/>
<br/>
32 위치 매개변수<br/>
커맨드라인 항목 접근<br/>
위치 매개변수 전체 제어<br/>
완전한 응용 프로그램<br/>
마무리 노트<br/>
<br/>
33 흐름 제어: for 루프<br/>
for: 전통적인 쉘 형식<br/>
for: C 언어 형식<br/>
마무리 노트<br/>
<br/>
34 문자열과 수<br/>
매개변수 확장<br/>
산술 연산과 확장<br/>
bc - 정밀 계산기 언어<br/>
마무리 노트<br/>
추가 확인 사항<br/>
<br/>
35 배열<br/>
배열이란?<br/>
배열 생성<br/>
배열에 값 할당<br/>
배열 원소 접근<br/>
배열 연산<br/>
마무리 노트<br/>
<br/>
36 그 외 유용한 툴들<br/>
그룹 명령과 서브쉘<br/>
트랩(Traps)<br/>
비동기 실행<br/>
네임드 파이프(Named Pipes)<br/>
마무리 노트</p>
<h2 id="책-정보" style="position:relative;"><a href="#%EC%B1%85-%EC%A0%95%EB%B3%B4" aria-label="책 정보 permalink" class="anchor before"><svg aria-hidden="true" focusable="false" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>책 정보</h2>
<table>
<thead>
<tr>
<th></th>
<th align="center"></th>
</tr>
</thead>
<tbody>
<tr>
<td>저자</td>
<td align="center">윌리엄 E. 샤츠 주니어</td>
</tr>
<tr>
<td>역자</td>
<td align="center">이종우, 정영신</td>
</tr>
<tr>
<td>출판사</td>
<td align="center">비제이퍼블릭</td>
</tr>
<tr>
<td>출간일</td>
<td align="center">2013.01.11</td>
</tr>
<tr>
<td>ISBN</td>
<td align="center">9788994774299</td>
</tr>
<tr>
<td>쪽수</td>
<td align="center">540 쪽</td>
</tr>
<tr>
<td>크기</td>
<td align="center">190x245x35mm</td>
</tr>
<tr>
<td>무게</td>
<td align="center">1040g</td>
</tr>
</tbody>
</table>
<p>파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음</p></content:encoded></item></channel></rss>