RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのITエンジニアによる技術ブログです。

Daggerを使ったprogrammable CI/CD

はじめに

こんにちは! エンジニア2年目のTKDSです!
この記事ではDaggerについて紹介します。
この記事は課内で行ったLTをもとにしたものです。

続きを読む

【Playwright】v1.4系の新機能まとめ

こんにちは、フロントエンド開発課所属のkoki_matsuraです!
本記事では、E2EテストライブラリであるPlaywrightのv1.40 ~ 最新版v1.43で追加された機能の中から僕の独断と偏見でいくつかを紹介したいと思います。
では早速、紹介していきます! 以下は目次です。

  • v1.40の新機能
  • v1.41の新機能
    • screenshot関数のstyleオプション
    • toHaveScreenshot関数のstylePathオプション
  • v1.42の新機能
    • addLocatorHandler関数
    • タグの追加
  • v1.43の新機能
    • LocatorとFrameLocatorの相互変換
    • clearCookiesのフィルター機能
  • まとめ
続きを読む

【Kotlin入門】コレクション関数とラムダ式を活用したシンプルコーディング

はじめに

こんにちは、新卒2年目の菊池(akikuchi_rks)です。

近年、Androidアプリ開発のみならず、サーバーサイドの開発言語としてもKotlinが急速に注目を集めています。私自身もKotlinを使ってサーバーサイドの開発を行っており、豊富な機能やシンプルな文法に魅力を感じています。

Kotlinを使用していて特に感じるのは、そのコレクション関数の充実性です。コレクション操作はプログラミングにおいて頻繁に行われるため、これらの関数が豊富であることはKotlinの特長のひとつと言えると思います。 また、これにラムダ式を組み合わせることで、よりシンプルで効率的なコーディングが可能となります。

この記事では、Kotlinでコーディングをする際に欠かせないコレクション関数に焦点を当て、その中からいくつかピックアップして紹介していきます。 初心者の方でもわかりやすいように、具体的なコード例も交えながら説明していきますので、ぜひ最後までご覧ください。

  • はじめに
  • コレクションとは、ラムダ式とは
  • コレクション関数の活用例
    • map
    • filter
    • any, all, none
    • associate, associateBy, associateWith
    • groupBy
    • partition
  • コレクション関数を使うもう一つのメリット
    • ミュータブルな変数を使わないほうがいい理由
      • 1. 可読性が低下する
      • 2. 予期せぬバグを生む
  • まとめ
続きを読む

DBセキュリティ性能検証「検証と結果」編

※注意:本記事内での計測結果は記載の条件下によるものとなります。異なる環境においては異なる結果が予想されますのでご認識ください。

こんにちは。
株式会社ラクスにて、主に先行技術検証を担当している「技術推進課」という部署に所属している鈴木(@moomooya)です。

ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。

このプロジェクトで「DBセキュリティ」にまつわる検証を行なったので、その報告を共有しようかと思います。

今回はDBセキュリティの中でも、DBデータの暗号化の話が中心となります。

ちなみに中間報告時点で公開した記事はこちらになります。

tech-blog.rakus.co.jp

  • DBセキュリティについて
    • 本記事におけるDBセキュリティ
      • カバーする範囲
      • カバーしない範囲
    • 今回扱うデータ暗号化手法
  • 今回実施した検証内容
    • 検証概要
    • 比較した環境
    • 共通した条件
      • AWS実行環境
      • テストデータ
  • 検証結果
    • ディスク暗号化ではほぼ性能劣化は見られなかった
    • 暗号化カラムへの操作
    • 非暗号化カラムへの操作
    • CPU, メモリへの負荷
  • 性能面以外の注意点
    • LUKSはバックアップ運用や、サーバー再起動時に注意が必要
  • まとめ
    • 暗号化手法ごとの特徴
      • LUKS
      • pgcrypto
      • TDEforPG
    • 導入するとしたら
      • ストレージ盗難対策なら
      • マイナンバーなどの機微情報を保護するためなら
      • DB全体の暗号化をするなら
続きを読む

【初学者向け】ネットワーク構造の基礎:サブネットの基本概念と計算方法

はじめに

皆さんこんにちは、新卒1年目新米エンジニアのkananpaです。
今回は、ネットワークにおいて重要な概念であるサブネットについて、実際の業務で学ぶ機会があったため、まとめてみました。
私自身、名前は聞いたことがあったものの今回はじめて詳しく調べました。
初学者の方にも理解してもらいやすいようにまとめたため、最後まで読んでいただけるとありがたいです。

続きを読む

【ラクス開発部門トップが語る】「顧客視点」を高め、圧倒的な使いやすさを追求したい

はじめに

こんにちは、株式会社ラクス開発本部長の公手です。

普段はブログを書くことが少ないのですが、今回は当社のエンジニアやデザイナーたちが特に大切にしている顧客視点について共有したいと思い、投稿することにしました。

この投稿を通じて、社内のエンジニアやデザイナーに顧客視点の重要性を再確認してもらい、それぞれの役割の中で使い勝手の良いSaaSを開発するためにどのようなアクションを起こすべきかを考えてもらえるきっかけになればとの狙いもありますし、ラクスの開発組織が顧客視点を最優先に考える組織であることを、社外のエンジニアの皆さんにも知っていただければ幸いと考えております。

  • はじめに
  • ラクスがプロダクト開発において徹底してきたミッション
  • 欠けていた顧客視点(持っていると勘違い)
  • 顧客視点の獲得に向けて
  • 顧客視点獲得の効果
  • 組織の成長による顧客視点低下への対策
  • ミッションの言語化と浸透
  • 圧倒的な使いやすさを求めて
続きを読む

22歳になる長寿サービスのUI刷新 ~密結合システムからViewを分離した苦労話~

こんにちは、メールディーラー開発課のUKoniです。
2023年9月のことですが、弊社で開催した【ラクスMeetUp】持続的改善の実践/UI刷新・SQL改善・EOL対応で登壇させていただきました。
そこで話した、長寿サービスの密結合システムからViewを分離した話をご紹介します。

発表資料

speakerdeck.com

  • 発表資料
  • 概要
    • 作業内容
      • 1. 旧画面のコードから機能一覧を作成する
      • 2. IDEの機能を使用して、共通利用するロジックをメソッドに切り出す
      • 3. 切り出したメソッドのユニットテストを作成する
      • 4. ビューロジックとビジネスロジックを分割する
    • その結果・・・
      • UIを新しくすることができました。
        • Before
        • After
  • 今回の結果
  • 苦労した話
  • 今後の展望
  • まとめ
続きを読む
Copyright © RAKUS Co., Ltd. All rights reserved.