プログラミング

Electron, npm, nodeを久々に更新した(nvm) とりあえずのメモ

Electron, npm, nodeを久々に更新した(nvm)

npm、nodeを久々に更新しようとしたところ、ESMモジュールシステムと古いCommonJSモジュールシステムの競合によるエラーが発生しました。Node.jsとnpmのバージョンに互換性がない可能性があるため、Node.jsのバージョン管理ツールであるnvmをインストールしました。nvmを使ってNode.jsの最新LTSバージョンをインストールし、npmを10.7.0にアップデートすることで問題を解決しました。npmの更新通知久々にElectronプログラムを作ろうと、np...
[JavaScript]下にスクロールするとヘッダーメニューを半透明にするようにした プログラミング

[JavaScript]下にスクロールするとヘッダーメニューを半透明にするようにした

Xのタイムラインを見ていたら、画面のメニューバーの透過度が上下のスクロールに応じて変化していることに気づきました。少し下にスクロールすると半透明になり、少し上にスクロールすると元に戻っています。自分のサイトのヘッダーメニュー(mobile-header-menu-buttons)でも、このような処理をするように、JavaScriptを作りたいと思います。画面内の情報の表示範囲が増えるからです。javascript.jsとstyle.css機能ユーザーがページを下にスクロールす...
なぜオンライン版ExcelでエクスポートしたPDFが「JavaScriptの機能を使用している」の?(自動印刷処理) とりあえずのメモ

なぜオンライン版ExcelでエクスポートしたPDFが「JavaScriptの機能を使用している」の?(自動印刷処理)

オンライン版Excelからエクスポートした PDFで、JavaScriptの機能が使用されているという警告が表示されました。これは、PDFを開いたらすぐに印刷できるスクリプトが埋め込まれているためです。しかし、PDF内のJavaScriptにはセキュリティ上の懸念もあり、なるべくならオフにしておきたいです。追記:2024-08-01「印刷」から「PDFとしてエクスポート」したときには JavaScriptが埋め込まれているものの、「エクスポート」からPDFをダウンロードした場...
WordPressカスタムプラグインに日毎のPVを表示する機能を追加した プログラミング

WordPressカスタムプラグインに日毎のPVを表示する機能を追加した

WordPressプラグインに日毎のPVを表示する機能を追加しました。add_menuを追加自作のカスタムプラグインを使っています。今回は、そのプラグインに機能を追加します。※以前にプラグインを作成したのは、こちら。まず、新しいサブメニューページを chiilabo_stats_admin_menu関数内のadd_menu_page関数の引数に追加しました。add_submenu_page( 'chiilabo-stats', // 親メニューのスラッグ '日別PV', '日...
QRコード生成APIをGoogleからqrserver.comに変更した トラブルと対処

QRコード生成APIをGoogleからqrserver.comに変更した

ついに GoogleAPIsのQRコード生成APIが終了していたので、QR code generator(goqr.me)のAPIに変更しました。変更前: ' . $url変更後: ' . urlencode($url)前提: $url = get_the_permalink();URLをURLエンコードするのがポイントです。QRコードが表示されていない?このサイトの記事を印刷すると、その記事のQRコードが印刷されるように設定しています。ところが、久しぶりに印刷されたものを確...
[Cocoon] Amazonリンクに個別にPR表記をつける[CSS] とりあえずのメモ

[Cocoon] Amazonリンクに個別にPR表記をつける[CSS]

ちょっと商品紹介をしたいとき記事の中にちょっとAmazonの商品紹介を入れたいときがあります。記事全体がPRでもないので、記事先頭にPR表記を入れるのにも抵抗があります。そういうときのために、Amazonリンクに個別にPR表記をつけるようにCSSを変更しました。テーマのstyle.cssに以下のコードを追加しました。/** Amazonリンクに個別にPR表記をつける 2024-05-01*/.product-item-title::before { content: "[PR...
詐欺サイトはスマホを狙う(ユーザーエージェント) とりあえずのメモ

詐欺サイトはスマホを狙う(ユーザーエージェント)

クレジットカードなどの利用照会を装うメールから偽サイトに誘導する詐欺が横行しています。ところが、パソコンからアクセスすると適当な大手サイトにリダイレクトされました。スマートフォンからアクセスしたときだけ偽のログインページを表示するように、「ユーザーエージェント」という情報を使っていました。詐欺メールがスマートフォンを狙うのは、コンピュータ関係に詳しくない利用者が多い、と考えられているからでしょう。スマートフォンは手軽に使い始めることができますが、情報セキュリティについて自分で...
[WordPress] モバイル版の記事一覧の間隔を狭くした とりあえずのメモ

[WordPress] モバイル版の記事一覧の間隔を狭くした

モバイル版の記事一覧の間隔が狭くなるように、スタイルを調整しました。一度に 5記事から 8記事見えるようになりました。/** 記事一覧の密度を高くする 2024-04-26*/@media screen and (max-width: 480px) { .list { row-gap: 0; } .list.ecb-entry-border .entry-card-wrap { margin-bottom: 0; } .e-card-title { font-size: 16...
モバイルヘッダーロゴが中央になっていたので左に直した(Cocoon 2.7.3.1) とりあえずのメモ

モバイルヘッダーロゴが中央になっていたので左に直した(Cocoon 2.7.3.1)

スマホで自サイトを表示したら、ロゴの左端から中央に変わっていました。サイトロゴはもともとは中央で、自サイトでは以前にカスタマイズしていたところです。style.cssのロゴクラス(.mobile-menu-buttons .menu-button.logo-menu-button)に「justify-content: flex-start」を追加して戻しました。ちょうどCocoonテーマの更新で 2.7.3.1になっていました。環境WordPress:6.5.2、PHP:8....
[Cocoon] サイトロゴのリンク先をページ種類で変えた(WordPress) とりあえずのメモ

[Cocoon] サイトロゴのリンク先をページ種類で変えた(WordPress)

Cocoonテーマでサイトロゴのリンク先を変更したいと思って、 functions.phpをカスタマイズしました。add_filterで「'mobile_header_site_logo_url'」の処理で条件分岐するようにして、記事ページとトップページではブログ一覧に移動するように変更しました。ロゴのリンク先を分岐させたいサイト上のロゴを押したとき、通常はトップページに移行します。しかし、記事上に限ってはブログ一覧ページに移行するように変更しようと思います。以下のコードを ...
ChatGPTがS式を解釈する?(自然言語処理と構文解析) AIの話題

ChatGPTがS式を解釈する?(自然言語処理と構文解析)

「S式風のプロンプトの書き方が使えるかも?」という説を目にして、実験してみました。結果は、全く異なる構造のプロンプトを与えても、ほとんど同じ結果になってしまいました(GPT-4, Claude 3 Opus)。カッコをほとんど省いて「うまいこと」解釈しているようで、現状は修飾関係を明示するような用途では使えなさそうでした。生成AIは、もっともらしく動作します。だからこそ、うまくいくケースだけを与えて判断して、評価するのは危険ですね。エラーチェックや境界条件を調査することが、プ...
[Cocoon]タグ一覧から1記事しかないタグを除外した(WordPress) とりあえずのメモ

[Cocoon]タグ一覧から1記事しかないタグを除外した(WordPress)

WordPressのCocoonテーマのタグ一覧で、1記事しかないタグを非表示にするように、functions.phpのショートコードを修正しました。記事数が2以上のタグを降順で表示するようにしたら、タグ一覧がスッキリして関連記事を探しやすくなりました。生成AIでコードの修正案を生成したので、数分でできました。環境WordPress, Cocoonテーマさらにタグ一覧をカスタマイズした以前、WordPressサイトで記事のタグ一覧を表示するショートコードを作りました。しかし、...
どうして偽サイトに自分のロゴが使われていたのか?(ウェブAPI) とりあえずのメモ

どうして偽サイトに自分のロゴが使われていたのか?(ウェブAPI)

詐欺メールのリンク先の偽サイトを調べてみたら、自分のSNS用のアイコンが出てきて、ちょっとびっくりしました。ソースを読むと、Clearbit社のAPIを利用して、メールアドレスからロゴを動的に表示していたのです。また、最初の2回のログインを意図的に失敗させ、3回目に別のフォームサイトに誘導する、などの仕掛けもありました。フィッシング詐欺は年々手口が洗練されてきています。安全のためにも、普段からサイバーセキュリティについて学んでおくことが大切だと感じました。YouTube動画で...
Google Apps Script で値を変更したのに反映されない?(SpreadsheetApp.flush()) クラウド

Google Apps Script で値を変更したのに反映されない?(SpreadsheetApp.flush())

Google SpreadSheetのセルの値を変更したのに、関数などに反映されていないことがあります。関数の再計算をさせるには、その処理を追加する必要があります。SpreadsheetApp.flush();これは、スクリプト実行時は処理の効率化のために、関数の再計算が抑制されているからです。Googleスプレッドシートで、入力フォームからデータ表に追記するスクリプトを作成したのですが、印刷用フォームに反映されない不具合がありました。ただ、データ表を確認して元にシートに戻る...
WordPress 6.5にアップデートしたらブログカード内のURLに改行が追加されるようになった[Cocoon] とりあえずのメモ

WordPress 6.5にアップデートしたらブログカード内のURLに改行が追加されるようになった[Cocoon]

昨日、WordPress6.5にアップデートしたところ、ブログカードを再編集したときに、URLの間に空行が追加されることに気づきました。どうも、ブロックエディタのブログカード内での改行の仕様が変更になっているようです。Cocoon バージョン:2.7.2.5で修正されました。環境Cocoonバージョン: 2.7.2.3WordPress: 6.5ブログカードが妙に縦に伸びているブログカードに複数URLを挿入する運用をしています。WordPress6.5にアップデート後に、ブロ...
プログラミングを経験すると不具合に対処しやすくなる(プログラミング教育のメリット) ちいラボエッセイ

プログラミングを経験すると不具合に対処しやすくなる(プログラミング教育のメリット)

コンピューターと付き合う上で、プログラミングの経験は役に立ちます。プログラムを作ってみると、バグなしで完璧に動くコードを書くのは非常に難しいことがわかるからです。 プログラムの不完全さを理解していれば、コンピューターやアプリが思い通りに動かなくても、少なくとも落ち着いて対処できます。ちょっとした見過ごしで「大惨事」だったりします。これは、プログラミング教育のもたらす重要なメリットだと思います。コンピューターは正確に動く?プログラミング教育のメリットの1つとして、プログラムを不...
[Windows] ログインできないPCのデータを丸ごとコピーした(xcopy src dest /s /e /h /i /c) Windows

[Windows] ログインできないPCのデータを丸ごとコピーした(xcopy src dest /s /e /h /i /c)

データ復旧などでコマンドプロンプトからフォルダを丸ごとコピーしたいときは、「xcopy」というコマンドを使います。例えば、「xcopy c:\Users\username e:\data /s /e /h /i /c」と入力すれば、c:\Users\username を e:\data として丸ごとコピーできます。「/s」や「/e」などのオプションで、サブフォルダや隠しファイル、システムファイルをコピーするように指示しています。Windows REの「コマンドプロンプト」久し...
サイトを複製されたくないのでRSSフィードを非公開にした[WordPress] とりあえずのメモ

サイトを複製されたくないのでRSSフィードを非公開にした[WordPress]

複製サイトが情報源として「RSSフィード」を使っている事例に遭遇しました。そこで、WordPressサイトのRSSフィードを無効にすることにしました。functions.phpでRSSフィードを生成する処理をフックで置き換えます。WordPressサイトのRSSフィードを置き換えるコード公開されているコードを参考に、RSSフィードを無効化することにしました。function disable_our_feeds() { wp_die( __('<strong>Error:</s...
「サイトで重大なエラーが発生しました」(ゼロ除算の2つの結果) トラブルと対処

「サイトで重大なエラーが発生しました」(ゼロ除算の2つの結果)

PHPのバージョンを7.4から8.0に上げたら、カスタムプラグインがエラーになるようになりました。エラーをみると「ゼロ除算(DivisionByZeroError)」。これまでは除算後に NaN のチェックをしていたのですが、除算前に 0 のチェックが必要になったみたいです。どうも、除算演算子で fdiv でなく intdiv が使われるようになっていたのが原因ようです。カスタムプラグインのエラーPHPのバージョンを7.4から8.0に上げたら、以前に自分で作ったWordPre...
WordPressカスタムプラグインのタイムアウトを避ける(mixhost) プログラミング

WordPressカスタムプラグインのタイムアウトを避ける(mixhost)

カスタムプラグインでサイトの統計情報を分析しているのですが、時々タイムアウトで動かなくなってしまうんです。そこで、cPanelのMultiPHP INIエディタを使って、max_execution_timeの設定を変更してみました。これで、プラグインが途中で止まらずに済むようになりました。カスタムプラグインの動作が安定しないカスタムプラグインでサイト統計情報を分析しています。ところが、最近 そのプラグインの統計ページが動かないときがあります。ページの再読み込みすると動いたりも...