一休.com Developers Blog

https://user-first.ikyu.co.jp/

一休のエンジニア、デザイナー、ディレクターが情報を発信していきます

フィード

記事のアイキャッチ画像
ダイナミックスコープ再考
はてなブックマークアイコン 71
一休.com Developers Blog
一休.com Advent Calendar 2025の25日目の記事です。 一休.com レストランの開発を担当している恩田 @takashi_ondaです。 最近はあまり聞かれることのないダイナミックスコープの話をしてみたいと思います。 はじめに 現代のプログラミング言語ではレキシカルスコープがあまりに当たり前になってしまっていて、ダイナミックスコープという概念自体を聞いたことがない、という人も多いのではないかと思います。 プログラミング言語の歴史を学ぶ際に少し触れられている程度で、実際、手元の『コンピュータプログラミングの概念・技法・モデル』を繙いてみても、900ページ近い大著にもかかわ…
1日前
記事のアイキャッチ画像
2025年、一休のコーポレートIT 振り返りとこれから
一休.com Developers Blog
はじめに id:rotom です。社内情報システム部 兼 CISO室 所属で ITとセキュリティを何でもやります。 このエントリは 一休.com Advent Calendar 2025 12日目の記事です。 少し遅れての投稿になってしまいましたが、昨日は id:kentana20 による 一休.com 宿泊の料金・ポイント計算処理の改善 - 一休.com Developers Blog でした。その他の素敵なエントリも以下のリンクからご覧ください。 qiita.com 昨年のアドベントカレンダーでは、情シスにおける6年間の取り組みについてご紹介させていただき、一定の反響をいただくことができま…
9日前
記事のアイキャッチ画像
愛すべき Image API - 前世紀の技を現代で
一休.com Developers Blog
この記事は一休.com Advent Calendar 2025の14日目です。 一休.com レストランの開発を担当している恩田 @takashi_onda です。 はじめに 今からご紹介するのは、フロントエンドカンファレンス東京 2025 でお話しようとしていた内容です。直前にコロナに感染してしまい、残念ながら登壇は泣く泣くキャンセルになったのですが、その際にブログであらためてご紹介すると言いながらこの時期となってしまいました。 Image API の特徴 ブラウザの Image API には面白い特徴があります。JavaScript で動的にインスタンスが作られて src がセットされた…
12日前
記事のアイキャッチ画像
予約処理で結果整合を実現するための実装パターン
一休.com Developers Blog
この記事は一休.com Advent Calendar 2025の13日目の記事です。 宿泊開発チームでエンジニアをしている @kosuke1012 です。 本記事では、予約処理の中で必要な在庫引当、カード決済などの各処理について、予約処理全体として成功/失敗の結果整合を実現するための実装パターンを紹介します。 背景 現在、一休.com の宿泊予約のシステムでは、予約部分のリニューアルを進めています。 予約リニューアルプロジェクトの全体感もどこかで是非説明したいのですが、アドベントカレンダーの期日も迫ってきているため、 リニューアルの中で取り組んだ、予約処理の結果整合を実現するための実装につい…
13日前
記事のアイキャッチ画像
一休.com 宿泊の料金・ポイント計算処理の改善
一休.com Developers Blog
一休.com 宿泊の料金・ポイント計算ロジックを集約・改善している話です。
15日前
記事のアイキャッチ画像
操作から意味へ ─ Haskell が変えた私のメンタルモデル
一休.com Developers Blog
この記事は一休.com Advent Calendar 2025の 5日目の記事です。 私は毎年この時期になると Haskell に関する記事を投稿していますが、今年もまた Haskell を題材にしつつ、今回は Haskell を使うことがプログラミング中の思考にどのような影響を与えるかについて考察してみようと思います。 LLM と「言葉が思考を形づくる」という直感 LLM (Large Language Models、大規模言語モデル) は次にくる言葉を予測しているだけなのに、それが知性のように見える。「言葉の推定」でプログラミングすらできてしまうという事実に誰もが驚いたところだと思います…
21日前
記事のアイキャッチ画像
Panda CSS でデザインシステムのメンタルモデルを確立する
一休.com Developers Blog
この記事は一休.com Advent Calendar 2025の2日目の記事です。 レストランプロダクト UI 開発チームの鍛治です。一休.com レストランのフロントエンドを担当しています。 2025 年 4 月、PayPay グルメ の全面リニューアルが完了しました。このリニューアルでは「一休.com レストラン」と「PayPay グルメ」の 2 つのサービスを 1 つのコードベースに統合しています。 一休レストラン・PayPay グルメではリニューアルプロジェクトを契機に Tailwind CSS から Panda CSS への置き換えを進めています。 また置き換えやってるのか 1 と…
24日前
記事のアイキャッチ画像
細粒度リアクティブステートのスコープ設計
一休.com Developers Blog
この記事は一休.com Advent Calendar 2025の1日目の記事です。 一休.com レストランの開発を担当している恩田(@takashi_onda)です。 はじめに 昨日 2025/11/30 に開催されたフロントエンドカンファレンス関西で、「細粒度リアクティブステートのスコープとライフサイクル」というタイトルで発表を行いました。 speakerdeck.com 発表ではまたしても終盤が駆け足になってしまいました。本稿では、その際に十分に触れられなかった論点のうち、特にスコープに焦点をあて、その課題と解決案をご紹介したいと思います。 細粒度リアクティブステート 細粒度リアクティ…
24日前
記事のアイキャッチ画像
情シスカンファレンス「Business Technology Conference Japan 2025 #BTCONJP 」にブロンズスポンサーとして協賛します
一休.com Developers Blog
コーポレート本部 社内情報システム部 兼 CISO室 id:rotom です。 11/15(土) にハイブリッド形式で情シス向けのテックカンファレンス BTCONJP 2025 が開催されます。 btcon.jp corp-engr.connpass.com Business Technology Conference Japan(BTCONJP)は、ITをビジネステクノロジーの領域に昇華し、日本のあらゆる経済活動をアップデートするイベントです。 昨年に引き続き私が core staff として運営に参画しており、所属企業である一休はブロンズスポンサーとして協賛しております。 prtimes.…
1ヶ月前
記事のアイキャッチ画像
一休はVue Fes Japan 2025にスポンサーします
一休.com Developers Blog
一休のいがにんこと山口(@igayamaguchi)です。 一休はVue Fes Japan 2025にスポンサーとしてブースを出展します。 vuefes.jp 日程は10月25日(土)です。 Vue Fes JapanはVue.jsの知見が集まるイベントです。今年はそれだけにとどまらず Vue.jsからEvan Youさん ReactからはDan Abramovさん Svelteからはdominikgさん という海外の著名なOSS開発者が登壇するなんとも楽しみなイベントになっています。 該当セッション 当日のスポンサーブースでは各種ノベルティを用意してお待ちしています。 以下のバナーを目印に…
2ヶ月前
記事のアイキャッチ画像
(追記あり)フロントエンドカンファレンス東京 2025 に一休のエンジニアが登壇します
一休.com Developers Blog
※9/21追記: 体調不良のため登壇はキャンセルとなりました 今月 9 月 21 日に フロントエンドカンファレンス東京 2025 が開催されます。このカンファレンスに一休.comレストランのフロントエンドアーキテクトを務めるエンジニア恩田 ( @takashi_onda ) が登壇します。 フロントエンドカンファレンス東京とは フロントエンドカンファレンス東京は「フロントエンドを次世代に」をテーマとして開催する技術カンファレンスです。 本カンファレンスは次世代を担うエンジニアに向けて、フロントエンドの第一線に立つエンジニアが知見を共有し、成長の機会を提供します。また、開発現場で活躍するエンジ…
3ヶ月前
記事のアイキャッチ画像
一休.comの多言語対応
一休.com Developers Blog
はじめに こんにちは。一休データサイエンス部の平田です。 一休.comは主に国内の宿泊施設を取り扱う予約サイトですが、インバウンド需要の高まりを受け多言語対応を進めており、2025年の3月に国際サイトをリリースいたしました。対象言語は英語、中国語(繁体字・簡体字)、韓国語、タイ語、ベトナム語、マレー語、インドネシア語です。 一休.comトップページのメニューから言語を切り替えることができます 一休.com英語版のトップページ 一休.com英語版のホテル紹介ページ 今回は主にデータとして存在する日本語をどうやって翻訳したかということと、その注意点についてフォーカスして書いていきます。 自動翻訳サ…
7ヶ月前
記事のアイキャッチ画像
フロントエンドの画面実装をボトムアップに行う
一休.com Developers Blog
概要 初めまして、CTO室のいがにんこと山口(@igayamaguchi)です。一休.com/Yahoo!トラベルのフロントエンドの開発を担当しています。 この記事ではWebアプリケーションのフロントエンドの画面実装をボトムアップに実装することのメリットと、その方法を紹介します。 ボトムアップに画面を実装する ボトムアップに画面を実装する、というのは小さなコンポーネントや処理から実装をしていき、それを組み合わせて徐々に大きなコンポーネントを作り、最終的に画面を作る実装方法です。 昨今のWebアプリケーションの実装で使用するReactやVueといったフレームワークはHTML、CSS、JavaSc…
7ヶ月前
記事のアイキャッチ画像
一休 Frontend Meetupでエンジニアとデザイナーがフロントエンド開発の知見について紹介しました
一休.com Developers Blog
kymmtです。 先日2月10日に、一休のフロントエンド技術にフォーカスしたイベント「一休 Frontend Meetup」を開催しました。 ikyu.connpass.com 一休 Frontend Meetupとしては2年半ぶりの開催となりました。 このイベントでは一休開発チームのメンバーが登壇し、各サービスのフロントエンドについて工夫や知見を紹介しました。この記事ではイベントの様子を紹介します! 当日のハッシュタグは#ikyu_devでご覧になれます。 発表 『一休.com のログイン体験を支える技術 〜Web Components x Vue.js 活用事例と最適化について〜』 1つ目…
10ヶ月前
記事のアイキャッチ画像
Jotai を使った Dependency 管理とテスト技法
一休.com Developers Blog
この記事は一休.com Advent Calendar 2024の23日目の記事です。 一休レストランのフロントエンドアーキテクトを担当してる恩田(@takashi_onda)です。 はじめに 先日の JSConf JP 2024 で「React への依存を最小にするフロントエンドの設計」という内容で登壇しました。 speakerdeck.com 発表では駆け足になってしまった、React への依存をしていない Vanilla JS 部分をどのように構成しているのかを、Dependency 管理とテストの文脈でご紹介したいと思います。 Dependency とは Dependency Inje…
1年前
記事のアイキャッチ画像
Cloud WorkflowsとCloud Tasksを使って日次のバッチ処理を作る
一休.com Developers Blog
宿泊システムのバッチ処理について(背景・課題) 新たに必要になったバッチ処理をどうやって作るか Cloud Workflows + Cloud Tasks を使ったバッチ処理 処理フロー Cloud Workflows Workflowsから外部APIを呼び出す APIのレスポンスをもとにCloud Tasksにエンキューする Cloud Tasks Web API リリース後の運用 Cloud Tasksのキュー設定の調整 異常終了時の検知を強化 まとめ おわりに 宿泊プロダクト開発部の田中(id:kentana20)です。 このエントリーは一休.com Advent Calendar 20…
1年前
記事のアイキャッチ画像
一休.com の情シス / コーポレートIT 変遷、6年を経てどう変わったのか
一休.com Developers Blog
はじめに id:rotom です。社内情報システム部 兼 CISO室 所属で ITとセキュリティを何でもやります。 このエントリは 一休.com Advent Calendar 2024 16日目の記事です。昨日は id:naoya による TypeScript の Discriminated Union と Haskell の代数的データ型 でした。その他の素敵なエントリも以下のリンクからご覧ください。 qiita.com 2018年のアドベントカレンダーにて「一休における情シスの取り組み」を紹介させていただき、一定の反響をいただくことができました。 早いものであれからすでに6年が経過しまし…
1年前
記事のアイキャッチ画像
TypeScript の Discriminated Union と Haskell の代数的データ型
一休.com Developers Blog
この記事は 一休.com Advent Calendar 2024 の15日目の記事です。 予定より早く書き上げてしまったので、フライングですが公開してしまいます。 TypeScript の Discriminated Union (判別可能な Union 型) を使うと、いわゆる「代数的データ型」のユースケースを模倣することができます。一休のような予約システム開発においては「ありえない状態を表現しない」方針で型を宣言するためによく利用されています。 「あり得ない状態を表現しない」という型宣言の方針については以下の URL が参考になります。 Designing with types: Mak…
1年前
記事のアイキャッチ画像
Design Doc でチームを跨いだ開発を円滑に行う
一休.com Developers Blog
この記事は 一休.com Advent Calendar 2024 7 日目の記事です。 宿泊事業本部 ユーザー向け開発チームの原です。 一休.com と Yahoo!トラベルの主にフロントエンドの開発を担当しています。 今回は、普段の開発でコードを書き始める前段階で Design Doc を作ることで、円滑な開発を進められるようになったというお話をします。 チーム構成について まず、前提を共有するために私達が普段どのような体制で開発しているかを説明します。 私が所属している宿泊事業本部 ユーザー向け開発チームは、一休.com と Yahoo!トラベルの主に toC のユーザー向けの機能開発を…
1年前
記事のアイキャッチ画像
永続データプログラミングと永続データ構造
一休.com Developers Blog
この記事は 一休.com Advent Calendar 2024 の3日目の記事です。 昨今は我々一休のような予約システム開発においても、関数型プログラミング由来のプラクティスを取り入れる機会が増えています。 例えば、値はイミュータブルである方が扱いやすい、関数は副作用のない純粋関数にする方がテスタビリティなども含め何かと都合がよい、そういう場面では積極的に不変な値を使い、関数が冪等になるよう意識的に実装します。ドメインロジックを純粋関数として記述できると、堅牢で責務分離もしやすく、テストやデバッグもしやすいシステムになっていきます。 ところで「関数型プログラミングとはなんぞや」というのに明…
1年前
記事のアイキャッチ画像
一休.com Developers Blogの執筆環境2024
一休.com Developers Blog
この記事は一休.com Advent Calendar 2024の1日目の記事です。 kymmtです。 当ブログ「一休.com Developers Blog」は、以前からはてなブログで運用しています。そして、今年からは執筆環境を少し改善しました。具体的には、GitHubを用いて記事の作成や公開ができるようにしました。 この記事では、当ブログの執筆環境をどのように改善し、ふだん運用しているかについて紹介します。 HatenaBlog Workflows Boilerplateの導入 従来は、執筆者が記事をローカルやブログ管理画面のエディタ上で書き、なんらかの方法でレビューを受け、公開するという…
1年前
記事のアイキャッチ画像
一休はRust.Tokyo 2024にゴールドスポンサーとして協賛します
一休.com Developers Blog
kymmtです。 11/30に開催されるRust.Tokyo 2024に一休はゴールドスポンサーとして協賛します。 rust.tokyo 一休でのRustの活用 一休では一休.comレストランにおいてRustの活用を進めています。昨年に当ブログで活用の様子を紹介した際は、当時開発が進んでいたレストラン予約サービスWeb UIのバックエンドにおけるユースケースだけに触れていました。 user-first.ikyu.co.jp それから1年弱経過した現在では、Rust活用の場はさらに広がっており、Rustを書いているメンバーも増えてきています。 Rust.Tokyoのゴールドスポンサー 2024年…
1年前
記事のアイキャッチ画像
TSKaigi Kansai 2024とJSConf JP 2024に一休のエンジニアが登壇します
一休.com Developers Blog
kymmtです。 今月は 11月16日に京都で開催されるTSKaigi Kansai 2024 11月23日に東京で開催されるJSConf JP 2024 と、JavaScript/TypeScriptに関するカンファレンスが2つ開催されます。今年は、一休.comレストランのフロントエンドアーキテクトを務めるエンジニア恩田 (@takashi_onda)がこれらのカンファレンス両方に登壇します。 1週違いで開催されるそれぞれのカンファレンスでは、一休.comレストランのフロントエンド開発をきっかけとする内容のトークテーマを携えて登壇します。この記事では、現在絶賛発表準備中の本人からのコメントも…
1年前
記事のアイキャッチ画像
Vue Fes Japan 2024に登壇 & ランチスポンサーをしました
一休.com Developers Blog
CTO室プラットフォーム開発チームのいがにんこと山口(@igayamaguchi)です。 先日、Vue Fes Japan 2024が開催され、一休は登壇とスポンサーをしました。その紹介をします。 Vue Fes Japan 2024が開催 10月19日(土)に日本最大級の Vue.js カンファレンス、Vue Fes Japan 2024 が開催されました。一休は当カンファレンスでプロポーザル採択による発表と、ランチスポンサーとしてランチセッションでの発表を行いました。この記事ではその発表の概要を紹介します。 一休で行った発表は2つです。 Vue.js、Nuxtの機能を使い、 大量のコピペコ…
1年前
記事のアイキャッチ画像
「一休×AEON 事業会社のサービスを支える基盤開発トーク」を開催しました
一休.com Developers Blog
はじめに kymmtです。 先日2024年9月18日に、「事業会社のサービスを支える基盤開発トーク」と題してイオンスマートテクノロジー(以下AST)さんと合同で技術イベントを実施しました。 ikyu.connpass.com イベントでは、各会社の事業を支える基盤プロダクトの開発や運用における苦労や工夫について登壇者の方々にお話しいただきました。 この記事では、このイベントの様子や発表の内容を紹介します。なお、X(旧Twitter)でも#ikyu_aeonというハッシュタグで当日の様子がご覧になれます。 会場 会場は、一休のオフィスも入っている東京ガーデンテラス紀尾井町内のLODGEでした。 …
1年前
記事のアイキャッチ画像
情シスカンファレンス「Business Technology Conference Japan 2024」にブロンズスポンサーとして協賛します
一休.com Developers Blog
コーポレート本部 社内情報システム部 兼 CISO室 id:rotom です。 10/12(土) にハイブリッド形式で情シス向けのテックカンファレンス「Business Technology Conference Japan 2024(BTCONJP 2024)」が開催されます。 btcon.jp btajp.connpass.com 昨年オンライン開催された BTCONJP 2023 では私が登壇者として 本社を東京ガーデンテラス紀尾井町へ移転し、オフィスファシリティ・コーポレートIT を刷新した話 というテーマで発表させていただきましたが、今年は core staff として運営に参画して…
1年前
記事のアイキャッチ画像
プロンプトエンジニアリングをしよう - 一休.comでの検索システム改善事例
一休.com Developers Blog
はじめに こんにちは。宿泊プロダクト開発部の宮崎です。 みなさん、生成 AI 使ってますか? 近年、AI の進歩はめざましく、文章生成や画像生成はもちろん、動画生成も実用的なレベルで出来るようになっています。 ChatGPT が話題になったのが 2022 年の 11 月なので、たった 2 年足らずでここまで来ているという事実に少し恐ろしくもありますね。AGI(汎用人工知能)の実現もそう遠くないのかもしれません。 一休でも AI 技術は注目していて今年の 6 月に、まさに生成 AI を使ってホテル検索システムの改善を行いました。 この記事では、その時に学んだプロンプトエンジニアリングの重要性につ…
1年前
記事のアイキャッチ画像
オフライン技術勉強会「事業会社のサービスを支える基盤開発トーク」を開催します!
一休.com Developers Blog
CTO室プラットフォーム開発チームの山口(@igayamaguchi)です。 この度、一休とイオンスマートテクノロジー合同で技術勉強会「事業会社のサービスを支える基盤開発トーク」を開催します! ikyu.connpass.com このイベントでは 一休.com、Yahoo!トラベル、一休.comレストランを運営する一休 iAEONアプリ等を開発・運営するイオンスマートテクノロジー 両社のシステムを支える基盤の開発についてお話しします。 様々なお話をしていただく予定ですが、一休から1つ「歴史あるプロダクトにマイクロサービスを導入するプロセス」について紹介します。 この発表では一休.comレストラ…
1年前
記事のアイキャッチ画像
React / Remix への依存を最小にするフロントエンド設計
一休.com Developers Blog
CTO 室の恩田(@takashi_onda)です。 一休レストランのフロントエンドアーキテクトを担当しています。 Intro 一休レストランでは、以前ご紹介したようにフロントエンドで React / Remix を利用しています。 user-first.ikyu.co.jp 一方、設計方針としては、React / Remix への依存が最小になるように心掛けています。 今日は、そんな一見矛盾するような設計方針について、ご紹介したいと思います。 この記事を読んでいただき Remix に興味をもたれたら、明後日 2024/8/7(水) 19:00〜 のオンラインイベント offers-jp.co…
1年前
記事のアイキャッチ画像
エンジニア主導でデザインシステムを導入してみた
一休.com Developers Blog
レストランプロダクト開発部の矢澤です。 一休では「RESZAIKO」というプロダクトの開発を行っています。 この開発を進めるにあたり、UI/UX に関するいくつかの課題があり、エンジニア主導でデザインシステムを構築することにしました。 本記事では、エンジニア主導でデザインシステムを構築することになった背景や、実際に取り組んだ内容について赤裸々にお話しします。 デザインシステムの導入を検討しているものの、最初の一歩を踏み出せずにいる・あるいは何から始めればよいかわからないチームにとって参考になれば幸いです。 そもそも RESZAIKO とは RESZAIKO は飲食店の予約管理を DX する S…
1年前