- 1. No.6【フローチャート(流れ図) 順次処理】
- 2. No.5【コンピュータの3大考え方】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
- 3. Springを使っている時に静的メソッドじゃなくてDIを使うようにした
- 4. [Google Photos Library API] JavaでGoogleフォトのメディアアイテム(写真や動画)を追加・更新する
- 5. 【Flutter】Javaのバージョンを上げるのにハマった
- 6. No.4【アルゴロジック】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
- 7. No.3【使用するプロジェクト・完成例のプロジェクトのインポート】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
- 8. No.2【Eclipseのインストール】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
- 9. No.1 プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
- 10. [Google Photos Library API] JavaでGoogleフォトのメディアアイテム(写真や動画)を検索する
- 11. [Google Photos Library API] JavaでGoogleフォトのアルバム内のメディアアイテム(写真や動画)を削除する
- 12. バリデーション
- 13. [Google Photos Library API] JavaでGoogleフォトのアルバムを共有・共有解除する
- 14. 動的型付言語(Python)と静的型付言語 (Java)の簡単な比較
- 15. [Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する
- 16. java複数のスレッドの同期処理
- 17. JVM – ガベージコレクション(GC)の概要
- 18. JavaSilverに合格した話
- 19. [Google Photos Library API] JavaでGoogleフォトの共有アルバムを取得する
- 20. VSCode + SpringBoot(Gradle)でWebアプリの開発環境を構築する
No.6【フローチャート(流れ図) 順次処理】
**【動画URL】** https://youtu.be/_fyVr5NOlGw
仕事の流れ・手順や処理などを示す図
決まった図を使うので、だれもがある程度同じものさしで見ることが出来る
正解はない**【順次処理】朝起きてから家を出るまで**
![test.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680113/bc3f6714-6e65-577a-fcb8-7c611ae65d5e.png)まとめてご覧になりたい方は
https://zenn.dev/codek2/books/63c880c460c21eTwitterもよろしければどうぞ!
Tweets by kunchan2_詳しく学びたい方は
https://zenn.dev/codek2/articles/e9e44f3e0023fb
No.5【コンピュータの3大考え方】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
**【動画URL】** https://youtu.be/CfU-z__0GtU
プログラミングをする時は、以下のどれかが使えないか考えて作ると良い**順次構造**
上から順番に実行される**分岐構造**
天気が雨の時は傘を持って行く、晴れの時は持っていかないなど条件によりやることが変わる
![](https://storage.googleapis.com/zenn-user-upload/57796d987536-20231009.png)**繰り返し(反復)構造**
陸上トラックをぐるぐる回る様に、同じことを何回も繰り返す
![](https://storage.googleapis.com/zenn-user-upload/a46035309038-20231009.png)まとめてご覧になりたい方は
https://zenn.dev/codek2/books/63c880c460c21eTwitterもよろしければどうぞ!
Tweets by kunchan2_詳しく学びたい方は
https://zenn.dev/c
Springを使っている時に静的メソッドじゃなくてDIを使うようにした
状態を持たないロジックを実装したいとき、以前は以下のように書いていました。
静的なクラスメソッドを使って、判定するみたいな。“`kotlin
class Validator private constructor() {
companion object {
fun validate(foo: String){
if foo == “NG”{
throw Exception(“validation error”)
}
}
}
}
“`呼び出し元イメージ
“`kotlin
@RestController
class Controller(service: Service){
fun bar(@GetMapping String foo) {
Validator.validate(foo)
service.someMethod(foo)
}
}
“`ただ、現在はSpringを使って開発しており、D
[Google Photos Library API] JavaでGoogleフォトのメディアアイテム(写真や動画)を追加・更新する
Google Photos Library API(Java)を使用して、
Googleフォトのメディアアイテム(写真や動画)を追加・更新する方法
についてご紹介します。メディアアイテムを追加できるアルバムはPhotos Library APIで作成したアルバムのみになります。
アルバムの作成方法は
[⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する](https://qiita.com/doran/items/b5ecc7005f19fbf0a35a)
を参照ください。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う](https://qiita.com/doran/items/8695e6007765ab5b382c)
を参照ください。
:::|No|||目次|
|—|—|—|—|
|1|||[メディアアイテムを追加](#1-メ
【Flutter】Javaのバージョンを上げるのにハマった
# はじめに
### Javaのバージョンを上げることになった経緯
[package_info_plus](https://pub.dev/packages/package_info_plus)のバージョンを上げると、下記のようなエラーが出ました。
“`
Execution failed for task ‘:package_info_plus:compileDebugJavaWithJavac’. > エラー: 17は無効なソース・リリースです
“`調べたところ、下記のIssueがヒットし、どうやら、[package_info_plus](https://pub.dev/packages/package_info_plus)の`6.0.0`以降では、Javaのバージョン17が必要みたいです。
https://github.com/fluttercommunity/plus_plugins/issues/2809パッケージのCHANGELOGにも書いてありました。
https://pub.dev/packages/package_info_plus/changelog#6
No.4【アルゴロジック】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
アルゴロジック
https://algo.jeita.or.jp/使い方は
【動画URL】 https://youtu.be/U__0zXiWYvUまとめてご覧になりたい方は
https://zenn.dev/codek2/books/63c880c460c21eTwitterもよろしければどうぞ!
Tweets by kunchan2_詳しく学びたい方は
https://zenn.dev/codek2/articles/e9e44f3e0023fbまとめてご覧になりたい方は
https://zenn.dev/codek2/books/63c880c460c21eTwitterもよろしければどうぞ!
Tweets by kunchan2_詳しく学びたい方は
https://zenn.dev/codek2/articles/e9e44f3e0023fb
No.3【使用するプロジェクト・完成例のプロジェクトのインポート】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
使用するプロジェクトは↓からダウンロードして下さい
https://firestorage.jp/download/6ecd31f2487414500c6e9eebe7b80a981bc6e9251. JavaBasicUdemy.zipを解凍し、フォルダをC:\pleiades\workspaceフォルダ内にコピー(前のチャプターの通りインストールした場合)
![](https://storage.googleapis.com/zenn-user-upload/573be8fe6c9e-20231009.png)2. Eclipseを起動し、[ファイル]→[インポート]→[既存プロジェクトをワークスペースへ]を選択→[次へ]
![](https://storage.googleapis.com/zenn-user-upload/22d701d78374-20231009.png)3. [参照]ボタンからworkspaceへコピーしたフォルダ(JavaBasicUdemy)を選択→[完了]
![](https://storage.googleapis.com/zenn-us
No.2【Eclipseのインストール】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
https://willbrains.jp/ にアクセス
任意のバージョン(講座はEclipse2022を使用します)をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680113/6c34913f-4132-f4eb-f6df-35b5a0c93247.png)画面が以下のようになっていた場合、赤枠部分をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680113/b54b9975-2a95-ee10-030a-756782ab02a0.png)Windows x64のJavaのFull Editionをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3680113/70c39b8e-7d0c-cbda-7b21-13bcd37aa699.png)
No.1 プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き
プログラミングは一部の方だけのものではなく、一見関係のないあなたも学習することで普段の生活や仕事にも十分に役に立つことでしょう!
プログラミングを学習することで以下の事が期待出来、収入アップにつながるかもしれません!
・論理的思考が身に付く
・他人に物事を伝えるのがうまくなる
・副業になる
楽しく充実したプログラミング体験を通じて、コーディングの楽しさを実感しませんか?
知識と自信を手に入れ、次のステージへの飛躍を実現しましょう!
★スキルアップのコツ★
・分からないことがあれば、ネットで調べましょう!
・文章を読んでいる途中で分からない単語に出会ったら、さらに調べましょう!
・分からないことがあれば、教科書を見たり、自分でまとめた内容を復習することで解決出来たり、インターネットで調べて解決出来れば大丈夫です!
・頭より先に手が動くように、繰り返し入力して身体に覚えさせましょう!
・講座で学んだ事を誰かに説明してみましょう!お一人の場合は架空の誰かを想定しての練習でもOK!
プログラミングの上達のコツについては↓
https://zenn.dev/codek2
[Google Photos Library API] JavaでGoogleフォトのメディアアイテム(写真や動画)を検索する
Google Photos Library APIを使用して、
Googleフォトのメディアアイテム(写真や動画)を検索する方法
についてご紹介します。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う](https://qiita.com/doran/items/8695e6007765ab5b382c)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[メディアアイテムを検索](#1-メディアアイテムを検索)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|## 1. メディアアイテムを検索
メディアアイテム(写真や動画)の検索します。### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
“`
https://www.googleapis
[Google Photos Library API] JavaでGoogleフォトのアルバム内のメディアアイテム(写真や動画)を削除する
Google Photos Library APIを使用して、
Googleフォトのアルバム内のメディアアイテム(写真や動画)を削除する方法
についてご紹介します。削除可能なメディアアイテム(写真や動画)は
同じGCP認証、かつGoogle Docs API V1で作成したメディアアイテムのみです。メデイアアイテムの作成方法は
[⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する](https://qiita.com/doran/items/b5ecc7005f19fbf0a35a)
を参照ください。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う](https://qiita.com/doran/items/8695e6007765ab5b382c)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[メディアアイテ
バリデーション
半角のみの入力を制限するバリデータ
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;public class HalfWidthValidator implements ConstraintValidator
{
@Override
public void initialize(HalfWidthOnly constraintAnnotation) {
}@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if (value == null) {
return true; // null値は許可
}
return value.matches(“[\\x00-\\x7
[Google Photos Library API] JavaでGoogleフォトのアルバムを共有・共有解除する
Google Photos Library APIを使用して、
Googleフォトのアルバムを共有・共有解除する方法
についてご紹介します。共有や共有解除できるアルバムはPhotos Library APIで作成したアルバムのみになります。
アルバムの作成方法は
[⧉[Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する](https://qiita.com/doran/items/b5ecc7005f19fbf0a35a)
を参照ください。:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う](https://qiita.com/doran/items/8695e6007765ab5b382c)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[共有する](#1-共有する)|
||1|[スコープ](#11-スコープ)|
||2|
動的型付言語(Python)と静的型付言語 (Java)の簡単な比較
動的型付言語と静的型付言語の違いを、Pythonを動的型付言語の例に、Javaを静的型付言語の例にしてコードで比較。
## 動的型付言語 (Python)
“`python
# 変数の宣言時に型を指定する必要がない
x = 10
print(type(x)) #x = “Hello”
print(type(x)) ## 関数の引数や戻り値に型を指定する必要がない
def add(a, b):
return a + bprint(add(1, 2)) # 3
print(add(“Hello”, “World”)) # HelloWorld
“`## 静的型付言語 (Java)
“`java
public class Main {
public static void main(String[] args) {
// 変数の宣言時に型を指定する必要がある
int x = 10;
System.out.println(x); // 1
[Google Photos Library API] JavaでGoogleフォトのアルバムを作成・更新する
Google Photos Library API(Java)を使用して、
Googleフォトのアルバムを作成・更新・削除する方法
についてご紹介します。アルバムはGoogleフォトアプリのアルバムタブから確認することができます。
:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う](https://qiita.com/doran/items/8695e6007765ab5b382c)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[アルバムを作成](#1-アルバムを作成)|
||1|[スコープ](#11-スコープ)|
||
java複数のスレッドの同期処理
## java Thread
スレッドとは、プログラム内での実行スレッドのことです。Java仮想マシンでは、アプリケーションは並列に実行される複数のスレッドを使用することができます。
## synchronized
synchronizedブロックの開始時にsynchronized文で指定したオブジェクトのロックを取得し、終了時にそのロックを開放します。
## wait
ほかのスレッドがこのオブジェクトの notify() メソッドまたは notifyAll() メソッドを呼び出すまで、現在のスレッドを待機させます。
## notify
このオブジェクトのモニターで待機中のスレッドを 1 つ再開します。
## notifyAll
このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
## 実装確認
2つのスレッドで1~100の数字を交替で順番に出力します。
“`java
package com.example.thread;class PrintNumber implements Runnable {
private int number = 1;
@Ove
JVM – ガベージコレクション(GC)の概要
ガベージコレクション(GC)は、JVMがメモリ管理を効率よく行うための重要な機能です。このブログでは、GCの基本的な概念とその動作の仕組みについて解説します。
## ガベージとは
ガベージとは、プログラムが確保したメモリのうち、もはやプログラムによって参照されないメモリ領域のことを指します。
これはオブジェクトやデータ構造が不要になった、つまりそのデータに対するすべての参照がプログラム内から失われた状態を意味します。
ガベージが発生する主な原因は以下の通りです:
* **オブジェクトのスコープ外移動**: オブジェクトが定義されたスコープを外れたとき、例えばローカル変数が関数の実行終了とともにスコープ外となる場合。
* **参照の上書き**: あるオブジェクトへの参照が新しいオブジェクトへと変更された場合、古いオブジェクトはもはや参照されなくなります。
* **明示的な参照削除**: プログラムが意図的にオブジェクトへの参照を削除することで、ガベージとしてマークされる場合。ガベージがメモリ内に蓄積すると、複数の問題が発生する可能性があります:
* **メモリリーク**:
JavaSilverに合格した話
# 受験背景
現在はC#をメインに仕事をしていて、Javaに触れる機会がなくなった
新卒から約5~6年Javaでの開発をしていて、
せっかくのJavaの知識を廃れさせたくないと思い受験を決意
JavaSilverはそこまで難易度も高くはない# 勉強法
以下のみ黒本のみ
大体1日、2時間程度を土日以外の時間で勉強(基本的に土日は家族との時間に充てている)
約3ヶ月間続けた触っていくうちにだんだん思い出してきて、他の参考書とかには手をつけず、黒本のみで対応できた
ただ問題を解いていくとJavaの構文も分かってくると思うので、個人的には他の参考書は不要に感じた# 結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3516005
[Google Photos Library API] JavaでGoogleフォトの共有アルバムを取得する
Google Photos Library APIを使用して、
Googleフォトの共有アルバムを取得する方法
についてご紹介します。共有アルバムはGoogleフォトアプリの共有タブから確認することができます。
:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Photos Library API(V1)] JavaでPhotos Library APIを使う](https://qiita.com/doran/items/8695e6007765ab5b382c)
を参照ください。
:::|No||目次|
|—|—|—|
|1||[共有アルバム一覧を取得](#1-共有アルバム一覧を取得)|
||1|[スコープ](#11-スコープ)|
||2|
VSCode + SpringBoot(Gradle)でWebアプリの開発環境を構築する
# 動機
– 社内勉強会でSpringBootを使ってWebアプリを作りたい
– 通常業務のJava開発は古いバージョンのEclipseを利用
– そのEclipseではSpringBootが動かない!
– GitHub CopilotのライセンスをもらったがJavaではEclipseで動かず試せていない
– せっかくなんでJava22触りたい(だったんですがGradleがうまく動かず21で妥協)ということでVSCode + SpringBootでの環境を作ってみようと思いやってみました。
勉強会の手順書を兼ねて手順を記録していきます。# 手順
## 想定環境
– WindowsOS
– Javaとか何も入っていない状態
– プロジェクトはGradleプロジェクトにしたい## JDK21のインストール
ダウンロードサイトhttps://www.oracle.com/jp/java/technologies/downloads/
JDK21 -> Windows -> x64 Installerを選択してインストーラーをダウンロードします。
任