2022年6月17日金曜日

JavaScript: ファイルフィールド (input type=file) からファイル名を取得する

ファイルフィールド (input type=file) からファイル名を取得するには

jQueryの場合

$('.class_name').prop('files')[0].name


2022年6月16日木曜日

Django: shellでsettings.pyの設定値を取得する

例

$ python manage.py shell

>>> from django.conf import settings

>>> settings.BASE_DIR

>>> '/var/www/html/myproject/'


2022年6月15日水曜日

Django: urls.pyで単純にリダイレクトする方法

例:

/abc/任意文字列 ⇒ /xyz/任意文字列


from django.views.generic.base import RedirectView

urlpatterns = [

    url(r'^abc/(?P<path>.*)$', RedirectView.as_view(url='/xyz/%(path)s', query_string=True)),

]

2022年5月29日日曜日

Windows11「USBデバイスが認識できません」という通知が繰り返し表示される

Windows11を起動したところ、「USBデバイスが認識できません」という通知が延々と繰り返されるようになり、うるさくて困ってしまいました。

デバイスマネージャーを見ると、

不明なUSBデバイス(デバイス記述子要求の失敗)

というエラーが出ています。

原因:PCがスリープ中に、電源コード(USB-Cタイプ)を抜いて、再度挿していたため。

解決方法:PC起動中に電源コードを抜き差しする。

無事解決できました。

※Googleで検索すると、デバイスをアンインストールして再度インストールしなさいという解決方法がほとんどでしたが、それでは解決できなくて上記方法で簡単にできました。

2022年4月27日水曜日

ImageMagickでExifデータの確認

ImageMagickで画像ファイルのメタデータ(Exifデータ)を確認するには

以前バージョンのコマンド
$ identify -verbose (ファイル名)

新しいImageMagickでは以下のコマンド
$ magick identify -verbose (ファイル名)

※Exifデータを編集するには,exiftoolというExifの操作に特化したツールが便利です。

参考 Ubuntuで写真のメタデータを扱う方法
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0553

2022年2月22日火曜日

Headless Chromeでページロード完了後にPDF出力する

Headless ChromeでPDF出力したところ、ページロード完了前にPDF出力してしまうので、画像など真っ白になってしまう場合が多発した。

以下のオプションを追加すれば大丈夫でした。

--run-all-compositor-stages-before-draw 

例:
chrome --headless --disable-gpu --no-sandbox --run-all-compositor-stages-before-draw --print-to-pdf=C:\\tmp\\tmp.pdf --virtual-time-budget=10000 http://localhost:8080/banana/key 

--virtual-time-budget=10000
これは最大待ち時間のことのようである。

参考 Make Chrome Headless to Wait for Ajax Before Printing to PDF - Stack Overflow
https://stackoverflow.com/questions/49614437/make-chrome-headless-to-wait-for-ajax-before-printing-to-pdf

2021年9月2日木曜日

Grep 一致した部分だけ抽出する

sample.logファイル内から、/数字8桁/だけ抜き出したい。

以下のコマンドでは一致する行がすべて表示されてしまう。

$ grep -E "\/[0-9]{8}\/" sample.log

↓出力結果

・・・remote.php/webdav/110015/index.php/apps/files/・・・

・・・remote.php/webdav/201013/index.php/apps/files/・・・

・・・remote.php/webdav/301021/index.php/apps/files/・・・

・・・remote.php/webdav/601001/index.php/apps/files/・・・

・・・remote.php/webdav/701005/ index.php/apps/files/・・・


 -oオプションを使う

$ grep -Eo "\/[0-9]{8}\/" sample.log

↓出力結果

/110015/

/201013/

/301021/

/601001/

/701005/