Java

スポンサーリンク
Java

Java Tips | 日付・時間:営業日判定

営業日判定のゴールイメージ「この日付は営業日か?」「締切日が休業日のときは翌営業日にずらしたい」業務システムでは、こういう“営業日判定”が本当に頻繁に出てきます。ここで大事なのは、営業日=「土日以外」...
Java

Java Tips | 日付・時間:曜日取得

曜日取得のゴールイメージ「2025-03-26 は何曜日?」「この日付が土日かどうか知りたい」業務システムだと、営業日判定・カレンダー表示・締切日のチェックなどで“曜日”は頻出です。ここでやってはいけ...
Java

Java Tips | 日付・時間:年末取得

「年末取得」は“その年の最後の日を意味でつかまえる”こと業務システムでは、「今年の年末」「会計年度の最終日」「前年の年末」みたいな話がよく出てきます。ここでやってはいけないのは、「12 月 31 日で...
Java

Java Tips | 日付・時間:年初取得

「年初取得」は“その年の1月1日を意味で取り出す”こと業務システムだと、「今年の年初」「会計年度の開始日」「前年の年初」みたいな話がよく出てきます。ここでやってはいけないのは、month = 1; d...
Java

Java Tips | 日付・時間:月末取得

「月末取得」は“その月の最後の日を安全につかまえる”こと業務システムでは、「今月の月末」「請求月の月末」「締め月の月末」が頻出します。ここでやってはいけないのは、「31 日で固定」「30 日で固定」「...
Java

Java Tips | 日付・時間:月初取得

「月初取得」は“その月の1日を安全に取り出す”こと業務システムでは、「今月の月初」「請求月の月初」「締め月の月初」をよく使います。ここでやってはいけないのは、day = 1; のように自分で日付をいじ...
Java

Java Tips | 日付・時間:日付減算

日付減算の本質は「過去にさかのぼるカレンダー計算を任せること」日付減算は、「今日から 7 日前」「3 ヶ月前」「1 年前の同じ日」といった“カレンダー上で過去にさかのぼる”計算です。ここでも一番やって...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 14日目

14日目のゴールとテーマ14日目のテーマは「2週間で身につけた“Javaでアプリを作る力”を言語化して、次の一歩につなげる」 です。今日は新しい文法を増やす日ではありません。この2週間であなたが積み上...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 13日目

13日目のゴールとテーマ13日目のテーマは「プロジェクトを“整理する力”と“ライブラリを使う力”を身につける」 です。ここまでで、あなたはクラスオブジェクトカプセル化クラス同士の関係例外処理ファイル保...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 12日目

12日目のゴールとテーマ12日目のテーマは「タスクをファイルに保存して、“終了しても消えないアプリ”にする」 です。ここまでのタスク管理アプリは、起動している間はちゃんと動きますが、アプリを終了すると...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 11日目

11日目のゴールとテーマ11日目のテーマは「例外処理で“落ちないアプリ”に近づく」 です。ここまでで、あなたはクラス・オブジェクト・カプセル化・クラス同士の関係を使って、小さなタスク管理アプリを形にし...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 10日目

10日目のゴールとテーマ10日目のテーマは「これまでの要素を全部つなげて、“小さな本格アプリ”としてまとめる」 です。ここまでであなたは、変数・配列・ArrayListif・for・whileメソッド...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 9日目

9日目のゴールとテーマ9日目のテーマは「クラス同士の“関係”を設計して、小さな本格アプリの形にする」 です。ここまでであなたは、1つのクラス(Task)を作りオブジェクトを new してArrayLi...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 8日目

8日目のゴールとテーマ8日目のテーマは「カプセル化(情報を隠す)と getter / setter で、“壊れにくいクラス”に育てる」 です。7日目で、あなたはすでに自分でクラス(Task)を作りオブ...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 7日目

7日目のゴールとテーマ7日目のテーマは「クラスとオブジェクトで“自分だけの型”を作り、アプリの世界に登場人物を生み出す」 です。ここまでで、あなたは変数・配列・ArrayListでデータを扱い、if・...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 6日目

6日目のゴールとテーマ6日目のテーマは「メソッドで“処理を分ける力”を身につけて、コードを読みやすく育てる」 です。5日目までで、あなたはすでに入力を受け取る条件分岐で動きを変えるループで繰り返すAr...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 5日目

5日目のゴールとテーマ5日目のテーマは「配列より“柔軟なリスト”を使って、追加・削除ができるアプリに近づく」 です。4日目までで、配列を使って「複数のデータをまとめて扱う」ことができるようになりました...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 4日目

4日目のゴールとテーマ4日目のテーマは「配列で“複数のデータ”をまとめて扱い、ループと組み合わせて処理する」 です。ここまでで、1つの値(int や String)を変数に入れて扱うことはできるように...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 3日目

3日目のゴールとテーマ3日目のテーマは「同じ処理を“繰り返す”力を身につけて、ちょっとしたミニアプリをループで回す」 です。1日目・2日目で、「1回だけ動くプログラム」は書けるようになりました。でも、...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 2日目

2日目のゴールとテーマ2日目のテーマは「ユーザーの入力を受け取り、条件分岐で“動きが変わるアプリ”を作る」 です。1日目は、決まった文字や数字を「表示するだけ」の世界でした。今日はそこから一歩進んで、...
Java

Java | 2週間で身につく、アプリを作りながら学ぶJavaの基本 - 1日目

1日目のゴールとテーマ1日目のテーマは「Javaの“型にはまった書き方”に慣れながら、最初の小さなアプリを動かす」 です。Pythonと違って、Javaは「決まりごと」が多い言語です。最初は少し堅苦し...
Java

Java Tips | 日付・時間:日付加算

「日付加算」は“カレンダーの面倒を Java に任せる”こと日付加算は、「今日から 7 日後」「月末から 1 日後」「3 ヶ月後の同じ日」といった“カレンダー計算”をコードでやることです。これを自前で...
Java

Java Tips | 日付・時間:日時→文字列

「日時→文字列」は“見せ方を決める”作業日時オブジェクト(LocalDate や LocalDateTime など)は、そのままだと「内部的に意味のある値」ですが、人間には少し分かりにくいことがありま...
Java

Java Tips | 日付・時間:文字列→日時

文字列→日時変換の全体イメージ「String で受け取った日付・時刻」を、そのまま文字列のまま扱うと、比較・加算・バリデーションがすべて自前実装になってしまいます。そこでやるべきことはシンプルで、「文...
Java

Java Tips | 日付・時間:Calendar変換

Calendar は「古い日付 API」だが、変換パターンを覚えれば怖くないjava.util.Calendar は、Date と同じく“古い日付 API”です。今の Java では LocalDat...
Java

Java Tips | 日付・時間:Date変換

古い Date と新しい java.time を「つなぐ」という発想java.util.Date は、昔からある「日時クラス」です。でも今の Java では、LocalDate / LocalTime...
Java

Java Tips | 日付・時間:Instant変換

Instant は「世界共通の“瞬間”を表すタイムスタンプ」Instant は、「UTC を基準にした、世界共通の“ある瞬間”」 を表すクラスです。「1970-01-01T00:00:00Z(UTC)...
Java

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

ZonedDateTime は「タイムゾーン付きの日時」ZonedDateTime は、「日付(年月日)+時刻(時分秒)+タイムゾーン」 をまとめて扱うクラスです。LocalDateTime は「どこ...
Java

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

LocalDateTime は「日付+時刻」をまとめて扱うクラスLocalDateTime は、「年月日」と「時分秒(ナノ秒まで)」を一つにまとめて扱うクラスです。 タイムゾーンは持たないので、「ある...
Java

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

LocalTime は「時刻だけ」を扱うクラスLocalTime は、「時・分・秒だけ」を扱うクラスです。日付(年月日)もタイムゾーンも持ちません。「営業開始時刻(09:00)」「締切時刻(17:30...
Java

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

LocalDate は「日付だけ」を扱うクラスLocalDate は、「年月日だけ」を扱うクラスです。時刻(時分秒)もタイムゾーンも持ちません。「請求日」「締切日」「誕生日」「営業日」など、“日付だけ...
Java

Java Tips | コレクション:集合演算

「集合演算」は“重複なしの集まり”同士を比べる道具Java の Set は、「重複を許さない集まり」です。HashSet や LinkedHashSet、TreeSet などが代表ですね。業務では、「...
Java

Java Tips | コレクション:BiMap実装

BiMap は「キーと値の両方から引ける Map」普通の Map<K, V> は「キー → 値」の片方向だけです。でも業務では、「値からも逆引きしたい」場面がよく出てきます。HTTPステータスコード ...
Java

Java Tips | コレクション:MultiMap実装

MultiMap は「1つのキーに“複数の値”をぶら下げる Map」普通の Map<K, V> は「キー1つにつき値1つ」です。でも業務では、「キー1つに対して値が複数ある」場面がよく出てきます。部署...
Java

Java Tips | コレクション:PriorityQueue利用

PriorityQueue は「優先度の高いものから順に取り出せるキュー」PriorityQueue は、普通のキューと違って「入れた順」ではなく「優先度の高い順(または小さい順)」で取り出せるキュー...
Java

Java Tips | コレクション:Stack代替

「Stack代替」は“古い Stack を捨てて、Deque に乗り換える”という発想Java には java.util.Stack というクラスがありますが、今の実務では 「Stack は使わず、D...
Java

Java Tips | コレクション:Deque操作

Deque は「両端から出し入れできるキュー」Deque(デック)は “Double Ended Queue” の略で、「先頭」と「末尾」の両方から要素を出し入れできるコレクションです。普通のキューは...
Java

Java Tips | コレクション:CopyOnWrite利用

CopyOnWrite は「書き込みのたびに“丸ごとコピー”して安全を買う」仕組みCopyOnWrite 系コレクション(CopyOnWriteArrayList / CopyOnWriteArray...
Java

Java Tips | コレクション:同期ラッパー

同期ラッパーは「既存のコレクションを“とりあえず安全にする”ための包み紙」同期ラッパー(synchronized wrapper)は、Collections.synchronizedList や Co...
Java

Java Tips | コレクション:スレッドセーフMap

「スレッドセーフMap」は“同時に触られても壊れない辞書”業務システムでは、「ユーザーID→セッション情報」「商品コード→商品情報」「設定キー→設定値」のように、Map を共有して使う場面が本当に多い...
Java

Java Tips | コレクション:スレッドセーフList

「スレッドセーフList」は“同時に触られても壊れないリスト”業務システムでは、複数スレッドから同じ List にアクセスする場面が普通に出てきます。ログを貯める、イベントを溜める、キャッシュ的に使う...
Java

Java Tips | コレクション:固定長キュー

固定長キューは「常に“最後のN件だけ”を覚えておく箱」固定長キューは、「新しいものをどんどん入れるけれど、サイズは最大N件まで」「あふれたら“一番古いもの”から自動的に捨てる」というルールを持ったキュ...
Java

Java Tips | コレクション:LRUキャッシュ

LRUキャッシュは「よく使うものだけを手元に置き、古いものから捨てる」箱業務システムでは、「毎回DBに取りに行くのは重いけど、全部メモリに載せるのもキツい」みたいな場面がよく出てきます。そこで出てくる...
Java

Java Tips | コレクション:Enumコード検索

Enumコード検索は「外から来たコード値を“正しいEnum”に変換する」技業務システムでは、DBやAPI、設定ファイルなどから「コード値」が文字列や数値で飛んできます。"N" なら新規、"P" なら処...
Java

Java Tips | コレクション:Enum名前一覧

Enum名前一覧は「コード上の識別子を“文字列の一覧”として取り出す」技Enum は「定数の集合」ですが、その一つ一つには「名前(識別子)」があります。Status.NEW の NEW の部分です。業...
Java

Java Tips | コレクション:Enum一覧取得

Enum一覧取得は「コードに埋めた“選択肢”を、動的に取り出す」技Enum は「定数の集合」を型として表現する仕組みです。ステータス、区分コード、画面のプルダウン候補など、業務システムで大活躍します。...
Java

Java Tips | コレクション:Stream→Optional

Stream→Optional は「“0件かもしれない結果”を安全に受け取る」技Stream は「0件以上の要素の流れ」です。でも業務では、「この条件に合うものを“1件だけ”取りたい」「見つからないか...
Java

Java Tips | コレクション:Optional→Stream

Optional→Stream は「あるかもしれない1件」を“流れ”に乗せる技Optional は「値があるかもしれない/ないかもしれない」を表す箱です。Stream は「0件以上の要素の流れ」です。...
Java

Java Tips | コレクション:nullセーフStream

「nullセーフStream」は「nullかもしれないコレクションを、そのままStreamで扱う」技業務コードでは、本当は良くないけれど、現実として「null が返ってくるコレクション」がたくさんあり...
Java

Java Tips | コレクション:distinctByKey

distinctByKey は「“このキーで一意”をコードに刻む」技Stream の distinct() は、「要素そのものが同じかどうか」で重複を消します。でも業務では、「ユーザーIDが同じなら重...
Java

Java Tips | コレクション:join処理

join処理は「バラバラの要素を“1本の文字列”にまとめる」技業務システムでは、「IDをカンマ区切りでログに出したい」「SQLの IN ('A','B','C') を組み立てたい」「画面に 山田 / ...
Java

Java Tips | コレクション:zip処理

zip処理は「2つの列を“ペアの列”にする」技zip(ジップ)処理は、「2つのコレクションを、同じ位置同士でペアにしていく」操作です。名前のリスト点数のリストこの2つを「名前+点数」のペアにしたい——...
Java

Java Tips | コレクション:インデックス付きループ

インデックス付きループは「位置情報をちゃんと意識して回す」技for (T x : list) の拡張 for 文はシンプルで読みやすいですが、「何番目か(インデックス)」が欲しくなった瞬間に、ちょっと...
Java

Java Tips | コレクション:ページング

ページングは「長い一覧を“ちょうどいい一枚”に切り分ける」技業務システムでは、「検索結果が1万件あります」とか普通に起こります。でも画面に1万件は出せませんよね。だから「1ページ20件」「3ページ目を...
Java

Java Tips | コレクション:Stream例外ラップ

「Stream例外ラップ」は「チェック例外を“Streamで扱える形”に着替えさせる」技Stream の map や forEach に渡すラムダは、基本的に「チェック例外を投げられない」制約がありま...
Java

Java Tips | コレクション:並列Stream制御

並列Stream制御は「速くしたいけど、暴れさせたくない」技Stream にはstream()(普通の順次処理)とparallelStream()(並列処理)の2つの世界があります。「CPUコアを全部...
C#

日本の企業・官公庁が公開している無料API

日本では政府・自治体・企業が公開している無料APIが多数あります。実務や個人開発でよく使われるものを、カテゴリ別に整理して紹介します。官公庁・政府系API統計・経済データ1. 総務省統計局 – e-S...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - SPA と MPA

SPA と MPA を一言でいうとSPA は Single Page Application(シングルページアプリケーション) の略で、「最初に 1 つのページを読み込んだあと、画面の中身だけを Ja...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - フロントエンド / バックエンド

フロントエンド / バックエンドを一言でいうとフロントエンドは「ユーザーの目に見える“表側”」。バックエンドは「見えないところで動いている“裏側の頭脳と心臓”」。あなたが Java で書くのは、基本的...
Java

Java | Web 基礎・HTTP・REST:Web 全体像 - 3 層アーキテクチャ

3 層アーキテクチャを一言でいうと3 層アーキテクチャは、「Web アプリを 3 つの役割にきれいに分けて作ろう」という設計の型 です。プレゼンテーション層(画面・API の入り口)アプリケーション層...
スポンサーリンク