PythonとSelenimumで検索結果のスクリーンショットを撮る

準備 Pythonに関しては3.7.9がインストールされているという前提です。Pyenvでバージョンを切り替えることをお勧めします。まずはPythonでSeleniumを扱えるように下記のコマンドを実行して下さい。 $... 御覧になる | 御シェアする

cronとAppleScriptでブラウザからリンクアクセスするダイアログを定期的に表示する

はじめに 今回はAppleScriptとcronを使い、定期的にあるサイトへのリンクへのアクセスを促すダイアログを表示させるスクリプトを作成したいと思います。 イメージとしては時間になると下の画像のようなダイアログが自動で表示されて、ボタンを押すと設定しておいたサイトへアクセスさせるという仕様です。 AppleScript作成 AppleScriptとはMac... 御覧になる | 御シェアする

VimのaleプラグインでVueへのESLintを非同期で実行する

はじめに 今回はVueファイルを編集する際にESLintでコード分析をして、ALEというVimプラグインで警告メッセージを表示する設定を行いたいと思います。ついでにPrettierでファイルの保存時に自動フォーマットをさせる設定もまとめておきます。 手順 ESLintインストール まずはESLintをインストールします。 $... 御覧になる | 御シェアする

rbenvでrubyのバージョンを管理する

メリット 複数のリポジトリでの開発を行っている場合などで、rubyのバージョンを切り替えられる利点があります。例えばあるプロジェクトではruby2系を使用して、別のプロジェクトではruby3系を使用するという事が可能です。 また似たような事ですが、gemをその環境に閉じ込める事が出来るというメリットもあります。つまりruby2系の環境に使用するgemをインストールする事が可能です。 rbenv導入 $... 御覧になる | 御シェアする

aleプラグインでRuboCopを非同期で実行する

RuboCopとは RuboCopはRubyファイルを静的解析してソースコード内の問題を報告してくれるLinterと呼ばれるツールです。開発中のシステムのコードを可読性の高い状態に保ったり、チーム開発における記述ルールの統一のために導入するものです。 基本的にはコミット前などに下記の様なコマンドを実行して解析結果を出力して使います。 $... 御覧になる | 御シェアする

GitHubを使って一次情報を読もうな

はじめに エンジニアとして成長したいのであれば一次情報を読むことから逃げてはなりません。今ではQiitaやtaratailといった技術スレッドで日本語翻訳され分かり易くまとまった情報に誰でもアクセスする事が出来るようになりました。何なら質問や意見を交わすことも可能です。何か課題があっても既に同じ課題に直面した先人達の足跡を参考にすることで効率的に解決が出来ます。 しかしこれらはあくまでも二次情報であることを理解しておくべきです。一見合理的に見える課題解決方法ですが二次情報のみで物事を考えているといつか必ず痛い目に遭いますし、かえって自分の成長を阻害する可能性もあります。技術者として高みを目指しているのであれば早い内から一次情報を読む癖を付けたほうが良いです。ということで今回は一次情報の読み方についてまとめてみました。 公式ドキュメントを読む Qiitaなどを読んでも理解出来ない、課題を解決出来ない時は繰り返し同じ様な二次情報を探すのではなく公式ドキュメントを見てみると上手くいくことがあります。公式ドキュメントとは公式サイトやGitHubのREADMEなどのことです。この辺は大抵が長文であったり英文であったりと難かしそうな印象があり読むのが憚られるのですが、作り手の読んで欲しい情報がそこにあるので出来る限り目を通した方が良いです。 とは言え全文を読む必要はありません。コードの部分や単語から辺りを付けて重要な部分だけを読んでみるだけでも十分に効果があります。自分自身三行以上あるだけでうんざりする程ドキュメントを読む行為が苦手なのですが、ご飯を食べながらなど気を紛らわしながら読むよう心掛けています。 GitHubのソースコードを読む 二次情報、公式ドキュメントを読んでもライブラリの挙動を理解出ない、あるいは手元で検証しても分からない場合に次に読むべきものはソースコードです。いざこれを行動に移すのは些か勇気がいります。それはソースコードなんて壮大で理解するのは難しいとか時間が掛かりそうという先入観があるからです。そもそも透過的に利用出来るからこそライブラリとは便利なのであってソースコードを理解しようという発想は出づらい節があります。それでもソースコードには答えが必ず乗っていますし、何なら開発者にissueを投げつけてやりましょう。(むしろ喜ばれます) これはある程度言語仕様に慣れてからやってみるのが一番良いと思いますが、普段コードを書いている言語であれば意外と読めてしまうものです。食わず嫌いで読んでいないのであれば今後は読んでみることをおすすめします。 そしてご存じないかもしれませんが最近のGitHubはコードリーディングをするのに便利なUIが備わっているのです。例えば左上の検索窓ではリポジトリ全体に対して全文検索を行えます。 他にもメソッドをクリックすると定義元にジャンプする事が出来るので、狙いのメソッドの中身をすぐに確認することが可能です。 最近でもDeviseTokenAuthというトークン認証を提供してくれるRuby... 御覧になる | 御シェアする

既存のRailsプロジェクトにRedisコンテナを追加した

Redisとは RedisはWebサービスなどのシステムにキャッシュ機能を簡単に実装出来るツールです。キャッシュを利用していない場合のシステムは毎回クエリを発行するので、DBが大きければ大きいほどパフォーマンスが落ちてしまいます。少しでもシステムを高速化したい時にキャッシュは一番手っ取り早く効果を出せる方法です。 今回はDocker上で動かしている既存のRailsプロジェクトにRedisコンテナを追加してキャッシュ機能を実装したいと思います。 Docker修正 まずはdocker-compose.ymlにRedisコンテナを追記します。必要な場合は各自6379/tcpポートの開放を行っておいて下さい。 〜 中略 〜 ... 御覧になる | 御シェアする