- 1. 【AWS】APIGatewayでLambdaのアプリ側で発生した例外処理を500エラーで返したい。
- 2. Intellij 備忘録【Java】
- 3. [Google Calendar API(V3)] Javaでカレンダーのユーザー設定情報の変更を監視する
- 4. [Google Calendar API(V3)] Javaでアクセス制御ルール(ACL)を変更を監視する
- 5. Spring bootでREST APIを作ってみた。
- 6. [Google Calendar API(V3)] Javaで変更通知を停止する
- 7. Java 定数の宣言
- 8. Java変数型
- 9. [Custom Search API(V1)] JavaでGoogle検索する
- 10. [Custom Search API(V1)] JavaでGoogle検索する(準備編)
- 11. SpringBootでMicrosoftAccessのデータベースへの接続は諦めました
- 12. #13【勉強メモ】エヴァンス本からざっくり理解するDDD
- 13. #12【勉強メモ】エヴァンス本からざっくり理解するDDD
- 14. MapのnullチェックにはMapUtils.isEmpty()を使おう!
- 15. [Google Calendar API(V3)] Javaでメインカレンダーのイベントを全て削除する
- 16. [Google Calendar API(V3)] Javaでカレンダーを作成・更新・削除する
- 17. Javaのprivateメソッドをテストする方法
- 18. [Google Calendar API(V3)] Javaでカレンダーを挿入・更新・削除する
- 19. #11(工事中)【勉強メモ】エヴァンス本からざっくり理解するDDD
- 20. Java
【AWS】APIGatewayでLambdaのアプリ側で発生した例外処理を500エラーで返したい。
## 背景
JavaアプリをLambdaでホストしているが、API Gateway経由でビジネスロジック側のエラー処理した際、ステータス上200で返ってきてしまい、困ったので調べた
## TL;DR
Javaだと例外処理の返却値が標準エラーの形式と合ってないので、レスポンス内容にステータスコード(5XX系)を埋め込む
200系のレスポンスマッピングテンプレート側でステータスコードを条件分岐させてマッチすればオーバーライドするように処理させると500エラーにできる。https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html#apigateway-override-request-response-parameters-override-response
## 確認手順
以下は、検証のために確認した手順を記載しておく
### 前提条件
以下構成なっていることを前提とする。
![image.
Intellij 備忘録【Java】
# 本記事の意義
Java初心者がIntellijを使い始めたため、備忘録としてまとめる。
# コマンド集
| 動作 | コマンド |
|:-:|:-:|
|設定画面を表示 | `Command + ,` |
| プロジェクトツールへカーソルを移動 | `Command + 1` |
| エディタウィンドウへカーソルを移動 | `esc` |
| 新規ファイル作成 | `Command + N` |
| ファイルの実行 | `Control + R` |
| デバッグ | `Control + D` |
[Google Calendar API(V3)] Javaでカレンダーのユーザー設定情報の変更を監視する
Google Calendar API V3(Java)を使用して、
Googleカレンダーのユーザー設定情報の変更を監視する方法
についてご紹介します。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calendar API(V3)] JavaでCalendar APIを使う](https://qiita.com/doran/items/c735c7b05c0a2ed4bfdb)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[設定情報の変更を監視](#1-設定情報の変更を監視)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[設定情報の監視を停止](#2-設定情報の監視を停止)|
|3||[変更通知を受信](#3-変更通知を受信)|## 1. 設定情報の変更を監視
Googleカレンダーのユーザー設定情報の変更を監視します。### 1.1. スコープ
このAPIを実行
[Google Calendar API(V3)] Javaでアクセス制御ルール(ACL)を変更を監視する
Google Calendar API V3(Java)を使用して、
Googleカレンダーのアクセス制御ルール(ACL)を変更を監視する方法
についてご紹介します。**カレンダーのアクセス制御ルール(ACL)とは**
指定したユーザー、またはグループと予定の共有ができます。
UIでは、カレンダーの設定 -> [特定のユーザーまたはグループと共有する]
から設定できる内容です。
:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calendar API(V3)] JavaでCalendar APIを使う](https://qiita.com/doran/items/c735c7b05c0a2ed4bfdb)
を参照ください。
:::|No||目次|
|—
Spring bootでREST APIを作ってみた。
# Spring bootでREST APIを作ってみた。
Spring boot勉強がてら作成# 実装内容
マイナンバーをキーに個人情報を取得してくる的なAPI作成# 使用データ
https://testdata.userlocal.jp/# パッケージ構成
“`
├─java
│ └─com
│ └─example
│ └─api
│ └─demo
│ │ DemoApiApplication.java
│ ├─controller
│ │ MPersonalInfoController.java
│ ├─data
│ │ └─dto
│ │ CommonResponse.java
│ │ MPersonalInfoDto.jav
[Google Calendar API(V3)] Javaで変更通知を停止する
Google Calendar API V3(Java)を使用して、
Googleカレンダーの変更通知を停止する方法
についてご紹介します。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calendar API(V3)] JavaでCalendar APIを使う](https://qiita.com/doran/items/c735c7b05c0a2ed4bfdb)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[変更通知を停止](#1-変更通知を停止)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|## 1. 変更通知を停止
登録済みの変更通知を停止します。### 1.1. スコープ
このAPIを実行するのにスコープは必要ありません。### 1.2. 実行
停止するには、変更通知を登録した際に取得できる
「チャンネルを識別するUUID」、「監視対象のリソースのバージョン固有
Java 定数の宣言
変数を初期化で設定し、再度再代入すると上書きされる
絶対に上書きされなくない、書き換えられたら困る
・・・そんな時は
finalという記述を使う!!定数の宣言
final 型 定数名 = 初期値;
☆一般的に定数名にはすべて大文字を用いる例)
final double PI = 3.14;再代入はできないので、数値を変更したいときは、初期値を変更する
Java変数型
変数宣言の文
型 変数名;☆整数を格納☆
byte ±約128
short ±約3.2万
int ±約21億
long ±約900京//世界の人口など基本的にはintで大丈夫!
(byteやshortよりintの方が高速に処理できるコンピューターも多い)☆少数を格納☆
float 少しあいまいでもよい少数
double 普通の少数少数を扱うときは特別な事情がない限りdouble型を使用する
少数部のことをコンピュータでは浮動小数点型という。真に厳密な計算ができないという弱点があるので誤差が許されない計算、金額の計算にはfoatやdoubleを使わない。☆真偽値☆
boolean trueかfalse☆文字☆
chat
例 chat = ‘苺’;
ソースコードに文字を記述する場合は引用符(‘)で囲む☆文字列☆
String
例 String = “苺を食べる”;
ソースコードに文字列を記述する場合は二重引用符(“)で囲む引用符、二重引用符は全角にしないように気を付ける
[Custom Search API(V1)] JavaでGoogle検索する
Custom Search API V1(Java)を使用して、
Googleが提供するカスタム検索エンジンで検索する方法
についてご紹介します。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Custom Search API(V1)] JavaでGoogle検索する(準備編)](https://qiita.com/doran/items/3fda453a80a53e26498f)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[検索する](#1-検索する)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|## 1. 検索する
カスタム検索エンジンで検索します。### 1.1. スコープ
このAPIを実行するには、以下のスコープを指定してください。
“`
https://www.googleapis.com/auth/cse
“`### 1.2. 実行
コード中の「CXキー」は
2.
[Custom Search API(V1)] JavaでGoogle検索する(準備編)
Custom Search API(V1)をJavaで使ってみました。
今回の記事はAPIを利用開始するのに行うことを記事にしました。***Custom Search APIとは***
Googleが提供するカスタム検索エンジンで検索することができるAPIです。カスタム検索エンジンでは、Google検索の様にWeb全体を検索できます。
ただし、Google検索とカスタム検索エンジンは下記の点が異なります。・ウェブ上の他の検索結果よりも自分のウェブサイトの検索結果が強調される
・アカウントに基づく情報など、一部のGoogle検索の機能が含まれない
・検索結果が10件を超える場合、サブセットの検索結果が表示されることがある:::note info
実際のCustom Search APIの実行コードは
[⧉[Custom Search API(V1)] JavaでGoogle検索する](https://qiita.com/doran/items/5e05d10d6259971f37ba)
を参照ください。
:::|No|||目次|
|—|—|—|—|
|
SpringBootでMicrosoftAccessのデータベースへの接続は諦めました
# 概要
SpringBoot ⇒ MicrosoftAccessへ接続して、データの取得や更新の処理を作ることを諦めました。
今後似たようなことを検討する時の材料として記事を残します。# やりたかったこと
MicrosoftAccess(accdbファイル)で作られた古いシステムがありました。
SpringBootでそのシステムが持っているテーブルのデータが必要でした。また、ちょっとめんどくさい点として、そのaccdbファイルはパスワードでロックされているものでした。
# UCanAccessの存在
まず、『UCanAccess』というjarがあり、それを使うとJAVAからAccessへの接続ができると分かりました。
# build.gradleでjarの用意
build.gradleのdependenciesに下記を追加しました。
“`
implementation (‘net.sf.ucanaccess:ucanaccess:5.0.1’){
exclude module: ‘commons-logging’
}implementation (‘co
#13【勉強メモ】エヴァンス本からざっくり理解するDDD
## 目標
・ふわっとした理解のDDDについて[エヴァンス本](https://www.amazon.co.jp/%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9%E3%81%AE%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88-Architects%E2%80%99Archive-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E5%AE%9F%E8%B7%B5-%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9/dp/4798121967/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%B
#12【勉強メモ】エヴァンス本からざっくり理解するDDD
## 目標
・ふわっとした理解のDDDについて[エヴァンス本](https://www.amazon.co.jp/%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9%E3%81%AE%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88-Architects%E2%80%99Archive-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E5%AE%9F%E8%B7%B5-%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9/dp/4798121967/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%B
MapのnullチェックにはMapUtils.isEmpty()を使おう!
# はじめに
こんにちは!なっしーです!前回に引き続き、Java(Apache、Spring環境)のtipsを紹介しようと思います!
前回はこちら↓
https://qiita.com/nashi-nashi/items/1d66e5d8dc5ffd8142a8
# 想定読者層
前回と同じく若手向けの記事です。
Javaでの業務ロジックや個人開発などでコードを書き始めた人を想定しています。# 忙しい人向け結論
– MapのnullチェックにはMapUtilsのメソッド(isEmpty())を使おう!
– MapUtilsはApache版とSpring版があるけど機能は一緒だよ!# 本編
今回紹介するMapUtils.isEmpty()はApache版とSpring版がありますが、どちらも一緒の機能なので解説だけします!皆さんはMap型のnullチェックはどう書いてますか?
私はこのメソッドを知るまで、Mapのnullチェックはこんな感じで書いてました。
“`Java
Maphoge = new HashMap<>(); if
[Google Calendar API(V3)] Javaでメインカレンダーのイベントを全て削除する
Google Calendar API V3(Java)を使用して、
Googleカレンダーでメインカレンダーのイベントを全て削除する
についてご紹介します。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calendar API(V3)] JavaでCalendar APIを使う](https://qiita.com/doran/items/c735c7b05c0a2ed4bfdb)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[メインカレンダーのイベントを全て削除](#1-メインカレンダーのイベントを全て削除)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|## 1. メインカレンダーのイベントを全て削除
Googleカレンダーのメインカレンダーのイベントを全て削除します。
メインカレンダー以外は削除できません。### 1.1. スコープ
このAPIを実行するには、以下のスコ
[Google Calendar API(V3)] Javaでカレンダーを作成・更新・削除する
Google Calendar API V3(Java)を使用して、
Googleカレンダーを作成・更新・削除する方法
についてご紹介します。Googleカレンダーの左下にあるマイカレンダー、他のカレンダーの情報が設定できます。
:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calendar API(V3)] JavaでCalendar APIを使う](https://qiita.com/doran/items/c735c7b05c0a2ed4bfdb)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[カレンダーを作成](#1-カレンダーを作成)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行
Javaのprivateメソッドをテストする方法
Claude3と会話しながら記事の原案を作ってもらいました。
## 問題:
Javaのprivateメソッドは外部から直接実行できないため、ユニットテストが困難である。
## 解決策:
1. クラスに備わっているpublic/デフォルトアクセス修飾子のメソッドを使ってテストする
2. 対象のprivateメソッドの可視性をデフォルトアクセス(通称パッケージプライベート)に変更する
3. Reflectionを使ってprivateメソッドを実行する## 上記の解決策の妥当性:
1. が最も望ましい方法である。privateメソッドは通常、そのクラスのコンテキスト(インスタンス変数の状態)に依存するため、単独で呼び出して正しくテストできない場合が多い。そのため、publicメソッドから間接的に実行させることが適切である。
2.と3. はprivateメソッドを直接テストするため、コンテキストを無視してしまう可能性がある。
2.はカプセル化を損なう懸念があり、3.はパフォーマンス上の懸念がある。そのため、1.が難しい場合に限り、2.か3.を検討する。## 備考
priv
[Google Calendar API(V3)] Javaでカレンダーを挿入・更新・削除する
Google Calendar API V3(Java)を使用して、
Googleカレンダーをカレンダーを挿入・更新・削除する方法
についてご紹介します。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Calendar API(V3)] JavaでCalendar APIを使う](https://qiita.com/doran/items/c735c7b05c0a2ed4bfdb)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[カレンダーを挿入](#1-カレンダーを挿入)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[カレンダーを上書き](#2-カレンダーを上書き)|
||1|[スコープ](#21-スコープ)|
||2|[実行](#22-実行)|
||3|[レスポンスの内容](#23-レスポンスの内容)|
|3||[カレンダーを更新](#3-カレンダーを更新)|
||1|[ス
#11(工事中)【勉強メモ】エヴァンス本からざっくり理解するDDD
## 目標
・ふわっとした理解のDDDについて[エヴァンス本](https://www.amazon.co.jp/%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9%E3%81%AE%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88-Architects%E2%80%99Archive-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E5%AE%9F%E8%B7%B5-%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9/dp/4798121967/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%B
Java
本日からJavaの勉強を開始します!
Rubyは勉強したことがあり、まだまだ始まったばかりなのにRubyって簡潔( ´∀` )
みんなが言っていたの納得….笑ソースコートの外側部分をとりあえず覚えるのを目標に!!(英語苦手)
https://gyazo.com/518addad6664d20c3f419cd3f3dad0e8
この形を覚えるぞ!
省略できるものもあるみたいだけど初心者は入力するのみだclass名とファイル名が同じこと。
勉強すると日付とか入れたくなるけど気を付けるぞ
これはどの言語でも同じなんだろうけどわかりやすく!意識するぞ( `ー´)ノコンパイルをしてエラーがでるけど、まだまだ最初だからかなRubyよりはわかりやすいと感じた!
(調子のりすぎかな…笑)次は変数宣言!