タグ

ブックマーク / tech.smarthr.jp (8)

  • SmartHRにおけるAWS WAF運用術 - SmartHR Tech Blog

    こんにちは、セキュリティエンジニアの岩田です。SmartHRではサービスを保護するためAWS WAFを利用しています。今回はSmartHRにおけるAWS WAFの運用事例をご紹介したいと思います。 AWS WAFとは? AWS WAFはWebアプリケーションの脆弱性への攻撃を検知・ブロックする、Webアプリケーションファイアウォールのサービスです。 現在、AWS WAFには AWS WAF v2 AWS WAF Classic の2種類があります。 SmartHRではv2のリリース以前からAWS WAFを使用しており、まだv2への移行は行っていないため、以下で記載する内容は全てAWS WAF Classicのものになります。AWS WAF v2では該当しない事項もあるかもしれませんので、ご了承ください。 構成 リソースの構成 AWS WAFに関連するリソースの構成と処理の概要は以下の通りで

    SmartHRにおけるAWS WAF運用術 - SmartHR Tech Blog
    fuyu77
    fuyu77 2023/12/19
  • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

    SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと

    Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
  • プロダクトオーナーを兼務する技術、あるいはその反省 - SmartHR Tech Blog

    みなさんこんにちは。ジメジメとした日が続きますがいかがお過ごしでしょうか。SmartHRのプロダクトマネージャーryopenguinです。 今回は、私が複数のプロダクトチームを経験して学んだ「兼務のコツと反省」をお届けします。 「プロダクトに対してPMが少ない」「PMの採用に苦労している」といったみなさまの参考になれば幸いです。 なぜ兼務をはじめたか 2022年9月から、私はタレントマネジメントプロダクト「従業員サーベイ」と、現在未公開の新しいプロダクトのPMを兼務しています。 弊社では、単一のプロダクトに注力するのではなく、連携を前提に複数のプロダクトを提供する「マルチプロダクト」化を進めています。昨年の夏ごろ、とある新規プロダクトが必要と判断され、開発チームを組成することになりました。 弊社の新規プロダクトはSmartHR機能との連携が前提であり、その基礎的な知識が必要です。さらに

    プロダクトオーナーを兼務する技術、あるいはその反省 - SmartHR Tech Blog
    fuyu77
    fuyu77 2023/06/14
  • 入社してわかったSmartHR本体の難しさ - SmartHR Tech Blog

    どうも2022年9月にSmartHRに入社したエンジニアの大澤(@qwyng)と申します。SmartHR体を開発しています。 SmartHRというサービスは、従業員情報を集約したアプリケーションをコアとし、そのコアと連携する複数のアプリケーションを配置した構成になっています。 そのコアというのがSmartHR体です。 SmartHR体は歴史が長いプロダクトです。カジュアル面談でも「キャッチアップはどうされました?」、「SmartHRの開発って技術的に何が大変ですか?」といった質問をよく頂きます。 記事はそういったSmartHRの開発の大変さを知りたい方に向けて自分が感じたことを言語化したいと思います。 2022年初頭に弊社の@sugamasaoさんがSaaS.techで発表した. 「アプリケーションが大きくてつらい・・・ってこと!?」*1 というスライドを見たことがある方もいると

    入社してわかったSmartHR本体の難しさ - SmartHR Tech Blog
    fuyu77
    fuyu77 2023/05/22
  • Railsクイズ、何問解けるかな? - SmartHR Tech Blog

    こんにちは。SmartHRRails顧問業をしています @willnetです。最近は主にリファクタリングをしています。 SmartHRでは毎週「Rubyist@SmartHR(仮)」という名の定例ミーティング*1が行われています。このミーティングはバックエンドエンジニアが集まり、チームをまたいだ情報共有や相談をすることを目的としています。その中では僕がTipsなどを共有する「willnetさんのありがたいお言葉」というコーナーが常設されています。 「willnetさんのありがたいお言葉」のコーナーではRailsの最新動向に関する話をすることが多いのですが、最近はRailsの各種機能がどのように動くのかをクイズ形式にして共有しています。これがなかなか好評なので今回テックブログにしてみた次第です。みんな全問正解できるかな? ちなみにこんな感じでやってます まず問題と回答の選択肢を見せてからs

    Railsクイズ、何問解けるかな? - SmartHR Tech Blog
    fuyu77
    fuyu77 2022/09/28
  • OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog

    こんにちは、SmartHRフロントエンド開発を担当している @Tokky0425 です。 この記事では、私のプロダクトでの OpenAPI Generator を使ったフロントエンド開発の取り組みを紹介していきます。 目次 OpenAPI とは 「ラクラク分析レポート」の DX 上の課題 OpenAPI Generator とは 実際に generate してみる 生成ファイルを使ってみる 型情報を出力してみる 組み込み・運用の工夫 chokidar で監視する lint-staged に組み込む メリット・デメリット メリット デメリット まとめ OpenAPI とは OpenAPI とは、「REST API のドキュメントの記述形式を定めた仕様」のことを指しています。 簡単な例ですが、下記のような YAML ファイルがあるとします。 schema.yml paths: "/some

    OpenAPI Generator と TypeScript で型安全にフロントエンド開発をしている話 - SmartHR Tech Blog
  • プロダクト間共通の React コンポーネントライブラリを運用する話 - SmartHR Tech Blog

    こんにちは、 フロントエンドエンジニアの @nabeliwo です。 弊社には SmartHR というプロダクトの他に SmartHR の従業員 DB を利用して開発・提供される SmartHR Plus アプリ (以下、 Plus アプリ)というものがあります。 SmartHR CTOが語る中長期戦略。徹底的なアプリ開発とAPI対応で「プラットフォーム化」促進へ - SmartHR ガイド 既に多くの Plus アプリがリリースされており、そのほとんどのプロダクトのフロントエンドReact x Redux という技術スタックで構成されています。 オンライン雇用契約 カスタム社員名簿 ラクラク人事レポート etc Plus アプリは毎回新規でプロジェクトを立ち上げて開発していくことになります。 とはいえブランディングの観点から見ると、基的なトンマナや UI パーツは SmartHR

    プロダクト間共通の React コンポーネントライブラリを運用する話 - SmartHR Tech Blog
    fuyu77
    fuyu77 2021/02/09
  • Rails Sprocketsとのお別れの仕方 - 最初の一歩 - - SmartHR Tech Blog

    こんにちは! SmartHRエンジニア、溝上といいます。 今回は通常の業務と合わせて行っている開発環境の改善、その一部である Sprockets 絶ちを紹介していけたらと思います。 現在進行中のため、不定期な連載になる予定です! Sprockets とは? Rails 3.1 から導入された gem で、アセットファイル(JS, CSS, 画像など)を効率的に管理するための Asset Pipeline という仕組みの基盤です。 主な機能は以下のような物があります。 アセットファイルのパス管理 アセットファイルの結合・圧縮 アセットファイルの依存関係の解決 アセットファイルのコンパイル 最終的に出力するファイルに hash を付けてキャッシュを無効化 などなど。 なぜ Sprockets と別れたいのか? この記事を読んでくださっている方ならそれぞれの理由があるかと思います。 Smart

    Rails Sprocketsとのお別れの仕方 - 最初の一歩 - - SmartHR Tech Blog
    fuyu77
    fuyu77 2018/11/27
  • 1