📖 読了目安 約7分
この記事の目次

よく使う技術知識

1年目でよく使う技術知識の概要を紹介します。詳細は必要に応じて学習してください。

バージョン管理(Git)

基本的な用語

用語 説明
リポジトリ コードを保存する場所
コミット 変更を記録すること
ブランチ 作業を分岐させること
マージ ブランチを統合すること
プルリクエスト マージの依頼(レビュー依頼)

基本的な流れ

# 1. 最新を取得
git pull

# 2. ブランチ作成
git checkout -b feature/new-feature

# 3. 作業してコミット
git add .
git commit -m "[add] 新機能を追加"

# 4. プッシュ
git push -u origin feature/new-feature

# 5. プルリクエストを作成(Web上で)

よく使うコマンド

コマンド 用途
git status 状態確認
git diff 差分確認
git log 履歴確認
git stash 変更を一時退避
git checkout . 変更を破棄

WebAPIの基礎

APIとは

API(Application Programming Interface)は、プログラム同士が通信するための仕組みです。

REST APIの基本

HTTPメソッド 用途
GET データ取得 ユーザー情報を取得
POST データ作成 新しいユーザーを作成
PUT データ更新 ユーザー情報を更新
DELETE データ削除 ユーザーを削除

ステータスコード

コード 意味
200 成功
201 作成成功
400 リクエストが不正
401 認証が必要
403 アクセス禁止
404 見つからない
500 サーバーエラー

正規表現

正規表現とは

文字列のパターンを表現するための記法です。検索・置換・バリデーションに使います。

基本的なパターン

パターン 意味
. 任意の1文字 a.c → abc, adc
* 0回以上の繰り返し ab*c → ac, abc, abbc
+ 1回以上の繰り返し ab+c → abc, abbc
? 0回か1回 ab?c → ac, abc
^ 行頭 ^abc → 行頭のabc
$ 行末 abc$ → 行末のabc
[abc] いずれかの文字 [abc] → a, b, c
[0-9] 範囲 [0-9] → 0〜9
\d 数字 \d+ → 123
\w 単語文字 \w+ → abc123
\s 空白文字 \s+ → スペース、タブ

よく使うパターン

# メールアドレス(簡易版)
^[\w.-]+@[\w.-]+\.\w+$

# 電話番号(ハイフンあり)
^\d{2,4}-\d{2,4}-\d{4}$

# 郵便番号
^\d{3}-\d{4}$

例外処理

例外とは

プログラム実行中に発生するエラーです。適切に処理しないとプログラムが停止します。

基本的な書き方

try {
    // エラーが発生する可能性のある処理
    File file = new File("data.txt");
    // ファイル読み込み処理
} catch (FileNotFoundException e) {
    // ファイルが見つからない場合の処理
    System.out.println("ファイルが見つかりません");
} catch (IOException e) {
    // その他のIO例外の処理
    System.out.println("読み込みエラー: " + e.getMessage());
} finally {
    // 必ず実行される処理(リソースの解放など)
}

例外処理のポイント

  • 例外を握りつぶさない(空のcatchブロック禁止)
  • 適切な粒度でcatchする
  • ログを出力する
  • ユーザーには分かりやすいメッセージを表示

Null安全とオプショナル型

NullPointerExceptionとは

nullのオブジェクトにアクセスしようとすると発生するエラーです。

String name = null;
int length = name.length();  // NullPointerException!

オプショナル型とは

オプショナル型は、値が存在するかどうかを明示的に扱うための型です。nullによるエラーを防ぎ、値の有無を安全に処理できます。

通常の変数: 値が入っているはず... → nullだとエラー!
オプショナル型: 値があるかないか明示 → 安全にチェック可能

言語別のNullチェック方法

Java(Optional型):

// 値が存在しない場合
Optional<Integer> age = Optional.empty();
if (age.isPresent()) {
    System.out.println("Age is " + age.get());
} else {
    System.out.println("Age is not set");
}

// デフォルト値を使う
Optional<Integer> height = Optional.of(170);
int heightValue = height.orElse(0);  // nullなら0を使用

C#(Nullable型):

// Nullable型(int?)
int? age = null;

if (age.HasValue) {
    Console.WriteLine($"Age is {age.Value}");
} else {
    Console.WriteLine("Age is not set");
}

// Null合体演算子
int? height = 170;
int heightValue = height ?? 0;  // nullなら0を使用

Swift(Optional型):

var age: Int? = nil

if let unwrappedAge = age {
    print("Age is \(unwrappedAge)")
} else {
    print("Age is not set")
}

// Nil合体演算子
var height: Int? = 170
let heightValue = height ?? 0  // nilなら0を使用

JavaScript/TypeScript:

const name = null;

// オプショナルチェーン(?.)
const length = name?.length ?? 0;

// Nullish合体演算子(??)
const displayName = name ?? "未設定";

Nullを防ぐ習慣

  • メソッドの戻り値がnullになりうるか確認
  • nullを返すよりOptionalや空のコレクションを返す
  • nullチェックを習慣化する
  • オプショナル型を積極的に活用する

文字コード

よく使う文字コード

文字コード 特徴
UTF-8 世界標準、多言語対応
Shift_JIS 日本語、古いシステム
EUC-JP 日本語、Unix系

文字化けの原因

  • 保存時と読み込み時の文字コードが異なる
  • 通信時に文字コードの指定がない

対策

  • UTF-8に統一する
  • ファイル保存時に文字コードを意識する
  • APIレスポンスでは文字コードを明示

日付・時刻

日付処理の注意点

  • タイムゾーンを意識する
  • フォーマットを統一する
  • 閏年、月末日に注意

よく使うフォーマット

フォーマット
yyyy-MM-dd 2024-01-15
yyyy/MM/dd 2024/01/15
yyyyMMdd 20240115
yyyy-MM-dd HH:mm:ss 2024-01-15 10:30:00
ISO 8601 2024-01-15T10:30:00+09:00

まとめ

これらは1年目でよく使う技術知識です。

  • Git:基本的なコマンドを覚える
  • WebAPI:HTTPメソッドとステータスコードを理解
  • 正規表現:基本的なパターンを覚える
  • 例外処理:適切にエラーを処理する
  • Null安全:NullPointerExceptionを防ぐ
  • 文字コード:UTF-8を基本に
  • 日付:フォーマットとタイムゾーンに注意

詳細は必要になったときに深く学習しましょう。