daisukeの技術ブログ

AI、機械学習、最適化、Pythonなどについて、技術調査、技術書の理解した内容、ソフトウェア/ツール作成について書いていきます

Javaでデザインパターンを学ぶ:Observerパターン

Javaによるデザインパターンの3回目です!

教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」を使わせて頂きます。

今回は、Observerパターンです。それでは、早速やっていきましょう!

続きを読む

Javaでデザインパターンを学ぶ:Template Methodパターン

Javaによるデザインパターンの2回目です!

教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」を使わせて頂きます。

今回は、Template Methodパターンです。1回目のシングルトンパターンに比べて、少し難しくなったと思います。

では、やっていきましょう!

続きを読む

Javaでデザインパターンを学ぶ:Singletonパターン

Javaによるデザインパターンの1回目です!

教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」を使わせて頂きます。

今回は、Singletonパターンです。23個のデザインパターンの中でも、最も理解しやすいパターンの一つだと思います。

では、やっていきましょう!

続きを読む

Java開発環境構築(OpenJDK+Visual Studio Code)

今回から、Javaによるデザインパターンを学んでいきます。

教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」です。

Eclipseは重いので、Visual Studio Codeでやっていきます。

ついでに、Visual Studio Codeの拡張機能のPlantUMLも追加しておきます。

今回は、Javaの環境構築を行います。

では、やっていきましょう!

続きを読む

Visual Studio Code:設定内容、インストールした拡張機能

はじめに

Visual Studio Code(以下、VSCode)で設定した内容について、書き残していきます。

普段はサクラエディタを使っていて、開発環境はVSCodeを使っているので、VSCodeは初心者です。

私は、サクラエディタでは、ウィンドウを縦横4分割して使う場合が多いです。ファイル内の他のコードを参照しながら実装することが多いからです。

過去にVSCodeに移行しようとしたとき、ウィンドウ分割、解除、アクティブウィンドウの移動あたりのキーバインドが分からずに挫折したことがあります(笑)。今回は絶対に移行します!

この記事は、完全に自分用のメモになりそうです。でも、他の人の設定って気になりますよね、全部公開します(笑)。

この記事は随時更新する予定です!

続きを読む

ChatGPT(無料版)の始め方

2024/4/15現在の最新版「無料版ChatGPTの始め方」です!

無料版では、GPT3.5が使えて、テキスト生成(質問に答えてくれるなど)だけ可能ですが、無料で使えるので、良かったら使ってみてください。

20ドル/月(3000円)の有料版では、日本語の文章から画像を生成してくれる機能(DALL-E3)が使えます。生成された画像は、商用利用可能です(著作権を侵害しない範囲で)ので、アイキャッチ画像に使えます!

それでは、やっていきましょう!

続きを読む

Google ColaboratoryでOptunaの多目的最適化を実行する(可視化もする)

今回は、OSSのOptunaを使って、多目的最適化をやっていきます。

具体的には、書籍「Optunaによるブラックボックス最適化」の「3.1 多目的最適化」のサンプルコードを使います。

また、Pythonのmatplotlibで、3Dのグラフで可視化します。この可視化はマウスをドラッグすることで様々な視点から3Dグラフを見ることが出来ます。しかし、Google Colaboratoryの場合、通常の方法では3Dグラフを動かすことが出来ません。その対策についても説明していきます。

この内容が参考になれば幸いです。

続きを読む