サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
tech-blog.rakus.co.jp
こんにちは、フロントエンド開発課所属のkoki_matsuraです! 本記事では、E2EテストライブラリであるPlaywrightのv1.40 ~ 最新版v1.43で追加された機能の中から僕の独断と偏見でいくつかを紹介したいと思います。 では早速、紹介していきます! 以下は目次です。 v1.40の新機能 Test Generatorにアサーションコード生成機能 toBeVisibleアサーション toContainTextアサーション toHaveValueアサーション v1.41の新機能 screenshot関数のstyleオプション toHaveScreenshot関数のstylePathオプション v1.42の新機能 addLocatorHandler関数 タグの追加 v1.43の新機能 LocatorとFrameLocatorの相互変換 clearCookiesのフィルター機能 ま
※注意:本記事内での計測結果は記載の条件下によるものとなります。異なる環境においては異なる結果が予想されますのでご認識ください。 こんにちは。 株式会社ラクスにて、主に先行技術検証を担当している「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 このプロジェクトで「DBセキュリティ」にまつわる検証を行なったので、その報告を共有しようかと思います。 今回はDBセキュリティの中でも、DBデータの暗号化の話が中心となります。 ちなみに中間報告時点で公開した記事はこちらになります。 tech-blog.rakus.co.jp DBセキュリティについて 本記事におけるDBセキュリティ
はじめに 皆さんこんにちは、新卒1年目新米エンジニアのkananpaです。 今回は、ネットワークにおいて重要な概念であるサブネットについて、実際の業務で学ぶ機会があったため、まとめてみました。 私自身、名前は聞いたことがあったものの今回はじめて詳しく調べました。 初学者の方にも理解してもらいやすいようにまとめたため、最後まで読んでいただけるとありがたいです。 はじめに サブネットとは IPアドレスとは サブネットマスクとは ネットワークアドレスの計算方法 PHPによる実装方法 まとめ サブネットとは サブネットとは、あるネットワーク内の小さなネットワークのことを指し、 この小さなネットワークに分割することをサブネット化するといいます。 このサブネット化には以下のような役割があります。 IPアドレスの効率的な管理 例えば、IPアドレスを割り当てる際にクラスアドレッシングによりクラスBで割り当
はじめに こんにちは、株式会社ラクス開発本部長の公手です。 普段はブログを書くことが少ないのですが、今回は当社のエンジニアやデザイナーたちが特に大切にしている顧客視点について共有したいと思い、投稿することにしました。 この投稿を通じて、社内のエンジニアやデザイナーに顧客視点の重要性を再確認してもらい、それぞれの役割の中で使い勝手の良いSaaSを開発するためにどのようなアクションを起こすべきかを考えてもらえるきっかけになればとの狙いもありますし、ラクスの開発組織が顧客視点を最優先に考える組織であることを、社外のエンジニアの皆さんにも知っていただければ幸いと考えております。 はじめに ラクスがプロダクト開発において徹底してきたミッション 欠けていた顧客視点(持っていると勘違い) 顧客視点の獲得に向けて 顧客視点獲得の効果 組織の成長による顧客視点低下への対策 ミッションの言語化と浸透 圧倒的な
こんにちは、メールディーラー開発課のUKoniです。 2023年9月のことですが、弊社で開催した【ラクスMeetUp】持続的改善の実践/UI刷新・SQL改善・EOL対応で登壇させていただきました。 そこで話した、長寿サービスの密結合システムからViewを分離した話をご紹介します。 発表資料 speakerdeck.com 発表資料 概要 作業内容 1. 旧画面のコードから機能一覧を作成する 2. IDEの機能を使用して、共通利用するロジックをメソッドに切り出す 3. 切り出したメソッドのユニットテストを作成する 4. ビューロジックとビジネスロジックを分割する 手順 ビューロジック JavaScriptコード HTMLコード(bladeファイル) ビジネスロジック Actionクラス Responderクラス その結果・・・ UIを新しくすることができました。 Before After 今
はじめに こんにちは。ラクスの経費精算プロダクト「楽楽精算」のプロダクトマネージャー(PdM)組織で責任者をしております稲垣です。 楽楽精算ではプロダクトマネジメントに関する専門組織を設けており、市場や顧客ニーズを迅速に製品に反映できるように努めています。 ※具体的な業務内容はPdMメンバーの記事もご参照ください tech-blog.rakus.co.jp PdMはビジネスと開発の架け橋となってプロダクトの価値を最大化するという役割上、必要とされるスキル範囲も広くなります。 下記に紹介する書籍のような業務やスキルが日々関わってきますので、ご参考になれば幸いです。 はじめに 実務に役立つプロダクトマネジメントおすすめ書籍10選 PdM全般 プロダクトマネジメントのすべて 事業戦略・IT開発・UXデザイン・マーケティングからチーム・組織運営まで ジョブ理論 イノベーションを予測可能にする消費の
はじめに こんにちは。フロントエンド開発課に所属している新卒1年目のm_you_sanと申します。 3月6日にTypeScript5.4がリリースされました。 そこで、今回は個人的に気になった機能についてピックアップして紹介したいと思います。 はじめに 型の絞り込み NoInfer まとめ 型の絞り込み 関数クロージャ内の型の絞り込みの挙動が少し変わりました。 以下のgetUrlsでは、まず始めにtypeof演算子を使用して、第一引数のurlがstring型かどうかを確認しています。 string型であった場合、URLのインスタンスを生成します。 その後、map関数内でURLのプロパティであるsearchParamsを使用しています。 function getUrls(url: string | URL, names: string[]) { if (typeof url === "str
こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 今回は毎年春先の社内ビアバッシュで新人向けに「一歩目の学習方法」として発表している話をしようと思います。 学習とは この記事の対象 学習に対する向き合い方 まず最初は 学習作戦その1「ちょい足し学習」 例)HTTPメソッドを扱ったとき 学習作戦その2「外から情報を仕入れる」 よくある情報源 技術書 技術同人誌 ウェブサイト 勉強会 SNS 飲み会 GitHub 脱初級者 手を動かす(検証と実践) 自由にできるサーバーを用意する 情報発信 無理に全部やらなくていい エンジニアにとっての勉強 学習とは [名](スル) 1 学問・技術などをまなびならうこと。「学習の手引」「学習会」 2 学校で系統的・計画的にまなぶこと
ラクスベトナム責任者の寺田です! 2014年より、ラクスベトナムは、ラクスの開発子会社として共にSaaS開発を進めています。 ラクスでは、今後グローバルな開発の重要性が更に増大すると考えており、今回のブログでは、そんなラクスの日本ーベトナム間のグローバル開発の様子と今後の展望を簡単にお伝えしたいと思います。 ラクスのグローバル開発は、日本とベトナムがお互いにワンチームである意識を強く持ち、開発に取り組んでいる点が特徴です。 その上で、ベトナムチームには、より重要な役割を担う事が期待されています。そのため、ぜひ、これから入社される方と一緒に、開発領域のさらなる拡大や成長を加速させていきたいです! 海外での開発業務の実施や、海外組織との開発コミュニケーションに興味を持たれている方にとって、この記事が参考となれば幸いです。 ラクスベトナムについて ミッション・ビジョン・バリュー 開発体制と開発プ
はじめに メールディーラー開発課のyamamuuuです。 2024/03/7(木) ~ 03/9(土)の3日間に渡ってPHPerKaigi 2024が開催されました。 今回もオンライン・オフライン両方のハイブリッド開催でした。 phperkaigi.jp ラクスはシルバースポンサーとして協賛し、3名が登壇した他、数名のメンバーが参加しました。 今回はラクスからの登壇者本人と参加者によるレポートを紹介させていただきます。 はじめに 参加レポート php-src debug マニュアル 10年モノのレガシーPHPアプリケーションを移植しきるまでの泥臭くも長い軌跡 ウキウキ手作りミニマリストPHP Laravel OpenAPIによる "辛くない" スキーマ駆動開発 こんな静的解析導入は負けフラグ 帰ってきた「完成度低いの歓迎LT大会」(PHPerKaigi出張版) WebAssembly を理
はじめに こんにちは、技術広報の菊池です。 セキュリティの確保は技術的な課題にとどまらず、お客様の満足、さらには企業の存続に直結する重要なトピックスです。 私たちSaaS企業も例外なく、常に変化する脅威にさらされており、日夜対策のアップデートが求められますので、 私も自身の理解を深めるためにキーワードと各分野の歴史をまとめてみました。 本記事で取り上げるセキュリティ主要7分野では、新しい技術の登場と共に、新たな脅威が絶えず発生し、その対策の進歩も伺えました。 今回は、アプリケーション、ネットワーク、エンドポイント、データ、クラウド、アイデンティティとアクセス管理、インシデント対応と復旧のセキュリティについて、 その概要と1980年代〜現代に至るまでの歴史、脅威と対応策の進化を総括しました。全てはカバーしきれませんでしたが、代表的なツールも紹介しています。 それぞれの分野では個別の発展があり
はじめに こんにちはこんばんは! 昨今、セキュリティへの関心が非常に高まっています。 二段階認証を取り入れる企業が多くなってきました。 最近の例で言うと、Githubが2023年3月ごろに二段階認証を義務化したのは記憶に新しいと思います。 そこで、今回は認証の基礎知識をおさらいした上でTOTPを使った二段階認証の仕組みと導入時の注意点について解説します! ※本記事の内容は、ビアバッシュ(社内の技術共有会)にて登壇発表した内容です。 ビアバッシュの取り組みについては以下の記事を読んでみてください! tech-blog.rakus.co.jp はじめに 基礎知識 二要素認証とは? 二段階認証とは? 二要素認証と二段階認証の違い ワンタイムパスワードとは? HOTPとTOTPについて HOTPとは? TOTPとは? TOTPの時刻ズレ対策 導入編 TOTPの時刻ズレ対策の実装 TOTPの注意点
弊社で毎月開催し、PHPエンジニアの間で好評いただいているPHP TechCafe。 2023年5月のイベントでは「型定義」について語り合いました。 弊社のメンバーが事前にまとめてきた情報にしたがって、他の参加者に意見を頂いて語り合いながら学びました。 今回はその内容についてレポートします。 rakus.connpass.com PHPと型 静的型付け言語 動的型付け言語 一般的な誤解 PHPの型 単一の式が持つ型 型システムで扱える型 never型について void型について self,parent,static型について resource型について evalでresource型を宣言すると リテラル型について ユーザー定義型について 複合型について 型のエイリアス mixed iterable PHPで取り入れられた型表現 型宣言のメリット PHPの歴史を振り返る PHPのドキュメント
はじめに こんにちは。フロントエンド開発課に所属している新卒1年目のm_you_sanと申します。 最近話題のRemixを使って、シンプルなTodoアプリを作成する方法をご紹介します。 Todoアプリの作成を通じて、簡単なフルスタック開発を体験していただければと思います。 はじめに プロジェクトの作成 モデルの定義 Root Routeについて ルーティングについて 一覧画面の作成 新規追加画面の作成 編集画面の作成 削除機能の追加 まとめ プロジェクトの作成 はじめに以下のコマンドを実行して、プロジェクトを作成します。 ※Node.js v18以上、npm v7以上がインストールされていることが前提です。 npx create-remix@latest --template remix-run/indie-stack 今回はindie-stackというテンプレートを使用しています。 この
はじめまして、rks_rtnkです。 ラクスでは毎年、 「Rakus Tech Lab」という チャットアプリ開発体験を行うエンジニアインターンを開催しています。 2023年も4回開催しまして、非常に多くの学生の皆さんに参加いただきました。 今年、運営に携わった私から、2023年のインターンを振り返りつつ、紹介させていただきます。 もくじ 紹介 タイムスケジュール 開発の流れ 成果発表・懇親会 参加者の声 まとめ・所感 終わりに 紹介 まずはこのインターン「Rakus Tech Lab」について、紹介させてください。 Rakus Tech Labは、2014年から開催しており、2023年にちょうど10年目を迎えました。 2023年の参加者を含めると、これまでに600人以上の学生に参加いただいており、 東京大阪あわせて20回以上開催しているインターンになります。 当社に入社した新卒社員のうち
こんにちは!新卒1年目のos188です。 私が担当する商材は、リリースから10年以上が経過し、膨大な量のソースコードが存在します。 大部分はオブジェクト指向プログラミングで書かれていますが、 コードを読んで勉強しているとき、古い部分で手続き型プログラミングによって書かれているところを見つけました。 新しい部分と比較すると「読みづらいな、処理を追いかけにくいな」と感じることが多く、 大規模なソースコードだとこんなにも差が出るのかと感心しました。 今回は、手続き型プログラミングを大きなプロジェクトや複雑な処理に適用した際のやりづらさと、オブジェクト指向プログラミングによる解決策について説明します。 手続き型のやりづらさ 1. データの変更が処理に影響を与えやすい カプセル化する 2. コードの重複が発生しやすい 継承とポリモーフィズムを用いる 3. データと処理が分離される クラスで管理する
こんにちは、モバイル開発チームのhyoshです。 弊社では各分野の特定のテーマに沿ってエンジニアが議論する「TechCafe」というイベントを定期開催しています。 PHPTechCafe フロントエンドTechCafe そして先日私を含めた弊社モバイル開発チームが初となる「モバイルTechCafe」を開催しました! rakus.connpass.com 本ブログでは開催までの準備過程や当日の内容についてレポーティングさせていただきます。 TechCafeについて 準備編 テーマ選定 参加者選定 打ち合わせ 当日編 紹介したイベント 複雑さに立ち向かうためのコードリーディング入門 認証体験向上のためにpasskeys(パスキー)に対応する 〜 メリット・対応方法について 集まれKotlin好き!Kotlin愛好会 WebViewと向き合う Compose で Android/iOS アプ
こんにちは。大阪楽楽開発課のdaina_rksです。 Laravelのマイグレーションを活用して、テーブル定義を更新しているサービスは多いと思います。 しかしサービスが継続するにつれ、気づけば大量のマイグレーションファイルが存在している、、、なんて経験はありませんか? 私が携わっていたプロジェクトでも同じ悩みに直面していました。 この悩みに対して、私はマイグレーションファイルを全て削除するということを行いました。 今回はそのときの経験について、なぜマイグレーションファイルを削除するに至ったのか、削除するにあたって行なったこと、削除した結果どんな効果があったのかをご紹介します! マイグレーションファイルを全て削除するに至った理由 問題 マイグレーションファイルを全て実行するのに時間がかかる マイグレーションファイルのメンテナンスコストがかかる アイデア アクション ダンプ&リストアの仕組み構
はじめに 配配メール開発課moryosukeです。 2024/02/11(日)にPHPカンファレンス関西 2024が開催されました。 ラクスはブロンズスポンサーとして協賛させていただいています。 2024.kphpug.jp ラクスからは5人が登壇した他、多くのメンバーが参加しました。 そこで今回は参加者によるレポート、そしてラクスからの登壇者本人によるレポートを紹介させていただきます。 はじめに 参加レポート はじめてのOSSコントリビュート Laravelでミニマム開発からスタートして個人サービスを利益化するまでの経験談! RDBアンチパターンと戦う - 削除フラグ 完全攻略ガイド 令和最新版 PHP メモリ管理術 「"品質"が高いコード」って何? CodeRevieweeが求められること アプリケーションエンジニアこそ「監視」だよね!と私が考える訳 コードを自在に操るためのPHP文法
弊社で毎月開催し、PHPエンジニアの間で好評いただいているPHP TechCafe。2023年8月のイベントでは「PHP8.3の新機能」について語り合いました。弊社のメンバーが事前にまとめてきた情報にしたがって、他の参加者に意見を頂いて語り合いながら学びました。今回はその内容についてレポートします。 rakus.connpass.com PHP8.3 新機能について Marking overridden method オブジェクトを継承していることを示すattributeが追加 ※プロパティのオーバーライドは対象外 Type Class Constants class、interface、trait、およびenumの定数に型を設定できるようになった ※継承しているクラス定数の型を拡張することはできない。 mb_str_pad str_padのマルチバイト用関数が追加 Dynamic cla
はじめに 新卒1年目のTKDSです! 先日,Go言語でjsonで返すレスポンスを作る際,ゼロ値の場合の項目の出し分けを行いたい場面がありました. そこで,encoding/jsonでゼロ値の場合の項目の出し分けを行う方法を調査しました. はじめに 行いたいこと 1. 改変したいフィールドの型をany(interface{})にして,タグにomitemptyを指定する 2. encoding/json/v2 のomitzeroを使う. 3. MarshalJSON()メソッドを実装する. まとめ 行いたいこと profileがゼロ値の場合,responseの一部を改変し,profileを含まず出力します. {"id":1,"created_at":"2009-11-10T23:00:00Z","updated_at":"2009-11-10T23:00:00Z","profile":{"na
概要 Prometheus未経験の非インフラエンジニアが、Grafanaでサーバモニタリングができるようになるまでの 軌跡を記録します。 とりあえず、モニタリングができることが目標なので運用面の考慮等はしていませんが、参考になれば幸 いです。 概要 きっかけ Prometheusとは Grafanaとは 今回構築する環境の構成 ①prometheus server ②exporter ③Grafana インストール 前提条件 ②exporterのインストール (1)ソースをダウンロード (2)ダウンロードしたソースを解凍する (3)node_exporterを起動する (4)node_exporterの起動確認 ①prometheus serverのインストール (1)ソースをダウンロード (2)ダウンロードしたソースを解凍する (3)Prometheusの設定ファイルを編集する (4)p
こんにちは、配配メール開発エンジニアのhiro_jiです。 突然ですが、負荷テストの進め方ってイメージできますか? ある程度経験があれば難なく進めることができると思いますが、そうでない場合はそもそも進め方のイメージが湧きづらいかと思います。 かくいう私も最初は何から手を付ければよいか分からなかった記憶があります。。。 そこで今回は負荷テスト初心者の方向けに、私の所属するチームで実施している手順を紹介します! 負荷テストとは? 負荷テストのフロー 全体像 方針検討 詳細計画 テスト準備 テスト実施 評価 分析・チューニング おわりに 負荷テストとは? 本題に入る前に、負荷テストとは何かについて軽く触れておきます。 負荷テストとは、特定の条件下でシステムやアプリが示す性能を評価、検証するものであり、運用中の障害を未然に防いだり、パフォーマンスの問題やボトルネックを改善するために非常に重要な役割
はじめに こんにちは。フロントエンド開発課に所属している新卒1年目のm_you_sanと申します。 今回はissue formsを使ってGitHub Issuesのテンプレートを作成する方法について、紹介したいと思います。 はじめに issue formsとは?導入するメリットは? 作り方 まとめ issue formsとは?導入するメリットは? issue formsは、GitHub上で提供されるGitHub Issuesに入力フォームを追加する機能です。 GitHub Issuesでは、デフォルトで大きめのテキストエリアが1つ提供されていますが、そのまま運用すると以下のような問題が起こります。 具体的に何を書いて良いのかわからない 人によって記載粒度にばらつきがある 欲しい情報が記載されていない場合がある 上記の問題はMarkDown形式のテンプレートでも、ある程度改善することはできま
ラクスでは多くのSaaSプロダクトを開発・運用しており、オンプレミスまたはクラウドを適切に選択してインフラ基盤を構築しています。 そのインフラを担うのが、ラクスのインフラ開発部です。 今回はインフラ開発部のマネージャーが厳選した、インフラエンジニアにおすすめの書籍10選をご紹介します。 それぞれの書籍に推薦コメントを記載していますので、是非ご参考になさってください。 選定基準は以下の通りで、今後インフラを深く理解し実力をつけていきたい方にも最適です。是非ご覧ください。 「すぐに役に立つがすぐに廃れる知識ではなく、10年以上使える書籍」 「分かりやすい本ではなく、難解ではあるがきちんと原理・原則を学べる書籍」 目次 目次 Operating Systemを理解しよう 詳解 Linuxカーネル 第3版 DNS & BIND 第5版 トラブルシューティングを理解しよう 詳解 システム・パフォーマ
はじめに こんにちは。フロントエンド開発課に所属している新卒1年目のm_you_sanと申します。 今回はTypeScriptのinferについて紹介したいと思います。 はじめに inferとは? 具体的な使用例 関数の戻り値の型を推論する Promiseの内部の型を推論する 配列の中身を推論する 文字列リテラルと組み合わせる まとめ inferとは? inferは型推論する際に使われるキーワードで、ジェネリクス型と条件型(Conditional Types)と合わせて使われます。 inferを使うことで、関数の戻り値や配列の中身など、ジェネリクス型の内容によって変化する型情報をConditional Typesの条件分岐の中で推論することができます。 具体的な使用例 関数の戻り値の型を推論する inferは組み込み型のReturnTypeの内部で実は使われています。 型変数のRが、型推論
皆さん、こんにちは!もしくはこんばんは! 楽楽精算プロダクトマネージャーの@wekkyyyyです。 前回は、本件の前編を記載させていただきました。 tech-blog.rakus.co.jp 今回は後編を記載します。 目次は以下となります。 対象読者、筆者がどういう人物か、執筆背景については、前編をご参照くださいm( )m 資料を作るときに考えていること (復習)【いざ開始】1つのアウトプットを3ステップで分けて作業する 【60点版】今一度 本当にこれだけか? なぜそうなる? その次はどうなる?を考える 【90点版】メッセージを意識する 【90点版】届ける相手を自分に憑依させる 編集後記 資料を作るときに考えていること (復習)【いざ開始】1つのアウトプットを3ステップで分けて作業する 以下の4ステップに分けて考えています。 それぞれの段階でレビューにかけます。 ★注意点 レビュー相手とし
こんにちは。フロントエンド開発課所属のkoki_matsuraです。 今回はPlaywrightのコンポーネントテストについて個人的な意見を書いています。 目次は以下の通りになっています。 はじめに 導入方法 Playwright Component Test Runner のスゴい点 コンポーネントが実際にレンダリングされる 画面のサイズを指定できる タイムゾーンや言語を指定できる コンポーネントの振る舞いを見るテストに対応できる まとめ 参考 はじめに PlaywrightはMicrosoftが開発・メンテナンスしているCypress、Puppeteerなどと同じE2E自動テストフレームワークとして有名です。 playwright.dev Chromium、Edge、Firefoxなどの複数のブラウザに対応しており、全てに単一のAPIで簡単にテストの実装が可能になっています。 目玉機能
本記事のターゲット 転職活動中のPdMの方 PdMへのキャリアチェンジを検討している方 ラクスへの入社を検討している方 はじめに こんにちは、楽楽精算プロダクトマネージャー(以下PdM)のShibaと申します。 2023年5月にラクスに入社して、半年以上が経過しました。 PdMという職種は会社毎で役割や責任範囲が異なります。 そのため、転職後の業務は多くの人が気になるポイントかと思います。 ラクスに入社して私がやってきたことと気付きを共有することで、ラクスへの転職を考えている方の参考になればと思い本記事を書くことにしました。 注意 入社者の志向やスキル/経験に基づいて適切な役割をアサインする仕組みがラクスにはあると思います。 全員が同じ流れで同じ業務をすることはないという点はご了承ください。 また、時間軸は若干曖昧なところがあります。 本記事のターゲット はじめに 注意 私のバックグランド
次のページ
このページを最初にブックマークしてみませんか?
『RAKUS Developers Blog | ラクス エンジニアブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く