├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Evan Lin 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Project52 Golang Challenge 3 | 4 | A project to write a small project everyweek. All projects are written by Golang. 5 | 6 | 7 | ## Preface: 8 | 9 | I saw a slide [reflectionsfrom 52 weeks 52 projects](https://speakerdeck.com/jeffersonlam/reflections-from-52-weeks-52-projects) and felt inspired. So, I hope I could learn something by doing the same challenge myself. 10 | 11 | ## Constraint: 12 | 13 | Here are the constraints of Project52. 14 | 15 | - The project could be small or big, but it should be something new not just refactoring an old project. 16 | - The Programming language is not limited, feel free to write any language you have just learnt. (actually I am interested in writing some R packages, just because I want to learn it.) 17 | - 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.) 18 | 19 | ## Progress (2015/06/25~2016/06/17) 20 | 21 | 1. (06/25) [![GitHub stars](https://img.shields.io/github/stars/kkdai/goFBPages?style=social)](https://github.com/kkdai/goFBPages/stargazers/) [https://github.com/kkdai/goFBPages](https://github.com/kkdai/goFBPages) A facebook page photo downloader 22 | 2. (07/02) [![GitHub stars](https://img.shields.io/github/stars/kkdai/goInstagramDownloader?style=social)](https://github.com/kkdai/goInstagramDownloader/stargazers/) [https://github.com/kkdai/goInstagramDownloader](https://github.com/kkdai/goInstagramDownloader) Instagram photo downloader 23 | 3. (07/10) [![GitHub stars](https://img.shields.io/github/stars/kkdai/goFbAlbum?style=social)](https://github.com/kkdai/goFbAlbum/stargazers/) [https://github.com/kkdai/goFbAlbum](https://github.com/kkdai/goFbAlbum) A package to summerize all facebook album handle APIs using FB Graph API.. 24 | 4. (07/18) [![GitHub stars](https://img.shields.io/github/stars/kkdai/mstranslator?style=social)](https://github.com/kkdai/mstranslator/stargazers/) [https://github.com/kkdai/mstranslator](https://github.com/kkdai/mstranslator) A client to use [Microsoft Translator Services](mstranslator). 25 | 5. (07/25) [![GitHub stars](https://img.shields.io/github/stars/kkdai/iloveptt?style=social)](https://github.com/kkdai/iloveptt/stargazers/) [https://github.com/kkdai/iloveptt](https://github.com/kkdai/iloveptt) A Web crawler to browse [PTT](https://www.ptt.cc/index.bbs.html) and download photos 26 | 6. (07/31) [![GitHub stars](https://img.shields.io/github/stars/kkdai/paxos?style=social)](https://github.com/kkdai/paxos/stargazers/) [https://github.com/kkdai/paxos](https://github.com/kkdai/paxos) A consensus algorithm "Paxos" implement 27 | 7. (08/07) [![GitHub stars](https://img.shields.io/github/stars/kkdai/bloomfilter?style=social)](https://github.com/kkdai/bloomfilter/stargazers/) [https://github.com/kkdai/bloomfilter](https://github.com/kkdai/bloomfilter) A bloom filter implement 28 | 8. (08/15) [![GitHub stars](https://img.shields.io/github/stars/kkdai/skiplist?style=social)](https://github.com/kkdai/skiplist/stargazers/) [https://github.com/kkdai/skiplist](https://github.com/kkdai/skiplist) SkipList implement in Go 29 | 9. (08/22) [![GitHub stars](https://img.shields.io/github/stars/kkdai/pubsub?style=social)](https://github.com/kkdai/pubsub/stargazers/) [https://github.com/kkdai/pubsub](https://github.com/kkdai/pubsub) A Redis pub/sub concept implement 30 | 10. (08/29) [![GitHub stars](https://img.shields.io/github/stars/kkdai/webpic?style=social)](https://github.com/kkdai/webpic/stargazers/) [https://github.com/kkdai/webpic](https://github.com/kkdai/webpic) A website pic downloader 31 | 11. (09/04) [![GitHub stars](https://img.shields.io/github/stars/kkdai/jsonop?style=social)](https://github.com/kkdai/jsonop/stargazers/) [https://github.com/kkdai/jsonop](https://github.com/kkdai/jsonop) A json operation library 32 | 12. (09/12) [![GitHub stars](https://img.shields.io/github/stars/kkdai/radix?style=social)](https://github.com/kkdai/radix/stargazers/) [https://github.com/kkdai/radix](https://github.com/kkdai/radix) A simple radix tree implement in Golang 33 | 13. (09/19) [![GitHub stars](https://img.shields.io/github/stars/kkdai/dfa?style=social)](https://github.com/kkdai/dfa/stargazers/) [https://github.com/kkdai/dfa](https://github.com/kkdai/dfa) A Deterministic Finite Automata function implement in Golang 34 | 14. (09/26) [![GitHub stars](https://img.shields.io/github/stars/kkdai/nfa?style=social)](https://github.com/kkdai/nfa/stargazers/) [https://github.com/kkdai/nfa](https://github.com/kkdai/nfa) A Nondeterministic Finite Automata function implement in Golang 35 | 15. (10/02) [![GitHub stars](https://img.shields.io/github/stars/kkdai/e-nfa?style=social)](https://github.com/kkdai/e-nfa/stargazers/) [https://github.com/kkdai/e-nfa](https://github.com/kkdai/e-nfa) A Epsilon Nondeterministic Finite Automata function implement in Golang 36 | 16. (10/09) [![GitHub stars](https://img.shields.io/github/stars/kkdai/re2epsnfa?style=social)](https://github.com/kkdai/re2epsnfa/stargazers/) [https://github.com/kkdai/re2epsnfa](https://github.com/kkdai/re2epsnfa) A tranform function to translate RE to Epsilon-NFA 37 | 17. (10/16) [![GitHub stars](https://img.shields.io/github/stars/kkdai/cyk?style=social)](https://github.com/kkdai/cyk/stargazers/) [https://github.com/kkdai/cyk](https://github.com/kkdai/cyk) CYK algorithm in Golang 38 | 18. (10/23) [![GitHub stars](https://img.shields.io/github/stars/kkdai/pcp?style=social)](https://github.com/kkdai/pcp/stargazers/) [https://github.com/kkdai/pcp](https://github.com/kkdai/pcp) PCP: Post’s Correspondence Problems simple solver implement in Golang 39 | 19. (10/30) [![GitHub stars](https://img.shields.io/github/stars/kkdai/tm?style=social)](https://github.com/kkdai/tm/stargazers/) [https://github.com/kkdai/tm](https://github.com/kkdai/tm) TM: Turing Machine implement in Golang 40 | 20. (11/05) [![GitHub stars](https://img.shields.io/github/stars/kkdai/twitter?style=social)](https://github.com/kkdai/twitter/stargazers/) [https://github.com/kkdai/twitter](https://github.com/kkdai/twitter) A simple twitter API in Golang 41 | 21. (11/13) [![GitHub stars](https://img.shields.io/github/stars/kkdai/consistent?style=social)](https://github.com/kkdai/consistent/stargazers/) [https://github.com/kkdai/consistent](https://github.com/kkdai/consistent) Consistent Hashing implement in Golang 42 | 22. (11/20) [![GitHub stars](https://img.shields.io/github/stars/kkdai/photomgr?style=social)](https://github.com/kkdai/photomgr/stargazers/) [https://github.com/kkdai/photomgr](https://github.com/kkdai/photomgr) A photo download made for gomobile in Golang 43 | 23. (11/27) [![GitHub stars](https://img.shields.io/github/stars/kkdai/trigram?style=social)](https://github.com/kkdai/trigram/stargazers/) [https://github.com/kkdai/trigram](https://github.com/kkdai/trigram) A trigram indexing using Go 44 | 24. (12/04) [![GitHub stars](https://img.shields.io/github/stars/kkdai/ngram?style=social)](https://github.com/kkdai/ngram/stargazers/) [https://github.com/kkdai/ngram](https://github.com/kkdai/ngram) A ngram indexing using Go 45 | 25. (12/11) [![GitHub stars](https://img.shields.io/github/stars/kkdai/beacon?style=social)](https://github.com/kkdai/beacon/stargazers/) [https://github.com/kkdai/beacon](https://github.com/kkdai/beacon) Beacon Simulator: A simple beacon simulator (iBeacon/Eddystone) in Golang 46 | 26. (12/18) [![GitHub stars](https://img.shields.io/github/stars/kkdai/youtube?style=social)](https://github.com/kkdai/youtube/stargazers/) [https://github.com/kkdai/youtube](https://github.com/kkdai/youtube) A Youtube download package in Golang 47 | 27. (12/25) [![GitHub stars](https://img.shields.io/github/stars/kkdai/react-diff?style=social)](https://github.com/kkdai/react-diff/stargazers/) [https://github.com/kkdai/react-diff](https://github.com/kkdai/react-diff) React Diff binary tree in Golang (Graphviz) 48 | 28. (12/31) [![GitHub stars](https://img.shields.io/github/stars/kkdai/EddystoneScanner?style=social)](https://github.com/kkdai/EddystoneScanner/stargazers/) [https://github.com/kkdai/EddystoneScanner](https://github.com/kkdai/EddystoneScanner) Eddystone Beacon Scanner in Golang 49 | 29. (01/08) [![GitHub stars](https://img.shields.io/github/stars/kkdai/CoapPubsub?style=social)](https://github.com/kkdai/CoapPubsub/stargazers/) [https://github.com/kkdai/CoapPubsub](https://github.com/kkdai/CoapPubsub) A PubSub client/server using CoAP protocol 50 | 30. (01/15) [![GitHub stars](https://img.shields.io/github/stars/kkdai/ri?style=social)](https://github.com/kkdai/ri/stargazers/) [https://github.com/kkdai/ri](https://github.com/kkdai/ri) A UDP client/server to get Public and Private IP and Port for hole punching 51 | 31. (01/22) [![GitHub stars](https://img.shields.io/github/stars/kkdai/coapmq?style=social)](https://github.com/kkdai/coapmq/stargazers/) [https://github.com/kkdai/coapmq](https://github.com/kkdai/coapmq) A Publish-Subscribe Broker for the Constrained Application Protocol (CoAP) in Golang 52 | 32. (01/29) [![GitHub stars](https://img.shields.io/github/stars/kkdai/oxford-face?style=social)](https://github.com/kkdai/oxford-face/stargazers/) [https://github.com/kkdai/oxford-face](https://github.com/kkdai/oxford-face) Project Oxford Face API for Golang 53 | 33. (02/05) [![GitHub stars](https://img.shields.io/github/stars/kkdai/oxford-face-client?style=social)](https://github.com/kkdai/oxford-face-client/stargazers/) [https://github.com/kkdai/oxford-face-client](https://github.com/kkdai/oxford-face-client) A client App for oxford-face Golang package (http://github.com/kkdai/oxford-face) 54 | 34. (02/12) [![GitHub stars](https://img.shields.io/github/stars/kkdai/oxford-emotion?style=social)](https://github.com/kkdai/oxford-emotion/stargazers/) [https://github.com/kkdai/oxford-emotion](https://github.com/kkdai/oxford-emotion) Project Oxford Emotion API for Golang 55 | 35. (02/19) [![GitHub stars](https://img.shields.io/github/stars/kkdai/diskqueue?style=social)](https://github.com/kkdai/diskqueue/stargazers/) [https://github.com/kkdai/diskqueue](https://github.com/kkdai/diskqueue) NSQ Diskqueue implement in Golang 56 | 36. (02/26) [![GitHub stars](https://img.shields.io/github/stars/kkdai/pd?style=social)](https://github.com/kkdai/pd/stargazers/) [https://github.com/kkdai/pd](https://github.com/kkdai/pd) (PUBSUB) Publish-Subscrbe message broker with Disk queue in Golang 57 | 37. (03/04) [![GitHub stars](https://img.shields.io/github/stars/kkdai/rd?style=social)](https://github.com/kkdai/rd/stargazers/) [https://github.com/kkdai/rd](https://github.com/kkdai/rd) A simple RPC Message Queue Server/Client with DiskQueue 58 | 38. (03/11) [![GitHub stars](https://img.shields.io/github/stars/kkdai/raftrpc?style=social)](https://github.com/kkdai/raftrpc/stargazers/) [https://github.com/kkdai/raftrpc](https://github.com/kkdai/raftrpc) Simple RPC Key Value Server using etcd/Raft in Golang 59 | 39. (03/18) [![GitHub stars](https://img.shields.io/github/stars/kkdai/githubrss?style=social)](https://github.com/kkdai/githubrss/stargazers/) [https://github.com/kkdai/githubrss](https://github.com/kkdai/githubrss) A github notification (starred, follower, followed) RSS feed in Golang 60 | 40. (03/25) [![GitHub stars](https://img.shields.io/github/stars/kkdai/rss-webserver?style=social)](https://github.com/kkdai/rss-webserver/stargazers/) [https://github.com/kkdai/rss-webserver](https://github.com/kkdai/rss-webserver) A simple Github Status RSS feeder server in Golang 61 | 41. (04/01) [![GitHub stars](https://img.shields.io/github/stars/kkdai/slack-console?style=social)](https://github.com/kkdai/slack-console/stargazers/) [https://github.com/kkdai/slack-console](https://github.com/kkdai/slack-console) A simple slack console tool in Golang 62 | 42. (04/08) [![GitHub stars](https://img.shields.io/github/stars/kkdai/plurk-makerserver?style=social)](https://github.com/kkdai/plurk-makerserver/stargazers/) [https://github.com/kkdai/plurk-makerserver](https://github.com/kkdai/plurk-makerserver) Plurk post server for IFTTT Maker in Golang 63 | 43. (04/15) [![GitHub stars](https://img.shields.io/github/stars/kkdai/kmp?style=social)](https://github.com/kkdai/kmp/stargazers/) [https://github.com/kkdai/kmp](https://github.com/kkdai/kmp) KMP (Knuth–Morris–Pratt algorithm) implement and related string function `Strstr` and `Strchr` in Golang 64 | 44. (04/22) [![GitHub stars](https://img.shields.io/github/stars/kkdai/aca?style=social)](https://github.com/kkdai/aca/stargazers/) [https://github.com/kkdai/aca](https://github.com/kkdai/aca) Aho–Corasick algorithm automation implement in Golang 65 | 45. (04/29) [![GitHub stars](https://img.shields.io/github/stars/kkdai/LineBotTemplate?style=social)](https://github.com/kkdai/LineBotTemplate/stargazers/) [https://github.com/kkdai/LineBotTemplate](https://github.com/kkdai/LineBotTemplate) A simple Golang LineBot Template and tutorial how to setup on Heroku for Line Bot API 66 | 46. (05/06) [![GitHub stars](https://img.shields.io/github/stars/kkdai/LineBotPetNeedMe?style=social)](https://github.com/kkdai/LineBotPetNeedMe/stargazers/) [https://github.com/kkdai/LineBotPetNeedMe](https://github.com/kkdai/LineBotPetNeedMe) Animal Adoption Platform on Line Bot 67 | 47. (05/13) [![GitHub stars](https://img.shields.io/github/stars/kkdai/petneedme?style=social)](https://github.com/kkdai/petneedme/stargazers/) [https://github.com/kkdai/petneedme](https://github.com/kkdai/petneedme) Package to get Pet Adoption OpenData from Taiwan in Golang 68 | 48. (05/20) [![GitHub stars](https://img.shields.io/github/stars/kkdai/bstream?style=social)](https://github.com/kkdai/bstream/stargazers/) [https://github.com/kkdai/bstream](https://github.com/kkdai/bstream) A Bit Stream helper in Golang 69 | 49. (05/27) [![GitHub stars](https://img.shields.io/github/stars/kkdai/trr?style=social)](https://github.com/kkdai/trr/stargazers/) [https://github.com/kkdai/trr](https://github.com/kkdai/trr) TRR: Time-Series of gorilla algorithm with Raft RPC Server/Client in Golang 70 | 50. (06/03) [![GitHub stars](https://img.shields.io/github/stars/kkdai/maglev?style=social)](https://github.com/kkdai/maglev/stargazers/) [https://github.com/kkdai/maglev](https://github.com/kkdai/maglev) A Google Maglev Hashing Algorithm implement in Golang 71 | 51. (06/10) [![GitHub stars](https://img.shields.io/github/stars/kkdai/petl?style=social)](https://github.com/kkdai/petl/stargazers/) [https://github.com/kkdai/petl](https://github.com/kkdai/petl) A Pipeline ETL process and receive data from pipe in Golang 72 | 52. (06/17) [![GitHub stars](https://img.shields.io/github/stars/kkdai/raftserver?style=social)](https://github.com/kkdai/raftserver/stargazers/) [https://github.com/kkdai/raftserver](https://github.com/kkdai/raftserver) A RPC Server implement base on Raft Paper in Golang 73 | 74 | 75 | ## Talk 76 | 77 | - [COSCUP 2016](http://coscup.org/2016/): [Using Project 52 to Learn Golang](http://www.slideshare.net/EvansLin/coscup-2016-project-52-for-golang). 78 | 79 | ## Join Me 80 | 81 | Feel free to `fork` this project, if you want to do your `Project52 Challenge`. 82 | 83 | ## Provide Idea or Encourage.. 84 | 85 | Please file an `issue` if you want to suggest a small project idea. (hopefully it could be done within one week. :p ). 86 | 87 | You can also encourage me by `starring` this project. Or just `join` me. 88 | 89 | 90 | --------------------------------------------------------------------------------