추천 검색어

최근 검색어

도서 IT전문서/IT입문서 프로그래밍/오픈소스
문법, 라이브러리, 웹 프레임워크 제작과 활용 Go 언어 웹 프로그래밍 철저 입문
정 가
27,000원
출 간
2016-03-31
지 은 이
장재휴
I S B N
9791186978818
분 량
428쪽
난 이 도
초급
부 록
예제 소스

Go 언어, 이렇게 활용한다!

Go는 간결하고 유연한 문법을 지원하며, 고루틴으로 병행 처리 코드를 쉽게 작성할 수 있다. 또한, 상속이 아닌 조합으로 코드를 재사용하여 확장성이 좋고, 패키지화된 소스 코드에서 실제로 사용되는 부분만 컴파일하므로 컴파일 속도가 매우 빠르다. 이런 특징들을 고려하여 Go 언어다운 프로그래밍 방법을 설명한다. 각 상황에 맞게 Go 기본 라이브러리와 다양한 외부 패키지를 조합하여 마이크로 서비스 형태로 자신만의 프레임워크 제작 방법을 배운다. 이렇게 만든 마이크로 프레임워크로는 여러 사용자가 실시간으로 대화할 수 있는 채팅 애플리케이션을 만든다. 풀스택 프레임워크 Revel은 웹 개발에 필요한 기능 대부분을 제공하므로 웹 애플리케이션을 아주 빠르게 제작할 수 있고, 이미 만들어진 웹 애플리케이션에 기능을 추가하기도 쉽다. 이 책에서는 Revel을 활용하여 웹 애플리케이션을 만든다.

지은이 서문

1장 Go 시작하기

1.1 Go는 어떤 언어인가?
1.2 Go 설치하기
___1.2.1 윈도에 설치하기
___1.2.2 OS X에 설치하기
___1.2.3 리눅스와 FreeBSD에 설치하기
___1.2.4 설치 확인
___1.2.5 OS X에 설치된 이전 버전 업그레이드
1.3 Go 개발 환경
___1.3.1 작업 공간 구성
___1.3.2 에디터
1.4 첫 번째 Go 프로그램
___1.4.1 코드 실행
___1.4.2 코드 분석
1.5 Go 참고 문서

2장 기본 문법

2.1 Go 문법의 특징
___2.1.1 간결함과 유연함
___2.1.2 정적 타입 언어, 동적 프로그래밍
___2.1.3 모호한 요소 제거
___2.1.4 세미콜론 생략 가능
___2.1.5 주석
___2.1.6 gofmt로 코드 서식 지정
2.2 변수와 상수
___2.2.1 변수 선언
___2.2.2 변수 이름
___2.2.3 상수
___2.2.4 열거형
2.3 프로그램의 기본 흐름 제어
___2.3.1 if
___2.3.2 switch
___2.3.3 for
2.4 함수
___2.4.1 함수 정의
___2.4.2 매개변수 전달 방식
___2.4.3 defer
___2.4.4 내장 함수
___2.4.5 클로저
___2.4.6 함수를 매개변수로 전달하기
2.5 패키지
___2.5.1 패키지 종류
___2.5.2 접근 제어
___2.5.3 별칭
___2.5.4 init() 함수

3장 데이터 타입

3.1 불
3.2 숫자
___3.2.1 정수
___3.2.2 실수(부동소수점)
___3.2.3 복소수
___3.2.4 숫자 연산
3.3 문자열
___3.3.1 문자열과 문자
___3.3.2 문자열 연산
3.4 배열과 슬라이스
___3.4.1 생성과 초기화
___3.4.2 내부 요소에 순차적으로 접근
___3.4.3 부분 슬라이스 추출
___3.4.4 슬라이스 변경
3.5 맵
___3.5.1 생성과 초기화
___3.5.2 값 찾기
___3.5.3 요소 추가, 수정, 삭제
3.6 포인터와 참조 타입
___3.6.1 포인터 생성과 초기화
___3.6.2 값 전달

4장 객체 지향 프로그래밍

4.1 객체 표현 방식
4.2 사용자 정의 타입
___4.2.1 사용자 정의 타입의 종류
___4.2.2 메서드
4.3 구조체
___4.3.1 생성과 초기화
___4.3.2 내부 필드 접근
___4.3.3 구조체 임베딩
___4.3.4 정보 은닉
4.4 인터페이스
___4.4.1 인터페이스 정의
___4.4.2 다형성
___4.4.3 인터페이스 임베딩
___4.4.4 타입 변환

5장 병행 처리

5.1 고루틴
5.2 채널
___5.2.1 채널 방향
___5.2.2 버퍼드 채널
___5.2.3 close & range
___5.2.4 select
5.3 저수준 제어
___5.3.1 sync.Mutex
___5.3.2 sync.RWMutex
___5.3.3 sync.Once
___5.3.4 sync.WaitGroup
___5.3.5 원자성을 보장하는 연산
5.4 활용
___5.4.1 타임아웃
___5.4.2 공유 메모리
___5.4.3 파이프라인
___5.4.4 맵리듀스

6장 에러 처리

6.1 에러 타입
6.2 에러 생성
___6.2.1 errors.New() 사용
___6.2.2 fmt 패키지 사용
___6.2.3 사용자 정의 에러 타입
6.3 panic & recover
___6.3.1 런타임 에러와 패닉
___6.3.2 recover
6.4 에러 처리
___6.4.1 에러 확인 함수 사용
___6.4.2 클로저로 에러 처리

7장 패키지

7.1 커스텀 패키지
___7.1.1 패키지 만들기
___7.1.2 별칭
___7.1.3 운영체제에 종속적인 코드 처리
___7.1.4 문서화
7.2 서드 파티 패키지
7.3 Go의 기본 라이브러리
___7.3.1 문자열 다루기
___7.3.2 컬렉션
___7.3.3 파일, 디렉터리, 운영체제 환경 다루기
___7.3.4 숫자 연산
___7.3.5 네트워크
___7.3.6 리플렉션
___7.3.7 테스트
___7.3.8 기타

8장 나만의 웹 프레임워크 만들기

8.1 나만의 웹 프레임워크 만들기
8.2 첫 번째 웹 애플리케이션
8.3 라우터
8.4 컨텍스트
8.5 미들웨어
8.6 추상화
8.7 렌더러
8.8 커스텀 미들웨어

9장 다양한 패키지를 조합하여 마이크로 프레임워크 구성하기

9.1 채팅 애플리케이션 만들기
9.2 웹 서버 구동하기
9.3 인증 처리하기
___9.3.1 세션
___9.3.2 로그인
___9.3.3 인증
9.4 채팅방과 메시지 처리하기
___9.4.1 몽고DB 환경 구성
___9.4.2 채팅방 관리 기능 구현
___9.4.3 메시지 조회 기능 구현
9.5 HTML과 자바스크립트로 클라이언트 화면 만들기
9.6 웹소켓 기능 구현하기

10장 Revel 프레임워크로 블로그 만들기

10.1 Revel 프로젝트 만들기
___10.1.1 Revel 설치하기
___10.1.2 블로그 애플리케이션 만들기
___10.1.3 데이터베이스 설정
10.2 Hello World
___10.2.1 웹 서버 시작하기
___10.2.2 Hello Revel!
10.3 포스트 기능 만들기
___10.3.1 포스트 모델 만들기
___10.3.2 데이터베이스 초기화
___10.3.3 포스트 컨트롤러 만들기
___10.3.4 포스트 목록 보기
___10.3.5 새 포스트 만들기
___10.3.6 각 포스트 보여주기
___10.3.7 포스트 수정하기
___10.3.8 포스트 삭제하기
10.4 댓글 기능 만들기
___10.4.1 코멘트 모델 만들기
___10.4.2 코멘트 컨트롤러 작성하기
___10.4.3 댓글 작성을 위한 라우팅 규칙 추가하기
___10.4.4 포스트의 Show 페이지에서 댓글 보여주기
10.5 리팩토링
___10.5.1 댓글 목록을 별도의 템플릿으로 만들기
___10.5.2 댓글 작성 폼을 별도의 템플릿으로 만들기
___10.5.3 포스트 작성 폼을 별도의 템플릿으로 만들기
___10.5.4 새로 분리한 템플릿에 댓글 삭제 기능 추가하기
10.6 데이터 처리에 ORM 프레임워크 적용
___10.6.1 gorm 초기 설정
___10.6.2 gorm으로 데이터 처리
10.7 로그인과 보안
___10.7.1 사용자 모델 추가
___10.7.2 로그인 기능 구현
___10.7.3 기본 계정 생성
___10.7.4 인증 인터셉터 추가
___10.7.5 권한이 있는 사용자만 해당 기능에 접근
ㆍ지은이 장재휴
지은이 소개

2006년부터 8년간 이랜드시스템스에서 아키텍트 업무를 했고, 이후 퍼플웍스에서 웹 서버 개발을 했다. 지금은 중국에서 새로운 일을 시작했다. 여행을 좋아하고 다양한 컴퓨터 언어에 관심이 많다. 외부 커뮤니티 활동을 하며 IT 지식을 공유하고자 노력 중이고, 개발 커뮤니티에서 만난 사람들과 Remotty(http://blog.remotty.com)라는 그룹을 만들어 함께 즐거운 개발 생활을 하고 있다.


필요한 자료를 선택하세요.

추천도서