【はてなブログ】スマホで記事にタグづけをする方法

はてなブログってパソコンだと記事にタグ付けできるのに、 スマホ版のブラウザだとタグ付けができないんですよね。 なんでですかね? 不便ですよね。


今この記事はスマホchromeブラウザで書いてるんですが、下図のようにタグ付けをするためのメニューがありません。


Android版のはてなブログアプリでもやっぱりタグ付けできなさそうなんです。


というわけで、今回はスマホでタグ付けする方法を試してみます。

方法は、ブラウザの右上にある3点ドットマークをクリックして、「PC版サイト」にチェックを入れるだけです!



スマホの下書き画面でもタグづけするメニューがでてきました。


さっそく、タグを登録します。





しかし、問題があります。


これをやった結果、バグりました。





正確にはバグったというか、勝手にhtml形式になってしまったり、本文がすべて引用になったり、肝心のタグもついてません。


やっぱりスマホ版でタグ付けはやめたほうがよいのでしょうか?


今後も調査が必要そうです。

追記

その後おなじようにテスト記事を書いて、スマホでタグ付けをしたところ
うまくいきました。なので、今回の事例は特殊かもしれません。

aglio-olio-meiryo.hateblo.jp



See you again!

【エッセイ】ぶあついハンバーガーの食べ方についての考察

今日、桜木町ワールドポーターズにある、ハワイ風のハンバーガーショップに行きました。

 

それで、そこのハンバーガーが結構ぶあつくて、正直これ一息にいくのきつくない?っていうレベルだったんですよね。

 

じゃあ、パンとハンバーグたちを解体して個別に食べるかというとそれはなんか違うんじゃないかとおもうんですよ。

 

ハンバーガーは、ハンバーガーとして一括で食べるからハンバーガーなのであって、パンとハンバーグとレタスとトマトとパンをそれぞれ個別に食べたら、それはもはやパンとハンバーグとレタスとトマトとパンであって、ハンバーガーではないと思うんです。

 

伝わってますか?

 

ハンバーガーは、専門分野の異なるそれぞれのパーツが有機的一体として強固なチームとなり、口のなかに放り込まれてはじめてハンバーガー足りえると思うのです。

 

でも、そんなことをいうと

 

「口がちっちゃくて、一息に食べるのが難しいからしょうがないじゃん」という人が必ずいます。

 

しかし、それは論点がずれています。

 

僕はハンバーガーを構成するパーツを個別に食べる行為は、ハンバーガーを食べる行為とはならないと主張しているのであって、ハンバーガーを一口に食べる能力は別の論点だと考えています。

 

個別に食べる方法自体を否定しているわけではないのです。

 

そんなことを考えながら、口を大きく開けてハンバーガーを無理やり食べていました。

 

すると目の前で妻がハンバーガーを丁寧に解体しはじめました。パンとハンバーグとレタスとトマトとパンに。

 

そして、それぞれのパーツをナイフで細かくカットしながら食べはじめました。

 

それはまるで寿司ざんまいの社長が手際よくマグロを解体しているかのようでした。

 

自分のハンバーガーの食べ方に対する論調をここで主張すべきかどうか悩みました。

 

しかし、これは絶対に口論になるやつです。僕は妻が想定する反論に対抗する反論を考え、反論の反論の反論を想定しました。98%の確率で僕が負けてしまうことは確実でした。

 

それに外出先で人の食べ方についてとやかく言うのも、細かいやつだとか思われそうです。

 

というわけで僕は妻の食べ方には一切何も言わないことにしました。人は人、自分は自分です。

 

結局、このブログの存在は妻も知っているので、同じことになるのですが。

 

最後の方は手が汁でベタベタになりながら、完食しました。(ハンバーガーって最後の方、謎の汁がでますよね)

 

皆さんはどう思いますか?

 

 

【はてなブログ】gifがアップロードできない!と思いきや、できていた話

 

こちらの記事にgifファイルをアップロードしようとしたときの話なのですが、

aglio-olio-meiryo.hateblo.jp

 

 

なぜか、アップロードに失敗するんですよ。

 

 

 

gifファイルで容量が重いからかな?と思い調べてみると、

 

別の記事には、10MB以上のファイルがアップロードできないという情報がありました。

 

しかし、今回アップロードしようとしたgifファイルは2.4MBです。

 

なんで?

 

なんで?

 

と思いながらがちゃがちゃやっていると、

 

 



あれ、なんかある?

 

アップロードに失敗した、かと思いきやなぜかアップロードできている!

 

なんかしたかな、と思って記憶を手繰り寄せていると、

 

 

アップロードに失敗した後に、再度ブログのページを開き直していたんですよね。

 

それでもう一回試してみました。

 

その結果、アップロードに失敗した後、しばらく(数分)してから

 

F5キーを押すと、

 

アップロードできている

 

ということが判明しました。

 

 

謎な仕様ですが、失敗しても諦めてはいけないということですね。

 

Press Your F5 Key !!!!

Never Give up !!

 

See you again!

 

 

 

 

 

 

 

 

【Python】寿司打のスコアを自動的に記録するツールが完成した

寿司打の結果を自動でExcelに記録するツールがついに完成しました。

 

こちらがデモ映像です。



詳細な説明は割愛しますが、寿司打を遊んでからバッチファイルを叩くとWinShotによりスクリーンショットが撮られ、そのスクショをPython経由でGoogle Cloud Vision APIが解析し、テキストを加工してスコア部分のみをExcelに出力する仕組みになっています。

 

 

寿司打のスコアを自動で記録したのは私が人類史上はじめてではないかと自負しております。

 

とても、有益なツールを作ってしまいました。

 

ちなみにこのツールを開発している間、寿司打のスコアはいっさい向上しておりません、ということを申し上げておきます。

 

 

ちなみに前回の記事はこちらです。

aglio-olio-meiryo.hateblo.jp

 

 

 

SSPAP編 完!

 

 

 

 

 

 

【Google Cloud】GCPのAPIを使用するためのGoogle設定手順

本記事ではGoogle Cloud Platform のAPI群を使用するためのGoogle側の手順を紹介します。

 

今回はAPI群の中でも、Google Cloud Vision API(画像認識をするためのAPIを使用するための手順です。他のAPIにも共通する部分がありますので、ぜひ参考にしてください。

 

0.前提と概要

google アカウントが必要です。お持ちでない方は事前に登録しましょう。

Google Cloudを利用するための概要

色々な用語があってすごくややこしいので、図にまとめてみました。なんとなくこんなことするんだなあ程度に理解してもらえればと思います。

 

 

1.Google Cloudでプロジェクトを作成する

 

1.Google Cloud Platformにアクセスします

 

2. Googleアカウントでログインします

 

3.Google Cloudの同意画面がでます。国を選択し、利用規約にチェックマークを入れ、「同意して続行」を選択します。

 

 

4.Google Cloud Consoleの画面が表示されます。ここでCloudに関する様々な設定をしたり、費用の発生状況を見ることができます。

 

まずは、プロジェクトを選択をクリックします。

 

5.[新しいプロジェクト]をクリック



6.プロジェクト名を入力し、作成をクリック

 

 

2. 請求先アカウントを作成する

1. 請求先アカウントが無い場合は、新規の請求先アカウントを作成する必要があります。

 

2.Google Cloud Console の[請求先アカウントを管理]にログインページにアクセスする。

 

3.請求先アカウントを追加をクリック 

 

4.国などを入力し、続行します。(黒塗りの仕方が汚くてすみません。。)

 

5. 電話番号を入力して、コードを送信

 

6.携帯電話等に届いた、6桁のコードを入力

7.お支払い情報の確認欄で必要事項を入力して、「無料トライアルを開始」

 

これで請求先アカウントが作成できたので、今度はプロジェクトに紐づけて、課金を有効にします。

 

3. 課金を有効にする

 

1. 再び[請求先アカウントを管理]にアクセスします。

 

2. [マイプロジェクト]を選択し、先ほど作成したプロジェクトの黄色い部分をクリックします。

 

 

3.[お支払い情報を変更]を選択します。

 

4.請求先アカウントを選択し、「アカウントを設定」を選択します。

 

 

これで課金が有効になりました。

4. Google Cloud Vision APIの有効化

次に作成したプロジェクトで使用するAPIを有効にします。

 

1.以下のページにアクセスする。

https://console.cloud.google.com/apis/library

 

2.検索画面にCloud Visionと入力し、検索結果のCloud Vision APIを選択します。

 

3.「有効にする」を選択します。

 

 

 

 

 

これで有効化は完了です。

 

 

5. サービスアカウントの作成と秘密鍵のダウンロード

次はサービスアカウントを作成して、認証キーである秘密鍵をダウンロードします。

 

1.Google Cloudのコンソールにアクセスします。対象のプロジェクトを選択します。

https://console.cloud.google.com/

 

2.Google Cloudの左の四本横線ボタンをクリックし、[APIとサービス]-[認証情報]を選択します。

 

 

 

3.「+CREATE CREDENTIALS」-「サービスアカウント」を選択します。



4.サービスアカウント名を入力すると、自動的にサービスアカウントIDが入力されます。完了をクリックします。

 

5.サービスアカウントに追加したアカウントのメールアドレスが表示されるので、このリンクをクリックします。

 

6.[新しい鍵を作成]を選択します。

 

7.「JSON」を選択し、「作成」をクリックします。

 

jsonファイル(秘密鍵)のダウンロードが完了しました。

この秘密鍵を使ってGoogleAPIへアクセスすることが可能となります。

 

これで、Google Cloud側の設定は完了です。

後は、秘密鍵を所定の場所においたら、Python等でAPIを呼び出します。

 

 

【Python】venvで仮想環境を作成するメリットと作成方法(Windows)

本記事ではPythonで仮想環境(venv)を作成します。

所要時間は1分もかかりません。

 

仮想環境といっても、別に仮想サーバを構築するわけではなく、個別プロジェクト用のpythonの実行環境を設けるといったイメージでしょうか。

 

これを作るのは、 Google Cloud関連のAPIのような複雑なライブラリをインストールしても、既存の環境に影響を与えることなくテストするための実行環境を作ることができるためです。

 

例えば、既存環境でXというアプリが動作していて、Aというモジュールがバージョン3.0でインストールされているとします。

ここにアプリYを開発したいので、Bというライブラリをインストールしたところ、モジュールAがバージョンアップされて3.1になった結果、既存アプリのXが動作しなくなった。といった問題を避けることができます。

 

手順

環境:Windows 10

 

1.適当な場所にフォルダを作成する。

C:\Pythonというフォルダを作成します。

 

2.作成したフォルダに移動します

C:\>cd C:\Python\vision-api

 

3.仮想環境を作成します。仮想環境の名前を指定して、venvコマンドを実行します。今回はプロジェクトの名前(SSPAP)にします。

C:\Python\vision-api>python -m venv SSPAP

 

Note1

Dirコマンドでフォルダの中身を確認すると、SSPAPフォルダができています。

C:\Python\vision-api>dir
2022/07/30  20:56    <DIR>          SSPAP

 

Note2

SSPAPフォルダの中身です。Scriptsフォルダに、Activate、Deactivate、python.exeが格納されています。Libフォルダの中にはsite-packagesフォルダが作成されていて、仮想環境でインストールしたライブラリがこの中に格納される仕組みとなっています。

 

 

4.仮想環境を有効にするためには、activateコマンドを実行します。

C:\Python\vision-api>.\SSPAP\Scripts\activate

 

Note この段階では、activateコマンドへのパスは通ってないので、カレントフォルダからの相対パスか、絶対パスで実行しましょう。activateコマンドは[仮想環境名]\Scripts配下に置かれています。

 

 

5.SSPAPのプロンプトが立ち上がりました。

 

Note1 環境変数PATHを見てみると、PATHの先頭に仮想環境フォルダがあるのがわかります。このようにして、Pythonコマンドの実行先を切り替えているのですね。

(SSPAP) C:\Python\vision-api>echo %PATH%
C:\Python\vision-api\SSPAP\Scripts;~~~

 

Note2 getsitepackages()を使って利用可能なsite-packageを見てみましょう。こちらも仮想環境のフォルダが先になっています。これで仮想環境でインストールしたライブラリが優先して使われる仕組みとなっています。

(SSPAP) C:\Python\vision-api>python -c "import site;print(site.getsitepackages())"
['C:\\Python\\vision-api\\SSPAP', 'C:\\Python\\vision-api\\SSPAP\\lib\\site-packages']

 

 

6.仮想環境を終了する時はdeactivateコマンドを実行します。

(SSPAP) C:\Python\vision-api>deactivate

Note activateコマンドを打った時点でScriptsフォルダのパスが環境変数に追加されたので、deactivateコマンドはフルパスで指定する必要がありません。