動かざることバグの如し

近づきたいよ 君の理想に

2018-09-01から1ヶ月間の記事一覧

Chromeのタブをショートカットキーで移動できる拡張機能「Rearrange Tabs」

環境 chrome 60 今回、なかなかいい拡張機能を見つけたのでメモ 経緯 普段Macを使っているが、Chromeでalt+Command+→を同時に押すと今閲覧しているタブを右に移動できる。(アクティブタブ?カレントタブと言うべきなのだろうか) それはそれでよく使ってい…

dockerでWineをインストールするときにライセンス確認画面から進めない問題

環境 Ubuntu 18.04 wine 1.6 症状 ubuntuのイメージを使ってdockerをbuildする。 RUN apt-get update RUN apt-get install wine1.6 xvfb -y みたいにwineインストールしようとすると、 (略) If you acquired this product in the United States, this EULA…

シェルスクリプトからrbenv上のrubyを実行したい

環境 rbenv 通常rbenvは/etc/profile.dか~/.bashrcなどの読み込み時にロードされる。 が、シェルスクリプトからだとロードされないのでrbenvが無い環境扱いになってしまう。 ので、以下のように明示的にrbenvを読み込ませる必要がある。 #!/bin/bash export …

Linuxでパーミッション情報やシンボリックリンクを維持したままコピーしたい

特定のディレクトリをバックアップしたいとき、cp -r target destすればもちろんコピーできるが、とっても大切なデータの場合慎重になる。 というのもcpコマンドではパーミッションまで保持してくれないからである。 -aオプションをつけると属性を引き継いだ…

Capistrano3のデフォルトのデプロイタスクをoverrideする方法

環境 Capistrano 3.10 やりたいこと Capistranoにはデフォルトでdeploy: やgit:でたくさんのタスクが用意されていて、cap production deployでいろんなタスクが実行されるが、一部のタスクをオレオレにカスタマイズしたかった 方法 公式サイトにトピックがあ…

SSL証明書エラーのテストに使える badssl.com が便利

SSL証明書絡みのエラーは厄介である。が、その状況を再現するのって結構難しかったりする。 そんなときはbadssl.comが便利 期限切れの証明書 https://expired.badssl.com/ このサーバーが expired.badssl.com であることを確認できませんでした。セキュリテ…

Let's EncryptのワイルドカードSSL証明書の更新に苦労した話

経緯 一応ドメインを持っていて、turai.work ドメインを持っているのだが、Let's EncryptのワイルドカードSSL証明書で運用している。 期限も近づいてきたし、certbot-autoコマンドで更新するか〜と思って更新を実行したのだが /root/certbot/certbot-auto re…

GCPのGoogle Cloud Storage無料枠を使うには注意が必要

gcp

GoogleはAWSと違って半永久的に使える「枠」が用意されている。例えばUSリージョンの一番スペックの低いマシンならずっと起動していても課金されない(1台のみだが) AWSでいうEC2にあたるGoogle Cloud Storageにも無料枠が用意されている。さすがGoogle先生…

NodejsでGoogle Cloud Storageへファイルをアップロードしてみる

環境 nodejs v8.8.1 ここではAWSでいうS3にあたるGoogle Cloud StorageへNodejsでローカルのファイルをアップロードしたりしてしてみる。 サービスアカウントの作成 まずは権限設定 アクセスに必要なキーを含むJSONファイルをゲットする必要がある。 GCPコン…

GCP Cloud Functions 入門

gcp

GCPのバケットを作成 gsutil mb -p [PROJECT_ID] gs://[BUCKET_NAME] デプロイ gcloud beta functions deploy line-bot --project <YOUR-GCP-PROJECT> --stage-bucket <YOUR-GCS-BUCKET> --entry-point hook --trigger-http exports.hook = (req, res) => { console.log(req); console.log('logg</your-gcs-bucket></your-gcp-project>…

GASで3行でS3にアップロードする

gas

まず、ライブラリを登録します。 [リソース]→[ライブラリ]から、MB4837UymyETXyn8cv3fNXZc9ncYTrHL9を登録します。 function uploadS3() { var s3 = S3.getInstance('ACCESS_KEY', 'ACCESS_SECRET'); var data = UrlFetchApp.fetch("http://www.google.com")…

RubyのRestClientでエラー時に本文を取得したい

環境 ruby 2.5 RestClient 2.0.2 やりたいこと rubyにrest-clientというHTTPクライアントがある。 RestClientで404とか500とかエラーになった場合例外が発生してしまう。 よって以下のように例外をキャッチするようにする。 begin res = RestClient.get(url)…

docker-composeでアスタリスク(*)を含むコマンドを実行したい

なんでできへんのや 環境 $docker -v Docker version 18.06.1-ce, build e68fc7a $docker-compose -v docker-compose version 1.22.0, build f46880f やりたいこと docker-composeが起動している上で以下のようにするとdocker内でコマンドを実行できる。 doc…

どんなデータもぶっこ抜くWIFIアクセスポイントを作る

自分用メモ 環境 Ubuntu Python 3.6以上 mitmproxyのインストール pipで一発インストールできる pip install mitmproxy ここで mitmproxy を実行 Androidスマホでwifi設定の「プロキシ」を設定 IP: サーバーのIP ポート番号: 8080 でいける。がhttpsのサイト…

Cloud Functions+Puppeteerでサーバーレスなスクレイピング

いやこれはありだと思った。 準備 そもそもGCPのアカウントがないと始まらないのは当然として、手元の環境でgcloudコマンドがアカウント紐付いた状態で叩ける必要がある。(コマンドでCloud Functionsへデプロイをするため) gloudのインストールは以下を参…

VoTTでラベル付けしたJSONをAWS SageMaker用に変換する

VoTTとはMSが作った画像系機械学習に使うラベリングをGUIで行えるツール これのおかげでくっそダルくて発狂しそうなラベル付作業が少しだけ楽になる。神ツール が、当然マイクロソフト謹製の機械学習用アプリケーション(CNTK)ように作られているので、ライ…

FFmpegで指定時間ごとに静止画を切り出して連番画像で出力する

動画を機械学習されるあたり、画像に変換する必要があったのでメモ。なんかググって一番最初に出てきたサイトのオプションではできなかったので注意 1秒毎に〜枚画像を生成したい場合 -rオプションをつけることで指定フレームごとに抽出できる。以下のように…