Slackの自動化はとりあえず最後までいきました。
PythonやXPathなど勉強になってよかったです。
クローラ作成に必須!XPATHの記法まとめ - Qiita
作ったものは隠すところを環境変数化してGitHubにupしました。
selenium-slack - github
あとはREADME.mdなどまとめたいです。
自動化で、手こずるなぁと感じたのが
CSSのidで指定できないときにXPathでの指定で、
まぁまぁややこしいなと感じた。
あとは直接入力なのか、クリック入力なのか
細かな差でコードがかなり変わるので
実際に手で操作方法を念入りに確認しながら進めるのが近道だなと感じました。
今回はデバッガーがとても役立った。
import pdb #pdbをインポート pdb.set_trace() #止めたい位置に挟む 本当にのんびりとした歩みだけれども
少しずつ出来ることが増えていくの嬉しい。
Slackで、自分宛てにメンションされたものを見落としてしまい
どうしたものかと悩んでいた際に、同僚から
「Slack内の検索窓で『to:@<自分の名前>』って検索すれば、自分宛てのメンションを検索できますよ」
と、教えてもらい
「そんな機能あるのか!」
と、感動したと同時に
「しかしその検索する行為ですら、わたしは忘れてしまう人間なのだ!」
と、絶望したので
なんとか教えていただいた便利機能を有効的に使えないかと考えたのが
『Slack見落とし撲滅作戦』
です。
案① ブラウザ版Slack内の検索窓で「to:@<自分の名前>」と毎朝検索するのを習慣化する
案② たぶん習慣化できないのでPython + Seleniumで自動化する
とりあえず途中までやったので
備忘録です。
環境 MacOS Mojavi 10.14.6 Python3 pip 環境分離してseleniumをインストール selenium-slackディレクトリを作成します。
$ mkdir selenium-slack $ cd selenium-slack/ 仮想環境を作成します。
$ python3 -m venv myvenv 有効化します。
$ source myvenv/bin/activate seleniumをインストールします。
$ pip3 install selenium ChromeDriver のインストール ChromeDriverとは、Google Chromeを操作するために必要なドライバ(ソフト)です。 ブラウザごとに専用のドライバが用意されています。
バージョンを指定してChromeDriverをインストールします。
例えば、現在つかっているChromeのバージョンをチェックして
それに合わせたバージョンのChromeDriverをインストールします。
ChromeDriver - WebDriver for Chrome
例えば79であれば、こちらです。
ChromeDriverプログラムのパスを指定してあげます。
$ driver = webdriver.Chrome(executable_path='./chromedriver') 試しにサンプルを書いてみます。
$ vim sample.
DjangoGirlsハンズオンに、スタッフとして参加してきました。
参加者から質問を受けるたびに質問集をまとめていて
「こういったQ&Aをアクセスしやすくした状態で整理/共有できたら良いなあ」
と考えて、DjangoGirlsスタッフの方々にもアイディアを相談してみました。
すべての女性にプログラミングを学ぶ機会を
という目的と
実際に自分自身がチュートリアルをやってみて、初めてWebアプリケーションに触れたときの「楽しい」という気持ちと
代表の方の人間性に惹かれて、DjangoGirlsのファンになり
スタッフとして参加させて頂いているけれども
せっかく参加するのであれば、自分にできる範囲で何か役に立ちたいので
少しずつでも貢献できたらなぁと思いました。
あと、今日とても嬉しかったのは
最後の自由宣伝タイムで、来週主催するもくもく会の宣伝をしたら
「コドモンのエンジニアなんですね!うちの子が通っている保育園でも導入して日誌を通勤中に書けるようになって、すごく助かりました。保育士さんも喜んでいると思います」
と言われたことです。
インフラエンジニア、こういった
“お客様からの反応”
から一番遠いところにいると思っていたので、こんなポジティブな言葉をかけてもらえると思っていなかったの。
ちょっと感動してしまった。
「コドモンのインフラを扱っているなんて、プロフェッショナルですね」
と言われた。
恐縮な気持ちになったのと同時に身の引き締まる思いだった。
正直、まだまだぺーぺーでプロフェッショナルだなんて口が裂けても言えないけれども
会社がどんどん成長するのに伴って、対外的にはそういう風に見られる事になるのだなと思った。
それに見合った実力をつけて、謙虚であることと誇りをもつこと両立させていきたいと思いました。
参加申込をした勉強会です。
Ansiblejpディベロッパー部 2020.01 - connpass
Ansibleについてもっと学びたいので参加を申し込みました。
とても人気で、補欠枠なのでキャンセル待ちです😢
行けたら良いなあ。
第1回 自作CPUもくもく会 - connpass
自作OSもくもく会の方が主催している自作CPUもくもく会です。
CPUのことをより深く学びたいので参加します。
興味があるから、というのが大きいですが
CPUについてイメージがわかなくて、仕事をする上でも
「結局CPUって何なんだろう」
という気持ちになるので、少しでもモヤモヤが晴れたら良いなと思います。
PHP入門講座 - connpass
PHP、もう少し体系的に知りたいので参加を申し込みました。
これも補欠枠なので、キャンセル待ちです!
第28回 SQL Server 2019勉強会 - connpass
正直SQL serverよく知らないのですが、知人の紹介で
「Linuxユーザーのかたも参加していて、勉強になると思う!」
と、強く勧められたので試しに参加してみます。
データベースの勉強になれば良いなぁ。
「テクノロジーで未来の学びを考える」 2DAYS EdTech Hackathon
こちらは予定が合わず参加できないのですが
予定が合えば参加したかったハッカソンです。
自分の興味のあるお題で、自由にアイディアを出して開発出来るのが、楽しそうだと感じるので
今後も、良い感じのハッカソンが開催されていないか探していきます。
サッと終わらせるはずが
まさかのマストドン9.2.3はRubyバージョン2.6.1でしか動かないらしく
Rubyのバージョン指定して入れ直しをしていたら時間かかりました😢
設定ファイルの編集まで終わりました。
メールサーバーのパスワード間違えたので
あとで.env.production の編集します。
あとはCSS/JSのコンパイルで時間がかかりすぎて途中でコケてしまったので
assets:precompileから指定して再開しました。
まとめたQiita記事がこちらです。
マストドン構築2日目 on AWS
本当はメールサーバーの設定も詳細記述できれば良かったのですが
SESの申請から解説するのは流石にしんどかったので
mailgunの宣伝だけしました!