サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 17
techblog.lycorp.co.jp
はじめに こんにちは、iOSアプリエンジニアの羽柴です。 本記事では、プルリクエストにおけるコードオーナー不足を防ぐために導入したGitHub Actionsの効果測定を行った話を紹介します。 コードオーナー不足を検出するGitHub Actions: Codemap Checker 2024年12月、LINEアプリレポジトリのGitHub Actionsに"Codemap Checker"を導入しました。これはプルリクエスト(以下PR)におけるコードオーナー不足を検出するワークフローです。PRで追加・変更されたファイルにコードオーナーが設定されていない場合はこのワークフローが失敗し、コードオーナーが不足しているファイル一覧が出力されます。 導入経緯や実装などについての詳細は、以前のブログ記事であるLINEのアプリ開発を支えるコードオーナー管理をご覧ください。 Always Data-dr
2025年8月19日に生成AI活用ワークショップを社内で開催したのでレポートします。 ワークショップの目的と進行方式 今回のワークショップの目的は、特定の機能を習得するにとどまらず、メンバー全体が生成AIを日常業務に自然に活用できるようサポートすることでした。 そのために Claude Code で、参加者が自ら何かを実装してみる ハンズオン に焦点を置きました。 特に以下のような点に配慮しました。 Claude Codeを初めて使用する方や操作に慣れていない方を主なターゲットとして進行サンプルアプリケーションを準備し、Claude Codeを実際に実行しながらその性能を体感できるようにハンズオン課題を設計ハンズオン課題自体もClaude Codeを活用して作成し、運営側の負担を軽減複数の運営メンバーが同時並行でハンズオンを進行し、参加者を分散させて質問に柔軟に対応できる体制を整備 ハンズ
2025年9月19日(金)から21日(日)にかけて開催される iOSDC Japan 2025 にて、LINEヤフー株式会社はプラチナスポンサーを務めます。このたび、iOSDC Japan 2025の...
こんにちは。検索連動型ショッピング広告のレポートシステムを担当している眞井です。 レポートシステムでは、広告主が広告の成果の可視化や分析を行うためのレポートを作成する機能を提供しています。 作成するレポートはCSVやTSVなどのテキストファイルで、広告の運用状況によっては数GB規模の巨大なサイズになることもあります。 普段はなんてことない処理でも、扱うデータのサイズが巨大になると多くのメモリが要求されてサーバ費用が高くついたり、OOME(Out Of Memory Error)が発生して処理が失敗してしまうといった問題が発生します。 今回は、このような問題を回避するためにレポートシステムで行っている2つのテクニックを紹介します。 巨大なデータを扱う場合に発生するOOME まず、どのようなシーンでメモリが要求されOOMEが発生するのかを、レポートシステムの例で説明します。 レポートシステムが
はじめに こんにちは、LINEヤフーで音声AIの研究開発を担当している三宅純平と木下泰輝です。 私たちの所属組織「Speech and Acoustic AI部」では、音声認識(ASR)や音声合成(TTS)を軸とした技術開発とサービス応用に取り組んでいます。 本記事では、2025年6月30日に開催されたTech-Verseで「LINEヤフーの音声AIがもたらす未来:ASR/TTSと対話技術の新たな可能性」というテーマで登壇した内容をもとに、LINEヤフーの音声AIの取り組みを紹介します。 発表スライドや発表動画は以下から視聴できます。 https://tech-verse.lycorp.co.jp/2025/ja/session/1226/ また、宣伝にはなりますが、直近の国内外会議での発表論文もご紹介します。 会議でお見かけの際は、ぜひお立ち寄りください。 LINEヤフーの研究開発 Ne
This post is also available in the following languages. English, Korean 「良い画像」を生成するのは簡単ではない LINEヤフーには、特定の比率で最小限のディテールを維持しながら人体やオブジェクトを定義する画像スタイルが存在します(参考)。私たちのチームでは、生成AIを利用して、このスタイルが適用された画像をプロンプトのみで生成するtext-to-image(テキストトゥイメージ)モデルを作成するプロジェクトを行いました。 このプロジェクトは、社内デザイナーの反復的な画像作成業務を最小限に抑えるために始まりました。社内のデザイン業務の中には、状況に応じて少しずつ異なるイラストを描く作業があります。この作業を自動化することで、デザイナーがよりクリエイティブな業務に集中できる環境が整うと考えました。 以下の画像は、私たちが求
こんにちは。LINEヤフー株式会社の牧山です。 私は現在データ分析の部署で働いており、自社サービスのデータ分析をしたり、自分の体重データを眺めては「減らないな……」と思ったりしています。 このような本来の業務とは別に、当社の分析部門には、好きなテーマで自由研究に取り組める時間があります。Google の「20%ルール」に近い制度ですが、特徴は自由研究をサポートする専門のチームが存在することです。 このチームは、「新しい論文の手法を試してみたい」というような自由研究のテーマを思いついたときに、手法を適用できそうな社内データを探してくれたり、データを持っていそうな関係部署を紹介してくれたり、論文を一緒に読んで理解を深めてくれたりと、非常に頼れる人たちです。 このチームに関しては別記事をご覧ください: "成長を自己責任にしない"分析組織の実現に向けた取り組み この記事では、そんなサポートを受けて
物体検出(object detection) 物体検出は、与えられた画像から対象とした物体の位置を見つける問題です。画像分類とは異なり、検出の場合、画像に特定の物体が含まれているかどうかを判断するだけでなく、その物体がどこに位置するかまで特定する必要があります。この違いから、検出タスクでは評価基準を決める際、下の画像のように正解の物体とその位置を「バウンディングボックス(bounding box)」の形で記録し、モデルの予測結果をその記録と比較することで性能を評価します。 検出では、上の画像のようなGTをもとに「mAP@[ IoU=0.50 ]」または「mAP@[ IoU=0.50:0.95 ]」などの評価方法を主に使用します。この方法は、特定の正解基準(intersection of union, IoU)での平均予測性能(mean average precision、mAP)を測定する
比較の結果、クエリログを用いてトークナイザを構築し語彙数を増加させることで性能を向上できることがわかりました。特に同じ語彙数でSarashinaトークナイザと比較したときの性能差が大きく、自然文と大きく形式が異なる検索クエリの処理において専用のトークナイザを構築することの重要性が確認できました。 おわりに 本記事では、StaticEmbeddingを活用することでクエリ埋め込みの推論速度を大幅に改善した取り組みを紹介しました。構築したモデルはTransformerベースのモデルと比較して10倍以上の速度改善をしつつ、97%以上の性能維持を達成しました。 今後もより良いクエリ埋め込みを構築し、ユーザーの皆様の体験向上に努めたいと考えています。 参考文献 [1] Sosuke Nishikawa, Jun Hirako, Nobuhiro Kaji, Koki Watanabe, Hiroki
こんにちは。AndroidアプリエンジニアのMoriです。 先日、私が執筆した『良いコードの道しるべ 変化に強いソフトウェアを作る原則と実践』の出版を記念して、俺達はなぜ良いコードを書くのか 〜『良いコードの道しるべ』著者と探る変化に強いソフトウェア〜というトークイベントを開催しました。 本イベントでは、本書の紹介を行った後、類書の執筆者・翻訳者の方々を招き「コードの保守性」をテーマにパネルディスカッションを実施しました。この記事では、そのディスカッションで交わされた内容をダイジェストでお届けします。 登壇者紹介 森 篤史 / (@at_sushi_at) / LINEヤフー LINEヤフー株式会社所属、Androidアプリエンジニア。明石工業高等専門学校に入学後、プログラミングを学び始める。複数のプログラミングコンテストで受賞する一方、継続的な開発の難しさや大切さに気がつく。現在はコミュ
出前館開発本部でサーバーサイド開発を担当している本多です。LINEヤフーのグループ会社である出前館とは資本業務提携を結んでおり、LINEヤフーが開発をサポートしています。本ブログでは以下についてお話しします。 モノリス → マイクロサービスへのアーキテクチャ移行多くのマイクロサービスがデータベースを共有するというアーキテクチャの中でのデータ不整合や不正なデータが生じている負債(-1 の状態)の原因。0 → 1 ではなく、-1 → 1 での新規マイクロサービス開発における実践した手法。 出前館で取り組まれるマイクロサービスアーキテクチャとマイクロサービス化における"-1"の課題 近年、大規模なシステムを取り扱う企業・サービスでは、運用面や人的・インフラ的コスト面とトレードオフに、スケーラビリティや疎結合なシステムを構築するため、マイクロサービスアーキテクチャを推進しています。出前館においても
こんにちは、テクニカルライターの銭神です。私が所属するチームでは、LINE Developersサイトというドキュメントサイトを運営しています。このサイトでは、LINE APIに関するニュースや開発ドキュメントを公開しています。 主な業務はLINE Developersサイトのドキュメントを書くことですが、それ以外にも、文章を通した社内コミュニケーションの効率化に関する取り組みをしています。その一環として毎年実施しているのが、新卒向けの研修である「わかりやすい文章の書き方講座」です。 ふだん仕事をする上で、Slackやメールなど、文章を書く機会がたくさんあると思います。文章を書くときに、相手にきちんと伝わるかどうか不安になることはありませんか?この記事では、書き方講座の内容をもとに、わかりやすい文章を書くための基本的な文章術について紹介します。 この記事で紹介するのは、あくまで私が文章を書
はじめに こんにちは、iOSアプリエンジニアのKiichiです。こちらの記事で紹介されている通り、今年の3月に、LINEアプリ内ブラウザ上からYahoo!検索できる機能がリリースされました。本記事では、iOS実装を担当した私から、この機能の紹介と、開発における技術的詳細をお届けします。 新機能の紹介 LINEアプリでは、トークルームで送受信したリンクをアプリ内ブラウザで開くことが可能です。このブラウザはもともと、リロードや共有、ブラウザバックなどの基本機能を備えています。しかし、他のWebページへの導線となる検索機能は持っておらず、そのページ内で気になった内容がある場合は別のブラウザアプリで検索する必要がありました。 3月にリリースされた新バージョンのLINEアプリでは、アプリ内ブラウザに検索窓が追加され、そこに文字列を入力することでYahoo!検索をすることができます。Yahoo!検索は
はじめにこんにちは。SR(Service Reliability)チームでSRE(Site Reliability Engineer、サイト信頼性エンジニア)業務を担当しているChaeseung Le...
はじめに 本記事は、Tech-Verse 2025で発表予定の内容を詳しくまとめたものです。個人の実践経験をもとに、AIコーディングの現場で得た知見や手法を紹介します。 AIコーディングを進めるにあたり、私は「Lean & Mean Teams(少数精鋭のチーム)」というLINEヤフーのバリューから大きなインスピレーションを受けています。少人数の開発チームがAIエージェントと緊密に協調し、開発期間を短縮しつつ品質を守る体制を目指すことが、私自身のAIコーディング戦略の中心です。高い技術力を土台に、信頼性の高いAIパイプラインの設計と実装を心がけています。 とはいえ、数行のプロンプトでプロトタイプが動く “Vibe Coding” の甘い誘惑は、テクニカルデットやバグを招きがちです。本稿では「速いけれど雑」を回避するため、私自身の実戦経験から得た8つのプラクティスを紹介します。タスクの AI
This post is also available in the following languages. English, Korean, Chinese はじめに 先日、Anthropic社はClaude LLMを通じてモデルコンテキストプロトコル(Model Context Protocol、以下MCP)を発表しました。MCPは、大型言語モデル(large language model、以下LLM)が外部のデータソースや機能を利用するためのプロトコルで、誰でも利用可能なオープンプロトコルとしてAnthropic社が公開しました(参考)。これにより、多くのサービスでMCPをサポートするようになり、多くのユーザーがMCPを使ってLLMと外部サービスを接続する方法に興味を持ち始めました。 この記事では、注目されているMCPの概念とアーキテクチャについて説明し、LINE Messagin
LINEヤフー プロダクトストラテジ部の江口です。普段はバックエンドエンジニアとして業務に関わっていますが、今回はReact.jsについての記事を執筆します。この記事では私たちが開発する「UTS Portal」という社内向けプロダクトで発生していたReact.jsのパフォーマンス悪化問題について原因と改善内容をまとめたものです。 UTS Portalについて まず私たちが開発するUTS Portalについて説明します。 UTS PortalとはUTS(Universal Tracking System)という内製ログトラッキングシステムを利用する際に「どのようなトラッキングログを取得したいか?」を事前に定義・管理しておくためのポータルサイトです。 ログ定義を管理しておくことで、取得するログがユーザーのプライバシー侵害とならないかを事前にレビューする際や実際にログの取得を開始した後のモニタリ
AIエージェント開発の個人的な研究と知見の共有 本記事は3部構成です。 パート1:アーキテクチャの理解と実装アプローチ(本記事)パート2:Central Agentの内部詳細パート3:サブエージェントとMCPの深掘り はじめに:個人プロジェクトとTech-Verse 2025 本記事は著者の個人プロジェクトとして、Codingエージェントとの協働で作成されました。AIエージェント開発についての知見と実装手法をまとめたものです。Codingエージェントの効果的な活用方法についての詳細は、Tech-Verse 2025イベントで発表予定です。 AIエージェント技術は多くの企業で注目されており、私の勤務するLINEヤフーでも技術革新の一環として探求が進められています。高度な技術基盤と「つくる」を大切にする企業文化に触れる中で、私はAIエージェントの可能性に個人的な関心を持ち、この記事シリーズを通
banner_hashesで調べると、27.124.XX.XXか118.107.XX.XXであることが分かります。 banner_hexで調べた場合、banner_hashesの検索結果が混じり、なおかつ先ほどとは第1・第2オクテットが異なるIPアドレスが引っかかることが分かります。異なるIPアドレスは、18852/tcpを含め複数ポートが開いていました。また、ここでの検索結果には載せられていませんが、banner_hashesの場合、一致しているポートが異なる場合もあります。 これらはすべてcensysによると香港に位置しているサーバでした。 対策 本検体による攻撃対象は中国語話者であると見られ、主に東南アジア・東アジアにおいて観測されています。本稿公開時点においては日本語による検索ではmalineをインストールすることを目的とした偽サイトはヒットしません。 一般的に、このような正規ツー
こんにちは。LINEアプリの公式アカウント開発を担当している諏訪と楊です。この記事では、LINE Appの開発を進める上でAndroidの開発者のリソース問題を解決するため、iOSエンジニアがAndroid開発を学習し、実際に開発を始めるまでの過程や学習内容、実務内容などを紹介します。 開発を始めるにあたって 上記はLINEクライアントチームのAndroidエンジニアとiOSエンジニアの当時の人口比率です。 LINEクライアントチームではiOSエンジニアと比べるとAndroidエンジニアが少なく、LINEクライアント開発者全体の開発リソース比率の懸念がある一方で、LINEアプリはiOS/Android同時に同様のスペックで開発を行うことが求められており、機能リリースをスムーズに進行するためにも、このギャップの改善が組織としての目標でもありました。この状況は、我々のチームでも同様に影響があり
はじめに本ブログシリーズでは、Yahoo!ショッピングのデータ分析基盤を最適化するために取り組んだ大規模プロジェクト――Apache HiveからTrinoとApache Sparkへの移行――につい...
こんにちは。LINE Plus Tech Content StrategyチームのSung Chang Haです。私たちのチームはテクニカルライターで構成されています。LINE Plusで開発したさまざまなプラットフォームの技術ドキュメントを作成する傍ら、社内用語集「Words」のコンテンツやLINEヤフー Tech Blogの韓国語版コンテンツを担当しています。この記事では、LINE PlanetというVoIPプラットフォームのドキュメントにシングルソーシング(single sourcing)を適用し、ドキュメント管理の効率を改善した事例を紹介します。 シングルソーシングとは? シングルソーシングとは、単一のソースから複数の成果物を生成することを指します。ドキュメンテーションでは、以下の2つのことを意味します。 単一のソースから複数のフォーマット(HTML、PDF、EPUB など)でドキ
こんにちは。コミュニケーションアプリ「LINE」のモバイルクライアントを開発している石川です。 この記事は、"Weekly Report" 共有の連載の第 69 回です。LINEヤフー社内には、高い開発生産性を維持するための Review Committee という活動があります。ここで集まった知見を、Weekly Report と称して社内に共有しており、その一部を本ブログ上でも公開しています。(Weekly Report の詳細については、過去の記事一覧を参照してください) コード品質のための My tips 今回のレポートはいつもとは異なり、コード品質の改善で私が心掛けていることを 5 点取り上げます。 1. 読み" "書きの隙間にご注意ください コードを書く際は、思いついた内容をそのままコードにするのではなく、他の人がそのコードをどう理解するのかを意識して整理する ことが必要です。
This post is also available in the following languages. English, Korean, Chinese はじめに こんにちは。Enablement EngineeringチームでSRE(site reliability engineer)業務を担当しているDahee Eoです。 私たちのチームは、LINEサービスをより高性能で効率的かつ安全にユーザーへ提供できるよう、さまざまな面から「Enablement」をサポートする役割を担っています。具体的には、メディアプラットフォームのサイト信頼性エンジニアリング(site reliability engineering)に加え、トラフィックの起点となるGSLB(global server load balancing)とCDN(content delivery network)に関する業務
はじめにこんにちは。SRE(site reliability engineering、サイト信頼性エンジニアリング)業務を担当しているEnablement EngineeringチームのDahee E...
LLMOpsとは? 近年、GPT-4のような大規模言語モデル(large language model、以下LLM)の使用が普及し、それを活用したアプリケーションの開発が活発に行われています。たとえば、24時間英語学習をサポートするアプリケーションや、お客様からのお問い合わせに自然に応答するアプリケーションなど、LLMは私たちの生活の中に溶け込んでいます。 しかし、このようなLLMベースのアプリケーションを直接開発し、商用サービス化するのはまだ難しい状況です。万能のように見えるLLMでも、現在の文脈を把握して確率に基づいて回答を生成することに特化しているため、もっともらしい応答を提供することがあります。そのため、予期しない回答などでサービス品質が低下するのを防ぐには、さまざまな技術を適用する複雑なプロセスが必要になります。 LLMが有意義な回答を提供できるように開発するためには、データセッ
こんにちは。GitHub Copilot Meetupイベントを運営している河本です。 本記事では、LINEヤフーの Developer Relations が行っている GitHub Copilot 推進の取り組みをご紹介いたします。GitHub Copilotの組織導入を検討されている方や、個人での活用を考えている方の参考になれば幸いです。 GitHub Copilotは、生成AIを活用した AI peer programming tool で、コードの自動補完や提案を行い、開発者の生産性を大幅に向上させる革新的なサービスです。当社では多くのエンジニアが日常的に活用し、開発効率の向上を実感しています。 社内限定の GitHub Copilotイベントからスモールスタート このGitHub Copilot企画は、Developer Relationsの山岡さんを中心にLINEヤフー社内限
こんにちは、Dev Contentチームのmochikoです。LINEヤフー株式会社で開発者向けのドキュメントを書くテクニカルライターとして働く傍ら、個人としても技術書を書いて出しています。 先日、IT系の出版社である技術評論社の編集者の方をLINEヤフーにお招きして、「本を出すきっかけ」の作り方を聞くイベントを開催しました。参加者も多く、非常に実りあるイベントとなりましたので、このブログでは開催までの経緯や当日の様子を紹介します。 編集者とエンジニアをつなぐイベントをやろう!オンラインでもオフラインでもやろう!2月20日(木) オンラインセッションを開催2月21日(金) オフィスでオフライン交流会を開催参加したエンジニアの感想開催を経てどれくらいの本が生まれそうか 編集者とエンジニアをつなぐ 1on1などで社内の若手エンジニアと話すと、私自身が技術書を書いていることから「実は自分も本を書
LINEアプリ開発本部 モバイル・ディベロッパーエクスペリエンスチームの@giginetです。 皆さん、デバッグしてますか? LINE iOSアプリでは、Xcode 16から、デバッガの式評価が失敗したり、非常に長い時間がかかる現象が報告されています。この記事では、その問題に対処すべく巨大なプロジェクトにおけるデバッグ体験の改善について行った取り組みをいくつかご紹介します。 LINEアプリにおける、LLDBの速度と安定性の課題 LINEのiOSアプリは、非常に巨大なプロジェクトです。それ故、単純なデバッグ体験においてもパフォーマンス上の問題が発生しています。例えば、単にある実行ステップにブレークポイントを張り、変数を評価するだけでも、数分程度の時間がかかることがあります。 また、LINE固有の依存管理による課題もあります。LINEは、外部の依存関係が非常に多く、通常のパッケージ管理システム
次のページ
このページを最初にブックマークしてみませんか?
『LINEヤフー Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く