はてなブログさん、重すぎてGoogle Searchコンソールで「不良」扱いを受ける
はてなブログが重いことは前々から当ブログでも指摘していました。
激重はてなブログを快適ブログに改善するまでの道のり【Google PageSpeed Insights:31点】 - ドリリウム
どんなに打てる手を打ったところでユーザーができることには限りがあり、一般的に「遅い」と判断されるレベルから抜け出すことは困難でした。
そんなはてなブログが遂にはっきりと激重の烙印を押されることになりました。

Google Search Consoleにおける「CLS」や「LCP」(いずれも表示速度に関する指標)に難ありということで「不良」の判定を受けています。
もはやはてなブログを使う限りGoogle Search Consoleからの不良評価は避けられません。
また、実際的な問題として表示が遅いという問題も避けられません。
過去にこの問題に関してはてなブログサポートに問い合わせたこともありましたが、対応への積極性を感じない見事な塩対応でした。
今後の動向が気になるところです。
なお、CLSについては広告を自動挿入するコードが悪さをしている可能性が高いです。
それ以外にも、Javascriptを使って記事に後からコードや文章を挿入する点が評価に影響している可能性が高いです。(直す気はないけど)
【iPhone has denied the launch request対策】iPhone側の基本設定
iPhone用アプリを開発中にiPhone実機でアプリを動作させようとすると出てくるのがこのiPhone has denied the launch request.というエラーです。
対処法は色々と紹介されているのですが、基本のキであるiPhone側の設定が見つかりにくく感じましたので紹介しておきます。
- 「設定」アプリを開く
- 一般
- プロファイルとデバイス管理
- 自分のApple ID
- Apple IDを信頼する
- 「信頼」をタップ
【2020年5月コアアルゴリズムアップデート】個人雑記ブログがなぜかアクセス激増したんだけども
当ブログ「ドリリウム」は木工から頭痛対策まで私の思うがままの題材を取り上げて書き連ねたいわゆる雑記ブログです。
記事によっては日記みたいなものも含まれていて、本当にありきたりな個人ブログといった様相になっていると自負しています。
さて、そんなドリリウムも昨年のGoogleのコアアルゴリズムアップデートからアクセス数がガタンと落ちて、毎日2000PV程度に落ち着いていました。
それ以前は3000~4000PV程度で推移していたので3割以上落ちていた状態です。
とはいえ所詮は趣味の個人ブログ。
特別本格的な対策はせず、気が向いたときにネットに書かれているような対策をちょくちょく取り入れてみる程度で、結局効果は得られませんでした。
さて、そんなドリリウムが5月になってからアクセスが急増しています。
当初はGWのせいで人が増えているだけだろうと考えていましたが、なぜかGWが過ぎてもアクセス数が減りません。
これははてなブログのアクセス解析画面のPVを表したグラフです。

見づらいと思いますが、前半が4月、後半が5月です。
多い日では6000PVを越え、5月に入ってからは安定して5000PVを越えています。
検索結果上位に食い込み始めたのは昔からアクセスの多いアマゾンのFire TVのトラブルシューティング記事や、あんまりふるわなかったレモンの栽培関連の記事です。
ちょうど今、レモンは花が咲いて落花や受粉といったイベントごとが起きる時期ですのでこれは一過性のものかもしれません。
アマゾンやレモンといったキーワードを除けば大きく変動があったものも見られず、なぜアクセス数が底上げされたかあんまりよくわかっていないのが正直なところです。
これが今後どう推移していくのか楽しみにしつつ、引き続きくだらない記事ばかり積み上げていこうと思います。
【Android】Picassoで画像読み込みが失敗する時のチェック項目 Socket failed: EPERM(Operation not permitted)
Picassoを使って画像をネット上から読み込むサンプルプログラムを作成していたところ、どうしてもうまく読み込むことができませんでした。
ImageView自体は表示されるのですが、画像がなくて画面は真っ白。
ポイント1:権限を与える
Androidアプリはデフォルトでインターネット接続ができないようです。
そこでAndroidManifest.xmlファイルに権限を与えるため以下の赤字の2行を追記します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gridviewimagesample">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
省略
</application>
</manifest>
ポイント2:エラーメッセージを確認する
Picassoはデフォルトでは画像の読み込みに失敗してもエラーを表示してくれません。
そこで画像の読み込み処理を以下のように書き換えることでログに例外の詳細を出力するようにしてみます。
ImageView img = view.findViewById(R.id.imageView);
Picasso.with(context).setLoggingEnabled(true);
String imgUrl = "画像のURL";
Picasso.Builder builder = new Picasso.Builder(context);
builder.listener(new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
Log.e("picasso error", exception.getMessage());
}
});
Picasso pic = builder.build();
pic.load(imgUrl).into(img);
私の場合には「Socket failed: EPERM(Operation not permitted)」というエラーが出ていることがわかりました。
ポイント3:エミュレーター上のアプリをアンインストールする
Picassoの使用自体はとっても簡単です。
ここまでのチェックポイントを確認しても原因がわからない場合には全く異なる点が原因の可能性があります。
そこで問題の切り分けのためにエミュレーター上のアプリをアンインストールしてみましょう。
エミュレーターのアプリ一覧から対象アプリを長押しすると「アプリ情報」というメニューが表示されるためタップします。
そこから「アンインストール」して再度Android Studioから起動してみてください。
【Mac】Android Studioのプロジェクトファイルの保存先
Macを使い始めて間も無くAndroid Studioのプロジェクトの保存先の参照方法がわからなかったので同じような人がいるかと思って残しておきます。
Finderを開いて「移動」メニューから「コンピュータ」を選択

ユーザーディレクトリを開けば「Android Studio Projects」というディレクトリがあるのでこの中にプロジェクトが保存されています。

【Android】エミュレーターからインターネットに接続できない時の対処法(Mac)
エミュレーターからインターネットに接続できずに四苦八苦していましたが以下の設定で問題なく接続できるようになりました。
- りんごマークをクリック
- システム環境設定
- ネットワーク
- 接続中のネットワークをクリックして「詳細」
- 「DNS」タブを選択
- 「+」ボタンをクリック
- 「8.8.8.8」と入力
- 「OK」
- 「適用」
あんまり理屈はわかっていませんが、これでエミュレーターのブラウザからもアプリからも接続できるようになりました。
【Android】GridLayoutでRowSpanやColumnSpanが効かない時はlayout_gravityを設定する

GridLayoutを使ってグリッドを連結する際にColumnSpanやRowSpanを指定しても上手く結合できませんでした。
上手くいかなかった際のコードが以下の通りです。
<Button
android:id="@+id/buttonEqual"
android:layout_width="64dp"
android:layout_height="64dp"
android:text="="
app:layout_rowSpan="2"
app:layout_column="3"
app:layout_row="2" />
調べてみた結果、layout_gravityという要素で結合したい方向を指定すると上手く動作することがわかりました。
<Button
android:id="@+id/buttonEqual"
android:layout_width="64dp"
android:layout_height="64dp"
android:text="="
app:layout_rowSpan="2"
app:layout_column="3"
app:layout_gravity="fill_vertical"
app:layout_row="2" />
縦方向に結合するならfill_vertical、横方向に結合するならfill_horizonalを指定すれば良いみたいです。
【PHP】メソッド名で覚える英単語
array_chunk - かたまり
arrayはご存じ配列なので置いておいて、chunkとは大きなかたまりを意味しています。
意味合いが漠然としており、漠然とかたまりと言いたければchunkです。
同様に大きなかたまりというイメージから多くの・大きななどの意味にも使われます。
That man must have stolen a chunk of money!
もらって間もない今月のお小遣いを盗まれたときはこの1文で説明することができます。
https://www.php.net/manual/ja/function.array-chunk.php
echo - 反響する
反響や繰り返しを意味し、物理的な反響から意見の類の反響まで幅広く使われる。
The room echoed when he shouted.
テストの最終工程で叫び声をあげた同僚の声がオフィス中に響き渡った(反響した)時にはこんな1文で表現することができる。
https://www.php.net/manual/ja/function.echo.php
chop - 叩き切る
斧などを振り下ろすイメージ。
このイメージから色々な派生した意味合いがある。プロレスや格闘技のチョップもそのイメージから名づけられている(はず)。
いわゆる空手の手刀打ちはKarate Chopと呼ばれている。
She chopped the kind boss using axe.
この1文で優しい上司を斧で叩き切った同僚を説明することができる。
念のため最後に「using axe」を付け加えることでチョップしたのではなく叩き切ったのだと理解しやすくなる。
https://www.php.net/manual/ja/function.chop.php
explode - 爆発する
爆弾が爆発するだけでなく感情の爆発にも使える。
ゲームやアニメに出てくる「エクスプロージョン」はこのexplodeの名詞形。
He exploded with anger.
この1文でバグを指摘されて激怒している同僚を説明することができる。
https://www.php.net/manual/ja/function.explode.php
つづかない
思いのほか「知らない人が多そうで色々な意味のある単語」って見つかりません。
メソッド名は考えられて付けられているんだなぁとつくづく実感。
【PHP】ファイル読み書きで「read of 8192 bytes failed with errno=9 Bad file descriptor」エラー
PHPの勉強中にファイルを読み書きする際にタイトルのエラー
「read of 8192 bytes failed with errno=9 Bad file descriptor」
が発生しました。
エラーというかNoticeなので無視しても構わないのですが、実害もあったため修正しました。
ソースコードは以下の通りです。
$fp = fopen("sample.txt", "a");
fwrite($fp, "AAAAA\n");
rewind($fp);
while($line = fgets($fp)){
echo $line."<br>";
}
fclose($fp);
ファイルを開き、末尾に追記した後ファイルポインタを先頭に移動させてファイルの中身を1行ずつ表示しています。
原因は1行目のfopenにありました。
fopenの第二引数に「a」を指定していますが、これは書き出しモードでファイルを開きます。
てっきり書き出しモード=読み込み+書き出しモードだとばかり考えていましたが、これは書き出し専用のモードです。
そのため「a」で開いたファイルを読み込もうとしたためにエラーが出るとともに読み込みも失敗していたわけです。
解決策としては引数に「a」ではなく「r+」や「a+」といった読み込み+書き出しの双方に対応したモードを選択することです。
対策したコードは以下の通りです。
$fp = fopen("sample.txt", "a+");
fwrite($fp, "AAAAA\n");
rewind($fp);
while($line = fgets($fp)){
echo $line."<br>";
}
fclose($fp);
2020/3/5 10:00-12:00 香南市・物部川河口 サーフ ショアジギング フラットフィッシュ サーフヒラメ シーバス
先日新しいポイントを発見していた物部川河口へまた行ってきました。
今回釣りに行ったのは物部川河口で、こちらの記事で釣り場の詳細を解説していたポイントです。
大きく分けて漁港とサーフの2つに分けることができる釣り場ですが、今回の狙いはサーフおよび河口の川側です。
タックルはいつも通りのこれらです。
タックル
バイクで釣りに行くために買った5本継ぎのパックロッド。レビュー記事はこちら。ショアジギングもバッチリの優れもの。
長らく2500番という小さすぎるリールで頑張っていましたが、ようやく購入。レビューの記事はこちら。
お気に入りのライン。8本撚りにしては安いしカラーパターンが見やすい。
安くて必要十分。最近はずっとこれです。
釣り場に着くとやや強めの追い風。
久しぶりに冷え込んでいます。
最近暖かすぎるくらい暖かかったので、その反動で寒さがきつい。
寒さがきついので今日は珍しく車で釣りにきました。この釣り場は車でもアクセスしやすいことが大きな魅力のひとつです。
時間的には干潮から満ちていく最中。
とはいえ長潮なので変化は緩やかです。
まずは広く探る意味で個人的な定番であるジグパラサーフ35gを投げます。
レンジを変え、投げる方向を変えながらストップ&ゴーで素早く探っていきます。が、いつも通り当たりなし。
それっぽいことを言ってますが釣りはへたくそで釣れたらラッキーくらいの腕なので正しいのかどうかわかりません。
その後、表面にはねる魚がちらほら見え出したことからオルルド釣具の格安メタルジグに切り替えてショアジギングに切り替えます。
そんななかで集中力が切れだし、おかしな方向へキャストしてしまいました。
仕方がないので早巻きして回収している最中にふと魔がさして?リールを巻く手を止めました。
するとその瞬間ガツンというアタリが!
早巻きからのストップでラインが多少緩んでいたにも関わらず手元にガツンと伝わる感触、そして何より表層を早巻きして止めた瞬間に来たということは間違いなく魚のアタリ!
が、しかし。
集中力が切れてボケっとしていた時のことで反応が遅れます。
気持ち的にはすかさず合わせるも時すでに遅しで一瞬生命感ある抵抗を感じましたがするりと抜けてしまいました。
気を抜いた時に限ってアタリが来る。よくあることです。
反省。
その後しばらく似たようなアクション(素早いストップ&ゴー)を繰り返しますが反応はなく、前回見つけた河口内のポイントへ移動しました。
具体的には下図赤枠内です。

航空写真で見るとこんな具合で、物部川河口の流れの外側のポイントです。

河口内は全体的に水位が低めです。
物部川河口は土砂の堆積が早く、土砂を定期的に掻き出しているくらいなのでその浅さがよくわかりますが、ここはカーブの外側ということで理屈的には深くなっているはずです。
底にはゴロゴロした岩が時折あるくらいで根掛かりの心配がないポイントですが、たまに木の枝が沈んでいて根掛かります。
無理やり引っ張れば枝ごと引き上げられるのでルアーのロストの心配はあまりないポイントといえます。
ここはボトムを探っているとたまにフックに小さなハゼの仲間と思われる魚がかかることがあるので、いわゆるハゼパターンが有効かもしれません。
ちょうど良いルアーがないので小ぶりなバイブレーションで河原を歩き進めながら探りますが反応なし。
今日も相変わらずボウズでした。
