Questions and feedbacks

hachi8833
hachi8833 commented over 1 year

翻訳記事は結構昔のものが多い(=フィードだと見つけづらい?)ですが、どのように見つけていらっしゃるのか教えてください

社内で(主にmorimorihogeさん)教えてもらった良記事を翻訳することが多いです。英語記事の中で「これはいいぞ」と書いてあったら追いかけることもあります。

まだまだ私の知らない、Rubyist/Rails開発者なら普通知ってる良記事や良書があるはずなので、いつも探しています。これはというものがありましたら @hachi8833などで教えていただけるとうれしいです。

Like(1)

hachi8833
hachi8833 commented over 1 year

記事を集める際の主要サイトはどのサイトのことでしょうか?

以下は現状主にチェックしているサイトです。この他にdev.tomedium.comなども渉猟しています。

Like(1)

hachi8833
hachi8833 commented over 1 year

Google 翻訳について 自分も IT 翻訳下いたことがありますが,自分の中で日本語訳が曖昧な単語レベルでの確認作業が軽減されると感じていますが,いかがでしょうか?

Google翻訳が以前より格段に精度が上がったのは間違いないと思います。ときどき、びっくりするぐらい気の利いた訳が出てくることもあります。 かと思うと文の一部が崩壊することもありますが、原文の構成次第という印象です。

でも自分の欲しい日本語にはなってないので、そのまま使うことはないかなと思います。

Like(1)

yhirano55
yhirano55 commented over 1 year

現在、Lv3だとすると、Lv4の条件を満たすのに何が必要ですか? (技術的と組織的の2面で)

Like(1)

takeyuweb
takeyuweb commented over 1 year

聴き逃していたらすみません。 スコアリングの評価について自動化や定量化は行えていますか? 何をもって改善したあるいはその逆であったと言えるか。

Like(0)

anonymous
anonymous commented over 1 year

社内用語のような一般的ではない単語(かつ形態素解析で微妙な位置で区切られてしまう)で検索されるケースが多いとおもいますが、そういうものも、ngramとのハイブリッドで解決していますか?

Like(0)

okuramasafumi
okuramasafumi commented over 1 year

仕事で他人のコミットの粒度が細かすぎるときはどうしてますか?レビューでsquashをお願いする感じですか?

Like(0)

ttanimichi
ttanimichi commented over 1 year

お仕事でも 1 PR 1 commit でやってる感じなんですかね?

Like(0)

qsona
qsona commented over 1 year

Step4が完了したあとにもAdapterは使い続けるのでしょうか。直接ActiveRecordの呼び出しに変える予定はありますか?

Like(0)

nabuchi
nabuchi commented over 1 year

Step1 - Step4 それぞれのStep間の期間を教えていただきたいです。

Like(1)

abicky
abicky commented over 1 year

primary id が定義されてないテーブルでは secondary index はなにを参照するのか気になります

うろ覚えな知識で

  1. unique key
  2. unique key がなければ内部的に作成する

という回答をしましたが、kamipo さんがマニュアルページ教えてくれました! https://dev.mysql.com/doc/refman/5.7/en/innodb-index-types.html

  1. unique key の中でも全てのカラムに NOT NULL 制約のあるもの
  2. 該当するものがなければ GEN_CLUST_INDEX という隠れた index を作成する

という感じみたいですね。

Like(0)

yiwasakita
yiwasakita commented over 1 year

Google 翻訳について 自分も IT 翻訳下いたことがありますが,自分の中で日本語訳が曖昧な単語レベルでの確認作業が軽減されると感じていますが,いかがでしょうか?

Like(1)

shinkufencer
shinkufencer commented over 1 year

独自のモデリングをされている様子でしたが、ActiveRecordとの棲み分け(ディレクトリやDBテーブルの使い方)はどうされているのかが気になりました

Like(0)

Y-Fujikawa
Y-Fujikawa commented over 1 year

記事を集める際の主要サイトはどのサイトのことでしょうか?

Like(2)

expajp
expajp commented over 1 year

翻訳記事は結構昔のものが多い(=フィードだと見つけづらい?)ですが、どのように見つけていらっしゃるのか教えてください

Like(2)

Altech
Altech commented over 1 year

現在進められているというprofile serviceの話についてです。 「writeは該当サービスの責務を持つserviceのAPI経由で行う」とのことですが、readの方はどうされてるのでしょう? そこは妥協して直接しているのでしょうか。

モノリシックアプリケーションである Wantedly Visit 以外は Wantedly Visit に対して API 経由で profile を取得しているので、Wantedly Visit 以外は read を profile service の API 経由で取得するようにできます。

ただ Wantedly Visit では profile はコードベースの広い範囲で様々な形で使われているので、少し難しい気もしています。今回、優先して解決したい問題としては、1) 書き込みの際の整合性担保、2) Wantedly Visit に多サービスの負荷が集中しない構造にする、3) 変更のフックを書くサービスが受け取れるようにする、などがあるのですが、それらに対してはそこまでやる必要がないという事情もあります。

あとモデルは各リポジトリで別々に管理されているようですが、例えばモデル部分はgem化しておいてインターフェースに変更があったらバージョンアップ+実装変更みたいなアプローチも考えられるんですがどう思いますか?

特に Rails だけを使いたいわけではないので原則は API で抽象化したいところですが、上記の Wantedly Visit と profile service の間に関しては現実的にあり得る選択肢かもしれないですね。

Like(1)

Altech
Altech commented over 1 year

各マイクロサービスが持つべきロギング等の共通機能を内部のリポジトリに切り出しているとのことでしたが、 この共通部分は Ruby, Python, Go それぞれでメンテしているのでしょうか? もしそうであるなら負担に感じたりはしないのでしょうか?

新しく service を立てるときには毎回書かなければ行けないコードではあるので、実装コストはペイすると思っています。一方で、これが広く使われた場合に各リポジトリでバージョンを上げるのは少し面倒かもしれないです(バージョンアップで互換性が破壊されるような複雑な機能は入れていないという前提です)。

Like(0)

yskkin
yskkin commented over 1 year

使ったことがないので間違っているかもしれませんが、 PostgreSQLではテーブルの継承ができたとおもうので、それを使ってもビールとワインを横断した検索ができそうな気がします。 それと比べたときのマテリアライズドビューの利点欠点を教えてください。

Like(0)

ttwo32
ttwo32 commented over 1 year

Ruby、Railsにも様々な技術要素、トピックがあると思いますが、 翻訳する記事の選定基準などあったりするのでしょうか?

Like(1)

joker1007
joker1007 commented over 1 year

トークでは省略されてましたが、LDAPクライアントのmrbgemsとかあったりするのでしょうか?

Like(0)

purintai
purintai commented over 1 year

以前の職場における話なのですが、新規に Rails + PostgreSQL のプロジェクトを立ち上げる際にDB設計に協力頂いた DBA からトリガーやマテリアルビューの使用を推奨されたとき、 Rails と DB に業務ロジックが分散してしまい将来のメンテナンス性が低下するリスクを懸念して結果不採用としました。(ロジックは Rails 側に寄せました)

仮に、 Rails プロジェクトでこれらデータベースの機能と付き合っていく場合、保守性を考慮した最適なベストプラクティスとはどのようなものがあるでしょうか。

Like(3)

morimorihoge
morimorihoge commented over 1 year

せっかくなのでRailsっぽい質問です。

Railsで生SQLを発行する場合、ActiveRecord標準の #page #per が使えないと思うのですが、ページネーションなんかでこういうgemとか実装にすると良いよっていうのはありますでしょうか?

Kaminari.paginate_array 以外に最近はこういうのがいいよ、みたいなのありましたら知りたいです!

Like(1)

Altech
Altech commented over 1 year

機械学習を専門とする人がつくる Python の実装は Http で Go から呼び出せるようにしているのですか? その場合、機械学習を専門とする人たちが WebAPI も実装しているのですか?

はい、Web API を tornado というシンプルなフレームワークを使って機械学習チームが実装しています。

Like(1)

Altech
Altech commented over 1 year

趣旨とずれているかもしれませんが、Railsでマイグレーションすることに関してです。 大きなテーブルにマイグレーションをかける際に、何か工夫されていることなどあるでしょうか? 例えばサービス停止しているとはいえ、1億レコードあるようなテーブルだとかなりの時間を要するかと思います。

この辺特別詳しいわけではないのですが、Postgres の場合はカラム追加はデフォルト値を設定しなければ一瞬で終わるので、デフォルト値を設定したい場合は一旦設定せずにmigration してから値を fll する script を走らせてから再度 migraiton、がよくあるプラクティスだと思っています。カラム削除は内部的に disable にされるだけなのですぐ終わると思います。

Like(0)

yuemori
yuemori commented over 1 year

habitusなどの一時secret server付きでdocker multi-stage buildを実行できるツールを使うのが個人的にはベストプラクティスです。

なるほど、habitus知りませんでした。勉強になります。

これはその通りで、ぼくは時間がかけられる場合は地道にゴミファイル消してます・・

つらいと感じてるのはここですね……やっぱり地道にゴミファイル消すアプローチなんですね。 native extensionに必要なファイルだけビルダーイメージからとってくるか、消すかどちらかだとは思うんですがどちらにしても時間対費用が高くないケースが多いので、、 (とはいえ、慣れてくると何が必要なやつかわかるようになりそうなので、だんだんコストが下がってきそうではありますが)

前提として「マネージドでいけるときは基本マネージドがおすすめ」 既に重要なデータが大量にAWSにロックインされてしまっている

なるほど、、サービスが別れたり移行したりはやっぱりつらいですしね。 学習コストや採用基準についての見解も納得でした。

ご回答ありがとうございました!

Like(1)

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