方言を話すおしゃべり猫型ロボット『ミーア』をリリースしました(こちらをクリック)
開発・デザイン

【トランジスタ】BJTとMOSFETの原理と回路記号、メリット・デメリット

トランジスタにはNPN型とPNP型の2つがある。 BJTは電流駆動型で、小さなベース電流でコレクターからエミッターへの大きな電流を制御する。MOSFETは電圧駆動型で、ゲートとソース間の電圧によってドレインとソース間の電流を制御する。
Web(Python)

【医師ポイ活】毎日の医師ポイ活を半自動化するPythonプログラム(Mac版)

医師プラットフォームは、m3をはじめとして、メドピア、ケアネット、日経メディカルなどがある。ここでは、毎日の医師PFのポイ活を半自動化するプログラムを記載。MacがSleepの状態でも特定の設定した時刻になると、ポイ活サイトを複数自動で開く。
Web(Python)

【効率化】Pythonで時間帯に応じてウェブサイトを自動で開く方法。起床したらニュースサイトが開かれている状態に

前回、医師ポイ活半自動化の記事で、pythonで特定のウェブサイトを特定時間に自動で開く方法について解説した。今回はさらに拡張して、朝夕の2つの時間帯にそれぞれのウェブサイトを自動的に開くようにする。朝起きてPCを起動した時には、すでに朝のウェブサイトが開かれた状態になる。
開発・デザイン

【ESP32】リポバッテリー駆動もできる自作基板の電子回路

USB Type-Cとリポバッテリーの両方に対応できる自作ESP32基板の制作過程を記載。充電電流はPROGで調整し、電圧レギュレーターをAMS1117からME6211シリーズに切り替え。PMOSFETを用いて、自動切り替え回路を実装する。
サーバー(Go)

【Docker】ポートマッピング。port番号がたくさん登場するので整理してみた。

Docker化してコンテナ内部のサービスにアクセスする場合は、Dockerコンテナ自体がホストマシンからも独立した環境なので、コンテナportを介さないとアクセスができない。Docker port mappingの設定方法は、docker runコマンドを使用する場合とdocker-compose.ymlを使用する場合の2つがある。
サーバー(Go)

【Docker】DockerFile・docker-compose.yml・Dockerコマンド

Dockerは、従来の仮想マシンよりも軽量で効率的なコンテナを用いて仮想化(パソコンの中に仮想パソコンを起動する)を実現。Dockerコンテナは、Dockerイメージから生成された実行時の環境です。コンテナはイメージを基にして起動し、アプリケーションを実行するための隔離された環境を提供する。
Web(Python)

【Python/Flask】仮想環境構築方法・debug・相対絶対import・f文字フォーマット

通常Pythonのバージョンは、システムにインストールしたひとつのPythonバージョンを利用する。ただし、中にはPythonライブラリの更新が止まっていて、少し前のPythonバージョンしか対応していないライブラリも存在する。その場合、そのPythonライブラリに合わせ、システムのPythonバージョンをダウングレードさせるのかはとても手間。
AI

【ChatGPT×LINE】リッチメニューで複数方言対応:方言切り替え記憶を保存

ユーザーが方言を選択すると、その選択をFirestoreデータベースに保存する。これにより、ユーザーの方言設定をセッション間で保持できる。ユーザーからの各テキストメッセージを処理する際に、データベースからユーザーの現在の方言設定を取得し、それに基づいて応答を生成する。
AI

【ChatGPT×LINE】リッチメニューの画像をCLIからアップロードする方法

LINEのリッチメニューに、各方言のアイコンを用意して、ユーザーがアイコンをクリックしたら、その方言バージョンの会話に切り替えられるように拡張する。ユーザーが設定した方言に応じたプロンプトを呼び出して、OPENAI_APIに渡す。
アプリ(Flutter)

【Flutter:hooks_riverpod × Freezed】APIからのJSONレスポンスをもとにユーザー情報表示

hooks_riverpodとFreezedを使用して、APIからのJSONレスポンスをもとにFlutterアプリでユーザー情報を表示する一連の流れをまとめる。api_client.dart でAPIエンドポイント(api_path.dartで定義)からデータを取得し、そのJSONオブジェクトを UserResponse クラスを使用してDartオブジェクトに変換する。この変換は user_repository.dart で行われる。そして、変換されたユーザーデータをRiverpodプロバイダーを通じてUI層(user_view.dart)で表示する。