サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
developers.bookwalker.jp
はじめに こんにちは、相生です。Day2です。今日もRubyKaigi速報記をやっていきますが、眠い上見たいセッションがたくさんあり、Afternoon breakにはRBSKaigiがあり、夜はDrinkupとKaraoke*1なので結構へろへろの予定です。 Leveraging Falcon and Rails for Real-Time Interactivity インターネットの歴史からRubyの非同期の話へつながっていく様がとても自然でした。Rubyのasync, 2017年で思ったより最近なんですね。 実装されたゲームの解説がとても丁寧で英語でもやんわり分かったような気がします……気がするだけ。*2Matzが壇上でやってみていて、かなり早くGameOverになっていて良かったです。 Community-driven RBS repository 今日は型の話がたくさんあります。
はじめに こんにちは、相生です。今年もRubyKaigiに来ています。今年はなんと沖縄です。ハイサイ! 那覇空港の荷物受取所からRubyKaigiは始まっている 今年はオンライン開催がないとのことだったのでせっかくだし非参加者にも空気感を味わって欲しい……と思ったので速報を出そうかなと思います。3トラック全てのセッションを聞くのは不可能なので私自身が聞きに行ったセッションしか話せないのですが、他の人も速報を出してると思うのでそちらも参照してみるとよいかなとおもいます。 Day1からDay3まで、Parser, RBS, LSP周りの話がメインになるかと思います。 Day0 RubyKaigiは地方で開催されるので大体の人が前入りしています。そのためRubyKaigi本編より前からイベントはいくつか存在しています。 今年はクルーズ船に乗ってきました。*1 こちらが乗った船。おっきい。 既にR
こんにちは。メディアサービス開発部のyotaです。 さて、今週からRubyKaigi 2024が沖縄で開催されますね。 弊社からもチームメンバーが2名参加する予定です。 本記事はそんなチームメンバー向けに「ここオススメだよ」というスポットを紹介するものです。 会場のなはーとから少し離れているところと、車が必要なところを中心に紹介しようと思います。 割と変なラインナップかもしれませんが、よろしくお願いします。 他にも思い出したら更新するかもしれません。 ゆいレールで行きやすいスポット COLOSSEO 262 ラーメン 町の麺処 琉家 国際通り本店 琉球新麺 通堂 小禄本店 ジャッキーステーキハウス 千日 亀かめそば 名代蕎麦処 美濃作 青島食堂 焼膳 タコライスの店 赤とんぼ ウォルフブロイ(WOLFBRAU) Hally's Cafe ここからはゆいレールでは移動が大変 首里殿内(すいど
はじめに サービス分析課のチェリーです。 サービス分析課では分析基盤の構築とブックウォーカー社が運営する各サービスのデータ分析を行っています。そのため業務を円滑に進めるために各事業部とのコミュニケーションが重要となります。 そこでブックウォーカー社の各チームがどのようなコミュニケーション形態をとっているかネットワーク図を使い可視化してみました。 ネットワーク図 Slack APIを利用した投稿情報抽出 ブックウォーカー社は全社的にテレワークを採用しているので業務のやりとりは主にSlackで行っています。Slack APIを利用し各社員のメンション元とメンション先を集計します。 Events APIから取得できる情報は下記になります。 { "type": "app_mention", "user": "U061F7AUR", "text": "<@U0LAN0Z89> is it every
こんにちは!デザイナーの荒木です。 今回は、デザイナーの「他部署への越境」をテーマにお話ししようと思います。 私個人の経験や働き方の話が中心となりますが、「こんなキャリアパスもあるのか」や「ブックウォーカーのデザイナーってこんなことをしているのか」という知見になれば幸いです。 デザイナーとしてのキャリアパスの変化 運営チームとは ①運営チームの仕事内容の解像度が上がった ②企画自体のゴールだけではなく「なぜやるのか」という視点が増えた ③自分のキャリアを活かした強みが見えてきた まとめ 最後に デザイナーとしてのキャリアパスの変化 2023年5月に「KADOKAWA DESIGNERS Meetup #3」という、デザイナー向けの採用イベントに登壇しました。その際は「UXデザイナーまでのキャリアパス」というテーマで、UXデザイナーにチャレンジするきっかけなどをお話ししました。 上記のように
こんにちは、しののめ(佐々木)です。 2024年3月2日に開催されたAWSユーザーグループの一大イベントであるJAWS DAYSに参加し、コミュニティにフォーカスしたセッションを聴いてみての話になります。 ブログサムネイルに利用している『JAWS-UG ロゴ』はクリエイティブ・コモンズ 表示 - 非営利 4.0 国際 ライセンスで提供されています。 JAWS DAYSとは なぜ参加したのか Keynote AWS支部 re:Surgence ~リブート支部代表たちによるパネルディスカッション~ 地方在住フルリモートワークエンジニアのリアル 〜ジモトで“活きる“エンジニアライフ〜 参加してみて JAWS DAYSとは そもそもJAWS DAYSとはなにかということについてですが、公式にはこのように記載されております。 JAWS-UG(AWS User Group – Japan)は、日本全国
こんにちは、デザイナーの丹上です。 以前はUXUI課(旧)に所属していました。 現在は体制変更などによりクリエイティブ課に異動しています。 希望により課を移ることができるのもブックウォーカーのいいところですね。 UXUI課(旧)では画面設計がメインでしたが、 クリエイティブ課ではグラフィカルなデザインやマークアップをメインで担当しています。 個人的にはマークアップが好きなのでまたできるようになって嬉しいです。 課を異動したので、せっかくなのでそれぞれの課での社内デザインレビューについてご紹介したいと思います。 ブックウォーカーでの使用用語の定義について 同期レビュー 非同期レビュー レビュー会場 LGTM UXUI課(旧)の場合 クリエイティブ課の場合 おまけ レビューしてもらう際 レビューする際 まとめ ブックウォーカーでの使用用語の定義について 実際の工程を紹介する前にこのブログで使う
ブックウォーカー社のデータ基盤について こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で全社横断のデータ基盤を構築しています。 ブックウォーカー社に入社したのは2022年4月でしたが、それから1.5年が経ち、データ基盤の形が見えつつあります。 まだまだ理想形には程遠い状態ではありますが、構築中であるデータ基盤の現在地をご紹介したいと思います。 背景 まず、データ基盤の構築はあくまでサービス分析課の一業務であり、必要に駆られて行っている作業です。 サービス分析課は下記のミッションを掲げた、組織全体のデータ活用を促進するためのチームです。 データとコミュニケーションによる課題解決の功績をもってデータ文化の規範となり、各部門が本質的課題に正しく立ち向かえるよう支援する。 このため、データ基盤にかける労力はできる限り抑えたいと考えており、基盤構築が進んで安定稼働の軌
こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるバックエンド方面のテックリードとして働いています。 本記事では、GitHub Actions上で実行するRailsアプリケーションの自動テストの所要時間を、parallel_tests gemとGitHub Actionsのmatrix、ruby/setup-rubyアクションによるgemのキャッシュを併用して短縮し、爆速CIを実現する方法についてお話します。 CIで実行する自動テストの所要時間は短ければ短いほど良い parallel_tests gemを使って、1コンテナのなかでテストを並列実行する GitHub Actionsのmatrixを使って、複数コンテナでテストを並列実行
こんにちは。メディアサービス開発部Webアプリケーション開発課の奥川です。ニコニコ漫画のバックエンド開発を担当しています。 ニコニコ漫画ではe2eテストに Playwright を導入しており、OpenID Connectでの認証フローやAPIテストなど主にiOS/Androidアプリとの連携部分の検証に利用しています。 アプリ連携ではカスタムURLスキームを用いてアプリを起動することがあり、この際に意図通りのURLやパラメータを応答できているかを確認したいテストケースが存在します。カスタムURLスキームとは、 http:// や https:// の代わりに example:// のような独自のプレフィックスを用いて特定のアプリを直接起動できるURLパターンです。これにより、ウェブページや他のアプリから特定のアプリ内の特定のページや機能を直接呼び出すことが可能になります。 Playwri
【ワークショップ】なぜそのデザインは使いにくいのか?ー認知の理論から学ぶUIデザイン 自己紹介と参加の経緯の共有 ワークショップの概要 ノーマンの問題意識 良いデザインにおける重要な特性 インタラクションの基本原則(誰のためのデザイン?より) アフォーダンスとシグニファイア 対応づけ 概念モデル 行為の7段階理論をどう使うか 頭の中の知識と外界にある知識 実際に使いにくいデザインについてグループワーク まとめ ワークを終えて こちらのブログではお久しぶりです。 UIデザイナーのMです。 今回はDesignship2023・DAY2に参加してきたので、そのワークショップについての内容を書きたいと思います。 【ワークショップ】なぜそのデザインは使いにくいのか?ー認知の理論から学ぶUIデザイン DesignShip Do.2023のワークショップに参加してきました。 このワークショップは3〜4人
こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるバックエンド方面のテックリードとして働いています。 最近はNext.jsで書かれた運用者向けの管理画面までも自分たちで改修するようになってきました。 本記事ではCircleCIにおいて、モノレポ構成のリポジトリで必要なテストのみ実行するようなconfigファイルの書き方についてお話します。 モノレポ構成のリポジトリでは必要なテストだけを実行したい 複数のソフトウェアが相互に連携して動くようなプロダクトではしばしば、一つのリポジトリをディレクトリ分けしてそれぞれのソフトウェアを配置するモノレポ構成が採られます。 モノレポ構成のリポジトリでは多くの場合、複数のソフトウェアが同時に変更され
こんにちは。 メディアサービス開発部 Webアプリケーション開発課の相生ゆら(@Little_Rubyist)&yotaです。 本記事では、2023年10月27日と28日に開催されたKaigi on Rails 2023へ参加したことについてお話します。本記事はモブブロギングによって執筆しています。 参加したセッションと感想 基調講演 5000件のN+1問題と戦っている話 生きた Rails アプリケーションへの delegated types の導入 やさしいActiveRecordのDB接続のしくみ TracePointを活用してモデル名変更の負債解消をした話 Railsの型ファイル自動生成における課題と解決 32個のPRでリリースした依存度の高いコアなモデルの安全な弄り方 Multiple Databasesを用いて2つのRailsプロジェクトを統合する 管理機能アーキテクチャパター
こんにちは!デザイナーのNです。 この記事では「UIデザインの教科書」について簡単な内容と感想を紹介します。 UIに関する本を読んだのは、こちらの本が初めてでした。私は元々インテリアデザイナーだったので、UX/UIデザインの業界へUIデザイナーとして転職し、UIに関する知識を得るためにこちらの本を選びました。WEBサイトの部品ごとの細かいUIはそれほど多くはありませんが、WEBにおけるUIの基本的考え方を学ぶには、とりあえずこれで十分だと思いました。 200頁程の写真満載フルカラーで、教科書的なテイストで下記の通りになる7章で構成されています。 目次 第1章 デザインの目的とUI/UX 第2章 物理的な制約 第3章 ソフトウェアの影響 第4章 人間の認知特性 第5章 階層と構造 第6章 ナビゲーションとインタラクション 第7章 デザインを形にする 全体的な内容は、本書は2013年刊行の「U
初めまして!サービスデザイン部のエムです。 前職まで受託や事業会社のWeb/UXディレクターをしており、現在は総合電子書籍ストア「BOOK☆WALKER」(以下、BW)のディレクションを担当しています。 今回は、現在所属しているUXチームや現場の雰囲気などが伝わるといいなと思い、 BWの各サービスのUXデザイナーに突撃インタビューをしてみました! 登場人物のご紹介 入社のきっかけ BWの雰囲気は? BWの「ここがいい!」 BWの「ここが大変!」 これからやってみたいこと 最後に 登場人物のご紹介 今回の急なオファーに快く応えてくれださった、心優しいお二人をご紹介。 むむさん: 「ニコニコ漫画」のPM・UXデザイナーとして、プロジェクト全体のスケジュール管理・事業部との調整や要件定義、プロジェクト進行などを担っています。 (入社時は、BWストアのディレクターとUXデザイナーを兼務) Nさん:
こんにちは,相生ゆら(@Little_Rubyist)です.最近配信でクロノトリガーをやっているんですがあまりにも面白すぎてありとあらゆる知人に「クロノトリガーをやれ」と言っています. さて,入社から半年以上経過しましたがその話はまた別でやるとして,私の所属している部署では勉強習慣というのがあって,自分の興味のあることを業務時間中に勉強してもいい時間が存在します.各々色んなことをやっていますが,私はその時間で少しずつRBSを導入しています.まだあまり触れていないプロジェクトなのでコードリーディングをしながらゆっくり入れていこうと思っています. CI導入まで済んだのでこれを一区切りとし,どういったことをやっていたのかをご紹介します. 型導入の準備 とってもシンプルです.steep, rbs_rails, katakata_irbをGemfileに追加します.ライブラリの型も必要なので,rbs
こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で全社横断のデータ基盤を構築しています。 今年の3月末にBigQueryの新料金体系、BigQuery Editionsが発表されました。これに伴い来月の7月5日より従来の定額モデルが終了し、オンデマンド料金モデルも25%の値上げとなります。 cloud.google.com これまでブックウォーカー社ではスキャンサイズのバーストを防ぐためにGoogle Cloud(GCP)の「割り当てと上限」を利用し、BigQueryにおいてプロジェクト全体のスキャンサイズとユーザーごとのスキャンサイズを制限していました。これはプロジェクト全体、あるいはユーザーが設定したスキャンサイズを上回るとそれ以上の処理を停止させるという制限です。 Webサービス開発に関わる分析業務ではGoogleAnalyticsのエクスポートログやW
こんにちは、デザイナーのむろおかです。 2021年11月にブログの大幅なリニューアルをしてから一年と数ヶ月が経ちました。 当時の記事はこちら↓ developers.bookwalker.jp リニューアル後もより使いやすくするため、細かい改修を続けています。 今回は最近デザイン改修した箇所をいくつかお話しします。 1ブログ名の変更 ブログの名称を『BOOK☆WALKER Tech Blog』から『BOOK☆WALKER inside』に変更しました。 今後、技術的な記事だけでなく、会社の雰囲気や文化なども伝えたれるブログにしていきたい、という要望からの変更です。 Tech Blogとinside、なにが違うのか。 むろおかもほんのり理解ですが、こんな会社ですよ〜を皆さんに知っていただく記事を増やすため、カテゴリの幅をゆるく広くした感じです。 これから、社内の色々な姿が見れる記事が出てくる
こんにちは,相生ゆら(@Little_Rubyist)です.RubyKaigi2023楽しかったですね.RubyKaigi2023自体のレポートは他社員が書いてくれている*1*2し,私は私でプライベートのブログにあげてしまったので今回はLTのプロポーザルの話やLTの話をしようと思います.RubyKaigi2024のLTなどにプロポーザルを出してみたい人の参考になれば幸いです. プロポーザルに書いた内容 Title Adding custom rule for Rubocop in the 2 month of employment Abstract I will talk about how I contributed to the team by developing about "nice to have, but not too much trouble without" rule
こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。5/11~5/13に長野県松本市で開催されたRubyKaigi2023に参加してきました。RubyKaigiへの参加は今回がはじめてなので、参加してみてどうだったのか等の感想をお話しします。RubyKaigiの雰囲気が少しでも伝えられれば幸いです。 ハイレベルで刺激を得られるセッション 気になったセッションについて LT Implementing "++" operator, stepping into parse.y Fix SQL N+1 queries with RuboCop Learn Ractor 連日開催されるアフターパーティ 話したこと ご飯や観光など 感想 ハイレベルで刺激を得られるセッション わかってはいましたがやはりRubyKaigiのセッションはハイレベルでした。 Ruby言語本体の仕様や機
こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードとして働いています。 本記事では、2023年5月11日から13日にかけて、長野県松本市で開催されたRubyKaigi 2023へ参加したことについてお話します。 RubyKaigiとは 社員4名で参加 1名がLT登壇 見に行った講演からいくつか The future vision of Ruby Parser "Ractor" reconsidered Optimizing YJIT’s Performance, from Inception to Production Ruby JIT Hacking Guide 松本はいい街だった まとめ RubyKaigiとは Ru
こんにちは!デザイナーの荒木です。 LT紹介・第5弾は、より有意義な会議にするための技術「議事録&ファシリテーション」について発表されたLTを2つご紹介します! その前に「LTって何?」という方は、ぜひ下記の記事も合わせてご覧ください。 目次: 1. 議事録のコツ 2. ファシリテーションのコツ 最後に 1. 議事録のコツ 1つ目は「議事録のコツ」についてのLTです。 このLTを発表した社員は、前職で「取引先との商談」で議事録を取っていたとのことで、その際に学んだコツをLTで紹介してくれました。 まず始めに、下記の議事録をご覧ください。 …も、文字文字しいですね(笑) しかし「どのように議事録を取るか」や「議事録をどう活用するか」などを知らないと、このような形になってしまうのは、あるあるなのかなと思います。 この例のような書き方をしていた結果、前職の上司から色々と指導があったそうです。具体
はじめに こんにちは、メディアサービス開発部Webアプリケーション開発課のシゲタです。 本記事ではRubocopにカスタムルールを実装する方法について解説します。 Rubyにはコードの静的解析やフォーマットをしてくれるRuboCopというgemが存在します。リンターとして標準的なコーディングスタイルを提案してくれるRuboCopですが、自分でカスタムルールを実装してRuboCopの静的解析に追加することもできます。 チーム開発におけるデファクトスタンダードでもあるRuboCopですが、そのルールを自分で実装したことがある方はおそらく少ないのではないでしょうか。かくいう私も先日初めてカスタムルールを実装してみる機会がありました。 いくつか実装することでRuboCopの仕組みやコード解析について学びがあったり、ルール実装の勘所がわかってきたので、今回併せてご紹介できればと思います。 はじめに
こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で全社横断のデータ基盤を構築しています。 前回SlackからGitHub Actionsを実行する記事を投稿しましたが、今回はそのGitHub Actionsを使ってデプロイしていたBigQueryのリモート関数の利用ケースについて説明していきます。 背景 「外部のAPIから得たデータをBigQueryへ投入するやり方」の検討 Terraformでデプロイ用のServiceAccountを作成 BigQueryに外部接続とデータセット作成 GitHub Actionsにデプロイ用ワークフローを作る ランタイム判定 エントリポイント判定 全体の流れをまとめて提供する 終わりに 背景 現在、BigQueryのデータを加工する集計バッチについてはスケジュールクエリを各自に好き勝手に作成してもらう運用にしています。 スケ
こんにちは、メディアサービス開発部サービス分析課の佐藤です。ブックウォーカー社で横断データ基盤を構築しています。 この記事ではSlackからGitHub Actionsを実行するためにSlack appを作った時のことを書いていきます。 外観図 背景 Slack appの準備 GitHub Appsの準備 GCP Cloud Functionsにコマンド用の関数を用意する 1. 秘密鍵からJSON Web Token(JWT) を生成する 2. install access tokenを取得する 3. repository dispatchにPOSTにする GitHub Actionsにrepository dispatchのworkflowを作る 終わりに 背景 現在サービス分析課が構築しているデータ基盤は複数のサービスのデータを取り込んでおり、多くの社員が利用しています。 この基盤はG
こんにちは。 メディアサービス開発部 Webアプリケーション開発課のフサギコ(髙﨑)です。 Ruby on Railsによるバックエンドの実装運用と、AWSによるサービスインフラの設計構築を中心とした、いわゆるテックリードのような立ち位置で働いています。 2月11日から12日にかけて、アイドルマスターのM@STERS OF IDOL WORLD!!!!! 2023で東京ドームにいたのですが、その余韻が未だに抜けきりません。毎年となるとさすがに大変そうですが、2~3年に1度くらいの頻度ではぜひ、M@STERS OF IDOL WORLD、開催してほしいですね。次は2025年でしょうか。 さて、本記事では社内向けのgemをGitHub Packagesのプライベートgemとしてpublishし、ローカルでの開発時やCI/CD時にインストールする方法についてお話します。 共通なコードをgem化し
はじめまして! ストアサービス開発部 神立(カンダツ)です。 主に「BOOK☆WALKER」サービスのWebストア開発チームのマネジメントを担当しています。 自分の入社当初は弊社のWebサービスは電子書籍ストア「BOOK☆WALKER」(以後「BW」)くらいしかなかった筈ですが、何年も経つと会社も沢山のサービスを展開しているもので、そうなると人の手も猫の手も足りなくなるわけです。 はい、もうおわかりですね? 「そこのエンジニアのアナタ、ちょっと一緒に働きませんか?」 という記事になります。 ※注 ここでは「BWサービスのWeb開発エンジニアを募集」という部署特化の内容となります。 対象サービスはコチラのWebサイトです。 中途採用者向けの記事となりますが、新卒採用の参考となるかもしれませんので学生さんも読んでいってください、遠慮なさらず。 他の事業含め、会社全体としてもエンジニア募集は行っ
こんにちは、メディアサービス開発部モバイルアプリケーション開発課でAndroidエンジニアをしている金森です。2022年の5月に中途入社し新年を迎え、9ヶ月が経ちました。 モバイルアプリケーション開発課のAndroidチームで9ヶ月仕事を通して知ったこと感じたことを書いていきたいと思います。 転職希望者にとって有益な情報になれば幸いです。 現在までの経緯 基本情報 アプリチームについて 担当サービス 開発環境 開発プロセス ペアプロ 新規プロジェクト参画の機会 感じたこと 新しい技術に対しての姿勢 圧倒的ユーザー目線 まとめ 現在までの経緯 前職では受託開発会社でフロントエンド、Android開発に従事していました。その会社に新卒で入社してからの2年間で最初はVue.jsを用いたフロントエンド開発を行っていて途中から人手不足という理由もありAndroidも触ってみないかというお声がかかりA
こんにちは、読書メーターの運営を担当している永田です。 今回は、昨年度に参加したGoogle re:Workの勉強会についてお話ししたいと思いします。 私は2021年4月に新卒社員としてブックウォーカーに入社し、配属直後にこの勉強会に参加しました。 今振り返っても参加できてよかったと思える経験だったので、なぜ参加してよかったと感じたかを新卒社員だったからこその目線で紹介できればと思います。 Google re:Workとは Google re:Workとはグーグルをはじめとするさまざまな組織の働き方の先進事例、研究、アイデアを集めたウェブサイトです。 https://rework.withgoogle.com/jp/ 週1回開催される勉強会では、これを一緒に読み、気付きや感想を共有していきます。 私が読書メーターチームに加わったタイミングと、エンジニアの方たちがその勉強会を始めるタイミング
次のページ
このページを最初にブックマークしてみませんか?
『BOOK☆WALKER inside』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く