記事一覧
-
AIとの対話で225ページの設計書を2時間で作成した話 - 新しい要件定義の形
2025/11/02💡 12049文字
ZENN -
前回はFirebaseAuthRepositoryを作成しました。 https://qiita.com/yuta317/items/5cfc888634aaa2a4e9e7 今回はViewModelを実装していきます。 # LoginViewModel ```LoginViewModel.kt class LoginViewModel( private val loginUsaCase: LoginUsaCaseImpl = LoginUsaCaseImpl(firebaseAuthRepository = FirebaseAuthRepositoryImpl()) ): ViewModel() { private val _uiState = MutableStateFlow(AuthUiState()) val uiState: StateFlow = _uiState // 完了通知...
Qiita -
xUnitでCSVからテストデータを読み込む
2025/11/02## 概要 xUnitでCSVファイルからテストデータを読み込んで単体テストを行う手順。 テストデータをコード内に直接記述せずに外部のCSVファイルから読み込むことで、テストケースの追加や変更が容易になる。 ## 目次 - [概要](#概要) - [前提条件](#前提条件) - [手順](#手順) ## 前提条件 - xUnitのセットアップが完了していること - [VS CodeでxUnitを使って単体テストを行う](https://qiita.com/errguess40/items/e6694609b1352f8290a9) ## 手順 ### 1. CSVファイルを準備する テストデータを記述したCSVファイルを作成する。 - sample.csv - 1行目: ヘッダー行 - 2行目以降: テストデータ ```csv x,y,result 1,2,3 4,5,9 51,49,10...
Qiita -
初心者がFlutterアプリを起動する
2025/11/02# はじめに こんにちは、エンジニアのkeitaMaxです。 https://docs.flutter.dev/get-started/quick https://docs.flutter.dev/install/manual 公式のクイックスタート通りにFlutterのアプリを作成しようと思います。 git と vscodeさえ用意しておけば大丈夫っぽいです。 # プロジェクトの作成 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter VSCodeに↑の拡張機能をインストールします。 https://docs.flutter.dev/install/manual `Flutter SDKバンドルをダウンロードする`からZipファイルをダウンロードします。 ダウンロードしたら解凍し、sdkを置くフォルダ...
Qiita -
AWS Cloud Practitioner④【データベース】
2025/11/02# データベース ## リレーショナルデータベースサービス データを他のデータと関連付けて保存するのがリレーショナルデータベース。 ### Amazon Relational Database Service(Amazon RDS) パッチ適用、バックアップ、冗長性、フェイルオーバー、ディザスタリカバリなどが利用できるマネージド型のリレーショナルデータベースサービス。 Amazon Aurora、MySQL、PostgreSQL、Microsoft SQL Server、MariaDB、Oracle Databaseなどをサポート。 ### Amazon Auora フルマネージド型のリレーショナルデータベースサービス。 標準的なMySQLと比べて最大で5倍のスループットを実現している。 MySQL、PostgreSQL、DSQLをサポート。 耐久性と耐障害性を高めるために複数のアベイラビ...
Qiita -
PostgreSQLの裏側を学びたい(Step4:コネクションプールを学ぶ)
2025/11/02## はじめに 前回までの続きです。今回はコネクションプールについて学んでいきます! たしか、コネクションプールはコネクションを確保しておいてそれを使い回すという考え方。コネクションを毎回貼り直すとコストがかかるので最初に一定の数結んでおいてそれを使い回すというやつ。 ユーザーが変わるたびにゲームキューブのコントローラーを毎回抜き差しすると大変だよね。だから、コントローラーは先につけておいて、コントローラーだけ変更するとゲームする時楽だよねってイメージで覚えている。 今回も座学の範囲はChatGPTに教えてもらいます。情報が正しくない可能性もありますが、悪しからず。 ## 🧩 コネクションプールとは? PostgreSQL における **コネクション(接続)** は、 「アプリ ⇨ データベース」の間に作られる通信の橋のことです。 PostgreSQL は「1接続 = 1プロセス(バック...
Qiita -
動かしながらBGPを理解する
2025/11/02# 背景 私は、研究室のベアメタルサーバーを用いてKubernetesクラスタを構築しており、その中で様々な技術的な検証を行なっています。 https://qiita.com/tryu___/items/651486bb8d96d6c5bff6 例えば、Longhornを用いた分散ストレージの検証を行なったり、VM間通信を行うためにVXLANによるオーバーレイネットワークを構築したりもしました。 参考: https://qiita.com/tryu___/items/a972734fc187d172087d 以前はブリッジアダプタやVXLANなど、L2での通信技術を検証していましたが、今回はL3での通信を行う技術として、**BGP**というルーティングプロトコルを用いた通信を検証してみたいと思います。 # BGPについて ## 概要 BGPは、異なるAS(Autonomous System...
Qiita -
中途半端情報系、新卒エンジニア半年備忘録
2025/11/02## こんにちは! こんにちは!新卒一年目エンジニアのアーリオ@ario_techと申します! 今現在はSIerの開発部署で開発に携わっています! Qiitaに投稿するのがエンジニア仕草と聞いて、アカウントを作ってみたのですが、そもそも発信できるような技術も無ければ、用意もない……… とはいえ、何かは投稿してみたい……… ### よし、じゃあとりあえず備忘録を書こう! となったので、書いていきます。これが来年の新卒エンジニアの何かの足しになれば幸いです。(技術書買いに行く前のイヤホンの充電が完了するまでの流し書きです) ## スペック 情報系学部出身(classとか基本文法を知っている程度、モダンな技術一切知らない) 4月での資格:Pythonエンジニア技術者・Pythonデータ分析技術者・基本情報技術者 ## 大学4年生時点の自分 そうですね、私は研究に興味があったので、そちらに傾倒して...
Qiita -
モジュール性成熟度指数の評価
2025/11/02# 一般的な計算(評価)のアプローチ モジュール性成熟度指数(Modularity Maturity Index - MMI)には、業界標準として統一された単一の計算式はありません。 これは、2+2=4のように数値を当てはめて計算する単一の指標ではなく、多くの場合、特定のモデルやフレームワークに基づいた**評価(アセスメント)によって決定される「成熟度レベル」または「スコア」** です。 MMIは、CMMI(能力成熟度モデル統合)のように、あらかじめ定義された **複数の「観点」と「成熟度レベル」** のマトリクスに対して、現在のアーキテクチャがどの段階にあるかを評価(採点)することで算出されます。 ## ステップ1:成熟度レベルの定義 まず、モデルはモジュール性の成熟度をいくつかのレベル(例:レベル0〜5)に定義します。 ### レベル0 (Ad-Hoc) 完全にモノリシック。コードは密...
Qiita -
PostgreSQLの裏側を学びたい(Step3:バックエンドプロセスを学ぶ)
2025/11/02## はじめに 前回までの続きです。バックエンドプロセスを学ぶ。 今回もChatGPTに教えてもらっているので、解説までは正しくない内容を記載している可能性があります😀 # バックエンドプロセス(Backend Process)を理解する Postmaster(マスターサーバプロセス)は、サーバ全体の司令塔でした。 では実際に **SQLを実行しているのは誰か?** それが「**バックエンドプロセス(Backend Process)**」です。 ## 🧠 バックエンドプロセスとは? - クライアント(psql やアプリ)が PostgreSQL に接続したときに、 **Postmaster が fork() して生成する子プロセス** です。 - 1つの接続に対して1つずつ作られます(=**1接続1プロセスモデル**)。 つまり: クライアント1つ → バックエンドプロセス1つ クライ...
Qiita -
ブラウザフィンガープリントの完全ガイド
2025/11/02# ブラウザフィンガープリントの完全ガイド ## はじめに デジタル世界において、システムは訪問者を識別し理解する方法を必要とします。より良いサービスを提供し、詐欺を防ぎ、プラットフォームのセキュリティを維持するためです。 クッキー、アカウント、ログイン情報に依存しません。代わりに、ブラウザとデバイスの自然な特性を使用して、比較的安定したデバイス識別子を形成します。この識別方法は、現代のインターネットシステムの基礎インフラストラクチャになりつつあります。電子商取引の詐欺防止から的を絞った広告、ソーシャルプラットフォームのコンテンツセキュリティから金融リスク管理システムまで、ブラウザフィンガープリントはあらゆる場所でますます重要な役割を果たしています。 ブラウザフィンガープリントは、まさにそのようなテクノロジーです。 ブラウザフィンガープリントを理解することは、現代のデジタル世界がどのように...
Qiita -
f23: ubuntu + 海外アクセス抑止 + 自動更新(2) ufw 更新版
2025/11/02. 2025/11/02 以下訂正 [ 02. 事前設定 ] **誤:** **以下を実施し、after.init を実行可能状態にしておきます** ```bash: # chmod +x /etc/ufw/after.init # chmod +x /etc/ufw/after.init.drop_except_jp ``` (ファイル (after.init.drop_except_jp) 作成されていない状態で、chmod を行っている) **正:** **以下を実施し、after.init と after.init.drop_except_jp を 実行可能状態にしておきます** ```bash: # chmod +x /etc/ufw/after.init # touch /etc/ufw/after.init.drop_except_jp # chmod +...
Qiita -
# 1. はじめに 生成AIを活用したアプリケーション開発において、以下のような課題に直面したことはありませんか? - 「本番環境でLLMが変な応答を返したけど、何が原因か分からない」 - 「プロンプトを変更するたびにコードをデプロイするのが面倒」 - 「どのプロンプトバージョンがパフォーマンス良いか分からない」 - 「トークン使用量やコストが把握できていない」 - 「非エンジニアのチームメンバーがプロンプトを編集できない」 これらの問題を解決のために**Langfuse**を紹介したいと思います > Langfuse is an open-source LLM engineering platform that helps teams collaboratively debug, analyze, and iterate on their LLM applications. All pl...
Qiita -
## 概要 Git操作でやらかしてしまったとき、`git reflog`や`git reset`が役に立った。 この記事では、ミスの内容や解決方法など、学んだことを記録する。 ## ミスの内容 筆者がやってしまったミスは以下の2つ。 - 自分の作業ブランチに、`git pull`すべきでないブランチの変更を取り込んでしまった - 本来作業すべきブランチとは別のブランチで作業を行い、`git commit`と`git push`を行なってしまった ## 解決方法 どちらのミスも、`git reflog`と`git reset`で解決することができた。 ### git reflogで操作履歴を確認 まず、`git reflog`でブランチのHEADを確認した。 ```zsh git reflog # 出力例: # コミットハッシュ値 HEAD@{0}: commit: コミットコメント # コ...
Qiita -
グループ構文`{}`を利用した出力
2025/11/02🐺 855文字
ZENN -
犬がボール遊びに夢中になるのは人間の中毒症状と類似している可能性
2025/11/02スイスのベルン大学の研究者らが、一部の家庭犬に見られる「過度な遊びへの意欲」が、ギャンブルやインターネットゲームといった人間の「行動嗜癖(しへき)」と類似している可能性を調査しました。この研究は、犬が人間に次いで、人工的な誘導なしに自発的に嗜癖に似た行動を示す唯一の動物であるかもしれないという点に注目しています。 続きを読む...
Gigazine -
Wilson's algorithm で迷路生成
2025/11/02 ```java int cols = 25; int rows = 25; int cs = 20; // セルの大きさ boolean[][] inMaze; // 迷路にもう入ったか boolean[][] rightOpen; // [x][y] と [x+1][y] がつながっている boolean[][] downOpen; // [x][y] と [x][y+1] がつながっている void setup() { size(501, 501); inMaze = new boolean[cols][rows]; rightOpen = ne...
Qiita -
Flutterアプリ爆速初期構築ツールを作ってみた
2025/11/02こんにちは、YOKKOです。 普段は個人開発でFlutterアプリを作成しており、これまでにiOS / Android 向けに7つのアプリをリリースしています。 新しいアプリを作るたびに、構成の整理や初期設定、パッケージ構成などの“最初の準備”に手間がかかることが多く、 >「もっと早く本質的な部分の実装に入れたらいいのに」 と感じていました。 そんな課題感から作ったのが、 **Flutterプロジェクト自動生成ツール「YokoFlu」** です。 今回はそのツールについて簡単にご紹介しようと思います。 --- ## ツール概要 [GitHub - yokkomystery/YokoFlu](https://github.com/yokkomystery/YokoFlu) **YokoFlu** は、 Flutterプロジェクトの初期構成をGUIで自動生成できるツールです。 ブラウザ上でアプ...
Qiita -
AWS Cloud Practitioner③【ストレージ】
2025/11/02# ストレージ **ブロックストレージ**: ファイル単位ではなくブロック単位でアクセスすることで高速かつ効率的になる。 データベースに最適。 **オブジェクトストレージ**: データ+ID+メタデータの形式。 メタデータによってデータの整理や取得が容易になる。 動画、バックアップ、ログなど頻繁に更新されないファイルに最適。 **ファイルストレージ**: アプリケーション間で共有できる階層型ファイルシステムを使用。 コンテンツ管理システムなど共有アクセスを必要とするアプリケーションに最適。 ## ブロックストレージ **Amazon EC2インスタンスストア**: EC2インスタンスに付属している。 インスタンスが停止または終了するとそのデータは失われる。 高いI/Oパフォーマンスを持つ。 **Amazon Elastic Block Store(EBS)**: インスタンスが停止してもデ...
Qiita -
【作ってみた】VimでSphinx対応するためのプラグイン実装
2025/11/02以下記事で紹介したプラグイン登録手順から、 **sphinxで利用するreStructuredTextをVimでサポートするプラグイン**を実装しました。 https://qiita.com/mob_engineer/items/db0be0014f081f744741 ソースコード https://github.com/MASAKIOKUDA-eng/sphinx-vim :::note info READMEに簡単に実装方法をまとめています。 :::  正直、イベント内で実装している+Claude Codeを利用してVibe Codingしたので...
Qiita