- ソリューションアーキテクト
- プロジェクトマネージャー
- テクニカルオペレーション
- Other occupations (4)
- Development
- Business
- Other
最近、インターンの最初のころを思い返す、たいがーです。
今日はメンターさんを含む社員の方たちとお昼ご飯を食べにいきました。インターンは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を作成する方法を探していた時にたまたま見つけ、試しに実行してみるとうまくいきました。自分で見つけてきたものが動き、形になると、やはりうれしいです。
まだまだ、やれないことも多くありますが、少しずつでも出来ることを増やしていきたいです!