タグ

ブックマーク / engineering.linecorp.com (7)

  • LINEはなぜBazelを使わないことにしたのか?

    Jung Giuk2023-08-292019年 LINEBuild Engineerとして入社し、現在は「アプリプラットフォーム開発室」のディベロッパーエクスペリエンス開発チームに携わっていて LINE iOSアプリのビルド環境やコードクォリティの改善に取り組んでいる。 はじめに こんにちは、ディベロッパーエクスペリエンス開発チームのJungです。 この記事では2年以上 LINE iOSのビルドシステムとして運用したBazelをやめることにした背景についてご紹介します。 Bazel導入とこれまでのLINE iOS LINE iOS は200万行以上のソースコードと200以上のモジュールで構成される大規模プロジェクトです。 LINE iOSのソースコードとモジュールの数が増えて規模を拡大し続けるにつれて、ビルド/テストの遅延と DX(デベロッパーエクスペリエンス) の低下という避けら

    LINEはなぜBazelを使わないことにしたのか?
    Kesin
    Kesin 2023/08/29
    やっぱりBazel厳しいのか・・・iOSに関してはBazel以外のあらゆる開発ツールがAppleに振り回される宿命にあるので特に厳しそうだとは思っていた
  • LINE iOS版のビルドパフォーマンスをBazelで改善

    背景 LINE iOS版のソースコードは、ローンチ以来、数百モジュールもの規模にまで成長しています。2019年末時点で、コード行数も140万行を超えており、現在もその増加ペースはとどまるところを知りません。一方、コードが大規模になると、開発者にとってはビルド時間が悩みの種ともなります。また、プロジェクトの成長に伴い、再現不可能な問題も増えていきました。 たとえば、ローカル環境で動くビルドがCIで動かなかったり、もしくはその逆が起こったり、といったものです。 そこで、一歩退いた目線に立ち、ビルドパフォーマンスと再現性を改善できる方法を考え始めました。 ライブラリ依存管理 まず、ライブラリ依存管理についてお話します。LINEでは、2012年の終わりに依存性管理ツールとして CocoaPods を導入しました。 CocoaPodsは非常に便利なOSSで、 Xcodeとの相性も良いです。 自分で書

    LINE iOS版のビルドパフォーマンスをBazelで改善
    Kesin
    Kesin 2020/10/01
    英語で公開されていた記事の日本語訳かな
  • ORK(オーク)-コード難読化コンパイラツール vol.1

    こんにちは。LINEでクライアント保護ソリューションであるAIR ARMORの開発を担当しているCHUNG SANG MINです。以前、「iOSのコード署名について」という記事では、SIM MINYOUNGさんがiOSアプリの完全性や署名者を検証できるiOSのコード署名について説明しました。今回の記事では、アプリの改ざんや盗用を防ぐために独自で開発している難読化ツールを紹介したいと思います。サンプルソースコードを利用してコンパイラ動作の各段階を確認し、難読化がどのように行われるかを見てみます。 ORK(オーク)とは? 実行ファイル保護技術であるパッカーの限界 LLVMコンパイラインフラ LLVMコンパイラインフラベースの難読化ツール、ORK Clangのコンパイル過程 前処理(preprocessor) 構文解析(parsing) LLVM IR(Intermediate Represen

    ORK(オーク)-コード難読化コンパイラツール vol.1
    Kesin
    Kesin 2020/04/15
  • LINE DEVELOPER DAY 2019 を開催しました

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog Developer Relationsチームの三木です。 11月20日から21日にかけて、LINEエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2019」を開催しました。社内外のエンジニアの皆様3,000名以上にご来場いただく大盛況なイベントとなりました。ご来場いただいた皆様、登壇いただいたゲストの皆様、運営に携わっていただいた皆様、誠にありがとうございました! 今年のLINE DEVELOPER DAYは、より深く幅広い分野に関連した内容を提供するために、二日間の構成としました。全部で68個のメイントーク、42個のショートトラック、9個のポスターセッション、6個のハンズオンセッション、19個のブー

    LINE DEVELOPER DAY 2019 を開催しました
    Kesin
    Kesin 2019/11/21
    もしかして全セッションのスライド載ってる?帰りの電車で退屈しなさそうだ。さすが! #linedevday
  • ゲームセキュリティ運営から見たチート対策としてのモニタリングについて

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに こんにちは。LINEのgame securityチームでLINE GAMEのセキュリティ運営を担当している李明宰です。 LINE GAMEが誕生してから6年以上(https://6thanniversary.game.line.me/)経ちますが、今回はその6年間を通して、セキュリティ運営から見たゲームのチート対策とそのモニタリングについて、皆さんにご紹介したいと思います。 チートとは、悪意のあるユーザー(以下、アビューザー)により、ゲームを有利に攻略する目的でアプリが改ざんされる行為全般を指します。 近年、スマートフォン環境向けのゲームアプリが人気を集めており、LINEがリリースしているゲームもほとんどが、iOS/

    ゲームセキュリティ運営から見たチート対策としてのモニタリングについて
    Kesin
    Kesin 2019/07/07
    iPhone/Androidの上で動いているゲームであってもこんなにチートの驚異にさらされているのだなぁ
  • iOSのコード署名について

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog はじめに(背景) こんにちは。LINEAIR ARMORの開発を担当しているSIM MINYOUNGです。AIR ARMORは、LINE GAME PLATFORMの一つであるAIRを構成する一つのセキュリティソリューションです。AIRについてはこのURLで紹介されました。前回のブログでは、Androidの署名の仕組みであるAPK Signingについて紹介されましたが、今回のブログでは、iOSのコード署名について紹介したいと思います。 コード署名は、ファイルの完全性を保証する、署名者(開発者)を確認する役割があります。Mach-O形式で表現されるiOSのバイナリーに対する完全性や署名者の検証は、後ほど説明するCode si

    iOSのコード署名について
    Kesin
    Kesin 2019/05/16
    iOSの署名についての貴重な解説だ
  • テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 - Testing & Engineering - LINE ENGINEERING

    テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 – Testing & Engineering By Hiroyuki Ito | 2018.07.09 2021.01.08LINE株式会社のSET(Software Engineer in Test)です。「SETタスクフォース」(以下「SETチーム」と表記)のリーダーとして、主にLINEプラットフォームのサーバーサイドで、テスト自動化を活用したプロダクト開発ライフサイクルの改善を立案・実施・主導しています。また、アジャイルコーチも兼務しています。 はじめに こんにちは。LINE株式会社のSET(Software Engineer in Test)の伊藤 宏幸(Hiroyuki Ito)です。 2018年6月27日(水)に、電気通信大学の西 康晴さん(以下「にしさん」と表記)をお招きして、「

    テスト自動化の理論と技術と戦略:LINE Developer Meetup Tokyo #39 - Testing & Engineering - LINE ENGINEERING
    Kesin
    Kesin 2018/07/10
    Q&Aにテスト系の勉強会などでよく語られる話がまとまっているので、特にUIテストとかに興味ある人にこの記事をオススメしたい。テストピラミッドの考え方は大事
  • 1