並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 206件

新着順 人気順

XCodeの検索結果1 - 40 件 / 206件

  • GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG

    はじめに こんにちは、CTO/DevRelブロックの堀江(@Horie1024)です。ZOZOではGitHub Copilotを全社へ導入しました。本投稿では、GitHub Copilotの導入に際して検討した課題とその課題の解決策としてどのようなアプローチを取ったのかを紹介します。 目次 はじめに 目次 GitHub Copilotとは何か? GitHub Copilot導入の背景と目的 導入する上での課題 セキュリティ上の懸念 ライセンス侵害のリスク GitHub Copilot for Businessの利用 導入による費用対効果 試験導入による費用対効果の見積もり 試験導入の実施 対象者の選出 アンケートの設計 試験導入の実施 アンケート結果の集計 アンケート結果の考察 費用対効果の見積もり 全社導入の判断 導入決定後のGitHub Copilot利用環境の整備 社内LT会 おまけ

      GitHub Copilotの全社導入とその効果 - ZOZO TECH BLOG
    • プライベートでMac使うのやめた

      最近、自分のプライベートの開発環境を大きく変えたので紹介する。 先にまとめ プライベートではMacを使わなくなった 家にUbuntuが入ったミニPCを置いた 外からはThinkPad X1 CarbonからTailscale経由のSSHで家のミニPCに接続 購入まで まず、自分にとって最も大きな変化はプライベートでMacを使わなくなったことだ。2013年くらいにプログラミングを始めてからずっとメインのOSはMacだったので、約10年ぶり、ほぼ初めての非Mac環境である。 自分の普段の開発のユースケースは、Webアプリケーション開発とNode.js上で動くソフトウェアの開発、WebKitへのコントリビューション、たまにRustやGoやC/C++で自分専用ツールの開発、くらいなので別にMacで困っているわけではなかった。Web開発やNode.js上のソフトウェアの開発はまあ普通にMacで困らな

        プライベートでMac使うのやめた
      • macOS のデフォルト状態でコマンドラインからOCR処理を行う - TeX Alchemist Online

        macOS 12 Monterey では,OSビルトインでのOCR機能が搭載されました。Preview.app で,画像やスキャンPDF(中身がスキャン画像のPDF)に対して,ただマウスでドラッグするだけで,中身の文字を認識して選択し,コピーできるようになっています。さらに,macOS 13 Ventura では,それが日本語にも対応しました。 たとえば,(今や入手困難となってしまった)The TeXbook のアスキーによる日本語版をスキャンしたものを Preview.app で開くと,何もしなくても,文字選択できます。 これをコピーして他のエディタにペーストすると, TEXの名称で気をつけなければならないことがほかにもある。Eの文字が不揃いになっていることだ。Eの文字を少し下げてあるのは、TeXが組版のためのシステムであることを印象づけるためであり、またほかのシステムの名称と区別するた

          macOS のデフォルト状態でコマンドラインからOCR処理を行う - TeX Alchemist Online
        • サイバーエージェントのGitHub CopilotのAnalyticsデータを公開!利用開始から約3ヶ月でエンジニアの生産性は向上したのか? | CyberAgent Developers Blog

          サイバーエージェントのGitHub CopilotのAnalyticsデータを公開!利用開始から約3ヶ月でエンジニアの生産性は向上したのか? CTO統括室の黒崎(@kuro_m88)です。サイバーエージェントでは2023年4月下旬より、GitHub Copilotの導入を開始しました。 「実際のところどうなの?」という情報がまだまだ少ないと思われるので、本記事では導入から約3ヶ月が経過した現在の利用状況を公開します。 GitHub Copilotの利用状況 2023年7月現在、サイバーエージェントでは500名以上のエンジニアがGitHub Copilotを利用しています。 追記 7/20: そしてこの数字はGitHubによると現時点で日本で一番多いそうです🎉 サイバーエージェントではGitHub Enterpriseが導入されており、事業部や事業単位でOrganizationを保持してお

            サイバーエージェントのGitHub CopilotのAnalyticsデータを公開!利用開始から約3ヶ月でエンジニアの生産性は向上したのか? | CyberAgent Developers Blog
          • BudouX: 読みやすい改行のための軽量な分かち書き器

            .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

              BudouX: 読みやすい改行のための軽量な分かち書き器
            • GitHub Copilotの導入によってペパボの開発生産性はどう変化したか - Pepabo Tech Portal

              サービスのデプロイ頻度は、そのときに開発している機能の大きさやチームメンバーの人数などの影響を少なからず受けます。そのため、この変化がGitHub Copilot導入の効果と言いきることは難しいですが、生産性が向上しているチームからのノウハウの共有などを通じて、継続した生産性の向上に取り組んでいきたいと考えています。 GitHub Copilot導入に向けた課題とその対応 ここからは、ペパボでGitHub Copilotを全社導入するにあたり検討した観点と、その結果を紹介します。 ペパボにおける生成AI活用の現状 GMOペパボでは、ChatGPTの登場以降、生成AIを活用した機能の開発や開発プロセスへの活用による生産性向上に取り組んできました。特に、pyama86/slack-gptを利用したSlack Botはエンジニアに限らず全社員が利用しており、さまざまな業務の効率化に貢献しています

                GitHub Copilotの導入によってペパボの開発生産性はどう変化したか - Pepabo Tech Portal
              • 生のポインタは使わないで! Modern C++のメモリ管理

                本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第3回は、スマートポインタについて紹介します。高度なメモリ管理には生のポインタの使いこなしが必須という古い常識はもはや通用しません。メモリを効率よく、しかも安全に使うことを実現しているスマートポインタについて理解を深めます。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし

                  生のポインタは使わないで! Modern C++のメモリ管理
                • 開発環境をMac/WindowsからUbuntuに移行した話

                  ホットエントリに挙がっていたこの記事に触発されて書きました。 はじめに 私は、さすらいの野良エンジニアです。システム開発歴は20年以上になり、現在は在宅で仕事をしています。先日ふと思い立って、サブで使っていたラップトップにUbuntuを入れました。その結果あまりに良すぎてメイン環境として普段使いするようになり、ラップトップではゲーミング性能が足りないので、余っていたデスクトップ機にもインストールして更に快適になってしまいました。 以降前の私の状況は下記です。 メインで使っていたのは、Windowsデスクトップ(RTX2060でゲームもする) サブ機としてM1 Macbook AirとWindowsラップトップ(XPS13)を使っていた その他、N100ミニPCにUbuntuを入れてちょっとしたサーバーとして使用 Windowsデスクトップ(RTX2060)が一台余っていた ここから、現在の

                    開発環境をMac/WindowsからUbuntuに移行した話
                  • モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話

                    こんにちは、Sally社 CTO の @aitaro です。 マーダーミステリーアプリ「ウズ」とマダミス制作ツール「ウズスタジオ」、マダミス情報サイト「マダミス.jp」を開発しています。 はじめに この記事ではウズの開発当初から利用していた Docker Compose をやめることにした背景についてご紹介します。 Docker Compose は各マシンの開発環境での差異を吸収するというメリットがあり、多くの開発現場で導入されていますが、Docker Composeの抱えているデメリットを勘案して、最終的に一部を残して辞める決断をしました。 Docker Composeの特徴 Docker Composeは、複数のコンテナを定義し、管理するためのツールです。ウズの開発環境では、バックエンド、フロントエンド、データベースなどをそれぞれコンテナ化して、Composeで一括管理していました。こ

                      モノレポの開発環境でDocker ComposeをやめてTaskfileを導入した話
                    • 今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様

                      はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょうか。本連載では、かつてはC++をたしなんでいたという方、今からC++言語を始めるという方に向けて、Modern C++らしい言語仕様をピックアップし紹介していくことで、今のC++言語の姿を理解していただきます。 対象読者 かつてはC++をたしなんでいたという方 今からC++言語を始めるという方 モダンなプログラミング言語のパラダイムに興味のある方 必要な環境 本記事のサンプルコードは、以下の環境で動作を確認しています。 macOS Sonoma/Windows 11 Xcode Command

                        今どきのプログラミング言語では当たり前! Modern C++で使えるモダンな言語仕様
                      • VSCodeのソース管理をはじめよう! Gitの連携機能について解説

                        はじめに Microsoftの提供するVisual Studio Code(VSCode)は、2015年の最初のリリースから、今では開発用エディタの定番の座を占めるまでになりました。これには、無償で使えることも大きいですが、何よりエディタとしての使いやすさ、そしてさまざまな拡張機能によっていくらでも使い勝手を向上させたり、利用の領域を拡げられたりすることも大きいでしょう。本連載では、このVSCodeにフォーカスし、基本的な使い方から拡張機能の活用、そして本格的な開発現場での利用を想定した高度な機能までを紹介していくことで、読者がVSCodeマスターになるお手伝いをします。 対象読者 テキストエディタメインで開発してきた方 Visual Studioより軽い環境が欲しいと考えている方 Visual Sudio Codeをもっと使いこなしたい方 必要な環境 本記事の内容は、以下の環境で動作を確

                          VSCodeのソース管理をはじめよう! Gitの連携機能について解説
                        • スマホアプリの脆弱性診断って何するの?(iOS編) - STORES Product Blog

                          *本記事は STORES Advent Calendar 2023 6日目の記事です こんにちは。セキュリティ本部のsohです。 現在、弊社ではスマホアプリ診断内製化の準備を進めています。 同じようにスマホアプリの脆弱性診断を内製化したい、というニーズがある会社は多く存在しますが、実際のところ、スマホアプリを対象とした脆弱性診断士の確保は困難であり、外部ベンダーの方にすべてお願いせざるを得ないケースも多いかと思います。 また、その情報の少なさから、スマホアプリ診断を実施したいと考えている開発者や脆弱性診断士にとっても、「何をやればいいのか」「何から始めればいいのか」がわからないものである場合は多いかと思います。 そこで、この記事では「スマホアプリ診断って実際何をしているのか」と疑問を持つ方をターゲットとして、一般的なスマホアプリ診断の検証要件や検証方法について解説します。 要件とガイドライ

                            スマホアプリの脆弱性診断って何するの?(iOS編) - STORES Product Blog
                          • これ全部無料! 企業や大学のIT教材・研修資料まとめ 【2023年上半期版】

                            6月も終わりに近づき、2023年の上半期も終わりを迎えようとしている。この半年はAIを中心に、目まぐるしい変化が続く半年だった。下半期も同様に激動の6カ月になるかもしれない。業界の動きに対応するには、業種・職種問わず新たな学びが必要だろう。 そこで本記事では、企業や大学、公共機関が無料で公開しているIT教材や、研修資料などをピックアップ。ITmedia NEWSで直近6カ月間に取り上げた記事から、8つ紹介する。 ピクシブの「iOSエンジニア育成教材」 初学者向け ピクシブは、同社が実際の研修で使ったiOSアプリ開発の初学者向け教材を公開している。お絵描きSNSの開発を通して、実践に近い形でプログラミング言語「Swift」と開発ツール「Xcode」について学ぶ内容だ。指定の課題に沿って自分でコードを書くことで、基本的な機能の開発を学べるという。 参考:ピクシブ、自社で使っている「iOSアプリ

                              これ全部無料! 企業や大学のIT教材・研修資料まとめ 【2023年上半期版】
                            • ゼロから始めるシステム障害対応フロー - Qiita

                              初めに 本記事 『ゼロから始めるシステム障害対応フロー』 の内容について タイトルの「ゼロから始める」には二つの意味があります。プロダクトのリリースを間近に迎える中、チーム内での障害対応体制の枠組みがなかったこと。そして体制づくりを担当することとなった私の知識・知見が(ほぼ)ゼロだったこと。この二つです。 この状態から、リリース前〜リリース後の約2月間でなんとか形にすることができました。本記事ではその過程でぶつかった問題とそれに対する課題、それらにどう対応したのか、何を学んだのか、の紹介。 そして、障害対応体制の策定・構築や改善の流れの中で私が起こした失敗から、人としてリーダーとして何を心がけなければいけなかったのかの反省を共有させてもらいたいと思います。 本記事は以下の構成です。 0. 始まり ※ スクラムチームでの話。スクラムチームの登場人物は以下の三つ PO:プロダクトオーナー(Pd

                                ゼロから始めるシステム障害対応フロー - Qiita
                              • 「GitHub Copilot」は「lint」の一段上をいっている シリコンバレーエンジニアがおすすめするAI活用法

                                登壇者の自己紹介 後藤智氏(以下、後藤):では、始めたいと思います。今日は「ChatGPT」、もしくはAI周辺について、お話をしたいと思います。 モデレーターを務めさせていただく、キリロムでCTOをやっている後藤と申します。よろしくお願いします。それでは、お一人お一人紹介をしていただきたいなと思います。小林さんからお願いします。 小林聡汰氏(以下、小林):小林です。2022年の5月にUCバークレー、カリフォルニアにある大学のコンピューターサイエンス学部を卒業して、現在はシリコンバレーにあるAI系の会社のソフトウェアエンジニアをしています。本日はよろしくお願いします。 後藤:よろしくお願いします。櫻庭さん、お願いします。 櫻庭洋之氏(以下、櫻庭):櫻庭と申します。「zaru」というIDで活動しています。今は、東京のWeb系のSaaS会社でCTOをやっています。個人では「ムーザルちゃんねる」を

                                  「GitHub Copilot」は「lint」の一段上をいっている シリコンバレーエンジニアがおすすめするAI活用法
                                • Advanced macOS Commands - saurabhs.org

                                  macOS is fortunate to have access to the huge arsenal of standard Unix tools. There are also a good number of macOS-specific command-line utilities that provide unique macOS functionality. To view the full documentation for any of these commands, run man <command>. caffeinate - set Mac sleep behavior Running caffeinate with no flags or arguments prevents your Mac from going to sleep as long as the

                                  • 「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”

                                    Blue Whale Systems株式会社の植山類氏は、「LLVM lld」「mold」が解決したプログラムのビルドの問題を例に、“大きな問題”を解決することについて話しました。全3回。 1個の本質的な問題を解いてしまうほうが細かいことを考えるよりも簡単 植山類氏:では始めます。本日、機会をいただいて講演をすることになった植山と申します。この講演の内容は「大きな問題のほうが小さな問題より解くのは簡単だ」というタイトルです。 どういう趣旨かというと、常に簡単だというわけではないのですが、いろいろな場面で、1個の本質的な問題をドッカンと解いてしまうほうが、いろいろな細かいことを考えるよりも簡単なことが多いという話です。 そういうソリューションが往々にして見逃されがちということがけっこうあって、そういうことにどうやって挑戦していくのかという気持ちの話を、僕がそういう大きな問題を解決した経験を踏

                                      「LLVM lld」「mold」が解決した、リンクが遅い問題 間違った思い込みの解消に必要だったのは“クレイジーな人”
                                    • ChatGPT/Co-Pilotで改めてわかる「プログラミング」とはどんな作業だったのか|shi3z

                                      最初にプログラミングを始めた時は、学校にリファレンスマニュアルを持って行って全てのページを丸暗記した。丸暗記が目的だったわけではなく、読んで知識を吸収していくのが楽しくてしょうがなかった。 PC-9801のN88-BASICリファレンスマニュアルは、読み物としてとても良くできていた。各ステートメントの紹介があり、パラメータの説明があり、ごく簡単なサンプルコードも書いてあった。大体見開き一ページで一つのステートメントの説明なので読みやすかったし、ベーマガかなんかで読む呪文のようなコマンドの意味を詳細まで知れて楽しかった。 だがこれを「楽しい」と思う人は少数派のようだった。 僕のクラスメートのうち、相当数の人が親にパソコンを買ってもらい、BASICに挑戦したが、全くその世界に馴染めず結局ゲーム機になって行った。僕も親父がゲームなんかを買ってきたら話は変わっていたかもしれないが、親父の教育方針で

                                        ChatGPT/Co-Pilotで改めてわかる「プログラミング」とはどんな作業だったのか|shi3z
                                      • 「デザインシステム」がよくわからないので、理解の仕方を変えてみる|usagimaru

                                        ここ数年「デザインシステム」はIT業界を中心に流行語になっていますが、どうにも「〜システム」と呼んでしまっていることと、実際にそれが指している概念がはっきりしないが故に、私にとっては積極的に使いたくない語になってしまっています。皆さんが「デザインシステム」の語で言及しているものは、本当に同じ概念を指しているのでしょうか? 定義にあたってみる「デザインシステム」「Design system」の言葉の定義を軽く調べてみました。 とりあえずWikipedia(英語)にはこのように書かれています。 デザインシステムは、任意のアプリケーションを組み立てるのに用いる再利用可能なコンポーネントと標準規約の集まりです。デザインシステムは、モバイルアプリケーションやWebサイトなどデジタルプロダクトのデザインと開発をサポートします。パターン、コンポーネントライブラリ、デザイン言語、スタイルガイド、コード化さ

                                          「デザインシステム」がよくわからないので、理解の仕方を変えてみる|usagimaru
                                        • AddressableによりWebGLゲームのクラッシュ率が改善した話 - Mirrativ Tech Blog

                                          こんにちは、ミラティブ菅谷です。MirrativのWebGL製ライブゲームにて、アセットのロード方法をインスペクタでの直接参照からAddressable Asset System(以下Addressable)に変更したことで、クラッシュ率が大幅に改善し、クラッシュせずにプレイが終了した「正常プレイ率」は98%まで改善しました。本記事では、その具体的な手順と効果について紹介します。 課題背景 MirrativのライブゲームはWebGLで動いていますが、特にモバイルのWebGLではパフォーマンスに気をつける必要があります。今回改善を行ったプロジェクトではもともとAddressableを使用していませんでした。プロジェクトの初期リリース時点では大きな問題もなく運用できていましたが、アセットやリソースを追加していくにつれてクラッシュが多く見られるようになりました。ただし、WebGLではクラッシュし

                                            AddressableによりWebGLゲームのクラッシュ率が改善した話 - Mirrativ Tech Blog
                                          • Llama.cpp で Llama 2 を試す|npaka

                                            「Llama.cpp」で「Llama 2」を試したので、まとめました。 ・macOS 13.4.1 ・Windows 11 前回 1. Llama.cpp「Llama.cpp」はC言語で記述されたLLMのランタイムです。「Llama.cpp」の主な目標は、MacBookで4bit量子化を使用してLLAMAモデルを実行することです。 特徴は、次のとおりです。 ・依存関係のないプレーンなC/C++実装 ・Appleシリコンファースト (ARM NEON、Accelerate、Metalを介して最適化) ・x86アーキテクチャのAVX、AVX2、AVX512のサポート ・Mixed F16/F32精度 ・4bit、5bit、8bit量子化サポート ・BLASでOpenBLAS/Apple BLAS/ARM Performance Lib/ATLAS/BLIS/Intel MKL/NVHPC/AC

                                              Llama.cpp で Llama 2 を試す|npaka
                                            • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

                                              最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

                                                Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
                                              • 大学の C++ 講義で使っているオンラインコンパイラ

                                                C++ Advent Calendar 2023, 9 日目の記事です。 学校で C++ を教える場合、受講者に最初から Visual Studio Code や、Visual Studio, Xcode などの統合開発環境をインストールしてもらうのは難しいことがあります。 とくにプログラミングが初めての学生、パソコンに不慣れな学生が多い場合は、なるべく環境構築に時間をかけず、スムーズに C++ プログラミングの学習に入れるよう、講義の序盤ではオンラインコンパイラの使用が選択肢として有効です。 本記事では、筆者が実際に大学の C++ 講義で使った 3 つのオンラインコンパイラを、講義での活用の観点から紹介します。 Simple C++ Editor Simple C++ Editor は、Wandbox をバックエンドとしたオンライン C++ コンパイラです。初心者がよく起こすエラーや警告

                                                  大学の C++ 講義で使っているオンラインコンパイラ
                                                • ゼロからはじめるPython(106) プログラム生成AIのCodeLlamaを手元のPCでも動かしてみよう

                                                  ChatGPTを筆頭にした「大規模言語モデル(LLM)」と呼ばれるAIが話題に上らない日はない。このAIが得意なタスクには「プログラムの自動生成」が挙げられるが、Metaからプログラム生成に特化したCodeLlamaが商用利用可能なオープンなライセンスでリリースされた。そこで実際に使ってみよう。 CodeLlamaで素数判定のプログラムを自動生成させたところ プログラミングは大規模言語モデルが得意とするタスク リリースからわずか2ヶ月で1億ユーザーを達成した「ChatGPT」の公開から本稿執筆時点で8ヶ月が過ぎた。筆者も業務でChatGPTをはじめ、Github Copilotなど、大規模言語モデル(LLM)関連サービスを使わない日はないくらいだ。 特に「プログラミング」は、間違いなく大規模言語モデルが得意とするタスクであり、GitHub Copilotを利用している多くの人がその利便性を

                                                    ゼロからはじめるPython(106) プログラム生成AIのCodeLlamaを手元のPCでも動かしてみよう
                                                  • Apple M3チップファミリーを搭載したMacBook Pro (Nov 2023)のXcodeベンチマークスコアまとめ。11コアM3 Proのスコアは10コアM1 Pro程度に。

                                                    Apple M3チップファミリーを搭載したMacBook Pro (Nov 2023)のXcodeベンチマークが公開されています。詳細は以下から。 Appleは現地時間2023年10月30日に開催したスペシャルイベント「Scary fast. (速いもの見たさ。)」で、Mac用の第3世代Apple Siliconチップとなる3つの「M3、M3 Pro、M3 Max」と、そのM3ファミリーを搭載する「MacBook Pro (14/16インチ)」を発表しましたが、このM3チップファミリーのXcodeベンチマーク(XcodeBenchmark)が公式リポジトリに登録されてきたのでまとめてみました。 なお、XcodeBenchmarkはオープンソースで公開されており、Xcodeとコマンドラインツールさえインストールしてあれば誰でも実行可能ですが、2023年10月からXcode 15用にコンパイル

                                                      Apple M3チップファミリーを搭載したMacBook Pro (Nov 2023)のXcodeベンチマークスコアまとめ。11コアM3 Proのスコアは10コアM1 Pro程度に。
                                                    • Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog

                                                      こんにちは、iOSエンジニアのふじのです。 Mirrativの機能開発を進める傍ら、iOSアプリのメモリ使用量の改善に取り組んでいます。 今回は、アプリ内でメモリ使用量を増やしている問題点を見つける方法と、それらをクライアント実装で解決する具体的なアプローチについて紹介します。 Mirrativアプリが抱える課題 着眼点とアプローチ 画像キャッシュの効率化 UIImageのリサイズ 画像のメモリキャッシュの上限サイズ設定 メモリリークへの対策 Allocationsやmemory graphを利用した手動検出 XCTestを利用したCI上での自動検出 改善の成果と今後の課題 We are hiring! 参考リンク Mirrativアプリが抱える課題 Mirrativアプリはライブ配信機能や視聴機能、Unityを利用したアバター機能やWebGLを利用したゲーム機能など、メモリを多く必要とす

                                                        Mirrativ iOSアプリでのメモリ使用量削減への取り組み - Mirrativ Tech Blog
                                                      • LINEはなぜBazelを使わないことにしたのか?

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

                                                          LINEはなぜBazelを使わないことにしたのか?
                                                        • iOS版Twitter(X)アプリではツイート内のURLがUniversal linksとして機能しないので、N予備校アプリへの導線を見直した話 - ドワンゴ教育サービス開発者ブログ

                                                          こんにちは。N 予備校 Webフロントエンド開発チームの中村です。 去年の夏頃、記事タイトルの件に絡んで起きていた問題の対応をしたのでその時の話を書きます。1 なおTwitter社の社名及び同社のサービス名は現在ではXとなっていますが、本文内容の当時はまだTwitterだったためこの記事ではTwitterと表記しています。 何が問題か 以前から開発チームに寄せられていた改善の要望として、「iOSのTwitterアプリ上でN予備校のURLをタップした際にN予備校アプリではなくWebページが開いてしまい、ユーザが目的のページに遷移できない」というものがありました。 iOSにはUniversal linksという、ネイティブアプリとURLを紐付け、Webブラウザやネイティブアプリから他のネイティブアプリに遷移できる仕組み(URLをタップするとアプリが開くアレ)があります。しかしながらiOS版Tw

                                                            iOS版Twitter(X)アプリではツイート内のURLがUniversal linksとして機能しないので、N予備校アプリへの導線を見直した話 - ドワンゴ教育サービス開発者ブログ
                                                          • iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog

                                                            こんにちは、クライアントエンジニアの竹澤(@to4iki)です。 MirrativのiOSチームでは、開発効率の最大化を狙い以下に取り組んでいます。 データフローの単方向化 (Fluxアーキテクチャの強制) 宣言的UIによるView実装 (SwiftUIの部分適用) 責務分割 (モジュール分割) 今回の記事では、どのような構成でSwiftUIを適用し始めたか、また、MirrativのiOSプロジェクトの構成やプロダクト特性の課題感からセットでモジュール分割を進めている点を紹介します。 背景 前提となるプロジェクト構成 導入に向けて決めたこと SwiftUIでどこまで実装するか 本体アプリではなくSwiftPackageを活用する 垂直分割するか水平分割するか 方針やTipsを明文化し育てる 新規開発部分のUI開発をFeatureモジュールで行う SwiftPackage: SwiftUI.

                                                              iOSプロジェクトに対してモジュール分割しながらSwiftUIを部分適用している事例 - Mirrativ Tech Blog
                                                            • Appleが新たなパーソナルAIの「Apple Intelligence」を発表、OpenAIとの提携でSiriがChatGPTをサポート

                                                              2024年6月11日2時からAppleが開催している年次開発者会議「WWDC24」の基調講演で、iPhone・iPad・Macで使える新しいパーソナルAI「Apple Intelligence」を発表しました。 iPhone、iPad、MacにApple Intelligenceが登場 - Apple (日本) https://www.apple.com/jp/newsroom/2024/06/introducing-apple-intelligence-for-iphone-ipad-and-mac/ Appleのイベント - Apple(日本) https://www.apple.com/jp/apple-events/ WWDC 2024 — June 10 | Apple - YouTube 私たちは長年人工知能(AI)や機械学習を活用してきました。 近年の生成知能と大規模言語モデ

                                                                Appleが新たなパーソナルAIの「Apple Intelligence」を発表、OpenAIとの提携でSiriがChatGPTをサポート
                                                              • SwiftGenとSwift-DocCを活用してコード上の画像を一瞬でプレビューする方法 - Mirrativ Tech Blog

                                                                こんにちはiOS開発をしている福山です。 この記事では、SwiftGenとSwift-DocCを用いて、xcassetsを開かずにコード内の画像をQuick Help(右パネルまたは⌥オプションキー+クリック)で直接確認する方法を紹介します。 各ツールの簡単な説明 Swift-DocCは、Swift言語用のドキュメント生成ツールです。Swiftコード内に書かれたコメントから、ナビゲーションが容易で、見た目も美しいドキュメントを生成することができます。 SwiftGenは、Xcodeプロジェクトで使われるリソース(画像、フォント、色、ローカライズなど)を静的に型付けされたSwiftコードに変換するツールです。自動生成された安全なコードを通じてリソースにアクセスできるため、タイプミスによるエラーや存在しないリソースへの参照をコンパイル時に検出するのに役立ちます。 SwiftGenの生成コード例

                                                                  SwiftGenとSwift-DocCを活用してコード上の画像を一瞬でプレビューする方法 - Mirrativ Tech Blog
                                                                • Appleは大規模言語モデルをiPhone上でローカルに動作させることを目指している

                                                                  Appleの研究者が「LLM in a flash: Efficient Large Language Model Inference with Limited Memory」と題した論文をプレプリントサーバーのarXivに公開しました。この論文では「メモリが限られたデバイス上で大規模言語モデル(LLM)の推論を効果的に行う道を開く解決策」、すなわちiPhoneなどのデバイス上でLLMを動作させるための技術が示されており、Appleは将来的にiPhone上でLLMを動作させることを目指していると考えられます。 [2312.11514] LLM in a flash: Efficient Large Language Model Inference with Limited Memory https://arxiv.org/abs/2312.11514 Paper page - LLM in

                                                                    Appleは大規模言語モデルをiPhone上でローカルに動作させることを目指している
                                                                  • 2023年のはてなスタッフのアウトプットまとめ - Hatena Developer Blog

                                                                    こんにちは、id:onk です。 2023年は、インパーソンの技術カンファレンスが戻ってきた 1 年だったなぁと思います。私が参加した 100 名程度以上の規模のものだけでも、以下のように参加していました。 2023/02/18 福岡Rubyist会議03 2023/03/04 鹿児島Ruby会議02 2023/03/19 YAPC::Kyoto 2023 2023/05/11-13 RubyKaigi 2023 2023/07/13 開発生産性Conference 2023/08/03 CloudNative Days Fukuoka 2023 (病欠) 2023/09/09 Osaka RubyKaigi 03 2023/09/29 PIXIV MEETUP 2023 2023/10/15 大江戸Ruby会議 10 2023/10/27-28 Kaigi on Rails 2023 2

                                                                      2023年のはてなスタッフのアウトプットまとめ - Hatena Developer Blog
                                                                    • AirPods Proで頭の角度を検出し、リアルタイムにキャラクターを動かす | フューチャー技術ブログ

                                                                      はじめにHealthCare Innovation Group(HIG)1の橋本です。 先週末注文していたAirPods Pro第2世代が今日手元に届きました! 約4年間使っていたAirPods Pro第1世代の調子が悪くなってしまったため、買い換えました。 せっかく新しいAirPods Proが届いたので、なにかできることないかな〜と思いながら、AirPods Proの機能一覧を見ていました。 私はその中の一つ、空間オーディオ機能でヘッドトラッキングしていることに目をつけ、頭の角度の取得をしてみました。 環境OS: macOS Sonoma 14.5Xcode: 15.4 (15F31d)Swift: 5.10AirPods Pro(第2世代)※ 空間オーディオ機能搭載端末 AirPods(第3世代)、AirPods Pro(全世代)、AirPods Max (参考URL: AirPod

                                                                        AirPods Proで頭の角度を検出し、リアルタイムにキャラクターを動かす | フューチャー技術ブログ
                                                                      • Xcodeの高速ダウンロードや管理が可能なオープンソースのXcodeバージョン管理ツール「Xcodes App v2.0 beta 1」がリリース。macOSやiOSなどプラットフォームの高速ダウンロードに対応。

                                                                        Xcodeの高速ダウンロードや管理が可能なオープンソースのXcodeバージョン管理ツール「Xcodes App v2.0 beta 1」がリリースされています。詳細は以下から。 Xcodesシリーズはカナダのソフトウェア会社Robots & Pencilsが2019年からオープンソースで開発しているコマンドラインツールで、Appleの統合開発環境「Xcode」のダウンロードやインストール、バージョン管理(切り替え)が可能ですが、このxcodesコマンドをGUI化した「Xcodes.app」のバージョン2.0 Beta 1が公開されています。 このXcodes.appを開発しているMatt Kiazykさんによると、Xcodes.app v2.0ではAppleがXcode 15から行っている、XcodeアプリとmacOSやiOS、iPadOS, watchOS, tvOS, visionOS

                                                                          Xcodeの高速ダウンロードや管理が可能なオープンソースのXcodeバージョン管理ツール「Xcodes App v2.0 beta 1」がリリース。macOSやiOSなどプラットフォームの高速ダウンロードに対応。
                                                                        • 食べログiOSアプリで機械学習による画像分類を導入し、料理判定機能を実装した事例紹介と知見のまとめ - Tabelog Tech Blog

                                                                          こんにちは。食べログでiOSアプリのサービス開発を担当している河崎です。 私の所属するプロダクトチームでは、ユーザーが継続的かつ手軽に行ったお店の記録ができるように、アプリの改善や新機能開発など様々な対応を行っています。 この記事では、iOSアプリで料理写真を判定するために画像分類を取り入れた開発事例の紹介と、開発で得られた知見についてまとめていきます。 目次 画像分類を取り入れた新機能について 画像分類の対応方針 方針1:公開されている画像分類用のモデルやフレームワークを使用する 方針2:独自の画像分類用のモデルを構築する コストが高いと判断した理由 アプリ特有の考慮すべき条件 オンデバイスであること モデルサイズが小さいこと 解析速度が速いこと Visionフレームワークでの実現 VNClassifyImageRequest とは VNClassifyImageRequest の使い方

                                                                            食べログiOSアプリで機械学習による画像分類を導入し、料理判定機能を実装した事例紹介と知見のまとめ - Tabelog Tech Blog
                                                                          • WebKit Features in Safari 17.0

                                                                            Sep 18, 2023 by Jen Simmons and the Safari / WebKit Team Today’s the day for Safari 17.0. It’s now available for iOS 17 and iPadOS 17. [Update September 26th] And now, Safari 17.0 is available for macOS Ventura, and macOS Monterey, and macOS Sonoma. Safari 17.0 is also available in the vision OS Simulator, where you can test your website by downloading the latest beta of Xcode 15, which supports t

                                                                              WebKit Features in Safari 17.0
                                                                            • 【重要】「マシーナリーとも子の徳あつめ」と「ボクーセルーとも子のスシラン」の配信を終了します - evil07の日記

                                                                              日頃「マシーナリーとも子の徳あつめ」と「ボクーセルーとも子のスシラン」をプレイして頂きありがとうございます。 この度、「マシーナリーとも子の徳あつめ」と「ボクーセルーとも子のスシラン」の2タイトルにつきまして、誠に勝手ながら2023年11月30日(木)18:00頃にApp Store/Google Playでの配信を終了させて頂きます。 突然のお知らせとなりましたことを深くお詫び申し上げます。 経緯 配信停止を決断するに至った理由は、一言で言うと「2タイトル分の保守が自分一人だけだと対応できないから」です。 当たり前ですが、iOS/Androidは毎年新しいバージョンが登場し、そして、App Store/Google Playはそれに合わせてOSの最低要件を徐々に上げていきます。 最新のiOS/Androidのバージョンに対応するためには、XcodeやAndroid Studioだけでなく

                                                                                【重要】「マシーナリーとも子の徳あつめ」と「ボクーセルーとも子のスシラン」の配信を終了します - evil07の日記
                                                                              • WEARをリノベ!Objective-CからSwiftへのリプレイス戦略でも使えるスナップショットテスト - ZOZO TECH BLOG

                                                                                目次 目次 はじめに マイページ画面リプレイスに伴う課題 使用したライブラリ Objective-Cでリファレンス、Swiftでテスト リファレンス画像のファイルサイズを小さく デバイスも言語も一気にテスト 複数言語のテスト自動化 複数デバイスを一気にテストする方法 いにしえVCのためのスタブデータの用意 おわりに はじめに みなさん、こんにちは! 松井です。普段はWEAR iOSアプリ開発で、コードを書く筋肉をパンパンに鍛えています。WEARアプリは、長い歴史を持っており、まだまだObjective-Cで書かれたレガシーなコードも居座っているんです。そんな中、私たちは地道にリファクタリングを進めています。そうしたObjective-CからSwiftへのリプレイス戦略において、スナップショットテストを活用したお話をしたいと思います。 スナップショットテストと聞くと、一般的にはコードの修正前

                                                                                  WEARをリノベ!Objective-CからSwiftへのリプレイス戦略でも使えるスナップショットテスト - ZOZO TECH BLOG
                                                                                • 【2023年版】数あるSwiftの非同期処理の実現方法をきちんと理解した上で使い分けよう - machio Development Diary

                                                                                  これは Qiita iOS Advent Calendar 2023 の13日目の記事です。 概観 背景 こんな人へ向けた記事 この記事で扱う非同期処理の実現方法 GCDを用いた非同期処理 GCDとは DispatchQueue DispatchQueueへのタスク引き渡し DispatchQueueの優先度 DispatchQueueの分類 (Private Dispatch Queue) GCDの使い方 Operation、OperationQueueクラスを用いた非同期処理 Operation、OperationQueueクラスとは Operation、OperationQueueクラスの使い方 タスクの定義とキューへの追加 タスク間の依存関係の設定 タスクのキャンセル GCDとの比較 余談:Operationクラスは単体でも実行できる Threadクラスを用いた非同期処理 Thre

                                                                                    【2023年版】数あるSwiftの非同期処理の実現方法をきちんと理解した上で使い分けよう - machio Development Diary