狠狠撸

狠狠撸Share a Scribd company logo
骋辞言语と过ごした一週间
目次
? 骋辞との驯れ初め。
? 骋辞を学ぶ。
? 感想
? 次何をやりたい?
谁?
自己紹介
? 株式会社LocoPartners
? 北山慎太郎
? Go歴 1week
? 仕事では「PHP,JavaScript」書いてます。
骋辞との驯れ初め
http://hackers.bar/
きっかけはここ。
Hackers Bar行った日の流れ
1. MBAを出してたら、店員さん「Goやるんです
か?」って言われる。(やったことない)
2. Go言語についてトーク(言い出せず相 でやり
過ごす)
3. ちょっと、もやもやしながらお会計
4. 締めのラーメン(一蘭)へ
言い出せなかった。。。
てか、Goやってればよかっ
た。。。
ということで
骋辞を学ぶ。
やったこと。
? A Tour of Go?
→Go言語の基礎学習
? MacBookAirにGo環境構築?
→Goのインストール&$GOPATH設定等
? 勉強会を探す。?
→「最近、Go言語始めました」?
?????
何か作りたい???
ちなみに、僕は某パズルゲー
ムを無課金ですがやっていま
す。そのゲームで僕は次のよ
うな課題を抱えています。
課題
? 一日毎にランダムで出るダンジョン(ゲリラ
ダンジョン)があるが、その情報を提供して
いただいているサイト様にいかないとでる時
間帯がわからない。
? 見に行きたいけど、仕事中に趣味のサイトを
開くのはリスクがある。?
→怒られた時言い訳のしようもない。
骋辞で解决できる?
手順
1. ゲリラ情報をスクレイピング?
→Go言語でゲリラ情報のあるサイト様から
必要な情報を取得。
2. Go言語で取得したデータをSlackに通知。?
→会社ではSlack使ってるから、見てても自
然!
1. ゲリラ情報をスクレイピング
? スクレイピングどうしよう?
? こちらで紹介されている、goquery使ってみる!?
http://qiita.com/shunsukeaihara/items/
ba6472910db885f436a0
1. ゲリラ情報をスクレイピング
date := time.Now().Format("2006/01/0102")?
scrapesUrl := fmt.Sprintf(“http://xxxxxxx.xxxxxx.xxxxx.jp/
%s.html",date)?
doc, err := goquery.NewDocument(scrapesUrl);
if err != nil {
? log.Fatal(err);
}?
?
content := doc.Find(".post-outer .entry-content").Text()
2. Slackに通知
? Slack通知どうしよう?...webhook?
? こちらを参考にさせていただいて、実装!?
http://blog.shinofara.xyz/archives/290/
type Slack struct {
Text string `json:"text"`
Username string `json:"username"`
Icon_emoji string `json:"icon_emoji"`
Icon_url string `json:"icon_url"`
Channel string `json:”channel"`
}
func SendSlack(content string) {
slackWebhookUrl := "Slackで発行したURLをいれる。"
params, _ := json.Marshal(Slack{
content,
"pazdora",
"",
"",
"#pazdora"})
resp, _ := http.PostForm(
slackWebhookUrl,
url.Values{"payload": {string(params)}},
)
body, _ := ioutil.ReadAll(resp.Body)
defer resp.Body.Close()
println(string(body))
}
2. Slackに通知
1と2を合わせたものを実行。
$ go run scrape.go
解決!?
(あとは、cronで自動化したらもっと楽)
まとめ
? A Tour of Goなどチュートリアルが親切で学びやすい。
? コンパイルが厳しい。?
→使ってないパッケージや変数があると怒られる(でも
それがうれしい。)
? 日付のフォーマットの指定が独特??
→個人的には(Y-m-d)的なのがうれしい
今後したい事。
? Golang × raspberry pi2?
→ オフィスを快適にしたい、コーヒーの残量
はかったり。
? Level or gojiでwebサイトを作成。
あと、余谈ですが
僕の某パズルゲームのIDはこ
ちらなので、友達になってく
ださい。
132.088.371?
?
※10枠ほど余ってます。。。
ご静聴ありがとうございました!

More Related Content

骋辞言语と过ごした一週间