Comments

Omotesando.rb #107

wakairo @wakairo
最終更新

[お知らせ]こちらのまとめに追加して欲しい内容があるなど、ご要望等ございましたら、下の所からのコメントやX(旧Twitter)などでお気軽にお伝えください。

Connpass: https://omotesandorb.connpass.com/event/346292/

それぞれのLTなどについての簡単な記録です。

スポンサーLT:IBJ様

  • 会社概要、経営理念
  • 事業内容:婚活サービス、少子化対策につながる!
    • 少子化を解決するには結婚カップルを増やすこと!
      • 既婚女性が産む子供の数はあまり減っていない
  • 唯一無二のビジネスモデル
    • 婚活後のライフデザイン事業も手がける
  • IBJに入ったらこういう働き方が出来る
    • 幅広く活躍できる
    • 若くから活躍できる
    • 他職種の同期と連携してサービス開発ができる
  • エンジニアゼミ・ハッカソン
  • BackendはほぼRails
  • 採用ページ: https://recruit.ibjapan.jp/

hamachan「Ruby型推論は楽しいぞ」

  • 型推論とは
    • 加算できない型同士のときにエラーを出すなど
  • 字句解析
    • "class"やクラス名などを認識して、その順番からRubyコードを解析・理解
    • データの持ち方
  • 今後やっていくこと
    • 設計をしっかりする
    • テストを整える
  • その他
    • 字句解析はGoで実装している
    • Goを選んだのは、1日で覚えられて、自分に合っていると思っているから

s.mototsune「みんな知ってるfresh_when」

  • rubyonrails.orgを見ていたらfresh_whenがいた
  • 2021年12月にはWebページに載っていた
  • Rails v2.2.1からいたメソッド
  • 要するに、キャッシュ関係のヘッダを設定でき、必要に応じて304を返せる
  • 応用例:TURBOのprefching over linkで大量のリクエストが飛ぶが、fresh_whenで304を返せば転送量をグッと削減できる
  • ただしキャッシュには要注意のところがあるので、気を付けましょう。過去にはキャッシュ絡みで見せてはいけない情報を流してしまった事例もあります。

わこー「Sinatraってなんで動いているの?」

Kirika_K2「最近休日にやっていること」

  • 休日にやっていること:picoruby-esp32
  • 従来比較で何が面白いか
    • ESP32の資産が使えるように
    • M5stackの資産が使えるように
  • M5stackにはローカルLLMを動作させるモジュールなど面白いものがある⇒買いました
  • picoruby-esp32を通して、早くLLMモジュールを実行できるようにしたい

sinsoku「RBS::Trace」

Kaiba「LLM Fixerの紹介」

0
Raw
https://www.techtips.page/ja/comments/875

params.expectで配列のパラメータを許可するには明示的に二重の角括弧([[ :属性名 ]])が必要

wakairo @wakairo
最終更新

ちなみに、RuboCopにrequirepermitの組み合わせからexpectへの書き換えを自動でやってもらうことは可能ですが、配列パラメータの許可に関してはRuboCopが自動書き換えに失敗する場合があります。

その理由は以下の記述は、配列のパラメータも配列でないパラメータも許可してしまうため、RuboCopとしては配列なのかそうでないのかの判定が機械的に行えないためであると考えられます。

permit(user: [:name])

より詳しくは、前述の記事のこちらの箇所を参照ください。

0
Raw
https://www.techtips.page/ja/comments/843

params.expectで配列のパラメータを許可するには明示的に二重の角括弧([[ :属性名 ]])が必要

wakairo @wakairo

Rails8では、requirepermitに代わるより安全な新しいメソッドとして、strong parametersへexpectが導入されました。

expectでは、安全面への配慮から、配列のパラメータを指定する方法がpermitに比べ厳格化されています。 具体的には、配列のパラメータを許可するには明示的に二重の角括弧([[ :属性名 ]])が必要となりました。

配列のパラメータを許可する具体的な方法(引用元: expectのAPIドキュメント)は以下の通りです。

params = ActionController::Parameters.new(comments: [{ text: "hello" }, { text: "world" }])
params.expect(comments: [[:text]])
# => [#<ActionController::Parameters { "text" => "hello" } permitted: true>,
#     #<ActionController::Parameters { "text" => "world" } permitted: true>]

なお、安全のためにexpectがこの二重の括弧の記法を採用した背景については、Rails 8: strong parametersの新しいparams.expectの使い方(翻訳)を参照ください。

0
Raw
https://www.techtips.page/ja/comments/842

Shinjuku.rb #97 「個人開発発表 LT大会!」

wakairo @wakairo
最終更新

[お知らせ]こちらのまとめに追加して欲しい内容があるなど、ご要望等ございましたら、下の所からのコメントやX(旧Twitter)などでお気軽にお伝えください。

Connpass: https://shinjukurb.connpass.com/event/342412/

それぞれのLTなどについての簡単な記録です。

開始前

新宿のIBJにて

はじめに

  • Shinjuku.rbの説明

スポンサーLT:IBJ様

  • 会社概要
  • 事業内容:婚活サービス、少子化対策につながる!
  • IBJに入ったらこういう働き方が出来る:幅広く活躍できるなど
  • BackendはほぼRails

hamachan「Ruby型推論は楽しいぞ!」

  • Goで実装している
  • 字句解析やパースについて
  • 今後は、まず設計をしっかりしたい、テスト環境をどうにかしたい
  • Rubyの型推論はすでにあるが、楽しみとしてやっていきます

チャー「収益を出すための個人開発」

  • 今までの個人開発
    • フードロス削減
    • おじさん救済
    • ECサイト
  • 夢は個人開発による不労所得!
  • 市場調査:検索キーワードから需要の想定
  • 「調整さん」を改善した「調整ちゃん」で収益を出したい

Wakairo「PmRails」

スライド: https://speakerdeck.com/wakairo/pmrails

  • 様々なバージョンでの railsコマンド実行を 容易にするツール
  • Podmanについて
  • PmRailsについて

Koji NAKAMURA「Add-on を作って学ぶ Ruby LSP」

スライド: https://speakerdeck.com/kozy4324/ge-ren-kai-fa-fa-biao-lt-shinjuku-dot-rb-number-97

  • LSPについて
  • 作り出して分かったこと
  • フルサイクル開発は楽しい

yoshihisasan「Chrome拡張」

  • 食べログの拡張
  • Webページにフリガナを振る

小林悟史(小林ノエル)「政治資金データベース」

発表スライド: https://www.docswell.com/s/free_world21/59V2RJ-2025-02-05-132943

  • 政治資金収支報告書は紙をスキャンしただけの画像データなので集計が難しい
  • データソースが複数存在し、政治家などへの紐付けが難しい
  • 連結決算のようなデータが存在しない
  • 既存団体は手作業で限界がある。プログラミングで解決!
  • プログラミング・シンポジウムで受賞

s.mototsune「爆速アプリ開発」

発表資料: https://blog.saeki-mototsune.com/articles/1

  • 年末年始、個人開発したい!
  • 大掃除、旅行、会食、etc...
  • 個人開発LTを見つけた!
  • 気が付いたら1/29、昼休憩1時間で爆速開発
  • rails-new -> devcontainer
  • すごいペースで、Rails 8の新機能も使いつつ、1時間で、様々な機能を実装できました

yamataka22「プロジェクトタスク管理ツール」

  • 既存ツールは計画変更が面倒:変更が当たり前なのに変更がつらい!
  • 完成したら自分のチームでまず使う
  • 来月末にはMVPを完成させたい
0
Raw
https://www.techtips.page/ja/comments/777
😄1

Solid Queueとアプリで同じDBを使う時の注意点と設定

wakairo @wakairo
最終更新

公式READMEでは、Solid Queueとアプリで同じデータベースを利用することは可能だがいくつか注意点があると記されており、問題をさけるための設定として以下が紹介されています。

class ApplicationJob < ActiveJob::Base
  self.enqueue_after_transaction_commit = true
end

また、インストールにおいても単一データベース用にいくつか作業が必要になります

なお、本件に関する日本語情報としては、Rails Guidesの日本語版に概要の記述があります。

0
Raw
https://www.techtips.page/ja/comments/776
😄1
🔧1

「Getting Started on Heroku with Rails 8.x」が「db:migrate」でエラーになる

wakairo @wakairo

Herokuを使ってRails 8のアプリを運用するときに手始めに試されるであろうGetting Started on Heroku with Rails 8.xですが、「Last updated November 13, 2024」の版では、heroku run rake db:migrateのところでエラーが出ます。

原因は、Rails 8のデフォルトの新規アプリでは、Solid CacheとSolid Queue、Solid Cableが有効になっており、これら3つの機能はそれぞれデータベースを1つずつ必要とするところにあると思われます。 もう少し詳しく言うと、Rails 7まではアプリ本体の情報を記録するprimaryデータベース1つを用意してそのデータベースへの接続設定を行うだけで良かったところが、 Rails 8からはprimaryデータベースに加えて前述の3つの機能用にそれぞれデータベースを用意して設定しないといけなくなってしまっているのに、 渦中のGetting Startedにはそれに対応する作業の記述がないため、マイグレーションでエラーが出ているものと思われます。

0
Raw
https://www.techtips.page/ja/comments/710
😿4
🔧1

PmRails 1.0をリリースしました。

wakairo @wakairo

PmRails 1.0.0をリリースしました。

PmRailsは、Ruby on Railsのアプリケーションのテストまたは開発をするためのツールセットです。 RailsやRailsが依存するものをローカル環境にインストールすることなく使用できます。 Podmanを活用し、Railsプロジェクトのための隔離されたコンテナ環境を作成します。

ご不明な点や質問などございましたら、このTopicにお気軽にお寄せ下さい。できる範囲で回答いたします。

0
Raw
https://www.techtips.page/ja/comments/677
🎉3
🔧2
🔄1
❤️1

Rails 8.0の新機能に対応するRails guidesのページ

wakairo @wakairo
最終更新

Rails 8.0で導入された新機能に関して記述しているRails guidesのページを以下にまとめました。

なお、Solid Cableの記述がRails guidesのどこにあるかは分かりませんでした。

ちなみに、GitHubのレポジトリは以下の通りで、そのREADME等からも情報を得られます。

0
Raw
https://www.techtips.page/ja/comments/666
🔧3
😿2
❤️2
😄1
💡1
💯1