<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>そらえふのブログ</title><description>ソフトウェア開発と生活についてのメモ。</description><link>https://sora.fukui.jp/</link><item><title>ドメインプリミティブ</title><link>https://sora.fukui.jp/domain-primitive/</link><guid isPermaLink="true">https://sora.fukui.jp/domain-primitive/</guid><description>ビジネスロジックを記述する際に、処理がコードの至る所に散らばってしまい、データや計算の整合性が取れなくなってしまうことがあります。  例えば、長さを扱うアプリケーションで単純に int 型で長さを扱った場合、メートルとセンチメートルを混同してしまい、深刻なバグを引き起こす可能性があります。 また長さを扱う場合、単位を変換したいことがあります。変換ロジックがU</description><pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate></item><item><title>そらえふのブリキとは</title><link>https://sora.fukui.jp/about-soraef-bliki/</link><guid isPermaLink="true">https://sora.fukui.jp/about-soraef-bliki/</guid><description>言葉の定義というものは、曖昧であることが多いです。 厳密な定義が辞書や論文等にまとまっていることもあるかもしれませんが、そうでないものも多くあります。  そして言葉というのは使い手の誤解や環境によって、その定義を都合よく書き換えられていくこともあります。  IT技術においては、特に定義に厳密でありたい人もいれば、便利ならばなんでも良いという人もいるため、同じ</description><pubDate>Wed, 13 Nov 2024 00:00:00 GMT</pubDate></item><item><title>Flutterのよく使うWidgetの命名(Suffix)をまとめてみる</title><link>https://sora.fukui.jp/flutter-widget-suffix/</link><guid isPermaLink="true">https://sora.fukui.jp/flutter-widget-suffix/</guid><description>   はじめに  Flutterアプリケーション開発において、適切なウィジェット命名は、コードの可読性、保守性、そして全体的な品質を大きく左右します。本記事では、効果的なウィジェットサフィックスの使用方法について、実践的な例を交えながら詳しく解説します。     なぜウィジェットサフィックスが重要か  ウィジェットサフィックスは以下の理由で重要です：  1.</description><pubDate>Mon, 08 Jul 2024 00:00:00 GMT</pubDate></item><item><title>モバイルアプリ開発におけるUI概念の定義：View、Screen、Page</title><link>https://sora.fukui.jp/define_view_screen_page/</link><guid isPermaLink="true">https://sora.fukui.jp/define_view_screen_page/</guid><description>本記事では、モバイルアプリケーション開発、特に Flutter フレームワークにおける View、Screen、Page の概念について定義と解釈を提示します。これらの定義は以下の通りです：  - View: UI の中の視覚的、機能的に区切られた部分を表す最小単位のモジュール - Screen: View のコンテナとして機能し、1つの画面に表示される U</description><pubDate>Mon, 01 Jul 2024 00:00:00 GMT</pubDate></item><item><title>概念モデルと実装モデル</title><link>https://sora.fukui.jp/concept-model-implement-model/</link><guid isPermaLink="true">https://sora.fukui.jp/concept-model-implement-model/</guid><description>最近OOUIに関する本を読みました。この本は、オブジェクト指向でのユーザインターフェースの設計について書かれています。OOUIは、UIの設計にオブジェクト指向の考え方を取り入れる設計方法で、ユーザーが操作するオブジェクトをモデル化し、それらのオブジェクト間の関係を設計することで、UIの設計を行います。  現実世界で道具を使う際に、物を手に取って操作するのが自</description><pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Flutter: SliverAppBar と TabBarView を組み合わせたサンプルコード</title><link>https://sora.fukui.jp/flutter-sliver-appbar-tabbar/</link><guid isPermaLink="true">https://sora.fukui.jp/flutter-sliver-appbar-tabbar/</guid><description>このサンプルコードは、SliverAppBar と TabBarView を組み合わせた画面を作成する際の基本的な実装例です。AppBar と TabBar を連携させることで、スクロール時に AppBar が固定され、タブ切り替え時に対応するコンテンツが表示されるようになります。背景画像やタブの数、コンテンツの内容などをカスタマイズして、アプリケーションの</description><pubDate>Thu, 06 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Utilsとsharedの違い</title><link>https://sora.fukui.jp/utils-shared-diff/</link><guid isPermaLink="true">https://sora.fukui.jp/utils-shared-diff/</guid><description> Utils （ユーティリティ）と Shared （共有）は、ソフトウェア開発で使われる用語で、役割や目的に若干の違いがあります。これらの違いを理解することは、コードの整理と再利用性を向上させる上で役立ちます。      Utils（ユーティリティ） -   目的  :  Utils クラスやフォルダは、特定の機能に関連する一般的なヘルパー関数やユーティリテ</description><pubDate>Wed, 08 May 2024 00:00:00 GMT</pubDate></item><item><title>プログラミング命名チートシート</title><link>https://sora.fukui.jp/programming_naming/</link><guid isPermaLink="true">https://sora.fukui.jp/programming_naming/</guid><description>プログラミングをしていると、変数名や関数名、クラス名などの命名に悩むことがあります。 命名が適切でないと、コードが読みにくくなったり、他の人がコードを理解しにくくなったりします。 この記事はプログラミングの命名に関するチートシートです。  変数名、関数名、クラス名について随時更新していきます。     関数      真偽値を返す関数 命名:  is  + </description><pubDate>Tue, 23 Apr 2024 00:00:00 GMT</pubDate></item><item><title>クラスのデザインパターン</title><link>https://sora.fukui.jp/design-pattern-class-basic-usage/</link><guid isPermaLink="true">https://sora.fukui.jp/design-pattern-class-basic-usage/</guid><description>ソフトウェア開発において、デザインパターンは複雑な問題を解決するための重要なツールです。一般的にデザインパターンは、複数のクラスやオブジェクト間の相互作用に焦点を当てています。しかし、単一のクラスにおいても、さまざまな利用方法やパターンが存在し、これらはしばしば見過ごされがちです。本記事では、単一のクラスの利用方法を3つのパターンに分類し、それぞれの特徴、利</description><pubDate>Thu, 14 Dec 2023 00:00:00 GMT</pubDate></item><item><title>Dart言語におけるNullable値の扱い方のTips</title><link>https://sora.fukui.jp/dart-let/</link><guid isPermaLink="true">https://sora.fukui.jp/dart-let/</guid><description>  Dart言語におけるNullable値の扱い方のTips  プログラミングでは、しばしば null が許容される変数を扱うことがあります。Dart言語においても、この nullable な値の扱いは重要なポイントです。今回は、 int? のような nullable な値をより便利に扱うためのTipsを紹介します。     Nullableな値を2倍にする</description><pubDate>Fri, 10 Nov 2023 00:00:00 GMT</pubDate></item><item><title>Gitコミットログにステータスを追加してわかりやすくする方法</title><link>https://sora.fukui.jp/github-commit-message/</link><guid isPermaLink="true">https://sora.fukui.jp/github-commit-message/</guid><description>Gitを活用する際、特にチームでの開発でコミットログが増えると、どのコミットがどのような変更を伴うのかを一目で理解するのは難しくなります。そのような時に役立つのが、コミットメッセージのプレフィックスとしてステータスを追加する方法です。      コミットの種類とプレフィックス  以下に、代表的なコミットの種類とそれを示すプレフィックスを示します：  1.  </description><pubDate>Wed, 26 Jul 2023 00:00:00 GMT</pubDate></item><item><title>ギャンブルで必ず負ける方法</title><link>https://sora.fukui.jp/how-to-lose-at-gambling/</link><guid isPermaLink="true">https://sora.fukui.jp/how-to-lose-at-gambling/</guid><description>ギャンブルで必ず負ける方法というものが存在するので、説明してみる。  次のようなゲーム ギャンブル を考える。  1. コインを投げて裏が出るか表が出るかを予想する 2. 裏か表かの予想にお金をN円かけることができる 3. 予想が当たった場合、2倍の2N円もらえる 4. 予想がハズレた場合、予想したお金は没収される  ただしコインが裏表が出る確率は1/2であ</description><pubDate>Sat, 15 Jul 2023 00:00:00 GMT</pubDate></item><item><title>VPS上でDockerを使用してNginx環境を構築する方法</title><link>https://sora.fukui.jp/vps-docker-nginx-ssl/</link><guid isPermaLink="true">https://sora.fukui.jp/vps-docker-nginx-ssl/</guid><description>この記事では、VPS上でDockerを使用してNginxの環境を構築する方法について説明します。 この記事は 前の記事  https://sora.fukui.jp/vps-docker-fastapi/ の続きです。    目次   1. はじめに 2. Nginxの基本概念 3. 既存のdocker-compose.ymlにNginxの設定を追加する 4</description><pubDate>Wed, 19 Apr 2023 00:00:00 GMT</pubDate></item><item><title>VPSでDockerを使ってPythonとFastAPIでAPI環境構築</title><link>https://sora.fukui.jp/vps-docker-fastapi/</link><guid isPermaLink="true">https://sora.fukui.jp/vps-docker-fastapi/</guid><description>VPS上にDockerを使用してPythonとFastAPIでAPIを作成するための環境構築方法について説明します。この記事では、VPSに初めてログインした状態からDocker環境の構築までの手順を紹介します。また、DockerfileやDocker Composeの設定内容についても説明します。  OSにはUbuntu 22.04を使用しています。    </description><pubDate>Tue, 18 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Docker-ComposeとPythonを使ったAPIキーの管理方法</title><link>https://sora.fukui.jp/docker-compose-api-management/</link><guid isPermaLink="true">https://sora.fukui.jp/docker-compose-api-management/</guid><description>この技術ブログでは、Docker-ComposeとPythonを利用してAPIキーなどの機密情報をコードに埋め込まずに利用する方法を解説します。この方法を使うことで、セキュリティリスクを減らし、環境ごとの設定の変更が容易になります。  目次 1. はじめに 2. Docker-Composeのenvironmentについて 3. Pythonで環境変数を読み</description><pubDate>Fri, 14 Apr 2023 00:00:00 GMT</pubDate></item><item><title>Dockerを使ってMongoDBの環境構築をする方法</title><link>https://sora.fukui.jp/fast-api-mongo-db/</link><guid isPermaLink="true">https://sora.fukui.jp/fast-api-mongo-db/</guid><description>  目次    -  1. はじめに   1-はじめに  -  2. DockerとMongoDBの概要   2-dockerとmongodbの概要  -  3. ディレクトリ構造   3-ディレクトリ構造  -  4. docker-compose.ymlの設定   4-docker-composeymlの設定  -  5. ユーザ作成用の設定を書く   </description><pubDate>Mon, 10 Apr 2023 00:00:00 GMT</pubDate></item><item><title>最小限のDocker×FastAPIの環境構築</title><link>https://sora.fukui.jp/fast-api-intro/</link><guid isPermaLink="true">https://sora.fukui.jp/fast-api-intro/</guid><description>PythonでAPIサーバを立てるときに選択肢として、DjangoやFlaskが有名ですが、FastAPIというフレームワークがあるのをご存じでしょうか？  私はそんなにPythonでAPIサーバを書くことはないので、今日まで知らなかったのですが、どうやらモダンなフレームワーク臭を感じ取ったので、さっそく触ってみました。  軽く触ってみて、環境を作って動かす</description><pubDate>Fri, 07 Apr 2023 00:00:00 GMT</pubDate></item><item><title>ChatGPTに強化学習について聞いてみた2(Q学習で迷路ゲームのエージェント作成)</title><link>https://sora.fukui.jp/chatgpt-reinforcement-learing2/</link><guid isPermaLink="true">https://sora.fukui.jp/chatgpt-reinforcement-learing2/</guid><description>ChatGPTに強化学習について聞いてみたの２回目です。  前回の記事は こちら  https://sora.fukui.jp/chatgpt-reinforcement-learing/   前回の最後に強化学習についての環境として、迷路ゲームを挙げていました。  そろそろ、具体的なコードで強化学習を理解したいと思い始めましたので、迷路ゲームのエージェント</description><pubDate>Wed, 05 Apr 2023 00:00:00 GMT</pubDate></item><item><title>ChatGPTに強化学習について聞いてみた1</title><link>https://sora.fukui.jp/chatgpt-reinforcement-learing/</link><guid isPermaLink="true">https://sora.fukui.jp/chatgpt-reinforcement-learing/</guid><description>ChatGPTは、OpenAIが開発した自然言語処理技術を用いた大規模な言語モデルです。ChatGPTは、大量の自然言語のデータを学習することによって、自然な対話を生成することができます。  単語列から次に来るであろう、もっともらしい単語を選択して出力するというのが、言語モデルなのですが、それを大量の文章で学習させた結果、いろいろなことができる用になりました</description><pubDate>Wed, 29 Mar 2023 00:00:00 GMT</pubDate></item><item><title>イミュータブルなオブジェクトの利点</title><link>https://sora.fukui.jp/mutable-vs-immutable/</link><guid isPermaLink="true">https://sora.fukui.jp/mutable-vs-immutable/</guid><description>   ミュータブルなオブジェクト ミュータブルなオブジェクトとは、作成したオブジェクトがあとから変更可能となるような性質のオブジェクトのことです。 Dart言語では次のようにミュータブルなオブジェクトを定義できます。座標を表すオブジェクトを題材としてみます。     dart class MPoint {   double x;   double y;   </description><pubDate>Sat, 18 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Typescriptをローカルで実装する最小限の手順</title><link>https://sora.fukui.jp/typescript-run/</link><guid isPermaLink="true">https://sora.fukui.jp/typescript-run/</guid><description>   1. パッケージをインストール typescriptを実行するために typescript と ts-node をインストールします。     bash npm install --save-dev typescript ts-node         2. 実行したいコードを書く src/hello.tsに実行したいコードを書きます。     typ</description><pubDate>Tue, 31 Jan 2023 00:00:00 GMT</pubDate></item><item><title>Gatsbyのバージョンを2系から5系にアップデート</title><link>https://sora.fukui.jp/gatsby-update-v5/</link><guid isPermaLink="true">https://sora.fukui.jp/gatsby-update-v5/</guid><description>このブログは約２年前に作成されたのですが、ブログを作ることに満足してその後２年間記事もほとんど書かれずに放置されてました。 今回ブログを気まぐれに再開してみようと思い立ったので、手始めにブログを手元でビルドしてみることに。  このブログはGatsbyというフレームワークで動いているので、Gatsbyのメジャーバージョンを確認したところ最新版は5系になっていま</description><pubDate>Tue, 17 Jan 2023 00:00:00 GMT</pubDate></item><item><title>2020年学んだこと・使った技術</title><link>https://sora.fukui.jp/look-back-2020/</link><guid isPermaLink="true">https://sora.fukui.jp/look-back-2020/</guid><description>2020年もあと数日で終わりということで,　この機会に2020年学んだこと・使った技術をまとめておきたいと思います.   2020年は研究室では自然言語処理の勉強・研究をしました. 仕事ではFlutter, Firebase, AWSを使用しました. また11, 12月には個人的にDDD ドメイン駆動設計 の本を何冊か読みました.      自然言語</description><pubDate>Thu, 24 Dec 2020 00:00:00 GMT</pubDate></item><item><title>[CDK入門]TypescriptでEC2の環境を作る</title><link>https://sora.fukui.jp/aws-cdk-ec2/</link><guid isPermaLink="true">https://sora.fukui.jp/aws-cdk-ec2/</guid><description>CDKを使うことでAWSのリソースをプログラミング言語を使用して定義する事ができます。 コマンド1つでAWSの環境を作成・削除ができるので、とっても便利です。 CDKのコードさえあれば他人が作った環境再現できたり、開発中は値段を抑えるためにこまめにリソースを削除しておくみたいなことができます。  今回はTypescript + CDKを使用して、EC</description><pubDate>Sun, 18 Oct 2020 00:00:00 GMT</pubDate></item><item><title>Gatsby.jsとNetlifyを使ったブログ作成</title><link>https://sora.fukui.jp/create-blog-gatsby-netlify/</link><guid isPermaLink="true">https://sora.fukui.jp/create-blog-gatsby-netlify/</guid><description>ブログを作ろうと数年前から思っていたのですが、めんどくさくて行動に移せてませんでした。 少し前にGatsbyとNetlifyで静的なサイトを作成する仕事をしたので、この構成でブログを作ろうとはなんとなく思ってました。 こういうのは三日坊主になりがちなのでブログが公開できるところまで作ったら、即公開するというルールで作りました。     Gatsbyと</description><pubDate>Sat, 17 Oct 2020 00:00:00 GMT</pubDate></item></channel></rss>