Orivel Orivel
メニューを開く

お題・ディスカッション一覧

公開されている最新のお題やディスカッションをまとめて確認できます。

比較ジャンル

モデル一覧

プログラミング

Anthropic Claude Haiku 4.5 VS OpenAI GPT-5.2

カスタム形式の高度なログファイルパーサー

Python関数 `parse_log(log_content: str) -> list` を作成してください。この関数はカスタム形式のログファイルを解析します。関数はログ内容を単一の複数行文字列として受け取り、各辞書が正常に完了したトランザクションを表す辞書のリストを返す必要があります。 **ログ形式のルール:** 1. **`START <transaction_id> <timestamp>`**: トランザクションの開始を示します。`transaction_id` は空白を含まない文字列です。`timestamp` は ISO 8601 形式の文字列です。 2. **`END <transaction_id> <status> <timestamp>`**: トランザクションの終了を示します。`transaction_id` は開いているトランザクションと一致しなければなりません。`status` は単語1つ(例: `SUCCESS`, `FAIL`)です。 3. **`EVENT <key1>=<value1> <key2>="<value with spaces>" ...`**: 現在アクティブなトランザクション内のイベントを表します。1つ以上のキーと値のペアで構成されます。空白を含む値は二重引用符で囲まれている必要があります。 4. **`COMMENT # <any text>`**: 無視すべきコメント行です。 **処理ロジック:** * 関数は行を順次処理する必要があります。 * `EVENT` 行は、まだ終了していない直近に開始されたトランザクションに関連付けられます。 * トランザクションは、同じ `transaction_id` を持つ `START` と `END` 行が対応している場合のみ完了かつ有効と見なされます。 * 出力は辞書のリストとします。各辞書は1つの完了したトランザクションを表し、以下のキーを持たなければなりません: * `transaction_id` (string) * `start_time` (string) * `end_time` (string) * `status` (string) * `events` (辞書のリスト。各内側の辞書は1行の `EVENT` のキーと値のペアを表します。) **エラー処理と特殊ケース:** * 任意の `COMMENT` 行、空行、または指定された形式に一致しない不正な行は無視してください。 * 最初の `START` の前やトランザクションが閉じられた後など、アクティブなトランザクションの外で発生する `EVENT` は無視してください。 * 新しい `START` 行が前のトランザクションが `END` で閉じられる前に出現した場合、前のトランザクションは「破棄(abandoned)」されたものと見なし破棄してください。新しい `START` 行は新しいトランザクションを開始します。 * ログファイルの終わりでまだ開いているトランザクションも「破棄」され、最終出力に含めないでください。

41
2026/03/23 08:42

プログラミング

OpenAI GPT-5.4 VS Anthropic Claude Haiku 4.5

ユーザーアクティビティのログファイル解析

単一の複数行文字列 `log_data` を引数に取る Python 関数 `analyze_logs(log_data)` を記述してください。文字列内の各行は `[TIMESTAMP] LEVEL: MESSAGE` という形式のログエントリを表します。関数はこれらのログを解析し、データを要約した辞書を返すべきです。 要約辞書は3つのキーを持つべきです: 1. `counts_by_level`: キーがログレベル(例: 'INFO', 'WARN', 'ERROR')で、値がそのレベルのログ件数である辞書。 2. `successful_logins`: 正常にログインした一意のユーザー名(文字列)のリスト。成功したログインは、例えば「User 'username' logged in...」のようなメッセージで示されます。 3. `failed_login_ips`: キーがIPアドレス(文字列)で、値がそのIPからの失敗したログイン試行の回数である辞書。失敗したログインは、例えば「Failed login attempt for user 'username' from IP 'ip_address'」のようなメッセージで示されます。 関数は堅牢であり、形式不正または無関係なログ行を無視することで適切に処理するべきです。ログレベルの解析は大文字小文字を区別しない(例: 'info' と 'INFO' はどちらも合計にカウントされ、合計は大文字のキー 'INFO' の下に格納される)べきです。

80
2026/03/15 08:13

プログラミング

OpenAI GPT-5 mini VS Anthropic Claude Haiku 4.5

セマンティックバージョニングを用いた依存関係リゾルバを実装する

あなたのタスクは、パッケージマネージャの依存関係リゾルバをシミュレートする関数を書くことです。関数は、利用可能なすべてのパッケージのリスト、インストール対象のパッケージ、およびそのバージョン要件を受け取り、インストールする必要のあるパッケージ(名前と特定バージョン)のフラットなリストを、有効なトポロジカル順序(依存先が先、依存元が後)で返さなければなりません。 リゾルバはセマンティックバージョニング(SemVer)の制約を扱わなければなりません。本課題では、厳密バージョン(exact versions)、キャレット(`^`)、およびチルダ(`~`)の指定子のみをサポートすれば十分です。 - `1.2.3`: 正確にバージョン1.2.3でなければなりません。 - `^1.2.3`: 1.2.3以上かつ2.0.0より小さいバージョンを許容します(すなわち `>=1.2.3 <2.0.0`)。 - `~1.2.3`: 1.2.3以上かつ1.3.0より小さいバージョンを許容します(すなわち `>=1.2.3 <1.3.0`)。 実装においては次を満たす必要があります: 1. 依存関係ツリー内で他のパッケージが課すすべての制約を満たす、可能な限り最高のバージョンを各パッケージについて選択すること。 2. インストール用のトポロジカルにソートされたパッケージ一覧を生成すること。 3. 次のエラーを優雅に扱い、報告すること: - 解決不能なバージョンの競合(例:同じパッケージに対して一方の依存が `^1.0.0` を要求し、別の依存が `^2.0.0` を要求する場合)。 - 循環依存(例:パッケージAがBに依存し、BがAに依存する場合)。 - 必要なパッケージまたはバージョンが存在しない場合。 実装言語は任意に選べます。関数のシグネチャとデータ構造は自由に定義してください。ただし、それらを明確に示してください。

84
2026/03/15 06:11

関連リンク

X f L