DIGGLE開発者ブログ

予実管理クラウドDIGGLEのプロダクトチームが、技術や製品開発について発信します

YAPC::Hiroshima 2024に行ってきたよ

ご無沙汰しています。DIGGLEのhirataです。 今回初めてYAPCに行ってきたのでその時の事を書いてみようと思います。 YAPCとは「Yet Another Perl Conferenceの略で、Perlを軸としたITに関わる全ての人のためのカンファレンスです」(サイトからの引用)でPerlを…

パフォーマンス分析基盤の構築。S3やAthenaを活用して柔軟性の高いデータの取り扱いを実現した話

はじめに Datadog API Clientによるデータの取得 パフォーマンス分析の概要 対象データ 分析方法 パフォーマンス分析基盤の構成の検討 データ保存先 構成 対応内容 サーバーサイド インフラ フロントエンド 最後に We're hiring! はじめに DIGGLEではすでにD…

なりすまし/迷惑メールと思われない為のDMARC導入手順

はじめに DMARC対応作業を始めるまで それは一通の問い合わせから始まった そもそもDMARCって何だ? 対応時の注意点 メール送信方法によって対応内容が異なる SPF、DMARCの対応は複数サービスで同じ場所に修正を加える必要がある SPF/DKIM未対応の状態でDMAR…

Rustで型付Webアプリケーション開発

この記事は Rust Advent Calendar 2023 25日目の記事です。 お久しぶりです。DIGGLEのhirataです。 今回はDIGGLEとは関係ないですが、個人的にRustの利用を促進すべくRustでのWebアプリケーションの開発経験について書きたいと思います。 所感としては一人で…

OWASP Top Ten に見る Web セキュリティの20年

OWASP Top Ten の全バージョンを表にして、脆弱性の変遷を見てみます。

複式簿記のアーキテクチャを理解する

この記事ははじめてのアドベントカレンダー Advent Calendar 2023 23日目の記事です。 こんにちは。DIGGLEのCTO水上です。アドカレのために何を書こうか悩んでいたら投稿前日になってしまいました。 悩んだ末、社内勉強会で一度話した内容を書くことにしまし…

自前のReact UI コンポーネントライブラリを Tailwind CSS で再構築した話

"The logo for the React open source JavaScript library" © Facebook (Licensed under CC BY 1.0) "Tailwind CSS Logo" © Tailwind CSS (Licensed under CC BY 4.0) この記事はReact Advent Calendar 2023 23日目の記事です。 はじめに Semantic UI React…

Pythonエンジニアが感じたRailsの戸惑いポイント

この記事ははじめてのアドベントカレンダー Advent Calendar 2023 21日目の記事です。 初めまして。 2023年10月にDIGGLEにエンジニアとして入社したaki0344です。 DIGGLEではバックエンドにRuby on Railsを利用しています。 そこで今回は、小学生の娘に『ル…

Rails7環境での最適なJavaScriptビルドツールの選択ガイド

この記事は Ruby on Rails Advent Calendar 2023 の20日目の記事です。 はじめに Rails7のJavaScriptビルドツールの比較 jsbundling-rails vs Shakapacker jsbundling-rails 長所 短所 Shakapacker 長所 短所 jsbundling-railsのバンドルの選択肢 Bun esbuil…

DIGGLEが行った今年の技術広報まとめ

技術広報 Advent Calendar 2023の16日目の記事になります。 はじめに 当ブログをはじめ、今年のDIGGLEは色々な技術広報活動を行ってきましたので、今年一年で何を行ったのかを振り返りたいと思います。 やったこと 今年一年で行ったこととしては、こんな感じ…

プロパティベーステスト (Property Based Testing) を Ruby で書き雰囲気を味わう

2023 年 10 月 30 日に『実践プロパティベーステスト ― PropErとErlang/Elixirではじめよう』(以下 実践プロパティベーステスト本)という本が出版されました。 プロパティベーステストというのは、テストの一手法なのですが、これまでとは違う範囲をカバー…

一人PdMでもできる!「事業開発」はじめの一歩

#BtoB事業開発アドカレ の記事です。「事業開発のはじめの一歩」として取り組んだことを書いています。

Ruby の oneshot coverage で本番稼働中の Rails アプリの使用状況を収集して不要なコードを発見するための仕組みを導入した話

前置き プロダクト開発は人の手によって行われるものですから、開発サイクルの中で不要なコードを削除し忘れる人的なミスはどうしても発生します。 後から不要なコードに気づき削除する際には、慎重にチェックして本当にコードが使用されていないことを確認…

運用改善につなげるための Terraform ディレクトリ構成 〜 Modules を用いてリソース定義を DRY にした話 〜

DIGGLE ではインフラのコード管理(IaC: Infrastructure as Code)のツールとして Terraform を利用しています。 www.terraform.io 私たちの開発組織では「自動化・効率化できるものはなるべくして、人的ミスや工数の無駄を無くすこと」を大切にしており、そ…

React の Global State 管理で Jotai を採用した話

こんにちは。 DIGGLE エンジニアの ito です。 九月末になり、厳しい残暑に少しずつ終わりが見え始めた中いかがお過ごしでしょうか? ここ数年は、残暑という名だけで本格的な暑さが続いているように感じています。 私はDIGGLEエンジニアという身分の他に自…

Python、Rust上でのデータフレームライブラリで速さ対決してみた!

※ Apache Arrow, Apache Arrow DataFusionは、米国およびその他の国におけるApache Software Foundationの登録商標または商標です。これらのマークの使用は、Apache Software Foundationによる保証を意味するものではありません。 こんにちは。5月入社のソフ…

Ruby のバージョンを 3.1 系から 3.2 系にアップデートしたら Ruby on Rails アプリの動きが変わったのを解決した話

私たちは Ruby on Rails の主要なマルチテナントライブラリ apartment を使ってサービスを提供しています。 Ruby のバージョンを 3.1 系から 3.2 系に上げたときに CSV ファイルを処理する部分でこのテナントの切り替えが意図通りに動作しませんでした。 こ…

RubyKaigi 2023 にエンジニア4人でブース出展しました #rubykaigi

こんにちは、DIGGLE エンジニアの miyakawa と ito です。 前回のブログ記事でお伝えした通り、DIGGLE は RubyKaigi 2023 に Platinum スポンサーとして参加/ブース出展/幕間CM提供を行いました。 diggle.engineer 今回の記事では RubyKaigi のブース出展側…

RubyKaigi 2023 の雰囲気をお届けします #rubykaigi

こんにちは、DIGGLE エンジニアの ito と miyakawa です。 前回のブログ記事でお伝えした通り、DIGGLE は RubyKaigi 2023 スポンサーになりました。 diggle.engineer 今回の記事では RubyKaigi で初現地参加の様子を通して、会場の雰囲気をお届けします。 前…

【RubyKaigi 2023】スポンサーに当選したので弾幕シューティングゲームを作ってみた

こんにちは。DIGGLEエンジニアリングマネージャーのzakkyです。発売以来スプラトゥーン3のフェスに全敗しているので「zakkyと逆張りすれば勝てる説」が立証されつつあります。 はじめに 早速本題です。 弊社では、今年RubyKaigi 2023のPlatinum Sponsorsに初…

【Ruby 3.2 新機能】るりまの Data クラスリファレンス作成 PR をレビューした

Ruby の日本語リファレンスるりまは GitHub の Pull Request を用いてメンテナンスされています。Ruby3.2で導入された Data クラスのリファレンス作成 PR の様子も交えてメンテナンスの雰囲気をお伝えしたいと思います。

DBとDWHの技術選定調査について

こんにちは。DIGGLEのエンジニアのchikugoです。 はじめに 弊社プロダクトのDIGGLEの成長に伴い、先々も見据えてパフォーマンス改善を行う必要性が生じました。そのパフォーマンス改善の一貫で、DBやDWHの技術選定を行っています。今回はDBやDWHの技術選定の…

プロダクトマネジメント、時代の変化

DIGGLEのベルマです。DIGGLEではプロダクトマネジメントチームとして6月に組織化しました。立ち上げにあたってどのようにプロダクトマネジメントしていくべきかを考えるため、過去の文献や資料をリサーチしました。今回のブログでは、リサーチを自分の考察も…

DIGGLEの考える開発効率の上げ方

こんにちは。DIGGLEエンジニアリングマネージャーのzakkyです。 先月は埼玉県民の日(11/14)で学校が休みだったので、有給を取って家族写真を撮りに行ってきました。娘も息子も可愛かったです。 ということで、開発生産性 Advent Calendar 2022の23日目の記…

Ruby on Rails で Google API を利用するための承認フローを実装する

こんにちは!DIGGLE エンジニアの miyakawa です。 この記事は Ruby on Rails Advent Calendar 2022 の22日目の記事です。 qiita.com はじめに 弊社のプロダクト DIGGLE には、Google ドライブ や Google スプレッドシートからデータをインポートする機能が…

React Testing Libraryのrerenderを薄くラップすることで使い勝手を向上させた話

こんにちは。DIGGLE エンジニアの伊藤です。 ソフトウェアテスト Advent Calendar 2022の 20 日目の記事です。 Advent Calendar 初参加になります。 普段はフロントエンドを中心に業務を行なっています。 今回は DIGGLE で実施されているフロントエンドの単…

RailsのJOIN方法の違いでソートしたときに意図した結果を取得できてなかった話

こんにちは。DIGGLEのエンジニアのhondaです。 Ruby on Rails Advent Calendar 2022の12日目の記事です。 Advent Calendar初参加です。 はじめに Railsで開発している方にはN+1問題というのはおなじみだと思います。(説明は割愛します) そのためincludesやea…

ふりかえり(レトロスペクティブ)を活用してチームの自己組織化を促す

UnsplashのRavi Palweが撮影した写真 フロントエンドエンジニア兼デザイナーの大澤です。 今回は主にふりかえりによってDIGGLEの開発チームがいかに自己組織化を達成したか、その肝である「ふりかえり」をどのように実施したかについてお伝えします。 なぜ自…

検証用スクリプトの実行環境として AWS Cloud9 を採用した話

こんにちは。DIGGLE エンジニアの miyakawa です。 普段はバックエンドとインフラを中心に開発しています。 今回は、前回の記事で触れたレポート機能の数値検証の「実行環境」についてお話したいと思います。 レポート機能の数値検証の内容については前回の…

レポート機能の計算結果が正しいことをどう保証するのか考えた話

こんにちは。DIGGLEエンジニアのhondaです。 開発メンバーの中では主にバックエンドを担当することが多いです。 今回はDIGGLEの根幹を支えるレポート機能の数値検証についてお話したいと思います。 DIGGLEのレポート機能 DIGGLEのレポート機能 DIGGLEでは取…