エンジニア

JAWS DAYS 2024 イベント参加レポート

こんにちは、しののめ(佐々木)です。 2024年3月2日に開催されたAWSユーザーグループの一大イベントであるJAWS DAYSに参加し、コミュニティにフォーカスしたセッションを聴いてみての話になります。 ブログサムネイルに利用している『JAWS-UG ロゴ』はクリエ…

RuboCopカスタムルールの導入効果

こんにちは。メディアサービス開発部 Webアプリケーション開発課のシゲタです。 以前このブログでRuboCopのカスタムルールを作成する方法についての記事を書きました。 https://developers.bookwalker.jp/entry/2023/03/31/174906 カスタムルールとは個別の…

BuriKaigi 2024に登壇してきました

こんにちは。相生ゆら(@Little_Rubyist)です。年末年始と今回の登壇で美味しいものをたくさん食べたら無事に最高体重を更新して泣いています。デスクワーク、運動が大事。 2024年になりました。今年も頑張っていこうと思います。今年最初の活動として、地…

RSGT2024に参加しました

こんにちは、メディアサービス開発部 Webアプリケーション開発課のyotaです。 2024/01/10 - 2024/01/12の日程で Regional Scrum Gathering Tokyo 2024(以下RSGT2024)が開催されました。 RSGT2024には弊社からは複数名で参加できました。 この記事ではRSGT202…

iOSキーチェーンの引き継ぎについて

はじめに ">こんにちは。メディアサービス開発部 モバイルアプリケーション開発課の楠本です。普段はニコニコ漫画や読書メーターのiOSアプリ開発をしています。 キーチェーンは、iOSアプリがログインセッションなどのセキュアに保存しておきたい情報を保存す…

GitHub Actionsとparallel_tests gemを活用してRailsアプリケーションの爆速CIを実現する

こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるバックエンド方面のテックリードとして働いています。 本…

PlaywrightでカスタムURLスキームへの遷移をテストする

こんにちは。メディアサービス開発部Webアプリケーション開発課の奥川です。ニコニコ漫画のバックエンド開発を担当しています。 ニコニコ漫画ではe2eテストに Playwright を導入しており、OpenID Connectでの認証フローやAPIテストなど主にiOS/Androidアプリ…

CircleCI™において、モノレポ構成のリポジトリで必要なテストのみ実行する方法

こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるバックエンド方面のテックリードとして働いています。 最…

Kaigi on Rails 2023に参加しました

こんにちは。 メディアサービス開発部 Webアプリケーション開発課の相生ゆら(@Little_Rubyist)&yotaです。 本記事では、2023年10月27日と28日に開催されたKaigi on Rails 2023へ参加したことについてお話します。本記事はモブブロギングによって執筆していま…

RBSをCIに導入して型の恩恵を得たい

こんにちは,相生ゆら(@Little_Rubyist)です.最近配信でクロノトリガーをやっているんですがあまりにも面白すぎてありとあらゆる知人に「クロノトリガーをやれ」と言っています. さて,入社から半年以上経過しましたがその話はまた別でやるとして,私の…

BOOK☆WALKERタイストアの商品タイトル自動翻訳

メディアサービス開発部サービス分析課のチェリーです。 サービス分析課では株式会社ブックウォーカーが運営する様々なサービスのデータ分析や調査、 データ分析のための基盤構築を主な業務としています。 また日々の業務で発生する多様な問題の解決に取り組…

AWS Dev Dayに参加してきました

こんにちは. メディアサービス開発部の しののめ(佐々木) です. Ruby on Rails,Kotlin/Ktorによるバックエンド開発と,AWSによるサービスインフラの設計構築を中心とした業務を担当しております. 6月22,23日にベルサール渋谷ガーデンにて開催されたAWS …

BigQueryをオンデマンド料金モデルからBigQuery Editionsへ移行した話

こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で全社横断のデータ基盤を構築しています。 今年の3月末にBigQueryの新料金体系、BigQuery Editionsが発表されました。これに伴い来月の7月5日より従来の定額モデルが終了し…

RubyKaigi2023LTに出したプロポーザルを公開します

こんにちは,相生ゆら(@Little_Rubyist)です.RubyKaigi2023楽しかったですね.RubyKaigi2023自体のレポートは他社員が書いてくれている*1*2し,私は私でプライベートのブログにあげてしまったので今回はLTのプロポーザルの話やLTの話をしようと思います.…

RubyKaigiにはじめて参加してきた感想

こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。5/11~5/13に長野県松本市で開催されたRubyKaigi2023に参加してきました。RubyKaigiへの参加は今回がはじめてなので、参加してみてどうだったのか等の感想をお話しします。RubyKai…

RubyKaigi 2023に社員4名で参加 & LTで1名登壇しました

こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードとして働いています。 本記事では、2023年5…

AgilePBL祭り2023に参加してきました!

はじめに こんにちは。Webアプリケーション開発課の相生ゆら(@Little_Rubyist)と新井としののめです。3月20日に名古屋で開催されたAgilePBL祭り2023にスポンサーとして参加してきました。ちなみに、この記事はモブブロギングによって執筆しています。 AgileP…

RuboCopにカスタムルールを実装する方法について

はじめに こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。 本記事ではRubocopにカスタムルールを実装する方法について解説します。 Rubyにはコードの静的解析やフォーマットをしてくれるRuboCopというgemが存在します。リンター…

GitHub ActionsからBigQueryのリモート関数をデプロイする

こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で全社横断のデータ基盤を構築しています。 前回SlackからGitHub Actionsを実行する記事を投稿しましたが、今回はそのGitHub Actionsを使ってデプロイしていたBigQueryのリ…

SlackからGitHub Actionsを実行する

こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で横断データ基盤を構築しています。 この記事ではSlackからGitHub Actionsを実行するためにSlack appを作った時のことを書いていきます。 外観図 背景 Slack appの準備 Git…

社内向けのgemをGitHub Packagesのプライベートgemとしてpublishする方法

こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 2月11日…

「BOOK☆WALKER」の開発をしてみませんか?(Webアプリケーションエンジニア募集)

「BOOK☆WALKER」の開発をしてみませんか?(Webアプリケーションエンジニア募集)

入社して9ヶ月目の所感

こんにちは、メディアサービス開発部モバイルアプリケーション開発課でAndroidエンジニアをしている金森です。2022年の5月に中途入社し新年を迎え、9ヶ月が経ちました。 モバイルアプリケーション開発課のAndroidチームで9ヶ月仕事を通して知ったこと感じた…

あまり知られていないYAMLのタグについて

こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。 YAMLには値に型を明示するためのタグという仕様があります。 RubyのYAMLライブラリもこれを拡張した機能を提供しており、タグで指定したクラスのインスタンスに値を変換すること…

ニコニコ漫画をRuby3.2.0に更新してYJIT有効化するとパフォーマンス改善された話

はじめに こんにちは。ニコニコ漫画の開発をしているyotaとtukiyoです。 この記事はペアブロギングによって執筆しています。 本記事ではニコニコ漫画で利用しているRubyのバージョンを3.2.0へ更新したこととYJITの有効化によるパフォーマンスの変化について…

会社ブログの記事を"ペアブロギング"してみた

こんにちは。 メディアサービス開発部、Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事…

いくつものDBからデータをかき集めるには

こんにちは、メディアサービス開発部サービス分析課の佐藤です。推しTRPGはD&D5版です。今年4月に入社し、事業横断データ基盤を構築しています。 今回はブックウォーカー社内でデータ基盤を構築するにあたって身につけたAWS関連の知識、主にRDSのexport snap…

Next.jsのコンテナからVercelへの移行とISRを有効化する際のハマりどころ

こんにちは。 メディアサービス開発部Webアプリケーション開発課でフロントエンドエンジニアをしているnerikeshiです。主にTypeScriptでReactアプリケーションの開発をしています。 本記事では、コンテナで稼働させていたNext.jsアプリケーションのVercelへ…

サーバダウンしたニコニコ漫画に何が起きていたのか

こんにちは。メディアサービス開発部Webアプリケーション開発課の奥川です。ニコニコ漫画のバックエンド開発を担当しています。 2021年初頭、ニコニコ漫画である作品の連載が開始されました。それに端を発する数カ月間のサーバ障害により、ユーザーの皆様に…

ブックウォーカーに中途入社して半年経ちました

こんにちは. メディアサービス開発部 Webアプリケーション開発課の しののめ(佐々木) です. 今年の4月にブックウォーカーへバックエンドエンジニアとして中途入社し,この10月で半年になりました. 入社の経緯から半年仕事をしてみての状況と働いてみて思…

New Relic Infrastructureで5分に1回しか取れない非連続的なデータに対してアラート設定を行う方法

こんにちは。 メディアサービス開発部Webアプリケーション開発課の中野です。 読書メーターのインフラおよびバックエンドシステムを担当しています。 本稿ではNew Relic Infrastructureで5分に1回しか取れない非連続的なデータに対してアラート設定を行う方…

Rubyメソッドの実装を参照するためのいくつかの方法

こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。普段はRuby on Railsによるバックエンドの開発に携わっています。 先日とあるRubyメソッドの仕様が気になりコードリーディングに挑戦したのですが、当該メソッドがどこに何という…

一迅プラス管理ツールの開発をした話

こんにちは。メディアサービス開発部Webアプリケーション開発課のnerikeshiです。 株式会社ブックウォーカーでは、株式会社一迅社様の一迅プラスの開発を請け負っています。本記事では、その連載プラットフォームで稼働中の管理ツールのエピソード編集機能の…

RubyKaigi 2022に参加しました

こんにちは。 メディアサービス開発部、Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事…

UTF-8で動くRailsがShift_JISな外部システムと通信する方法

こんにちは。 メディアサービス開発部Webアプリケーション開発課のフサギコ(髙﨑)です。部署名が変わりました。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働…

定時バッチをECS scheduled task + ecscheduleでお手軽管理する

メディアサービス開発部モバイルアプリケーション開発課のtukiyo(id: tukiyo320)です。現在はニコニコ漫画のバックエンド開発を担当しています。 本記事では、Webサービスに付き物の定時バッチについて、ニコニコ漫画では現在どのような方針で管理・実行して…

BigQueryの定期的なクエリ実行機能について

メディアサービス開発部Webアプリケーション開発課の長田です 主にRuby on Railsを利用したサービス開発やBigQueryを利用した数値集計・解析のための基盤整備などをしています。 BigQueryには日時と実行したいクエリを設定することで定期的にクエリを実行す…

読書メーターのデプロイの流れについて

こんにちは。 メディアサービス開発部Webアプリケーション開発課の中野です。 読書メーターのインフラおよびバックエンドシステムを担当しています。 本記事では読書メーターのデプロイの流れについて紹介いたします。 読書メーターについて 読書メーターは…

一迅プラスのインフラ構成について

こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では…

Glideで独自形式の画像読み込みに対応する

はじめまして、アプリ開発グループの大場です。 2021年10月に中途入社し、ニコニコ漫画と読書メーターのAndroidアプリを主に担当しています。 ニコニコ漫画では以前より画像ライブラリにPicasso、Glideの二種を並行利用していましたが、先日Glideに完全移行…

Data Portalでアプリのデータを可視化しよう

Data Portalでアプリのデータを可視化しよう こんにちは、メディアサービス開発部アプリ開発グループのタンです。 作ったアプリがどう使われているかは誰しも知りたいですね。頑張ってAnalyticsでイベントを実装して、BigQueryにも連携させたのに、なかなか…

RxJavaからCoroutinesへの移行

こんにちは。アプリ開発グループの嶋田です。ニコニコ漫画、読書メーターのAndroidアプリ開発を担当しています。今期よりニコニコ漫画ではRxJavaからCoroutinesへの移行を積極的に進めています。この記事では、移行に至った背景から導入までを紹介していきま…

CircleCIからもAWS APIへアクセスキーなしでリクエストできる仕組みをTerraformで構築する

こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 CircleCIで…

GitHub ActionsからAWS APIへアクセスキーなしでリクエストする仕組みをTerraformで構築する

こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では…

BOOK☆WALKERアプリ『マイブック』リニューアルについて

はじめまして。株式会社ブックウォーカーにて電子書籍アプリ『BOOK☆WALKER』のリニューアルを担当しておりますディレクターYです。 Tech Blogというだけあってエンジニア・デザイナーからの情報発信が多い当ブログですが、今回はアプリディレクターサイドか…

読書メーターのインフラ構成について

こんにちは。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 本記事では…

GA4をBigQueryと連携する際に気をつけたいこと

メディアサービス開発部バックエンド開発グループの長田です。主にRuby on Railsを利用したサービス開発や数値集計・解析のための基盤整備などをしています。 さて、アクセス解析ツールとしてGoogleAnalytics(GA)を利用している方も多いのではないでしょうか…

iOSアプリの譲渡について

">こんにちは。アプリ開発グループの楠本です。ニコニコ漫画や読書メーターのiOSアプリ開発を担当しています。先日株式会社ドワンゴからブックウォーカーへアプリ移管を行い、無事何事もなく完了することができました。 本記事ではiOSアプリの移管についてを…

ニコニコ漫画のインフラ構成について

あけましておめでとうございます。 メディアサービス開発部バックエンド開発グループのフサギコ(髙﨑)です。 これまで子会社の株式会社トリスタに所属していましたが、トリスタが2021年10月に吸収合併されたため株式会社ブックウォーカー所属となりました。 …

BOOK☆WALKER 2021年10~12月のリリース振り返り

今年もBOOK☆WALKERをご利用いただき誠にありがとうございました。10~12月の3か月分のリリースをまとめてを振り返ります! ○10/6 検索のサジェスト強化 ラノベに限らず作品名の略称・愛称というのがあります。「このすば」「はめふら」等々、次々生まれてき…