Slide 1

Slide 1 text

 Go   LINE Developer Relations Evan Lin 2020.05

Slide 2

Slide 2 text

Agenda •Who am I? Why I learn Go? •What is Go? •Using Golang to build LINE Bot •How I became GDE? •LINE TECH FRESH •Q&A

Slide 3

Slide 3 text

Evan Lin • Google Developer Expert • LINE Developer Meetup • LINE TAIWAN TECHPULSE Organizer LINE Technology Evangelist

Slide 4

Slide 4 text

My history background

Slide 5

Slide 5 text

Windows Application Developer 10+

Slide 6

Slide 6 text

Web application development Surveillance Smart Home

Slide 7

Slide 7 text

Our Tech Stack. (before)

Slide 8

Slide 8 text

My (ex) boss told me..   I have secret tip..

Slide 9

Slide 9 text

What is pokemon Go?

Slide 10

Slide 10 text

What is Go • Create by Google • Design by • Ken Thompson • Rob Pike • Robert Griesemer • Feature: • Compiled • Statically Typed • Garbage Collection

Slide 11

Slide 11 text

Go is fast!

Slide 12

Slide 12 text

gofmt / goimport

Slide 13

Slide 13 text

   ? • Forget import package •  • if else  • Indent • Demo: https://play.golang.org/p/DD0r3d25E4C

Slide 14

Slide 14 text

”go test” save your time for testing https://play.golang.org/p/jynzyytYzhC https://play.golang.org/p/P_P_bmOqlCB

Slide 15

Slide 15 text

“godoc” help you build documentation https://pkg.go.dev/github.com/kkdai/youtube?tab=doc

Slide 16

Slide 16 text

Goroutine: https://play.golang.org/p/rjT7yXqft_C Unbuffered Channel: https://play.golang.org/p/zaNUS8IhzfT Buffered Channel: • https://tour.golang.org/concurrency/3 • https://tour.golang.org/concurrency/4

Slide 17

Slide 17 text

https://tour.golang.org/list “A tour for Go” to learn more detail.

Slide 18

Slide 18 text

https://go-tour-zh-tw.appspot.com/basics/1  (Wait a second…)

Slide 19

Slide 19 text

Learn Go from LINE chatbot

Slide 20

Slide 20 text

Why using chatbot as example?

Slide 21

Slide 21 text

What is LINE Chatbot

Slide 22

Slide 22 text

Create LINE Bot within 5 mins •Request channel for LINE Bot •Deploy LINE Bot server on Heroku •Change related setting on Channel •Go ! Online (video) •How to modify it? (video)

Slide 23

Slide 23 text

Build advanced Chatbot in Go https://youtu.be/B9m_6brhkdc https://github.com/kkdai/LineBotPetNeedMe

Slide 24

Slide 24 text

How to become Go GDE

Slide 25

Slide 25 text

How I became Go GDE l learn Go • Blog post (weekly) • Write everything with Go • SHARE! SHARE! SHARE!! With everyone

Slide 26

Slide 26 text

How to write more blog posts • Start from learning note. • TIL (Today I learn) is the best practice. • Writing is the best way to learn deeper.

Slide 27

Slide 27 text

Writing everything with Go https://github.com/kkdai/project52

Slide 28

Slide 28 text

Learn new Go features • Learn new features using `go get` • Learn from document • Write related into your language TIL.

Slide 29

Slide 29 text

SHARE! SHARE! SHARE!! • Meetup/Conference approach learning • Share >>> Learn • Open mind

Slide 30

Slide 30 text

Attend COSCUP 2020

Slide 31

Slide 31 text

Can’t get the ticket?

Slide 32

Slide 32 text

Conference Speaker is who cannot get ticket willing to share! - anonymous

Slide 33

Slide 33 text

COSCUP 2020 CFP https://blog.coscup.org/2020/04/coscup-2020-cfp-is-now-open.html#go https://blog.coscup.org/2020/04/coscup-2020-cfp-is-now-open.html#chatbot

Slide 34

Slide 34 text

LINE TECH FRESH https://engineering.linecorp.com/zh-hant/blog/tech-fresh-2020/

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Q&A