タグ

RubyとJavaScriptに関するYassLabのブックマーク (38)

  • ちょっと複雑なサイドバーをHotwireで簡単に作りたい - クックパッド開発者ブログ

    こんにちは、レシピ事業部プロダクト開発グループの渡邉(@taso0096)です。 クックパッドは最近、One Experienceというプロジェクトによって日版とグローバル版のシステムが統合されました。 どちらのシステムもRailsで実装されているという点は同じですが、統合先となったグローバル版ではHotwireが使われていました*1。そのため、One Experience関連の開発ではHotwireが積極的に活用されています。記事ではそんなHotwireの多くの機能が使われたデスクトップ版のサイドバーについてご紹介します。 デスクトップ版で表示されるサイドバー ちょっと複雑なサイドバー One Experienceに伴い、グローバル版にもともと存在したUIのまま移行するのではなく、いくつか画面構成の変更を入れる事になりました。特にデスクトップ版においては、自分のコンテンツにより素早く

    ちょっと複雑なサイドバーをHotwireで簡単に作りたい - クックパッド開発者ブログ
    YassLab
    YassLab 2024/11/14
    “JavaScriptをほとんど書かずに主要な機能の実装ができた / JavaScriptは好きですが、Railsを書く上でHotwireはかなり良くできた仕組み / Hotwireはまだ使い始めたばかりの技術ですので、新しい知見が溜まったらまた共有したい”
  • Next.js App Routerの"use server"雑感 : Rails視点から

    はじめに Next.jsにServer Actionが新しく導入されました。サーバ上の関数をブラウザから直接呼び出すようなコードの書き味を提供するもので、非常に魅力のあるコンセプトだと私は思っています。ただしサーバ上で実行されるコードとブラウザで実行されるコードの境界が曖昧で、"use server"のセキュリティ上の懸念もよく議論されています。 一方で、私の先日の記事Next.jsで簡単なCRUDアプリを作りながら気になったセキュリティ: Railsの視点からで、私はこの"use server"問題には言及しませんでした。まだ非常に新しい話題でかつNext.js側の対応も進行中だというのもありますが、実は個人的にあまり気にならないのが最大の理由です。 気にならなくなったきっかけは、Server ActionをRuby on Railsのコントローラと同じように考え始めたことです。こうする

    Next.js App Routerの"use server"雑感 : Rails視点から
    YassLab
    YassLab 2024/10/14
    "RailsのScaffoldやRailsチュートリアルを始めたとした優れた教材によるところがとても大きいのですが、「解釈」が間違っていても、コードは正しく書けるぐらいの「形」を作ってあげるのが良いと思います"
  • Next.jsで簡単なCRUDアプリを作りながら気になったセキュリティ: Railsの視点から

    先日、Kamal 2でNext.jsを安価なVPSにデプロイする勉強をしながら、Next.js App Router/Server ActionでCRUDのデモアプリを作成しました(コードはGitHub)。そのときにセキュリティについて気になって点がいくつかあり、勉強しながら対策をしましたので紹介したいと思います。 私自身は業務でNext.jsを書いた経験が限定的です。的外れな議論をしているかもしれません。あくまでもRuby on Railsアプリを書くときと同じ気持ちでNext.jsのアプリを書いたとき、セキュリティ上で気になった点を挙げているだけです。私が見落としている点や誤っている点等ありましたら、コメントやX等で教えていただけると大変ありがたいです。 その1:データ漏洩の危険性 この問題についてはムーザルちゃんねるが紹介しています。またNext.jsの公式ブログでも対策が紹介されて

    Next.jsで簡単なCRUDアプリを作りながら気になったセキュリティ: Railsの視点から
    YassLab
    YassLab 2024/10/11
    "なおセキュリティを真剣に学びたい場合、Railsガイドにはセキュリティに関する非常に充実したセクションがあります。Railsに限らず、一般のウェブ開発でも有用なリソースだと思います。"
  • I'm back, Ruby on Rails

    03 Aug, 2024 Last year, I wrote a blog post called Goodbye, Ruby on Rails. One year later, after creating my own business, I decided to be back to Ruby on Rails. I’m withdrawing my previous statements on DHH and Rails. Though I still have some concerns about the directions of Ruby on Rails, especially the rejection of TypeScript, I still believe that Ruby on Rails is a great framework for web deve

    I'm back, Ruby on Rails
    YassLab
    YassLab 2024/08/04
    “you have to be crystal clear about your own priorities. For example, is it the top priority to iterate fast, then push products to the market? Or just leaning in the latest tech trends and frameworks? I think the former is more important. Ruby on Rails is still the best choice for this.”
  • Rails is Good Enough

    The first time I watched the infamous “build a blog in 15 mins” video, Dreamweaver was a thing, Flash was owned by Macromedia, and Twitter did not exist. 20 years later, Rails is alive and well. While it has never been the the most popular kid on the block by any means, it remains widely used by bootstrapped founders, large tech companies and everyone in between. Learning programming after 40 with

    Rails is Good Enough
    YassLab
    YassLab 2024/08/04
    'the right way to do important things like auth, and the not-so-important ones like naming conventions. I like not having to think about any of that, so I can focus on building a business and marketing. / “the longer a technology has been around, the more likely it is to continue being around.”'
  • Rails 7のHotwireを簡単に理解する

    GMOアドマーケティングの吉岡です。 今回の記事ではRails 7で追加されたHotwireという技術について、何が良いのか?どんなことができるのか?を話したいと思います。 Hotwireとは? 大量のJavaScriptを使わずに、モダンなWebアプリケーションを作るためのアプローチ JSONではなくHTMLベース サーバーサイドでHTMLを生成し、WebSocketでWebブラウザへ送信 構成する主な要素 Turbo Stimulus Hotwireを使うと何が良いのか? Rails6以前の環境 最新バージョンのjs(ES6)を使いたい →主要なブラウザが対応していないため、ブラウザで動作するES5にトランスパイルする必要がある そのために必要なパッケージとその役割 node.js ES6のjsをサーバー側で解釈するために必要 ES6のjsをES5にトランスパイルするため、node.j

    Rails 7のHotwireを簡単に理解する
    YassLab
    YassLab 2024/07/31
    "Hotwireを使うことで、依存関係の問題改善やjsのコード削減、SPAやWebsocketを使った開発などがかなりやりやすくなった / 多くの新しい技術が使われているので初めは抵抗あるかも / 全体像を理解して必要に応じて使っていく"
  • Rails: HotwireとSPAを比較するなら実装コストの違いに注意(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The popover drama 原文公開日: 2024/06/02 原著者: Jorge Manrubia 日語タイトルは内容に即したものにしました。 インターネット接続が遅い環境でHEYカレンダーのポップオーバーの読み込みが遅くなる様子が以下でツイートされたことがきっかけで、ポップオーバーのドラマが幕を開けました。その後、無慈悲で辛辣な書き込みやプロの荒らしの出現など、最もSNSらしい形で議論がヒートアップしました。 If you want to know why an app *needs* JavaScript on the client and can’t just do it all on the server, just look at Hey or any other Hotwrite app pic.twit

    Rails: HotwireとSPAを比較するなら実装コストの違いに注意(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2024/07/17
    “SPAは潜在的に優れた応答性を提供しますが、途方もなく高コストです。ここ数年、SPAがらみの恐ろしい話が原因でプロダクトが失敗したという話を数え切れないほど耳にしています。現実世界ではコスパがすべてである”
  • 2024年のRailsと自由について考える

    えにしテック15周年記念カンファレンスの発表資料です。 https://enishi-tech-15th-anniv-conf.peatix.com/ 資料中で参照しているURLは以下です: https://github.com/rails/rails/milestone/87 https:…

    2024年のRailsと自由について考える
  • Rails7 + ViewComponent + Hotwireでのコンポーネント指向なフロントエンド開発を試してみた

    はじめに 記事では環境構築について取り扱いません。 詳細につきましてはリポジトリを参照してください。 Railsフロントエンド開発でつらいところ Railsフロントエンド開発する場合に、よく使う部品はPartialなどで共通化しますよね? 小規模であればPartialだけで十分なのですが、コードベースが成長したり、複雑なユースケースを満たすようになると以下のような課題が生まれてきます。 1. データフローを把握しづらい PartialはControllerで定義したインスタンス変数を参照できるため、以下のようにデータフローが複雑になりがちです。 Partialに値を受け渡すときにlocalsでの受け渡しを必須にすれば解消できますが、曖昧な方針でPartialを実装しているとカオスになります。 2. JavaScriptとViewの依存関係が曖昧で保守しづらい View単位でJavaS

    Rails7 + ViewComponent + Hotwireでのコンポーネント指向なフロントエンド開発を試してみた
    YassLab
    YassLab 2024/04/27
    "JavaScriptの動作をテストするための方法も用意されており、コンポーネント単位でのユニットテストを少ないコストで実装できる / ViewComponentのプレビュー機能とcapybaraのsystem specを組み合わせることで、簡単に実装できます"
  • From Next.js to Rails then Elixir: My journey through React.js burnout

    DEV Community Follow A space to discuss and keep up software development and manage your software career Future Follow News and discussion of science and technology such as AI, VR, cryptocurrency, quantum computing, and more. Open Forem Follow A general discussion space for the Forem community. If it doesn't have a home elsewhere, it belongs here

    From Next.js to Rails then Elixir: My journey through React.js burnout
    YassLab
    YassLab 2024/01/23
    "huge amount of complexity: Multiple separate repos, thousands of libraries and frameworks to achieve simple things, GraphQL, microservices, serverless, static site generation, incremental static regeneration, partial hydration, redux, redux-thunk, babel, webpack, react server components, ... etc."
  • Remove TypeScript - laiso

    経緯 world.hey.com DHHが「オタクくん見てる〜? 今からうちのレポジトリからTypeScriptを剥しま〜す」と宣言したことにより、Web開発者界隈でTypeScriptの是非自体の話になり騒ぎになった*1*2。 github.com その後、野次馬がたくさん集ってきてrevertプルリクエストを立てる人やTypeScript公式リポジトリから全ソースコードを消すプルリクエストを出す*3ようなキッズムーブをする人も出てきた world.hey.com 実際の変更 8617行のTypeScriptJavaScript化された。(Sloc 便利) ❯ scc src/ ─────────────────────────────────────────────────────────────────────────────── Language Files Lines Blan

    Remove TypeScript - laiso
    YassLab
    YassLab 2023/09/08
    "誰に影響があるのか: Turbo のコントリビューター / Turbo のインターフェイスをコードから直接呼び出すようなことはない / アプリ側ではひき続き TypeScript で書くことができる / Laravel 版があるけど彼等も JavaScript で書いてる"
  • ruby.wasmに対する思いとか、企んでいることとか - @ledsun blog

    ruby.wasmについて、現時点で僕が思っていることを記録しておきます。 思っていること 主にonブラウザ 僕がruby.wasmに興味があるのは、ブラウザで動かす方です。 エッジワーカーで動かす方は今のところあまり興味がありません。 また、ruby.wasmがプロダクションで使えることは期待していません。 つまり「Reactをひっぺがして、ruby.wasm + Railsで大統一Ruby Webアプリケーション開発だ!」みたいな線はあんまり考えていません。 というか次の2点で大統一理論に勝ち目はないと思っています。 言語を統一したところで、ブラウザとサーバーはプログラミングモデルが違いすぎる JavaScriptエコシステムの規模はRubyエコシステムの規模を圧倒している わざわざJavaScriptの資産を捨てて、イベントプログラミングに向いているわけでもないRubyを選択するメリ

    ruby.wasmに対する思いとか、企んでいることとか - @ledsun blog
    YassLab
    YassLab 2023/06/20
    “勝算はともかく、Rubyが「Flashのような入門的なプログラミング環境」の位置を目指せるということに夢を感じます。Flashはアニメーションが作りやすかった点が大きい / Ruby Association Grantは所属企業で応募できる”
  • Ruby に >>> 演算子を実装して遊ぶ

    私は Ruby ビギナーなんですが、最近ちょっとしたきっかけがあって、Ruby に興味津々です。 そこで、Ruby(MRI)をちょっとだけ改造して遊んでみました。 Ruby に貢献!みたいな良い話ではなくて、自分の手元の Ruby に対してあんまり意味のない改造を施して、楽しいね! っていう類の話です。 ちなみに C 言語はほとんど書いたことありません。 どう遊ぶか 私はパーサーがちょっとだけ好きなので、パーサーを触ってみたいと思いました。 パーサーを触るような改造をするなら、新しい構文を追加してみるのがてっとり早そうです。その中でも二項演算子なら簡単なのではないかと考えました。 ということで、(私が日頃から書いている)JavaScript にあって Ruby にはない演算子として、>>> 演算子を実装してみることにしました。 >>> 演算子は、符号なし右シフト演算子というやつで、Java

    Ruby に >>> 演算子を実装して遊ぶ
    YassLab
    YassLab 2023/06/01
    “parse.y や lrama をもっと読み込んでいじってみたいなー / VM もちょっと気になっています。それなりに簡単にビルドできて、日本語情報も豊富なので楽しいです。いずれは Ruby に意味のある貢献ができたら良いですね。”
  • Mapkick - Create beautiful JavaScript maps with one line of Ruby

    Installation Add this line to your application’s Gemfile: gem "mapkick-rb" Mapkick uses Mapbox GL JS v1. To use tiles from Mapbox, create a Mapbox account to get an access token and set ENV["MAPBOX_ACCESS_TOKEN"] in your environment. Then follow the instructions for your JavaScript setup: Importmap (Rails 7+ default) Bun, esbuild, rollup.js, or Webpack Sprockets Importmap In config/importmap.rb, a

    YassLab
    YassLab 2023/01/30
    "Mapkick uses Mapbox GL JS v1. To use tiles from Mapbox, create a Mapbox account to get an access token and set ENV["MAPBOX_ACCESS_TOKEN"] in your environment. / This is brilliant if you need a map in your Ruby or Rails app, and it supports many options around markers, tooltips, controls, and more."
  • 今年のオープンソース活動振り返り @ 2022

    2022年のオープンソース活動の振り返り記事です。 今までの振り返りの一覧です。 今年のオープンソース活動振り返り @ 2021 | Web Scratch 今年のオープンソース活動振り返り @ 2020 | Web Scratch 今年のOSS活動振り返り @ 2019 | Web Scratch 今年のOSS活動振り返り @ 2018 | Web Scratch 今年のOSS活動振り返り @ 2017 | Web Scratch 今年のOSS活動振り返り @ 2016 | Web Scratch 今年のOSS活動振り返り @ 2015 | Web Scratch 今年のOSS活動振り返り @ 2014 | Web Scratch 2022年のGitHubのPublicなContributionsは7000~8000ぐらいを推移していました。 Privateリポジトリも含めると大体1.5

    今年のオープンソース活動振り返り @ 2022
    YassLab
    YassLab 2022/12/31
    #jsprimer のご参考になったようであれば嬉しいです...!! 😻✨ "企業がスポンサーになるイメージで、何かいいバランスの仕組みがないかなと考えている。 #Railsガイド の協賛プランとかの話は、だいぶ近いのかもしれない。"
  • Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題 | ログミーBusiness

    プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。前半は、なぜWebAssembly対応をするのか、そのモチベーションと経緯について。 登壇者の自己紹介とアジェンダ紹介齋藤優太氏(以下、齋藤):いやぁ~、緊張しますね(笑)。みなさんおはようございます。 会場:おはようございます。 齋藤:「Ruby meets WebAssembly」ということで、今日は最近少し話題になっているRubyWebAssemblyの話をしようと思います。よろしくお願いします。 (会場拍手) RubyWebAssembly上で動くようになっ

    Rubyを手軽にブラウザ上で動かすことが可能に WebAssemblyを使って解消する、Rubyの動作環境問題 | ログミーBusiness
    YassLab
    YassLab 2022/11/16
    #Ruby #WebAssembly “『ブラウザ上でirbを動かす』これが本題ですね。次のデモは、なんとirb(Interactive Ruby)が動きます。これ見えますかね? 普通のirbですね。これはブラウザで動いているんですよ。コンソールじゃないんです
  • 研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ

    はじめに 配属研修の課題について エンジニア新入社員研修の個人課題:「JavaScriptでの開発」 配属研修課題1:「RailsAPIサーバのみ構築」 配属研修課題2:「Railsフロントエンドも含めた開発」 作ったアプリケーションの概要 JavaScript・Expressで開発した時との違いに関する感想 letやconstが要らない変数定義 falsyな値の違い ブロックをそのまま変数に代入できない 暗黙のreturn 条件文の後置 フレームワークの機能が豊富 ディレクトリ構造の一貫性 リソースベースルーティング 課題を取り組みながら学んだこと OpenAPIを使ったAPI定義ファイルの作成 N+1問題対策 テストコードに関する考えの変化 おわりに We are hiring! サムネイル画像 はじめに こんにちは。2022年4月に新卒で入社しました教育事業部サービス開発部バッ

    研修で初めてRuby on Railsを触って学んだこと - ドワンゴ教育サービス開発者ブログ
    YassLab
    YassLab 2022/11/15
    "失敗したことだけを教えてくれるより、何がどう失敗したかを教えてくれるように書くことが重要 / OpenAPIの活用とN+1問題の対策、テストコードの書き方に関する認識変化等、バックエンド開発一般に関する知識も広く習得"
  • Railsの技: "プログレッシブエンハンスメント"でHotwire的思考を身につける(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Thinking in Hotwire: Progressive Enhancement | Boring Rails: Skip the bullshit and ship fast 原文公開日: 2022/08/16 原著者: Matt Swanson サイト: Boring Rails語タイトルは内容に即したものにしました。 Turboについては以下の記事もどうぞ。 参考: でもわかるHotwire入門 Turbo編 Hotwireを始める方法や個別のパーツの利用法を学べるチュートリアルはたくさんあります。しかし私は「Hotwireで考える」コツを会得するのにしばらく時間がかかりました。 Hotwireそのものは「HTML-over-the-wire」という包括的なコンセプトに過ぎず、以下のような部品をいつどのように

    Railsの技: "プログレッシブエンハンスメント"でHotwire的思考を身につける(翻訳)|TechRacho by BPS株式会社
    YassLab
    YassLab 2022/09/12
    "Hotwireはプログレッシブエンハンスメントという考え方に基づいています。欲しい結果を得るには使うツールをできるだけ少なくしておく / 下のレイヤになるほど機能が強力になりますが、トレードオフとして複雑さが増す"