金曜日, 7月 25, 2025
No menu items!
ホーム ブログ ページ 6791

除菌・消臭・シワ伸ばし・花粉除去などで活躍する高温ナノジェットスチーム



除菌・消臭・シワ伸ばし・花粉除去などで活躍する高温ナノジェットスチーム

高温ナノジェットスチーム技術で驚くほど簡単にシワを伸ばし、除菌・消臭・アレル物質を除去する「Rooomy Stylish Steamer(スタイリッシュスチーマー)」を発売中。



Source link

Views: 0

Ruby on RailsでSlack APIを使って通知機能を実装する手順 #初心者



Ruby on RailsでSlack APIを使って通知機能を実装する手順 #初心者

はじめに

アプリ開発において、エラー発生時にすぐに通知を受け取れるようにすることは非常に重要です。Slack は多くの開発チームが利用している報連相ツールであり、Ruby on Rails から Slack へ通知を送る機能を実装することで、早く問題やエラーなどを発見して対応することが可能です。

この記事では、その方法について解説します。

Slack アプリの作成

今回は社内の既存のワークスペースに通知したいので、このステップはスキップします。もし新規の場合は、まずは通知したい Slack のワークスペースとチャンネルを作成しておきましょう。

Slack アプリの作成と Webhook URL の取得

  1. 下記の URL にアクセスして、右の「Create New App」ボタンを押してください。
    https://api.slack.com/apps
    スクリーンショット 2025-04-17 14.10.14.png

  2. 「From scratch」ボタンを押して、次の入力画面に進みます。
    スクリーンショット 2025-04-17 14.12.08.png

  3. アプリ名とワークスペースを記入して「Create App」ボタンを押してください。
    スクリーンショット 2025-04-17 14.13.02.png

  4. アプリとして投稿することのできる投稿先チャンネルを指定してください。
    スクリーンショット 2025-04-17 14.52.47.png

  5. 作成したアプリの詳細画面で「Incoming Webhooks」をクリックして、「Activate Incoming Webhooks」をオンにします。
    スクリーンショット 2025-04-17 14.19.17.png

  6. 同じページの一番下にスクロールして、「Webhook URL」をコピーしてRailsアプリの.envファイルに環境変数として設定してください。

# .env
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/.../.../...

スクリーンショット 2025-04-17 14.21.55.png

Rails アプリでの実装

Gem のインストール

まず、Gemfile に slack-notifier を追加します。

# Gemfile
gem "slack-notifier"

その後、bundle install を実行してください。

通知用のモデル作成

下記の SlackNotifier クラスを作成します。必要に応じてコードを調整してください。

# app/models/slack_notifier.rb
class SlackNotifier
  attr_reader :client
  
  def initialize
    @client = Slack::Notifier.new(ENV['SLACK_WEBHOOK_URL'])
  end
  
  def self.slack(message)
    @slack ||= new
    @slack.send(message)
    Rails.logger.info message
  end
  
  def self.slack_with_mention(message)
    @slack ||= new
    @slack.send_with_mention(message)
    Rails.logger.error message
  end
  
  def send(message)
    client.ping(message)
  rescue Slack::Notifier::APIError => e
    Rails.logger.error('APIError')
    Rails.logger.error(e.message)
  rescue => e
    Rails.logger.error('SlackNotifierError')
    Rails.logger.error(e.message)
  end
  
  def mention(message)
    "n#{message}"
  end
  
  def send_with_mention(message)
    send(mention(message))
  end
end

エラーハンドリングの実装

ご参考までに、必要に応じてコードを調整してください。

# app/controllers/application_controller.rb
class ApplicationController  ActionController::API
  include DeviseTokenAuth::Concerns::SetUserByToken
  rescue_from ActiveRecord::RecordNotFound, with: :record_not_found
  rescue_from ActiveRecord::RecordInvalid, with: :record_invalid
  rescue_from StandardError, with: :handle_standard_error
  
  private
  
  def record_not_found(exception)
    SlackNotifier.slack_with_mention(exception.message)
    render json: { message: "レコードが見つかりません" }, status: :not_found
  end
  
  def record_invalid(exception)
    SlackNotifier.slack_with_mention(exception.message)
    render json: { message: exception.message }, status: :unprocessable_entity
  end
  
  def handle_standard_error(exception)
    log_and_notify_error("Standard error", exception)
    render json: { message: "Internal Server Error: #{exception.message}" }, status: :internal_server_error
  end
  
  def log_and_notify_error(error_type, exception)          
    error_message = [
      "#{error_type}が発生しました:",
      "エラーメッセージ: #{exception.message}",
      "バックトレース:",
      exception.backtrace&.first(3)&.join("n")
    ].join("n")
    SlackNotifier.slack_with_mention(error_message)
  end
end

動作確認

そのために、以下のコードをコンソールに実行して、テストできます。

# コンソールを開く
rails c

# 環境変数のセットアップ確認
puts "SLACK_WEBHOOK_URL: #{ENV['SLACK_WEBHOOK_URL'].present? ? '設定済み' : '未設定'}"

# 通常メッセージの送信テスト
SlackNotifier.slack("これはテストメッセージです。")

# メンション付きメッセージの送信テスト
SlackNotifier.slack_with_mention("これは@channelメンションつけのテストメッセージです。")

# エラー発生時のテスト (例: 存在しないレコードを検索)
begin
  User.find(-1)  # 存在しないIDを指定
rescue => e
  SlackNotifier.slack_with_mention("(テスト)エラーが発生しました: #{e.message}")
end

アプリを実行してテストし、Slack チャンネルにメッセージが届くかどうかを確認しましょう。





Source link

Views: 0

FastAPIで始めるMCPサーバー




MCPが話題ですよね。最近でこそいろんな企業がMCPを提供する事例が増えて来ました。
そんな中、TLを眺めていたらFastAPIで構築したアプリケーションをMCPサーバー化させるライブラリを見つけました。
https://x.com/k_miura_io/status/1910479926341624311
FastAPI-MCPというそのままのネーミングですが、READMEに書いてある内容的には、FastAPIで構築したエンドポイントをMCPに変換してくれるというツールみたいです。
というわけで、今回はFastAPIを使って初めてのMCPサーバーを構築してみます。
なお、MCPサーバー…



Source link

Views: 0

連星に直交軌道で周回するトリッキーな惑星を発見


宇宙が描く無数の円盤のなかで、たった一つ、きれいに交差する“十字路”が見つかりました。

イギリスのバーミンガム大学(UoB)で行われた研究により、若い褐色矮星ペア〈2M1510 AB〉が作る楕円軌道を、惑星が直交するのコースで周回している可能性が示されました。

褐色矮星どうしが寄り添う連星もレア、極軌道を描く惑星もレア、そして両方そろった今回のケースはまさに 宇宙レア度2乗です。

しかしいったいなぜ星になり損ねた小さな双子の周囲を “十字飛行” の惑星が走ることになったのでしょうか?

研究内容の詳細は2025年4月16日に『Science Advances』にて発表されました。

目次

  • 褐色矮星の2連星の動きに奇妙な歪み
  • 褐色矮星の2連星もレア、直交軌道の惑星もレア

褐色矮星の2連星の動きに奇妙な歪み

褐色矮星の2連星の動きに奇妙な歪み
褐色矮星の2連星の動きに奇妙な歪み / 褐色矮星は赤、惑星は青。さらに連星系に対する地球への方向が示されています/Credit:Thomas A. Baycroft et al . Science Advances (2025)

星はガス雲が自らの重力でつぶれるときに誕生しますが、その雲にわずかなゆがみや渦があると、中心は一つではなく二つに「裂け」ることがあります。

こうして生まれた双子の原始星は、お互いをぐるぐる回りながら成長し、やがて連星となります。

連星の公転がほぼ円なら、周囲のガス円盤は平らに広がって惑星が同じ平面を回りやすいのですが、角運動量が追加で流れ込むと楕円軌道に引き伸ばされます。

楕円になると連星からの重力の凹凸が大きくなり、同じ平面の軌道はコブだらけになって安定を失います。

一方、連星の近日点を指す離心率ベクトルに対して垂直な方向には、時間平均で重力ポテンシャルが滑らかになる“安定ポケット”が生じると数値計算で示されています。

そこへ連星のトルクにあおられ円盤が“起き上がり”、最終的に90°の極軌道で惑星が固定されるのです。

この首振り現象(ノーダル・ライブラション)は、円盤が倒れ込むよりもエネルギー的に有利な逃げ道で、立ち上がったあとは連星面に平行な軌道より長期的に安定することが示されています。

ただしこの安定ポケットにいる惑星は、星の面をかすめることも星を揺さぶることも少なく、光や速度変化では見つかりにくい“重力の忍者”です。

そこで鍵になるのが連星自身の軌道のわずかな歳差運動です。

楕円軌道の方向が時間とともにゆっくり回る様子は、同じ平面にある伴星なら進行方向へ、直交方向にいる伴星なら逆向きへとねじられます。

つまり歳差の“回転方向”を測れば、見えない惑星がどこから連星を引っ張っているかを解読できるわけです。

若い褐色矮星連星2M1510 ABは、質量が太陽の3%しかない小さな双子でありながら離心率0.36の大きな楕円軌道を描いています。

光の弱い褐色矮星で極軌道候補を検証できる環境はめったに手に入りません。

そこで今回研究者たちは、この暗い双子の歳差運動を6年間の高精度ドップラー分光観測で測定し、逆向きのねじれから隠れた極軌道惑星を動的にあぶり出すことにしました。

すると双子が描く楕円ダンスフロア全体が、二人と一緒にゆっくり逆回転している微妙なズレが見つかりました。

時計の秒針がほんのわずか逆走するような不自然さで、普通の物理法則では説明がつきません。

「これは真横からゴムひもを引っぱる“第三のダンサー”がいるはずだ」とにらんだチームは、コンピュータ内に10万通りの仮想ダンサーを放り込み、誰がどの位置で何キロの力で引っぱれば秒針の逆走が起きるかを総当たりで探しました。

残ったのは、地球の10~100倍ほどの重さをもち、双子が回るリングを直角に横切る“十字コース”で躍るダンサーだけでした。

しかもこのダンサー自身は静かに滑っているので、直接の揺れや影はほとんど残さず、連星フロアのねじれ方だけが唯一の目印でした。

こうして「連星も暗い、惑星も横向き」というダブルで珍しい組み合わせが、星のささやき声から初めて姿を現したのです。

褐色矮星の2連星もレア、直交軌道の惑星もレア

褐色矮星の2連星もレア、直交軌道の惑星もレア
褐色矮星の2連星もレア、直交軌道の惑星もレア / Credit:Canva

今回の“真横回り”の惑星候補が教えてくれる最大の驚きは、「世の中の連星は“平べったい机”の上だけで遊んでいるわけではなかった」という事実です。

二つの星が円ではなく楕円を描いて回ると、その重力場は皿を横からぎゅっとつぶしたようにゆがみ、星の公転面と同じ高さを走る軌道はコブだらけの道になります。

ところが思い切って垂直方向──ちょうどエリマキトカゲが首を立てて走るような角度──へレールを乗り換えると、重力の“出っ張り”と“へこみ”が平均化され、長いあいだ安定して走れる「空中バイパス」が現れます。

数値計算の世界では「極軌道はむしろ安全地帯」という結論が十年以上前から示されていましたが、本当にそうした軌道に惑星が褐色矮星の2連星に存在している様子を捕まえたのは今回が初めてです。

しかも主役は太陽よりもはるかに暗い褐色矮星どうしでした。

材料(ガスや塵)が乏しいと思われがちな小さな星のまわりでも、円盤は連星トルクにあおられて“起き上がり”、そこから惑星をこっそり育てられると分かったわけです。

もしこの連星が将来ゆっくり合体すれば、極軌道の惑星は“母星が一人になった”あとも斜めコースを維持します。

それは単独星で見つかる巨大ガス惑星の正体を説明する新しいシナリオ──つまり「昔は連星だった名残かもしれない」という、ちょっとした宇宙の身の上話を示唆します。

もっとも今のところ“犯人像”にはまだ幅があります。

質量はスーパーアース級から土星級まで、軌道周期も100~400日とレンジが広くなっています。

その絞り込みに効くのが食のタイミング変化(Eclipse Timing Variations: ETV)と高精度アストロメトリです。

1分単位の時計で2年分の連星食を測れば、惑星が連星を揺さぶるタイミングのズレが数分オーダーで見えて質量が一気に特定できるはずです。

さらにVLT/FORS2で50 μas(人間の視力で月面の絶壁を見るような精度)の揺れを検出できれば、土星質量クラスの重さまで手が届きます。

もちろん歳差そのものをあと数年追跡する手もあります。

逆回転の速さが半分の誤差で測れれば、動的モデルはさらに鋭くなり、惑星の“横顔”もはっきり浮き上がるでしょう。

全ての画像を見る

元論文

Evidence for a polar circumbinary exoplanet orbiting a pair of eclipsing brown dwarfs
https://doi.org/10.1126/sciadv.adu0627

ライター

川勝康弘: ナゾロジー副編集長。
大学で研究生活を送ること10年と少し。
小説家としての活動履歴あり。
専門は生物学ですが、量子力学・社会学・医学・薬学なども担当します。
日々の記事作成は可能な限り、一次資料たる論文を元にするよう心がけています。
夢は最新科学をまとめて小学生用に本にすること。

編集者

ナゾロジー 編集部



Source link

Views: 0

猫又おかゆさん主演、監修純愛ノベル「おかゆにゅ~~む!」steam版/Switch通常版が8月7日に発売決定!steam版は待望の英語対応も



 エンターグラムは、Nintendo Switch通常版/steam版「おかゆにゅ~~む!」を8月7日に発売する。価格はSwitch通常版が3,828円、steam版が2,970円。



Source link

Views: 0

マンガ『東京大学物語』全34巻375話が無料公開中。東大合格を目指す主人公・村上直樹と、ヒロイン水野遥の破天荒な日々を描く90年代のヒットラブコメ。最終回の衝撃は語り草に




マンガ『東京大学物語』全34巻375話が無料公開中



Source link

Views: 0

グロテスクな触手モンスターに立ち向かうローグライクACT『Demon Spore』2025年7月配信決定!




触れるものを喰い付くして急激に成長する触手モンスターと戦いながら、研究所からの脱出を目指します。



Source link

Views: 0

最新のバイラルチャットトレンドは、写真から「リバースロケーション検索」を行っています



最新のバイラルチャットトレンドは、写真から「リバースロケーション検索」を行っています

新しいトレンドがバイラルになることには多少懸念されています。人々はChatGptを使用して、写真に示されている場所を把握しています。

今週、Openaiは最新のAIモデルをリリースしました。 O3およびO4-MINIどちらもアップロードされた画像を介して独自に「理由」があります。実際には、モデルは写真をトリミングし、回転させ、ズームインすることができます – ぼやけて歪んだものでさえ、それらを徹底的に分析することができます。

これらの画像分析機能は、モデルのWebを検索する能力と組み合わせて、強力な位置調査ツールを作成します。 Xのユーザーは、特にO3が推測するのが非常に得意であることをすぐに発見しました 都市ランドマーク微妙な視覚的な手がかりからのレストランやバーでさえ。

多くの場合、モデルは過去のChatGPTの会話の「記憶」を描いているようには見えません。 exifデータこれは、写真が撮影された場所などの詳細を明らかにする写真に添付されたメタデータです。

Xは、ChatGptを提供するユーザーの例で満たされています レストランメニュー近所のスナップファサードそして 自画像O3に「Geoguessr」をプレイしていることを想像するよう指示します。これは、Google Street View画像の場所を推測するようプレイヤーに挑戦するオンラインゲームです。

これは明らかな潜在的なプライバシーの問題です。悪い俳優がスクリーンショッティングを妨げるものは何もありません。たとえば、人のInstagramストーリーを使用して、ChatGptを使用してDoxxを試みます。

もちろん、これはO3とO4-Miniの発売前でも行うことができます。 TechCrunchは、Modelsの位置推測スキルを比較するために、O3と画像の味付け機能のない古いモデルGPT-4Oを通じて多くの写真を実行しました。驚くべきことに、GPT-4Oは同じようにO3と同じように正解に到達し、頻繁に到着し、時間が少なくなりました。

O3がGPT-4oができなかった場所を見つけた短いテスト中に、少なくとも1つのインスタンスがありました。薄暗い照明のバーに紫色のマウントされたサイの頭の写真を考えると、O3は、それがウィリアムズバーグの話すことからのものであると正しく答えました。

これは、この点でO3が完璧であることを示唆するものではありません。私たちのテストのいくつかは失敗しました – O3はループで立ち往生し、それが合理的に自信を持っているか、間違った場所を志願した答えに到達することができませんでした。 Xのユーザーも、O3になる可能性があると述べました かわいい 遠い その場所控除。

しかし、この傾向は、より有能でいわゆる推論AIモデルによって提示される新たなリスクのいくつかを示しています。 ChatGptでこの種の「逆位置検索」を防ぐための保護手段はほとんどないようで、ChatGPTの背後にある会社であるOpenaiはその問題に対処していません 安全レポート O3およびO4-MINIの場合。

コメントを求めてOpenaiに連絡しました。彼らが応答した場合、私たちは私たちの作品を更新します。

更新された午後10時19分太平洋:この物語が公開されてから数時間後、OpenaiのスポークスマンがTechCrunchに次の声明を送信しました。

「Openai O3とO4-MINIは、視覚的推論をCHATGPTにもたらし、アクセシビリティ、研究、緊急対応の場所の特定などの分野でより役立ちます。私たちは、プライベートまたはデリケートな情報の要求を拒否するようにモデルを訓練するために取り組みました。





Source link

Views: 0

30分の間に5分間のセッションを次々と行う「CEDEC Lightning 2025」,会期2日目の7月23日に開催決定



 CESAは本日(2025年4月18日),コンピュータエンターテインメント開発者向けカンファレンス「CEDEC2025」で,新たな取り組みとなる「CEDECLightning2025」を会期2日目の7月23日に開催すると発表した。これは,約30分の間に5分間の短いセッションを次々と行う企画だ。



Source link

Views: 1

『ネイバーズ:ご近所大戦争』早期アクセス版が配信開始。隣人の家を破壊し尽くす話題のハチャメチャ乱闘対戦型アクションがついに登場


『ネイバーズ:ご近所大戦争』早期アクセス版が配信開始。隣人の家を破壊し尽くす話題のハチャメチャ乱闘対戦型アクションがついに登場
 2025年4月18日、新作PCゲーム『ネイバーズ:ご近所大戦争』早期アクセス版がSteamで配信開始された。

広告

 平和(?)な街“ハーツビル”を舞台に、最大4人のプレイヤーで構成された2チームが激闘をくり広げる対戦型マルチプレイアクション。固有スキルを持つキャラクターたちが、自分たちの家(拠点)を守りつつ、相手チームの家を破壊してご近所バトルの勝利を目指す、カオスでハチャメチャなゲーム性が大きな特徴だ。

[IMAGE][IMAGE][IMAGE][IMAGE]

 ハンマーやバールをはじめ、おばさんのパンチンググローブ、いたずら少年のパチンコなど破壊・妨害のための武器はバラエティ豊か。一方で防衛側にも窓の補強、とらばさみやタレットの配置、番犬など多彩な防衛手段が用意されており、それらを活用するにはお金や資材といったリソースの管理(と奪い合い)が重要となる。

[IMAGE][IMAGE]

 なお、服装や武器、家などの見た目のカスタマイズも可能。セキュリティにも気を付けつつ、自分好みのデザインに仕上げた邸宅を作ろう。

[IMAGE]



『ネイバーズ:ご近所大戦争』早期アクセス版が配信開始。隣人の家を破壊し尽くす話題のハチャメチャ乱闘対戦型アクションがついに登場

{content}

Source link

Views: 0