Active StorageのPDFプレビューでUnrepresentableErrorが出る

ファイルアップロード機能に関して、ActiveStorage::UnrepresentableErrorが出ていた。調べてみるとPDFのプレビュー画像生成が失敗している模様。 [547a3405-8d8d-452a-ab91-a7ce23e920f7] ActionView::Template::Error (ActiveStorage::UnrepresentableErro…

クッキーを使った認証の流れについて

Railsにおける認証は、deviseというライブラリで簡単に実装できるため、曖昧な理解をしてきた。これを機に整理する。 多くのWebアプリケーションには何らかの認証システムがあります。ユーザーがユーザー名とパスワードを入力すると、Webアプリケーションは…

O365の条件付アクセスで、レガシー認証ブロック

レガシー認証をブロックする理由 IDとパスワードによる認証のみで、多要素認証ができないため。 MSがあと数年以内にレガシー認証によるアクセスを禁止しようとしているから。 ちなみにレガシー認証の例としては、POP、SMTP、IMAPなど。メールプロトコルだけ…

Win10端末でAzureADから抜けるのに手こずった

一台のパソコンにつき、一つの Azure AD にしか参加できないことを知らずに遊んでいたら、本命の Azure AD に参加できなくなった。 Windows 10の設定画面から解除しようと思ったけどうまくできなかった。次の方法で合ってるかわかんないけど とりあえずメモ…

なりすましメールを防止する(Office365 DMARC編)

DMARCとは なりすましメールの防止技術。 なりすましメールを受信サーバが検知した場合、DNSのDMARCレコードを見て、その後の対応を判断するプロトコル。 設定方法 自身のDNSレコードにTXTレコードを追加する。 Office365側では特に設定は必要ない模様。 DMA…

なりすましメールを防止する(Office365 DKIM編)

DKIMとは なりすましメールを防止する技術。 送信元のメールサーバーが、秘密鍵から生成した署名を挿入する。 受信のメールサーバーが、DNSから取得した公開鍵によって署名を検証する。 もし、送信元のメールサーバーとDNSが異なれば(なりすましメール)で…

rails dbconsoleでDBサーバーに接続する

今更感があるけど、rails dbconsole を利用すると、Railsで設定しているDBに、接続できるんですね。 $ rails dbconsole Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quick…

Railsのログをlogrotateする

Railsの production.log などのログは、際限なく容量が増えるため、古いものから削除するなどの必要があります。これをログのローテーションと言います。 Linuxではlogrotateを使うことが一般的ですが、ローテーション後に、アプリケーションサーバーが新た…

MySQLの「0000-00-00 00:00:00」のデータを更新させたい。

MySQLのDATE/DATETIME型には、利用しないほうが良い「0000-00-00 00:00:00」という値がある。 詳細は他の方に譲るとして、今回はこのあたりをUPDATEしたいと思う。 mysql> UPDATE buildings set created_at = '2004-01-29 00:00:00' where created_at = '000…

マージ済みのリモートブランチを一括削除

git

長年Gitを利用していると、消し忘れたブランチが増えてくるため、一括削除するためのコマンドを紹介する。 マージ済みのリモートブランチを一括削除する $ git branch -r --merged マージ先ブランチ名 | egrep -v "(^\*|除外するブランチ名)" | sed -e 's/or…

ImageMagicによる画像一括変換

フォルダ内にある画像の一括変換。縦横比を維持しつつ、長辺300pxに縮小する。 mogrify -resize 300x300 *

SeleniumIDEのメモ

SeleniumIDEのメモを張り付けて置く。個人的なメモ。 SeleniumIDEメモ

UbuntuでMacのopenみたいなコマンドを利用する

Macで、open . とかでよくFinderを開いていた。xdg-open コマンドが該当するようだ。 .bash_profile に次のように記載する。 alias open='xdg-open' URLを指定すればブラウザも開けるのかい。 open http://google.co.jp

Amazonで電子出版した

親父(元教員)が自分の書いた論文を電子出版したいと言ってきたので、父親が作成したWordファイルを基に EPUB に変換して電子出版した。 EPUB の実態はHTML+CSSだったので、簡単に変換することが出来た。 大きな流れ WordファイルからMarkdownへの変換 Mar…

Amazon CloudFrontでACM証明書を利用する際には、リージョンに注意

で ACM 証明書を使用するには、米国東部(バージニア北部) リージョンで証明書をリクエストまたはインポートする必要があります。 docs.aws.amazon.com

epubcheckで「mimetypeファイルエントリが存在しないか、アーカイブの先頭以外の場所に存在しています.」

epubcheckというEpub向けのW3C製の構文チェッカーがあります。 実行するとありがたい指摘をしてくれるのですが、次のエラーだけは原因が分かりませんでした。 $ java -jar epubcheck.jar ~/tmp/main.epub EPUB version 3.2 のルールを使って検証します. ERRO…

PHPのマジックメソッド

php

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() および __debugInfo() があるみたい。 https://www.php.net/manual/ja/lang…

MySQLでテストデータを大量に生成する方法

各種FWのテストデータ生成ライブラリを使うのもいいけど、この方法もよい。 qiita.com

MySQLにパスワード無しでログインする

ただし、絶対に開発環境などセキュリティが担保されているところで利用してね。 my.cnfに次のように設定する。 [mysqld] skip-grant-tables sudo systemctl restart mysql などでMySQLを再起動させる。

RSS出力していないサイトのRSSを生成するサービス

rss

feed43.com

redis-cliが無くてもRedisの中身を見る

curlで出来る。 $ curl telnet://cache.test.local:6379 keys * *1 $51 foobar_cache:yRjsFE6BL0T3Dn54lxyzJsUathFmyrA5c9it6NqQ

MySQL8でユーザーを作成して全ての権限を付与する

バージョン間の差異なのかうまくいかないことが多いのでまとめておく。 mysql> create user 'your-user'@'%' identified by 'your-password'; Query OK, 0 rows affected (0.01 sec) mysql> create database `your-db-name`; Query OK, 1 row affected (0.01…

Ant Design を利用するときの日付ライブラリは、moment.jsが良さそう

js

Ant DesignというVueとReactのUIフレームワークを利用している。 色々なUIパーツがあって便利なのだが、DatePickerに日付が指定できない。 defaultValue の説明読んでいたら、moment型の指定になっている。dayjsを使っている俺死亡! dayjsやdate-fnsを利用…

緯度経度の精度

GoogleMap上に、図形などをマッピングしていると緯度経度のデータが増えて重くなる。一番お手軽なデータ削減方法は、緯度経度の桁数を削ることだ。 qiita.com 5〜6桁もあれば日常のユースケースに対応出来そうですね。 5桁で精度11m。6桁で精度11cm。6桁もあ…

UbuntuでWifi高速化

Wifiの速度を上げるため、Wifiの電力管理機能をOFFにする。 $ iwconfig wlp8s0 IEEE 802.11 ESSID:"xxx-xxx-xxx" Mode:Managed Frequency:2.452 GHz Access Point: XX:XX:XX:XX:XX:XX Bit Rate=43.3 Mb/s Tx-Power=22 dBm Retry short limit:7 RTS thr:off F…

imagemagicで画像の一括リサイズ(名前も変更する)編

次のフォルダ構成に格納されている画像を g ├── x001 │ ├── 0.png │ ├── a.jpg ├── x002 │ ├── b.jpg └── x003 ├── 0.jpg ├── 1.jpg こんな感じにしたい。 g ├── x001 │ ├── 0.png │ ├── 0_300x300.png │ ├── a.jpg │ ├── a_300x300.jpg ├── x002 │ ├── b.jp…

findコマンドで正規表現を利用する

次のようなフォルダ構成があります。 g ├── x001 │ ├── 0.png │ ├── a.jpg ├── x002 │ ├── b.jpg └── x003 ├── 0.jpg ├── 1.jpg 0.jpgや0.pngのようなファイル名が数字のものをリストアップさせる場合、findで正規表現を利用します。 find . -regex "\.\/.*\…

RubyでCSVファイルに記載されたURLの画像をダウンロードする

書捨てのプログラムを作成したので貼る。 require 'csv' require 'fileutils' require 'open-uri' csv_data = CSV.read('image_url.csv') puts "start..." csv_data.each do |data| id = data[0] url = data[1] sleep(2) #2秒待つ FileUtils.mkdir_p("./imag…

ビジネスエアポート東京という皇居の濠端を臨むレンタルオフィス

business-airport.net JR東京駅からも徒歩7分とアクセス抜群で、「移動に便利」「お客様を招きやすい」と好評です。皇居の濠端を臨むロケーションにあり、ラウンジから見える豊かな緑が癒しを与えてくれます。 皇居の濠端を臨むという最高なロケーションだっ…

Laravelのベストプラクティス

Laravelの開発におけるベストプラクティスがまとめられている。 It's not a Laravel adaptation of SOLID principles, patterns etc. Here you'll find the best practices which are usually ignored in real life Laravel projects. github.com 有益な情報…