1
/
5

たいがーのインターンシップ体験記【31日目】 ~自分が見つけてきたものが動くのは嬉しい~

最近、インターンの最初のころを思い返す、たいがーです。

今日はメンターさんを含む社員の方たちとお昼ご飯を食べにいきました。インターンは11月から始まったので、今月で9か月目になります。メンターさんに、最初は本当に何もできなくてどうしようかと思った、さっきも成長したなぁと思っていた、とおっしゃっていただきました。

最初はエラーが出るたびにメンターさんに聞いていましたが、今ではエラーが出ても、なるべく自分自身で対処ができるようになってきたかな…と感じられるようになってきました。まだまだなところも多いのも事実なのですが、少しずつ頑張っていけたらなと思います。

そんな今日の振り返りです!

Pathはいるのか、いらないのか

前回、STS対応をさせるためのIAMロールを作成したのですが、ちなみにこのコードっていりますか?とメンターさんに聞かれた分がありました。

Properties:
    Path:/

私はうまく調べられなかったのですが、Issueを立ててくださったメンターさん自身が答えを見つけていました。

どうやら、Pathはユーザーにオプションとしてセットできる情報、パスを元にユーザーの検索が可能ですが、必須でないということで、今回はこの一行を削除しました。

多くのアカウントを作る場合だと、検索がしやすくなるため、つけたらいいかもしれない、とのことです!

Slack botのメッセージ数の制限をなくしました

以前から作成しているSlack botの投稿内容ですが、Incoming WebhooksとAWS Lambdaを使い、登録している文面をランダムに表示していました。作成時の状態では、設定できるメッセージ数がランダム関数によって指定されていました。

'text': config['text' + str(random.randrange(3))]

また、それに合わせ、設定ファイルもこのように表記していました。

text0: 'A'
text1: 'B'
text2: 'C'

まず、数制限をなくすために、設定ファイルを変更していきます。textをすべてリスト型変数に格納すればいいということで、変更していきます。

text:
    - 'A'
    - 'B'
    - 'C'

このようにすることでtextの内容をすべて配列に格納することが出来ます。

それに合わせ、AWS Lambdaで使うコードも変更していきます。配列の中身をランダムに取得する、random.choice()を使っていきます。

'text': random.choice(config['text'])

このようにすることで、ランダムに投稿できるようになりました!

外部モジュールを一度にインストールする方法

パッケージの管理、導入が一度にできるようになればいいなということで、requirements.txtを作っていきます。

pipreqsを使うと、現在のプロジェクトに必要なパッケージのみから構成されるそうです。試しに使ってみます。

pip install pipreqs

こちらでインストールした後、今回作成したスクリプトを別ディレクトリにコピーし、そのディレクトリ下で以下を実行します。

pipreqs .

しかし、以下のようなエラーが発生しました。

UnicodeDecodeError: 'cp932' codec can't decode byte 0x85 in position 760: illegal multibyte sequence

コメントアウトした部分に日本語入っていたため、エラーが発生したようでした。日本語の部分を削除し、もう一度実行すると、うまくrequirements.txtが作成されました!

自分で見つけてきたものが動くと嬉しい

pipreqsは、requirements.txtを作成する方法を探していた時にたまたま見つけ、試しに実行してみるとうまくいきました。自分で見つけてきたものが動き、形になると、やはりうれしいです。

まだまだ、やれないことも多くありますが、少しずつでも出来ることを増やしていきたいです!

Invitation from 株式会社サーバーワークス
If this story triggered your interest, have a chat with the team?
株式会社サーバーワークス's job postings
1 Likes
1 Likes

Weekly ranking

Show other rankings
Like Kana Kitagawa's Story
Let Kana Kitagawa's company know you're interested in their content