object-fitを使用せずimgをbackground-size:coverのように表示

IEはobject-fitに対応していませんので、positionとtransformのあわせ技でimgをbackground-size:coverのように表示させてみます。

.object-fit {
position: relative;
width: 100%;
height: 0;
overflow: hidden;
padding-top: 56.25%;
}
.object-fit img {
position: absolute;
top: 50%;
left: 50%;
max-width: none;
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
transform: translate(-50%,-50%);
}

imgの親要素.object-fitの高さをheightではなくpadding-topで横幅との相対で取る事によって、比率を維持したまま伸び縮みします。
16:9で表示したいのなら56.25%

1:1正方形なら100%と指定します。

videoをbackground-size:coverのように表示する

16:9のvideo要素をbackground-position:center 0;background-size:cover;のように表示する方法。

常時は横幅100%で高さは成り行き表示にしておいて、メディアクエリのmax-aspect-ratioで16:9未満になった場合に、天地100%の横幅成り行きにする。

その時に、left:50%; transform:translateX(-50%);でセンタリングをするのがミソ。

video {
position: fixed;
width: 100%;
height: auto;
z-index: 0;
}
@media (max-aspect-ratio: 16/9) {
video {
width: auto;
height: 100%;
left: 50%;
transform: translateX(-50%);
}
}

JollyLook シャッターゴムの取替え シャッターが完全に落ちない問題を改善

JollyLookのシャッターにはゴムを使用しているので紙との摩擦によってシャッターが完全に落ちないという問題があります。シリコンスプレーを吹いて対処していましたが、先ほどゴムが切れてしまったため、シャッターゴムの交換とシャッターが落ちるように対策を施してみます。

シャッターゴム交換の手順

シャッターの錘を抜き、シャッターユニットからガイド(ピアノ線のようなもの)を外します。シャッターユニット下部にゴムが見えると思いますので、それを外します。次に、シャッターボタンを押しながらシャッターを引き抜きます。

ピンボケ失礼。取り出したシャッター下部に替えゴムを引っ掛け、表裏を気をつけてシャッターボタンを押しながら本体に戻します。

シャッター完全に落ちきらない問題の対策
このゴムが引っかかってる部分がシャッターユニット内部に摩擦を発生させてシャッターが落ちづらくなっているので、ここにガムテープを貼って隠します。

元のように、ベロの部分とシャッターユニット本体側にもゴムを引っ掛けて完成です。

シャッターを上げると、ゴムの部分がちゃんとガムテで隠れています。

今までのシャッター音が「パスッ…」だったのが「スパン!」というような力強い音になりました。これでシャッターが落ち損ねる事はなくなりました。

HUAWEI P20 liteを購入 FREETELからLINEモバイルに乗り換え

手元のスマホが全滅したので、ファーウェイで安いスマホを買おうと思って選んだのが「HUAWEI P20 lite」。お値段は2.4万円。

 

スペック

  • CPU:HUAWEI Kirin 659 オクタコアCPU (4 × 2.36GHz + 4 × 1.7GHz)
  • OS:Android 8.0 Oreo / EMUI 8.0
  • ディスプレイ:約5.84インチ FHD+ TFT, 2280×1080ピクセル
  • メモリ:RAM 4GB / ROM 32GB
  • メインカメラ(ダブルレンズ):約1600万画素+約200万画素 像面位相差AF+コントラスト AF
  • インカメラ:1600万画素,FF
  • バッテリー容量:3000mAh (一体型)

指紋・顔認証サポート

セキュリティとしては指紋認証をサポート。さらにiPhoneXでおなじみの顔認証までもサポート。たった2.4万円にも関わらずこのスペック。自分のようなライトユーザーからしてみたら10万円クラスのiPhoneと機能・デザインともに遜色ありません。追記:カメラがくそ雑魚だった

充電端子はUSB Type-C採用

技術革新を感じたポイントは充電端子。以前のAndroid端末はmicroUSBで表裏があってわずらわしかったのですが、P20 liteの充電端子はリバーシブルなUSB Type-Cを採用しています。

FREETELからLINEモバイルに乗り換える

FREETELは去年末に自己破産をしてMAYA SYSTEMと楽天モバイルがサービスとブランドを引き継いでいますが、料金が改定されたり、自分の手元のスマホでデータ通信ができなくなったり不都合があったので、現在熱いLINEモバイルに乗り換えようと思った次第です。

FREETELの月額料金は2200~3600円でしたが、LINEモバイル(音声+SMS+データ1GB)にすると1200円になるようです。しかもLINE無料。自分は外出先ではGooglemapかLINEしか使わないのでこれくらいがちょうど良いですね。

1.FREETELのマイページからMNPを発行

FREETELのマイページ→「お問合せ」→「MNP予約番号の発行」から申請すると、数分後にメールにMNP予約番号が届きます。
自分は2年以上(13ヶ月以上)利用していたので発行手数料は2000円でした。

2.LINEモバイルHPで申し込み

ウェブサイトから申し込むボタンを押します。アマゾンで本体とセットで購入した為「LINE MOBILE エントリーパッケージ」という紙が手元に届いているので、そこに書かれたエントリーコードを入力しました。

申し込みには全部で7ステップあり、最初のステップでは回線、プラン、SIMの形状などを選択します。HUAWEI P20 liteはnano SIMです。惰性でドコモ回線にしてしまいましたが、ソフトバンク回線の方が混雑時など強いようです。

その他、必要事項を記入し、免許証や保険証などの本人確認資料のスキャンかカメラ画像を添付して受付完了です。特に問題なければ2,3日後にSIMが届きます。

3.HUAWEI P20 liteのAPN設定

SIMが届いたら本体に差し込みます。

APNは以下の設定を行うのですが、プラグアンドプレイでLINEモバイルを認識してくれました。

名前:任意の名前
APN:line.me
ユーザ名:line@line
パスワード:line
認証タイプ:PAP または CHAP

次に利用開始手続きを行います。マイページから「利用開始手続きをする」ボタンを押します。申し込み後数分~1時間以内で開通完了とのことです。1時間たっても回線に繋がらない場合は本体を再起動してみましょう。利用開始手続き後は古い方の端末は利用できなくなります。

無事につながりました。

<20211125追記>購入から3年近く経ちますが、バッテリーが優秀です。一昔前のバッテリーであれば、2年経てばほとんど使い物にならない感じでしたが、このバッテリーは3年近く経過するのにも関わらず、容量低下を全く感じません。今の時代のバッテリーはこんなに優秀なのかと驚きました。動作の方はさすがにもっさりしてきましたが、自分の使い方ではまだまだ使えます。

MW Formをデフォルト設定で運用しているサイトは注意!

メールフォームプラグインMW Formを使用したサイトを構築中、フォームが送信できないという連絡がありました。調べてみたところMW Formのアップデートによりデフォルト設定が変更されたことが原因でした。

https://plugins.2inc.org/mw-wp-form/blog/2018/09/01/687/

以前のバージョンではMW Formのメール設定を空欄にしている場合、WordPress本体に設定された管理者メールアドレスが自動的に設定されましたが、今回のv4のアップデートにより「混乱の原因となっている」との事で、デフォルト設定が未設定の状態になりました。

MW Formのメール設定を空欄で運用していると、ローカルサーバ、デモサーバから本番サーバに移行した際も管理者メールアドレスを変更するだけで反映されるためミスが無く重宝していたのですが、今回、同様の設定で運用している全てのサイトに影響が出てしまった形になりました。

ちなみにこのサイトもお問い合わせで送信テストをしてみたところ「エラーが発生しました。後ほどもう一度お試しください。」というエラー表示が出ていました。

急いで修正しましたが。。

修正方法としては、「 送信元(E-mailアドレス)」「 送信先(E-mailアドレス)」「 Return-Path ( メールアドレス )」「 送信元(E-mailアドレス)」にそれぞれ正しいメールアドレスを設定してやる事です。

巨大なSQLをphpmyadminでローカルにインポートする方法

以前にWordPressで構築された巨大なサイトの一部修正を請け負いまして、ローカルに構築しようとしたわけですが、なんとデータベースが300MBもあり、サイト全体の容量は9GBもありました。

300MBもデータベースがあるとphpmyadminで通常の方法ではインポートできません。そこでインポートの際に工夫した点を書きます。

PHPのファイルアップロード容量を大きくする

構築するのはローカルなのでリソースはほぼ無限です。なので設定を馬鹿でかくしてやります。

php.iniの以下の項目をこのように変更

memory_limit = 512M
post_max_size = 512M
upload_max_filesize = 512M

タイムアウトを長くする

php.iniに以下の項目を記述し、セッションの有効期限を2時間に延ばします。

session.gc_maxlifetime=7200

config.inc.phpも同様に項目を追記してログインクッキーのタイムアウトを伸ばします。

$cfg[‘LoginCookieValidity’] = 7200;

これで何とかデータベースのインポートはできました。それでも細切れでアップロードしましたが…

reCAPTCHAプラグインをDBから無効化

データベースをSearch-Replace-DB-masterでローカルのアドレスに置換し、さあログインと思ったら、reCAPTCHAが「サイト所有者のエラー」を出していてとおせんぼ状態になっていました。ドメインが本番からローカルになったので当然ですね。そこでreCAPTCHAプラグインを無効化しました。

WordPressプラグインのアクティビティは「wp_options」テーブルの「active_plugins」で定義されています。マルチサイトの場合は「wp_sitemeta」の「active_sitewide_plugins」で定義。

値は以下のようになっています。構文としては次のようになっています。
a:プラグインの数:{s:名前のbyte量:名前;…}

a:12:{s:43:”all-in-one-seo-pack/all_in_one_seo_pack.php”;s:36:”hogehogehogehoge”;略}

reCAPTCHAの項目を削除し、a:の数字を1減らせばreCAPTCHAが無効化されます。

DBからパスワードを書き換え

ログインIDを得るにはサイトに?author=1(連番)というクエリを投げるか、データベースの「wp_users」テーブルを見れば分かりますが、ログインパスワードはそういうわけには行きません。パスワードを見る方法はありませんが、任意の文字に書き換える方法ならあります。phpmyadminで「wp_useres」テーブルで任意のユーザーの「user_pass」の値をMD5で任意の文字列を入力して書き換えます。

これでローカルで自由に弄れるクローンが出来上がりました。