coscup 2016: project 52 每週一個小專案來學習 golang
TRANSCRIPT
COSCUP 2016Project 52
GolangEvan Lin @ LinkerNetworks
http://www.slideshare.net/EvansLin/coscup-2016-project-52-for-golang
About Me• Cloud Architect @ Linker
Networks • Top 10 Taiwan Golang open
source contributor (github award)
• Developer, Curator, Blogger
!
http://www.slideshare.net/yuyuopop/coscup-24906600
?
https://speakerdeck.com/jeffersonlam/reflections-from-52-weeks-52-projects
https://speakerdeck.com/jeffersonlam/reflections-from-52-weeks-52-projects
What is Pokemon Go?
What is Go(lang)• Create by Google • Design by
• Ken Thompson • Rob Pike • Robert Griesemer,
• Feature:
• Compiled • Statically Typed • Garbage Collection
Why Golang?
Why Golang
• GO Fast! • Compile Fast! • Run Fast!
Go is Fast
Why Golang
• Make programming fun again.
gofmt / goimport
After file save..
GoRoutine:Multiple Thread in C
GoRoutine:Multiple Thread in Go
Golang - HTTPS Server
Golang - HTTPS Server
Supported HTTP/2
After Go 1.6
Golang - Built-In Test
Golang - Built-In Benchmark Test
GoMobileOriginal Work Flow
Golang Sample Console
Sometime Failed
Work
Failed on Some Model
GoMobileUsing Golang in Mobile
GolangGoMobilePackage
Golang Sample Console
Project 52Constraint
• The project could be small or big, but it should be something new not just refactoring an old project.
• The Programming language is not limited, feel free to write any language you have just learnt.
• Don't need to create brand new project, you could rewrite some exist project. (but on your own way, not allow to fork and refine.)
Let’s start Project 52
Write what your interest first
Github https://github.com/tzangms/iloveck101
Learn from Good Code
Tools
5. ms translator
Github: https://github.com/kkdai/mstranslator
11. oxford-face-cli
Github: https://github.com/kkdai/oxford-face-client
12. oxford-emotion
Github: https://github.com/kkdai/oxford-emotion
13. Slack-console
Github: https://github.com/kkdai/slack-console
Other tools14. A github notification (starred, follower, followed) RSS feed in Golang
15. A simple Github Status RSS feeder server in Golang
16. plurk-makerserver: IFTTT Twitter Plurk
Algorithms &&Data Structure
17. KMP
Algorithms &&Data Structure
GorillaFB: Time Series DB
MaglevGoogle: Maglev : A Fast and Reliable
Software Network Load Balancer
Algorithms &&Data Structure
18. PAXOS
Algorithms &&Data Structure
PubSubBloom Filter
Radix Tree
jsonop
Skip List
Consistent Hashing
Trigram
Ngram
React-Diff
Aho–Corasick Algorithm
CourseraAutomata
cyk dfae-nfa
nfa
re2epsnfa PCP (Post Correspondence Problems )
Turing Machine
Network Related
DiskQueueCoAPMQ
CoAP PubSub
Raft
Raft RPCRaft
Useful Tool?
Line Bot TemplateLineBot PetNeedYou
?
Project52
?
Trello
Project 52
Project 52
Project 52
Project 52
?
? Code ?
?
Go Call For Speaker