Skip to content

Instantly share code, notes, and snippets.

@yuimax
yuimax / csharp_set_speaker_volume.md
Created April 26, 2025 04:33
WindowsのC#でスピーカーの音声ボリュームを変更する

質問

WindowsのC#またはGo言語で、スピーカーの音声ボリュームを変更するsetvolコマンドを作ってください。
コマンドラインで「setvol 50」を実行すると、音量が50% になる仕様で作ってください。

回答 (Google Gemini)

おっと、それは面白そうな課題ですね!C#とGo言語、どちらのバージョンも作成してみます。それぞれの言語で、OSの音量制御APIを呼び出す方法が異なるので、それぞれの特徴を見ていきましょう。

C#版 setvol コマンド

C#では、WindowsのCOM (Component Object Model) インターフェースを操作するためのライブラリを利用するのが一般的です。ここでは、NAudio という便利なライブラリを使って実装してみましょう。

@yuimax
yuimax / about_generic_karl.md
Created April 25, 2025 07:08
スナック菓子界における「ジェネリックカール」について

質問

明治製菓の「カール」が関東では入手しづらくなりました。
これを受けて、俗に「ジェネリックカール」と呼ばれる、カールに似た菓子が販売されていると聞きました。
ジェネリックカールについてご存じなら、いろいろ教えてください。

回答 (Google Gemini)

それは残念でしたね。「カール」は長年親しまれてきたお菓子なので、関東にお住まいの方にとっては寂しい限りでしょう。

俗に「ジェネリックカール」と呼ばれる、カールに似たお菓子はいくつか販売されています。主なものとしては、以下の商品が挙げられます。

@yuimax
yuimax / js_play_video_using_MSE.md
Last active April 22, 2025 15:02
分割された動画をMedia Source Extensions (MSE) を使用して再生する

質問

HTML上で、Media Source Extensions (MSE) を利用し、複数に分割されたmp4ファイルをvideo要素で再生できますか

回答 (Google Gemini)

はい、HTML上で Media Source Extensions (MSE) を利用すれば、複数に分割された MP4 ファイルを <video> 要素で連続して再生できます。

基本的な考え方は、分割された MP4 ファイルを順次取得し、MSE の SourceBuffer に追加していくことで、<video> 要素に対して一つの連続したストリームとして見せることです。

以下に、基本的な手順と概念的なコード例を示します。

@yuimax
yuimax / js_object_literal.md
Created April 22, 2025 09:29
JavaScriptのオブジェクトリテラルの要素

質問

JavaScriptのオブジェクトリテラルの要素には、どんな種類がありますか。
JavaScrtipのバージョンはES6以上とします。

回答 (MS Copilot)

JavaScriptのES6(ECMAScript 2015)以上のオブジェクトリテラルには、以下のような要素(プロパティやメソッドなど)が含まれます。

1. データプロパティ(基本的なキーと値のペア)

const obj = {
@yuimax
yuimax / css_flexbox_why_canvas_holds_aspect_raio.md
Last active April 21, 2025 07:45
CSS FlexboxにおけるCanvas要素のアスペクト比維持

質問

以下のHTMLでは、CSSのflexboxを利用して、canvasの幅を可変にしています。
FireFoxやEdgeで動作確認すると、canvasの幅に連動して、アスペクト比を保つようにcanvasの高さも自動的に変わるのですが、これはなぜですか。

<!DOCTYPE html>
<html>
<head>
<style>
div#main {
	display: flex;
@yuimax
yuimax / vscode_for_golang.md
Created April 20, 2025 04:41
VSCodeでGo言語の開発環境を作る

質問

VS Code で Go 言語プログラムの開発環境を作る手順を教えてください。
VS Code の UI は日本語化してください。

回答 (Google Gemini)

承知いたしました。VS Code で Go 言語プログラムの開発環境を構築する手順を、UI を日本語化する手順と合わせてご説明しますね。

ステップ 1: Go 言語のインストール

まず、Go 言語がまだインストールされていない場合は、インストールする必要があります。

@yuimax
yuimax / css_auto_div_width.md
Created April 18, 2025 07:11
CSSで右のdivの幅から左のdivの幅を計算する

質問

HTML画面に div.main があり、その中に div.left と div.right が左右に並んでいます。
div.right は中身をレンダリングした状態に応じて幅が変わります。
div.leftの幅は、div.mainの幅からdiv.rightの幅を減算したものにしたいです。
どのようなCSSを設定すればよいですか。

回答 (Google Gemini)

<!DOCTYPE html>
<html>
@yuimax
yuimax / js_object_literal_vs_json.md
Created April 18, 2025 05:45
JavaScriptのオブジェクトリテラルとJSONの違い

質問

JavaScriptのオブジェクトリテラルと、JSONの違いについて教えてください。

回答 (Google Gemini)

JavaScriptのオブジェクトリテラルとJSONは、どちらもキーと値のペアを記述するための記法ですが、いくつかの重要な違いがあります。これらの違いを理解することで、JavaScriptのコードとデータ交換フォーマットであるJSONを適切に使い分けることができます。

以下に主な違いをまとめます。

1. 構文 (Syntax)

@yuimax
yuimax / js_canvas_size.md
Created April 18, 2025 05:13
HTMLのcanvas.widthとcanvas.style.widthの使い方

質問

HTMLのcanvas要素で、canvas.width と canvas.style.width の違いを教えてください

回答 (Google Gemini)

はい、HTMLの canvas 要素における canvas.widthcanvas.style.width の違いについてご説明しますね。これらはcanvasのサイズを扱う上で非常に重要な概念です。

canvas.width 属性

  • これは、canvas要素の内部的な描画バッファの幅をピクセル単位で指定します。
  • 実際に描画が行われる領域のサイズを決定します。
@yuimax
yuimax / js_event_target_type.md
Created April 18, 2025 00:22
javascriptのイベントハンドラのevent.target.typeの種類

質問

javascriptのイベントハンドラにおいて、イベントターゲットの type で判定できる要素の種類には何がありますか

回答 (Google Gemini)

JavaScriptのイベントハンドラにおいて、event.target.type プロパティで判定できる主な要素の種類は以下の通りです。これらの値は、<input> 要素や <button> 要素など、フォーム関連の要素で特に重要になります。

<input> 要素:

  • "text": 一行のテキスト入力フィールド
  • "password": パスワード入力フィールド(入力文字が隠蔽される)