Go는 오픈소스 프로그래밍 언어로 빌드가 단순하고 효율적인 SW를 만들수 있습니다. 비록 기존 언어의 아이디어도 빌려 왔지만 Go의 독창적인 속성을 통해 효과적으로 프로그래밍할 수 있습니다. 로우 레벨 시스템 언어가 가지는 효율성과 하이 레벨 언어가 가지는 특징을 가지고 있습니다. 프로그래밍 환경은 엄청난 생산성, 성능을 제공합니다. Go로 적은 코드로 많은 일을 해낼 수 있습니다.
하드코어 Go는 3일 집중 과정으로 Go 프로그래밍의 이해를 높이고 관용적인 사용법을 배우게 됩니다. 이 과정에서는 언어의 문법, OOP, 동시성(concurrency), 채널(channel), 테스팅, 디버깅등과 같이 구체적이며 구현 레벨까지 다룹니다. Go의 내부 동작을 더 잘 이해하기를 원하거나 이제 막 Go를 시작한 개발자라면 도움을 얻을 수 있습니다.
- 언어 문법 (Language Syntax)
- 배열, 슬라이스 그리고 맵(Arrays, Slices and Maps)
- 메소드, 인터페이스, 그리고 임베딩(Methods, Interfaces and Embedding)
- 패키징과 익스포팅(Packaging and Exporting)
- 포인터 사용하기(Using Pointers)
- 컴포지션(Composition)
- 에러처리(Error Handling)
- 동시성, 경쟁 상태, 채널(Concurrency, Race Conditions and Channels)
- 동시성 패턴(Concurrency Patterns)
- 테스팅과 디버깅(Testing and Debugging)
- 표준 라이브러리(Standard Library)
- 리플렉션(Reflection)
- HTTP
이 자료는 실습 환경에서 학습 용도로 작성되었습니다. 코드는 코멘트를 잘 달아놨지만 일부 빠진 부분은 수업에서 다룰 예정입니다. 다음과 같은 배경지식이 있는 수강자에게 적합한 교육입니다.
-
프로그래밍
- 학교에서 컴퓨터관련 과목 수강자 혹은 IT업계에서 최소 2년 경력자
- 구조적 및 객체지향 프로그래밍 스타일에 대한 기본 지식
- array, list, queue, stack과 같이 기본 자료 구조의 이해
- process, thread, 동기화(synch) 이해
- 운영체제 동작 기본 지식
- 커맨드쉘 기본 동작
- 파일 시스템 기본 동작
- 환경 변수 기본
-
기대 학습 효과
- Go문법 및 구현에 대한 철저한 이해
- Go가 권장하는 스타일과 문법으로 코드 작성
- 일반적 문제 해결을 위한 패턴과 기술 익히기
Mac OS X에 Go 설치:
http://www.goinggo.net/2013/06/installing-go-gocode-gdb-and-liteide.html
Windows에 Go 설치:
http://www.wadewegner.com/2014/12/easy-go-programming-setup-for-windows/
초보자를 위한 자료:
Quick Tour
참고자료:
http://golang.org/
https://tour.golang.org/welcome/1
http://www.goinggo.net/
go get github.com/ArdanStudios/gotraining
https://ardanlabs.typeform.com/to/QzRgXk
Go 워크샵을 개최하는데 관심이 있는 분은 연락주세요.
Corporate:
Rackspace - May 27th-29th
Enrollment:
NYC, NY : June 10th-12th
Mexico : June 16th
Portland, OR : July 20th-21st
Denver, CO : July 7th
San Francisco, CA : August TBD
Austin, TX : August TBD
[Seoul, Korea : September 19th]
Conferences:
MagmaConf : June 16th
Gophercon : July 7th
OSCON : July 20th
신제용 (@jeyong)
subak.io에서 엠베디드 SW를 개발한다. 2011년 마소에 Go언어 소개 기사를 시작으로 회사에서 교육과 커뮤니티에서 Go와 관련된 지식을 전파하는 노력을 하고 있다.
박동희 (@donghee)
subak.io에서 HW와 SW를 개발한다. LG전자 등에서 HW개발자와 SW개발자를 위한 워크샵 및 교육을 하고 있다. Go언어 프로그래밍 모델을 임베디드 프로그래밍 모델에 적용하는 방법을 고민하고 있다.
신제용(Jeyong Shin) Subak.io Seoul jeyong@subak.io
All material is licensed under the GNU Free Documentation License.