この記事の目次
よく使う技術知識
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を基本に
- 日付:フォーマットとタイムゾーンに注意
詳細は必要になったときに深く学習しましょう。