高温ナノジェットスチーム技術で驚くほど簡単にシワを伸ばし、除菌・消臭・アレル物質を除去する「Rooomy Stylish Steamer(スタイリッシュスチーマー)」を発売中。
Views: 0
高温ナノジェットスチーム技術で驚くほど簡単にシワを伸ばし、除菌・消臭・アレル物質を除去する「Rooomy Stylish Steamer(スタイリッシュスチーマー)」を発売中。
Views: 0
アプリ開発において、エラー発生時にすぐに通知を受け取れるようにすることは非常に重要です。Slack は多くの開発チームが利用している報連相ツールであり、Ruby on Rails から Slack へ通知を送る機能を実装することで、早く問題やエラーなどを発見して対応することが可能です。
この記事では、その方法について解説します。
今回は社内の既存のワークスペースに通知したいので、このステップはスキップします。もし新規の場合は、まずは通知したい Slack のワークスペースとチャンネルを作成しておきましょう。
下記の URL にアクセスして、右の「Create New App」ボタンを押してください。
https://api.slack.com/apps
作成したアプリの詳細画面で「Incoming Webhooks」をクリックして、「Activate Incoming Webhooks」をオンにします。
同じページの一番下にスクロールして、「Webhook URL」をコピーしてRailsアプリの.env
ファイルに環境変数として設定してください。
# .env
SLACK_WEBHOOK_URL=https://hooks.slack.com/services/.../.../...
まず、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 チャンネルにメッセージが届くかどうかを確認しましょう。
Views: 0
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』にて発表されました。
目次
星はガス雲が自らの重力でつぶれるときに誕生しますが、その雲にわずかなゆがみや渦があると、中心は一つではなく二つに「裂け」ることがあります。
こうして生まれた双子の原始星は、お互いをぐるぐる回りながら成長し、やがて連星となります。
連星の公転がほぼ円なら、周囲のガス円盤は平らに広がって惑星が同じ平面を回りやすいのですが、角運動量が追加で流れ込むと楕円軌道に引き伸ばされます。
楕円になると連星からの重力の凹凸が大きくなり、同じ平面の軌道はコブだらけになって安定を失います。
一方、連星の近日点を指す離心率ベクトルに対して垂直な方向には、時間平均で重力ポテンシャルが滑らかになる“安定ポケット”が生じると数値計算で示されています。
そこへ連星のトルクにあおられ円盤が“起き上がり”、最終的に90°の極軌道で惑星が固定されるのです。
この首振り現象(ノーダル・ライブラション)は、円盤が倒れ込むよりもエネルギー的に有利な逃げ道で、立ち上がったあとは連星面に平行な軌道より長期的に安定することが示されています。
ただしこの安定ポケットにいる惑星は、星の面をかすめることも星を揺さぶることも少なく、光や速度変化では見つかりにくい“重力の忍者”です。
そこで鍵になるのが連星自身の軌道のわずかな歳差運動です。
楕円軌道の方向が時間とともにゆっくり回る様子は、同じ平面にある伴星なら進行方向へ、直交方向にいる伴星なら逆向きへとねじられます。
つまり歳差の“回転方向”を測れば、見えない惑星がどこから連星を引っ張っているかを解読できるわけです。
若い褐色矮星連星2M1510 ABは、質量が太陽の3%しかない小さな双子でありながら離心率0.36の大きな楕円軌道を描いています。
光の弱い褐色矮星で極軌道候補を検証できる環境はめったに手に入りません。
そこで今回研究者たちは、この暗い双子の歳差運動を6年間の高精度ドップラー分光観測で測定し、逆向きのねじれから隠れた極軌道惑星を動的にあぶり出すことにしました。
すると双子が描く楕円ダンスフロア全体が、二人と一緒にゆっくり逆回転している微妙なズレが見つかりました。
時計の秒針がほんのわずか逆走するような不自然さで、普通の物理法則では説明がつきません。
「これは真横からゴムひもを引っぱる“第三のダンサー”がいるはずだ」とにらんだチームは、コンピュータ内に10万通りの仮想ダンサーを放り込み、誰がどの位置で何キロの力で引っぱれば秒針の逆走が起きるかを総当たりで探しました。
残ったのは、地球の10~100倍ほどの重さをもち、双子が回るリングを直角に横切る“十字コース”で躍るダンサーだけでした。
しかもこのダンサー自身は静かに滑っているので、直接の揺れや影はほとんど残さず、連星フロアのねじれ方だけが唯一の目印でした。
こうして「連星も暗い、惑星も横向き」というダブルで珍しい組み合わせが、星のささやき声から初めて姿を現したのです。
今回の“真横回り”の惑星候補が教えてくれる最大の驚きは、「世の中の連星は“平べったい机”の上だけで遊んでいるわけではなかった」という事実です。
二つの星が円ではなく楕円を描いて回ると、その重力場は皿を横からぎゅっとつぶしたようにゆがみ、星の公転面と同じ高さを走る軌道はコブだらけの道になります。
ところが思い切って垂直方向──ちょうどエリマキトカゲが首を立てて走るような角度──へレールを乗り換えると、重力の“出っ張り”と“へこみ”が平均化され、長いあいだ安定して走れる「空中バイパス」が現れます。
数値計算の世界では「極軌道はむしろ安全地帯」という結論が十年以上前から示されていましたが、本当にそうした軌道に惑星が褐色矮星の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年と少し。
小説家としての活動履歴あり。
専門は生物学ですが、量子力学・社会学・医学・薬学なども担当します。
日々の記事作成は可能な限り、一次資料たる論文を元にするよう心がけています。
夢は最新科学をまとめて小学生用に本にすること。
編集者
ナゾロジー 編集部
Views: 0
エンターグラムは、Nintendo Switch通常版/steam版「おかゆにゅ~~む!」を8月7日に発売する。価格はSwitch通常版が3,828円、steam版が2,970円。
Source link
Views: 0
マンガ『東京大学物語』全34巻375話が無料公開中
Source link
Views: 0
触れるものを喰い付くして急激に成長する触手モンスターと戦いながら、研究所からの脱出を目指します。
Source link
Views: 0
新しいトレンドがバイラルになることには多少懸念されています。人々はChatGptを使用して、写真に示されている場所を把握しています。
今週、Openaiは最新のAIモデルをリリースしました。 O3およびO4-MINIどちらもアップロードされた画像を介して独自に「理由」があります。実際には、モデルは写真をトリミングし、回転させ、ズームインすることができます – ぼやけて歪んだものでさえ、それらを徹底的に分析することができます。
これらの画像分析機能は、モデルのWebを検索する能力と組み合わせて、強力な位置調査ツールを作成します。 Xのユーザーは、特にO3が推測するのが非常に得意であることをすぐに発見しました 都市、 ランドマーク微妙な視覚的な手がかりからのレストランやバーでさえ。
うわー、それを釘付けにし、目の前にある木でさえありませんでした。 pic.twitter.com/bvcoe1fq0z
– swax(@swax) 2025年4月17日
多くの場合、モデルは過去のChatGPTの会話の「記憶」を描いているようには見えません。 exifデータこれは、写真が撮影された場所などの詳細を明らかにする写真に添付されたメタデータです。
Xは、ChatGptを提供するユーザーの例で満たされています レストランメニュー、 近所のスナップ、 ファサードそして 自画像O3に「Geoguessr」をプレイしていることを想像するよう指示します。これは、Google Street View画像の場所を推測するようプレイヤーに挑戦するオンラインゲームです。
これは楽しいChatGpt O3機能です。 Geoguessr! pic.twitter.com/hrcmixs8yd
– ジェイソンバーンズ(@vyrotek) 2025年4月17日
これは明らかな潜在的なプライバシーの問題です。悪い俳優がスクリーンショッティングを妨げるものは何もありません。たとえば、人のInstagramストーリーを使用して、ChatGptを使用してDoxxを試みます。
O3は非常識です
私は私の友人にランダムな写真を与えるように頼みました
彼らは私に図書館で撮ったランダムな写真をくれました
O3は20秒でそれを知っていて、それは正しいです pic.twitter.com/0k8dxifkoy– ユミ(@izyuuumi) 2025年4月17日
もちろん、これは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にもたらし、アクセシビリティ、研究、緊急対応の場所の特定などの分野でより役立ちます。私たちは、プライベートまたはデリケートな情報の要求を拒否するようにモデルを訓練するために取り組みました。
Views: 0
CESAは本日(2025年4月18日),コンピュータエンターテインメント開発者向けカンファレンス「CEDEC2025」で,新たな取り組みとなる「CEDECLightning2025」を会期2日目の7月23日に開催すると発表した。これは,約30分の間に5分間の短いセッションを次々と行う企画だ。
Source link
Views: 1
🚨『ネイバーズ:ご近所大戦争』ついにアーリーアクセス開幕🚨
ようこそ、カオスと騒音が支配するハーツビルへ😌🙌
芝生の上にモラルは置いてきた!💣
新入りには容赦なくご近所流のお・も・て・な・しをしてやれ!😈🔥
戦場はこちらから(Steamページ)👉https://t.co/mcVrA8268O pic.twitter.com/hFWi8sEHm8— 『Neighbors: Suburban Warfare 』ネイバーズ:ご近所大戦争(日本公式) (@NeighborsGameJP) April 18, 2025
『ネイバーズ:ご近所大戦争』早期アクセス版が配信開始。隣人の家を破壊し尽くす話題のハチャメチャ乱闘対戦型アクションがついに登場
{content}
Views: 0