狠狠撸

狠狠撸Share a Scribd company logo
Project 52:
52 weeks, 52 Go projects
Golang Taiwan
Evan Lin
Motivation
狠狠撸: https://speakerdeck.com/jeffersonlam/re?ections-from-52-weeks-52-projects
Motivation
Why Golang?
Delicious
Powerful built-in library
gofmt (goimport)
vim-go make things
better
New
Golang is New
More new things
gomobile
http2
Fun
go test/vet/lint
playground
Progress
Github: http://github.com/kkdai/project52
mstranslator
Github: http://github.com/kkdai/mstranslator
goFBPages
Github: http://github.com/kkdai/goFBPages
goInstagram
Github: http://github.com/kkdai/goInstaram
iloveptt
Github: http://github.com/kkdai/iloveptt
webpic
Github: https://github.com/kkdai/webpic
algorithm/data structure…
Paxos Consensus
skiplist
bloom?lter
Pubsub
json Operation
Raft (ongoing)
DFA
radix tree
Can not ?nd any idea?
Refer good projects
Github Award Go Taiwan: http://goo.gl/xrw7id
Check Engineer Facebook
Use store your idea
Still don’t have any idea?
My Experience
What happen after
Project 52?
Read lots of codes
paxos, raft, etcd…
Using interesting go
packages
cobra, goquery…
At least, I got 14 more
go projects :)
「Project52 don’t need you, but you need
Project52」
Ad

Recommended

COSCUP 2016: Project 52 每週一個小專案來學習 Golang
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
Evan Lin
?
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Evan Lin
?
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Evan Lin
?
Write microservice in golang
Write microservice in golang
Bo-Yi Wu
?
Back end User Group / Golang Intro
Back end User Group / Golang Intro
Simone Gentili
?
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
Evan Lin
?
Golang Microservices meetup
Golang Microservices meetup
Girish Ramnani
?
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Evan Lin
?
Golang online course
Golang online course
bestonlinecoursescoupon
?
How I become Go GDE
How I become Go GDE
Evan Lin
?
How to master a programming language: a Golang example"
How to master a programming language: a Golang example"
Evan Lin
?
Modern Web 2016: Using Golang to build a smart IM Bot
Modern Web 2016: Using Golang to build a smart IM Bot
Evan Lin
?
Introduction to GoLang
Introduction to GoLang
NVISIA
?
Git for Beginners
Git for Beginners
Rick Umali
?
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Evan Lin
?
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Edureka!
?
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
inovex GmbH
?
Introduction to GitHub Actions
Introduction to GitHub Actions
Knoldus Inc.
?
How to use any static site generator with GitLab Pages.
How to use any static site generator with GitLab Pages.
Ivan Nemytchenko
?
CI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + Jenkins
Go Chiba
?
How Git and Gerrit make you more productive
How Git and Gerrit make you more productive
Karsten Dambekalns
?
Up GitLab Presentation 2015
Up GitLab Presentation 2015
Kumaran Balachandran
?
Intro to Git & GitHub
Intro to Git & GitHub
Google Developer Students Club NIT Silchar
?
Git best practices workshop
Git best practices workshop
Otto Kek?l?inen
?
Git & Github
Git & Github
Aman Lalpuria
?
Git and git workflow best practice
Git and git workflow best practice
Majid Hosseini
?
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
Heather McNamee
?
Git best practices 2016
Git best practices 2016
Otto Kek?l?inen
?
好書分享: 一人公司 Company Of One
好書分享: 一人公司 Company Of One
Evan Lin
?
iThome Modern Web 2018: 如何打造高效的機器學習平台
iThome Modern Web 2018: 如何打造高效的機器學習平台
Evan Lin
?

More Related Content

What's hot (20)

Golang online course
Golang online course
bestonlinecoursescoupon
?
How I become Go GDE
How I become Go GDE
Evan Lin
?
How to master a programming language: a Golang example"
How to master a programming language: a Golang example"
Evan Lin
?
Modern Web 2016: Using Golang to build a smart IM Bot
Modern Web 2016: Using Golang to build a smart IM Bot
Evan Lin
?
Introduction to GoLang
Introduction to GoLang
NVISIA
?
Git for Beginners
Git for Beginners
Rick Umali
?
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Evan Lin
?
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Edureka!
?
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
inovex GmbH
?
Introduction to GitHub Actions
Introduction to GitHub Actions
Knoldus Inc.
?
How to use any static site generator with GitLab Pages.
How to use any static site generator with GitLab Pages.
Ivan Nemytchenko
?
CI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + Jenkins
Go Chiba
?
How Git and Gerrit make you more productive
How Git and Gerrit make you more productive
Karsten Dambekalns
?
Up GitLab Presentation 2015
Up GitLab Presentation 2015
Kumaran Balachandran
?
Intro to Git & GitHub
Intro to Git & GitHub
Google Developer Students Club NIT Silchar
?
Git best practices workshop
Git best practices workshop
Otto Kek?l?inen
?
Git & Github
Git & Github
Aman Lalpuria
?
Git and git workflow best practice
Git and git workflow best practice
Majid Hosseini
?
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
Heather McNamee
?
Git best practices 2016
Git best practices 2016
Otto Kek?l?inen
?
How I become Go GDE
How I become Go GDE
Evan Lin
?
How to master a programming language: a Golang example"
How to master a programming language: a Golang example"
Evan Lin
?
Modern Web 2016: Using Golang to build a smart IM Bot
Modern Web 2016: Using Golang to build a smart IM Bot
Evan Lin
?
Introduction to GoLang
Introduction to GoLang
NVISIA
?
Git for Beginners
Git for Beginners
Rick Umali
?
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Evan Lin
?
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Edureka!
?
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
inovex GmbH
?
Introduction to GitHub Actions
Introduction to GitHub Actions
Knoldus Inc.
?
How to use any static site generator with GitLab Pages.
How to use any static site generator with GitLab Pages.
Ivan Nemytchenko
?
CI/CD with Rancher CLI + Jenkins
CI/CD with Rancher CLI + Jenkins
Go Chiba
?
How Git and Gerrit make you more productive
How Git and Gerrit make you more productive
Karsten Dambekalns
?
Git best practices workshop
Git best practices workshop
Otto Kek?l?inen
?
Git and git workflow best practice
Git and git workflow best practice
Majid Hosseini
?
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
Heather McNamee
?

More from Evan Lin (12)

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

Recently uploaded (20)

Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
?
Microwatt: Open Tiny Core, Big Possibilities
Microwatt: Open Tiny Core, Big Possibilities
IBM
?
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
hosseinihamid192023
?
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
?
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
?
Industry 4.o the fourth revolutionWeek-2.pptx
Industry 4.o the fourth revolutionWeek-2.pptx
KNaveenKumarECE
?
Unit III_One Dimensional Consolidation theory
Unit III_One Dimensional Consolidation theory
saravananr808639
?
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
?
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
?
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
?
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
23Q95A6706
?
Abraham Silberschatz-Operating System Concepts (9th,2012.12).pdf
Abraham Silberschatz-Operating System Concepts (9th,2012.12).pdf
Shabista Imam
?
How to Un-Obsolete Your Legacy Keypad Design
How to Un-Obsolete Your Legacy Keypad Design
Epec Engineered Technologies
?
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
?
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
?
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
ketan09101
?
Mechanical Vibration_MIC 202_iit roorkee.pdf
Mechanical Vibration_MIC 202_iit roorkee.pdf
isahiliitr
?
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
?
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
?
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
?
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
?
Microwatt: Open Tiny Core, Big Possibilities
Microwatt: Open Tiny Core, Big Possibilities
IBM
?
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
hosseinihamid192023
?
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
?
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
?
Industry 4.o the fourth revolutionWeek-2.pptx
Industry 4.o the fourth revolutionWeek-2.pptx
KNaveenKumarECE
?
Unit III_One Dimensional Consolidation theory
Unit III_One Dimensional Consolidation theory
saravananr808639
?
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
?
Fatality due to Falls at Working at Height
Fatality due to Falls at Working at Height
ssuserb8994f
?
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
Introduction to Natural Language Processing - Stages in NLP Pipeline, Challen...
resming1
?
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
Learning – Types of Machine Learning – Supervised Learning – Unsupervised UNI...
23Q95A6706
?
Abraham Silberschatz-Operating System Concepts (9th,2012.12).pdf
Abraham Silberschatz-Operating System Concepts (9th,2012.12).pdf
Shabista Imam
?
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
?
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
?
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
(Continuous Integration and Continuous Deployment/Delivery) is a fundamental ...
ketan09101
?
Mechanical Vibration_MIC 202_iit roorkee.pdf
Mechanical Vibration_MIC 202_iit roorkee.pdf
isahiliitr
?
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
?
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Rapid Prototyping for XR: Lecture 6 - AI for Prototyping and Research Directi...
Mark Billinghurst
?
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
?
Ad