「初心者向け」タグアーカイブ

PowerShellスクリプトの基本構文まとめ:変数・条件分岐・ループを完全マスター

Windowsの自動化やサーバ運用で大活躍するPowerShell。
「使い始めたいけど、基本構文がよく分からない…」という人向けに、この記事ではPowerShellの基礎構文を一気に整理します。

以下の内容を押さえることで、シンプルなスクリプトはすぐ書けるレベルになります。


✅ PowerShellスクリプトの基本ルール

内容説明
拡張子.ps1
コメント# コメント
大文字小文字区別しない (例: $Value と $value は同じ)
変数宣言$変数名 = 値
実行ポリシー変更Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

💡 セキュリティのため、実行ポリシー設定は理解したうえで操作しましょう。


🧮 変数の基本 

ポイント

  • $ を付けて変数を宣言

  • 文字列中で変数展開できる


🔁 配列(リスト) 


📦 ハッシュテーブル(連想配列) 


✅ 条件分岐(If / ElseIf / Else) 

よく使う比較演算子

演算子意味
-eq等しい
-ne等しくない
-gtより大きい
-ltより小さい
-ge以上
-le以下

🔁 ループ制御

for文

foreach文 


🔄 while / do-while 


📦 関数の定義 


📎 パイプラインとフィルタ

コマンド説明
Get-Processプロセス一覧取得
Where-Object条件絞り込み
Sort-Object並び替え
Select-Object指定列のみ取得

💡 実用例:ファイル一覧を取得して出力


🎯 まとめ

PowerShellの基本構文は次の通り:

  • ✅ 変数 $var = 値

  • ✅ 条件分岐 if () {}

  • ✅ ループ for / foreach / while

  • ✅ ハッシュテーブル @{ Name = "A" }

  • ✅ 関数 function X(){}

  • ✅ パイプライン |

まずは小さな処理から試し、Windows作業をどんどん自動化していきましょう!


❓ よくある質問(FAQ)

Q. PowerShell ISEとWindows Terminalどっち使うべき?
A. 基本は Windows Terminal + VS Code を推奨。補完機能が強いです。

Q. 管理者権限はいつ必要?
A. ファイル操作・レジストリ操作・サービス制御等で必要になります。

【Java初心者向け】staticって何?よくある質問を例付きで解説

Javaを学び始めると、最初に必ずと言っていいほど出てくるキーワードがstatic
でも、

  • staticって具体的に何をしているの?

  • いつ使うべき?

  • staticをつけないとどうなるの?

という疑問を持つ方が多いです。

この記事では、できるだけ分かりやすくstaticの意味や使いどころを例を交えて解説します。


staticとは?

staticクラスに属するという意味です。
通常の変数やメソッドはインスタンス(newで作ったオブジェクト)に属しますが、staticクラス自体に属するため、オブジェクトを作らずに使うことができます。


よくある疑問と回答


Q1. なぜmainメソッドにはstaticが付いているの?

A:Javaプログラムを実行するとき、まず「クラス」を読み込むから。

プログラム開始時点ではまだオブジェクトがありません。
そこで、オブジェクト不要で実行できるようにするためstaticが付いています。


Q2. static変数と普通の変数の違いは?

種類所属使うタイミング
インスタンス変数オブジェクトオブジェクトごとに独立した値を持ちたいとき
static変数クラス全オブジェクトで共有したいとき
例:カウンター(全インスタンスで共有)

countは全インスタンスで共有されるため、2回インスタンス化すると値が2になります。


Q3. staticメソッドっていつ使うの?

  • ユーティリティ処理

  • 共通的な値や処理

  • インスタンスの状態に依存しないメソッド

例:Mathクラス

Mathクラスはnewしません。
staticの代表例です。


Q4. staticを付けすぎるとどうなる?

オブジェクト指向らしさが失われます。

  • 何でもかんでもstatic → 関数型プログラムみたいになる

  • 状態(フィールド)を持つ設計が難しくなる

✅ ルール

  • 状態を持つもの → インスタンス

  • 共通処理 → static


まとめ

用語意味
staticクラスに属する(オブジェクト不要)
static変数全インスタンスで共通の変数
staticメソッドインスタンスに依存しない処理
mainメソッドがstaticな理由最初はオブジェクトがないため

まずは「オブジェクト不要で使える」だけ覚えてOK!
使いながら感覚をつかみましょう ✅

DOSバッチのif文で不等号が効かない!その原因と正しい演算子一覧を紹介

Windowsバッチで数値比較をしようとして、if %a% > 10 のように書いたのに、なぜかうまく動かない…そんな経験はありませんか?

実はDOSバッチのif文では、><といった不等号は比較演算子として認識されません。本記事では、不等号が効かない理由と、**正しい比較演算子(GTR / LSS / GEQ / LEQ)**の使い方を一覧付きでわかりやすく解説します。


🔍 なぜ><が使えないのか?

DOSバッチでは、><リダイレクト記号として解釈されます。

記号意味
>標準出力をファイルへ出力
<標準入力としてファイルを読み込み

そのため以下のようなコードを書くと…

この>は「10 に出力をリダイレクトする」ものとして扱われ、比較として動作しません。


✅ if文に使える数値比較演算子一覧

バッチファイルで数値比較を行う場合は、以下の演算子を使用します。

演算子意味不等号で表すと
GTRGreater Than>
LSSLess Than<
GEQGreater or Equal>=
LEQLess or Equal<=
!ERROR! A6 -> Formula Error: Unexpected operator '='Equal!ERROR! C6 -> Formula Error: Unexpected operator '='

✅ 正しい書き方例(数値比較)


⚠ NG例(ダメな書き方)


💡 文字列比較をする場合は「==」を使用


📎 不等号を「文字」として表示したい場合

^ を使ってエスケープ(無効化)することで、文字として扱えます。


✅ まとめ

やりたいこと書き方
数値比較GTR / LSS / GEQ / LEQ
文字列比較!ERROR! B3 -> Formula Error: Unexpected operator '='
不等号を文字として表示^

DOSバッチでは><はリダイレクト記号として解釈されるため、if文内では専用の比較演算子を使う必要があります。 比較がうまく動かないと感じたら、まず演算子を見直してみましょう!

Mapの操作がここまで楽になる!Java 8のcomputeIfAbsent/merge徹底活用術

はじめに:Map操作、まだ「containsKey」で書いていませんか?

JavaでMapを使うとき、以下のようなコードを書いた経験はありませんか?

Java 8以前ではこれが一般的でした。しかしJava 8では、computeIfAbsentmergeを使うことで、こうした冗長なコードをたった1行で表現できます!

本記事では、これらのメソッドの使い方から実践例まで徹底的に解説します。


✅ computeIfAbsentとは?

🔍 役割

キーが存在しないときに初期値を生成しMapに登録する。

📌 シグネチャ

✅ 使用例:リストを保持するMapに要素を追加する場合

📉 Before(従来のコード)

📈 After(computeIfAbsentで1行に)

👉 このように、存在確認不要でスッキリ!


✅ mergeとは?

🔍 役割

指定したキーに対して、既に値がある場合は「結合処理」を行い、新規ならそのまま値を格納。

📌 シグネチャ

✅ 使用例:カウントアップ処理

📉 Before(キー存在チェックあり)

📈 After(mergeで1行)

👉 キーがなければ1を設定。あれば現在値と1を足す。美しい!


✅ computeIfAbsentとmergeの使い分け

ケース推奨メソッド
値を「初期化してから操作」したいcomputeIfAbsent
「集計・加算・結合」したいmerge
ListやSetを使うMapに要素を追加したいcomputeIfAbsent
数値や文字列をまとめたいmerge

✅ さらに活用例:文字列の出現回数カウント

📤 出力:

{apple=2, banana=2, orange=1}

✅ Listを使ったグルーピングも簡単に!

📤 出力:

{A=[Apple, Avocado], B=[Banana]}

✅ まとめ:Map操作はJava 8で劇的にスマートになる!

キーワード内容
computeIfAbsent値がない場合のみ初期化
merge既存値と競合処理(加算・結合など)
メリットif文不要・コードが短く読みやすくなる

Java初心者必見!Optionalでnullチェックを安全に行う方法【サンプル付き】

Javaで避けて通れないのが「nullチェック」。
しかし、if文を多用するとコードが読みにくくなり、思わぬNullPointerExceptionが発生することもあります。
そんな悩みを解消してくれるのが Optionalクラス です。

本記事では、Optionalを使った安全でスマートなnullチェックの方法を、サンプルコード付きで分かりやすく解説します。


💡 Optionalとは?

Optionalは、Java 8で追加されたクラスで、
nullの代わりに値の有無を明示的に扱う」ためのラッパーです。

Optionalは「値がある」か「空(empty)」かを明確に区別できるため、
if (obj != null) のような古い書き方を減らせます。


✅ よくあるnullチェックの問題例

この書き方は一見安全ですが、
複数のフィールドをネストすると次のようにネスト地獄に陥ります。

→ これをスマートに書けるのがOptionalです。


🧩 Optionalを使った安全な書き方

これだけで「nullがあれば自動的にスキップ」されます。
つまり、nullチェックをネストせずに安全に値を取り出せるのです。


🔍 Optionalの主なメソッド一覧

メソッド説明使用例
of()null禁止でOptionalを作成Optional.of("Hello")
ofNullable()null許可でOptionalを作成Optional.ofNullable(obj)
isPresent()値が存在するか判定if(opt.isPresent())
ifPresent()値がある場合に処理を実行opt.ifPresent(System.out::println)
orElse()値がない場合のデフォルト値を設定opt.orElse("default")
orElseGet()遅延生成のデフォルト値opt.orElseGet(() -> "default")
orElseThrow()値がない場合に例外を投げるopt.orElseThrow()

🧠 orElseとorElseGetの違い

比較項目orElse()orElseGet()
評価タイミング常に評価値が空のときのみ評価
パフォーマンス無駄な生成が起こる場合あり必要なときだけ生成
opt.orElse(createDefault())opt.orElseGet(() -> createDefault())

💬 ポイント:
createDefault() のような重い処理を含む場合は、orElseGet()を使う方が効率的です。


🧾 サンプルコード全体

✅ 出力結果:

名前が未設定です。

🚀 Optionalを使うメリットまとめ

メリット内容
可読性向上if文のネストを削減できる
安全性向上NullPointerExceptionのリスクを軽減
関数型スタイルmap, filter, flatMapなどと組み合わせ可能
メソッドチェーン処理の流れを1行で表現できる

⚠️ 注意点:Optionalは「すべてに使う」ものではない

  • フィールド変数に使うと逆に可読性が下がる

  • シリアライズ対象(例:エンティティクラス)には不向き

  • 「戻り値専用」として使うのが基本スタイルです。


🧭 まとめ

Optionalは「nullチェックを明示的に表現する」ための便利な仕組みです。
使い方を覚えることで、より安全で読みやすいJavaコードが書けるようになります。

Java:SQL接続でつまずかないためのtry-with-resources活用法

JavaでSQL接続を扱うとき、多くの初心者が陥るのが「リソースの解放忘れ」「例外処理の煩雑さ」です。
特に Connection, PreparedStatement, ResultSet の3つは明示的に close() しないと、メモリリークや接続枯渇の原因になります。

この記事では、そんな問題をtry-with-resources構文でスマートに解決する方法を紹介します。


🧱 try-with-resourcesとは?

Java 7以降で導入された構文で、AutoCloseable インターフェースを実装したオブジェクトを
自動的にクローズしてくれる仕組みです。

✅ 従来のコード例(Java 6以前)


👉 冗長で、finally ブロックがネストしやすく、例外の見落としが発生しやすいのが難点です。

🚀 try-with-resourcesを使った改良版


✨ メリットまとめ
項目従来の書き方try-with-resources
リソース解放明示的にclose()が必要自動でcloseされる
コード量冗長スッキリ
例外の安全性finallyで記述ミスの恐れ例外を安全に補足
可読性低い高い

🧠 複数リソースを扱うときのポイント

try(...) の中で複数のリソースを「セミコロン ;」で区切って宣言できます。


順序は重要

最後に開いたリソース (ResultSet) から順に自動クローズされます(LIFO順)。


⚙️ try-with-resourcesとカスタムクラス

自作クラスでも AutoCloseable を実装すれば、
try-with-resources構文で安全に自動クローズが可能です。


出力結果:
処理中...
リソースを解放しました

⚠️ 注意点:例外の隠蔽に注意

もし try 内と close() 内の両方で例外が発生した場合、
try 内の例外が優先され、close() の例外は「抑制された例外」として記録されます。


🔍 まとめ

ポイント内容
構文try(リソース宣言){ ... }
バージョンJava 7以降
対応型AutoCloseableを実装する全クラス
主な利点コード簡略化・例外安全性・リソースリーク防止

💬 おわりに

try-with-resources は見た目以上に強力です。
「リソース管理を明示的に書かない」だけで、コードの信頼性と保守性が大幅に向上します。

特にSQL接続まわりでは、この構文を使わない理由がないほどの必須テクニックです。
今後のJava開発では「標準の書き方」として身につけておきましょう。

ゼロから学ぶ!Pythonで気軽にデータ分析入門

「Pythonでデータ分析を始めたいけど、難しそう…」
そんな初心者の方でも大丈夫!この記事では、家計簿や売上のような身近なデータを題材にして、Pythonで「データを読み込む → 集計 → グラフにする」までを体験します。

まずは小さな一歩から。ゲーム感覚で数字を扱っていくうちに、自然とデータ分析の基礎が身につきます。


サンプル環境

本記事の内容は以下の環境で動作確認しています。

項目バージョン / ツール
OSWindows 11 Pro 24H2
Python3.12.6
pip24.2
エディタPowerShell / VS Code
ライブラリpandas 2.x / matplotlib 3.x / openpyxl 3.x

Pythonとは?

Python(パイソン) は、シンプルで分かりやすいプログラミング言語です。

  • 文法がやさしい → 初めてでも読みやすい

  • 豊富なライブラリ → 家計簿、売上管理、グラフ化などすぐ活用できる

  • 学習者が多い → ネットに解説記事や質問回答がたくさん

今回は「pandas」「matplotlib」を使って、データを簡単に扱う方法を学びます。


1. Pythonをインストール

Windows 11なら Microsoft Store からインストールするのが簡単です。

  • スタート → Microsoft Store → 「Python」で検索

  • 今回は最新版の「Python 3.13」をインストールします
    ※ダウンロードすると自動的にインストールされます。


2. 動作確認

PowerShellで次を実行:

出力例:

Python 3.13.7

3. 必要なライブラリをインストール


successfullyと上記の様に表示されればインストール正常終了してます。


4. サンプルデータ

家計簿や売上のようなシンプルなデータを用意します。

sales.csv


5. Pythonで分析!4つの出力を体験

パターン① コンソール出力(数字で確認)

ファイル名を sample.py にして、わかりやすい場所(例:C:\Users\〇〇\Documents\python\)に保存します。

sample.py 」を保存したディレクトリに移動し、powershell でpython sample.pyと入力して実行すると以下の様に表示されます。

出力例:

👉 「今日は使いすぎた?」がすぐ分かります。


パターン② グラフ出力(見やすく可視化)

出力イメージ:

👉 支出の増減がひと目で分かります。


パターン③ ファイルに保存(CSV・画像)


👉 結果をExcelや画像にして保存すれば、あとで見返したり人に見せたりできます。


パターン④ Notebookで出力

Jupyter Notebookを使えば、

と書くだけで、コードの下に表がきれいに表示されます。

ステップ1: Notebookを起動

PowerShell で以下を実行します:

👉 ブラウザが開くので「File → New → Notebook → Python 3」で新しいノートブックを作ります。

ステップ2: セルごとにコードを書く

セル1: データ読み込み

👉セルを選択し、Shift  + Enterで実行すると表がセルの下にきれいに表示されます。

Notebookの特徴

print()不要 → 変数名だけで表や集計結果が表示される

グラフはセル下に直接描画

コード・結果・グラフが一つの画面でまとまって見やすい

✅ まとめると、記事で紹介したパターン④のコードは そのまま動きますが、Notebookではprintを省略して変数名だけ書けばOK という違いがあります。

👉 家計簿アプリ感覚で扱えて便利です。


まとめ

  • Pythonは初心者でも気軽に始められる

  • データ分析の出力には4パターンある

    1. 数字で見る(コンソール)

    2. グラフで見る(可視化)

    3. ファイルに保存(CSV・PNG)

    4. Notebookでまとめる

  • まずは「日ごとの支出」を分析してみるとイメージしやすい

Three.jsで簡単3D演出!初心者でもホームページをかっこよくする方法

「ホームページをかっこよく見せたい」「シンプルに3D演出を加えてみたい」──そんなときに役立つのが Three.js です。
JavaScriptだけで3Dオブジェクトを動かせる便利なライブラリで、近年のWebサイトでも多く使われています。

この記事では 最新版 Three.js (r180) を使って、実際に「回転する立方体」を表示するサンプルを紹介します。


1. Three.jsとは?

Three.js は WebGL をラップしたライブラリで、難しい低レベルコードを書かなくても以下のような処理が可能です。

  • 3Dオブジェクトの作成(立方体・球体・モデルの読み込み)

  • カメラの制御

  • ライトの設置

  • マテリアルやシェーダーの設定

  • アニメーション処理


2. サンプルコード(最新版 Three.js r180 対応)

以下は 最小構成のサンプル です。
HTMLファイルを作成して保存してください。

 

3. デモ(実際に動くサンプル)

このブログ記事では、外部ファイルとして用意したサンプルhtmlを iframe で埋め込んで表示してます。

デモ1:基本の回転する立方体

👇 実際に回転する立方体が表示されます。 

デモ2:ライトを使った立方体

光源を加えることで、立方体に陰影がつき、立体感が増します。

デモ3:マテリアル変更

単色ではなく、ワイヤーフレームや透過マテリアルを適用できます。

デモ4:カメラ操作

OrbitControlsを使うと、マウスで回転・拡大縮小できるインタラクティブなデモが可能です。


4. ローカルで動かすには?

上記のコードをコピーして test.html などの名前で保存 → ブラウザで開いても、真っ白になる場合があります。
これは ES Modules を使う Three.js の最新版では、file:/// での読み込みがセキュリティ上ブロックされるためです。

✅ 解決方法

ローカルで動かすには 簡易Webサーバ を立ち上げる必要があります。

例:

  • Python がある場合

    python -m http.server 8000

  • Node.js がある場合 

    npx http-server -p 8000

その後、ブラウザで
http://localhost:8000/test.html
を開くと正しく表示されます。


5. まとめ

  • Three.jsを使えば簡単に3D演出を加えられる

  • 最新版 (r180) は ES Modules形式file:/// では動作しない

  • 実際の環境では Webサーバ経由で実行する必要がある

  • WordPress記事に埋め込む場合は iframe で外部HTMLを呼び出すのが安全

これをベースに、さらにライト・カメラ操作・外部モデル読み込みを試していけば、よりリッチな演出を作れます!

Excelで日付から自動で曜日を表示する方法 — 曜日表示の基本と応用」

Excelでカレンダーを作成していると日付に対応した曜日を表示したくなるケースが良くあると思います。
曜日を表示する場合は「セルの書式設定」→「表示形式」→「ユーザ定義」を使用すれば簡単に曜日を表示することが可能となります。

ユーザ定義での曜日設定種類

ユーザ定義の種類表示例
aaa





aaaa日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
dddSun
Mon
Tue
Wed
Thu
Fri
Sat
ddddSunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday

曜日の表示例

🧩 補足:より便利な曜日表示の活用法

  • 関数で曜日を取得する方法
    =TEXT(A1,"aaa") で「月」、=TEXT(A1,"dddd") で「Monday」といった表示も可能です。
    セル書式設定を使うより柔軟に式を組みたい場合はこちらが便利です。

  • 祝日や土日を色分けする方法
    条件付き書式を使えば「=WEEKDAY(A1,2)>=6」で土日を自動的に色分けできます。

  • 曜日の並び替えやフィルター
    「ユーザー定義リスト」に「月,火,水,木,金,土,日」を登録しておくと、昇順・降順で正しい並びになります。

  • Googleスプレッドシートの場合
    同様に =TEXT(A1,"aaa") が使えますが、地域設定が英語だと「Mon」「Tue」になります。
    日本語表示にしたい場合は「ファイル → 設定 → 地域」を「日本」に変更してください。