いえらぶアドベントカレンダー1日目!頑張ります!
今年1年を振り返る
アドベントカレンダーなので、1年の振り返りとしてかければと思い、今年技術的な新しい部分でパッと思い浮かんだのが、「RPA」だったので、それについて記載。
開発する上であったRPAの技術とはちょっと離れたポイントをかければと、、、
※注意
マジで初心者が頑張って工夫しながら作っただけなので、温かい目で見てもらえると嬉しいのと、もっとこうしたほうが良いよという意見があれば、優しく優しく教えていただけると、喜びます。
引っかかった罠① JSの文字コード
「あれ?RPAってjs使えるの??なら困ったら全部jsで書いて、強引に動かせばいいや!」
→結果:エラー、、、
原因:jsファイルの文字コードが原因。
どうやらShift-JISしか受け付けてくれないようで、UTF-8で書いたら読み込むタイミングで怒られた。
しかもそういう系のエラーは特に表示してくれなかった、、、
引っかかった罠② バージョン管理
「共通で使う関数作ったから、これ使ってね!」
「はぁーい!
よし!ローカルでの挙動完璧!クライアントに配信してもらおう!!」
→結果:エラー、、、
原因:関数のバージョンが違った。
ローカルで開発しているときは、どんどんバージョンをあげたり、関数自体の中身を確認したいからと更新したりしてるうちに、その関数ファイルのバージョンがめっちゃ高くなってしまった。
その結果ローカルでは動くけど、いざクライアントの下で回そうとすると「そんな新しい関数はないです」って言われてエラー、、、
結局先輩の手を借りて、そこを直していただき無事配信した。
ブレイクポイントを使えるようになったらいいよ!
「デバッグしてみよう」
→「あれ、、、エラーだ、、、このエラーの前に何が起こっていたんだ、、、?変数には何が入ってるんだ、、、?」
こんな時にはブレイクポイントを使いましょう。
デバッグとして回して、ブレイクポイントをいれておくと、その処理の直前で止まってくれる。
for文とかに入れておいて、その値がどうなってるの?というのを随時追いかけたり、格納されていると思った変数を見てみたらNULLだったりと色々発見することができます。
最後に
まだまだ勉強中!特に安定稼働のためにはどうすべきか。
自分の周りにはRPAについて詳しい人がいるので、その人のソースを盗んで、いつか自分が仕事をしなくても、全部ロボがやってくれるようにしたいなぁw