자료실 2024. 4. 16. 11:53

예제소스 깃허브 링크입니다.

https://github.com/Hong-JunHyeok/shopping_app_example

 

GitHub - Hong-JunHyeok/shopping_app_example: 본 깃허브 레포지토리는 [리액트 쇼핑몰 프로젝트] 의 예제 소

본 깃허브 레포지토리는 [리액트 쇼핑몰 프로젝트] 의 예제 소스코드입니다. Contribute to Hong-JunHyeok/shopping_app_example development by creating an account on GitHub.

github.com

 

 

-----------------------------------------------------------------------------------------------------------

강의자료가 필요하신 교수님이나 강사님은 연락주시면 보내드리겠습니다. 

담당: 임성춘 편집장
이메일: chief@roadbook.co.kr
TEL: 02-874-7883(010-9490-7883)


이메일로 연락하실 때는, 아래 내용을 꼭 알려주세요.

대학명(학원명), 강의과정명, 수강인원수, 수강기간, 전화번호

[샘플 다운로드]

리액트 쇼핑몰 프로젝트_1장.pptx
1.74MB

posted by 로드북
:
신간소개 2021. 10. 13. 15:27

 

 

  ● 저자: 박민경

  ● 페이지: 408

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

  ● 도수: 2도

  ● 정가: 27,000원

  ● 발행일: 2021년 10월 21일

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

 

 [오탈자 사이트] [예제소스 다운로드]

 

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

[샘플원고]

sample_node.js.pdf
2.00MB

 

_도서 내용

빠르게 실무형 Node.js 개발자가 될 수 있도록 도와주는 실습형 입문서다. 5줄로 만드는 Node.js 서버로 핵심 개념을 파악하고, 데이터베이스 연동, 실시간 통신 실습을 통해 실무형 개발 지식을 습득한 후, 페이스북 클론 코딩과 배포로 통합 실습을 해볼 수 있게 단계적으로 구성하였다. 페이스북 클론 프로젝트는 처음엔 따라해 보고, 그 다음엔 안 보고 만들어 보고, 그 다음엔 응용해서 좀더 확장된 여러 분의 버전을 만들어 보길 바란다.

 

_대상 독자

_Node.js를 기술 스택에 담고 싶어한다면

_당장 Node.js로 서버를 개발해야 한다면

_개발부터 배포까지 가능한 Node.js 토이 프로젝트를 찾고 있다면

 

 

_목차 

목차

지은이의 글

일러두기

 

1. Node.js 첫걸음

1.1 Node.js 첫걸음

웹 서버와 Node.js의 관계

Node.js가 동작하는 방식

1.2 실습을 위한 개발환경 구축

Node.js 설치

IDE(통합개발환경) 설치비주얼 스튜디오 코드(Visual Studio Code, VS Code)

정리해봅시다

나의 이해도를 측정하자

 

2. 자바스크립트 리마인드

2.1 자바스크립트 기본 문법

변수, 호이스팅, 클로저

객체와 배열

함수

프로토타입과 상속

2.2 자바스크립트의 비동기 처리

콜백 함수

Promise

async/await

비동기 상황에서의 예외 처리

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 2-1] 변수 호이스팅 (sample01.js)

[함께해봐요 2-2] let을 사용한 변수 호이스팅 문제 해결 (sample02-1.js)

[함께해봐요 2-3] const를 사용한 변수 호이스팅 문제 해결 (sample02-2.js)

[함께해봐요 2-4] function-level-scope의 사용 ① (sample03.js)

[함께해봐요 2-5] function-level-scope의 사용 ② (sample04.js)

[함께해봐요 2-6] const의 특징 (sample05-1.js)

[함께해봐요 2-7] let의 특징 (sample05-1.js)

[함께해봐요 2-8] 클로저의 개념 (sample06.js)

[함께해봐요 2-9] 객체와 프로퍼티 (sample07.js)

[함께해봐요 2-10] 객체 배열 생성 (sample08.js)

[함께해봐요 2-11] 구조 분해 할당 (sample09.js)

[함께해봐요 2-12] 함수의 선언 (sample10.js)

[함께해봐요 2-13] 화살표 함수의 선언 (sample11.js)

[함께해봐요 2-14] this의 사용 (sample12.js)

[함께해봐요 2-15] bind 함수 사용 (sample12-2.js)

[함께해봐요 2-16] 프로토타입을 이용한 객체 생성 (sample13.js)

[함께해봐요 2-17] 프로토타입과 상속 (sample14.js)

[함께해봐요 2-18] Prototype Chaining (sample15.js)

[함께해봐요 2-19] 프로토타입을 클래스처럼 사용해보기 (sample16.js)

[함께해봐요 2-20] 콜백 함수의 비동기 처리 (sample17.js)

[함께해봐요 2-21] 콜백 함수의 동기 처리 (sample18.js)

[함께해봐요 2-22] 사용자 정의 함수의 동기 처리 (sample19.js)

[함께해봐요 2-23] API의 비동기적 처리 (sample20.js)

[함께해봐요 2-24] 일반 비동기 함수 (sample21-1.js)

[함께해봐요 2-25] 동기적 처리 ① (sample21-2.js)

[함께해봐요 2-26] 동기적 처리 ② (sample21-3.js)

[함께해봐요 2-27] Promise의 사용 (sample22.js)

[함께해봐요 2-28] Promise 객체와 async/await (sample23.js)

[함께해봐요 2-29] async/await의 사용 (sample24.js)

[함께해봐요 2-30] 사용자 정의 오류 (sample25.js)

[함께해봐요 2-31] 일반적인 예외 처리 (sample26.js)

[함께해봐요 2-32] .catch( )의 이용 (sample27.js)

[함께해봐요 2-33] .then( )의 이용 (sample27.js)

[함께해봐요 2-34] async/await의 예외 처리 ① (sample28-1.js)

[함께해봐요 2-35] async/await의 예외 처리 ② (sample28-2.js)

[함께해봐요 2-36] async/await의 예외 처리 ③ (sample28-3.js)

[함께해봐요 2-37] async/await의 예외 처리 ④ (sample28-4.js)

 

3. 5줄로 만드는 서버

3.1 프로젝트의 시작

프로젝트 설정하기

NPM 명령어

더보기

3.2 Node.js의 모듈과 객체

모듈 시스템이란?

모듈의 종류

3.3 http 모듈로 서버 만들기

5줄로 서버를 만들어보자

요청 객체(req), 응답 객체(res)

3.4 express 모듈을 사용해 서버 만들기

express?

express 설치와 사용

http 요청 메서드–GET, POST, PUT, PATCH, DELETE

3.5 express와 미들웨어

미들웨어란?

자주 사용하는 미들웨어

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 3-1] A.js 소스 코드 (chapter03/sample/A.js)

[함께해봐요 3-2] B.js 소스 코드 (chapter03/sample/B.js)

[함께해봐요 3-3] 순환 참조 ① (chapter03/sample/A2.js)

[함께해봐요 3-4] 순환 참조 ② (chapter03/sample/B2.js)

[함께해봐요 3-5] 5줄로 만드는 서버 (chapter03/sample/simple_server.js)

[함께해봐요 3-6] 웹 페이지의 요청에 대한 응답 (chapter03/sample/simple_server2.js)

[함께해봐요 3-7] 문자열을 보내는 응답 코드 (chapter03/sample/simple_server3.js)

[함께해봐요 3-8] fs-test.html 작성 (chapter03/sample/fs_test.html)

[함께해봐요 3-9] 파일을 보내는 응답 코드 (chapter03/sample/fs_test.js)

[함께해봐요 3-10] request response 확인 (chapter03/sample/simple_sever3.js)

[함께해봐요 3-11] REST를 통한 페이지 생성 (chapter03/sample/simple_sever4.js)

[함께해봐요 3-12] express 사용법 ① (chapter03/express/express_study1.js)

[함께해봐요 3-13] express로 웹 페이지 만들기 (chapter03/express/index.html)

[함께해봐요 3-14] express 사용법 ② (chapter03/express/express_study2.js)

[함께해봐요 3-15] 미들웨어 사용법 ① (chapter03/express/express-study3.js)

[함께해봐요 3-16] 미들웨어 사용법 ② (chapter03/express/express_study4.js)

[함께해봐요 3-17] 오류 처리를 위한 미들웨어 함수 (chapter03/express/express_study5.js)

[함께해봐요 3-18] static 미들웨어 사용 ① (chapter03/express/express-study6.js)

[함께해봐요 3-19] static 미들웨어 사용 ② (chapter03/express/index2.html)

[함께해봐요 3-20] 미들웨어를 이용한 예제 ① (chapter03/express/express_study7.js)

[함께해봐요 3-21] 쿠키 전달 (chapter03/sample/cookie.js)

[함께해봐요 3-22] 세션을 통한 키 값 생성 (chapter03/sample/cookie-session.js)

[함께해봐요 3-23] 미들웨어 통합 테스트 (chapter03/express/express_study8.js)

 

4. 통신을 구현해보자

4.1 API

API?

Open API 활용 ①–request

Open API 활용 ②–axios

dotenv 사용하기

4.2 캐싱 구현하기

Redis?

4.3 API 서버를 직접 만드는 방법

REST API

API 서버 만들기

API 서버 테스트 : CORS

4.4 웹 파싱

크롤링, 스크래핑, 파싱

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 4-1] request 모듈로 네이버 API 사용해보기 (chapter04/sample/naver_request.js)

[함깨해봐요 4-2] axios 모듈로 에어코리아 API 사용해보기 (chapter04/sample/airkorea_axios.js)

[함께해봐요 4-3] 에어코리아 API 응답 결과 가져오기 (chapter04/sample/airkorea_axios2.js)

[함께해봐요 4-4] [함께해봐요 4-3] dotenv 모듈 적용 (chapter04/sample/airkorea_dotenv.js)

[함께해봐요 4-5] Redis 서버 테스트 ① (chapter04/sample/redis.js)

[함께해봐요 4-6] Redis 서버 테스트 ② (chapter04/sample/redis2.js)

[함께해봐요 4-7] [함께해봐요 4-3]에 캐시 적용하기 (chapter04/sample/redis3.js)

[함께해봐요 4-8] API 서버 만들기 (chapter04/sample/colon_path.js)

[함께해봐요 4-9] 간단한 게시판 API 서버 만들기 (chapter04/sample/board_api.js)

[함께해봐요 4-10] uuid-apikey 모듈 사용 (chapter04/sample/uuid_apikey.js)

[함께해봐요 4-11] 게시판에 uuid-apikey 추가하기 (chapter04/sample/board_api2.js)

[함께해봐요 4-12] 게시판 API 서버 테스트 (chapter04/sample/board_api_test.js)

[함께해봐요 4-13] 게시판 API 서버 테스트 코드 작성 (chapter04/sample/board_api_test.html)

[함께해봐요 4-14] cors 모듈 설치 (chapter04/sample/board_api3.js)

[함께해봐요 4-15] 웹 페이지 크롤링 (chapter04/sample/crawling.js)

 

5. Node.js와 데이터베이스

5.1 SQL NoSQL

SQL

NoSQL

5.2 SQL : MySQL

개발환경 설정

쿼리 기본 사용법

쿼리문 작성하기

ORM : Sequelize

5.3 NoSQL : MongoDB

MongoDB

정리해봅시다

나의 이해도를 측정하자

[함께해봐요 5-1] 데이터베이스 정보 저장 (chapter05/sequelize/config/config.json)

[함께해봐요 5-2] customer 객체를 ORM로 작성하기 (chapter05/sequelize/models/customer.js)

[함께해봐요 5-3] purchase 모델 생성 (chapter05/sequlieze/models/purchase.js)

[함께해봐요 5-4] index.js 수정 (chapter05/sequelize/models/index.js)

[함께해봐요 5-5] 테이블 관계 생성 (chapter05/sequelize/app.js )

[함께해봐요 5-6] 클라이언트 화면 생성 (chapter05/sequelize/customer.html)

[함께해봐요 5-7] 정보 입력창 서버 코드 (chapter05/sequelize/app2.js)

[함께해봐요 5-8] mongoose MongoDB 연결하기 (chapter05/mongoose/app.js)

 

6. 실시간 통신을 구현해보자

6.1 웹 소켓

HTTP AJAX

웹 소켓

6.2 WS 모듈로 웹 소켓 구현하기

6.3 socket.io로 실시간 채팅 구현하기

6.4 실시간 채팅 구현하기

정리해봅시다

나의 이해도를 측정하자

[함께해봐요 6-1] ws 모듈을 이용한 WebSocket 구현 (chapter06/ws/socket.js)

[함께해봐요 6-2] 클라이언트 코드 작성 (chapter06/ws/index.html)

[함께해봐요 6-3] WebSocket 서버 코드 (chapter06/ws/app.js)

[함께해봐요 6-4] socket.io 모듈 불러오기 (chapter06/socket.io/app.js)

[함께해봐요 6-5] SocketIO 인스턴스 생성 (chapter06/socket.io/socket.js)

[함께해봐요 6-6] SocketIO 클라이언트 코드 (chapter06/socket.io/index.html)

[함께해봐요 6-7] SocketIO 클라이언트 코드에 polling 추가 (chapter06/socket.io/index.html)

[함께해봐요 6-8] 실시간 채팅창 구현하기 (chapter06/chat/app.js)

[함께해봐요 6-9] CSS 파일 생성 (chapter06/chat/index.css)

[함께해봐요 6-10] 실시간 채팅창 클라이언트 코드 ① (chapter06/chat/index.html)

[함께해봐요 6-11] 실시간 채팅창 클라이언트 코드 ② (chapter06/chat/index.html)

 

7. 토이 프로젝트 : 페이스북 클론 코딩

7.1 passport

passport?

passport 사용하기

7.2 템플릿 엔진

정적 파일과 동적 파일

템플릿 엔진

7.3 토이 프로젝트 : 페이스북 클론 코딩

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 7-1] 회원가입 화면 코드 (chapter07/ex_passport/index.html)

[함께해봐요 7-2] passport를 이용한 회원가입 서버 코드 (chapter07/ex_passport/app.js 1~32)

[함께해봐요 7-3] passport를 이용한 회원가입 서버 코드 수정 ① (chapter07/ex_passport/app.js 34~62)

[함께해봐요 7-4] passport를 이용한 회원가입 서버 코드 수정 ② (chapter07/ex_passport/app.js 64~119)

[함께해봐요 7-5] index.js 파일 생성 (chapter07/ejs/index.js)

[함께해봐요 7-6] index.ejs 파일 생성 (chapter07/ejs/views/index.ejs)

[함께해봐요 7-7] head.js 파일 작성 (Chapter07/ejs/views/partials/head.ejs)

[함께해봐요 7-8] header.ejs 파일 작성 (Chapter07/ejs/views/partials/header.ejs)

[함께해봐요 7-9] footer.ejs 파일 작성 (Chapter07/ejs/views/partials/footer.ejs)

[함께해봐요 7-10] 조각난 파일을 하나로 모으기 (Chapter07/ejs/views/index2.ejs)

[함께해봐요 7-11] 메뉴의 라우터를 index2.js에서 생성 (Chapter07/ejs/index2.js)

[함께해봐요 7-12] package.json 파일 수정 (facebook-clone/package.json 6~8)

[함께해봐요 7-13] app.js 파일 수정 ① (facebook-clone/app.js 1~11)

[함께해봐요 7-14] app.js 파일 수정 ② (facebook-clone/app.js 13~22)

[함께해봐요 7-15] app.js 파일 수정 ③ (facebook-clone/app.js 24~32)

[함께해봐요 7-16] .env 파일 생성 (facebook-clone/.env)

[함께해봐요 7-17] app.js 파일 수정 ④ (facebook-clone/app.js 34~44)

[함께해봐요 7-18] app.js 파일 수정 ⑤ (facebook-clone/app.js 46~58)

[함께해봐요 7-19] app.js 파일 수정 ⑥ (facebook-clone/app.js 60~67)

[함께해봐요 7-20] app.js 파일 수정 ⑦ (facebook-clone/app.js 69~75)

[함께해봐요 7-21] app.js 파일 수정 ⑧ (facebook-clone/app.js 77~110)

[함께해봐요 7-22] User.js 파일 작성 (facebook-clone/models/User.js)

[함께해봐요 7-23] Post.js 파일 작성 (facebook-clone/models/Post.js)

[함께해봐요 7-24] Comment.js 파일 작성 (facebook-clone/models/Comment.js)

[함께해봐요 7-25] User.js 파일 수정 ① (facebook-clone/routes/user.js 1~22)

[함께해봐요 7-26] User.js 파일 수정 ② (facebook-clone/routes/users.js 24~29)

[함께해봐요 7-27] .env 파일 작성 (facebook-clone/.env)

[함께해봐요 7-28] User.js 파일 수정 ③ (fackebook-clone/routes/users.js 31~38)

[함께해봐요 7-29] User.js 파일 수정 ④ (facebook-clone/routes/users.js 40~83)

[함께해봐요 7-30] User.js 파일 수정 ⑤ (facebook-clone/routes/users.js 85~119)

[함께해봐요 7-31] User.js 파일 수정 ⑥ (facebook-clone/routes/users.js 121~278)

[함께해봐요 7-32] User.js 파일 수정 ⑦ (facebook-clone/routes/users.js 280~298)

[함께해봐요 7-33] post.js 파일 작성 (facebook-clone/routes/posts.js)

 

8. 서버를 배포해보자

8.1 기본 준비

cross-env 설정하기

morgan, winston 설정하기

express-session 수정하기

보안 관련 모듈 추가하기

, 깃허브 사용하기

더 나아가기 : pm2와 메모리 DB

8.2 클라우드 서비스

8.3 클라우드 호스팅 서비스 : Heroku

8.4 도커 사용하기

도커란?

도커 기본 사용법

8.5 클라우드 인프라 서비스 : AWS EC2

AWS 계정 생성

EC2 인스턴스 생성

도커와 깃허브를 이용해서 EC2에 배포하기

정리해봅시다

나의 이해도를 측정하자

 

[함께해봐요 8-1] package.json 파일 수정 ① (facebook-clone/package.json)

[함께해봐요 8-2] winston.js 파일 수정 (facebook-clone/config/winston.js)

[함께해봐요 8-3] app.js 파일 수정 ① (facebook-clone/app.js)

[함께해봐요 8-4] app.js 파일 수정 ② (facebook-clone/app.js)

[함께해봐요 8-5] app.js 파일 수정 ③ (facebook-clone/app.js)

[함께해봐요 8-6] post.js 파일 수정 (facebook-clone/routs/posts.js)

[함께해봐요 8-7] users.js 파일 수정 (facebook-clone/routes/users.js)

[함께해봐요 8-8] login.ejs 파일 수정 (facebook-clone/views/users/login.ejs)

[함께해봐요 8-9] .env 파일 수정 (facebook-clone/.env)

[함께해봐요 8-10] app.js 파일 수정 ④ (facebook-clone/app.js)

[함께해봐요 8-11] package.json 파일 수정 ② (facebook-clone/package.json)

 

참고 링크

전체 소스코드 및 연습문제 풀이 해답 저장소

찾아보기

 

_주요 내용

빠르게 실무형 Node.js 개발자가 될 수 있도록 도와주는 실습형 입문서

_5줄 서버

_캐싱

_API 서버

_데이터베이스 연동

_실시간 통신

_페이스북 클론 코딩까지

 

“기초를 다질 수 있도록”

이 책에서 다루는 Node.js라는 기술은 자바스크립트를 알아야 사용할 수 있는 환경입니다. 하지만 자바스크립트에 익숙하지 않아도 프로그래밍이 어떤 것인지 기본 개념만 있으면 따라할 수 있도록 구성하였습니다.

 

“개발은 만들어보는 것”

서버 로직을 만든다는 것은 화면 개발처럼 시각적으로 눈에 보이는 결과가 나오는 것이 아니므로 어쩌면 ‘서버’라는 개념이 뜬구름 잡는 소리처럼 느껴질 수 있습니다. 그러므로 예제를 통해 개념과 원리를 서서히 습득하고 이해할 수 있도록 하였습니다.

 

“연습문제를 직접 풀어보지 않으면 아무리 좋은 입문서라도 백약이 무효입니다.

직접 해보고 반복해서 학습해보는 것만이 낯설음을 익숙함으로 바꿀 수 있는 유일한 길입니다. 힌트까지 제공되니 반드시 혼자만의 힘으로 풀어보고 저자의 모범답안과 비교해보세요.

 

토이 프로젝트로 빠르게 실무형 개발에 적응하자

6장까지는 웹 서비스에 필요한 내용을 조각조각 나누어 살펴보았다면, 7장과 8장에서는 토이 프로젝트를 통해 내가 가진 조각들로 하나의 덩어리를 만들어 볼 수 있습니다. ‘클론 코딩’을 통해 서비스에 대한 전체적인 흐름을 익히고 배포까지 완벽하게 하나의 프로젝트 사이클을 경험해 봅니다. 많이 따라해보고 익숙해져서 내 것으로 만들어 보세요.

 

_저자 소개

지은이

박민경

건국대 소프트웨어공학과를 졸업하였으며, 과거 파이썬 케라스 Node.js 스택을 다루며 챗봇 프로젝트에 참여했고 현재 여행 산업에서 Tech 적용하기 위한 테크투어 스타트업에서 개발자로 근무 중이다. 전공과정 크고 작은 프로젝트를 통해 습득한 Computer Science 지식을 이해하기 쉽게 전달하기 위해 개발 블로그를 운영 중이며, 개발자만을 위한 개발 문화가 아닌 다양한 사람들과 함께하는 개발 문화를 만들어가는 관심이 많다

 

 

.

_상세 이미지

                                                                                                _

posted by 로드북
:
자료실 2021. 6. 3. 16:43

예제소스는 아래 구글 드라브에서 다운로드 하실 수 있습니다.

https://drive.google.com/drive/folders/10KXyPrJ_KEesvAvjnMpx1DS_md7gaN6H

posted by 로드북
:
신간소개 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 로드북
: