SlideShare a Scribd company logo
How to master a programming
language: a Golang example"
LINE Developer Relations
Evan Lin
2020.11
Evan Lin
• LINE Developer Relations
• Google Developer Expert
LINE Technology Evangelist
How to learn a new
programming language!
Hold Up
As a cloud computing developer
• Data processing
• Python
• R
• Microservices
• Node.js
• Rust
• Golang
• CI/CD
• Makefile (?)
• YAML (!)
What is Golang
What is Go • Create by Google
• Design by
• Ken Thompson
• Rob Pike
• Robert Griesemer
• Feature:
• Compiled
• Statically Typed
• Garbage Collection
What is Go • Create by Google
• Design by
• Ken Thompson
• Rob Pike
• Robert Griesemer
• Feature:
• Compiled
• Statically Typed
• Garbage Collection
Let’s playing Golang
https://play.golang.org/p/HmnNoBf0p1z
“Go tour”
https://tour.golang.org/welcome/1
Write a Go CLI
https://github.com/kkdai/youtube
”go test” save your time for testing
https://play.golang.org/p/pJLWBwuiCeY https://play.golang.org/p/T64C3IOplsi
Write testing case for Skip List
https://github.com/kkdai/skiplist/blob/master/skiplist_test.go
“godoc” help you build documentation
https://pkg.go.dev/github.com/kkdai/youtube?tab=doc
That’s all
Hold Up
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
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
The best way to mastering a
Programming Language
Just write everything
Writing everything by Go
https://github.com/kkdai/project52
You might have questions for me..
Q1: Why you want to write blog?
https://evanlin.com/
How to write more blog posts
• Not for anyone, just for yourself.
• Start from learning note.
• TIL (Today I learn) is the best practice.
• Writing is the best way to learn deeper.
Q2: Why suggest write chatbot?
What is LINE Chatbot
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)
Build advanced Chatbot in Go
https://youtu.be/B9m_6brhkdchttps://github.com/kkdai/LineBotPetNeedMe
SHARE! SHARE! SHARE!!
• Meetup/Conference approach learning
• Share >>> Learn
• Open mind
How to master a programming language: a Golang example"
Q3: How to become GDE?
How to become a Expert?
Crafting Blogging Communicate Sharing
Q4: Want to learn more in a short time?
LINE TECH FRESH
https://engineering.linecorp.com/zh-hant/blog/tech-fresh-2020/ 34
How to master a programming language: a Golang example"
Q&A

More Related Content

What's hot (20)

PDF
Git for Beginners
Rick Umali
 
PPTX
Git Going w/ Git
heyMP
 
PDF
Modern Web 2016: Using Golang to build a smart IM Bot
Evan Lin
 
PPTX
JAZOON'13 - Andres Almiray - Rocket Propelled Java
jazoon13
 
PPTX
Introduction to GoLang
NVISIA
 
PPTX
5 loaded guns Go hapily aims at your feet
Márk Sági-Kazár
 
PDF
Hacktoberfest - An Open Source Story
Johan Thelin
 
PPTX
Git & Github
Aman Lalpuria
 
PDF
componentDidCatch and Error Boundaries in React v16+
Rohan Nair
 
PPTX
Building a Portable Testing Rig with GoConvey and Docker
Alison Rowland
 
PPTX
Practical Git - Philly.NET Code Camp
Christopher Gomez
 
PPTX
Git and git workflow best practice
Majid Hosseini
 
PDF
Odo improving the developer experience on OpenShift - hack & sangria
Jorge Morales
 
PDF
Improving the developer experience on OpenShift - devconf-india-18
Jorge Morales
 
PDF
G*Magazineを読もう
Takuma Watabiki
 
ODP
Boston Ruby Group - Devops Pipeline
Michael Durrant
 
PDF
Vapor london March 2018
Shashikant Jagtap
 
PPTX
Stable master workflow with Gerrit Code Review
Luca Milanesio
 
PPTX
GerritHub.io - present, past, future
Luca Milanesio
 
PDF
What we use to build Android apps at Silicon Straits
Silicon Straits
 
Git for Beginners
Rick Umali
 
Git Going w/ Git
heyMP
 
Modern Web 2016: Using Golang to build a smart IM Bot
Evan Lin
 
JAZOON'13 - Andres Almiray - Rocket Propelled Java
jazoon13
 
Introduction to GoLang
NVISIA
 
5 loaded guns Go hapily aims at your feet
Márk Sági-Kazár
 
Hacktoberfest - An Open Source Story
Johan Thelin
 
Git & Github
Aman Lalpuria
 
componentDidCatch and Error Boundaries in React v16+
Rohan Nair
 
Building a Portable Testing Rig with GoConvey and Docker
Alison Rowland
 
Practical Git - Philly.NET Code Camp
Christopher Gomez
 
Git and git workflow best practice
Majid Hosseini
 
Odo improving the developer experience on OpenShift - hack & sangria
Jorge Morales
 
Improving the developer experience on OpenShift - devconf-india-18
Jorge Morales
 
G*Magazineを読もう
Takuma Watabiki
 
Boston Ruby Group - Devops Pipeline
Michael Durrant
 
Vapor london March 2018
Shashikant Jagtap
 
Stable master workflow with Gerrit Code Review
Luca Milanesio
 
GerritHub.io - present, past, future
Luca Milanesio
 
What we use to build Android apps at Silicon Straits
Silicon Straits
 

Similar to How to master a programming language: a Golang example" (20)

PDF
Golang skills session1: introduction
sofianinho
 
PPTX
Golang introduction
DineshDinesh131
 
PPT
Introduction to Go ProgrammingLanguage.ppt
PedroAlexandre215482
 
PPTX
go language- haseeb.pptx
ArsalanMaqsood1
 
PPTX
Golang - Overview of Go (golang) Language
Aniruddha Chakrabarti
 
PPTX
Lab1GoBasicswithgo_foundationofgolang.pptx
stasneemattia
 
PDF
Introduction to Go
Simon Hewitt
 
PPTX
Golang presentaion-2018-07-26
Shintaro Ikeda
 
PDF
Go lang
Suelen Carvalho
 
PPTX
Go Programming language, golang
Basil N G
 
PPT
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
PPT
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
PDF
Go language presentation
paramisoft
 
PDF
A gentle intro to Golang and the Go-universe
Alex-P. Natsios
 
PPTX
Go fundamentals
Ron Barabash
 
PPTX
A Very Brief Intro to Golang
Joshua Haupt
 
PDF
An introduction to programming in Go
David Robert Camargo de Campos
 
PPTX
The Go Programing Language 1
İbrahim Kürce
 
PDF
Lets Go - An introduction to Google's Go Programming Language
Ganesh Samarthyam
 
PDF
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
 
Golang skills session1: introduction
sofianinho
 
Golang introduction
DineshDinesh131
 
Introduction to Go ProgrammingLanguage.ppt
PedroAlexandre215482
 
go language- haseeb.pptx
ArsalanMaqsood1
 
Golang - Overview of Go (golang) Language
Aniruddha Chakrabarti
 
Lab1GoBasicswithgo_foundationofgolang.pptx
stasneemattia
 
Introduction to Go
Simon Hewitt
 
Golang presentaion-2018-07-26
Shintaro Ikeda
 
Go Programming language, golang
Basil N G
 
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
Go language presentation
paramisoft
 
A gentle intro to Golang and the Go-universe
Alex-P. Natsios
 
Go fundamentals
Ron Barabash
 
A Very Brief Intro to Golang
Joshua Haupt
 
An introduction to programming in Go
David Robert Camargo de Campos
 
The Go Programing Language 1
İbrahim Kürce
 
Lets Go - An introduction to Google's Go Programming Language
Ganesh Samarthyam
 
Let's Go: Introduction to Google's Go Programming Language
Ganesh Samarthyam
 
Ad

More from Evan Lin (13)

PDF
好書分享: 一人公司 Company Of One
Evan Lin
 
PDF
iThome Modern Web 2018: 如何打造高效的機器學習平台
Evan Lin
 
PPTX
Kubernetes secret introduction
Evan Lin
 
PDF
Consistent hashing algorithmic tradeoffs
Evan Lin
 
PDF
GTG30: Introduction vgo
Evan Lin
 
PDF
Kubernetes v.s. mesos
Evan Lin
 
PDF
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
Evan Lin
 
PDF
Google APAC Machine Learning Expert Day
Evan Lin
 
PDF
Use go channel to write a disk queue
Evan Lin
 
PDF
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Evan Lin
 
PDF
Docker swarm introduction
Evan Lin
 
PDF
Docker introduction in Hardware Company
Evan Lin
 
PDF
Host Line Bot with Golang
Evan Lin
 
好書分享: 一人公司 Company Of One
Evan Lin
 
iThome Modern Web 2018: 如何打造高效的機器學習平台
Evan Lin
 
Kubernetes secret introduction
Evan Lin
 
Consistent hashing algorithmic tradeoffs
Evan Lin
 
GTG30: Introduction vgo
Evan Lin
 
Kubernetes v.s. mesos
Evan Lin
 
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
Evan Lin
 
Google APAC Machine Learning Expert Day
Evan Lin
 
Use go channel to write a disk queue
Evan Lin
 
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Evan Lin
 
Docker swarm introduction
Evan Lin
 
Docker introduction in Hardware Company
Evan Lin
 
Host Line Bot with Golang
Evan Lin
 
Ad

Recently uploaded (20)

PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 

How to master a programming language: a Golang example"