Questions and feedbacks

minakawa-daiki
minakawa-daiki commented 4 months

今後のCSSはどのように進んでいくのか、思っていること感じていることをお聞きしたいです。 (例えばSPAが主流になっていくのであれば CSS in JS である CSS Modules によってグローバルCSSからローカルCSSが主流になっていくなど。)

それに加え、CSSフレームワーク(Bootstrapなど)を使用した場合、それに変更や上書きを施す場合、どのようにして設計、付き合っていけば良いのか、思っているところがあればお話しいただきたいです。

Like(1)

onk
onk commented 4 months

#comment-454

話さない15のことのタイトルだけでも教えていただけるとうれしいです

元々は Markdown だけで 3-4 記事使っていたりしているので綺麗に 10+15 ではないんですが、

  • ユーザ認証
  • StateMachine
  • Syntax Highlight
  • Markdown (HTML Pipeline) でメンション検出
  • 認可
  • トラックバックツリー (ancestry, 再帰CTE)
  • タグ
  • あしあと
  • ファイルアップロードのフロント側
  • Notification
  • キャッシュ (counter_cache, russian doll caching)
  • flagshihtzu
  • Routes
  • 管理画面

といった辺りです。

Like(0)

asayamakk
asayamakk commented 4 months

トークの紹介にあった

  • 「今、なぜフロントエンドを学ばなければならないか」
  • 「何を理解すれば、これからのフロントエンドを理解できるようになるか」

この辺りのお話をもう少しききたいです!

Like(0)

youchan
youchan commented 4 months

会場でも答えましたが、こちらにも残しておきます。(ちょっと補足も含めて)

Opalで一番困っている所はどこですか?

Opalは言語処理系自体はとても良くできていて、ほとんど普通のRubyとして書けます。 ブラウザで実行するためプラットフォームの制約を受けることはあります。たとえば、 * HTTP通信を非同期であつかわなければならない。 - ブロッキングにしたくてもできない - 逆にJavaScriptのaysnc/await を利用したくてもRubyの言語的な制約でできない * 文字列(String)がimmutable - mutableなメソッドは実行時エラーになる * Rubyの標準ライブラリにあるもので実装されていないものがある などがあります。(他にもありますが割愛します。そのうち、まとめられたらいいなって思っています。)

これらの違いよりも困っているのはエコシステムが充実していないことです。 例えば、Railsのasset precompileがありません。(もしかしたら調査があまい可能性はありますが、私がいま一番こまっているのがこれです。) 他にもエコシステムが充実していなくてつらいということはいくつかあります。(これもまとめると参加してくれるひとが増えるかも?!) ですので、開発者が少ないのが一番の困りどころです。是非、参加してください!

Like(0)

tsuka
tsuka commented 4 months

一瞬Elmの名前が映りましたが、来ると思いますか?

Like(1)

gotchane
gotchane commented 4 months

@kokuyouwind

SASSをStyled Componentに置き換えていく際、既存のスタイルと2重に適用されてしまうといった問題はなかったのでしょうか?

基本的にはほとんど問題がなかったのですが、稀に置き換え対象のコンポーネントに適用されてるスタイルの specificity(cssへのタグやクラスの指定数)の兼ね合いで、既存のスタイルの適用が優先されることがありました。

  • .menuSampleComponent → specificity 数が同じなので 後者(styled-component)が優先
  • .menu.is-openSampleComponent → specificity 数が前者の方が多いので前者(class 指定)が優先

参考: https://www.styled-components.com/docs/advanced#issues-with-specificity

こちらは、styled-components の specificity 数を上げれば回避はできるのですが、 対応が煩雑になるので、既存 の CSS のspecificity 数は小さくしておくほうが良さそうと思います。。

参考:https://github.com/QuickBase/babel-plugin-styled-components-css-namespace

Like(0)

onk
onk commented 4 months

#comment-456

Rails 導入に際して「待った」がかかったのが意外でした。主な反対理由はどんな内容でしたか?

冗談めかして話しましたが、「待った」というか、このままじゃ他の人がメンテできなくない?というニュアンスの方が強かったですね。 あと Python 勢や、Web フロントエンド勢とはバチバチにド競合なので「なぜ Rails か」の会話はしておく必要があった。

Like(0)

unasuke
unasuke commented 4 months

空き時間の盆栽いじりと脆弱性対応は両立できないのではないかと思ったのですが、そのあたりはどのようにやっているのでしょうか。

Like(1)

kei-p
kei-p commented 4 months

@mugi-uno

段階的な移行をする際、jQuery部はDOMに依存し、Reactはstateに依存するような、状態が散り散りになる期間が発生しなかったのかどうか、もし発生した場合はどのようなポリシーで対処したのかを聞きたいです

段階的に機能を置き換えていたので、移行中は常に発生した状態となっておりました。 その時の開発のポリシーというほどではないですが、 ・極力 state への置き換えを優先する ・パーツ内では、絶対混在させない という点は意識していました

Like(0)

kei-p
kei-p commented 4 months

@n-kurasawa

影響度の小口化でテストの話が出ましたが、reactの部分もRspec(?) の feature spec でテストしているんでしょうか? 特に問題はないでしょうか? また、フロントのテスト (jestとか) も書いたりしていますか?

特別、 js 側でのテストはまだ用意できてない状況です。 そのかわり、もともと feature の spec が厚めに書いてあったりするので、そちらで動作の保証はできているかなといった状況です。

Like(1)

gotchane
gotchane commented 4 months

@motchang

I18n のデータを XHRで、との事でブラウザ実行時に翻訳ファイルを画面に注入する仕組みだと思うのですが、ユーザー体験が低下(画面がガチャガチャするなど)はありませんでしたか? レンダリング完了までのベンチマークなどはとりましたか?

今回の React i18n 化によって顕著にユーザー体験が低下するということはほとんど見られませんでした。

厳密なベンチマークはとっていませんが、翻訳データのサイズは約50KBで、取得時間は約150ms 程度だったため、 影響は軽微であったと思っています。

Like(0)

kei-p
kei-p commented 4 months

@n-kurasawa

webpacker 使ってますか? 使っていたら感想とか聞きたいです。使っていなければ理由を知りたいです。

使っています。 使わなかったときに js のコンパイル周りでやらなければいけないことが、これ一ついれるとできるのはかなり楽です。 一方で、version アップでがらっと設定ファイルが変わったり、詳細な箇所はブラックボックスになってたりとハマりポイントも多く時々悩まされます。

Like(1)

tawachan
tawachan commented 4 months

ご質問ありがとうございます。たくさんの方にお越しいただけてとても嬉しいです。

開発teamは何人くらいでしょうか?少人数の場合、各技術スタックの導入コストの兼ね合いもあるとおもってお聞きしました

多少移り変わりはありますが、エンジニアは常時2人とプラスで週2, 3日入ってくれるエンジニアが数人といった規模感です。 入りとしてRailsなどサーバーサイドだった人半分、JavaScriptなどフロントエンドの人半分といった感じです。 ですが、属人化させないようにペアプロなどして誰でもどこでも触れるような状況にしています。

参考:https://inside.pixiv.blog/edvakf/3182

Webのフロントエンドでもherokuを採用していますか?

Firebase HostingとFirebase Functionsを使っています。

API定義を書く方法はswagger-blocks以外にもあると思うのですが、swagger-blocksを採用した理由はありますか?

選択肢をいろいろ検討したわけではないのですが、Rubyのまま書けるのがコンテキストスイッチしなくていいのがメリットだとは思っています。

クライアントに依存しない API ということは、サーバは汎用性を意識した設計になると思うのですが、その弊害や、課題はありますか? API コール数増えて辛いなどありそうかなと。

APIサーバーとして切り出した段階で既に汎用性を持っているので、エンドポイントそれぞれの設計自体に汎用性や一般性をもたせる意識はあまりなかったように思います。単純にリクエスト数の問題はCDNなりインフラ強化なりで対応しておりますが、それが同じものをモノリス的に作った状態との比較ではないので良し悪しは自分では語れないなと思っております。

Like(1)

kei-p
kei-p commented 4 months

@8398a7

react化するにあたってrenderさせる部分は何かgemを使っていますか? あと複数ページがあるSPAの場合、router周りをどのように制御しているかをお聞きしたいです。

render は、https://github.com/renchap/webpacker-react を使っています。 それと、複数ページがあるSPAというのは、 SPA 内での ページ遷移ということでしょうか? 今回の Remotty では、SPA の中でページ遷移する要素がないので router での制御は必要ありません。

Like(0)

yahonda
yahonda commented 4 months

ReadOnlyErrorとかあたらしいbulk insertとかはやりたいと思っているのですが、現実的なリソース(私の時間x能力)を考えると、Rails 6.0のタイムラインに間に合わせることは無理で、私のポリシーとして同日リリースをするというのがあることから、この辺は6.1以降になるかと思います。

Like(1)

yahonda
yahonda commented 4 months

Oracle enhanced adapterが1stアダプターになることはないと思います。もともとはOracleアダプターは1st adapterだった時代があり、Rails 2とかよりも前に3rd partyになり(それがOracleAdapter)、それのフォークがOracle enhanced adapterになったというのが理由です。また、1stにしたいと思ったこともないです。

Like(1)

JunichiIto
JunichiIto commented 4 months

男性エンジニアが女性エンジニアに対してよく勘違いしていることや、よくある思い込みって何かありますか? もしくは、思わず「ムッ」としてしまう言動とか。 (男性、女性のレベルでくくると主語が大きくなりすぎる恐れがありますが)

Like(2)

yahonda
yahonda commented 4 months

INの1000以上対応には6.0に間に合えば入れたいです。時間あれば相談に乗ってください。

Like(1)

yahonda
yahonda commented 4 months

他のアダプターとの互換性を気にせずにと考えたことはあんまりないです。思うところはOracleというすぐれたデータベースが他のRDBMS(MySQLとかPostgreSQLとか)と文法的な互換性がないので、文法的な互換性を高めてほしいと思っています。ただ、この辺のフィーチャーリクエストも一度行ったことがある https://community.oracle.com/ideas/13845 のですが、芳しい返答はなかったので、Rails本体の変更 https://github.com/rails/rails/pull/32667 を入れたという経緯があります。

Like(2)

yahonda
yahonda commented 4 months

以前は単一のOracle enhanced adapterが複数のRailsに対応していたため、Railsのメジャーとマイナーバージョンとは違っていましたが、Rails 4.1の頃から単一のOracle enhanced adapterが単一のRailsバージョンに対応するようになったのと、単純に覚えにくかったので、Rails 5.2のときから意図的にOracle enhanced adapterも5.2のようにMajorとMinorをあわせています。Teenyは独自です。

Like(1)

koic
bake0937
bake0937 commented 4 months

開発teamは何人くらいでしょうか?少人数の場合、各技術スタックの導入コストの兼ね合いもあるとおもってお聞きしました

Like(1)

ikaruga777
ikaruga777 commented 4 months

Webのフロントエンドでもherokuを採用していますか?

Like(1)

koic
koic commented 4 months

Oracle enhanced adapter が Rails の 1st adapter になる可能性はあるでしょうか?また難しいと思われる場合どのような理由で難しいと思われるでしょうか?

Like(0)

ikaruga777
ikaruga777 commented 4 months

API定義を書く方法はswagger-blocks以外にもあると思うのですが、swagger-blocksを採用した理由はありますか?

Like(0)

This software is available as open source under the terms of the MIT License.
Copyright © 2018 Yoshiyuki Hirano