アルパカログ

プログラミングの話題が中心。時々エモいことも書きます。

GoでサイボウズガルーンのREST APIクライアントを書いた話

以前、ガルーンの予定をSlackからインタラクティブにリスケできるBotを作った話をしました。

このBotを作ったとき、実はガルーンのREST APIのGo向けクライアントがなかったので自作しているのですが、今日はその自作したガルーンREST APIクライアントの話をしたいと思います。

GitHubリポジトリは下記です。

続きを読む

「カスタマーサポートAIの失敗と教訓」というブログを書きました

会社のブログの方に、2018年春からずっと取り組んできた機械学習プロジェクトの失敗について書きました。

失敗事例ってあまり世の中に出ることないので、よかったら読んでみてください。

medium.com

【Python】リストをN分割する

[arr[i::n] for i in range(n)]
  • arr: 分割したいリスト(配列)
  • n: 分割数
>>> arr = [1, 2, 3, 4, 5, 6, 7]
>>> n = 3
>>> divided_arr = [arr[i::n] for i in range(n)]
>>> divided_arr
[[1, 4, 7], [2, 5], [3, 6]]

解説

range(n)は0からN-1までの整数を生成します。

>>> range(3)
[0, 1, 2]

arr[i::n]はリストのスライスです。[start:end:step]となります。

step=3としてstartを1ずつ増やした場合を見てみましょう。

>>> arr = [1, 2, 3, 4, 5, 6, 7]
>>> arr[0::3]
[1, 4, 7]
>>> arr[1::3]
[2, 5]
>>> arr[2::3]
[3, 6]

もうわかりましたね?

rangeで生成したインデックスをスライスのstartに設定しているというわけですね。

こちらもあわせて読みたい

alpacat.hatenablog.com

alpacat.hatenablog.com

alpacat.hatenablog.com

alpacat.hatenablog.com

31歳になったので1億人から君を見つけたレミオロメンの話とか

先日誕生日を迎え、31歳になりました。

誕生日というと私にとっては妻と交際スタートした日でもあって、レミオロメンみたいに1億人から見つけたわけではないんですけど、あまり語られることのないどこでどうやって出会ったという一例を、参考になればということで書いてみたいと思います。

続きを読む

Slack Botで学ぶPython

Slack Botはプログラミングを学ぶ上でちょうどいい題材です。

例えば、英語のために英語を学ぶのは退屈ですが、海外旅行などで実際に英語を話す体験があるとやる気が出ますよね。

プログラミングも同じように、書いたプログラムが自分の生活をちょっと便利にするような、具体的な体験が何よりの原動力になります。

このエントリを読むと、みなさんはPythonのプログラムから、あなたではないSlackユーザー(Bot)に自由にSlackに発言させることができるようになります。

例えば次のような感じです。

f:id:otoyo0122:20190124144410p:plain:w200

ワクワクして来ましたね?

それでは早速作っていきましょう。

続きを読む

MacBook Proの液晶が割れた話

ありのまま起こったことを話すぜ...

布団でプログラミングをしていて、立ち上がろうと傾いたキーボードの上をiPhoneが滑ってディスプレイに当たったと思ったら割れていた...


MacBook Pro 2016 Retina 13インチ Touch Bar モデルの液晶が割れた。

本当に、コツンという感じで、液晶が割れていた。

そのときの心境はザ・ワールドを食らったポルナレフみたいな状態だった。

MBPの液晶が割れたら修理にどのくらいかかるのか、また下取り価格はどうなってしまうのか、ありのまま起こったことを書いておきたいと思います。

続きを読む

Golangの勉強がてらMTGをリスケするSlack Botを作った

年末年始、Golangの勉強を始めようと思い、SlackからインタラクティブMTGをリスケできるBotを作ったので、その話をしたいと思います。

f:id:otoyo0122:20190113141227g:plain

github.com

続きを読む