Archive

開発の記事

  1. CodexによるWeb作成
    • 開発

    AI要約 今回のWebページ再構築にはCodexというAIエージェントを多用し、NuxtやNode.js、Nginx、MariaDBをDocker Composeで効率的に構築しました。タグ生成もChatGPT APIを活用し自動化。AIによる制作時間短縮や自動化の利便性を実感しつつ、AIの急速な発展がIT系の仕事消失やディストピア的未来の懸念も指摘しています。

  2. ホームページ改装・解凍
    • 開発

    AI要約 WordPressで作成していたホームページを、node.jsとNuxtを使って書き直しました。開発にはCodexを活用し、個人作業ながら半日程度で完了。最近話題のOpenAIやAnthropicの動向にも注目しています。

  3. conda メモ
    • 開発

    AI要約 Core ML Stable Diffusionを利用する際に導入したconda環境の操作方法についてのメモです。作成済みのconda環境の確認コマンドや環境の切り替え方を具体例付きで紹介しており、手順を忘れた際の参考になります。加えて、生成した画像の例も掲載されています。

  4. client_global_hostkeys_prove_confirm: server gave bad signature for RSA key 0: incorrect signature
    • 開発

    AI要約 SSH接続時に表示される「client_global_hostkeys_prove_confirm: server gave bad signature for RSA key 0」というメッセージは、実際にはエラーではなく、SSHのバージョン間の互換性に起因する警告です。リモートサーバーの古いSSHバージョン(OpenSSH 7.4p1)が問題の一因であり、ローカル側の~/.ssh/configに「UpdateHostKeys no」を設定することで回避可能です。また、近年は安全性と性能の観点からRSAではなくEd25519やECDSAアルゴリズムの鍵生成が推奨されています。

  5. GA4 への移行
    • 開発

    AI要約 Google Analyticsが今週末に完全にGA4へ移行し、それ以前のバージョンのコードが動作しなくなります。長年使用してきたサービスのため、プロパティの再生成やコードの埋め替えを忘れている部分も多く、複数のサイトで移行作業がまだ完了していません。今週中に移行を済ませる必要があります。

  6. Core ML Stable Diffusion
    • 開発

    AI要約 Core MLを用いたStable Diffusionの利用方法を解説し、モデル指定時のオプション設定ミスに言及。実例として複数のプロンプトとモデルで画像生成を試み、生成結果の問題点やネガティブプロンプトの効果を検証。顔や手の描写の難しさやプロンプト調整の重要性を示し、具体的なコマンド例と生成画像を通じて、使いこなしの工夫を紹介しています。

  7. Apple Mシリーズ用 Stable Diffusion
    • 開発

    AI要約 Appleシリコン向けに最適化されたStable DiffusionのCore MLバージョンを試用。記事を参考にしつつ、画像生成に成功したものの、モデル変換方法やライブラリの毎回の長時間読み込みについて疑問が残る。キャッシュの活用など今後の調査が必要。

  8. Web Audio API の挙動が端末でやや異なる
    • 開発

    AI要約 GoogleのWeb Audio APIを用いたコンテンツは高度だが、同一機種・最新版OSとブラウザ環境でも挙動が必ずしも一致せず、音が出ないケースもある。この仕様のばらつきはWeb Audio APIを用いた音楽処理や教材開発の信頼性に影響し、ネイティブアプリ開発への回帰も検討されている。Web Assemblyによる音声処理も研究されているが、端末依存の問題は依然として解決が必要だ。

  9. Webページ改装
    • 開発

    AI要約 ウェブページの改装作業中に、成田のホテル画像の配置見直しやレイアウトとタイトルの変更など複数の修正を行いました。作業中に誤って画像ファイルを削除してしまうトラブルもありましたが、結果的にページはかなり軽くなりました。今後は重要な画像ファイルをローカルにも保存しておくことが望ましいと感じています。

  10. [JavaScript] 複数の要素のClassNameを消去する。
    • 開発

    AI要約 本記事では、JavaScriptのgetElementsByClassNameで取得した複数の要素から特定のクラス("active")を削除する際の問題点と解決策について説明しています。通常のforループやforEachでは要素数の変化により正しくクラスが削除されませんが、whileループを用いてリアルタイムに要素数を確認しながら処理する方法を紹介しています。よりスマートな対処法やjQueryでのまとめてクラス削除にも言及しています。

  11. [JavaScript] classList では空白文字を使って複数の class を追加できない。
    • 開発

    AI要約 JavaScriptのclassListを使う際、複数のクラスを追加するには空白で区切った一つの文字列ではなく、クラス名を個別の引数として指定する必要があります。空白を含む単一の文字列をaddメソッドに渡すとエラーになるため、classList.add('foo','bar')のように複数引数で渡すか、スプレッド構文を利用しましょう。一方、classNameプロパティを使用すれば、空白区切りの文字列で複数クラスを一度に設定可能です。本記事ではこの違いとエラー回避方法を解説しています。

  12. [JavaScript]Timer(setInterval) とThis
    • 開発

    AI要約 この記事ではJavaScriptのsetIntervalを使ったタイマー処理について解説しています。シンプルな例から変数をまとめて管理する方法まで紹介し、特にthisの扱いやアロー関数の違いに注意が必要だと説明。細かい挙動を理解しないと思わぬバグが発生するリスクを示しています。

  13. CentOSでのサービスの作成(node.jsアプリケーションをサービス化)
    • 開発

    AI要約 Node.jsで作成したWebアプリをCentOS上でサービスとして正しく管理する方法について解説しています。バックグラウンドでの直接実行から、systemdを用いたサービス登録に切り替えることで管理が容易になります。/etc/systemd/systemにサービスファイルを作成し、実行パスやパーミッション設定、ユーザー管理の注意点も紹介。これにより、安定的かつセキュアな運用が可能になる内容です。

  14. Mac購入時にAppleCare+は入るべきか。
    • 開発

    AI要約 Macは突然故障することがあり、著者は実際に3回の修理を経験しました。AppleCare+に加入していたため修理費は無料でしたが、加入していなければ高額な請求があった可能性があります。特に最新のMacは部品交換が難しいため、長期間使うならAppleCare+加入が安心です。また、未使用の場合は途中解約で日割り返金もありますが、一度でも利用すると返金はありません。

  15. EndNoteの参考文献書き出し順を,文章の表示順に合わせる
    • 開発

    AI要約 この記事では、文献管理ソフトEndNoteの使い方について解説しています。特に参考文献の書き出し順がデフォルトでは文章内の引用順と合わない問題に触れ、スタイル設定をカスタマイズし、ソート順を「著者名+年」のみに変更することで解決できると説明しています。また、日本語文献の扱いの難しさや、EndNoteの価格に対する感想も述べています。

  16. システム基盤
    • 開発

    AI要約 システム基盤について素人が学びながらまとめた記事です。ハードウェア構成図、ソフトウェア構成図、ユースケース図の作成に役立つ情報や外部リンクを紹介しています。初心者向けの解説や具体例が掲載されており、システム設計の基本理解に役立ちます。

  17. なくなりゆくCentOS 8.x
    • 開発

    AI要約 CentOS 8のサポートが予定より早く2021年末に終了し、多くのユーザーが戸惑っています。CentOS Streamへの移行が進む一方、従来のCentOS 7は2024年6月までサポート継続。代替としてAlma LinuxやRocky Linuxも注目されており、サーバー環境の選択に悩みが続く現状を解説しています。

  18. 「display:flex」がすごい使いやすい。
    • 開発

    AI要約 本記事では、従来の「display:block」「display:inline-block」や「display:table」を使った手間のかかるWebレイアウト方法に比べて、「display:flex」がいかに使いやすく効率的かを紹介しています。要素の等間隔配置や縦方向の並べ方が簡単にでき、CSS作成の時間短縮につながる利点を具体例とともに解説。初心者にも優しいFlexboxの基本プロパティの説明や参考サイトも紹介しています。

  19. iframe内のDOM要素を取得する(JavaScript)
    • 開発

    AI要約 この記事では、JavaScriptでiframe内のDOM要素を取得しようと試みた事例を紹介しています。iframe自体は取得できるものの、その内部のdocumentや要素がcontentWindow.document経由で取得できず、nullが返される問題に直面。動的にiframeを生成していることが原因の可能性やクロスオリジン制約の影響も考察しつつ、最終的にはiframeではなくdiv要素を用いる方法に切り替える結論に至っています。

  20. WordPressにて,表示している記事のもつ「カテゴリ」または「タグ」を含む記事を検索する
    • 開発

    AI要約 WordPressの投稿ページで、現在表示している記事のカテゴリまたはタグを持つ別の記事を検索・表示する方法について解説しています。get_the_categoryやget_the_tags関数でカテゴリ・タグを取得し、set_query_varで他のテンプレートへ受け渡し。WP_Queryのtax_queryパラメータを使い、「OR」条件で関連投稿をランダムに抽出するコード例と実際の画面例も示しています。将来的には「AND」検索等で精度を高める検討も提案されています。

©Hiroshi Nagayama