Successfully reported this slideshow.
Your SlideShare is downloading. ×

作ったものを見せたかった話

Ad

作ったものを見せたかった話
@CodeHex

Ad

自己紹介
• 本名: 上川 慶
• R大3年
• Perl大好き
• https://github.com/Code-
Hex/
• https://twitter.com/CodeHex

Ad

お願いです
• これは Go 初心者のスライドです
• 間違えていたら教えてください
• 暖かい目で見守ってください…

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
ChEMBLを使おう
ChEMBLを使おう
Loading in …3
×

Check these out next

1 of 37 Ad
1 of 37 Ad
Advertisement

More Related Content

Advertisement

作ったものを見せたかった話

  1. 1. 作ったものを見せたかった話 @CodeHex
  2. 2. 自己紹介 • 本名: 上川 慶 • R大3年 • Perl大好き • https://github.com/Code- Hex/ • https://twitter.com/CodeHex
  3. 3. お願いです • これは Go 初心者のスライドです • 間違えていたら教えてください • 暖かい目で見守ってください…
  4. 4. 今回作っていたもの
  5. 5. 分散ダウンローダー with golang
  6. 6. 考えてた仕組み
  7. 7. file Content-Length: 10GB
  8. 8. file Content-Length: 10GB file file file file file file file file file file 1GB 1GB 1GB 1GB 1GB 1GB 1GB 1GB 1GB 1GB ※goroutine 10個で行う場合
  9. 9. file file 1GB file 結合!! 10GB …… … 1GB
  10. 10. もしファイルが用意されてた場合
  11. 11. file Content-Length: 10GB Server1 Server2 Server3 Server4 2.5GB2.5GB 2.5GB 2.5GB
  12. 12. Server1 2.5GB file file file file file file 約426MB 約426MB 約426MB 約426MB 約426MB 約426MB
  13. 13. file file 約426MB file 結合!! 10GB …… … 約426MB4 (url の個数) * 6 (goroutine) の数
  14. 14. あったらいいよねー
  15. 15. Goって少しPerl似にてるよね!
  16. 16. 2日間で作ってやる!
  17. 17. 開発合宿初日の様子
  18. 18. 開発合宿2日目の様子
  19. 19. 夜中の1時の様子
  20. 20.
  21. 21. なぜ完成しなかったか
  22. 22. • そもそも Go に関する知識が足りない • 自分の力を過信していた • 設計をちゃんと行ってなかった
  23. 23. 合宿で得られたこと
  24. 24. 技術面
  25. 25. オブジェクトはない
  26. 26. goroutine を沢山生成 しても良い
  27. 27. panic/recover はスタック が深くなるような処理で使 うべき
  28. 28. Go 製のツールで外部にエラー の内容を伝えたい場合は error を使うべき
  29. 29. github.com/pkg/errors これすごくいいよ!!
  30. 30. channel は闇という事実
  31. 31. 分からなかったこと
  32. 32. interface の使いどころ
  33. 33. channel の正しい使い方
  34. 34. 正しい gorouting の終了の方法
  35. 35. 感想 初心を思い出した 静的言語だから工夫することが面白い
  36. 36. Go 楽しい!!

×