LINE.こんにちは。LINEでモバイルゲームの開発を担当しているSTです。今回は、オープンソースのモバイル向けゲームエンジンの世界シェア1位(25%)を誇るCocos2d-xにおいて、マルチスレッドを利用して並列処理を行う方法をご紹介します。シングルスレッドで動作していた既存の物理演算をマルチスレッド化して並列処理するように構造を改善し、パフォーマンスを向上させる方法について説明します。マルチスレッドを利用した物理演算の並列処理構造の設計マルチスレッドを利用した物理演算の並列処理構造を説明する前に、まず既存のシングルスレッドを利用したCocos2d-xのアップデートのループを説明しましょう。Weekについて、レポートしたいと思います。Weekの初日です!仁川国際空港からバスで1時間ほど移動して、書峴(ソヒョン)駅にあるLINEの韓国オフィスに到着しました。FRIENDSのキャラクターと各種グッズが飾られていました。混ざった会話になっていましたが、LINEのエンジニア同士では言葉の壁を感じることはありませんでした。LINE.はじめにこんにちは。LINEでセキュリティに関する業務を担当しているMJです。Program」について紹介いたしましたが、今回、改めて内容を振り返りながら、その結果について書かせていただこうと思います。Bountyは、8月24日から9月23日までの約1ヶ月間で行われ、その期間に発見した脆弱性を報告してくださった方には、最高で1件20,000米ドル(約240万円)をお支払いするというプログラムです。このような制度は国内ではまだ実施例が少なく、あまり馴染みがないかもしれません。Programを実施しました。本プログラムは我々にとっても初めての試みでありまったくの未知数だったのですが、結果的に194件の報告を受け、XSS、CSRFなど計14件をクリティカルな脆弱性として対応させていただきました。報告件数の半分以上は日本国外からのものであり、海外のユーザーからの関心も大きかったことは大きな驚きでした。結果の詳細について実際に見ていきましょう。2015.10.13こんにちは。LINEでセキュリティに関する調査、開発を担当しているJIです。Sealing機能についてご紹介します。秘密情報のやり取りは太古の昔からずっと行われてきたことであり、人々は人通りの少ない場所に隠れて密かに内緒話をしたり、仲間内だけで通じる暗号を使って他人には解読不能にしたりすることで、秘密が漏れないようにしてきました。このような方法は相手が近い距離にいる場合に限って使えるものでした。インターネットのような遠距離通信手段が存在しなかった頃は、文字を書いた文書を封筒に入れ、受取人へ人づてに渡す方法しかありませんでした。人が配達する過程でも、封筒をこっそり開封して中身を盗み見てから元通りに封をしてそのまま届けるという問題が発生しました。文書の内容を修正・改ざんして違う内容のものを渡されていたとしても、それを差出人が確認できる方法はありませんでした。そのため、差出人が書いた内容を配達員から安全に守りながら伝達することはとても難しいことでした。そこで、人々は新しい方法を思いつきました。内容の秘密保持ができないならば、少なくとも誰が文書を作成したのか、誰かが途中で封筒を開封していないか確認できる印をつけるべきだと思うようになったのです。これは、伝えたい内容を書いた文書にしっかり封をした後、蜜蝋(wax)のようなもので完全に封印する方法でした。配達員が中身を見るには封蝋を破らなければならないため、受取人は封の状態を見て配達中の盗み見や内容の改ざんの有無を確認することができました。破いた封を元に戻せなくするために、固有の文様が刻印された印璽(シール)を押しました。well.こんにちは。LINEでアプリケーションのセキュリティを担当しているH2spiceです。Delete」についてご紹介します。はじめに多くの人はスマートフォンを紛失したり、時には人通りの多い公共の場所にスマートフォンを放置したりします。紛失したスマートフォンを他人が拾った場合、スマートフォンに保存されているデータにアクセスして流出することができるので、かなり深刻な問題が起こる可能性があります。メモなどたくさんの個人情報が詰まっているので、プライバシーの漏洩はもちろん、会社の業務上の機密が外部に流出する問題も発生しかねません。そのような情報を狙ってスマートフォンを盗む場合もあります。スマートフォンは便利な道具ですが、管理の不注意やちょっとした油断によって個人のプライバシーの侵害につながる危険な道具にもなり得ます。LINEでは、このようなリスクからユーザーのプライバシーを保護するために、パスコードロックやデータの暗号化のような機能を追加するなど、さまざまな努力をしています。いくつかの問題のため、一部のリスクは依然として存在しています。「削除」という一般的なプログラム手法上の限界によって、削除されたデータを復元できてしまうことも問題の一つです。Delete」機能をご紹介します。LINE.こんにちは。LINEでセキュリティを担当しているMJです。Bountyプログラムについてご紹介させていただきます。Bountyとは、自社の製品やサービスのキュリティ上の脆弱性を発見した人に報奨金を支払うプログラムで、グローバル企業では製品・サービスのセキュリティ強化策として積極的に取り入れられています。実際、多数の企業がこのプログラムを活用して自社のサービスの品質改善とセキュリティ向上を図り、セキュリティ問題を解決しています。LINEは、毎月の実ユーザー数が2億人以上に達するグローバル企業に成長しました。この成長過程で、数多くのアプリケーションと増えたユーザーをセキュリティーの脅威から保護することが求められるようになりました。Bountyプログラムを実施することで、より安心・安全なサービスの提供を目指してまいります。PlatformをLINEではない他のサービスでも利用できるように公開しました。Platformについて紹介しようと思います。developersサイトも公開いたしましたので、どのような機能を利用することができるのか、ぜひご覧になってください。Platformとは、皆さんが開発したスマートフォンアプリやウェブアプリケーションの中で、LINEアカウントを使用したログイン機能を組み込むためのプラットフォームです。Platformを使ってログイン機能を利用しています。STOREそれぞれでどのようにログイン機能が利用されているのか紹介してみます。Buzzは、同時に最大200人と無料で通話をすることができるAndroid/iOS向けのスマートフォンアプリです。Buzzのようなスマートフォンアプリでログイン機能を組み込んだ場合は、以下の画面のようになるでしょう。Platformのログイン機能を呼び出すように組み込んでおきます。そのユーザの端末にLINEアプリがインストールされていれば、2つ目の画面にある同意ボタンをタップするだけで、ログインが完了します。Platformは多くのスマートフォンアプリにユーザ体験の良いログイン機能をもたらしてくれます。Plusでゲームセキュリティ開発を担当しているWJ、KHです。莫大なユーザーがモバイルからアクセスするLINEゲームにおいて、データの迅速な解析と対応はそう容易なものではありません。LINEゲームへのアクセスと海外ユーザーの大幅な増加に伴い、様々なアビューズ(不正とされる操作を通じて不当な利益を得る行為)行為が次々と観察されています。アビューズ行為は、正常にゲームを利用する善意のユーザーに迷惑を掛けることはもとより、ゲームサービスそのものにも直接的な影響を及ぼします。ゲームの安定性を守り善意のユーザーを保護するためには、アビューズ行為に迅速に対処することがとても大事です。アビューズ行為が探知されたら、異なった形式のログを関連付けて解析しその問題の原因を洗い出して修正する必要がありますが、このとき一番の障壁は、大容量のログデータの速やかな処理でした。LINEで扱う各種データ量の増加により、従来の伝統的なビッグデータ処理方式では現象が発生してから事象を確認するまで数十分、数時間が掛かってしまいます。Shardingのような技術導入などの理由から、すべてのデータを連携することも容易ではありませんでした。何よりも、人気ゲームの場合は流入されるデータ自体が非常に多いのです。いろんな観点から迅速なデータの処理を可能にする多彩なオープンソースを組合せ、その可能性をチェックしてみました。Zeppelinを採用することが希望のデータ処理要件に最も近いことが分かり、適切な構成を試みることになりました。Evangelistをしています。Blogや技術イベントなどを担当。こんにちは、カンファレンス担当の櫛井です。イベント当日は応募者多数のため抽選となりましたが、沢山のエンジニアの皆さまにご来場いただき盛況となりました。ありがとうございました!細かな部分を含めイベント全体の企画や運営を担当しました。「社外のエンジニアの皆さんにLINEを深く知っていただきたい」という主旨で企画をおこない、イベント準備等なかなか苦労した点もありましたが、ご参加いただいた皆さんに大変好評だったり、当日はTwitterのトレンド入りをしたりと評判が大変よかったので次回も是非開催できればと考えています。イベントレポート等、また別の機会に行いたいと思いますが、まずは動画と資料を公開いたしますので是非ご覧いただければと思います。Android.こんにちは。Android開発を担当しているHTです。今回のブログでご紹介するB612は、小説『星の王子さま』に登場する王子さまが住んでいた星の名前にちなんで名付けられた自撮り専用アプリです。セルフィーアプリでは初めて撮影前フィルターと3~6秒の分割動画撮影に対応しています。今回のブログでは、B612アプリ開発においてMediaCodecを活用してコラージュ形式のビデオを作成し、最終的にMP4ファイルに仕上げるまでの過程についてお話したいと思います。