Windows Updateで「Canon – Printer」エラーが出たときの直し方(printmanagement.msc使用)

Windows Update に 「Canon – Printer – … で失敗(0x800f020b)」 と出続けることがあります。 原因のほとんどは、もう使っていない Canon プリンターのドライバーだけが PC に残っていて、Windows Update がそれを更新しようとして失敗しているケースです…

なぜGitHub Actionsはパブリックリポジトリで無料無制限なのか

ソフトウェア開発に携わっている方なら、「GitHub Actions」という言葉を耳にしたことがあるでしょう。コードの変更がプッシュされるたびに自動でテストを実行したり、デプロイを行ったりと、CI/CD(継続的インテグレーション/継続的デリバリー)の自動化に…

Ubuntu の curl でOneDrive クライアントが警告を出す理由と対処法まとめ

Ubuntu 22.04 や Debian 系 Linux 環境で onedrive クライアント を使っていて、こんな警告が出たことはありませんか? WARNING: Your cURL/libcurl version (7.81.0) has known HTTP/2 bugs that impact the use of this client. Please report this to you…

プログラミングが「めんどくさい」と感じたときに読む記事 ― 技術者が陥りがちな苛立ちの正体と、実践的な対処法 ―

はじめに プログラミングには創造性と自由がありますが、それ以上に「めんどくささ」や「苛立ち」がつきまとう作業でもあります。 タイピングのミス一つで集中が途切れ、バグの特定に何時間も費やされ、ドキュメントを読んでも解決しない―― そういった経験は…

Git における `assume-unchanged` と `skip-worktree` の技術的比較

はじめに Git を利用する開発現場では、特定のファイルを「一時的に無視」したいというニーズが頻繁に発生する。例えば、共有リポジトリ内の構成ファイルや、ビルドによって一時的に変更されるファイルが該当する。 Git にはこのようなケースに対応する2つの…

Chromeの「シークレットモード」と「ゲストモード」の違いとは?

Google Chromeには、プライバシー保護のための機能として「シークレットモード」と「ゲストモード」が用意されています。いずれもブラウジング履歴を保存しないという共通点がありますが、その目的や利用シーンには明確な違いがあります。 この記事では、そ…

もう迷わない!マークダウンのリンクは「テ角U丸」で完璧マスター!

マークダウンで文章を書く際、リンクの記述方法って、最初はちょっと混乱しませんか? 「あれ? [] が先だっけ? () が先だっけ?」 私も最初はよく迷っていました。でも、もう大丈夫!画期的な覚え方を見つけたんです。 その名も… 「テ角U丸(てかくゆーま…

動画ファイルの深層:フレームの連続とコマ送りの仕組み

普段何気なく見ている動画ファイル(例えばmp4)。その内部は一体どうなっているのでしょうか?今回の記事では、動画ファイルの基本的な構造から、コマ送りの動作原理までを掘り下げて解説します。 動画ファイルはフレームの集合体 結論から言うと、mp4など…

AI時代におけるプログラミングの価値とは?

はじめに 近年、AIが急速に進化し、プログラミングの自動化が進んでいます。ChatGPTやGitHub CopilotのようなAIツールが登場し、コードを書く作業の多くをAIが担う時代が到来しつつあります。では、このような時代において、人間がプログラミングを学ぶ意味…

Adminerの正しい発音

データベース管理に便利なツール「Adminer」。意外と正しい発音を知らない方も多いのではないでしょうか? Adminerの正しい発音 Adminerは「アドマイナー」と発音します。英語での発音としては「Ad-min-er」となり、アクセントは真ん中の「min」に置かれます…

CSS疑似要素を使ったWordPressアクセス解析手法

はじめに 最近、あるWordPressテーマのコードを確認していた際に、興味深いアクセス解析の実装方法を見つけました。一般的ではない手法ですが、CSS疑似要素を利用したこの実装方法について詳しく解説します。 発見したコード body::after{ content: url("/li…

WordPress:ショートコードとブロックの違いを理解する

はじめに WordPressでWebサイトを構築する際、コンテンツ作成の方法として「ショートコード」と「ブロック」という二つの重要な機能があります。この記事では、それぞれの特徴と違いについて詳しく解説します。 ショートコードとは ショートコードは、WordPr…

WebkitのCSS省略表示テクニック:マルチラインのテキスト切り捨て

Webkitベースのブラウザで使えるテキスト省略表示のCSSテクニックについて調べてみた。以下の3つのプロパティを組み合わせると、複数行のテキストを綺麗に省略表示できる。 display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; こ…

Docker.rawファイルとストレージ管理について

Docker環境でのストレージ問題について考えてみた。特にdocker.rawファイルについて理解を深めたかった。 docker.rawファイルとは docker.rawファイルは、Dockerイメージのレイヤーを保存するためのファイル形式だ。このファイルにはイメージを構成する複数…

プログラミング言語を「使える」とは何か

あるプログラミング言語を「使える」と言えるレベルについて考えてみた。よく言われる基準としては以下のようなものがある。 構文(文法)の理解 基本的なアルゴリズムの実装 問題解決力 デバッグ能力 ドキュメントの理解と活用 実践での使用経験 初心者、中級…

PostgreSQLとMySQLの違いについて考えてみた

今日はデータベース管理システムについて少し考えを整理してみたい。特にPostgreSQLとMySQLの違いについて。 基本的な違い PostgreSQLとMySQLは両方とも関係データベース管理システム(RDBMS)だけど、結構違いがある。 PostgreSQLはSQL標準にかなり忠実で、デ…

個人開発でのGitHubワークフロー考察

プルリクエストを使うべきか 個人開発でも、プルリクエスト(PR)を使うと便利な点がいくつかある。非公開リポジトリで一人で開発していると、直接メインブランチにプッシュしちゃえばいいやと思いがちだけど、PRにも利点はある。 PRを使う利点としては 変更の…

マークダウンの脚注についていろいろ

マークダウンの脚注の使い方をきちんと整理しておきたいと思った。メモ代わりに基本と応用をまとめておく。 脚注の基本 マークダウンでの脚注は意外とシンプル。本文中に [^1] のように参照を置いて、どこか(大抵はドキュメントの最後)に [^1]: これが脚注…

管理者ページのURLセキュリティについて考える

ウェブサイトの管理者ページについて少し考えていた。多くのサイトには管理画面があるけど、そのURLの設計についてあまり深く考えたことがなかった。 管理者ページの基本 一般的なウェブサイトには、ほぼ例外なく管理者向けの専用ページが存在する。CMS、管…

ヘッドレスUIについて考えてみた

「ヘッドレスUI」について調べてみた。最初は専門用語が多くて正直よく分からなかったけど、本質はすごくシンプルだと気づいた。 ヘッドレスUIについて考えた 最初の理解 最初に調べた段階では、ヘッドレスUIとは「フロントエンドとバックエンドを完全に分離…

SlackへのcurlでのPOSTリクエスト

Slackへの投稿を自動化する方法について調べた。Slack APIを使うと、Webhookを使って外部からメッセージを送信できるんだけど、その基本的な使い方をメモしておく。 基本的なPOSTリクエスト構造 まず、Slackに送信するPOSTリクエストの基本構造はこんな感じ…

React の useEffect と依存配列に関する備忘録

昨日、興味深い React の警告メッセージに出くわした。コンポーネントの実装中に ESLint が出してきたもので、useEffect の依存配列に関する警告だった。 Warning: React Hook useEffect has a missing dependency: 'initialEntries'. Either include it or …

キーボード操作が作業モチベを上げる理由について考えてみた

最近、コーディング作業中にキーボードだけで操作するようにしていて、なんだかモチベーションが上がるような気がしてる。なぜそう感じるのか、少し考えてみた。 キーボード vs マウス問題 プログラマーの間では「マウスは極力使わずキーボードで操作すべき…

Obsidianのファイルがローカルに存在するのはメリットなのか

Obsidianは、基本的にローカルにファイルを保存するスタイルだけど、この「ローカル保存」って便利だと感じる人もいれば、クラウドに保存した方がいいと思う人もいるだろう。実際、自分にとってどっちがいいのかを考えた時に、いくつかのポイントで悩んだ。…

Google KeepとObsidianの使い分けを考える

デジタルノートツールは現代の知識労働者にとって必須のアイテムとなっています。その中でも、Google KeepとObsidianは異なる特性を持つ人気のツールです。この記事では、両者の効果的な使い分け方と、併用する際の注意点について解説します。 Google Keepと…

Fly.ioでの簡単なWebアプリケーションデプロイに関する考察

はじめに 最近、Fly.ioの無料枠で運用していたアプリケーションを削除しました。その後、新たに何かをデプロイしようと考え、様々な可能性を探ってみることにしました。この記事では、Fly.ioを使った簡単かつ遊び心のあるアプリケーションのデプロイアイデア…

画像抽出スクリプト:URLから画像を取得して一覧表示するシェルスクリプトの作成

はじめに Webページから画像を抽出して一覧表示したいケースは多くあります。サイトのアセット確認、コンテンツ分析、参考資料の収集など、さまざまな目的で利用できる機能です。この記事では、指定したURLから画像リンクを抽出し、見やすいHTML形式でレポー…

Web動画最適化テクニック:パフォーマンスを向上させる実践的アプローチ

はじめに Webサイトに複数の動画を掲載する場合、パフォーマンスの問題に直面することがよくあります。特に、一つのページに多数のビデオタグを使用すると、ページの読み込み時間が長くなり、ユーザーエクスペリエンスが低下する可能性があります。この記事…

HTML最適化:プリフェッチとプリコネクトの正しい使い方

はじめに ウェブサイトのパフォーマンス最適化は、ユーザーエクスペリエンスを向上させる上で欠かせない要素です。今回は、ウェブページの読み込み速度を最適化するためのHTMLリンクタグである dns-prefetch と preconnect について詳しく解説します。 プリ…

JavaScriptとReact: 非同期処理、Promise、asyncとawaitを理解する

はじめに 現代のウェブ開発では、非同期処理は避けて通れないトピックです。特にReactやNext.jsを使用する際には、コンポーネントの非同期処理を適切に扱う必要があります。この記事では、よくある混乱ポイントである非同期処理、Promise、asyncとawaitにつ…