Ruby関連のことを調べてみた2022年12月07日

Ruby関連のことを調べてみた2022年12月07日

社内で話したメディアダウンロード機能の実装について

## 背景
最近、社内でS3に保存したメディアをHTML上で手元にダウンロードする機能を実装してほしいとの要望があった。
実際に作成していく中で、私の知識不足もあり、いろいろ嵌っていったので、共有と備忘録も込めて、この記事を記述する。

## なんだ、簡単じゃん
調べてみると下記のようなコードで実装できるらしい!(やったね!)
“`html
ダウンロード
“`

うっきうきで実装してみると…
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1770714/02d8e9ab-68b2-041d-a702-0f94825b0894.png)
違う、そうじゃない…
調べてみると、下記のような文言がありました。
>この属性は同一オリジンのURLに限り動作する

今回、ダウンロードしたい画像はS3に置いてあるため、当然のことながら同一ドメインではない。よ

元記事を表示

RubyでUnicode文字列をもとに戻す方法

## 概要
RubyでUnicodeを普通の文字列に戻す

## 経緯
スクレイピングの方を実施していて、よし取得できた!と思ったらunicode形式のもので簡単に戻せるかなと思ったのですが少し苦戦したので次回以降同じことがあってもすぐ解決できるように記事にした。

## だめだったこと
通常のエンコード系メソッドはだめだった
“`rb
“文字列”.encode(Encoding::UTF_8)
“`
とか

## 成功したコマンド
“`rb
“文字列”.gsub(/\\u([\da-fA-F]{4})/) { [$1].pack(‘H*’).unpack(‘n*’).pack(‘U*’) }
“`


“`
\u3054\u3063\u3064\u3048\u3048\u672c\u8217 CIAL\u6a2a\u6d5c\u5e97

ごっつええ本舗 CIAL横浜店
“`

どなたかの役に立てば幸いです

元記事を表示

Rails module

## はじめに
これまで個人開発をしていて、Railsでmoduleを使うことはほとんど使うことはありませんでした。
実際にインターンをしてみると、moduleってかなり使われているなという印象です(特に名前空間としての役割)。
moduleがclassとどう違うのかや、どんな使われ方をするのかなどをまとめたいと思います。

## moduleとclassの違いについて
moduleとclassの違いは以下の記事がとてもわかりやすいです。

https://qiita.com/fukumone/items/2dd4d2d1ce6ed05928de

– moduleはインスタンスを生成できないが、classはできる
– moduleは他のmoduleやclassを継承することはできないが、classは継承することができる

## 主な使い方
– 名前空間として使う
– メソッドを格納する場所として使う

#### 名前空間としての使い方
特にこの使い方が多いのかなと思います。
moduleを使ってネストさせることによって名前空間を作ることができます。
小さなプロジェクトであれば名前の衝

元記事を表示

Turbo 6: Turboアプリケーションの構築

:::note
この記事は[Google翻訳](https://translate.google.co.jp/)の結果を編集したものです。
:::

https://turbo.hotwired.dev/handbook/building

Turboはリンクをたどったりフォームを送信したりするときにページ全体がリロードされるのを防ぐため高速です。アプリケーションはブラウザ内で永続的で長時間実行されるプロセスになります。これによりJavaScriptの構造を再考する必要があります。

特にナビゲートするたびに環境をリセットするために、ページ全体の読み込みに依存することはできなくなりました。JavaScriptの`window`と`document`オブジェクトはページが変更されても状態を保持し、メモリに残した他のオブジェクトはメモリに残ります。

このことを認識し少し注意を払うことで、Turboと密接に結合することなく、この制約を適切に処理するようにアプリケーションを設計できます。

# スクリプト要素の操作

ブラウザーは最初のページ読み込み時に存在するすべての`