FLINTERS Engineer's Blog

FLINTERSのエンジニアが綴る技術ブログ

新人研修を終えて

こんにちは、2022年4月に新卒で入社しました出口です。

大学は情報系の学部にいました。研究室では自然言語処理を研究していて、卒論のテーマはSNS(Twitter)において、ある1つのツイートについたリプライの文章からリツイートなどの反応量を予測するというものでした。
プログラミング経験は大学の講義や研究でC言語Pythonを必要最小限にやった程度で、何かアプリを作ったというような経験はない怠惰な学生でした。そのため、研修についていけるかどうか少し不安な気持ちもありました。

続きを読む

業務アプリケーションをScala 3で動かしてみた(後編)

こんにちは。FLINTERSでTech Adviserをしています、OE(@OE_uia)です。

Scala 3.0.0が2021年5月14日にリリースされたことを受けて、いつアップデートするか検討中の方も多いかと思います。 実際、今FLINTERSではScala製プロダクトのScala 3へのバージョンアップを試みています。前回の「業務アプリケーションのScala 3アップデートを試してみた(前編)」の記事では、主にScala 3マイグレーションに役立つ情報や機能についてご紹介しました。

labs.septeni.co.jp

今回はその後編です。

続きを読む

Row Level Security で事故らないアプリケーションを構築する

こんにちは、清水です。直近の業務でマルチテナントな DB でアプリケーションでのスイッチロール機能を実現するために Amazon Cognito や表題にある Row Level Security について技術検証や設計検討を行っていました。

今回はこの Row Level Security について PostgreSQL での例を挙げて挙動を確認しながら、実際に導入するにあたって必要な知識や注意点までを網羅します。本記事が安全で堅牢なアプリケーション構築の一助となれば幸いです。

  • 1. マルチテナントとは
  • 2. Row Level Security とは
  • 3. 実際に試してみる
    • 3-1. 実現するための SQL
    • 3-2. RLS 有効化前
    • 3-3. RLS 有効化後
  • 4. 補足
    • 4-1. クエリのパフォーマンスについて
    • 4-2. ユーザーとロールの管理について
    • 4-3. コネクションの管理について
    • 4-4. BigQuery などでも RLS が使える
  • 5. さいごに
続きを読む