火曜日, 5月 13, 2025
No menu items!
ホーム ブログ ページ 2276

アイリスオーヤマの掃除機「SUUZE」は軽くてコードレスでめっちゃ吸うぜ



アイリスオーヤマの掃除機「SUUZE」は軽くてコードレスでめっちゃ吸うぜ

今回ご紹介するのはアイリスオーヤマが2023年9月に発売を開始した掃除機「SUUZE」です。商品名の通り、めちゃくちゃ「吸うぜ」というのがコンセプトになっているので今使っている掃除機の吸い込みが悪い方にはぜひオススメ。

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

メカブレークシステム要件は、推奨される仕様にハードウェアの奇妙なミックスを要求する



メカはシステムの要件を破ります 古いゲームのPCで簡単に実行できるゲームの絵を描きます。それにもかかわらず、ゲームプレイの必死のペースと高いレベルのディテールにより、このゲームには最小限と推奨される仕様が信じられている以上のものがあるように見えます。
あなたは必要ありません 最高のグラフィックカード 今後の無料プレイシューティングゲームを実行します メカブレイク、まだ高い仕様やウルトラの仕様もありませんが。最初のコミュニティフィードバックは、ゲームがローエンドGPUに対して十分に最適化されていることを示唆しています。 最高のゲームラップトップ およびPC。
ストーリーの残りの部分を読んでください…
関連リンク:
メカブレイクは無料の通貨を提供し、プレイヤーは収益化を批判します
新しいMecha Break Demoは、わずか数時間後にSteamで4番目に大きなゲームです
マルチプレイヤーのメカ・ブラウラー・メカ・ブレイクには、最新のデモがあり、今すぐプレイできます
フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

今月のゲーム:ディスクルーム、キューブエスケープ、私たちの中のルシファーなど!


最近リリースされたすべての良いゲームに追いつくことは不可能だと感じています。毎週、左フィールドから別のゲームが入ってくる別のゲームが、ブラックホールの吹き飛ばしで自由な時間を食べる準備ができているようです。以下は、今月プレイする機会を得た私のお気に入りのゲームのいくつかです。

https://www.youtube.com/watch?v=wvwzoomtxv0

ディスクルーム

ミニットの後ろの乗組員は、クラシックなジャンルを奪い取った別の剥奪されたもので戻ってきました。今回は、ツインスティックシューターを再発明しています。ディスクルームは、避けて撮影を超えて動き、より大きなものになります。あなたが気付く最初の大きな変化は、あなたが実際に撃つことができないということです。はい、それは射撃のないツインスティックシューターです。これらの小さな部屋に閉じ込められており、ゲームの名目上のソーブレードと避けて、できる限り物事がますます不安定になります。ゲームを成長させるのは、ディスクがどれだけ多様であるかです。敵が撃つという要件がなければ、チームはすべての時間を費やして各敵の動きを可能な限り面白くすることができました。

これに加えて、やめないスタイルがあります。音楽はDoseoneの最高のものであり、芸術は何百回もあなたを殺すためにゲームで怒りを維持するのを難しくする気まぐれな感覚を与えます。明確にしましょう:あなたは何百回も死ぬでしょう。これはコアでの時間攻撃ゲームであり、もう数秒間しか続けようとすることは、本当の楽しみがどこにあるかです。ディスクのエッジに自分自身を押し込むことは、私が一年中楽しんだ最も爽快なゲームプレイの一部です。

https://www.youtube.com/watch?v=3rjqkam4ggs

キューブエスケープコレクション

部屋から出て、別の部屋、別の部屋、史上最高の部屋の脱出ゲームの9つは、1つの便利なパッケージにまとめられています。シュールレアル、不気味な、そして奇妙なファンは、この拡張された世界で家にいるでしょう。 9つのゲームはすべて、開発者のフォローアップRusty Lakeシリーズと共有された宇宙を形成しているので、ここにはほんの一握りの部屋から出る以外には、ここには野望のレベルがあります。ええ、各ゲームは、想像できる最も複雑なロックされた部屋から抜け出す方法を見つけることについて多かれ少なかれありませんが、これらの各ゲームを遡って、チームがゲームの共有設定とパズルのソリューションの両方でどのように創造的になるかに絶えず感銘を受けました。

あなたがポイントアンドクリックゲームやパズルのファンでない場合、私はあなたがここでたくさん見つけることを想像することはできませんが、他の誰もが素晴らしい時間を過ごすでしょう。このジャンルで可能なことの調査であることに加えて、それは彼らの作品全体でチームをシャープにするチームのスキルを見るのに楽しい方法でもあります。うまくいけば、このリリースは、すぐに新しいラスティレイクゲームが来ることを意味することを意味します。

バーチャルコテージ

私は自分のプロとしてのキャリアのほとんどのために自宅で仕事をしてきたので、領土に伴うすべての落とし穴をナビゲートするのがかなり得意です。私は、これらの前例のない時代に故郷の生活から彼らの仕事に適応するのをつまずく人々を見続けています。人々が介入するこれらの比phor的な衣装の中で、あなたのホームセットアップに住んでいるすべての気晴らしを処理することです。現在、この混乱を飼いならすことに専念している100万のプログラムがありますが、それらのどれもバーチャルコテージほど居心地の良いものではありません。

今、私が居心地の良いと言うとき、私は最も居心地が良いことを意味します。バーチャルコテージはあなたに衝撃を与えることはそれほど多くありません – あなたはあなたが取り組んでいるもの、あなたがそれに取り組みたい時間を入力し、それからあなたはレースに出かけます – しかし、あなたはロフィ・ビートを聞いて、キャラクターが彼女の頭をボブするのを見ている時計を刻むのではなく、あなたはレースに出かけます。あなたのスクリーンは、暖かい色調の偽のコテージに引き継がれ、ビートや雨の音のボリュームのスライダーがあります。そしてそれだけです。それ以外に言うことはあまりありませんが、多くの人が順調に進むのに役立つ無料のユーティリティであり、あなたはこれ以上要求することはできません。

https://www.youtube.com/watch?v=h-cchbmafnm

マニホールドガーデン

あなたの視点をひねり、それをさらにひねり、もう一度やり直し、もっとひねります。マニホールドガーデンは、他のゲームとは違ってゲームであり、アップアップが留まる必要がないゲームであり、物理学はニュートンよりもエッシャーです。確かに、それは技術的にはプラットフォーマーをパズルしますが、それを特別なものにするものを下げることになるでしょう。ゲームのほとんどは、シュールなアーキテクチャを探索し、奇妙な形の鍵を収集することにより、パスを前方に(そして後方、横向きなど)ロック解除することです。

しかし、それはすべてのゲームのオファーではありません。はい、一連のパズルを通して進歩していますが、マニホールドガーデンは迷子になるゲームです。これは、ビジュアルが非常に印象的なゲームであり、奇妙なグラデーションの色合いの世界を見つめて時間を費やすのを助けることができませんでした。このゲームが私が今まで見た他のゲームのようには見えないと言うとき、私はそれを意味します。それは無意味な建物の形と重力スワップだけではありませんが、すべてのスクリーンショットは、奇妙な反射が無限に跳ね返る奇妙な反射で歪んだ夢のように見えます。奇妙になりたい場合はチェックしてください。

https://www.youtube.com/watch?v=phndusqcvrq

あなたの窓を超えて

共感的であることの最も麻痺する部分の1つは、あなたが見るすべての人があなたと同じように有効で乱雑で複雑な生活を送っているという認識を把握することだと思います。道路で見られる各車、高速道路を通り過ぎて運転する各家、店の目の前にいる誰もが想像し始めることしかできない深さを持っています。あなたの窓の向こうには、その事実を完全に考慮するゲームがあります。あなたは、十分な密集したエリアに住んでいた人なら誰でもすぐに理解できるように、机の上で窓の外を見ている受動的なオブザーバーとして遊んでいます。あなたは窓から他の人々の生活の中で瞬間をじっと見つめます。あなたが本当に理解することのないキャラクターとして彼らの短い垣間見ることを見ると、彼らが誰であるかの反射と、それらを形作る変曲点の両方を見る人間の瞬間を見る。

この推奨事項を書いているとき、私は自分の机の上で自分の窓の外を見ているので、自分の窓から自分の隣人の生活を見ています。あなたの窓の向こうには、この非常にありふれた行為がさわやかに感じる方法で釘付けになります。確かにここにはある程度のファンタジーがあります(私たちの多くはゲームスタジオから通りの向こう側に住んでいるとは思いません)が、それはとても美しくローカルで、あなたの窓を越えて愛していないのは難しいです。

私たちの中のルシファー

ブログのファンは、私が良い探偵ゲームの吸盤であることを知っています。良い、悪い、問題ではない。私は手に入れることができる犯罪を解決することについて、ほぼすべてのゲームをプレイします。これらすべてが背景としてさえ、私は最初に聞いたとき、私たちの中のルシファーに特に興味がありました。

これらの探偵ゲームの可能性にもかかわらず、多くのゲームはおなじみのフォーミュラに従います。必要な量の証拠が得られるまで、いくつかの伝承を取得し、フィールドに出て行くと、ゲームはあなたにwhodunitを繰り返します。私はこのフォーミュラが十分に好きで、結局居心地が良いですが、私たちの中のルシファーは、私が何年も見た中で最も有望な探偵システムで型を壊すことを敢えてします。

ルシファーの大胆さには、曖昧さとタイムラインという2つの半分があります。あなたが神経節ミートに到達すると、カトリック教会をテーマにした犯罪シーンは、シーンの簡単な概要と、あなたの容疑者を倍増する少数のキャラクターの紹介を与えられています。これらの容疑者の間を行き来し、環境から証拠を収集し、ビデオ編集プログラムで見つけられるもののように見えるタイムラインにすべてを追加します。あなたは疑わしい証言のレクリエーションを演奏し、タイムラインに沿ってスクラブをして、誰かがいつ嘘をついているかを把握します。それは複雑に思えます、そして、私は最初は少し脅迫されましたが、私はそれが本当に、本当にうまく機能することをすぐに知りました。すべてをまっすぐに保つことは本当に簡単で直感的であり、私たちの中のルシファーを私たちの中の素晴らしいものにするものの後半、あいまいさを演じます。

最高の探偵ゲームでさえ、ある時点で犯人が誰であるかを教えてくれます。私は、困難な困惑をすべての人に向けてやることをすることを理解しています。ルシファーはそのすべてをで投げます。いつでも、容疑者の1人を非難し、証拠を提示することができます。それぞれの場合に正しい答えがありますが、ゲームはあまりchiいずに間違っていても進行します。ゲームを持っていることは、私を完全な馬鹿と進歩にさせてくれるのはさわやかです。

私たちの中のルシファーはひどく長いゲームではありませんが(私は約3時間でそれを打ち負かしました)、それは私が他の人がスルー・エムアップのジャンルの未来を考えるときに見えるゲームです。

今月何をプレイしていますか?以下のコメントで独自の推奨事項を作成してください。

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

「細かい音までしっかり聴こえる!」名門カッティングスタジオ・ミキサーズラボにティアックのフォノEQが導入されたワケ



「細かい音までしっかり聴こえる!」名門カッティングスタジオ・ミキサーズラボにティアックのフォノEQが導入されたワケ

高音質にこだわった作品制作において、必ず名前が上がるマスタリングスタジオ、ミキサーズ・ラボ。マスタリングのみならず、カッティングスタジオとしても定評がある。そのマスタリングルームに、新たにティアックのフォノイコライザー「PE-505」が導入されたときいて、早速取材に伺った。

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

「ポケポケ」パーモットドロップイベント・全5種中ワザ違いのプロモカードが2種!



「ポケポケ」パーモットドロップイベント・全5種中ワザ違いのプロモカードが2種!

ソロバトルでプロモパックがゲットできるバトルミッションが開幕。絵柄違いのパーモットのレアカードもゲットしたいが、それ以外にも通常版とワザ違いのポケモンが2種ゲットできるぞ!

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

良い&有用なアイデア – Codepen


私はそうでした 出口アニメーションのアイデアを把握します 最近、つまり、最近の提案(ようなもの) @exit-style 要素をDOMから削除するときに、要素をアニメーション化することができます。 それ 主に公正です 提案 現時点では、多くの課題があります。

しかし、出口(および入学!)アニメーションに役立つ新しい技術があります 今すぐ (とにかくクロムで)。それらは比較的新しいものであり、あなたが私のようであれば、私たちがこれらのdomに入っている/出口の状況にいるときにまだすぐに気にしないでください。 Una KravetsとJoey Arharはそれらを覆いました 素晴らしい 8月のブログ投稿: スムーズなエントリとエグアニメーション用の4つの新しいCSS機能。要約させてください!

  1. あなたが使用している場合 @keyframes アニメーション、これで設定できます display その中のどこにでもプロパティがあり、それはひっくり返ります そのキーフレームで。このようになるためには使用しませんでした。アニメーションはすぐに移動します display 最終的な値へのプロパティ。これにより、あなたがする最後のことが設定される「終了」アニメーションになります display: none、視界とアクセシビリティツリーから要素を削除します。 @keyframes
  2. 使用している場合 transitionしかし、 display プロパティはまだ即座に最終的な値に反転します。つまり、新しいものを使用しない限り transition-behavior: allow-discrete; それを反転するプロパティ/値 display の変更 終わり 始まりの代わりに移行の。
  3. これらの最初の2つは、出口アニメーションにかなり便利です(彼らは去るドムの状況には役に立たないが、それでもある種の「出口」です)。しかし、 入り口 または、要素があるときのアニメーションを「開始」します 追加した DOMに、今私たちは持っています @starting-style これにより、いくつかのスタイルを設定できます。 transition それらが存在すると仮定して、そのアットルールの外側の要素に設定されたスタイルに。
  4. 入り口と存在することを想像できる一般的なHTML要素は 「ポップオーバー」として動作する要素(メニューやツールチップなど)。これらの要素は、魔法のように「最上層」に運ばれることから利益を得ることができます。 z-index コンテキストの問題などを積み重ねます。しかし、今、あなたがそれをスムーズに行うために、視界からの内外のアニメーションをアニメーション化することにした場合、新しいキーワードを追加する必要があります overlay あなたの移行に。ねえ、時々あなたは素敵なものを持ってもっと仕事をしなければならない。

そして、それはすべて、視界に登場することさえありません。トランジションを表示すると、実際に「実際の」出口アニメーションに役立つので、その状況にある場合は、見る価値があります。ウナとジョーイはそれをカバーしているので、間違いなく そのブログ投稿を掘り下げてください


一部の分析ツールがクリックを追跡する方法を知っています 発信 ウェブサイトのリンク?それはいつも私の心を揺るがしました。 Analyticsツールがそれを知るためには、ウェブサイトがなくなってユーザーが従ったリンクの新しいものに置き換える前に、その情報を小さなスプリットの時間にサーバーに撮影する必要があります。それはかなり信頼できないと思います。

実際、この「ユーザーが去る直前」の状況に向けて特別に設計されたWebプラットフォームAPIがあります。 navigator.sendBeacon()。それは持っているのはいいことですが、あなたはまだしなければなりません 電話 それと、それを呼びます 適切なタイミング。 Erik Wittはブログ投稿でこれを調査しました ビーコンの信頼性をアンロードする:最小限のデータ損失のためのベンチマーク戦略

彼は、イベントリスナーでSendBeaconを呼び出すことを比較しました unloadbeforeunloadpagehide、 そして visibilitychange。私は自分のお金をかぶっていただろう beforeunload、しかしそれはそうでした 断然最悪です データの37%のみを確実に報告します。 4つの中で最高です visibilitychange 90%。 Erikは、98%を報告しているChromeの実験的APIをカバーしているため、投稿をチェックしてください(使いやすくなります)。


たまに、AI/LLM APIの例が表示されます。 わかりました 大丈夫 それはかなり賢いです。レイモンド・カムデンを読んだとき、私はそう思った genaiはあなたがベガスで勝つのを助けることができますか? レイモンドが言うように、ええと、いや、それはできませんが、それはあなたが持っているブラックジャックのようなゲームで最良の決定を下すのに役立ちます 合理的に複雑な決定ツリー

もちろん、BlackJackを支援するためにソフトウェアを作成する場合は、できることは、そのツリーのデータから正しい結果をソフトウェアに返すことです。しかし、代わりにLLMに答えを求めることにはもっと楽しくて未来的なものがあります。あなたの耳のコンピューターと話すように。

私はブラックジャックをプレイしていて、ディーラーには6つのダイヤモンドが表示されています。クラブのジャックとハートのジャックがあります。私は打つべきですか、それとも滞在する必要がありますか?

あなたは20を持っています、それは良い手です。ディーラーには16があり、これは平均以下です。あなたがヒットした場合、あなたはあなたを逮捕するカードを手に入れる危険を冒します。したがって、ディーラーが逮捕されていることを願っています。

繰り返しますが、これはそうではありません 良い アイデアは、レイモンドがAIを介して苦労していたので、恐ろしい答えを提供することを喜んでいたからですが、プロンプトを作成するためにプロンプ​​トを作成し、チャートの座標よりも退屈でないと感じる「プレーンな言語」の方法で結果を得ることに興味深いものがあります。


先日、最近のケビンパウエルのビデオについておしゃべりしていました。 コンテナとラッパーのクラスへの新しいアプローチ (彼は他の人のほんの一握りを信じています)。このアイデアは、このような列でグリッドをセットアップすることでした。

.grid {
  display: grid;
  grid-template-columns:
    [full-width-start] minmax(var(--padding-inline), 1fr)
    [breakout-start] minmax(0, var(--breakout-size))
    [content-start] min(
      100% - (var(--padding-inline) * 2),
      var(--content-max-width)
    )
    [content-end]
    minmax(0, var(--breakout-size)) [breakout-end]
    minmax(var(--padding-inline), 1fr) [full-width-end];
}

ちょっと複雑に見えますよね?ステップに分解するのは、それほど悪くはありません。ほとんどのように見えるのは、ほとんどが命名されています。しかし、それの本当の美しさはです 命名。これを設置すると、呼び出すだけでグリッドにアイテムのエッジとエッジを非常に簡単に配置できます grid-column: full-width;、しかし、通常のコンテンツは中央に設定されています。ビデオに取り上げる素晴らしい詳細がいくつかあります。おそらく最高のものは、コンテンツを全幅のコンテナ内で同じセンターに戻す方法です content エリア まったく同じテンプレート列を適用します その容器に。


JavaScript Iを必要とするレイアウト関連のものは、通常、かなり硬いです。 JavaScriptがロード(またはそうではない)場合、レイアウトが失敗したり、シフトしたりするというアイデアは、私を悩ませます。

しかし 時々、レイアウトの更新が完全にボーナス強化である場合、私は容赦します。私は一緒にいるかもしれないと思います 要素を「全幅」にするというYihui Xieのアイデア (クラス名と同様に、Kevinが上記のセクションで利用できるようにします)。

アイデアは、JavaScriptの少しを使用して、要素が完全な幅であるかどうかを動的に決定できるということです。これが状況です:

  1. コードブロック(
    ).If the scrollWidth is greater than offsetWidth, it means the code block has a horizontal scrollbar, and we may want to make it full-width.

  2. 表(
    ).If its offsetWidth 親のものよりも大きいです offsetWidth、幅が広すぎます。

  3. 目次(IDを持つ要素 TableOfContents、例えば、
  4. 要素が完全に大きくなると、それは可能性が高くなる可能性がありますが、そうでない場合、それは大したことではありません。

    Yihui Xieは、次のようなクラスで全幅を履いています。

    .fullwidth {
      width: 100vw;
      margin-left: calc(50% - 50vw);
    }

    これは古典的なテクニックでもありますが、上記のテクニックほど堅牢または柔軟ではないと思います。


    サイトのページビューを追跡したいと思っていますが、ボットを避けたいと思います。つまり、現実の人間のユーザーではないサイトをリクエストするものは何でも。 ハーマン・マルティヌスは彼のクマのブログプラットフォームでそれを試みています このような:

    body:hover {
      border-image: url("/hit/{{ post.id }}/?ref={{ request.META.HTTP_REFERER }}");
    }

    さて、人がページの上にカーソルを押し上げる(またはモバイルでスクロールする)とトリガー body:hover ポストヒットのURLを呼び出します。ボットがホバーするとは思わず、代わりにJSを使用してページと対話するだけなので、合理的な確実性を持って、これが人間の読者であると仮定できます。

    次に、ユーザーエージェントがボットではないことを確認します(これは完璧ではありませんが、それでも何か)。また、ユーザーエージェント文字列からブラウザとプラットフォームを抽出します。

    おそらく厳密なコンピューターサイエンスではありませんが、サーバーサイドカウンターよりもはるかに便利な数字であると思います。

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

ヘビも交じる袋の中から,より多くのウナギのつかみ取れ。運も左右する心理戦を楽しめるボードゲーム「ウナギかヘビか」,5月23日発売



ヘビも交じる袋の中から,より多くのウナギのつかみ取れ。運も左右する心理戦を楽しめるボードゲーム「ウナギかヘビか」,5月23日発売

 オインクゲームズは,ボードゲーム「ウナギかヘビか」を2025年5月23日に発売すると発表した。本作は,ヘビも交じる袋の中からウナギのつかみ取りをする,運と心理戦が絡み合うゲームだ。形がまったく同じウナギとヘビの木ゴマを袋の中に手を入れてつかみ,誰よりも多くのウナギを手に入れて高得点を狙う。

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

トランプ関税により日本のゲーム関連株が急落―任天堂株は一時9,000円割れ、ソニーなど大手各社にも打撃



トランプ関税により日本のゲーム関連株が急落―任天堂株は一時9,000円割れ、ソニーなど大手各社にも打撃

トランプ関税により日本のゲーム関連株が急落―任天堂株は一時9,000円割れ、ソニーなど大手各社にも打撃

フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

【Ruby】日付・時刻操作まとめ:require “date”とrequire “time”の使い分けと使い方 #プログラミング – Qiita



【Ruby】日付・時刻操作まとめ:require

はじめに

Rubyで日付や時刻を扱うには、標準ライブラリの Date、DateTime、Time クラスを活用します。これらは require “date” や require “time” で使えるようになります。本記事では、それぞれのクラスが何を扱うか、どのようなメソッドで操作できるかを網羅的に解説します。

1. Time クラス(組み込み + require ‘time’)

1. 何を扱う?

  • 日付 + 時刻 + タイムゾーン情報
  • 秒・分・時間まで含む「現在時刻」や「特定の時刻」を表す

2. 主な使い方

p t = Time.now # 現在の時刻  例: 2025-04-06 21:46:31.430407 +0900
p t - 3600     # 1時間前    例: 2025-04-06 20:46:31.430407 +0900
p t + 60       # 60秒後     例: 2025-04-06 21:47:31.430407 +0900

p t.year # 2025
p t.month # 4
p t.day # 6
p t.strftime("%Y-%m-%d") # "2025-04-06"

3. require ‘time’ で拡張される機能

  • Time.parse(string) で文字列をパースできるようになる。「文字列をパースする」とは、文字列(String)を意味のあるデータ構造に変換することを指します。
  • Time.parse は人間がよく使う形式のいろんな書き方に対応しています:
require "time"
p Time.parse("2025-04-06 10:00:00")  # => Time オブジェクト 例: 2025-04-06 10:00:00 +0900
p Time.parse("06 Apr 2025 10:00:00") # => Time オブジェクト 例: 2025-04-06 10:00:00 +0900
p Time.parse("2025/04/06 10:00")     # => Time オブジェクト 例: 2025-04-06 10:00:00 +0900

# 特定フォーマットの文字列を Time に変換
p Time.iso8601("2025-04-06T10:00:00+09:00")      # => ISO 8601 形式  2025-04-06 10:00:00 +0900
p Time.rfc2822("Sun, 6 Apr 2025 10:00:00 +0900") # => RFC 2822 形式  2025-04-06 10:00:00 +0900
p Time.httpdate("Sun, 06 Apr 2025 01:00:00 GMT") # => HTTP 日付形式  2025-04-06 01:00:00 UTC

# Time オブジェクトをフォーマットに合わせた文字列に変換
p now = Time.now # => 2025-04-06 21:58:52.383212 +0900
p now.iso8601    # => "2025-04-06T21:58:52+09:00"
p now.rfc2822    # => "Sun, 06 Apr 2025 21:58:52 +0900"
p now.httpdate   # => "Sun, 06 Apr 2025 12:58:52 GMT"

補足1: ISO形式(ISO 8601形式)とは?

  • API通信(JSONの日付フィールド)や DBとのデータやり取りなどでよく使う。
  • 国際標準の「日付と時刻の書き方」
  • 基本の形(日時)YYYY-MM-DDThh:mm:ss±hh:mm 2025-04-06T10:00:00+09:00
  • 2025-04-06 → 日付(年-月-日)
  • T → 時間の区切り文字(Timeの「T」)
  • 10:00:00 → 時刻(時:分:秒)
  • +09:00 → タイムゾーン(日本時間はUTC+9)
    image.png

補足2: UTCとは?

  • 協定世界時(Coordinated Universal Time)のこと。
  • 地球上での「基準となる時間」で、全世界共通の“ゼロ基準の時間”です。
  • 地球基準の時計=UTC。時間のズレをなくすための世界共通の時間。経度0度(イギリス・グリニッジ)を基準。「GMT(グリニッジ標準時)」に近い(ほぼ同じと考えてOK)
  • 日本時間(JST)は UTCより9時間進んでいる ので:
    UTC:  2025-04-06T01:00:00Z
    JST:  2025-04-06T10:00:00+09:00
    
    • Z は「Zuluタイム」の略(=UTCのこと)
    • +09:00 は UTC からの時差を表してる

2. Date クラス(require ‘date’)

1. 何を扱う?

  • 日付のみ(時刻なし)
  • 年・月・日を操作するのに向いている

2. 主な使い方

require "date"

# 基本的な生成と取得
p Date.today                 # => 今日の日付 #
p Date.new(2025, 4, 1)       # => 2025-04-01 #
p Date.parse("2025-04-06")   # => 文字列から変換 #

puts "----------------------------"

# 日付の演算
d = Date.new(2025, 4, 6)

p d + 1            # => 翌日(2025-04-07) #
p d - 7            # => 1週間前(2025-03-30) #
p d.next_day(3)    # => 3日後(2025-04-09) #
p d.prev_month     # => 前の月(2025-03-06) #
p d.next_month(2)  # => 2ヶ月後(2025-06-06) #

puts "----------------------------"

# 曜日チェック
p d.wday        # => 0(日曜日)※0〜6(Sun〜Sat)
p d.sunday?     # => true
p d.monday?     # => false

puts "----------------------------"

# フォーマット変換(文字列
p d.strftime("%Y-%m-%d")      # => "2025-04-06"
p d.strftime("%B %d, %Y")     # => "April 06, 2025"
p d.strftime("%Y年%m月%d日")  # => "2025年04月06日"

puts "----------------------------"

# 文字列からの変換(フォーマット指定あり)
puts Date.strptime("06/04/2025", "%d/%m/%Y") # => 2025-04-06
puts Date.strptime("20250406", "%Y%m%d")     # => 2025-04-06

puts "----------------------------"

# 日付の比較
puts a = Date.new(2025, 4, 6) # 2025-04-06
puts b = Date.new(2025, 4, 1) # 2025-04-01

p a > b   # true
p a == b  # false

puts "----------------------------"

# 範囲を使ったループ
from_date = Date.new(2025, 4, 1)
to_date = Date.new(2025, 4, 5)

(from_date..to_date).each do |date|
  puts date.strftime("%Y-%m-%d")
end

# 出力:
# 2025-04-01
# 2025-04-02
# 2025-04-03
# 2025-04-04
# 2025-04-05

puts "----------------------------"

# 月末・月初

d = Date.new(2025, 4, 6)

puts Date.new(d.year, d.month, 1)    # => 2025-04-01
puts Date.new(d.year, d.month, -1)   # => 2025-04-30

3. DateTime クラス(require ‘date’)

1. 何を扱う?

  • 日付 + 時刻(でも Time より機能が少ない)
  • タイムゾーン操作など一部の場面では Time より使いやすいことも

2. 主な使い方

require "date"

p dt = DateTime.now # 現在の時刻 #

puts "----------------------------"

# 時刻の各要素を取得
puts dt = DateTime.new(2025, 4, 6, 15, 30, 45) # => 2025-04-06T15:30:45+00:00

puts dt.year    # => 2025
puts dt.month   # => 4
puts dt.day     # => 6
puts dt.hour    # => 15
puts dt.minute  # => 30
puts dt.second  # => 45

puts "----------------------------"

# 日付や時刻の加減算(演算)
puts dt + 1  # 翌日 => 2025-04-07T15:30:45+00:00
puts dt - 1  # 前日 => 2025-04-05T15:30:45+00:00

puts "----------------------------"

# フォーマット文字列の活用
puts dt.strftime("%Y/%m/%d %H:%M:%S")  # => "2025/04/06 15:30:00"
puts dt.strftime("%A, %d %B %Y")       # => "Sunday, 06 April 2025"
puts dt.strftime("%Y年%-m月%-d日 %H時%M分") # => "2025年4月6日 15時30分"

puts "----------------------------"

# 文字列からの変換
puts DateTime.parse("2025-04-06T15:30:00+09:00")  # 2025-04-06T15:30:00+09:00
puts DateTime.strptime("06/04/2025 15:30", "%d/%m/%Y %H:%M")  # 2025-04-06T15:30:00+00:00

puts "----------------------------"

# タイムゾーンの扱い(オフセット指定)
puts dt = DateTime.new(2025, 4, 6, 15, 30, 0, "+09:00")
puts dt.zone      # => "+09:00"
puts dt.offset    # => 3/8 (9/24)

# UTC変換
puts dt.new_offset(0)  # => UTC時刻(+00:00)に変換 2025-04-06T06:30:00+00:00

puts "----------------------------"

dt1 = DateTime.parse("2025-04-06T10:00:00")
dt2 = DateTime.parse("2025-04-07T10:00:00")

p dt1  dt2  # => true
p (dt1..dt2).cover?(DateTime.parse("2025-04-06T12:00:00"))  # => true

puts "----------------------------"

# 日付・時刻だけ取り出したいとき

puts dt = DateTime.now # => 2025-04-06T22:37:28+09:00

puts dt.to_date    # => 2025-04-06
puts dt.to_time    # => 2025-04-06 22:37:28 +0900

4. クラスの使い分けまとめ

image.png

5. 実践問題

Q1. 今日が週の何日目かを数値と文字列で出力せよ

# 出力例: 0 (Sunday)
# 出力例: Sunday

回答

require "date"

today = Date.today
puts today.wday         # => 0〜6(0は日曜)
puts today.strftime("%A") # => "Sunday"など英語の曜日

Q2. 指定された年月に含まれる土日の日数を求めよ

# 入力: 2025年4月
# 出力: 土日が何日あるか

回答

require "date"

def weekend_count(year, month)
  first_day = Date.new(year, month, 1)
  last_day = Date.new(year, month, -1)

  (first_day..last_day).count { |d| d.saturday? || d.sunday? }
end

puts weekend_count(2025, 4)  # => 8

Q3. 2つの日付の間にある平日・休日の数を数えよ

# 入力: Date型2つ
# 出力: 平日と休日の数(祝日は無視)

回答

require "date"

def count_weekdays_and_weekends(from, to)
  weekdays = 0
  weekends = 0

  (from..to).each do |date|
    if date.saturday? || date.sunday?
      weekends += 1
    else
      weekdays += 1
    end
  end

  { weekdays: weekdays, weekends: weekends }
end

start_date = Date.parse("2025-04-01")
end_date = Date.parse("2025-04-10")

result = count_weekdays_and_weekends(start_date, end_date)
puts result
# => {:weekdays=>8, :weekends=>2}

Q4. 日付の配列から、最も未来に近い日を求めよ

# 入力: Date配列
# 出力: 今日より未来のうち、最も近い日付

回答

require "date"

def nearest_future_date(dates)
  today = Date.today
  future_dates = dates.select { |d| d > today }
  future_dates.min
end

dates = [
  Date.new(2025, 4, 10),
  Date.new(2025, 4, 5),
  Date.new(2025, 4, 8)
]

puts nearest_future_date(dates)
# 今日が2025-04-06 なら => 2025-04-08

Q5. 「yyyy-mm-dd」形式の文字列配列から、昇順でソートせよ

# 入力: ["2025-04-10", "2023-01-01", "2024-12-31"]
# 出力: ["2023-01-01", "2024-12-31", "2025-04-10"]

回答

require "date"

def sort_date_strings(array)
  array.map { |s| Date.parse(s) }
      .sort
      .map(&:to_s)
end

dates = ["2025-04-10", "2023-01-01", "2024-12-31"]
puts sort_date_strings(dates)
# => ["2023-01-01", "2024-12-31", "2025-04-10"]

おわりに

Rubyは Time と Date をしっかり使い分けることで、複雑な日付処理も簡潔に書くことができます。標準ライブラリながら強力な機能を活かして、実務でも使えるコードをどんどん書いていきましょう!

また、株式会社シンシアでは、実務未経験のエンジニアの方や学生エンジニアインターンを採用し一緒に働いています。
※ シンシアにおける働き方の様子はこちら

弊社には年間100人程度の実務未経験の方に応募いただき、技術面接を実施しております。
この記事が少しでも学びになったという方は、ぜひ wantedly のストーリーもご覧いただけるととても嬉しいです!



フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金

Source link

Views: 0

【Amazonセール】ゲームストリーミングオーディオミキサー「ZG01」×「NieR:Automata」コラボモデルがお買い得 – GAME Watch

Amazonは、ヤマハのゲーム/配信用ゲームストリーミングオーディオミキサーをセール価格で販売している。セール期間は4月16日23時59分まで。 本製品は、没入感の高いゲーム体験を提供する、ゲーム/配信用オーディオミキサー。今回は、アニメ「NieR:Automata Ver1.1a」とのコラボレーションモデル「ZG01 042」と「ZG01 153B」がセールの対象になっている。 どちらも、直感的な音量操作や、高解像度 (24-bit/48kHz) USBオーディオ録音/再生が可能。複数デバイスとしてPCに認識される専用ドライバーによる柔軟な音量調整ができる。 なお、購入する際は、セール価格で販売されているかどうかを確認してから購入してほしい。
【ゲームストリーミングオーディオミキサー NieR:Automata Ver1.1aコラボモデル ZG01 042】
【ゲームストリーミングオーディオミキサー NieR:Automata Ver1.1aコラボモデル ZG01 153B】
フラッグシティパートナーズ海外不動産投資セミナー 【DMM FX】入金 Source link

Views: 0