신간소개 2019. 11. 8. 14:49

 

  ● 저자: 정준석

  ● 페이지: 456

  ● 판형: 사륙배판(188*257) 

  ● 도수: 2

  ● 정가: 25,000원

  ● 발행일: 2019년 11월 15일

  ● ISBN: 978-89-97924-45-5 93000

 

 

 

[오탈자사이트 바로가기]  [자료실 바로가기]  [강의자료]

[강컴] [교보] [반디[알라딘] [예스24] [인터파크]

[샘플원고 확인하기] 

sample_C#.pdf
2.57MB

 

_도서 내용

이 책은 프로그래밍에 입문하고자 하거나 C# 언어를 새롭게 배우고자 하는 프로그래머를 위한 입문서이다. 개념과 예제 그리고 연습문제에 집중하여 기획되었다. 100개의 본문 예제를 반복하여 익히고 각 장마다 제공되는 연습문제를 스스로 풀어낸다면 C# 개발자로 충분히 성장할 수 있는 발판을 마련할 수 있을 것이다.

 

_대상 독자

C#을 첫 프로그래밍 언어로 선택한 초보자

새로운 프로젝트에 새로운 언어로 C#을 선택한 개발자

프로그래밍 언어의 기초를 탄탄하게 다지고 싶은 독자

객체지향적 프로그래밍의 기초를 배우고자 하는 독자

 

_목차

 

지은이의 글

편집자이자 베타테스터의 글

일러두기

 

1장 첫 만남, 프로그래밍을 말하다

1.1 프로그래밍이란 무엇일까?

1.2 프로그래밍 언어에는 무엇이 있을까?

1.3 C#의 탄생과 발전 가능성, 이 언어 매력적이다!

1.4 Visual Studio 설치를 해봅시다

1.5 내가 만드는 첫 번째 프로그램

1.6 프로그램 배포하기

1.7 C# 개발자의 원조 선생님, MSDN

1.8 이 책의 코드 구성

정리해봅시다

[함께 해봐요] 내가 만드는 첫 번째 코드(Program.cs)

 

2장 변수 사용법, 바구니에 이름표 붙이기

2.1 변수: 데이터를 담아내는 바구니

2.2 숫자를 담는 변수 타입

2.3 문자를 담는 변수 타입

2.4 /거짓을 담는 변수 타입. 그리고 참/거짓을 판단하는 연산자

2.5 예측이 불가능한 데이터를 담을 때 유용한 변수 타입

2.6 바구니의 활용도를 바꾸는 변수형 변환

2.7 지역변수, 전역변수, 그리고 상수

2.8 .NET Framework에서 제공되는 변수 타입

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 인사해보기(Hello.cs)

[함께 해봐요] 인사해보기 파일 호출(Program.cs)

[함께 해봐요] 숫자를 담아내는 바구니(Ex001.cs)

[함께 해봐요] 문자를 담아내는 바구니(Ex002.cs)

[함께 해봐요] /거짓을 담아내는 바구니(Ex003.cs)

[함께 해봐요] 무엇이든 담을 수 있는 만능 바구니(Ex004.cs)

[함께 해봐요] object, var, dynamic의 차이점(Ex005.cs)

[함께 해봐요] 변수 사용법에 대한 복습(Ex006.cs)

[함께 해봐요] 학생의 총 점수와 평균 점수를 계산하는 프로그램(Ex007.cs)

[함께 해봐요] 학생의 총 점수와 평균 점수를 계산하는 프로그램 확장(Ex008.cs)

[함께 해봐요] 암시적인 형 변환과 명시적인 형 변환(Ex009.cs)

[함께 해봐요] 문자로 구성된 숫자를 형 변환 하는 방법(Ex010.cs)

[함께 해봐요] 지역변수와 전역변수(Ex011.cs)

[함께 해봐요] 상수(Ex012.cs)

 

더보기

3장 조건문: 상황에 따른 프로그램의 변화

3.1 if: “만약에 ~라면 ~이다

3.2 3항연산자: if-else문의 축소판

3.3 시험지의 답안을 보는 것처럼 명확하게 조건이 나뉘는 switch

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 조건문의 사용과 코드블록의 흐름(Ex001.cs)

[함께 해봐요] 조건문의 사용과 코드블록의 흐름(Ex002.cs)

[함께 해봐요] else 키워드의 사용(Ex003.cs)

[함께 해봐요] else 키워드를 대체한 not 코드(Ex004.cs)

[함께 해봐요] if–else if–else의 조건문 조합(Ex005.cs)

[함께 해봐요] 사용자에게 입력 받은 숫자의 특성을 알려주는 프로그램(Ex006.cs)

[함께 해봐요] 중첩 조건문(Ex007.cs)

[함께 해봐요] &&연산자 활용 과 3항연산자를 이용한 조건문(Ex008.cs)

[함께 해봐요] 영화 평점 피드백 프로그램(Ex009.cs)

[함께 해봐요] switch문을 이요한 영화 평점 피드백 프로그램(Ex010.cs)

 

4장 반복문: 반복된 상황의 프로그램 제어

4.1 반복 작업의 기초이자 가장 많이 사용되는 for

4.2 while: ‘~하는 동안 ~을 반복하라

4.3 1번 이상의 반복문 do-while, 0번 이상의 반복문 while

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 반복문의 흐름 파악해보기 첫번째(Ex001.cs)

[함께 해봐요] 반복문의 흐름 파악해보기 두번째(Ex002.cs)

[함께 해봐요] 반복문의 흐름 파악해보기 세번째(Ex003.cs)

[함께 해봐요] 증감연산자의 흐름(Ex004.cs)

[함께 해봐요] 5팩토리얼 계산(Ex005.cs)

[함께 해봐요] 3번의 중첩 반복문(Ex006.cs)

[함께 해봐요] 구구단 예제(Ex007.cs)

[함께 해봐요] while문을 이용한 랜덤 숫자 찾기 게임(Ex007.cs)

[함께 해봐요] while문을 이용한 랜덤 숫자 찾기 게임 심화, continue의 활용(Ex009.cs)

[함께 해봐요] do-while문을 이용한 숫자 찾기 게임(Ex010.cs)

 

5장 프로그래밍의 꽃 객체지향: 간단히 코드를 조립하자

5.1 객체지향이란? 클래스의 활용법은?

5.2 객체지향이란? 메소드의 활용법은?

5.3 namespace: 비슷한 성격의 클래스를 그룹화해서 관리하자

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 자동차 클래스 설계(Ex001.cs)

[함께 해봐요] 프로퍼티를 이용한 자동차 클래스 설계(Ex002.cs)

[함께 해봐요] 프로퍼티를 이용한 자동차 클래스 설계(Ex003.cs)

[함께 해봐요] 빵 클래스를 이용한 여러 가지 빵 객체 만들기(Ex004.cs)

[함께 해봐요] 더하기 공통 기능(Ex005.cs)

[함께 해봐요] 사칙연산 메소드(Ex006.cs)

[함께 해봐요] 사칙연산 메소드(Ex007.cs)

[함께 해봐요] 클래스 상속(Ex008.cs)

[함께 해봐요] 메소드 오버라이드(Ex009.cs)

[함께 해봐요] 게시판 클래스(Model/Board.cs)

[함께 해봐요] 게시판 비즈니스 로직(Service/BoardService.cs)

[함께 해봐요] 게시판 작성(Ex010.cs)

[함께 해봐요] using 키워드 사용하기(Ex011.cs)

 

6장 배열과 제네릭: 여러 개의 데이터를 보관하는 방법

6.1 Split: 특정 문자 기준으로 데이터를 나누는 방법

6.2 배열 선언 공식

6.3 배열은 폭식하면 안돼요

6.4 배열을 선언하는 또 다른 방법

6.5 많이 사용하지는 않지만, 알아두면 좋은 다차원(N차원) 배열

6.6 ArrayList: 데이터가 얼마나 담길지 예측이 불가능한 경우

6.7 알아 두면 좋은 자료구조, 버스 대기중인 승객과 같은 구조인 Queue

6.8 알아 두면 좋은 자료구조, Queue의 반대 개념 Stack

6.9 Hashtable, 마치 사전과 같은 자료구조

6.10 제네릭(Generic), Collection에 속한 자료구조의 한계를 넘어라

6.11 ArrayList의 버전 업인 List<T>: 가장 많이 사용하는 Generic

6.12 Generic에서 사용되는 Queue/Stack 자료구조

6.13 사전 역할을 하는 Dictionary: Hashtable 컬렉션의 제네릭 버전

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 문자열 나누기(Ex001.cs)

[함께 해봐요] 배열을 이용한 일주일의 날씨 통계 출력하기(Ex002.cs)

[함께 해봐요] 선언된 크기보다 더 많은 데이터를 받아들인 배열(Ex003.cs)

[함께 해봐요] 날짜 통계 프로그램 만들기(Ex004.cs)

[함께 해봐요] 학생 별 성적 계산 프로그램(Ex005.cs)

[함께 해봐요] ArrayList 사용하기(Ex006.cs) 195

[함께 해봐요] ArrayList 인덱스 중간 위치에 삽입하기(Ex007.cs)

[함께 해봐요] ArrayList 인덱스 중간 위치 값 삭제하기(Ex008.cs)

[함께 해봐요] 버스정류장의 승객 현황을 Queue로 표현한 예제(Ex009.cs)

[함께 해봐요] 올림픽 대표 선수를 발탁하는 예제를 Stack으로 표현한 예제(Ex010.cs)

[함께 해봐요] 나라 이름 영한사전을 Hashtable로 표현한 예제(Ex011.cs)

[함께 해봐요] 사용자 영한사전 만들기(Ex012.cs)

[함께 해봐요] Ex008 ArrayList를 제네릭으로 바꾸어 표현하는 예제(Ex013.cs)

[함께 해봐요] 학생정보를 관리하는 모델 설계(Model/Student.cs)

[함께 해봐요] ArrayList를 이용한 학생정보 관리 프로그램(Ex014.cs)

[함께 해봐요] 제네릭 List를 이용한 학생정보 관리 프로그램(Ex015.cs)

[함께 해봐요] Ex009 Queue를 제네릭으로 바꾸어 표현하는 예제(Ex016.cs)

[함께 해봐요] Ex010 Stack을 제네릭으로 바꾸어 표현하는 예제(Ex017.cs)

[함께 해봐요] Ex012 사용자 영한사전 Hashtable 구조를 제네릭으로 바꾸어 표현하는 예제(Ex018.cs)

 

7장 예외 처리: 누구에게나 예상치 못한 실수는 있어요

7.1 예외 상황? 언제 어디서 나타나는 것일까?

7.2 자전거를 배우는 어린 아이의 돌발상황을 잡아주는 예외 처리: 부모님의 역할

7.3 직접 만들어보는 예외 클래스

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 예상치 못한 입력 오류(Ex001.cs)

[함께 해봐요] 인덱스 범위 초과 오류(Ex002.cs)

[함께 해봐요] 예외 처리의 기본(Ex003.cs)

[함께 해봐요] 예외 메시지 출력 및 예외 코드 출력(Ex004.cs)

[함께 해봐요] Case By Case 예외 처리(Ex005.cs)

[함께 해봐요] try 블록의 최소화(Ex006.cs)

[함께 해봐요] finally 구문(Ex007.cs)

[함께 해봐요] 사용자 예외 클래스(UserException/MyStyleException.cs)

[함께 해봐요] 사용자 예외 클래스를 이용한 예외 던지기(Ex008.cs)

 

8장 파일과 데이터베이스: 데이터를 보관하자

8.1 파일 확장자의 대표 종류: txt, log

8.2 파일의 입력과 출력

8.3 데이터베이스란?

8.4 MS-SQL 설치

9.5 SSMS(SQL Server Management System) 설치

8.6 MS-SQL 설정

8.7 SQL 기초지식 습득하기

8.8 C# 언어를 이용하여 데이터베이스에 접근하기

8.9 C# 언어를 이용하여 데이터를 집어넣고 조회하기

8.10 C# 언어를 이용한 데이터 수정과 삭제

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 디렉토리 생성(Ex001.cs)

[함께 해봐요] 파일에 내용 입력해보기(Ex002.cs)

[함께 해봐요] 파일에 내용 출력해보기(Ex003.cs)

[함께 해봐요] 데이터베이스 만들기(SQL/SQL001.sql)

[함께 해봐요] 테이블 만들기(SQL/SQL002.sql)

[함께 해봐요] 테이블 데이터 추가(SQL/SQL003.sql)

[함께 해봐요] 테이블 데이터 조회(SQL/SQL004.sql)

[함께 해봐요] 데이터베이스에 접근하기(Ex004.cs)

[함께 해봐요] 유저 클래스 만들기(Model/User.cs)

[함께 해봐요] 데이터 신규 생성(Ex005.cs)

[함께 해봐요] 데이터 조회(Ex006.cs)

[함께 해봐요] 데이터 수정(SQL/SQL005.sql)

[함께 해봐요] 데이터 삭제(SQL/SQL006.sql)

[함께 해봐요] 데이터 수정(Ex007.cs)

[함께 해봐요] 데이터 삭제(Ex008.cs)

 

9장 함수형 프로그래밍, 람다와 링큐

9.1 수학적 함수

9.2 람다 탄생의 이전,델리게이트

9.3 람다의 등장

9.4 제네릭과 람다의 꿀 조합

9.5 DBA도 이해하기 쉬운 코드, 링큐

9.6 LINQ to SQL 맛보기

정리해봅시다

나의 이해도를 측정하자

[함께 해봐요] 짝수와 홀수 찾기(Ex001.cs)

[함께 해봐요] Delegate의 계산기 예제(Ex002.cs)

[함께 해봐요] Delegate의 계산기 예제(Ex003.cs)

[함께 해봐요] 델리게이트 체이닝 예제(Ex004.cs)

[함께 해봐요] 델리게이트를 참조하는 람다 예제(Ex005.cs)

[함께 해봐요] 학생 클래스(Model/Student.cs)

[함께 해봐요] 1학년과 3학년인 학생 찾기(Ex006.cs)

[함께 해봐요] 람다식을 이용한 1학년과 3학년인 학생 찾기(Ex007.cs)

[함께 해봐요] 고학년 학생 수 계산하기(Ex008.cs)

[함께 해봐요] 람다식을 이용한 고학년 학생 수 계산하기(Ex009.cs)

[함께 해봐요] 낮은 학년 순으로 학생 정렬하기(Ex010.cs)

[함께 해봐요] 람다식을 이용한 낮은 학년 순으로 학생 정렬하기(Ex011.cs)

[함께 해봐요] 전공별 학생 수 계산하기(Ex012.cs)

[함께 해봐요] 람다식을 이용한 전공별 학생 수 계산하기(Ex013.cs)

[함께 해봐요] Dictionary에 전공별 학생 수를 담아 계산하기(Ex014.cs)

[함께 해봐요] 학생들의 학년 합과 최고 학년, 최저 학년, 평균 학년을 계산하기(Ex015.cs)

[함께 해봐요] 람다식을 이용한 학생들의 학년 합과 최고 학년, 최저 학년, 평균 학년을 계산하기(Ex016.cs)

[함께 해봐요] LINQ를 이용한 1학년과 3학년인 학생 찾기(Ex017.cs)

[함께 해봐요] LINQ를 이용한 고학년 학생 수 계산하기(Ex018.cs)

[함께 해봐요] LINQ를 이용한 낮은 학년 순으로 학생 정렬하기(Ex019.cs)

[함께 해봐요] LINQ를 이용한 전공별 학생 수 계산하기(Ex020.cs)

[함께 해봐요] TB_USER 테이블 수정(sql001.sql)

[함께 해봐요] LINQ TO SQL을 이용한 UESR 데이터 가져오기(Ex021.cs)

 

10장 프로젝트#1: 웹 프로그래밍 (게시판)

10.1 게시판 테이블 설계

10.2 “확장성을 고려하여 DBManager를 만들어 보기

10.3 잘 만들어진 DBManager 클래스를 이용한 프로그램 실행 로직 만들기

10.4 웹 페이지에서 게시판 리스트 생성하기

[함께 해봐요] 카테고리 테이블 설계(SQL/SQL001.sql)

[함께 해봐요] 게시판 테이블 설계(SQL/SQL002.sql)

[함께 해봐요] 데이터베이스 정보를 관리하는 모델 설계(Model/DatabaseInfo.cs)

[함께 해봐요] 데이터베이스 관리를 위한 규약 만들기(Manager/IDatabaseManager.cs)

[함께 해봐요] MS-SQL 데이터베이스를 관리하는 매니저 만들기(Manager/MsSqlManager.cs)

[함께 해봐요] Oracle 데이터베이스를 관리하는 매니저 만들기(Manager/OracleManager.cs)

[함께 해봐요] MySql 데이터베이스를 관리하는 매니저 만들기(Manager/MySqlManager.cs)

[함께 해봐요] 데이터베이스 매니저 호출 실전 예제(Ex001.cs)

[함께 해봐요] 웹 페이지에서 게시글 리스트 출력하기(Board/Default.aspx.cs)

[함께 해봐요] 게시글 작성 페이지 화면 설정(Board/New.aspx)

[함께 해봐요] 게시글 작성 로직(Board/New.aspx.cs)

 

11장 프로젝트#2: 윈폼으로 만드는 POS 시스템

[함께 해봐요] 음식점 메뉴 관리 클래스(Model/Menu.cs)

[함께 해봐요] 전체 코드(Form1.cs)

 

 

12장 프로젝트#3: 검색엔진 만들기

12.1 검색엔진이란

12.2 검색엔진의 시나리오

12.3 Nuget을 이용하면 손쉽게 외부 라이브러리를 사용할 수 있어요

12.4 검색엔진 테스트를 위한 사전 작업

12.5 데이터 수집

12.6 루씬을 이용한 수집된 데이터 색인 및 검색

12.7 LINQ to XML을 이용한 데이터 색인

12.8 색인된 파일을 가지고 검색기 만들기

[함께 해봐요] TB_Contents 테이블에 대한 클래스 설계(Model/Contents.cs)

[함께 해봐요] XML 파일 매니저(Manager/XmlManager.cs)

[함께 해봐요] 데이터 수집 매니저(Manager/CrawlManager.cs)

[함께 해봐요] Book 클래스 설계(Model/Book.cs)

[함께 해봐요] 색인과 검색 예제(Ex001.cs)

[함께 해봐요] 색인과 검색 예제(Ex002.cs)

[함께 해봐요] 데이터 수집 매니저(Manager/IndexManager.cs)

[함께 해봐요] 데이터 검색 매니저(Manager/SearchManager.cs)

[함께 해봐요] 수집기 호출(Ex003.cs)

[함께 해봐요] 색인기 호출(Ex004.cs)

[함께 해봐요] 검색기 호출(Ex005.cs)

 

부록

1. MacOS에서 비주얼 스튜디오 설치하기

2. 비주얼 스튜디오와 깃헙 연동하기

3. 나의 깃헙에서 소스 관리하기

4. Log4Net 사용하기

[함께 해봐요] Log4Net 설정(App.config)

[함께 해봐요] Log 기록(Program.cs)

찾아보기

 

_주요 내용

 

[핵심 컨셉]

1. 한 땀 한 땀 작성한 예제와 연습문제

2. 누구나 따라 하며 배울 수 있는 완벽한 실습

 

[주요 특징]

프로젝트 3예제 100개 수록
예제로 완벽하게 정복하는 람다와 링큐
연습문제와 강의자료 제공.

 

C#은 웹, 데이터과학, 게임, 솔루션 등등 수많은 분야에서 활용되는 대세 언어 중 하나입니다. 비주얼 스튜디오라는 개발 툴이 든든하게 지원하고 있어 누구나 쉽게 프로그래밍을 배울 수 있습니다. 이 책에서 제공하는 크고 작은 미션(예제)들을 스스로 풀고 이해한다면 여러분은 이미 프로그래머입니다.

 

실력을 높여주는 프로젝트 3

1. 콘솔 게시판을 만들어보고 웹 게시판으로 확장하기

대부분의 프로젝트가 데이터를 다루는 일이 많은 만큼 게시판을 만들어 보면 어떤 프로젝트에도 쉽게 적응할 있습니다. 이 책은 먼저 원리를 알기 위해 콘솔 게시판을 만들어 보고, 그 다음에 간단하게 웹에서 어떻게 구현하는지 알아봅니다. 

2. 매출관리 시스템(POS) 만들어보기

Windows에서 돌아가는 솔루션을 만드는 곳은 반드시 윈폼(Windows Form)이 필요합니다. 가장 기본적인 매출관리 시스템을 만들어봄으로써 윈폼 프로그래밍의 기초를 다질 수 있습니다. 

3. 데이터 관련 분야에 도전하려는 독자를 위한 검색엔진 프로젝트

데이터 관련 분야로 자신의 진로를 정한다면 더할 나위 없이 좋은 프로젝트가 될 것입니다. 데이터 수집과 색인 그리고 검색의 기초 원리를 배울 수 있습니다. 

눈으로만 읽으면 절대 내 지식이 될 수 없습니다. 특히 이 책에서 제공하는 연습문제들은 여러분이 나중에 현업에서 부딪히며 해결해야 할 미션들의 작은 버전과도 같습니다. 안 되면 밤새 고민해서 해결해보고 성취감을 맞본 후에 저자의 정답과 맞춰보고 잘한 점, 잘못한 점을 구분하여 배워나가야 합니다.
연습문제를 스스로 풀어본다는 것은 나에게 어떤 미션이 주어졌을 때 프로그램을 어떻게 짤 것이고 for문을 쓸 것인지 switch문을 쓸 것인지 배열 혹은 리스트, 제네릭 등등 어떤 자료구조를 쓸 것인지 고민하는 것부터 시작됩니다. 여러분이 어떤 입문서를 택하든 연습문제는 꼭 스스로 풀어보는 훌륭한 독자이기를 바랍니다. 그리고 여러분이 원하는 프로그래밍의 세계에서 마음껏 날갯짓을 하며 즐겁고 행복한 삶이 되기를 기원합니다.

 

_편집자 코멘트

역시 하이라이트는 연습문제였습니다. 본문에서 열심히 구문을 익혔는데도 잘 생각이 나지 않으면 어쩔 수 없이 본문을 참고하였지만, 절대 저자가 제공한 해답은 보지 않았습니다. 그리고 완성된 나만의 해답과 저자가 제공한 해답을 비교했을 때, “아~ 이렇게도 코딩을 할 수 있구나” 하며 큰 깨달음의 순간도 많았던 것 같습니다. 연습문제 푸는 시간이 제일 힘들었고 재미있었습니다. 그냥 단순 교정을 보면 10분도 채 걸리지 않지만, 한 문제만으로도 하루종일 시름하던 적도 있

었습니다. 그러면서 힌트가 부족한 건 아니었는지 왜 이렇게 오래 걸린 건지 저자와 소통하며 연습문제의 힌트나, 문제를 약간씩 수정하기도 하며 책의 완성도에 기여를 한 것 같습니다.

 

_저자 소개

지은이

정준석

성공회대학교 소프트웨어 공학과에 입학해서, 대학교 3학년때 C# 처음 접했고 이후로 Microsoft Visual Studio 찬양하기 시작했다. LG전자에서 C# 기반의 실버라이트 프로그램을 시작으로 실무에 뛰어들었고, 검색엔진 회사인 와이즈넛에서 데이터 수집 분야를 담당하며 이때부터 C# 자바를 골고루 있는 개발자가 되었다. 이러한 지식을 토대로 KSUG(한국 스프링 유저 그룹)에서 주최하는 스프링캠프에서 "Hot Trend Lambda, Compare C# With Java" 강연을 진행했으며, 이것이 인연이 되어 C# 책을 집필하기 시작했다. 현재는 에듀윌, 중앙일보를 거쳐 브레인커머스(잡플래닛)에서 열심히 개발자의 커리어를 키워나가고 있다. 

_상세 이미지

_끝

posted by 로드북
: