雑多なブログ

音楽や語学、プログラム関連の話題について書いています

画像をルーペで拡大する

imgタグの画像を拡大するのは大体どのプラグインでも問題なし。 ただ、canvasタグを拡大表示するのは若干めんどさかった。

canvasで画像拡大を実装することもできるが、 自分が試した印象ではパフォーマンス的に厳しいという印象。

なので、canvasの場合は toDataURL() を使って画像のバイナリーデータを取得し、そのデータを画像拡大プラグインで読み込んで用いる、あるいはimgタグの src 属性に直接データを埋め込む。

情報漏洩のしょうもない原因を防ごう

テクノロジーが発達した現代でも、本当にくだらないミスで情報漏洩しています。ということで、自分が他人の案件でサポート入った時に、遭遇したパターンについてまとめてみます。

1. 公開領域に、拡張子を変える形でバックアップファイルを置いている

残念ながら頻繁にあります。 バックアップファイルを作成するだけならまだ良いのですが、元の拡張子を変えて保存してしまったファイルは超危険です。

例えば、公開領域に wp-config.php というファイルがあると仮定します。このファイルのバックアップとして wp-config.php_20230429 というファイルを複製した場合、拡張子が .php_20230429 と認識されるため、PHPとしては処理されません。

PHPとして処理されないテキストファイルは、ただのプレーンテキストとして認識されてしまい、ブラウザ上で wp-config.php_20230424 にアクセスすると、ファイルの中身がそのまま表示されてしまいます。

2. 作業メモや、データが公開領域にアップロードされている

これもいまだ頻繁に遭遇します。

これまた、サポートで入ったプロジェクトで本番環境の確認を行っていると、公開領域に作業用のExcelやらメモ.txtがアップロードされていて、ヒヤッとすることが多々あります。 で、そういったプロジェクトでGitで管理されているリソースを確認してみると、 公開領域に相当するフォルダに、メモ書きや作業用のファイルがコミットされていたりします。

そういったプロジェクトで、VCSでどのようにリソースが管理されているのかを見ると、本番にアップするソースと、本番にアップしてはいけないものも含めて一緒くたにコミットされていることが多々あります。

例えば、下記構成でリソースがVCSで管理されていると仮定します。

  • プロジェクトのルートフォルダ
    • public ... ここにhtmlなどのリソースが置かれている

この場合に、public に作業メモや、非公開にすべきデータをコミットしているケースが多々ありました。この場合、その手のファイルをVCSで管理するなら、せめて下記のようにするのが正しいと思います。

  • プロジェクトのルートフォルダ
    • data ... ここに本番にはアップしないファイルなどを置く
    • public

些細なことかもしれませんが、この程度の整理を行うだけで、本番に余計なファイルをアップロードするリスクは軽減できます。

まとめ

デプロイがいくら自動化されても、公開領域と非公開領域を意識せずにファイルを取り扱っていると、公開されては困るものがうっかり本番にアップロードされてしまうトラブルが防げないので気をつけましょう。

ChatGPTに数行の英文を添削してもらった。

その時のChatGPTとのやりとりを掲載しました。 応答も自然で、かなり使えるような気がする。 とりあえず、英語で言葉を発するのに慣れるのには良いと思う。対人のコミュニケーションよりも心理的な安心感もリスクも低いだろうし。

So would you help me and correct my message.

ChatGPT

Of course, I can definitely help you with that! Please feel free to write your message, and I'll do my best to correct any errors and make it clearer for you.

Today, I have a holidy.
I practiced the piano and bass for upcoming live event morning.
Then I took broken electronics; dish dryer and rice cooker, to the landfill.
 
Great, here's a corrected version of your message:

"Today, I have a holiday. I practiced the piano and bass for an upcoming live event in the morning. After that, I took some broken electronics - a dish dryer and rice cooker - to the landfill."

Excuse me.
I wrote "landfill", this means the place that is public facilities, 
and there picks up the large garbage or something 

ChatGPT

I see! In that case, you might want to use a different word to convey the idea that you took the broken electronics to a place where they could be disposed of properly. Here's a revised version of your message:

"Today, I had a holiday. I practiced the piano and bass for an upcoming live event in the morning. Then, I took my broken electronics - a dish dryer and rice cooker - to a waste disposal facility, where they can be recycled or disposed of safely."

Thank you very much.

ChatGPT

You're welcome! It was my pleasure to help. If you have any further questions or need any assistance, please don't hesitate to ask!

By the way, I have no idea to express the gratitude for theses situation.
How do I say simply?

ChatGPT

You can express gratitude in many ways! Here are a few simple ways to say "thank you":

"Thank you so much!"
"I really appreciate your help."
"I'm so grateful for your assistance."
"Thanks for everything!"
"I can't thank you enough."

These are just a few examples, but there are many other ways to express gratitude. The most important thing is to be sincere and express your gratitude in a way that feels comfortable and natural to you.

Thank you.
I'm so grateful for your assistance!
See you later.

ChatGPT

You're welcome! I'm glad I could help. Don't hesitate to ask if you need any further assistance in the future. Have a great day!

プリンターの給紙が故障・・・

プリンターの給紙が故障してうまく印刷ができなくなってしまった。まだギリギリ使えるけど複数部の印刷は難しい。10年前くらいに10,000円位で購入したプリンターなので、十分頑張ってくれたと思う。

個人的には楽譜やテキスト、公的書類の印刷にしか使っていないのでモノクロのみでOK。残っているインクが切れたタイミングでプリンターも買い替えようと思う。2〜3万円くらい出せば十分良いプリンターが購入できると思う。ま、プリンターの場合本体よりもインク代の方がコスト的に高いね・・・

電子圧力鍋LPC-T1201で炊飯した

コイズミの電子圧力鍋LPC-T1201で炊飯した。
詳しい操作方法は説明書があるので省略するけど、加圧時間4分で、加熱から加圧・減圧までトータル約15分。
若干硬めの炊き上がりに仕上がった。

水に長時間浸さずに炊飯したので、仕上がりの硬さに影響しているように思う。もしくは加圧時間をもう少し多くする?

mac - ファイルのmd5ハッシュ値を確認する

macでファイルのmd5ハッシュ値を確認する場合は、
md5 コマンドが標準で使える。

コマンド

md5 sample_file.txt

実行結果

MD5 (sample_file.txt) = d41d8cd98f00b204e9800998ecf8427e

-q オプションを付けると、ハッシュ値だけ出力する。

コマンド

md5 -q sample_file.txt

実行結果

d41d8cd98f00b204e9800998ecf8427e

ちなみにlinuxでは、md5sum というコマンドが使える。

ChatGPTを試した。

最近SNSで注目されているChatGPTを試してみた。

例えば、「年月日を引数に取り、曜日を返すpythonの関数を作って」とAIに問いかけると、レスポンスとして、そのものずばりpythonの関数の定義が返ってきてびっくり。

また、別の例では文章を要約して、と問いかけると指定した文章を要約してくれたり。なかなかすごい。

ちょっとした案内はこれである程度カバーできそうな気がする・・・ 例えば、歩くペッパーくん+AIチャットを組みわせると、施設の案内とかできそう。

chat.openai.com