金曜日, 12月 19, 2025
No menu items!
ホーム ブログ ページ 5015

美尻フィギュア「水着ユミア」予約開始!

『ユミアのアトリエ』“水着ユミア”フィギュア予約開始

2025年6月17日、ゲーム『ユミアのアトリエ』から新たに登場した“水着ユミア”フィギュアの予約受付が始まりました。このフィギュアは、キャラクターの魅力を最大限に引き出したデザインが特徴です。

美しさの秘訣

水着姿のユミアは、後ろ姿が特に注目されていますが、前面のディテールも見逃せません。造形の精密さとボディラインの美しさが際立つ仕上がりで、ファンの期待を裏切らない完成度です。また、フィギュアには豊富な表情パーツや小物も付属しており、様々なシーンを再現できる楽しさがあります。

背景情報

『ユミアのアトリエ』は、独特なキャラクターと魅力的なストーリーが人気を集めるシリーズで、特にユミアはその可愛らしさと個性で多くの支持を得ています。フィギュアは、ゲームのファンだけでなく、コレクターにとっても見逃せないアイテムと言えるでしょう。

予約方法と発売日

このフィギュアは各主要通販サイトで予約が可能です。発売日や価格についての詳細は、公式サイトや販売店の情報をチェックしてください。

“水着ユミア”フィギュアの登場を機に、ぜひ手に入れてみてはいかがでしょうか。美しい造形とキャラクターの魅力を堪能することができるチャンスです。

🧠 編集部より:

この記事では、『ユミアのアトリエ』に登場するキャラクター、ユミアの水着フィギュアが予約開始されたことについて紹介しています。このフィギュアは、後ろ姿が特に注目されており、デザインのクオリティや細部へのこだわりが評価されています。もちろん、前面の表現にも力を入れており、ファンを魅了する仕上がりとなっています。

補足説明

  1. ユミアのアトリエについて:
    『ユミアのアトリエ』は、アトリエシリーズの一つで、プレイヤーが錬金術師としてアイテムを作成しながらストーリーを進めていくゲームです。独特のキャラクター達と、豊富なカスタマイズ要素が人気です。

  2. フィギュアの魅力:
    フィギュアの詳細には、体のラインの美しさや肌の質感、さらには水着のデザインにも注目が集まっています。特にアングルによって異なる表情が楽しめるため、コレクターにとっては貴重な一品です。

背景や豆知識

  • フィギュア収集の楽しみ:
    フィギュアを収集する楽しさは、単に所有することだけでなく、アートとして楽しむことにもあります。アーティストの技術やキャラクターへの愛情が詰まっています。

  • アトリエシリーズのファン層:
    アトリエシリーズは、特に女性プレイヤーから支持を受けており、可愛らしいキャラクターたちが愛されています。また、衣装のコスチュームチェンジや季節ごとのイベントも人気の理由です。

参考リンク

ぜひ、フィギュアの詳細をチェックしてみてください!

  • キーワード: 美尻

ユミアのアトリエ をAmazonで探す
フィギュア をAmazonで探す
水着 をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

「美麗ドット絵の釣りゲーム『Cast n Chill』大人気!」

新作釣りゲーム『Cast n Chill』がリリース

日付: 2025年6月17日
デベロッパー: Wombat Brawler
プラットフォーム: PC(Steam)

6月17日、Wombat Brawlerが新しい釣りゲーム『Cast n Chill』をリリースしました。このゲームは、サイドビューの2D釣りゲームで、プレイヤーは小さなボートに乗り、川や湖などで魚釣りを楽しむことができます。放置ゲームとしても遊べるため、気軽に楽しめるのが特徴です。

ゲーム画面

ゲームの特徴

『Cast n Chill』では、さまざまな釣りスポットが用意されており、実在する50種類の淡水魚や海水魚が登場します。特定の時間帯にのみ出現するレアな魚を狙うこともできます。

釣りの流れは、まずボートに乗り、ポイントに移動して釣り糸を垂らします。魚が食いついたら、抵抗とバランスを取りながら釣り上げる必要があります。釣った魚は船着場で売却可能で、サイズによって価値が異なります。

魚釣り中の画面

放置モードと操作性

ゲーム内では放置モードを有効にすることもでき、プレイヤーが忙しい合間に釣りを楽しむことが可能です。また、ウィンドウサイズを自由に調整できるため、他の作業をしながら遊ぶこともできます。

装備とショップ

船着場にはショップがあり、釣り道具の購入やアップグレードが可能です。釣り竿やルアーを変えることで、特定の魚を狙ったり、大物を狙うための強化ができるのが魅力です。

ショップ画面

プレイヤーの反応

『Cast n Chill』はリリース直後から約3600人の同時接続プレイヤーを記録し、好評を得ています。Steamのユーザーレビューでは、約200件のレビューのうち96%が好評で、「非常に好評」の評価を受けています。美しいドット絵とリラックスした雰囲気が評価され、これまでの体験版からの期待も高まっていました。

ゲームの魅力

セール情報

現在、『Cast n Chill』は7月1日までリリース記念として20%オフの1360円(税込)で購入可能です。ぜひこの機会に、新しい釣りゲームの世界を体験してみてください。

リンク: Cast n Chill on Steam
ゲームプレイの動画もチェックしてみてください!

YouTube動画リンク

🧠 編集部より:

『Cast n Chill』の補足説明

デベロッパーのWombat Brawlerが2025年6月17日に配信開始した釣りゲーム『Cast n Chill』は、PC向け(Steam)に特化した作品です。このゲームは、多くのプレイヤーを集め、高評価を得ており、特に放置ゲームとしても楽しめる点が注目です。

ゲームの特徴

  • ドット絵ビジュアル: グラフィックはドット絵スタイルで、サイドビューの2D釣りゲームという独特なデザインが魅力です。生息する魚の種類は、実在の淡水魚や海水魚を中心に50種類も用意されており、多様な釣りスポットが特徴です。

  • 放置ゲームモード: ゲーム内に設定された放置モードでは、プレイヤーがアクションを起こさずとも、自動で漁獲を行ってくれるため、手軽に釣りを楽しむことができます。これは、デスクトップで他の作業をしながらでも遊ぶことが可能です。

  • 装備のカスタマイズ: ショップでは釣り竿やルアーを購入・アップグレードでき、特定の魚をターゲットにした装備を選ぶ楽しみがあります。これにより、より大物を狙う戦略が求められます。

プレイヤーの反応

リリースからの同時接続プレイヤー数は約3600人に達し、Steamのユーザーレビューでは96%が好評と評価されています。特に美しいグラフィックやリラックスした雰囲気が好評を博し、ゲームプレイも意外に本格的であることが強調されています。

背景情報と豆知識

  • 釣りの魅力: 釣りは古代から行われており、リラックス効果が高いとされる趣味の一つです。『Cast n Chill』のようなゲームは、手軽にその魅力を味わえる手段として人気があります。

  • 体験版の成功: ゲームの体験版が好評であったことも、製品版リリース時の注目を集めた一因です。プレイヤーからのフィードバックを取り入れることで、リリース後の改善が図られています。

さらに知りたい方へ

『Cast n Chill』は現在、Steamで配信中であり、リリース記念セールを実施しています。7月1日まで20%オフの1360円(税込)にて購入可能です。詳しくはSteamストアをチェックしてください。

また、Youtubeでのゲームプレイ動画も楽しめるので、興味がある方はぜひ訪れてみてください!こちらから視聴

  • キーワード: 経済的釣り体験

Cast n Chill をAmazonで探す

釣り竿 をAmazonで探す

釣り針 をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

「リトルツインスターズ×grove コラボ商品登場!」

「サンリオ×grove」リトルツインスターズコラボ商品詳細

本日、2025年6月17日、サンリオの人気キャラクター「リトルツインスターズ」とファッションブランドgroveのコラボ商品が発表されました。このコレクションは、懐かしさと可愛らしさを兼ね備えたレトロなデザインが特徴で、子供の頃に愛したキキ&ララを、大人の女性向けに上品にアレンジしています。

コレクションの魅力

このコラボレーションには、50周年の記念マークが付いた特別なタグや、コラボ限定のオリジナル柄が施されています。バッグやポーチを開ける度に現れる可愛らしい裏地は、隠れたトピックの魅力です。普段使いながらも、日常の中でキキ&ララとの特別なつながりを感じることができます。

商品ラインナップ

ここでは、具体的な商品をご紹介します。

  1. Lee別注 スクエアキャンバストートバッグ(5,277円)

    • 色:ライトピンク、ラベンダー、サックスブルー
    • サイズ:高さ20.5cm×幅28.5cm×マチ9cm
    • 特徴:お星様モチーフのカラビナチャーム付き、2WAY仕様。

    「サンリオ×grove」リトルツインスターズコラボ Lee別注 スクエアキャンバストートバッグ

  2. Lee別注 星キルティングトートバッグ(5,277円)

    • 色:ライトピンク、サックスブルー、ライトグレー
    • サイズ:高さ20.5cm×幅28.5cm×マチ9cm
    • 特徴:撥水加工、ファスナー付きでプライベートなグッズも安心。

    「サンリオ×grove」リトルツインスターズコラボ Lee別注 星キルティングトートバッグ

  3. バニティショルダーバッグ(4,397円)

    • 色:アイボリー、シャンパンゴールド
    • サイズ:高さ13cm×幅17cm×マチ9.5cm
    • 特徴:フェイクレザーにキルティング、デザインにもこだわり。

    「サンリオ×grove」リトルツインスターズコラボ バニティショルダーバッグ

  4. セットポーチ(2,527円)

    • 色:ライトピンク、サックスブルー
    • サイズ:大小セット(各高13.5cm×幅17cm×マチ2.5cm)
    • 特徴:バッグチャームとしても利用できる2WAY仕様。

    「サンリオ×grove」リトルツインスターズコラボ セットポーチ

  5. シェルポーチ(2,527円)

    • 色:アイボリー、ライトピンク、サックスブルー
    • サイズ:高さ10.5cm×幅18cm×マチ5.5cm

    「サンリオ×grove」リトルツインスターズコラボ シェルポーチ

  6. スクエアジップポーチ(2,527円)

    • 色:アイボリー、ライトピンク、サックスブルー
    • サイズ:高さ14cm×幅18.5cm

    「サンリオ×grove」リトルツインスターズコラボ スクエアジップポーチ

販売概要

  • 先行発売:2025年6月27日(金)オンラインストア
  • 店頭発売:2025年7月1日(火)全国店舗(一部を除く)
  • オンラインストアリンク

このコレクションは、50年という歴史を持つリトルツインスターズと、日常に可愛さをプラスするgroveの融合を楽しめます。特別な記念の年に、心温まるアイテムをぜひご覧ください。

🧠 編集部より:

補足説明と背景

「サンリオ×grove」のリトルツインスターズコラボは、キキ&ララの50周年を記念した特別なコレクションです。このコラボレーションでは、懐かしいデザインをアップデートし、大人女性が日常で使いやすい上品なアイテムに仕上げています。リトルツインスターズは、その可愛いデザインと星をテーマにしたキャラクター像が人気で、1975年の誕生から多くのファンを魅了してきました。

豆知識

リトルツインスターズは、日本のサンリオのキャラクターの一つで、キキ(男の子)とララ(女の子)は双子の星の子供です。彼らは「夢」をテーマにしており、ファンの心を掴むストーリーを持っています。このキャラクターたちが持つ「夢」に感化され、自分自身の夢を形にするアイテムが揃っているのが、今回のコラボの魅力の一つです。

商品情報

  1. Lee別注 スクエアキャンバストートバッグ(5,277円)

    • 複数のカラー展開で、デイリーユースやイベントでも使いやすいデザイン。
    • 2WAY仕様で、実用性も抜群です。
    • 詳細はこちら
  2. Lee別注 星キルティングトートバッグ(5,277円)

    • 撥水加工で雨の日でも安心してお使いいただけます。
    • 詳細はこちら
  3. バニティショルダーバッグ(4,397円)
    • 上品さが際立つデザインで、細部までこだわり抜かれています。
    • 詳細はこちら

販売情報

この特別なコラボレーションで、あなたの日常がより華やかになること間違いなし。キキ&ララの愛らしさとgroveの洗練されたデザインが融合したアイテムをぜひ手に入れてみてください!

  • キーワード: コラボレーション

    このキーワードは、サンリオとgroveのリトルツインスターズコラボの全体的なテーマを反映しています。コラボ商品は、懐かしさや可愛さを持ちながら、大人女性向けにデザインされており、特別なアイテムとして魅力的です。

Lee別注 スクエアキャンバストートバッグ をAmazonで探す

Lee別注 星キルティングトートバッグ をAmazonで探す

バニティショルダーバッグ をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 7

King & Prince、17枚目シングル発表!新曲の全貌は?

2025年6月17日、King & Princeが8月6日にリリースする17枚目のシングルがダブルAサイドシングルであることが発表されました。このシングルには、すでに先行配信中の「What We Got ~奇跡はきみと~」と、新たに発表された「I Know」が含まれます。

シングルの概要

  • 「What We Got ~奇跡はきみと~」は、日常の中での重要な出会いと絆をテーマにした楽曲で、ミッキーマウスの公式テーマソングとしても知られています。この曲は聴く人に笑顔を届けることを目指しています。

  • 「I Know」は、HIP HOPを基にしたエレクトロなダンスミュージックで、怪しげな雰囲気を持ちながらもエネルギーに満ちた曲調が特徴です。

このリリースは、ファンにとって注目の新たなプロジェクトとなるでしょう。King & Princeの新しい音楽のスタイルやメッセージに期待が高まります。

🧠 編集部より:

補足説明

King & Princeは、日本の人気アイドルグループで、ジャニーズ事務所に所属しています。彼らの17枚目のシングルがダブルAサイドシングルとしてリリースされることは、ファンにとって大きなニュースです!今回のシングルには、すでにリリースされている「What We Got ~奇跡はきみと~」と新曲「I Know」が含まれます。

「What We Got ~奇跡はきみと~」は、日常の中でのふとした出会いが生む奇跡をテーマとしており、ミッキーマウスの新オフィシャルテーマソングとしても親しまれています。これにより、家族や友人と過ごす大切な瞬間を振り返ることができます。

一方、「I Know」は、HIP HOPを基盤にしたエレクトロダンスミュージックで、怪しげな雰囲気の中にエネルギーを感じさせるユニークな曲です。この曲では、彼らの新しい音楽的な試みが表現されており、ダンスミュージックの要素が強調されています。

豆知識

  • ジャニーズ事務所は、数多くの人気アイドルグループを輩出しており、特に男性アイドルには強い影響力があります。
  • ダブルAサイドシングルは、2つの異なる曲を同時にリリースする形式で、それぞれの曲がシングルの表題曲として扱われます。こうしたリリース形態は、アーティストの音楽的な幅を示す良い手段です。

関連リンク

ぜひチェックしてみてください!

  • キーワード: ダブルAサイドシングル

King & Prince をAmazonで探す

What We Got ~奇跡はきみと~ をAmazonで探す

I Know をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

「AI不正、前年の3倍!学生7000件増加の衝撃」

学生によるAIを用いた不正行為、急増の背景

2025年6月17日、イギリスの大学生によるAIを利用した不正行為が2023~2024年度に約7000件発生したとの調査結果が報告されました。この数字は、学生1000人あたり5.1件に相当し、前年の1.6件から急増しています。また、2024~2025年度にはさらに増加し、約7.5件に達する見込みです。知識分野における倫理的な問題が顕在化しています。

学生の不正行為

主要な発見

The Guardianの調査に依れば、AIを使った不正行為は増加している一方で、以前の主要な不正行為であった「盗用」は大幅に減少しています。2019~2020年度には盗用が約3分の2を占めていましたが、現在では学生1000人あたり15.2件に減少しました。これは、オンライン評価が主流となる中で、新しいテクノロジーが不正の形態を変化させたことを示しています。

不正行為の件数

未発見の不正行為

調査によると、実際にはAIを利用して課題を行う学生が88%に達することがわかっていますが、AI生成の内容が94%の確率で不正と認識されないという結果も示されています。このため、現在の報告数は「氷山の一角」とされ、実態はもっと深刻であると考えられています。

専門家の見解

レディング大学の心理学准教授であるピーター・スカーフ博士は、AIを使用した不正行為の検知が非常に難しいことを指摘しています。従来の盗用とは異なり、AIにより生成された内容を証明するのは困難です。さらに、教育者は学生がAIを利用する環境を認識し、適切な評価方法を導入する必要があると強調しました。

政府の取り組み

イギリス政府は、国家技能育成プログラムに約370億円を投資し、教育におけるAIの導入に関するガイドラインを制定しています。政府関係者は、生成AIが教育において変革をもたらす可能性を強調しつつ、慎重な検討が必要であると述べています。

教育におけるAIの未来

教育界では、AIの利用が広がる中で、評価方法や教育方針の見直しが急務となっています。不正行為の防止策として、学生が学ぶべき本質的なスキルの重要性も再確認されています。

🧠 編集部より:

この記事では、英国内の大学生によるAIを使用した不正行為についての調査結果が示されています。2023~2024年度において、AIを利用した不正行為が約7000件発生し、これは学生1000人当たり5.1件に相当します。これは、前年度の1.6件から大幅な増加を見せています。

背景と豆知識

生成AIの影響 AI技術が進展する中で、教育機関が直面する課題は増加しています。例えば、生成AIの利用が一般化する前は、盗用が主な不正行為の形態でした。しかし、生成AIの導入により、新たな形態の不正行為が現れ、従来の盗用は減少しています。2023~2024年度には、学生1000人当たりの盗用件数が15.2件から8.5件に減少しています。これは、AIの利用が従来の不正行為に変化をもたらしたことを示しています。

教育機関の対応 調査によると、155の大学に情報公開法に基づいてデータの提供を要請したところ、そのうち131大学からデータが得られましたが、すべての大学が不正行為の統計をカテゴリー分けしているわけではないことが分かりました。たとえば、27%以上の大学はAIによる不正を独立したカテゴリで記録していないため、今後、更なるデータ収集が求められます。

AIの不正行為とその検出の難しさ

AIによる不正行為の検出は困難です。レディング大学の研究では、AIが生成した論文が94%の確率で不正と判定されないことが示されました。これは学生にとって、AIを使った課題作成が新たな選択肢として広がっていることを暗示しています。

教育者の見解

教育者たちは、教育の設計や評価方法の再考が必要だと述べています。例えば、筆記試験だけではなく、実践的なスキルや対人能力の評価も取り入れるべきだと訴えています。これにより、学生がAIに依存せず、実際の業務に必要な能力を身につけられます。

参考リンク

この現象は今後も注目されるべきものであり、教育機関と社会全体での対策が求められます。


  • キーワードの選定

    AI不正行為

ChatGPT をAmazonで探す AIツール をAmazonで探す 生成AI をAmazonで探す

※以下、出典元 ▶ 元記事を読む

Views: 0

バランス調整とスターフォールの反転最適化 – 6月


1。はじめに

5月22日のアップデートでのバランスの調整とスターフォールの反転戦闘機能が、設計目標やプレーヤーの期待と完全に一致していないことに気付きました。したがって、6月19日のアップデートで次の調整を実装します。

2。バランス調整

5月22日の更新では、シングルターゲットビルドのダメージ出力のバランスをとることに焦点を当てました。ただし、DoombringerやPredatorなどの武器はまだパフォーマンスが低いため、以下で詳細に調整します。腐食などの武器の非常に要求された調整は、次のバランスアップデートのために計画されています。

説明:発射後の遅延とは、発射とボルトアクションスナイパーライフルのコッキングの間のアニメーションの長さを指します。 Rapid Sniper Blueprintは、アニメーションを短縮することでこの遅延を減らします。

さらに、より明確にするために、プレーヤーまたは非プレイヤーのターゲットの説明は、それぞれ「メタヒューマン」と「非メタヒューマンユニット」に標準化されます。これらの変更は純粋に説明的であり、ゲームプレイには影響しません。

3.スターフォール反転調整

Starfall Inversionの戦闘機能に関するプレイヤーのフィードバックに応じて、トリガー条件と数値を調整します。

4。開発者ノート

ビルドバランスに関するフィードバックと懸念を認識しています。以前は、バランスの調整は主にアドホックでした。プレーヤーの期待に応えるために、バランス調整のための固定スケジュールを採用します。

  1. バランスの更新は、月に1回(2つの更新ごと)リリースされます。

  2. 武器のバランスの調整は、コミュニティのフィードバックと、さまざまな戦闘状況にわたるさまざまなビルドの使用率に基づいています。統計変更、接尾辞調整、または完全なリワークを通じてビルドのバランスを取ります。

  3. 調整するたびに、ビルドの有効性と使用率を監視し続けて、さらなる調整が必要かどうかを評価します。

スムーズな移行を確実にするために、この更新後にすべてのプレーヤーに3つの青写真変換試行を発行します。

かつて人間開発チーム



続きを見る


🧠 編集部の感想:
バランス調整の取り組みが具体的なフィードバックに基づいて進められていることは、プレーヤーにとって安心感があります。特に武器のパフォーマンスが向上することで、ゲームの楽しさが増すと期待しています。定期的な更新スケジュールも、コミュニティとのより良い関係を築く一助となるでしょう。

Views: 0

「QoA、骨伝導搭載カクテル風ハイブリッドイヤホン!」

新しいハイブリッドイヤホン「Martini」が登場

発売日:2025年6月18日

サウンドアースは、取り扱いブランドQoA(Queen of Audio)から、革新的なハイブリッドイヤホン「Martini(マティーニ)」を発表しました。特徴的な点は、骨伝導ドライバーを搭載していることです。この技術により、従来のイヤホンとは異なる新しい音楽体験が得られます。

【背景情報】

骨伝導技術は、音が骨を通じて直接内耳に伝わる仕組みで、外部の音が遮られずに音楽を楽しむことができるため、特にスポーツやアウトドア活動に適しています。また、耳をふさがないため、周囲の音を意識しながら使用できる点が魅力です。

新モデル「Martini」は、音質と快適な装着感を兼ね備えたデザインが特徴で、ユーザーの日常生活に溶け込むような使いやすさを追求しています。

【重要視点】

  • 骨伝導の利点:周囲の音が聞き取りやすく、特に運動時に安全性が高まります。
  • ハイブリッド構造:従来のドライバーとの組み合わせにより、豊かな音質が期待されます。
  • 発売日:2025年6月18日から販売開始。

「Martini」は、音響技術の進化を象徴する製品であり、これからの音楽体験を変える可能性を秘めています。興味のある方は、ぜひ発売日にチェックしてみてはいかがでしょうか。

🧠 編集部より:

サウンドアースが取り扱うQoA(Queen of Audio)から、6月18日に発売されるハイブリッドイヤホン「Martini(マティーニ)」は、骨伝導ドライバーを搭載した革新的な製品です。一般的なイヤホンとは異なり、骨伝導技術を利用して音を伝えるため、耳を塞がずに周囲の音を認識しながら快適に音楽を楽しむことができます。

補足説明

  • 骨伝導技術: この技術は、振動を骨を通じて内耳に直接伝えることで音を感じる方法です。特に、聴覚に障害を持つ方にも利用されることがあり、安全性と音への没入感を高めます。
  • ハイブリッド構造: Martiniは、骨伝導と通常のドライバーを組み合わせることで、より多彩な音質を提供します。これにより、重低音から高音域まで幅広い音楽ジャンルを楽しむことができます。

背景や豆知識

  • QoAについて: QoAは、音質に対するこだわりが強く、特に音楽を愛する人々に支持されています。多くの製品がデザイン性と音質を両立させており、ユーザーの多様なニーズに応えています。
  • 骨伝導イヤホンの利点: 耳を塞がないため、ジョギングや自転車などのアクティビティ中でも周囲の音を聞きながら安全に使用できます。

関連リンク

ぜひ、Martiniの発売をチェックしてみてください!音楽の新しい楽しみ方が広がります。

  • キーワード: ハイブリッドイヤホン

Martini をAmazonで探す
QoA をAmazonで探す
ハイブリッドイヤホン をAmazonで探す



※以下、出典元
▶ 元記事を読む

Views: 0

【WPF】アプリケーションのメインプロセスが終了しないケースを深堀する記事 #C# – Qiita



【WPF】アプリケーションのメインプロセスが終了しないケースを深堀する記事 #C# - Qiita

いいね、ストック、Badボタン、クレーム、編集リクエストで言いがかりをつけるなどが励みになります。

自前のアプリ制作でなぜかメインプロセスが残る問題(いわゆるゾンビプロセス Zombie Process)が解決できずに難儀していたので、掘り下げてみることにした。

ファイルの読み書き等処理等は自動でGCされるわけではないので明示的なDisposeかUsingディレクティブで囲む必要がある。

これをしないとアプリケーションをCloseしてもメモリ上にメインプロセスの.exeが残り続ける場合がある(つまり実際にはアプリケーションが終了しない)

→この場合、Application.ShutDown()など他の終了方法も通用しない

今回はこのことを実証しつつ、幾つかCloseしてもプロセスが終了しないケースを挙げてみます。

ゾンビプロセスを回避する方法(対象はC#のアプリケーション)

Visualstudio 2022 .net9
それほど難しいコードは使用していないため、比較的古いTargetFrameWotkでも動作します(たぶん)。

git close https://github.com/Sheephuman/ZombiProcessTest.git

まずは比較的単純なケースから再現してみることにする。


  private System.Timers.Timer _timer = null!;
  private Thread _backgroundThread = null!;
  private bool _isRunning = true;
  
   private void StartBackgroundWork()
   {
       // バックグラウンドスレッドを開始
       _backgroundThread = new Thread(() =>
       {
           while (_isRunning)
           {
               Console.WriteLine("Background thread running...");
               Thread.Sleep(1000);
           }
       });
       _backgroundThread.IsBackground = false; // 意図的にフォアグラウンドスレッドにする
       _backgroundThread.Start();

       // タイマーを開始
       _timer = new System.Timers.Timer(500);
       _timer.Elapsed += TimerElapsed;
       _timer.AutoReset = true;
       _timer.Start();
   }

   private void TimerElapsed(object sender, ElapsedEventArgs e)
   {
       // タイマーイベントで何か処理(例: ログ出力)
       Console.WriteLine("Timer ticked...");
   }

Test実行ボタン

 private async void testButton_Click(object sender, RoutedEventArgs e)
 {
      private void testButton_Click(object sender, RoutedEventArgs e)
  {
      try
      {
          StartBackgroundWork();
      }
      catch (Exception ex)
      {
          MessageBox.Show(ex.Message);
      }
  }



終了時の処理をコメントアウト

  private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  {
      // 意図的にリソース解放をしない
      // _isRunning = false;
      // _timer?.Stop();
      // _timer?.Dispose();
      //_backgroundThread?.Join();
  }

明示的な開放をしないので、アプリケーションが終了後もメインプロセスがゾンビとして残る

$\color{Gray}{\tiny \textsf{※再現にやたらと苦労させられた}}$

非同期メソッド内で同期的な処理がある場合
 → このケースのみ、MainWindowがCloseされてもアプリケーションのメインプロセスが閉じない
ShutdownMode.OnMainWindowClose以外が指定されていた場合
→ OnExplicitShutdownApplication.Current.Shutdown();が明示的に呼ばれないと終了しないモード
 →このモードでさえ、非同期処理内で同期処理があったり、キャンセルトークンが通知されていないと利かないケースがあるのが判明しています(多分に推測交じり)

・WaitForExitAsync()やキャンセルトークンなどを実行しなかった場合
 

参考

非同期で実装した場合は高確率で起こる(UIスレッドがブロックされるので基本的にしない。というか出力が表示されない)

コンストラクタ・フィールド変数

 Thread th1 = null!;
Process process = null!; // Processオブジェクトをフィールドとして定義

  public MainWindow()
  {
      InitializeComponent();


           // Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
            // MainWindowを閉じたときにアプリケーション全体を終了するように設定 ゾンビプロセス化しないために必要
            //
  }

testButton

 private void testButton_Click(object sender, RoutedEventArgs e)
 {
     th1 = new Thread(() => RunFfmpegAsync());
     th1.IsBackground = true;
     //フォアグラウンドで動作。ゾンビプロセスの主な原因

     
     th1.Start();
 }

RunFfmpeg(同期バージョン:非実用的)

メインプロセスが終了しなくなる。

RunFfmpegAsync(非同期バージョン:非実用的)

  
        private void RunFfmpegAsync()
        {

            var startInfo = new ProcessStartInfo
            {
                FileName = "ffmpeg.exe",
                Arguments = "-i test.mp4 -y output.mp4",
                UseShellExecute = false,
                RedirectStandardInput = true,
                RedirectStandardError = true,
                CreateNoWindow = true
            };

            using (process = new Process())
            {
                process.StartInfo = startInfo;
                process.EnableRaisingEvents = true;

                // 標準出力とエラー出力のコールバックを設定



                process.ErrorDataReceived += async (s, ev) =>
                {
                    if (ev.Data != null)
                    {

                        // バッファに追加(スレッドセーフでない)
                        await Dispatcher.InvokeAsync(() =>
                           {

                               OutputTextBox.AppendText(ev.Data + Environment.NewLine);
                               OutputTextBox.ScrollToEnd(); // テキストボックスをスクロールして最新の出力を表示
                           });

                        await Task.Delay(100); // 適切な遅延を入れることでUIの更新をスムーズにする
                    }
                };

                // Exitedイベント(問題を引き起こす可能性のある実装)
                process.Exited += async (s, ev) =>
                {
                    // WaitForExitを呼ばない(バッファが残る可能性)

                    await Dispatcher.InvokeAsync(() => MessageBox.Show("ffmpeg process exited."));
                };

                // プロセス開始
                process.Start();

                process.BeginErrorReadLine();



                // 終了を待つ(キャンセルトークンを使用)
                try
                {


                    //process.WaitForExitAsync();
                }
                catch
                {
                    // 例外を無視(問題を悪化させる)
                }
            }
            // usingブロックを抜けた後、プロセスが完全に解放されない可能性
        }


RunFfmpegAsync(非同期バージョン)

実用的。
ShutdownMode.OnExplicitShutdownなどの条件次第でゾンビプロセス化する。
非同期メソッド内で同期的な処理があるとゾンビプロセス化する(コメント参照)

RunFfmpegAsync(非同期バージョン)

  public MainWindow()
  {
      InitializeComponent();

      //  Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
      // MainWindowを閉じたときにアプリケーション全体を終了するように設定 
      //defalutなので指定は不要
      
      
      Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
      //ShutDownメソッドを呼ばないとゾンビプロセス化する
      }



    private async Task RunFfmpegAsync()
    {

        var startInfo = new ProcessStartInfo
        {
            FileName = "ffmpeg.exe",
            Arguments = "-i test.mp4 -y output.mp4",
            UseShellExecute = false,
            RedirectStandardInput = true,
            RedirectStandardError = true,
            CreateNoWindow = true
        };

        using (process = new Process())
        {
            process.StartInfo = startInfo;
            process.EnableRaisingEvents = true;

            // 標準出力とエラー出力のコールバックを設定


         ///実験結果 ErrorDataReceived内でasync・awaitを不使用にするとゾンビプロセス化する
         ///警告も特に発生しない
             process.ErrorDataReceived += (s, ev) =>
  {
      if (ev.Data != null)
      {
         ////本来はasync・awaitを入れる
          Dispatcher.InvokeAsync(() =>
         {

             OutputTextBox.AppendText(ev.Data + Environment.NewLine);
             OutputTextBox.ScrollToEnd(); // テキストボックスをスクロールして最新の出力を表示
         });

          Task.Delay(100); // 適切な遅延を入れることでUIの更新をスムーズにする 
        //本来はawaitを入れる
      }
  };
                    await Task.Delay(100); // 適切な遅延を入れることでUIの更新をスムーズにする
                }
            };

            // Exitedイベント(問題を引き起こす可能性のある実装)
            process.Exited += async (s, ev) =>
            {
                // WaitForExitを呼ばない(バッファが残る可能性)

                await Dispatcher.InvokeAsync(() => MessageBox.Show("ffmpeg process exited."));
            };

            // プロセス開始
            process.Start();

            process.BeginErrorReadLine();



            // 終了を待つ(キャンセルトークンを使用)
            try
            {


                await process.WaitForExitAsync();
            }
            catch
            {
                // 例外を無視(問題を悪化させる)
            }
        }
    }


StopButton

qキーの送信
恐らく破棄(Dispose)した方が良い

StopButton

  private void StopButton_Click(object sender, RoutedEventArgs e)
  {
      try
      {
          StreamWriter inputWriter = process.StandardInput;


          inputWriter.WriteLine("q");
      }

      catch (Exception ex)
      {
          MessageBox.Show($"Error stopping ffmpeg: {ex.Message}");
      }
      //inputWriter.Dispose();
      //解放させない
  }

Uploadeめんどい。
いいねがついた時点で更新。





Source link

Views: 1

1300万ユーザー規模の Web コンテンツ配信基盤リプレース ─ アジャイルアプローチと Go による実現




はじめに
はじめまして。@glassmonkey です。
現職の Ubie 株式会社に入社して約 1 年が経ちました。早いものです。
入社直後から関わることになった大規模なリプレースプロジェクトを完遂できたので、その知見を共有したいと存じます。
今回取り組んだのは、事業の屋台骨となる機能の一部を置き換える大規模なリプレースプロジェクトです。対象システムは 1300 万人のユーザーが日常的に利用する Web システムの基盤です。このような大規模リプレースは、技術的な課題だけでなく、多くのステークホルダーとの調整や事業継続性の確保など、複数の重要な要素を同時に満たす必要があります。
本記…



Source link

Views: 0

急増中!中国の「なんちゃって出勤」ビジネスとは?

📌 ニュース:
中国で急増中の「なんちゃって出勤」ビジネスは、無職の若者が社会的ステータスを保つために利用しています。特に都市部では競争が激しく、失業を知られることが大きなストレスになります。このビジネスは、「偽装オフィス」と呼ばれ、月400元で借りられるスペースには、Wi-Fiやコーヒーが完備されています。実際の業務はありませんが、周囲の目を気にせず「働いているフリ」をする安心感を提供します。この現象は、同様のプレッシャーを抱える他国にも広がる可能性があります。あなたも無職になったら利用してみますか?

  • この記事のポイントを以下のようにまとめました。

    1. 「なんちゃって出勤」ビジネスの背景 🏢✨
      中国では、「仕事をしている」という社会的ステータスが重要視されており、無職であることが周囲に知られることを避けるため、若者が「なんちゃって出勤」というビジネスに通うようになりました。

    2. サービスの内容と利用者の目的 💼🖥️
      職場のように見える場所で、実際には業務がない環境が整えられ、月額料金を支払うことで「働いているふり」をすることができます。こんな場所を利用することで、心理的な安心感を得ることが目的となっています。

    3. 社会的な影響と今後の展望 🌍🤔
      高い若年失業率や社会的プレッシャーの中で、このような「偽装就業」サービスが急増しています。他国でも同様の状況が見られる可能性があり、日本にもこのビジネスモデルが広がるかもしれません。


※以下、出典元
▶ 元記事を読む

Views: 0