テクめも

プログラミング関連のちょっとしたTipsなどを書いています。

Cucumberではじめるエンドツーエンドのテスト

Cucumberのインストール方法とテスト実行までのメモです。 インストール Gemfile に以下を追記して、インストールします。 gem 'rspec-rails' gem 'cucumber-rails', require: false gem 'database_cleaner' $ bundle install 次に、Cucumberのファイルを生…

1発でmatplotlibを日本語対応させる

matplotlibでグラフタイトルに日本語を使うと文字化けしています。 そこで、日本語対応させる方法がいくつかありますが、以下の方法が最も手軽です。 pipでjapanize-matplotlibをインストールして、 $ pip install japanize-matplotlib importするだけです。…

CLIでスピードテストを行う

CLI

リモートホストの速度測定するには、Python製のspeedtest-cliが便利です。 インストール $ pip install speedtest-cli OR $ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py $ chmod +x speedtest-cli 実…

flake8で1行単位で警告を無視する

flake8で構文チェックしていると、一時的な書いているコードや特殊なライブラリなどで、1行単位で警告を無視したいとときがあるかと思います。 通常、 example = lambda: 'example' と書くと、以下のような警告が発生します。 E731 do not assign a lambda e…

macのターミナルでコピペ

macOSの場合、ターミナルでコピペができます。 クリックボートにコピー $ echo 'hoge' | pbcopy クリックボートからペースト $ pbpaste hoge pbpasteはCtl+Vを使えば良いのであんまり出番はありませんが、pbcopyはそれなりに使います。 個人的に一番よく使う…

PyTorchでGlobal Max PoolingとGlobal Average Poolingを使う方法

はじめに Global Max PoolingやGlobal Average Poolingを使いたいとき、KerasではGlobalAveragePooling1Dなどを用いると簡単に使うことができますが、PyTorchではそのままの関数はありません。 そこで、PyTorchでは、Global Max PoolingやGlobal Average Poo…

パスワードなしでsudoする

username ALL=(ALL) NOPASSWD:ALL を /etc/sudoers.d/ 配下のファイルに書き込めば良い。 echo "$(logname) ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$(logname) とすると楽。

Netlifyで独自ドメインのリダイレクトを行う方法

Netlifyで独自ドメインの設定した後に、Netlifyが用意するサブドメインから独自ドメインへリダイレクトをしたいケースがあるかと思います。 例えば リダイレクト元: https://hogehoge.netlify.com リダイレクト先: https://hogehoge.com のようなリダイレク…

ターミナルの移動ショートカット

CLI

先頭へ移動 Ctrl + a 末尾へ移動 Ctrl + e 単語の先頭へ移動(削除される) Ctrl + w 先頭へ移動(削除される) Ctrl + u

MacのPython仮想環境でmatplotlibを使うときのエラーを解決するワンライナー

事象 python -m venv .vencとかで作った仮想環境でMatplotlibを使おうとするとエラーが発生する RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a fra…

PythonでOpenCVのビルド情報を取得する

python -c 'import cv2; print(cv2.getBuildInformation())' opencv-pythonでインストールできるOpenCVの場合 General configuration for OpenCV 3.4.4 ===================================== Version control: 3.4.4 Platform: Timestamp: 2018-11-27T15:2…

matplotlibの_tkinterのエラーを解決する

matplotlib で描画をしようとしたときに以下のようなエラーが発生しました。 Traceback (most recent call last): ... File "/home/username/.pyenv/versions/3.6.2/lib/python3.6/tkinter/__init__.py", line 36, in <module> import _tkinter # If this fails your</module>…

TensorflowのImportErrorを解決する

GPU環境でTensorflowを実行したとき ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory というエラーが発生した場合、CUDAのライブラリのパスが通っていないことに原因があります。 export LD_LIBRARY_PATH=/usr/l…

macOSでPythonをインストールしようとしたときのエラーを解決する

pyenvでpythonをインストールしようとすると以下のようなエラーが発生しました。 (原因かはわかりませんが、macOSのバージョンを10.13に上げてから発生しました。) $ pyenv install 3.6.4 python-build: use openssl from homebrew python-build: use read…

AWSのCLIをもっと便利に使うツール

AWS #2 Advent Calendar 2018 25日目の記事です。 はじめに AWS CLIを使っていますか?まだの方はぜひインストールしてみください。 www.xn--ebkc7kqd.com この記事では、AWS CLIをさらに便利に使うことができるaws-shellについて紹介したいと思います。 aws…

awscliをインストールする

インストール # macの場合のみ $ brew install awscli OR $ pip install awscli 設定 $ aws configure AWS Access Key ID [None]: xxxx AWS Secret Access Key [None]: xxxxxx Default region name [None]: ap-northeast-1 Default output format [None]: js…

UbuntuでのNginxのコマンド

基本 UbuntuでのNginxを操作するコマンドは3パターンあります。 $ sudo systemctl <コマンド> nginx or $ sudo service nginx <コマンド> or $ sudo /etc/init.d/nginx <コマンド> 以下は、systemctlの例ですが、service nginxでも/etc/init.d/nginxでも同じ…

Pyenvをインストールすると発生するbrew doctorのWarningを解決する

macOSでpyenvをインストールすると、brew doctorでconfigまわりのWarningが発生します。 $ brew doctor Please note that these warnings are just used to help the Homebrew maintainers with debugging if you file an issue. If everything you use Home…

Gitブランチをきれいにするワンライナー

今すぐalias登録すべきワンライナー by ゆめみ① Advent Calendar 2018 10日目の記事です。 開発していると、マージされたfeature/xxxとか不要なブランチが結構でてくるので、一括で削除するコマンドをalias登録しておくと良いです。 git checkout develop &&…

Kaggle Tokyo Meetup #5 まとめ

Kaggle Tokyo Meetup #5の資料と参加レポートのまとめです。 資料 Avito 9th Place Solution & 中国Kaggle事情 Kaggle Avito Demand Prediction Challenge 9th Place Solution from Jin Zhan www.slideshare.net Home Credit 2nd place solutions ~ お通夜か…

PyTorchで同期処理を行う

PyTorch Advent Calendar 2018 2日目の記事です。 PyTorchでは*1、GPUの処理は非同期で実施されます。 なので、 t = time.time() model(var) # GPUでの推論 print(time.time() - t) としても、非同期で処理が行われるので正しく処理時間は計算できません。 C…