プログラミング

スポンサーリンク
C#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day3:演算子の練習問題

Day3 練習問題セット(演算子)Day3 では 算術演算子・比較演算子・論理演算子・インクリメント/デクリメント を学びました。 ここでは、その内容をしっかり定着させるための練習問題と、ていねいな解...
C#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day3:演算子

Day3 前半のゴールDay3 の前半では、C#で計算や比較、条件判断を行うための 「演算子」 を理解することを目標とする。 ここで扱うのは、次の4つです。算術演算子 比較演算子 論理演算子 インクリ...
C#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day2:変数とデータ型も練習問題

Day2 練習問題セット(変数とデータ型)Day2 のテーマは 変数とデータ型を正しく使えるようになること。 ここでは、学習内容に完全に沿った練習問題と、初心者でも理解しやすい解答・解説をまとめている...
C#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day2:変数とデータ型

Day2 前半のゴールDay2 の前半では、C# の学習で最も重要な基礎となる 「変数」と「データ型」 をしっかり理解することを目標にする。 プログラミングは「値を覚えておく」「計算する」「条件で分岐...
C#

C# | ゼロからはじめるプログラミング、30日で基礎を学ぶC#:基礎文法を学ぶ - Day1:C#とは・開発環境の準備

Day1のゴールと全体像このDay1では、C#でプログラミングを始めるための「土台」を作ることを目標とする。 扱うテーマは次のようなものだ。C#とは何か .NETとは何か 開発環境(Visual St...
Java

Java | 「木構造の距離計算」をもっと深く理解する

Javaで考える「木構造の距離計算」をもっと深く理解する(前半)木構造の距離をきちんと理解できると、ツリー探索・木DP・グラフアルゴリズムが一気につながって見えるようになります。 距離は「ノード同士が...
Java

Java | ツリー構造を「再帰」で処理する

Javaのツリー構造を「再帰」で処理するという発想(前半)ツリー構造を扱うとき、再帰はほとんど「チート級」に相性が良いテクニックです。 フォルダ階層、メニュー構造、組織図、DOMツリー、JSONのネス...
Java

Java | Tree Dynamic Programming

Javaで学ぶ「木DP(Tree Dynamic Programming)」(前半)木DP(Tree DP)は、動的計画法(Dynamic Programming)と木構造(ツリー)が組み合わさったテ...
Java

Java | グラフ探索アルゴリズム

Javaで学ぶ「グラフ探索アルゴリズム」(前半)グラフ探索アルゴリズムは、アルゴリズム学習の中でも「一段レベルが上がる」テーマです。 SNSの友達関係、道路の経路、依存関係、ネットワーク構造など、 現...
Java

Java | ソートアルゴリズムを体系的に学ぶ

Javaで学ぶ「アルゴリズムとデータ構造」(前半)アルゴリズムとデータ構造は、Javaに限らずすべてのプログラミング言語で「土台」になる考え方です。 文法を覚えるだけでは、コードは書けても「うまい設計...
Java

Java | ソートアルゴリズムを体系的に学ぶ

Javaでソートアルゴリズムを体系的に学ぶ(前半)ソート(並べ替え)は、アルゴリズムの世界で最も基本的でありながら、 「きちんと体系的に理解しているか」がはっきり差になるテーマです。 配列やリストを昇...
Java

Java | 再帰のセキュリティ上の注意点

Javaで考える「再帰のセキュリティ上の注意点」(前半)再帰は、アルゴリズムを美しく書ける強力なテクニックです。 ツリー探索、ファイル走査、数列計算、パーサ、バックトラッキングなど、 多くの場面で再帰...
Java

Java | フィボナッチを高速化する方法

Javaで学ぶ「フィボナッチを高速化する方法」(前半)フィボナッチ数列は、アルゴリズム学習の定番テーマです。 しかし、素直な再帰で書いたフィボナッチは「とんでもなく遅い」コードになります。 前半では、...
Java

Java | ツリー構造の実践的な操作

Javaで学ぶ「ツリー構造の実践的な操作」(前半)ツリー構造は、アルゴリズムの教科書だけの話ではなく、実務で頻繁に登場するデータ構造です。 フォルダ階層、メニュー構造、組織図、JSON、XML、DOM...
Java

Java | 「二分探索木(BST)」をもっと深く理解する

Javaで学ぶ「二分探索木(BST)」をもっと深く理解する(前半)二分探索木(Binary Search Tree, BST)は、「探索を速くするための木構造」です。 配列やリストでの線形探索に比べて...
Java

Java | 木構造の最短経路・距離計算

Javaで学ぶ「木構造の最短経路・距離計算」(前半)木構造の「距離」や「最短経路」は、アルゴリズムの世界でも実務でもよく登場するテーマです。 フォルダ間の距離、組織図での上下関係の距離、ネットワーク構...
Java

Java | アルゴリズムの計算量

Javaで学ぶ「アルゴリズムの計算量」(前半)アルゴリズムの計算量は、「そのコードがどれくらい遅くなる可能性があるか」を見抜くためのものです。 小さい入力では気にならなくても、データ量が増えた瞬間に「...
Java

Java | ツリー構造の探索アルゴリズム

Javaで学ぶ「ツリー構造の探索アルゴリズム」(前半)ツリー構造は、プログラミングの世界で非常に重要なデータ構造です。 フォルダ階層、組織図、JSON、DOM、抽象構文木など、現場で触れるものの多くが...
Java

Java | 「動的計画法」を体系的に理解する

Javaで学ぶ「動的計画法」を体系的に理解する(前半)動的計画法(Dynamic Programming, DP)は、アルゴリズムの世界で非常に重要なテクニックです。 「難しそう」「数学っぽくて怖い」...
Java

Java | 再帰とループの最適な使い分け

Javaで学ぶ「再帰とループの最適な使い分け」(前半)Javaを学び始めると、多くの読者が「再帰とループ、どっちを使えばいいのか?」という疑問にぶつかります。 どちらも「繰り返し」を表現する手段ですが...
Java

Java | 再帰の高速化テクニック

Javaで学ぶ「再帰の高速化テクニック」(前半)再帰は美しく書ける反面、処理が遅くなりやすいという弱点があります。 特に Java の再帰は「関数呼び出しのコスト」や「スタックの深さ」に影響されるため...
Java

Java | 再帰的なアルゴリズムの実例集

Javaで学ぶ再帰アルゴリズム(前半)Javaの再帰は、初心者にとって「少し難しそう」に見えるテーマですが、実は仕組みが分かればとてもシンプルです。 この前半では、再帰の基本構造、Javaでの書き方、...
JavaScript

JavaScript | 再帰的なアルゴリズムの実例集

再帰アルゴリズムとは何か(やさしい入口)「再帰(さいき)」という言葉は少し難しく聞こえますが、アイデア自体はシンプルです。 再帰とは「関数が自分自身を呼び出すこと」です。JavaScriptでは、ある...
JavaScript

JavaScript | HTML / CSS 連携:CSS基礎 - 子孫セレクタ

子孫セレクタは「この中にある“全部の○○”にスタイルを当てるための選び方」子孫セレクタは、 「ある要素の“内側にある”別の要素たちをまとめて選ぶためのセレクタ」です。書き方はとてもシンプルで、 セレク...
JavaScript

JavaScript | HTML / CSS 連携:CSS基礎 - IDセレクタ

IDセレクタは「ページの中で“この1つだけ”を指さすための名前」IDセレクタは、 「このページの中で、たった1つの特別な要素にスタイルを当てるための“固有の名前”」を扱う仕組みです。CSS側では # ...
JavaScript

JavaScript | HTML / CSS 連携:CSS基礎 - クラスセレクタ

クラスセレクタは「意味のグループに“共通の見た目”を当てるための仕組み」クラスセレクタは、 「このクラス名が付いている要素たちに、共通のスタイルを当てる」ためのCSSの“選び方”です。CSS側では ....
JavaScript

JavaScript | HTML / CSS 連携:CSS基礎 - セレクタ

セレクタは「どのHTML要素に、このCSSルールを“当てるか”を決めるもの」CSSの役割は「見た目のルールを書くこと」ですが、 その前に必ずやることがあります。「このルールを、どの要素に適用するか?」...
JavaScript

JavaScript | HTML / CSS 連携:CSS基礎 - CSSの役割

CSSの役割は「見た目のルールをHTMLから“切り離して”管理すること」まず一番大事なところからいきます。HTMLの役割:ページの“中身”と“構造”を書くもの CSSの役割:その中身の“見た目”と“装...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - autocomplete

autocomplete は「ブラウザに“ここには何の情報が入るか”を教えるための属性」autocomplete は、 「この入力欄には、ユーザーのどんな情報が入るのか」をブラウザに教えるための属性 ...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - pattern

pattern は「この入力欄の“合格パターン”を正規表現で決めるためのルール」pattern は、 「この入力欄には、こういう形の文字列だけを“正解”として受け付けてほしい」 とブラウザに伝えるため...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - required

required は「ここは“絶対に空で送らせない”ためのスイッチ」required は、 「この入力欄は必須です。空のままフォームを送信させないでください」 とブラウザに伝えるための属性です。ユーザ...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - placeholder

placeholder は「入力欄の中に表示する“ヒントテキスト”」placeholder は、 入力欄の中に薄い文字で表示される「ここには何を書けばいいか」のヒント です。ラベルが「名前」だけだと、...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - range入力

range入力は「スライダーで“数値の範囲”から直感的に選んでもらう入力欄」type="range" は、 ユーザーに「ある範囲の数値」を、スライダーを動かして選んでもらうための入力欄 です。テキスト...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - color入力

color入力は「カラーピッカーで“色そのもの”を選んでもらうための入力欄」type="color" は、 ユーザーに「色」を選んでもらうための専用入力欄 です。テキスト入力で #ff0000 みたい...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - date入力

date入力は「カレンダーUIで“正しい日付”を確実に受け取るための入力欄」type="date" は、 ユーザーに「日付」を入力してもらうための専用入力欄 です。テキスト入力と違い、 ブラウザが「カ...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - file入力

file入力は「ユーザーのPCやスマホから“ファイルそのもの”を受け取るための入り口」type="file" は、 ユーザーの端末(PC・スマホ)の中から、画像やPDFなどの「ファイルそのもの」を選ん...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - radioボタン

radioボタンは「グループの中から“必ず1つだけ”選んでもらうための入力欄」type="radio" は、 「いくつかの候補の中から、ユーザーに“1つだけ”選んでもらうための入力欄」 です。チェック...
JavaScript

JavaScript | HTML / CSS 連携:フォーム応用 - checkbox

checkbox は「ON/OFF や“複数選択”を表現するためのスイッチ」type="checkbox" は、 「その項目を選ぶか選ばないか(ON/OFF)を表現するための入力欄」 です。「利用規約...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - button

button 要素は「ユーザーに“何かのきっかけ”を押してもらうためのスイッチ」<button> は、 「ユーザーにクリック(タップ)してもらうことで、何かの処理を始めるためのスイッチ」 です。フォー...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - option

option 要素は「select の中の“1つぶんの選択肢”」<option> は、 「select の中に並ぶ、1 つ 1 つの“選べる候補”」 を表すタグです。<select> が「選択メニュー...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - select

select は「候補の中から選んでもらうための“選択メニュー”」<select> は、 「あらかじめ用意した選択肢の中から、ユーザーに選んでもらうための入力欄」 です。テキストボックスや texta...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - textarea

textarea は「長文や複数行の文章を入れてもらうための入力欄」<textarea> は、 「ユーザーに“複数行の文章”や“長めのテキスト”を入力してもらうための専用の入力欄」 です。input ...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - number入力

number入力は「数値だけを入れてもらうための“賢い入力欄”」type="number" の入力欄は、 ユーザーに 「数字だけ」を入力してもらうための専用の入り口 です。年齢 個数 価格 点数 割合...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - email入力

email入力は「メールアドレス専用の“賢いテキスト入力欄”」type="email" の入力欄は、 「ユーザーにメールアドレスを入力してもらうための、ちょっと賢いテキスト入力」 です。見た目はほぼ ...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - password入力

password入力は「中身を隠しながら文字を受け取るための入力欄」type="password" の入力欄は、 「ユーザーに文字を入力してもらうけれど、画面上では中身を見えなくする」 ための特別なテ...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - text入力

text入力は「なんでも文字を入れてもらうための“1行の入力欄”」type="text" の入力欄は、 「ユーザーに自由な文字列を 1 行ぶん入力してもらうための入り口」 です。名前 タイトル ニック...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - inputタグ

input 要素は「ユーザーから“1つの値”を受け取るための入り口」<input> は、 ユーザーから たった 1 つの値を受け取るためのパーツ です。名前 メールアドレス パスワード チェックの O...
JavaScript

JavaScript | HTML / CSS 連携:フォーム基礎 - formタグ

form 要素は「入力をひとまとめにして“送信するための枠”」<form> は、 「ユーザーの入力をひとまとまりにして、どこかへ送るための“フォーム全体の箱”」 です。テキストボックス チェックボック...
JavaScript

JavaScript Tips | 配列ユーティリティ:並び順復元

テーマの整理:「並び順復元」とは何か「並び順復元」は、以前保存しておいた“並び順情報”を使って、最新の配列を同じ順番に並べ直すユーティリティのことです。 直前の「並び順保存」が「順番を覚える」だとした...
JavaScript

JavaScript Tips | 配列ユーティリティ:並び順保存

テーマの整理:「並び順保存」とは何か「並び順保存」は、ユーザーが並べ替えた配列の順番を、あとで再現できるように“記録しておく”ユーティリティのことです。 業務だと、次のような場面でよく出てきます。画面...
JavaScript

JavaScript Tips | 配列ユーティリティ:UI 用整形

テーマの整理:「UI 用整形」とは何か「UI 用整形」は、配列データを「画面コンポーネントが扱いやすい形」に変換するユーティリティのことです。 API や DB から取ってきた“生データ”は、そのまま...
JavaScript

JavaScript Tips | 配列ユーティリティ:API レスポンス整形

テーマの整理:「API レスポンス整形」とは何か「API レスポンス整形」は、外部 API から返ってきた“生のレスポンス”を、アプリ側で扱いやすい配列・オブジェクトの形に変換するユーティリティのこと...
JavaScript

JavaScript Tips | 配列ユーティリティ:可視化用変換

テーマの整理:「可視化用変換」とは何か「可視化用変換」は、生の配列データを「グラフライブラリがそのまま読める形」に整えるユーティリティのことです。 業務だと、次のような場面でよく使います。売上データを...
JavaScript

JavaScript Tips | 配列ユーティリティ:統計情報生成

テーマの整理:「統計情報生成」とは何かここでの「統計情報生成」は、配列に入っている数値データから、もう一歩踏み込んだ“統計的な指標”を計算するユーティリティのことです。 サマリー生成が「合計・平均・最...
JavaScript

JavaScript Tips | 配列ユーティリティ:サマリー生成

テーマの整理:「サマリー生成」とは何かここでの「サマリー生成」は、配列に入っているたくさんのデータを「要約・集計」して、業務で使いやすい形にまとめるユーティリティのことです。 「生データの配列」から、...
JavaScript

JavaScript Tips | 配列ユーティリティ:バリデーション

テーマの整理:「配列バリデーション」とは何かここでの「バリデーション」は、配列の中身が「業務で期待している形・値になっているか」をチェックすることです。 特に「オブジェクト配列」(レコード一覧)に対し...
JavaScript

JavaScript Tips | 配列ユーティリティ:型変換一括

テーマの整理:「型変換一括」とは何かここでの「型変換一括」は、配列の中のオブジェクトに対して「特定のプロパティの型をまとめて変換する」ユーティリティのことです。 業務だと、次のような場面でよく出てきま...
JavaScript

JavaScript Tips | 配列ユーティリティ:欠損補完

テーマの整理:「欠損補完」とは何かここでの「欠損補完」は、配列の中にある「抜けている値・足りないレコード」を、一定のルールで埋めるユーティリティのことです。 業務だと、次のような場面でよく出てきます。...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列正規化

テーマの整理:「配列正規化」とは何かここでの「配列正規化」は、バラバラな形・揺れのある配列データを、「扱いやすい一定の形」にそろえるユーティリティのことです。 業務だと、次のような場面でよく出てきます...
JavaScript

JavaScript Tips | 配列ユーティリティ:行列転置

テーマの整理:「行列転置」とは何かここでの「行列転置」は、二次元配列(表データ)で「行と列を入れ替える」ユーティリティのことです。 業務だと、次のような場面で出てきます。Excel で「行と列を入れ替...
JavaScript

JavaScript Tips | 配列ユーティリティ:カラム削除

テーマの整理:「カラム削除」とは何かここでの「カラム削除」は、オブジェクト配列から「いらない列(プロパティ)」を取り除くためのユーティリティです。 業務だと、次のような場面でよく使います。機密情報(パ...
JavaScript

JavaScript Tips | 配列ユーティリティ:カラム抽出

テーマの整理:「カラム抽出」とは何かここでの「カラム抽出」は、オブジェクト配列から「欲しい列だけ」を取り出すためのユーティリティです。 業務だと、次のような場面でよく使います。画面の一覧では 10 項...
JavaScript

JavaScript Tips | 配列ユーティリティ:表データ生成

テーマの整理:「表データ生成」とは何かここで扱う「表データ生成」は、配列から「表として扱いやすい形」を作るためのユーティリティです。 業務だと、次のような場面でよく出てきます。画面に一覧テーブルを表示...
JavaScript

JavaScript Tips | 配列ユーティリティ:Excel 行変換

テーマの整理:「Excel 行変換」とは何かここで扱うのは、「JavaScript の配列(オブジェクト配列)を、Excel の“行”として扱いやすい形に変換するユーティリティ」です。 業務だと、次の...
JavaScript

JavaScript Tips | 配列ユーティリティ:JSON 変換

テーマの整理:「配列ユーティリティ × JSON 変換」とは何かここで扱うのは、「JavaScript の配列を JSON 文字列に変換する」「JSON 文字列から配列に戻す」ための、業務でそのまま使...
JavaScript

JavaScript Tips | 配列ユーティリティ:CSV 変換

テーマの整理:「配列ユーティリティ × CSV 変換」とは何かここで扱うのは、「JavaScript の配列(オブジェクト配列)を、業務でそのまま使える CSV 文字列に変換するユーティリティ」です。...
JavaScript

JavaScript Tips | 配列ユーティリティ:ログ出力

テーマの整理:「配列ユーティリティ × ログ出力」とは何かここで話したいのは、「配列を扱う処理の動きや結果を、きちんとログに残すための小さなユーティリティ」です。 業務コードでは、配列まわりでバグが起...
JavaScript

JavaScript Tips | 配列ユーティリティ:差分検出

テーマの整理:「差分検出」とは何か「差分検出」は、“前の配列”と“今の配列”を比べて、「何が増えたか」「何が消えたか」「何が変わったか」をはっきりさせるためのテクニックです。 業務だと、次のような場面...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列変更監視

テーマの整理:「配列変更監視」とは何か「配列変更監視」は、配列の中身が変わった瞬間を検知して、何かの処理(再計算・再描画・ログなど)を自動で走らせるための仕組みです。 業務だと、例えば次のような場面で...
JavaScript

JavaScript Tips | 配列ユーティリティ:メモ化配列

テーマの整理:「メモ化配列」とは何か「メモ化配列」は、配列を入力にする処理の結果を“覚えておいて”、同じ入力に対しては再計算せずに結果を返す仕組みです。 さっきの「配列キャッシュ」とほぼ同じ考え方です...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列キャッシュ

テーマの整理:「配列キャッシュ」とは何か「配列キャッシュ」は、一度計算した「配列に対する結果」を覚えておいて、同じ入力に対しては再計算せずに使い回すための仕組みです。 業務だと、こんな場面で欲しくなり...
JavaScript

JavaScript Tips | 配列ユーティリティ:件数制御実行

テーマの整理:「件数制御実行」とは何か「件数制御実行」は、配列の要素に対する非同期処理を「一度に何件まで動かすか」をきちんと制御しながら実行するユーティリティです。 イメージとしては「同時実行数を制限...
JavaScript

JavaScript Tips | 配列ユーティリティ:並列処理

テーマの整理:「並列処理」とは何かここでいう「並列処理」は、配列の要素に対する非同期処理を「同時に複数まとめて動かす」ことです。 順次処理(1 件ずつ)に比べて速く終わりやすい一方で、負荷やレート制限...
Java

Java Tips | I/O・ネットワーク:CSV書き込み

業務で「CSV書き込みユーティリティ」が必要になる理由CSVは、外部ベンダーへのデータ提供、他システムへの連携、ユーザーへのエクスポート、バックアップなど、業務システムの「出口」としてめちゃくちゃよく...
Java

Java Tips | I/O・ネットワーク:CSV読み込み

業務で「CSV読み込みユーティリティ」が必要になる理由CSVは、業務システムで一番よく使われるデータ形式のひとつです。 顧客一覧、売上データ、設定情報、外部ベンダーとの連携ファイル——どれもだいたい ...
Java

Java Tips | I/O・ネットワーク:BOM除去

BOM(Byte Order Mark)とは何か、なぜ業務で「除去」が必要になるのかBOM(Byte Order Mark)は、テキストファイルの先頭に付く 「このファイルは UTF-8 だよ」 とい...
Java

Java Tips | I/O・ネットワーク:文字コード変換

業務で「文字コード変換ユーティリティ」が必要になる場面業務システムでは、UTF-8 だけで世界が完結してくれれば楽ですが、現実はそうはいきません。 古い社内システムが Shift_JIS、外部ベンダー...
Java

Java Tips | I/O・ネットワーク:再帰zip

「再帰zip」ユーティリティが業務で活きる場面再帰zipという言葉が少し硬く聞こえるかもしれませんが、やっていることはシンプルです。 「あるディレクトリを指定したら、その配下のサブディレクトリも含めて...
Java

Java Tips | I/O・ネットワーク:tar対応

業務で「tar対応」ユーティリティが必要になる場面ZIP は Windows 文化、tar は Unix/Linux 文化——そんなイメージがあります。 業務システムでも、サーバーが Linux だっ...
Java

Java Tips | I/O・ネットワーク:zip解凍

なぜ「zip解凍ユーティリティ」が業務で重要になるのかZIP は「複数ファイルをまとめる箱」です。レポート一式、バックアップ、ユーザーへの一括ダウンロードなど、業務システムでは ZIP を受け取って中...
Java

Java Tips | I/O・ネットワーク:zip圧縮

なぜ「zip圧縮ユーティリティ」が業務で強い武器になるのかgzip が「1ファイル専用の圧縮袋」だとしたら、ZIP は「複数ファイルをまとめる箱」です。 業務システムでは、レポート一式、エクスポート結...
Java

Java Tips | I/O・ネットワーク:gzip解凍

なぜ「gzip解凍ユーティリティ」が業務で必須になるのか業務システムでは、ログ、CSV、JSON、バックアップファイルなどを gzip で圧縮して保存・転送することがよくあります。 その結果、「読むと...
Java

Java Tips | I/O・ネットワーク:gzip圧縮

gzip圧縮ユーティリティは何のために必要なのか業務システムでは、ログ、CSV、JSON、バックアップファイルなど「サイズが大きくなりがちなデータ」を扱う場面が多くあります。 そのまま保存するとディス...
Java

Java Tips | I/O・ネットワーク:ストリームコピー

ストリームコピーって何をするユーティリティなのか「ストリームコピー」は、InputStream から OutputStream へバイト列をそのまま流す処理です。 ざっくり言うと「どこかから読んだデー...
Java

Java Tips | I/O・ネットワーク:バイト読み込み

なぜ「バイト読み込み」ユーティリティが業務で必要になるのかテキストファイルだけなら「行単位」「文字列単位」の読み込みで十分ですが、業務システムではそれだけでは足りません。 PDF、画像、ZIP、Exc...
Java

Java Tips | I/O・ネットワーク:行単位読み込み

なぜ「行単位読み込み」ユーティリティが業務で効いてくるのか業務システムで扱うファイルは、CSV、ログ、設定ファイルなど「1行=1レコード」「1行=1メッセージ」という形がとても多いです。 このとき、フ...
Java

Java Tips | I/O・ネットワーク:ファイル書き込み

業務で使える「ファイル書き込みユーティリティ」とは何か業務システムでは、ログ出力、CSVエクスポート、レポート生成、一時ファイルの保存など、「ファイルに書く」場面が必ず出てきます。 そのたびに Fil...
Java

Java Tips | I/O・ネットワーク:ファイル読み込み

業務で使える「ファイル読み込みユーティリティ」とは何か業務システムでは、設定ファイル、CSV、ログ、インポート用データなど、「ファイルを読む」場面が必ず出てきます。 毎回その場で FileInputS...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel見積書作成

Excel見積書作成は「テンプレートに自動で値を流し込み、見積書作成をゼロ秒にする」ための最強スキルあなたのように業務効率化を本気で考える人にとって、 Excel見積書作成の自動化は“ミス防止 × 時...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel請求書作成

Excel請求書作成は「テンプレートに自動で値を流し込み、請求書作成をゼロ秒にする」ための最強スキルExcel請求書作成の自動化は“ミス防止 × 時間削減 × 品質向上”を同時に達成できる最重要領域 ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel在庫集計

Excel在庫集計は「入庫・出庫・在庫残を自動計算し、在庫管理のミスをゼロにする」ための最強スキルあなたのように業務効率化を本気で考える人にとって、 在庫集計の自動化は“現場の混乱をなくし、正確な在庫...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel勤怠集計

Excel勤怠集計は「出勤・退勤・休憩・残業などの勤怠データを自動で計算し、給与計算に使える形へ整形する」ための最強スキルあなたのように業務効率化を本気で考える人にとって、 勤怠集計の自動化は“ミス防...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel売上集計

Excel売上集計は「バラバラな売上データを一瞬でまとめて、分析・レポートに使える形にする」ための最強スキルあなたがやりたいことは、まさに「現場の数字を意思決定に使える形に変える」ことです。 その入口...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelテンプレ自動入力

Excelテンプレ自動入力は「決まったフォーマットにデータを自動で流し込み、帳票作成をゼロ秒にする」ための最強スキル業務効率化を本気で考える人にとって、 Excelテンプレート自動入力は“Python...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelデータ整形

Excelデータ整形は「バラバラなExcelを自動で綺麗に整え、分析・レポート作成できる状態に変換する」ための最強スキル業務効率化を本気で考える人にとって、 Excelデータ整形の自動化は“Pytho...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel差分比較

Excel差分比較は「2つのExcelの違いを自動で検出し、変更点だけを抽出して確認作業をゼロにする」ための最強スキル業務効率化を本気で考える人にとって、 Excel差分比較の自動化は“ミス防止 × ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelエラーチェック

Excelエラーチェックは「Excelの入力ミス・欠損・異常値を自動で検出し、正しいデータだけを業務に流す」ための最強スキル業務効率化を本気で考える人にとって、 Excelエラーチェックの自動化は“品...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelデータ検証

Excelデータ検証は「入力ミスを自動で防ぎ、正しいデータだけをExcelに入れられるようにする」ための最強スキル業務効率化を本気で考える人にとって、 Excelデータ検証(Data Validati...
PHP

PHP Tips | 文字列処理:入力補助 - 文字種判定(英字/数字/記号)

何をしたいユーティリティなのか「文字種判定(英字/数字/記号)」は、 ある文字列の中に「英字」「数字」「記号」がどれくらい含まれているか、 あるいは「この文字列は英字だけか?数字だけか?記号を含んでい...
PHP

PHP Tips | 文字列処理:入力補助 - 指定文字出現回数カウント

何をしたいユーティリティなのか「指定文字出現回数カウント」は、 ある文字列の中に「特定の文字(または短い文字列)が何回出てくるか」を数えるためのユーティリティです。例えば、カンマが何個あるか改行が何回...
PHP

PHP Tips | 文字列処理:入力補助 - 改行数カウント

何をしたいユーティリティなのか「改行数カウント」は、 ある文字列の中に「改行が何回含まれているか」を数えるためのユーティリティです。問い合わせフォームの本文、コメント欄、メモ入力など、 ユーザーが自由...
PHP

PHP Tips | 文字列処理:入力補助 - 絵文字除去

何をしたいユーティリティなのか「絵文字除去」は、その名の通り、 ユーザーが入力したテキストから「絵文字だけ」を取り除くためのユーティリティです。スマホからの入力だと、文章の中に自然に絵文字が混ざります...
PHP

PHP Tips | 文字列処理:入力補助 - 数値文字列判定

何をしたいユーティリティなのか「数値文字列判定」は、 「この文字列、ちゃんと“数値として扱っていいやつ”か?」をチェックするためのユーティリティです。フォーム入力、クエリパラメータ、JSON の値など...
PHP

PHP Tips | 文字列処理:入力補助 - JSON → 配列(型安全)

何をしたいユーティリティなのか「JSON → 配列(型安全)」は、 文字列として渡されてきた JSON を「PHP の配列」に変換するときに、ちゃんと JSON として正しいかチェックする期待している...
PHP

PHP Tips | 文字列処理:入力補助 - 配列 → JSON(pretty)

何をしたいユーティリティなのか「配列 → JSON(pretty)」は、 PHP の配列や連想配列を「人間が読みやすい JSON 文字列」に変換するユーティリティです。普通の json_encode ...
PHP

PHP Tips | 文字列処理:入力補助 - 配列 → カンマ区切り文字列

何をしたいユーティリティなのか「配列 → カンマ区切り文字列」は、その名の通り、['apple', 'orange', 'banana']['apple', 'orange', 'banana']PH...
PHP

PHP Tips | 文字列処理:入力補助 - カンマ区切り文字列 → 配列

何をしたいユーティリティなのか「カンマ区切り文字列 → 配列」は、 例えばこんな入力を、"apple,orange,banana"こういう配列に変換するユーティリティです。CSV 風の入力、ID の一...
PHP

PHP Tips | 文字列処理:入力補助 - 空白区切り文字列 → 配列

何をしたいユーティリティなのか「空白区切り文字列 → 配列」は、 例えばこんな入力を、"apple orange banana"こういう配列に変換するユーティリティです。タグ入力、検索キーワード、権限...
C#

C# Tips | ログ・例外・診断:.NETバージョン取得

はじめに:.NETバージョン取得は「どんなエンジンで走っているか」を知るためのもの同じ C# コードでも、 どの .NET ランタイムバージョン で動いているかによって、 使える API や挙動、パフ...
C#

C# Tips | ログ・例外・診断:OS情報取得

はじめに:OS情報取得は「どんな土台の上で動いているか」を知るためのもの業務システムで地味に効いてくるのが、「OS の違い」です。 同じ C# コードでも、Windows Server のバージョンが...
C#

C# Tips | ログ・例外・診断:環境情報取得

はじめに:環境情報取得は「どこで・どんな設定で動いているか」を数字と言葉で残すこと業務システムで一番困るのは、 「開発環境では再現しないのに、本番だけでバグが出る」 「同じコードなのに、サーバーによっ...
C#

C# Tips | ログ・例外・診断:CPU使用率取得

はじめに:CPU使用率取得は「どれだけ“頭フル回転”しているか」を数字で知るための道具「サーバーが重い」「このバッチ、CPU食い過ぎじゃない?」 こういう会話、業務システムだとよく出てきますよね。でも...
C#

C# Tips | ログ・例外・診断:スレッド数取得

スレッド数取得は「アプリがどれだけ“並行処理のリソース”を使っているか」を数字で知る技術業務システムでは、 「なんか CPU が高い」「サーバーが重い」「スレッドプールが枯渇しているかも」 といった問...
Java

Java | 1 日 120 分 × 7 日アプリ学習 中級編:オブジェクト指向(OOP) - 継承アプリ

1日目のゴール継承アプリ1日目のテーマは「共通部分をまとめる」=継承の入口を“安全に”体験すること です。今日は、「継承って便利そうだけど、どこが嬉しくて、どこが危険なのか」を、まず“共通部分をまとめ...
Java

Java | 1 日 120 分 × 7 日アプリ学習 中級編:オブジェクト指向(OOP) - カプセル化アプリ

1日目のゴール中級編「カプセル化アプリ」1日目のテーマは「直接触らせない」=カプセル化の感覚を体でつかむこと です。キーワードはprivate と getter / setter。でも、ただ「書き方を...
JavaScript

JavaScript Tips | 配列ユーティリティ:順次処理

テーマの整理:「順次処理」とは何かここでいう「順次処理」は、配列の要素を「必ず 1 件ずつ、順番に」処理していくパターンのことです。特に「処理が非同期(async)」なときに、順番をきちんと守りたい場...
JavaScript

JavaScript Tips | 配列ユーティリティ:Promise 配列制御

テーマの整理:「Promise 配列制御」とは何か「Promise 配列制御」というのは、ざっくり言うと「複数の非同期処理(Promise)を、配列としてまとめて扱い、どう待つか・どう制御するかを決め...
JavaScript

JavaScript Tips | 配列ユーティリティ:非同期 reduce

そもそも reduce と「非同期 reduce」の違いArray.prototype.reduce は、配列を 1 つの値に“畳み込む”ための関数です。合計を出したり、オブジェクトに集計したり、「最...
JavaScript

JavaScript Tips | 配列ユーティリティ:非同期 filter

何をしたいユーティリティか:「非同期 filter」「非同期 filter」は、配列の各要素に対して「async な条件チェック」を行い、条件を満たした要素だけを残すユーティリティです。普通の Arr...
JavaScript

JavaScript Tips | 配列ユーティリティ:非同期 map

何をしたいユーティリティか:「非同期 map」「非同期 map」は、配列の各要素に対して「async な処理」をして、その結果を配列として集めるユーティリティです。普通の map は同期処理専用ですが...
JavaScript

JavaScript Tips | 配列ユーティリティ:map + filter 合成

何をしたいユーティリティか:「map + filter 合成」「map + filter 合成」は、「変換(map)」と「絞り込み(filter)」を、きれいに組み合わせて使うためのパターンやユーティ...
JavaScript

JavaScript Tips | 配列ユーティリティ:reduce ヘルパー

そもそも reduce って何をする関数かArray.prototype.reduce は、「配列を 1 つの値に“畳み込む”ための関数」です。合計を出したり、オブジェクトに集計したり、別の配列に変形...
JavaScript

JavaScript Tips | 配列ユーティリティ:フィルタ合成

何をしたいユーティリティか:「フィルタ合成」「フィルタ合成」は、複数の条件(フィルタ)を組み合わせて、1つのフィルタ関数として扱えるようにするテクニックです。もう少しくだいて言うと、「小さな条件関数を...
JavaScript

JavaScript Tips | 配列ユーティリティ:AND 条件検索

何をしたいユーティリティか:「AND 条件検索」「AND 条件検索」は、配列の中から「複数の条件をすべて満たす要素」だけを探す処理です。論理式でいう「A かつ B かつ C」の“AND(かつ)”です。...
JavaScript

JavaScript Tips | 配列ユーティリティ:OR 条件検索

何をしたいユーティリティか:「OR 条件検索」「OR 条件検索」は、配列の中から「いくつかの条件のうち、どれか1つでも満たしていればOK」という要素を探す処理です。論理式でいう「A または B または...
JavaScript

JavaScript Tips | 配列ユーティリティ:複数条件検索

何をしたいユーティリティか:「複数条件検索」「複数条件検索」は、「この配列の中から、いくつかの条件をすべて満たす要素だけを探したい」ときに使うユーティリティです。例えば、次のような“複数条件”が典型で...
JavaScript

JavaScript Tips | 配列ユーティリティ:インデックス検索

何をしたいユーティリティか:「インデックス検索」「インデックス検索」は、配列の中から「条件に合う要素がどこにあるか」を調べて、その位置(インデックス)を返す処理です。「この値は何番目にある?」「id ...
JavaScript

JavaScript Tips | 配列ユーティリティ:要素置換

何をしたいユーティリティか:「要素置換」「要素置換」は、配列の中の特定の要素を“別の値に差し替える”処理です。「インデックス 2 の要素を新しい値にしたい」「id が一致する要素だけ更新したい」など、...
JavaScript

JavaScript Tips | 配列ユーティリティ:要素削除

何をしたいユーティリティか:「要素削除」「要素削除」は、配列から特定の要素を取り除く処理です。「このインデックスの要素を消したい」「この値を全部消したい」「条件に合うものだけ消したい」など、業務でめち...
JavaScript

JavaScript Tips | 配列ユーティリティ:要素挿入

何をしたいユーティリティか:「要素挿入」「要素挿入」は、配列の好きな位置に新しい要素を差し込む処理です。 の「2 と 4 の間に 3 を入れたい」みたいなやつですね。業務だと、例えばこういう場面でよく...
JavaScript

JavaScript Tips | 配列ユーティリティ:シャローコピー

何をしたいユーティリティか:「シャローコピー」ここでの「シャローコピー」は、配列そのものだけをコピーして、“中身(要素)への参照はそのまま共有する”コピーのことです。一言でいうと、「配列の箱だけ新しく...
JavaScript

JavaScript Tips | 配列ユーティリティ:ディープコピー

ディープコピーとは何か(まずここを正しく理解する)ディープコピーは、配列やオブジェクトの“中身まで含めて完全に別物を作るコピー”のことです。浅いコピー(shallow copy)と違い、ネストされた配...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列コピー

何をしたいユーティリティか:「配列コピー」「配列コピー」は、元の配列を壊さずに、同じ中身を持つ“別の配列”を作る処理です。業務ではほぼ必ずと言っていいほど使います。なぜなら、元の配列を直接いじると「い...
JavaScript

JavaScript Tips | 配列ユーティリティ:部分一致判定

何をしたいユーティリティか:「部分一致判定」「部分一致判定」は、「完全に同じかどうか」ではなく、「一部が条件を満たしているかどうか」を判定する処理です。ここでは主に、配列に対して次のような問いを投げる...
JavaScript

JavaScript Tips | 配列ユーティリティ:完全一致判定

何をしたいユーティリティか:「完全一致判定」ここでの「完全一致判定」は、「この2つの値(配列やオブジェクトを含む)が“中身まで含めてまったく同じか”を判定する処理です。単なる === ではなく、配列の...
JavaScript

JavaScript Tips | 配列ユーティリティ:配列比較

何をしたいユーティリティか:「配列比較」「配列比較」は、「この2つの配列は同じか?」を判定する処理です。ここでいう「同じか?」は、基本的に次の3つを満たすことを意味します。要素数(長さ)が同じ各インデ...
JavaScript

JavaScript Tips | 配列ユーティリティ:安定ソート

そもそも「安定ソート」とは何かまず言葉から整理します。安定ソート(stable sort)とは、「同じキー(同じ値)同士の元々の順番を壊さないソート」のことです。もう少し具体的に言うと、並び替えの基準...
JavaScript

JavaScript Tips | 配列ユーティリティ:順序反転

何をしたいユーティリティか:「順序反転」「順序反転」は、配列の要素の並びを逆向きにする処理です。 を にする、というイメージですね。業務だと、例えばこういう場面で使います。ログを「新しい順」に並べ替え...
JavaScript

JavaScript Tips | 配列ユーティリティ:Map 変換

何をしたいユーティリティか:「Map 変換」ここでの「Map 変換」は、配列から Map(キーと値のペアのコレクション)を作るユーティリティのことです。「id からユーザーを一発で引きたい」「コードか...
JavaScript

JavaScript Tips | 配列ユーティリティ:Set 変換

何をしたいユーティリティか:「Set 変換」ここでの「Set 変換」は、配列を Set に変換するユーティリティのことです。一言でいうと「重複をなくしたい」「含まれているかを高速に調べたい」ときに使う...
JavaScript

JavaScript Tips | 配列ユーティリティ:マップ生成

何をしたいユーティリティか:「マップ生成」ここでの「マップ生成」は、配列から「キー → 値」の対応表(オブジェクトや Map)を作る処理のことです。「id からユーザーを引けるようにしたい」「コードか...
JavaScript

JavaScript Tips | 配列ユーティリティ:条件変換

何をしたいユーティリティか:「条件変換」「条件変換」は、配列の中の「条件に合う要素だけ」を変換し、それ以外はそのまま残す処理です。英語で言うと mapIf、mapWhen、conditionalMap...
JavaScript

JavaScript Tips | 配列ユーティリティ:条件抽出

何をしたいユーティリティか:「条件抽出」「条件抽出」は、配列の中から「ある条件に当てはまる要素だけ」を取り出す処理です。JavaScript 標準の Array.prototype.filter を、...
JavaScript

JavaScript Tips | 配列ユーティリティ:条件削除

何をしたいユーティリティか:「条件削除」「条件削除」は、配列の中から「ある条件に当てはまる要素だけ」を取り除く処理です。英語だとイメージ的には「removeIf」「reject」「filter-out...
JavaScript

JavaScript Tips | 配列ユーティリティ:undefined 削除

何をしたいユーティリティか:「undefined 削除」ここでの「undefined 削除」は、配列の中から undefined を取り除いて、扱いやすい配列に整える処理です。「null 削除」と似て...
JavaScript

JavaScript Tips | 配列ユーティリティ:null 削除

何をしたいユーティリティか:「null 削除」ここでの「null 削除」は、配列の中から null(と必要なら undefined)を取り除いて、扱いやすい配列に整える処理です。さっきの「空要素削除」...
JavaScript

JavaScript Tips | 配列ユーティリティ:空要素削除

何をしたいユーティリティか:「空要素削除」ここでの「空要素削除」は、配列の中から「いらない空っぽの値」を取り除いて、きれいな配列にする処理です。英語だと compact や clean などと呼ばれま...
JavaScript

JavaScript Tips | 配列ユーティリティ:末尾取得

何をしたいユーティリティか:「末尾取得」ここでの「末尾取得」は、配列の「一番最後の要素」や「末尾から数件」を取り出す処理のことです。英語だと last や takeRight などと呼ばれます。業務で...
JavaScript

JavaScript Tips | 配列ユーティリティ:先頭取得

何をしたいユーティリティか:「先頭取得」ここでの「先頭取得」は、配列の「一番最初の要素」や「先頭から数件」を取り出す処理のことです。英語だと head や first、take などと呼ばれます。業務...
JavaScript

JavaScript Tips | 配列ユーティリティ:件数制限

何をしたいユーティリティか:「件数制限」ここでの「件数制限」は、配列の要素数を「最大 N 件まで」に制御する処理のことです。イメージとしては「取りすぎない」「持ちすぎない」ためのブレーキです。業務では...
JavaScript

JavaScript Tips | 配列ユーティリティ:採番

何をしたいユーティリティか:「採番」ここでの「採番」は、配列の要素に「業務で使う番号(連番・管理番号)」を振る処理のことです。さっきやった「インデックス付与」とよく似ていますが、目的が少し違います。イ...
JavaScript

JavaScript Tips | 配列ユーティリティ:インデックス付与

何をしたいユーティリティか:「インデックス付与」「インデックス付与」は、配列の各要素に「何番目か」という情報をくっつける処理です。JavaScript の配列はもともと 0, 1, 2…というインデッ...
JavaScript

JavaScript Tips | 配列ユーティリティ:ネスト化

何をしたいユーティリティか:「配列のネスト化」ここでの「ネスト化」は、平らな配列を「階層構造(入れ子)」に組み立て直す処理のことです。フラット化の逆方向だと思ってください。例えば、次のようなことをした...
JavaScript

JavaScript Tips | 配列ユーティリティ:フラット化

何をしたいユーティリティか:「配列のフラット化」ここでの「フラット化」は、ネスト(入れ子)になっている配列を、浅い配列に“平らにする”処理のことです。英語だと flatten、flat と呼ばれます。...
JavaScript

JavaScript Tips | 配列ユーティリティ:結合

何をしたいユーティリティか:「配列の結合」ここでの「結合」は、複数の配列を 1 つの配列にまとめる処理のことです。英語だと「merge」「concat」と呼ばれます。例えば、こんな場面で使います。月ご...
Java

Java | 1 日 120 分 × 7 日アプリ学習 中級編:オブジェクト指向(OOP) - クラス責務分離アプリ

1日目のゴール中級編の1日目は「オブジェクト指向の本質=1クラス1役割」を“体で理解する”こと。今日のテーマは 責務(Responsibility)・分離(Separation)・保守性(Mainta...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:ファイル保存アプリ

1日目のゴール1日目のテーマは「ファイルに“文字”を書いて、“あとから読み返せる”感覚をつかむこと」 です。今日はまだ「完璧な設計」は目指しません。まずはこう思えたら勝ちです。「メモをファイルに保存し...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:例外処理アプリ

1日目のゴール1日目のテーマは「例外ってそもそも何?」「try / catch って何をしているの?」を、感覚でつかむこと です。今日は、こんな流れで進めます。例外とは何かなぜ try / catch...
C#

C# Tips | ログ・例外・診断:GC情報取得

はじめに:GC情報取得は「.NET がどれくらい“片付け仕事”をしているか」を数字で見ることC# の世界では、メモリの解放はガベージコレクタ(GC)が自動でやってくれます。これはとても便利ですが、その...
C#

C# Tips | ログ・例外・診断:メモリ使用量取得

はじめに:メモリ使用量取得は「どれくらい“盛っている”かを数字で知るためのもの」パフォーマンスの話をしていると、必ず出てくるのが「メモリ食いすぎてない?」という心配です。でも、感覚だけで「重そう」と言...
C#

C# Tips | ログ・例外・診断:パフォーマンス計測

はじめに:パフォーマンス計測は「コードの速さを“感覚”ではなく“数字”で語るための道具」業務システムを書いていると、必ずこういう会話が出てきます。「この処理、なんか遅くない?」「どれくらい遅いんだっけ...
C#

C# Tips | ログ・例外・診断:トレース出力

はじめに:トレース出力は「本番も視野に入れた“軽量ログ”」「デバッグ出力」は開発中にとても便利ですが、多くはデバッグビルド専用で、本番では消えてしまいます。一方、業務システムでは「本番環境でも、ある程...
C#

C# Tips | ログ・例外・診断:デバッグ出力

はじめに:デバッグ出力は「本番にはいらないけど、開発中はめちゃくちゃ役に立つメモ」コードを書いているとき、「ここまで処理が来ているか確認したい」「この変数の中身を一瞬だけ見たい」という場面が必ず出てき...
C#

C# Tips | ログ・例外・診断:タイムアウト制御

はじめに:タイムアウト制御は「いつまでも待たない」ための安全装置業務システムで一番イヤなのは、「固まっているのか、まだ処理中なのか分からない状態」です。外部 API、DB、ファイルアクセス、重い計算処...
C#

C# Tips | ログ・例外・診断:指数バックオフ

はじめに:指数バックオフは「だんだん距離を取りながら、もう一度だけ試す」リトライ戦略外部 API、クラウドサービス、DB、メッセージキューなどにアクセスするとき、一時的なエラー(ネットワークの瞬断、サ...
C#

C# Tips | ログ・例外・診断:リトライ処理

はじめに:リトライ処理は「一度コケても、あきらめずにもう一歩踏み込む」仕組み業務システムでは、外部サービスや DB、ファイルアクセスなど「環境に左右される処理」がたくさんあります。ネットワークが一瞬不...
C#

C# Tips | ログ・例外・診断:エラーコード管理

はじめに:エラーコード管理は「エラーに“番号付きの名前”を与えること」業務システムで本気で運用を考え始めると、「エラーが起きました」だけでは足りなくなります。どの画面でどの種類のエラーがどれくらいの頻...
C#

C# Tips | ログ・例外・診断:非同期例外処理

はじめに:非同期例外処理は「時間差で起きる失敗を、ちゃんと捕まえる技術」async/await を使い始めると、最初に戸惑うのが「例外がどこに飛んでいくのか分からない」という感覚です。同期コードなら、...
Python

Python | DevOps・運用:Docker network

Docker networkって何?一言でいうと「コンテナ同士をつなぐ“専用LAN”」Docker network は、コンテナ同士をつなぐための「仮想ネットワーク」です。同じネットワークに属するコン...
Python

Python | DevOps・運用:Docker volume

Docker volumeって何?一言でいうと「コンテナが消えても残る“外付けハードディスク”」Docker volume は、コンテナの外側にある「永続ストレージ」です。コンテナの中のファイルは、コ...
Python

Python | DevOps・運用:docker-compose

docker-composeって何?一言でいうと「複数コンテナを“1つのアプリ”としてまとめて起動・停止するリモコン」Docker は「1コンテナ=1プロセス」をきれいに動かすのが得意です。でも、現実...
Python

Python | DevOps・運用:Dockerfile ベストプラクティス

まずゴールを決めよう:「本番でそのまま動かせる、軽くて、安全で、再現性の高いイメージ」Dockerfile のベストプラクティスは、一言でいうと「どこでビルドしても、同じように動く、無駄が少なくて、安...
Python

Python | DevOps・運用:CD 自動デプロイ

CD 自動デプロイって何?一言でいうと「テストに通ったコードを、人の手を介さず“同じ手順で”本番に届ける仕組み」CI が「自動テスト」だとしたら、CD(Continuous Delivery / De...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - セッション

セッションを一言でいうとセッションは「同じユーザーからの一連のリクエストを“ひとまとまり”として扱うためのサーバー側の仕組み」です。HTTP は本来「1 回 1 回がバラバラで、前後のつながりを覚えな...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - Cookie

Cookie を一言でいうとCookie は「ブラウザの中に一時的にメモしておける“名札・メモ用紙”」です。HTTP は本来「1 回 1 回のリクエストがバラバラで、前後のつながりを覚えていない」仕組...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - User-Agent

User-Agent を一言でいうとUser-Agent は「このリクエストを送っている“クライアントの正体”をサーバーに伝えるヘッダー」です。ブラウザなのか、スマホアプリなのか、Java のプログラ...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - Accept

Accept を一言でいうとAccept ヘッダーは「サーバーさん、レスポンスは“この種類のデータ”で返してくれると嬉しいです、という希望を伝えるヘッダー」です。クライアント(ブラウザやアプリ)が「J...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - Content-Type

Content-Type を一言でいうとContent-Type は「このボディの中身は“何の種類のデータ”かを相手に教えるためのヘッダー」です。中身が JSON なのか、HTML なのか、画像なのか...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - ボディの役割

ボディを一言でいうとHTTP のボディは「実際にやり取りしたい“中身そのもの”が入る場所」です。ヘッダーが「説明書」だとしたら、ボディは「商品そのもの」。ユーザー情報の JSON、HTML のページ、...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - ヘッダーの役割

ヘッダーを一言でいうとHTTP のヘッダーは「リクエストやレスポンスにくっついてくる“メタ情報(付加情報)”」です。本体(ボディ)が「中身」だとしたら、ヘッダーは「この中身は何なのか」「どう扱ってほし...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - パスパラメータ

パスパラメータを一言でいうとパスパラメータは「URL の一部として書かれる“ID などの変わる部分”」です。/users/1 の 1/products/123/reviews の 123みたいに、「ど...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - クエリパラメータ

クエリパラメータを一言でいうとクエリパラメータは「同じ URL の“条件やオプション”を指定するための追加情報」です。/users という「ユーザー一覧」というリソースに対して、「有効なユーザーだけ欲...
Java

Java | Web 基礎・HTTP・REST:HTTP 詳細 - URL 構造

URL を一言でいうとURL は「インターネット上の“場所”を指し示す住所」です。ブラウザやプログラムは、この URL を手がかりに「どのサーバーの」「どのサービスの」「どのデータを」取りに行けばいい...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Find

Find は「表の中から“条件に合うセル”を一発で探しに行くためのメソッド」まずイメージから。Find は「この範囲の中から“〇〇”という値(文字)を持つセルを探してきて」と頼むためのメソッドです。手...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Delete

Delete は「セル・行・列を“詰めて”消す動き」まずイメージから。さっき学んだ Insert が「押し広げてスペースを作る」なら、Delete は「その場所を消して、周りを詰める」動きです。手作業...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Insert

Insert は「セル・行・列を“押し広げて”新しいスペースを作る動き」まずイメージから。Insert は「今あるセルや行・列をズラして、新しいセル/行/列の“空きスペース”を差し込む」動きです。手作...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - Sort

Sort は「表の行を“並べ替える”ための仕組みをコードで操作するもの」まずイメージから。Sort は、表の行を「昇順」「降順」などのルールで並べ替えるための機能です。普段、リボンの「並べ替え」ボタン...
VBA

Excel VBA | 超初心者(Excel操作+マクロ体験):Excelオブジェクト基礎 - AutoFilter

AutoFilter は「表に“絞り込み”をかけるための仕組みをコードで操作するもの」まずイメージから。AutoFilter は、シート上の“表”に対して「この条件に合う行だけ表示して」と絞り込みをか...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - tdタグ

td 要素は「表の“中身のマス”を表すセル」<td> は「このマスには“実際のデータ”が入っています」ということを表すタグです。table の中で、tr(行)の中に並ぶ「ふつうのセル」が td です。...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - thタグ

th 要素は「このセルは“見出し側”ですよ」と宣言するタグ<th> は「このセルは、ただのデータじゃなくて“見出し・ラベル”です」とブラウザや機械に伝えるためのタグです。table の中で使われ、「列...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - trタグ

tr 要素は「表の“1行分”をまとめるための行コンテナ」<tr> は「table の中で、横一列のセルをひとかたまりにする“行の箱”」です。table が「表全体の箱」だとしたら、tr は「その中の ...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - tableタグ

table 要素は「行と列で“表形式のデータ”を並べるための箱」<table> は、「行(よこ)と列(たて)で整理されたデータ」を表にするためのタグ です。時間割料金表成績表比較表みたいな、「表で見る...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - ddタグ

dd 要素は「ラベルに対する“中身・説明側”を表すタグ」<dd> は「これは“ラベルの中身・説明・値”ですよ」と示すためのタグです。単体では使わず、必ず <dl> の中で「ラベル(dt)」「その中身(...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - dtタグ

dt 要素は「ラベル側(項目名・用語)」を表すタグ<dt> は「これは“名前・ラベル・用語”の側ですよ」と示すためのタグです。単体では使わず、必ず <dl> の中で「ラベル(dt)」「その中身(dd)...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - dlタグ

dl 要素は「用語とその説明(ペアの一覧)」の箱<dl> は「用語(ラベル)と、その説明(値)」のペアを並べるための箱だと思ってください。“d” は definition(定義)、dl は defin...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - liタグ

li 要素は「リストの“1項目”を表すパーツ」まずイメージから。li 要素は、「ul や ol の中に並ぶ“1つ1つの項目”」 を表すためのタグです。ul(順不同リスト)=「箱」ol(番号付きリスト)...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - olタグ

ol 要素は「順番に意味がある“番号付きリスト”の箱」<ol> は「1 → 2 → 3 の順番に意味がある項目の並び」を表すためのタグです。“o” は ordered(順序付き)の略で、「順番が大事な...
JavaScript

JavaScript | HTML / CSS 連携:リスト・表組み - ulタグ

ul 要素は「順番を気にしない“箇条書きの箱”」まずイメージからいきます。<ul> は「順番はどうでもいいけど、いくつかの項目を並べて見せたい」ときに使う“箇条書きの箱”です。買い物リストサイトのナビ...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:クレンジング結果ログ出力

ゴールのイメージをそろえる今回のテーマは「Power Query で クレンジング結果を“ログとして見える化”する実務テンプレ」です。やりたいことは、ざっくり言うとこうです。「何件エラーがあったのか」...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:エラー行を別テーブル分離

ゴールのイメージをそろえる今回のテーマは「Power Query で “エラー行だけをきれいに別テーブルに分離する” 実務テンプレです。ここまでやってきた必須項目未入力チェック数値範囲チェック桁数チェ...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:マスタ未存在データ検出

ゴールのイメージをそろえる今回のテーマは「Power Query で “マスタに存在しないコードを持つ明細行だけをきれいに炙り出す” 実務テンプレ」です。やりたいことはこうです。売上明細の顧客コードが...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:数値範囲チェック

ゴールのイメージをそろえる今回のテーマは「Power Query で “ありえない数値”を数値範囲で機械的にチェックする実務テンプレ」です。やりたいことは、ざっくり言うとこうです。「数量は 1〜999...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:必須項目未入力チェック

ゴールのイメージをそろえる今回のテーマは「Power Query で “必須項目が未入力の行”を機械的にチェックする実務テンプレ」です。やりたいことはシンプルです。「顧客コードが必須なのに空欄の行がな...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:桁数チェック

ゴールのイメージをそろえる今回のテーマは「Power Query で “桁数がおかしい値”を機械的にチェックする実務テンプレ」です。やりたいことは、ざっくり言うとこうです。「顧客コードは必ず 10 桁...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:主キー重複検出

ゴールのイメージをそろえる今回のテーマは「Power Query で “主キーが重複している行だけをきれいに炙り出す” 実務テンプレ」です。ここでいう「主キー」は、「この列(または列の組み合わせ)は、...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:重複行削除(全列)

ゴールのイメージをそろえる今回のテーマは「Power Query で テーブル全体を見て“完全に同じ行”を重複として削除する実務テンプレ」です。ここでいう「重複行削除(全列)」は、「1行まるごと、すべ...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:複数条件で行抽出

ゴールのイメージをそろえる今回のテーマは「Power Query で 複数条件を組み合わせて、欲しい行だけをきれいに抽出する実務テンプレ」です。“複数条件”というのは、たとえばこんなイメージです。「売...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:特定文字列を含む行削除

ゴールのイメージをそろえる今回のテーマは「Power Query で “特定の文字列を含む行だけをきれいに削除する” 実務テンプレ」です。やりたいことはシンプルです。「備考に『テスト』と入っている行は...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - 改行タグ(br)

br 要素は「ここで“行だけ”を折りたいときの改行スイッチ」<br> は「ここで行を折って、すぐ次の行から続けて書いて」とブラウザに指示するためのタグです。ポイントは、「段落を分ける」のではなく「同じ...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - 補足タグ(em)

em 要素は「言い方・ニュアンスを強めるためのタグ」<em> は「ここ、ちょっと“気持ち強め”で読んでほしい」という“ニュアンスの強調”を表すタグです。ブラウザのデフォルト表示だと斜体になりますが、目...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - 強調タグ(strong)

strong 要素は「見た目の太字」ではなく「意味として重要な部分」まずここをしっかり押さえたいです。<strong> は、「ここは文章の中で特に重要だよ」という“意味としての強調”を表すタグです。ブ...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - figcaptionタグ

figcaption 要素は「図のタイトル・説明を書くためのラベル」<figcaption> は、「この図は何なのか?」を説明するための“キャプション専用タグ” です。単体では使わず、必ず <figu...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - figureタグ

figure 要素は「画像やコードなど“ひとかたまりの図”の箱」まずイメージからいきます。<figure> は、「画像・図・コード・表など、“ひとつの図として意味を持つかたまり”を包む箱」です。単なる...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - alt属性

alt 属性は「画像が見えない人のための“言葉の代わり”」まず一番大事な本質からいきます。alt 属性は、「この画像は何なのか?」を“言葉で説明するための場所” です。画像がちゃんと表示されているとき...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - imgタグ

img タグは「ページに画像を埋め込むためのタグ」<img> タグは、「この場所に、この画像ファイルを表示して」とブラウザに伝えるためのタグです。テキストが <p> や <h1> なら、画像は <im...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - target属性

target 属性は「リンクを“どの窓で開くか”を決めるスイッチ」<a> タグの target 属性は、「このリンクをクリックしたとき、どこで開くか」 を指定するためのものです。行き先そのものを決める...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - href属性

href 属性は「このリンクの行き先はここです」という住所ラベルまず一番大事なところから。href 属性は、「このリンク(a タグ)は、どこへ飛ぶのか?」という“行き先”を指定するための属性です。hr...
JavaScript

JavaScript | HTML / CSS 連携:テキスト・リンク・画像 - aタグ

a タグは「ページとページをつなぐ“リンクのタグ”」まず一番大事なことから。<a> タグは「ここをクリックすると、どこかへ移動します」という“リンク”を作るタグです。「a」は anchor(アンカー=...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - コメントの書き方

HTML のコメントは「未来の自分と他人へのメモ」まず前提から。HTML のコメントは、<!-- ここがコメント -->という形で書きます。ブラウザには表示されませんが、ソースコードを開くと見える「メ...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - span要素

span 要素は「意味のついていない“文字レベルの小さな箱”」まずイメージから。<div> が「ブロック全体をまとめる大きめの箱」だとしたら、<span> は 「文章の一部分だけを囲う、小さな箱」 で...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - div要素

div 要素は「意味のついていない“箱”」=レイアウト用のコンテナまず一番大事なことから。<div> は「特別な意味を持たない、ただの“箱(コンテナ)”」 です。「段落」でもない「見出し」でもない「ボ...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - 段落タグ(p)

p タグは「文章のひとかたまり」を表すタグまず一番大事なポイントからいきます。<p> は「文章のひとかたまり(段落)」を表すタグ です。「一文ごと」ではなく、「意味がひとまとまりになっている文章のかた...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - 見出しタグ(h1〜h6)

見出しタグは「文章の見出し」と「ページのアウトライン」を作るもの見出しタグ(<h1>〜<h6>)は、文字を大きくするためのタグではなく、「ここがタイトルです」「ここがその中の小見出しです」と、文章の構...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - body要素

body 要素は「ユーザーが実際に触る“本体”」HTML 全体を家にたとえると、<!DOCTYPE html> は「これは家ですよ」の宣言、<html> は家全体の外枠、<head> は電気・住所・設...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - head要素

head 要素は「ページの設定・プロフィールを書く場所」まずイメージからいきます。<head> は、「画面に直接は見えないけれど、ページにとって超重要な情報」を書く場所です。タイトル文字コードスマホ向...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - DOCTYPE宣言

DOCTYPE 宣言は「これはどのルールの HTML ですよ」という最初のひと言HTML ファイルの一行目に書くこれ:<!DOCTYPE html>これが DOCTYPE 宣言 です。役割を一言でいう...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - HTML文書の基本構造

HTML 文書の基本構造は「家の骨組み」みたいなものまずイメージからいきます。HTML ファイルは、ただタグを並べればいいわけではなく、「決まった骨組み(ひな形)」 を持っています。その骨組みがあるか...
JavaScript

JavaScript | HTML / CSS 連携:HTML基礎 - HTMLの役割

HTML の役割は「中身の意味を伝えること」まず一番大事なことから。HTML の役割は「見た目を決めること」ではなく「中身の意味(構造)を伝えること」 です。人間にとっては「画面にどう見えるか」ですが...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - 安全なメソッド

「安全なメソッド」を一言でいうとHTTP でいう「安全なメソッド」は、「サーバー側の状態を変えないメソッド」 のことです。何回呼んでも、DB の中身が変わらない。新しいデータも増えないし、削除もされな...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - 冪等性

冪等性を一言でいうと冪等性(べきとうせい)は、「同じ操作を何回繰り返しても、最終的な結果が変わらない性質」のことです。1 回やっても、10 回やっても、「状態」が同じなら冪等。回数によって結果が変わる...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - PATCH

PATCH を一言でいうとPATCH は「このリソースの“一部だけ”を変えてほしいときに使うメソッド」です。PUT が「丸ごと上書きして」なら、PATCH は「ここだけ直して(パッチを当てて)」という...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - DELETE の役割

DELETE を一言でいうとDELETE は「この URL が指しているものを“消して”」とサーバーに頼むためのメソッドです。ユーザー削除商品削除お気に入り解除など、「そのリソース自体をなくす・無効に...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - PUT の役割

PUT を一言でいうとPUT は「この場所のデータを“丸ごとこの内容で上書きして”というメソッド」です。POST が「新しく作って」だとしたら、PUT は「ここにあるものを、このデータで置き換えて」で...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - POST の役割

POST を一言でいうとPOST は「サーバーにデータを送りつけて、“何かしらの処理をしてもらう”ためのメソッド」です。特に重要なのは、新しいデータ(リソース)を作成するサーバー側の状態を変えるという...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - GET の役割

GET を一言でいうとGET は「サーバーのデータを“読むだけ”のメソッド」です。「この URL の内容を見せて」「このデータを教えて」というときに使います。サーバー側の状態を変えない(書き換えない)...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - HTTP メソッド一覧

HTTP メソッドを一言でいうとHTTP メソッドは「この URL に対して、サーバーに何をしてほしいのか」を表す“動詞”です。同じ /users という URL でも、GET なら「取得したい」、P...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - リクエスト / レスポンス

リクエスト / レスポンスを一言でいうとHTTP の世界は、ものすごく乱暴に言うと「お願い」と「返事」だけでできています。ブラウザやアプリがサーバーに送る「お願い」がリクエスト、サーバーがそれに対して...
Java

Java | Web 基礎・HTTP・REST:HTTP 基礎 - HTTP プロトコル概要

HTTP プロトコルを一言でいうとHTTP は「ブラウザ(クライアント)と Web サーバーが会話するための“決まりごと(プロトコル)”」です。ブラウザが「このページください」「このデータください」と...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - API 利用のベストプラクティス

API 利用のベストプラクティスは「安全・高速・壊れない」を同時に満たす設計API を使うときに初心者がつまずきやすいのは、「動くコード」と「正しいコード」の違い です。API は動くだけなら簡単です...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - 権限管理設計

「権限管理設計」は“技術”じゃなくて“信頼”の設計位置情報、カメラ、マイク、通知、センサー、ストレージ…。Web API の多くは「権限(permission)」をユーザーに確認してから使います。ここ...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - HTTPS の重要性

HTTPS は「盗み見・改ざん・なりすまし」をまとめて防ぐ“前提条件”まず一番大事なことから。今どきの Web 開発で「HTTP でいい場面」はほぼゼロ です。ログインがあるから HTTPSクレジット...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - CSP(Content Security Policy)

CSP は「このページで何をしていいか」をブラウザに教えるルールブックCSP(Content Security Policy)は、「このページでは、こういうリソースだけ読み込んでいい/こういうスクリプ...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - CSRF 対策

CSRF は「ユーザーになりすまして勝手に操作させる攻撃」まずイメージからいきます。CSRF(Cross-Site Request Forgery)は、「ログイン中のユーザーになりすまして、別サイトか...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - XSS 対策

XSS は「ユーザーの入力が“そのままスクリプトになる”事故」まず、XSS(クロスサイトスクリプティング)のイメージからいきます。XSS は、ざっくり言うと「ユーザーが入力した文字列が、そのまま HT...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - 非同期パフォーマンス

「非同期パフォーマンス」は“待ち時間をどう見せるか”の技術JavaScript のパフォーマンスって聞くと、「処理をどれだけ速くするか」をイメージしがちですが、非同期の世界ではもう一つ大事な視点があり...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - メモリ監視

「メモリ監視」は“どれだけ詰め込んでいて、どれだけ片付いていないか”を見ることパフォーマンスは「速さ」だけじゃなくて、「どれだけメモリを使っているか」も重要です。メモリを使いすぎると、ブラウザが重くな...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - 計測(time / mark)

「計測」は“なんとなく遅い”を数字に変えるための技術パフォーマンスの話で一番大事なのは、「速い/遅い」を 感覚ではなく数字で話せるようになること です。そのために使うのが、console.time /...
JavaScript

JavaScript | Web API:パフォーマンス・セキュリティ - Performance API

Performance API は「なんとなく速い/遅い」を数字にするための道具「このページ、なんか重いな…」「この処理、体感遅いけど、どれくらい遅いんだろう?」Performance API は、こ...
Python

Python | DevOps・運用:CI 自動テスト

CI 自動テストって何?一言でいうと「人がサボっても、機械が毎回テストしてくれる仕組み」CI 自動テストは、コードを GitHub に push したり Pull Request を作ったタイミングで...
Python

Python | DevOps・運用:Issue 管理

Issue 管理って何?一言でいうと「やるべきこと・困っていることを“見える化”して、迷子をなくす仕組み」Issue 管理は、「タスク・バグ・改善点・相談ごと」をすべて Issue として記録し、整理...
Python

Python | DevOps・運用:コードレビュー運用

コードレビュー運用って何?一言でいうと「一人の頭の中のコードを、チームの知恵に変える仕組み」コードレビュー運用は、「Pull Request をどうレビューするか」を、チームとしてのルールや習慣に落と...
Python

Python | DevOps・運用:Pull Request

Pull Requestって何?一言でいうと「この変更、main に入れていいか一緒に確認してもらうための“申請書”」Pull Request(PR)は、「自分がブランチで作った変更を、main(や他...
Python

Python | DevOps・運用:GitHub Flow

GitHub Flowって何?一言でいうと「小さく枝を切って、小さくレビューして、小さく本番に出すためのルール」GitHub Flow は、「GitHub を使って開発するときの、シンプルなブランチ運...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクス設計の判断基準

ゴール:「ここはジェネリクスにする/しない」を自分で決められるようになることジェネリクスを“書ける”ようになった次のステップは、「どこで使うべきか」「どこでは使うべきでないか」を判断できることです。こ...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 実務でよくある失敗例

ゴール:「“ありがちな事故パターン”を先に知っておいて、自分のジェネリクスを危険運転にしない」ジェネリクスは強力だけど、そのぶん「やらかしポイント」も多いです。しかも、やらかした瞬間はコンパイルが通る...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 可読性の高いジェネリクス

ゴール:「型が強いのに“怖くないコード”としてジェネリクスを書けるようになる」ジェネリクスって、慣れてない人から見ると「T とか U とかよく分からん記号が飛び交ってて怖いコード」に見えがちです。でも...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - 過剰ジェネリクスの回避

ゴール:「ジェネリクスは“カッコいい飾り”じゃなくて、“必要なときだけ出す道具”だと理解するジェネリクスに慣れてくると、ほぼ確実に一度は通る道があります。それが 「何でもかんでも <T> を付けたくな...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスの再利用設計

ゴール:「そのジェネリクス“だけ”で終わらせず、プロジェクト全体で使い回せる形に育てる感覚を持つここまでで、ジェネリクスそのものの書き方はかなり分かってきていると思います。ここから一歩進めて大事になる...
JavaScript

JavaScript | Web API:位置情報・センサー - プライバシー配慮

センサーとプライバシーは「技術」じゃなくて「人の生活」に触れている話位置情報・カメラ・マイク・DeviceMotion・DeviceOrientation…。これらは全部、「あなたがどこにいて、何をし...
JavaScript

JavaScript | Web API:位置情報・センサー - センサー利用の注意点

センサー利用の「注意点」は“技術”と“人間”の両方を見ること位置情報・DeviceOrientation・DeviceMotion・カメラ・マイク…。どれも「現実世界のあなた」を Web に持ち込むた...
JavaScript

JavaScript | Web API:位置情報・センサー - バッテリー API(廃止傾向)

バッテリー API は「端末の電池残量をブラウザから覗く仕組み」だったまずイメージからいきます。バッテリー API(Battery Status API)は、ブラウザから「この端末のバッテリー残量や充...
JavaScript

JavaScript | Web API:位置情報・センサー - DeviceMotion

DeviceMotion は「端末がどれくらい“揺れているか・加速しているか”」を教えてくれるセンサーまずイメージからいきます。DeviceMotion は、スマホやタブレットの「動き」そのものを数値...
JavaScript

JavaScript | Web API:位置情報・センサー - DeviceOrientation

DeviceOrientation は「端末がどっち向いているか」を教えてくれるセンサーまずイメージからいきます。DeviceOrientation は、スマホやタブレットの「向き」を教えてくれる仕組...
JavaScript

JavaScript | Web API:位置情報・センサー - 権限管理

「権限管理」は“ユーザーの OK がないと触れない領域をどう扱うか”の話位置情報・カメラ・マイク・通知・センサー系は、どれも「ユーザーのプライバシーや安全」に直結します。だからブラウザは、こういう機能...
JavaScript

JavaScript | Web API:位置情報・センサー - 精度と誤差

「精度と誤差」は“どれくらい当たっていて、どれくらいズレているか”の話位置情報を扱うときに絶対に避けて通れないのが「精度(accuracy)」と「誤差(error)」 です。地図アプリを開いたら、自分...
JavaScript

JavaScript | Web API:位置情報・センサー - watchPosition

watchPosition は「動いたらそのたびに現在地を教えてもらう」仕組み前回の getCurrentPosition は「今どこ?」を一回だけ聞く API でした。watchPosition は...
JavaScript

JavaScript | Web API:位置情報・センサー - 現在地取得

「現在地取得」は“ブラウザに今いる場所を一回だけ教えてもらう”こと「現在地取得」と聞いたら、まずイメージしてほしいのはこれです。ブラウザに「今どこにいる?」と一度だけ質問して、緯度・経度などの位置情報...
JavaScript

JavaScript | Web API:位置情報・センサー - Geolocation API

Geolocation API は「ブラウザに“今どこにいるか”を教えてもらう窓口」まずイメージからいきます。Geolocation API は、ブラウザに対して「このユーザーが今どこにいるか教えて」...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel→PDF変換

Excel→PDF変換は「Excel帳票を自動でPDF化し、提出・共有・保管を一瞬で完了させる」ための最強スキル業務効率化を本気で考える人にとって、Excel→PDF変換の自動化は“Pythonで最も...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel→CSV変換

Excel→CSV変換は「Excelをシステム連携しやすいCSV形式に自動変換し、業務フローを高速化する」ための最強スキル業務効率化を本気で考える人にとって、Excel→CSV変換の自動化は“Pyth...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - CSV→Excel変換

CSV→Excel変換は「大量のCSVを一瞬でExcel化し、整形・加工・レポート作成の土台を自動で作る」ための最強スキル業務効率化を本気で考える人にとって、CSV→Excel変換の自動化は“Pyth...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel分割

Excel分割は「大きなExcelを条件ごとに自動で切り分け、管理しやすい小さなファイルに変換する」ための最強スキル業務効率化を本気で考える人にとって、Excel分割(スプリット処理)は“Python...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - 複数Excel統合

複数Excel統合は「大量のファイルを一瞬でまとめ、分析可能な1つのデータに変換する」ための最強スキル業務効率化を本気で考える人にとって、複数Excelファイルの統合は“Pythonで最も効果が高い自...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - ExcelKPIレポート

Excel KPIレポートは「経営判断に必要な指標を自動生成し、意思決定を高速化する」ための最強スキルKPIレポートの自動化は“最も価値の高いExcel業務自動化” です。KPIレポートは、単なる集計...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel経営レポート

Excel経営レポートは「経営判断に必要なKPI・分析・グラフを自動生成し、意思決定を高速化する」ための最強スキル経営レポートの自動化は“最も価値の高いExcel業務自動化” です。経営レポートは、単...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel週次レポート

Excel週次レポートは「毎週の集計・分析・グラフ作成を自動化し、作業時間をゼロにする」ための最強スキル週次レポートの自動化は“最も費用対効果が高いExcel業務自動化” です。毎週のルーティン作業は...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel日次レポート

Excel日次レポートは「毎日の集計・分析・グラフ作成を自動化し、作業時間をゼロにする」ための最強スキル日次レポートは“自動化の恩恵が最も大きいExcel業務”のひとつ です。毎日繰り返す作業こそ、P...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel月次レポート

Excel月次レポートは「毎月の集計・分析・グラフ作成を完全自動化し、作業時間をゼロにする」ための最強スキル月次レポートは Python × Excel 自動化の“最も効果が大きい領域” です。毎月の...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:ミニToDoアプリ(CUI)

1日目のゴール1日目のテーマは「ミニToDoアプリを“ちゃんとクラス設計して、List で管理し、入力で動かす”感覚をつかむこと」 です。いきなり完璧なアプリを作るのではなく、クラスをどう分けるかタス...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:Map を使うアプリ

1日目のゴール1日目のテーマは「Map=“キーと値のペアを覚えておくノート”という感覚をつかむこと」 です。今日はまだ、HashMap の細かいメソッドを全部覚える日ではありません。まずは頭の中に、「...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:List を使うアプリ

1日目のゴール1日目のテーマは「配列は“長さが固定”、ArrayList は“長さが変えられる”」という感覚をつかむこと です。今日はまだ、メソッド名を全部暗記する日ではありません。頭の中にまず、「配...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:コンストラクタ入門アプリ

1日目のゴール1日目のテーマは「コンストラクタって何?」「初期化って何してるの?」を“ふわっと”から“ハッキリ”に変えること です。今日はまだ「書き方を全部覚える日」じゃなくて、コンストラクタ=そのク...
C#

C# | アルゴリズムと再帰関数 (recursive function)

前半:C#で「アルゴリズム」と「再帰関数」の土台をつくるC#は型がはっきりしていて、メソッド呼び出しの流れも追いやすいので、再帰を学ぶにはかなり良い言語だと思う。ここでは、プログラミング初心者でも「再...
Python

Python | アルゴリズムと再帰関数 (recursive function)

前半:Pythonで「アルゴリズム」と「再帰関数」の土台をつくるPythonは文法がシンプルで、エラーも読みやすいので、アルゴリズムや再帰を学ぶにはかなり向いている言語だと思う。ここではまず、「アルゴ...
Java

Java | アルゴリズムと再帰関数 (recursive function)

前半:Javaで理解する「アルゴリズム」と「再帰関数」の基礎Javaは静的型付けで、関数(メソッド)の動きが明確に見えるため、再帰の学習にとても向いている言語だ。ここでは、プログラミング初心者でも「再...
JavaScript

JavaScript | アルゴリズムと再帰関数 (recursive function)

前半:アルゴリズムと再帰関数の「土台」を固めるJavaScriptでアルゴリズムや再帰を学ぶのは、かなり良い選択です。ブラウザでもNode.jsでもすぐ試せるし、エラーもその場で見えるので「手を動かし...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day30:総復習 練習問題

Day30 総復習の練習問題Day30 は「30 日間の学習で身につけた力を、自分の手で確認する日」です。ここでは、総復習の 5 つの柱に沿って、条件分岐・配列・DOM 操作・イベント処理・小規模 W...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day30:総復習

Day30 前半のゴールここまで 29 日間かけて作ってきた TODO アプリは、「小さな Web アプリ」としてちゃんと成立しています。Day30 は総復習。前半では、次のポイントを一つずつ確認して...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day29:TODOアプリ⑤ 練習問題

Day29:TODOアプリ⑤の練習問題Day29 のテーマは コード整理と関数分割。ここでは、前半・後半で学んだ内容をしっかり定着させるために、「実際に手を動かして理解できる」練習問題と丁寧な解答・解...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day29:TODOアプリ⑤

Day29 前半のゴールDay29 のテーマは コード整理と関数分割。ここまでで TODO アプリはかなり機能が増えましたが、そのぶんコードが長くなり、「どこで何をしているのか」が少しずつ見えにくくな...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day28:TODOアプリ④ 練習問題

Day28:TODOアプリ④の練習問題Day28 のテーマは 完了機能(チェックボックスでタスクの状態を切り替える)。ここでは、前半・後半で学んだ内容をしっかり定着させるために、段階的な練習問題と丁寧...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day28:TODOアプリ④

Day28 前半のゴールここまでで、TODOアプリは「追加・削除・保存・復元」までできるようになりました。Day28 のテーマは 完了機能。前半でやるのは、ざっくり言うとこの2つです。タスクに「完了し...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day27:TODOアプリ③ 練習問題

Day27:TODOアプリ③の練習問題Day27 のテーマは localStorage を使ったタスク保存と復元。ここでは、初心者でも確実に理解できるように、段階的な練習問題と丁寧な解答・解説をまとめ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day27:TODOアプリ③

Day27 前半のゴールここまでで、TODOアプリは「追加」と「削除」ができるようになりました。Day27 のテーマは localStorage 保存。前半ではまず、ページをリロードしてもタスクが消え...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day26:TODOアプリ② 練習問題

Day26:TODOアプリ②の練習問題Day26 のテーマは タスク削除機能の実装。ここでは、前半・後半で学んだ内容をしっかり定着させるために、段階的な練習問題と丁寧な解答・解説をまとめます。削除ボタ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day26:TODOアプリ②

Day26 前半のゴールDay25 で「タスクを追加できる TODO アプリ」ができました。Day26 のテーマは タスク削除の実装。前半ではまず、「どのタスクを消すか」をどう特定するか削除ボタンをど...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day25:TODOアプリ① 練習問題

Day25:TODOアプリ①の練習問題Day25 のテーマは TODOアプリのタスク追加機能。ここでは、前半・後半で学んだ内容をしっかり定着させるための練習問題と、丁寧な解答・解説をまとめます。タスク...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day25:TODOアプリ①

Day25 前半のゴールいよいよ「ちゃんとした Web アプリ」に一歩踏み込むところです。Day25 のテーマは TODOアプリ①:タスク追加の実装。前半ではまず、タスクを入力する画面を作る「追加」ボ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day24:アプリ設計 練習問題

Day24:アプリ設計の練習問題Day24 のテーマは 入力・処理・出力。これはどんな Web アプリでも必ず存在する「3つの柱」です。ここでは、初心者でも確実に理解できるように、段階的な練習問題と丁...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:ミニWebアプリ開発 - Day24:アプリ設計

Day24 前半のゴールここからはいよいよ「ミニWebアプリ開発」のフェーズです。Day24 のテーマは アプリ設計。キーワードはとてもシンプルで、入力処理出力この 3 つです。前半では、なぜ「入力・...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day23:総合演習② 練習問題

Day23:総合演習②(簡易メモ帳)の練習問題Day23 のテーマは「簡易メモ帳」。ここまで学んだ DOM 操作・イベント・関数分割・localStorage・デバッグ を総動員して作る総合演習です。...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day23:総合演習②

Day23 前半のゴール今日のテーマは「総合演習②:簡易メモ帳」です。ここまで学んできたDOM 操作フォーム入力localStorage による保存関数分割デバッグ(console.log)を全部まと...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day22:デバッグ 練習問題

Day22:デバッグの練習問題デバッグは「バグを直す技術」ではなく、「バグの原因を見つける技術」です。Day22 の学習内容である console.log と エラー確認 を中心に、初心者でも確実に力...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day22:デバッグ

Day22 前半のゴールここまでで、かなりいろいろ書けるようになってきたはずです。でも、こう感じる瞬間が増えてきていない?「動かない。どこが悪いのか分からない。」「エラーが出てるけど、何を言われている...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day21:関数分割 練習問題

Day21:関数分割の練習問題関数分割は「大規模化の基礎」です。処理を整理し、読みやすく、変更しやすく、再利用しやすいコードを書くための必須スキルです。ここでは Day21 の内容に沿って、初心者でも...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day21:関数分割

Day21 前半のゴールここまでで、DOM 操作・入力チェック・localStorage など、かなり多くのことを学んできました。その結果、こう感じていないでしょうか。「コードが長くなってきて、どこに...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day20:localStorage 練習問題

Day20:localStorageの練習問題localStorage は「ブラウザにデータを保存する」ための仕組みで、Web アプリを作るうえで欠かせない機能です。ここでは Day20 の内容をしっ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day20:localStorage

Day20 前半のゴールここまでで「入力して」「チェックして」「画面に表示する」ところまでは来ました。Day20 では、そこから一歩進んで、「データをブラウザに保存する」ことを学びます。キーワードは ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day19.5:条件 + DOM応用 練習問題

Day19.5:条件 + DOM 応用の練習問題複雑なフォーム処理では、「複数の項目を複数の条件でチェックし、エラーをまとめて管理し、見た目にも反映する」という高度な DOM 操作が必要になります。こ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day19.5:条件 + DOM応用

Day19.5 前半のゴールDay19.5 は、Day19 までに学んだ「入力チェック」「条件分岐」「DOM 操作」をもう一段レベルアップさせて、“ちょっと複雑なフォーム”を扱えるようになる日です。前...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day19:条件 + DOM 練習問題

Day19:条件 + DOMの練習問題入力チェックは「ユーザーの入力をそのまま信用しない」ための重要な技術です。ここでは、Day19 の内容を確実に身につけるために、段階的な練習問題と丁寧な解答・解説...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day19:条件 + DOM

Day19 前半のゴールDay19 は「条件分岐(if)+ DOM + フォーム入力」を組み合わせて、“ちゃんと入力されているかチェックする” という、超実務的なテーマに入ります。前半のゴールはこうで...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day18.5:フォーム操作② 練習問題

Day18.5:フォーム操作②の練習問題チェックボックスとラジオボタンは、テキスト入力とはまったく違う性質を持つフォーム要素です。「オンかオフか」「複数選択してよいか」「1つだけ選ぶのか」など、ユーザ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day18.5:フォーム操作②

Day18.5 前半のゴールDay18 では「テキスト入力(input.value)」を扱いました。Day18.5 では一歩進んで、チェックボックスとラジオボタンを扱います。チェックボックスとラジオボ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day18:フォーム操作 練習問題

Day18:フォーム操作の練習問題input の値を JavaScript で取得することは、Webアプリの基礎中の基礎です。ここでは、Day18 の内容をしっかり定着させるために、段階的な練習問題と...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day18:フォーム操作

Day18 前半のゴールDay18 では、いよいよ「フォーム操作」に入ります。ここまでで「クリックされたら文字を変える」「要素を増やす」はできるようになりました。ここからは、ユーザーが入力した値を J...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day17:イベント処理 練習問題

Day17:イベント処理の練習問題click イベントは「ユーザーの操作をきっかけに JavaScript を動かす」ための最重要機能です。ここでは、Day17 の内容をしっかり定着させるために、段階...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day17:イベント処理

Day17 前半のゴールDay17 は 「イベント処理」=ユーザーの操作に反応して JavaScript を動かす仕組み を本格的に理解する日です。特に click イベント は、Webアプリの 80...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day16.5:DOM操作③ 練習問題

Day16.5:DOM操作③の練習問題classList・style・remove は「見た目を変える」「状態を表現する」「要素を消す」という、Webアプリの UI 制御に欠かせない機能です。ここでは...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day16.5:DOM操作③

Day16.5 前半のゴールDay16.5 では、DOM 操作をもう一段レベルアップさせます。これまで「要素を増やす・文字を変える」はできるようになりました。ここからは「見た目を変える」「要素を消す」...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day16:DOM操作② 練習問題

Day16:DOM操作②の練習問題createElement と appendChild は「新しい要素を作って、DOM に追加する」ための基本操作です。Day16 の内容をしっかり定着させるために、...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:Webページを操作できるようになる - Day16:DOM操作②

Day16 前半のゴールDay16 では、いよいよ「HTMLをあとから増やす」世界に入ります。これまでの document.getElementById / textContent は「既にある要素を...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day15:総合演習① 練習問題

Day15:総合演習①の練習問題ボタンクリックで文字を変更する仕組みは、DOM 操作の基礎をすべて含んだ「総合問題」です。document.getElementById、textContent、イベン...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day14:DOM操作① 練習問題

Day14:DOM操作①の練習問題document.getElementById と textContent は、DOM 操作の“入口”であり、Webアプリを作るための最初の大きな壁です。ここでは、初...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day14:DOM操作①

Day14 前半のゴールDay14 からいよいよ「画面(HTML)を JavaScript でいじる世界」に入ります。ここを超えると、「ただの計算」から「動くWebページ」を作る側に回れます。前半のゴ...
Java

Java | 1 日 90 分 × 7 日アプリ学習 初級編:クラス分割アプリ

1日目のゴール1日目のテーマは「Javaの“クラス”ってそもそも何者なのか」と「mainメソッドとの関係」を、頭の中でスッキリさせること です。いきなり「クラス分割しよう!」と言われても、クラスの正体...
Python

Python | 1 日 120 分 × 7 日アプリ学習:Flaskで作る超簡単Webアプリ(中級編)

1日目のゴール1日目のテーマは「Flaskで“自分のPCの中だけで動く超ミニWebサーバー”を立ち上げて、URLごとに表示内容を変えられるようになる」ことです。ここで言う「Webアプリ」は、いきなり本...
Python

Python | 1 日 120 分 × 7 日アプリ学習:API取得アプリ(requests使用)(中級編)

1日目のゴール1日目のテーマは「requests を使って、外部APIからデータを1回取ってくる」 ところまで行くことです。今日できるようになってほしいのは、この2つです。外部APIって何をしているの...
Python

Python | 1 日 120 分 × 7 日アプリ学習:tkinterで作るGUIアプリ(中級編)

1日目のゴール1日目のテーマは「tkinterでウィンドウを出して、ボタンを押したら何かが起きる」ここまでを自分の手で動かせるようになることです。今日できるようになってほしいのは、この2つです。ウィン...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day13.5:非同期処理 練習問題

Day13.5:非同期処理 練習問題セットPromise / async / await は、JavaScript を「実務レベル」で扱うための必須スキルです。ここでは、初心者でも確実に理解できるよう...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day13.5:非同期処理

Day13.5 前半のゴール非同期処理は「今すぐ終わらない処理」と仲良くするための仕組みです。ネットワーク通信、ファイル読み込み、タイマーなどはすぐに終わらないので、JavaScript は「待ちなが...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day13:例外処理

Day13 前半のゴールDay13 は「エラーが起きたら終わり」から「エラーが起きても、ちゃんと受け止めて処理を続ける」世界に進む日です。前半のゴールはこの2つです。Day13 前半でつかみたい感覚t...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day12.5:オブジェクト応用 練習問題

Day12.5 オブジェクト応用の練習問題ネスト構造とデータ整形は、JavaScript の実務で最も重要なスキルのひとつです。ここでは、初心者でも確実に理解できるように、段階的な練習問題と丁寧な解説...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day12:配列応用 練習問題

Day12 配列応用の練習問題map / filter / forEach は JavaScript 実務で最も使われる三種の神器。ここでは、初心者でも確実に理解できるように、それぞれの特徴を活かした...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day12:配列応用

Day12 前半のゴールDay12 は「配列を“ただ回す”段階から、“意味を持って変換・抽出・処理する”段階」に進む日です。テーマは map / filter / forEach。しかも「実務で超重要...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day11:文字列操作 練習問題

Day11 文字列操作の練習問題template literal / split / replace を「実際に使える」レベルにするための練習問題です。初心者でも確実に理解できるように丁寧に解説します...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day11:文字列操作

Day11 前半のゴールDay11 は「文字列を“ただ表示する”から“自在に扱う”」ステージに進む日です。前半では特に次の感覚をつかむことをゴールにします。Day11 前半で身につけたいことtempl...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10.5:条件分岐の応用 練習問題

Day11.5 条件分岐の応用の練習問題三項演算子と switch は、JavaScript の条件分岐を「短く」「読みやすく」「安全に」書くための重要ツールです。ここでは、初心者でも確実に理解できる...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10.5:条件分岐の応用

Day11.5 前半のゴールDay11.5 は「条件分岐をもっとコンパクトに・読みやすく」書くための日です。テーマは三項演算子と switch。前半ではまず、それぞれをこういうイメージでつかむことを目...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10:関数② 練習問題

Day10 関数②の練習問題Day10 のテーマは スコープ / 無名関数 / アロー関数。ここでは、理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。関数②は「書き方の幅が広がる...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day10:関数②

Day10 前半のゴールDay10 は「関数レベルを一段上げる日」です。テーマはスコープ・無名関数・アロー関数。前半では特に、Day10 前半で押さえたいポイントスコープ=「変数が生きている範囲」とい...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day9:関数① 練習問題

Day9 関数①の練習問題Day9 のテーマは function / 引数 / return。ここでは、関数の基本をしっかり理解するための練習問題と、それぞれの解答・解説をまとめていきます。関数は「処...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day9:関数①

Day9 前半のゴールDay9 のテーマは「関数」です。ここから一気に「コードを部品として再利用する」力が手に入ります。前半では、まず次の3つをしっかり押さえることをゴールにします。Day9 前半で身...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day8:オブジェクト 練習問題

Day8 オブジェクトの練習問題Day8 のテーマは オブジェクト / key / value。ここでは、オブジェクトの基本操作をしっかり身につけるための練習問題と、それぞれの解答・解説をまとめていき...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScriptを使えるレベルにする - Day8:オブジェクト

Day8 前半のゴールDay8 のテーマは「オブジェクト」です。ここから一気に「現実世界の情報をそのままコードで表現する」力が手に入ります。前半では、とくに次の感覚をつかむことをゴールにします。Day...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day7:配列 練習問題

Day7 配列の練習問題Day7 のテーマは 配列 / push / splice。ここでは、配列操作の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。配列は JavaScrip...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day7:配列

Day7 前半のゴールDay7 のテーマは「配列」です。ここから一気に「データをまとめて扱う」力が手に入ります。前半では、まず次の3つを目標にします。Day7 前半で身につけたいこと配列とは何かをイメ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day6:繰り返し 練習問題

Day6 繰り返しの練習問題Day6 のテーマは for と while。ここでは、繰り返し処理の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポイントを...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day6:繰り返し

Day6 前半のゴールDay6 のテーマは「繰り返し」です。ここから一気に「コンピュータらしさ」が強くなります。前半では、特に次の2つを目標にします。Day6 前半で身につけたいこと同じ処理を「何回も...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day5:条件分岐 練習問題

Day5 条件分岐の練習問題Day5 のテーマは if / else / else if。ここでは、条件分岐の理解を深めるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやす...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day5:条件分岐

Day5 前半のゴールDay5 のテーマは「条件分岐」です。ここから一気に「プログラムが考えて動く」感じが強くなります。前半では、まず if / else / else if の基本形 をしっかり押さ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day4:演算子 練習問題

Day4 演算子の練習問題Day4 のテーマは 四則演算・比較演算・論理演算。ここでは、学んだ内容をしっかり定着させるための練習問題と、それぞれの解答・解説をまとめていきます。初心者がつまずきやすいポ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day4:演算子

Day4 前半のゴールDay4 のテーマは「演算子」です。演算子は、値と値のあいだで「計算する」「比べる」「組み合わせる」といった操作をするための記号です。前半では、次の3つをしっかり押さえることを目...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day3:データ型 練習問題

Day3 データ型の練習問題Day3 のテーマは string / number / boolean / null / undefined。ここでは、学んだ内容をしっかり定着させるための練習問題と、そ...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day3:データ型

Day3 前半のゴールDay3 のテーマは「データ型」です。Day2 で「変数」という“箱”を学びましたが、今日は「その箱の中に入る中身の種類」を理解していきます。ここを押さえておくと、「この値はどう...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day2:変数 練習問題

Day2 変数の練習問題Day2 のテーマ「let」「const」「変数命名」「基本は const」これらをしっかり理解できているか確認するための練習問題です。すべて 自分の手で書いて動かす ことを前...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day2:変数

Day2 前半のゴールDay2 のテーマは「変数」です。ここをしっかり押さえられるかどうかで、この先の理解スピードが大きく変わります。前半では次の3つに集中します。Day2 前半でやること変数とは何か...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day1:JavaScriptとは・環境構築 練習問題

Day1 練習問題Day1 の内容「JavaScriptとは」「ブラウザで動く仕組み」「HTMLとの関係」「VS Code導入」「scriptタグ」「Hello World」これらをしっかり理解できた...
JavaScript

JavaScript | ゼロからはじめるプログラミング、30日で基礎を学ぶJavaScript:JavaScript文法の基礎 - Day1:JavaScriptとは・環境構築

JavaScript学習カリキュラム(30日完全基礎ロードマップ)カリキュラム全体像このカリキュラムは、プログラミング未経験者が「JavaScriptの基礎を理解し、自力で小さなWebアプリを作れる状...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:数値エラー行の検出

ゴールのイメージをそろえる今回のテーマは「Power Query で “数値になってほしい列”に変な値が入っている行をきれいに検出する実務テンプレ」です。ここでいう「数値エラー行」は、例えばこんな状態...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:日付が不正な行を除外

ゴールのイメージをそろえる今回のテーマは「Power Query で 日付が変(読めない・ありえない)な行だけをきれいに除外する実務テンプレ」です。やりたいことはシンプルで、「日付が壊れている行は、集...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:日付文字列を日付型変換

ゴールのイメージをそろえる今回のテーマは「2024/10/01 や 2024-10-01 のような“日付っぽい文字列”を、Power Query で ちゃんと日付型(type date)に変換する実務...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:カンマ付き数値を数値化

ゴールのイメージをそろえる今回のテーマは「1,234 や 12,345,678 のような カンマ付き数値を、Power Query で“ちゃんと数値型”に変換する実務テンプレ」です。見た目は数字なのに...
Power Query M Formula Language

Power Query 実務テンプレ | クレンジング(前処理)系:改行コード削除

ゴールのイメージをそろえる今回のテーマは「Power Query で セル内に紛れ込んだ改行コード(折り返し)をきれいに削除する実務テンプレ」です。Excel で「セル内改行(Alt+Enter)」が...
C#

C# Tips | ログ・例外・診断:タスク例外処理

はじめに:タスク例外処理は「非同期の失敗を“なかったこと”にしない技術」async/await や Task を使い始めると、最初にハマりやすいのが 「例外がどこに行ったか分からない問題」 です。同期...
C#

C# Tips | ログ・例外・診断:グローバル例外

はじめに:「グローバル例外」は“アプリ全体でただ一つの例外の窓口”を作ること例外処理って、最初は「必要なところで try-catch 書けばいいでしょ?」で済ませがちですよね。でもアプリが大きくなると...
C#

C# Tips | ログ・例外・診断:未処理例外捕捉

はじめに:「未処理例外捕捉」は“最後の砦”を用意することどれだけ丁寧に try-catch を書いても、どこかで必ず「取りこぼしの例外」が出ます。想定していなかったバグ、ライブラリ内部の例外、テストで...
C#

C# Tips | ログ・例外・診断:例外ログ共通化

はじめに:例外ログ共通化は「どこで落ちても、同じ形で記録する」ための仕組み業務システムが大きくなると、あちこちで例外をログに書くコードが散らばりがちになります。catch (Exception ex)...
C#

C# Tips | ログ・例外・診断:スタックトレース整形

はじめに:スタックトレース整形は「エラーの道筋を、人間が読める形にする」技例外が発生したとき、ex.ToString() や ex.StackTrace をそのままログに出すと、情報は多いけれど「どこ...
C#

C# Tips | ログ・例外・診断:例外再スロー

はじめに:「例外再スロー」は“いったん受け止めてから、ちゃんと投げ直す”テクニック例外をキャッチしたあとに、こう思う場面がよくあります。ログは取りたいでも、この場では処理できないだから、上の層に判断を...
C#

C# Tips | ログ・例外・診断:例外ラップ

はじめに:「例外ラップ」は“生のエラーを、そのまま外に漏らさないためのフィルター”業務システムを書いていると、いろんな層で例外が飛びます。DB アクセス、外部 API、ファイル I/O、ライブラリ内部...
C#

C# Tips | ログ・例外・診断:ログローテート

はじめに:ログローテートは“ログを永遠に増やさないための自動整理術”ログを出し続けるアプリは、放っておくと ログファイルが無限に肥大化 します。その結果、ディスクがいっぱいになり、アプリが止まることす...
C#

C# Tips | ログ・例外・診断:ログ削除

はじめに:「ログ削除」は“未来のトラブル調査”と“ディスク容量”の綱引き調整ちゃんとログを出し始めると、次に必ず出てくるのが「ログが消えない問題」です。ログは残しておきたい、でもディスクは有限。このバ...
C#

C# Tips | ログ・例外・診断:ログ圧縮

はじめに:「ログ圧縮」は“ログを捨てずに、場所だけ小さくする”技業務システムでログをちゃんと出し始めると、必ずぶつかる問題があります。「ディスクがログでパンパンになる」です。ログは残しておきたい。でも...
Python

Python | 1 日 120 分 × 7 日アプリ学習:エラーハンドリング付き入力アプリ(中級編)

1日目のゴール1日目のテーマは「try / except を使って、入力エラーでアプリが落ちないようにする」 ことです。今日のゴールはシンプルです。ユーザーに数字を入力してもらう間違った入力(文字など...
Python

Python | 1 日 120 分 × 7 日アプリ学習:JSON保存アプリ(中級編)

1日目のゴール1日目のテーマは「JSONって何者かを理解して、Pythonで“とりあえず保存して読み戻す”ところまでできるようになること」です。今日はまだ「アプリ」までは行きません。でも、ここで学ぶJ...
Java

Java Tips | 日付・時間:テスト用日時固定

なぜ「テスト用日時固定」ユーティリティが必要になるのか日付・時間に依存するロジックは、業務システムのど真ん中にいます。「締め切りを過ぎているか」「有効期限内か」「月末かどうか」「営業日かどうか」。こう...
Java

Java Tips | 日付・時間:Clock差し替え

なぜ「Clock差し替え」が業務ユーティリティとして重要なのか日付・時間を扱うコードを書くとき、多くの人が最初にやるのは LocalDate.now() や Instant.now() をそのまま呼ぶ...
Java

Java Tips | 日付・時間:日付キャッシュ

日付キャッシュユーティリティは何のために必要か「今日の日付」「今月の営業日一覧」「今年の祝日一覧」など、日付まわりの計算は、業務システムのあちこちで何度も呼ばれます。しかも、多くの場合「同じ結果」が何...
Java

Java Tips | 日付・時間:夏時間判定

夏時間判定ユーティリティは何のために必要か日本にいるとあまり意識しませんが、アメリカやヨーロッパでは「夏時間(Daylight Saving Time, DST)」が当たり前に使われています。同じ「A...
Java

Java Tips | 日付・時間:タイムゾーン一覧

タイムゾーン一覧ユーティリティは何のために必要かグローバルなサービスや、海外拠点を持つ会社のシステムでは、「どのタイムゾーンで日時を扱うか」をユーザーに選ばせる場面がよく出てきます。ユーザー設定画面の...
Java

Java Tips | 日付・時間:日付重複判定

日付重複判定ユーティリティは何のために必要か業務システムでは、期間がかぶってはいけない場面がたくさんあります。割引キャンペーン期間が重複してはいけない。同じ部屋の予約が同じ時間帯に二重に入ってはいけな...
Java

Java Tips | 日付・時間:範囲内判定

「範囲内判定」とは何をしたいユーティリティか業務システムでは、ものすごく頻繁に「この日付はキャンペーン期間内か?」「この日時はメンテナンス時間帯に含まれるか?」「この日付は契約の有効期間に入っているか...
Java

Java Tips | 日付・時間:日付比較

日付比較ユーティリティは何のために必要か業務システムでは、「締め日を過ぎているか?」「有効期限内か?」「開始日 ≤ 対象日 ≤ 終了日か?」といった“日付の比較”が、あらゆるところに出てきます。このと...
Java

Java Tips | 日付・時間:休日除外

「休日除外」とは何をしたいユーティリティなのか「この期間のデータを集計したいけど、休日は含めたくない」「SLA は“営業日ベース”なので、休日はカウントから外したい」。こういうときに必要になるのが「休...
Java

Java Tips | 日付・時間:営業日一覧

「営業日一覧」とは何をするユーティリティかまずイメージしてほしいのは、カレンダーから「土日と祝日を抜いた日だけ」を抜き出した表です。請求締め、入金予定表、納期チェック、SLA(何営業日以内に対応)など...
Java

Java Tips | 日付・時間:年一覧生成

年一覧生成とは何をするユーティリティか「年度選択のプルダウンに 2015〜2030 年を出したい」「レポート画面で対象年を選ばせたい」「ログ集計で“どの年のデータか”を一覧にしたい」。こういうときに使...
Java

Java Tips | 日付・時間:月一覧生成

月一覧生成とは何をするユーティリティか「2023年1月〜2025年12月までの月を全部出したい」「指定期間の月ごとのレポートを作りたい」「画面のプルダウンに“年月”を並べたい」。こういうときに使うのが...
Java

Java Tips | 日付・時間:日付範囲生成

日付範囲生成とは何をするユーティリティか「今月の全日付を一覧にしたい」「レポート期間の開始日〜終了日を1日ずつ処理したい」「1週間分のデータを日ごとに集計したい」。こういうときに必要になるのが「日付範...
Java

Java Tips | 日付・時間:CRON生成

CRON生成とは何をするユーティリティかここまで「CRON解析(読む側)」をやってきましたが、今回は逆方向です。CRON生成とは、アプリ側で「こういうスケジュールで動かしたい」という条件から、0 3 ...
Java

Java Tips | 日付・時間:CRON解析

CRON解析とは何をするものかCRON解析とは、「0 0 * * * のような CRON 表記を読み取り、次にいつ実行されるかを計算する」「この CRON は毎日? 毎週? 毎月? どんなタイミングで...
Java

Java Tips | 日付・時間:スケジューラ補助

スケジューラ補助とは何を助けるユーティリティなのかスケジューラ補助とは、「決まった時間に処理を実行したい」「一定間隔で繰り返し処理したい」「次の実行時刻を計算したい」といった“時間に基づく処理”を安全...
Java

Java Tips | 日付・時間:実行時間計測

「実行時間計測」で何を知りたいのか実行時間計測は、一言でいうと「この処理、実際どれくらい時間かかっているの?」を数字で見える化することです。なんとなく「遅い気がする」ではなく、「平均 120ms」「ピ...
Java

Java Tips | 日付・時間:ストップウォッチ

「ストップウォッチ」とは何をするクラスかイメージしてほしいのは、手に持つあのストップウォッチです。ボタンを押した瞬間に「スタート」、もう一度押したら「ストップ」、表示には「経過時間」が出る。Java ...
Java

Java Tips | 日付・時間:タイマー測定

「タイマー測定」で何をしたいのかイメージする業務システムを書いていると、「この処理、どれくらい時間かかっているんだろう?」「リリース前に性能をざっくり測りたい」「ログに処理時間を出しておきたい」という...
Java

Java Tips | 日付・時間:ナノ秒変換

ナノ秒変換で何をしたいのかをまずイメージする「処理が何ナノ秒で終わったか知りたい」「高頻度トレードやIoTでサブミリ秒の世界を扱いたい」「ログの順序を“同じミリ秒の中”でも区別したい」。こういう“めち...
JavaScript

JavaScript Tips | 配列ユーティリティ:分割

何をしたいユーティリティか:「配列の分割」ここでの「分割」は、1つの配列を「小さな配列のかたまり」に切り分ける処理のことです。英語だと「chunk(チャンク)」と呼ばれることが多いです。例えば、こんな...
JavaScript

JavaScript Tips | 配列ユーティリティ:ページング

何をしたいユーティリティか:「配列のページング」ここでの「ページング」は、たくさんのデータを「ページ番号」と「1ページあたり件数」に分割して扱う処理のことです。Web の一覧画面でよく見る「1〜10件...
JavaScript

JavaScript Tips | 配列ユーティリティ:多段ソート

何をしたいユーティリティか:「多段ソート」ここでの「多段ソート」は、複数のキーを優先順位付きで使って並び替える処理です。SQL でいう ORDER BY category ASC, price DES...
JavaScript

JavaScript Tips | 配列ユーティリティ:キー指定ソート

何をしたいユーティリティか:「キー指定ソート」ここでの「キー指定ソート」は、オブジェクトの配列を「特定のキー(プロパティ)」を基準に並び替える処理です。SQL の ORDER BY price ASC...
JavaScript

JavaScript Tips | 配列ユーティリティ:グループ化

何をしたいユーティリティか:「配列のグループ化」ここでの「グループ化」は、配列の要素を「ある条件(キー)」ごとにまとめ直す処理です。SQL の GROUP BY や、Excel の「ピボットテーブルの...
JavaScript

JavaScript Tips | 配列ユーティリティ:平均算出

何をしたいユーティリティか:「配列の平均算出」ここでの「平均算出」は、配列の中の数値を全部足して、その合計を要素数で割る処理です。学校で習った「平均」と同じですが、プログラムでやるときは「空配列のとき...
JavaScript

JavaScript Tips | 配列ユーティリティ:合計算出

何をしたいユーティリティか:「配列の合計算出」ここでの「合計算出」は、配列の中の値を全部足して、ひとつの数値にまとめる処理です。一番シンプルなのは「数値配列の合計」ですが、業務では「オブジェクト配列の...
JavaScript

JavaScript Tips | 配列ユーティリティ:最小値取得

何をしたいユーティリティか:「配列の最小値取得」ここでの「最小値取得」は、配列の中で一番小さい値を取り出す処理です。「最大値取得」の逆ですが、業務では同じくらい頻繁に使います。例えばこんな場面がありま...
JavaScript

JavaScript Tips | 配列ユーティリティ:最大値取得

何をしたいユーティリティか:「配列の最大値取得」ここでの「最大値取得」は、配列の中で一番大きい値を取り出す処理です。一番シンプルなのは「数値配列の最大値」ですが、業務では「オブジェクト配列の中で、特定...
JavaScript

JavaScript Tips | 配列ユーティリティ:ランダム要素取得

何をしたいユーティリティか:「ランダム要素取得」ここでの「ランダム要素取得」は、配列の中から 1 要素(または複数要素)をランダムに取り出す処理です。「配列シャッフル」が「順番を全部ランダムにする」の...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel自動印刷

Excel自動印刷は「帳票・レポートを自動でPDF化・印刷し、提出作業をゼロにする」ための最強スキルExcel業務自動化の中でも 自動印刷(PDF化含む) は、「最後の仕上げ」を自動化する非常に重要な...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel帳票生成

Excel帳票生成は「定型フォーマットを自動で作り、毎月の提出資料をゼロ秒で完成させる」ための最強スキルExcel業務自動化の中でも 帳票(レポート・申請書・明細書など)の自動生成 は効果が圧倒的です...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelレポート作成

Excelレポート作成は「集計・グラフ・KPIを自動でまとめ、毎月の資料作成をゼロにする」ための最強スキルExcel業務自動化の中でも レポート作成の自動化 は効果が圧倒的です。なぜなら、実務では次の...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelダッシュボード生成

Excelダッシュボード生成は「複数の集計・グラフ・指標を1画面にまとめ、意思決定を高速化する」ための最強スキルExcel業務自動化の中でも ダッシュボード自動生成 は最も効果が大きい分野です。なぜな...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel集計表作成

Excel集計表作成は「大量データを“意味のある形”にまとめ、レポートを自動生成する」ための最強スキルExcel業務自動化の中でも 集計表の自動生成 は効果が非常に大きいです。なぜなら、実務では次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelピボット作成

Excelピボット作成は「大量データを一瞬で集計し、分析レポートを自動生成する」ための最強スキルExcel業務自動化の中でも ピボットテーブルの自動生成 は効果が非常に大きいです。なぜなら、実務では次...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel円グラフ生成

Excel円グラフ生成は「割合・構成比を一瞬で理解できる資料を自動で作る」ための最強スキル円グラフは “全体に対する割合” を見せるのに最適 です。実務でも次のような場面で非常に多く使われます。売上構...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel折れ線グラフ生成

Excel折れ線グラフ生成は「データの変化・推移を一目で理解できる資料を自動で作る」ための最強スキル折れ線グラフは “時間の流れによる変化” を見せるのに最適 です。実務でも次のような場面で非常に多く...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel棒グラフ生成

Excel棒グラフ生成は「データを一瞬で“見える化”し、説得力のある資料を自動で作る」ための最強スキルExcel業務自動化の中でも 棒グラフの自動生成 は特に効果が大きいです。なぜなら、実務では次のよ...
Python

Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excelグラフ作成

Excelグラフ作成は「データを“見える化”し、説得力のある資料を自動生成する」ための最強スキルExcel業務自動化の中でも、グラフ作成の自動化は効果が非常に大きいです。なぜなら、実務では次のような場...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - interfaceのジェネリクス

ゴール:「interface は“型のテンプレート”であり、<T> で“穴あきテンプレート”にできると理解するクラスのジェネリクスが「インスタンス全体のルール」を決めるものだとしたら、interfac...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - クラスのジェネリクス

ゴール:「クラスにも <T> が付くんだ、しかも“インスタンス全体の型のルール”になるんだ、を体で覚える関数のジェネリクスはだいぶ見慣れてきたと思います。クラスのジェネリクスは、その 「型パラメータを...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスとintersection

ゴール:「T & U は“足し算された型”だ、と直感でわかるようになる」ジェネリクスと intersection(交差型、&)を一緒に使うときのキーワードは、「型を“混ぜる”のではなく、“足し算する”...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクスとunionの併用

ゴール:「T なのに T | U もアリ?を“安全に混ぜる感覚”で理解するジェネリクスと union(|)を一緒に使うとき、最初に出てくるモヤモヤはだいたいこれです。「T って“1つの型”じゃないの?...
TypeScript

TypeScript | 関数・クラス・ジェネリクス:ジェネリクス基礎 - ジェネリクス配列操作

ゴール:「配列操作は全部 any で書けるけど、あえてジェネリクスで“型を守る”感覚をつかむ配列操作は、正直 any[] でも全部書けます。でもそれをやると、バグも型の穴も“侵入し放題”になります。ジ...
JavaScript

JavaScript | Web API:グラフィック・メディア - アニメーション処理

アニメーション処理は「毎フレーム、画面を描き直す仕組み」を作ることグラフィック系の JavaScript でいう「アニメーション処理」は、ざっくり言うと「時間の経過に合わせて、毎フレームごとに“今の状...
JavaScript

JavaScript | Web API:グラフィック・メディア - WebRTC の概要

WebRTC は「ブラウザ同士を直接つないで、映像・音・データをやり取りする仕組み」まず一言でいうと、WebRTC は「ブラウザ同士を“ほぼ直接”つないで、カメラ映像・マイク音声・任意のデータをリアル...
JavaScript

JavaScript | Web API:グラフィック・メディア - ストリーム処理

「ストリーム処理」は“流れてくる映像・音を、そのまま扱う”考え方グラフィック・メディアの世界でいう「ストリーム」は、ざっくり言うと「時間とともに流れてくるデータ(映像・音)の連続」です。カメラからの映...
JavaScript

JavaScript | Web API:グラフィック・メディア - MediaDevices(カメラ・マイク)

MediaDevices は「ブラウザからカメラ・マイクを借りるための窓口」スマホや PC には、カメラやマイクが付いています。普段はカメラアプリやビデオ通話アプリがそれを使っていますが、実は Web...
JavaScript

JavaScript | Web API:グラフィック・メディア - Audio API

Audio API は「ブラウザの中にある音のミキサー&シンセサイザー」JavaScript で音を扱う方法は大きく分けて 2 つあります。ひとつは <audio> タグを JavaScript から...
JavaScript

JavaScript | Web API:グラフィック・メディア - 動画制御

「動画制御」は“ブラウザにあるビデオプレイヤーのリモコンを自分で作る”ことHTML の <video> タグは、それだけで再生ボタンやシークバーを持っています。でも JavaScript から操作する...
JavaScript

JavaScript | Web API:グラフィック・メディア - 画像読み込み

「画像読み込み」は“ファイルをブラウザに連れてきて、キャンバスに貼る”ことCanvas で画像を扱うときに必ず通るのが「画像読み込み」です。ざっくり言うと、画像ファイルをブラウザに読み込む読み込みが終...
JavaScript

JavaScript | Web API:グラフィック・メディア - 描画処理

「描画処理」は“毎回、画面をどうやって作るか”を決めることCanvas API の世界でいう「描画処理」は、ざっくり言うと「キャンバスという白い紙に、どの順番で、何を、どこに、どういう見た目で描くか」...
JavaScript

JavaScript | Web API:グラフィック・メディア - 2D コンテキスト

「2D コンテキスト」は“キャンバスに絵を描くためのペン箱”Canvas API を使うとき、必ず最初にやるのがこれです。const canvas = document.querySelector("...
JavaScript

JavaScript | Web API:グラフィック・メディア - Canvas API

Canvas API は「ブラウザの中にあるお絵かき用の白い紙」Canvas API は、HTML の <canvas> 要素と JavaScript を使って図形・文字・画像・アニメーションなどを「...
JavaScript

JavaScript | 1 日 30 分 × 7 日アプリ学習超初級編:文字を表示するアプリ

1日目のゴール1日目のテーマは「JavaScript で“画面の文字を書き換える”感覚をつかむこと」 です。・ボタンを押したら文字が変わる・入力した文字を画面に出すたったこれだけでも、「ただの HTM...
Java

Java Tips | 日付・時間:秒変換

秒変換で何をしたいのかイメージする「DBに“1970年からの秒”で保存されている」「外部APIがエポック秒で送ってくる」「処理時間を秒でログに出したい」。こういうときに必要になるのが、日付・時間と「秒...
Java

Java Tips | 日付・時間:ミリ秒変換

「ミリ秒変換」で何をしたいのかイメージする「処理時間をミリ秒で計測したい」「DBには long のミリ秒で保存されている」「外部APIが“1970年からのミリ秒”で送ってくる」。こういうときに必要にな...
Java

Java Tips | 日付・時間:ISO変換

「ISO変換」とは何をするものか「API は ISO 形式で日時を返してくる」「ログを ISO 形式で出したい」「他言語ともやり取りしたい」そんなときに出てくるキーワードが ISO-8601 です。I...
Java

Java Tips | 日付・時間:フォーマット共通化

なぜ「フォーマット共通化」が重要なのか同じシステムの中で、画面Aは「2025/03/26」、画面Bは「2025-03-26」、ログは「2025-03-26T10:00:00Z」――こういうバラバラな状...
Java

Java Tips | 日付・時間:JST変換

JST変換のゴールイメージ「アプリは日本時間で動いている」「外部APIはUTCで返してくる」「DBにはUTCで保存したいけど画面はJSTで見せたい」。こういうときに必要になるのが JST(日本標準時)...
Java

Java Tips | 日付・時間:UTC変換

UTC変換のゴールイメージ「アプリは日本時間で動いているけど、DBには UTC で保存したい」「ログは全部 UTC に統一したい」「外部APIは UTC で返してくる」業務システムで“時間”をちゃんと...
Java

Java Tips | 日付・時間:タイムゾーン変換

タイムゾーン変換のゴールイメージ「サーバは UTC、ユーザーは日本時間」「海外拠点はロサンゼルス時間」「ログは全部 UTC で残したい」業務システムで“時間”を扱うとき、ほぼ必ず出てくるのが「タイムゾ...
Java

Java Tips | 日付・時間:日付丸め

「日付丸め」とは何をするものか「2025-03-26 を“月初”にそろえたい」「日付を“週単位”にまとめたい」「分析用に“日単位”までに丸めたい」こういうときに出てくるのが「日付丸め」です。日付丸めは...
Java

Java Tips | 日付・時間:時間丸め

「時間丸め」とは何をするものか「10:03 を 5 分単位に丸めて 10:05 にしたい」「ログの時刻を“分単位”にそろえたい」「勤務時間を 15 分単位で計算したい」こういうときに出てくるのが「時間...
Java

Java Tips | 日付・時間:経過時間

経過時間のゴールイメージ「処理に何秒かかった?」「ログインから何時間経過した?」「締切まであと何時間?」業務システムでは、“2つの日時の差”=経過時間を扱う場面がとても多いです。ここでまず押さえてほし...
C#

バイブコーディングとセキュリティーについて

バイブコーディングの本質と現代開発における位置づけバイブコーディングとは、仕様や設計書に厳密に従うのではなく、直感や流れ、試行錯誤を重視してコードを書く開発スタイルである。とくにAIによるコード生成や...
C#

C# | 1 日 90 分 × 7 日アプリ学習:初級編

1日目のゴール「初級編」1日目のテーマは“C# で「入力 → 処理 → 出力」という一連の流れを、自分で組み立てられるようになること” です。超初級編では、主に「こちらから決めた値」をコードの中に書い...
C#

C# | 1 日 60 分 × 7 日アプリ学習:超初級編

1日目のゴール1日目のテーマは「C# で“とりあえず1個、自分のプログラムを動かせた”という感覚をつかむこと」 です。難しいことは一旦全部置いておいて、「C# の世界に入るための入口」だけを、ゆっくり...
C#

C# Tips | ログ・例外・診断:JSONログ

はじめに:コンソールログは「今この瞬間の動き」を見るための窓業務でも学習でも、まず一番最初に触るログがコンソールログです。画面にそのまま出るので、「今なにが起きているか」をリアルタイムで確認できます。...
C#

C# Tips | ログ・例外・診断:コンソールログ

はじめに:「コンソールログ」は“今この瞬間の状態を一番早く知る窓”業務でも、開発でも、まず一番手軽なのがコンソールログです。画面にサッと出てくれるので、「今なにが起きているか」をリアルタイムで確認でき...
C#

C# Tips | ログ・例外・診断:ファイルログ

はじめに:「ファイルログ」は“あとから読み返せるブラックボックスレコーダー”コンソールにログを出すだけだと、アプリを閉じた瞬間に全部消えます。でも業務システムでは、数日後・数週間後に「そのとき何が起き...
C#

C# Tips | ログ・例外・診断:ログレベル制御

はじめに:「ログレベル制御」は“どの声量でしゃべるか”を決める仕組みログは「全部出せばいい」わけではありません。本番では重要なものだけ見たいし、調査中は細かい情報も欲しい。この「どこまで細かくログを出...
C#

C# Tips | ログ・例外・診断:ログ出力

はじめに:「ログ出力」は“未来の自分へのメッセージ”業務システムで一番「効いてくる」のがログです。動いているときは意識されないのに、トラブルが起きた瞬間に「ログがすべての命綱」になります。何が起きたの...
スポンサーリンク