daisukeの技術ブログ

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

2024-04-01から1ヶ月間の記事一覧

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

Javaによるデザインパターンの8回目です! 今回も教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」のサンプルコードを使わせて頂きます。 今回は、Adapterパターンです。Adapterとは適合させるという意味です。既存のクラスを必要なインタフ…

Javaのコンパイル方法(仕組み)をパッケージ含めていろいろ試してみる

Javaのソースコード(.java)を、javacコマンドでコンパイルするときパスの指定や、実行時のパス指定がややこしいと感じたので、今回は、そのあたりを整理して、実際にいろいろなパターンで、コンパイル、実行していきます。 それではやっていきます!

Ubuntu22.04(VirtualBox 7.0)の設定とソフトウェアインストール

前回、VirtualBox 7.0 で、ゲストOSに Ubuntu 22.04.4 LTS をインストールしました。 今回は、その続きで、設定と、ソフトウェアのインストールについて説明していきたいと思います。 それではやっていきます!

VirtualBox 7.0+Ubuntu22.04をWindows10にインストールする方法

VirtualBox 7.0でゲストOSをインストールする方法が、VirtualBox 6.xから変わりました。 今回はその内容を説明していきたいと思います。 ゲストOSは、既に、Ubuntu24.04 が提供開始された(2024/4/25)ようですが、さすがに出たばっかりなので、今回は Ubunt…

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

Javaによるデザインパターンの7回目です! 今回も教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」のサンプルコードを使わせて頂きます。 今回は、Visitorパターンです。今回もイメージしやすいパターンですね。 では、やっていきましょう!

URLからタイトルを取得するPythonのGUIアプリを作りました(url2title)

URLをコピーしてクリップボードに送ると、Webスクレイピングで記事のタイトルを取得して表示するPythonのGUIアプリ(url2title)を作りました。 自分のはてなブログの記事のURLが日付の場合に、パッと見たときに、何の記事?となることがよくあります。そん…

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

Javaによるデザインパターンの6回目です! 今回も教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」のサンプルコードを使わせて頂きます。 今回は、Stateパターンです。状態遷移を表現するのに便利なパターンで、理解しやすいパターンだと思い…

TkEasyGUI(Python)で簡単GUI(PySimpleGUI有料化に伴い移行します!)

Pythonで簡単にGUIアプリが作れる環境として、PySimpleGUIがバージョン5から、商用利用の場合は有償となりました。 個人が使う場合は、これまで通り、無償で使えるとのことですが、ライブラリを使い分けるのは大変なので、PySimpleGUIのAPIの互換性を持つ「T…

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

Javaによるデザインパターンの5回目です! 教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」を使わせて頂きます。 今回は、Factory Methodパターンです。とても理解が難しいパターンでした。 それでは、やっていきましょう!

PythonでWebスクレイピング(ChatGPTにPythonコードを生成してもらう)

Webスクレイピングとは、プログラムを使用して、Webサイトの情報(データ)をダウンロードし、データを解析、分析することを言います。 初回なので、スクレイピングをするにあたっての注意事項や基本的なところを書きます。 あまり無茶は出来ませんが、スク…

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

Javaによるデザインパターンの4回目です! 教材は、参考文献の「Java言語で学ぶデザインパターン入門第3版」のサンプルコードを使わせて頂きます。 今回は、Iteratorパターンです。 実は、第1回で書いていたんですが、途中で疑問が出てきて、解決できなくて…

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も追加してお…

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

はじめに Visual Studio Code(以下、VSCode)で設定した内容について、書き残していきます。 普段はサクラエディタを使っていて、開発環境はVSCodeを使っているので、VSCodeは初心者です。 私は、サクラエディタでは、ウィンドウを縦横4分割して使う場合が…

ChatGPT(無料版)の始め方

2024/4/15現在の最新版「無料版ChatGPTの始め方」です! 無料版では、GPT3.5が使えて、テキスト生成(質問に答えてくれるなど)だけ可能ですが、無料で使えるので、良かったら使ってみてください。 20ドル/月(3000円)の有料版では、日本語の文章から画像を…

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

今回は、OSSのOptunaを使って、多目的最適化をやっていきます。 具体的には、書籍「Optunaによるブラックボックス最適化」の「3.1 多目的最適化」のサンプルコードを使います。 また、Pythonのmatplotlibで、3Dのグラフで可視化します。この可視化はマウスを…

はてなブログ無料版開設から1か月でGoogleアドセンスに合格(祝🎉)

本日(2024/4/12)、Googleアドセンスの審査に合格のメールが来ました!! はてなブログを無料版で開設してから、約1か月で達成できました。 今日は、その報告と、この1か月間を振り返ってみたいと思います。 一度、審査不合格になってるので、そこからの対…

Google ColaboratoryでOptunaを実行する方法(Studyの再現性を確保する)

今回は、OSSのOptunaを、Google Colaboratoryで使う手順の詳細説明と、実際の実行結果を記載します。 プログラムは、書籍「Optunaによるブラックボックス最適化」の2章のサンプルコードを使用します。 また、トライアル(学習)の再現性を確保(同じ学習結果…

ページ内リンクが動作しない場合の対処方法(スペースやピリオド「.」などを含む場合)

ブログでページ内リンク(アンカーリンク)を設定したのに、うまく飛べなかった経験はありませんか? はてなブログだけでなく、Markdownを使用している場合、アンカーリンクは使用した文字(スペースやピリオドなど)によって自動的に変換されることがありま…

【解説】Google ColaboratoryでOptuna Dashboardを使う方法

今回は、OSSのOptunaの実行結果を可視化する「Optuna Dashboard」を、「Google Colaboratory」で使う方法を説明します。 今回の使い方は、Google ColaboratoryでOptuna Dashboardを起動(サーバを起動)し、ブラウザからOptuna Dashboardを使えるというもの…

【解説】ブログカスタマイズ:ページ全体の表示フォントを変更する

ブログカスタマイズの第9回目です! このブログでは、「Minimalism 」テーマを使用していますが、なるべく、どのテーマの場合でも対応ができる方法で説明していきます。 今回は、ブログのページ全体の表示フォントの変更方法を紹介します。 いきなりフォント…

【解説】DB4Sの使い方:インストール方法、Optunaのデータベースの操作方法

今回は、フリーソフトのDB4Sのインストール方法と、使い方を説明します。 対象は、SQLiteで、Optunaののデータベースファイルを使って、具体的な操作方法をを記載します。 また、Google Colaboratoryで、SQL命令を実行する方法についても紹介します。 この内…

サイトマップ

本ブログを見て頂いて、ありがとうございます! このブログでは、AI、機械学習、最適化、Pythonなどについて、技術的な内容や、ツールの作成/紹介を書いています。 また、はてなブログを始めるにあたり、ブログをカスタマイズした方法についても、詳しく書い…

【解説】ブログカスタマイズ:CSS対応のタイトル付きの囲み枠を使う方法(定型文に登録)

ブログカスタマイズの第8回目です! 今回は、ブログ記事でよく見かける「タイトル付きの囲み枠」の作り方を紹介します。 「タイトル付きの囲み枠」は、簡単にコピペで作れるとよく紹介されていますが、CSSを使わずにstyleプロパティを直接指定して作成する方…

【ブログ便利ツール】マウスをかざすだけでフォント名が分かる「WhatFont」の紹介

ブログのデザインを変更する際に、マウスを対象の文章に近づけるだけでフォント名が表示される、非常に便利なChrome拡張機能「WhatFont」(フリーソフト)を紹介します。 自分のブログのデザインを考えているときに、「これは何のフォントで表示されているの…

【解説】ブログカスタマイズ:Minimalismのカスタマイズと、2つの問題点(スマホで見たときの画像余白と画像と背景の境界)の解決

ブログカスタマイズの第7回目です! 今回は、Minimalismの作者さんが、テンプレートとして準備してくれているカスタマイズのうち、以下の2点をやっていきます。 ナビゲーションメニュー(グローバルメニュー)の設置 ヘッダーの色の変更 また、他のはてなブ…

【ブログ便利ツール】Canvaの生成AIでブログの素材に使えるアイキャッチ画像の作り方(商用利用可能)

ブログを書いていると、記事の内容に合ったオリジナルの画像がほしくなることがあると思います。 いろいろなフリー素材はありますが、イメージに合わなかったり、他のブログでよく使われてる画像だったりということが、よくあります。 そこで、今回は、Canva…

【ブログ便利ツール】デスクトップ操作を軽いGIFアニメで録画できる「LICEcap」の使い方

ブログを書いてるときに、画面操作や手順を、たくさんの文章で説明することがあると思います。 私は、自分がPCを操作してるところを、誰かが動画で撮ってくれたらと、思うことがよくありました。 今回は、とても簡単な操作で、デスクトップを操作してるとこ…