タグ

inventのブックマーク (93,358)

  • WWDC 2024 前の展望:SwiftData の未来の可能性と現実の課題

    2023 年の世界開発者会議(WWDC)で、アップルは待望の新しいデータ管理フレームワーク、SwiftData を発表しました。Core Data の後継として、SwiftData はアップルのエコシステムで重要な役割を果たすことができるでしょうか?2024 年の WWDC が迫る中、この記事では、SwiftData が最初にリリースされてからの全体的なパフォーマンスを評価し(つまり、最初のメジャーバージョンである Xcode 15 の間)、その将来の展望を考察します。 この原文は私のブログ Fatbobman's Blog に掲載されています。SwiftSwiftUI、Core Data、SwiftData に関する最新のアップデートや優れた記事をお見逃しなく。Fatbobman's Swift Weekly に登録して、毎週の洞察と貴重なコンテンツを直接メールボックスにお届けします。

    WWDC 2024 前の展望:SwiftData の未来の可能性と現実の課題
    invent
    invent 2024/06/10
  • The Composable Architectureを使ってみた|TAAT

    iOSアプリの開発ではMVCやMVP、MVVMなどのGUIアーキテクチャが採用されることが多いが、宣言的UIフレームワーク(同様のフレームワークでJetpackComposeやFlutterReactNativeなどがある)であるSwiftUIの登場により、SwiftUI時代に合ったアーキテクチャを検討する必要が出てきた。今回はSwiftUI開発で使えるThe Composable Architectureというアーキテクチャを簡単に紹介する。 宣言的UIとは?宣言的UIでは、アプリのステータスに応じて、どのようなUIになるべきかを宣言的に記述する。また、リアクティブなデータバインディングで実現されるため、データドリブンな方法と言える。そのため、データの流れやステータスの管理が重要になり、モデル層以下がしっかり設計されたアーキテクチャが必要となる。 The Composable Arch

    The Composable Architectureを使ってみた|TAAT
    invent
    invent 2024/06/10
  • TCA の歩き方 2022

    こんにちは、アイカワといいます。 この記事は The Composable Architecture Advent Calendar 2022 の 10 日目の記事になります🙏 今回少し無茶をして TCA のアドベントカレンダーに一人で 7 記事エントリーしてしまっているので、頑張って完走したい気持ちです。 自分自身は元々 TCA を個人的に勉強していたのですが、今年は大変ありがたいことに副業で TCA を使って開発させて頂けていたり、TCA にはプチプチコントリビュートもできたりしていて、TCA に昨年より多く関われて良かったです。 記事では 2022 年も終わるというところで、最近変化が非常に激しい TCA についての個人的におすすめな歩き方を紹介できたら嬉しいなと思っています。 TCA の歩き方ということで、「TCA をまだ使ったことがない」とか「TCA を使い始めているけど難し

    TCA の歩き方 2022
    invent
    invent 2024/06/10
  • git worktreeを使ってプルリクレビューを効率化した話 - freee Developers Hub

    共通マスタ基盤チームにおけるソフトウェアエンジニアのyugoです。 共通マスタ基盤チームは、従業員、商品、取引先といった製品横断で利用できるマスタデータを一元管理し、ユーザーにfreeeプロダクトにおける統合体験を提供できる基盤開発をミッションとしております。 そんな共通マスタ基盤チームチームですが、製品横断で利用されるとだけあり、日々の開発フローでPRレビューの割り込みが多いです。そんな中で、開発フローにgit worktreeを導入してみて、個人的にはPRレビューの割り込み作業時に割と使いやすかったので紹介します。 git worktreeを使うに至る背景 実はfreeeで働く以前、前職で先輩シニアエンジニアが「レビューするときにgitのstagingにあげていない自分の変更を、stashしたり、テキトーにcommitしてからrebaseするなりするの嫌だったら、worktree使った

    git worktreeを使ってプルリクレビューを効率化した話 - freee Developers Hub
    invent
    invent 2024/06/10
  • 社内の問題を解決するためにワークフローエンジンを開発した話

    要約 既存の ETL パイプラインの管理を効率化するため、YAMLでワークフローを定義し、実行できるツールを開発しました。 なぜ Airflow や Prefect を使わないのか? Airflow や Prefect は素晴らしいツールですが、これらのツールでワークフロー(DAG)を定義するには、Python でコードを書く必要があります。 私が関わっている環境では、すでに数十万行のシェルスクリプトや Perl スクリプトのコードがあります。この上に Python のレイヤーを重ねれば、さらに保守が難しくなってしまいます。また、既存のコードを Python に書き換えることも現実的ではありません。 そのため、プログラムを書かずに、ノーコードYAML ファイル)でワークフローを定義でき、既存のプログラムをそのまま利用できる軽量なツールを開発することにしました。 Dagu の仕組み Dag

    社内の問題を解決するためにワークフローエンジンを開発した話
    invent
    invent 2024/06/06
  • プロジェクトにおける監視業務の効率化過程を振り返る - FLINTERS Engineer's Blog

    こんにちは。FLINTERSでデータエンジニアをしている栗原です。今回の投稿はFLINTERSブログ祭りの記事です。テーマは#監視 #通知 #読書感想 です。 背景 私が参加しているプロジェクトでは、以下の監視業務に多くの時間を取られていました。 確認したいこと 日々APIやGA4タグ等からデータを取得 -> DBに保存のようなシステムにおいて、データが過不足なく正常にDBに取り込まれていること 初期確認体制 システムのワークフローが正常に動いたかどうかをメールで毎日通知 たまにDBへのクエリを実行し、取り込み件数を手動で確認する 徐々にこれらの体制を改善し、現時点では初期と比べて大幅に監視にかける時間を削減できたので、その改善の過程を共有したいと思います。 参考書籍ピックアップ: 入門監視 監視業務の効率化に向けて入門 監視―モダンなモニタリングのためのデザインパターンの内容を参考にしま

    プロジェクトにおける監視業務の効率化過程を振り返る - FLINTERS Engineer's Blog
    invent
    invent 2024/06/06
  • GANMA!でマルチモジュール化をするまで - FLINTERS Engineer's Blog

    こんにちは。FLINTERS10周年記念ブログリレーの53日目の担当をします、佐野です。 GANMA!のiOSアプリ開発に長く携わり色々なコードの変遷を見てきた中でも、現在チームでも推し進めているマルチモジュール化に至るまでに多くの変化があったので話していこうと思います。 目次 Embeded Frameworkの導入(4年前〜2年前) Swift Package Managerの導入(2年前) マルチモジュール化の加速(1年前~現在) まとめ Embeded Frameworkの導入(4年前〜2年前) GANMA!では4年ほど前はクリーンアーキテクチャが導入されておりましたが、全てメインターゲットに置かれておりました。これを各レイヤーごとに分離していくためにEmbeded Frameworkが導入され、ApplicationLayer, DomainLayer, DataLayerなど5

    GANMA!でマルチモジュール化をするまで - FLINTERS Engineer's Blog
    invent
    invent 2024/06/06
  • 【SwiftUI】NavigationStackのpathを使って、ログアウト遷移やディープリンク遷移を直感的に書いてみた - Qiita

    前回のおさらい Hashableに準拠するコレクションとして画面一覧をenumで宣言してNavigationStackにpathとして渡し、@ViewBuilder関数を使うことで対応するViewに自動遷移させることができました。 class NavigationRouter: ObservableObject { @Published var path = [ScreenKey]() enum ScreenKey: Hashable { case home case fruitList case fruitDetail(id: String) @ViewBuilder func destination() -> some View { switch self { case .home: HomeView() case .fruitList: FruitListView() case .f

    【SwiftUI】NavigationStackのpathを使って、ログアウト遷移やディープリンク遷移を直感的に書いてみた - Qiita
    invent
    invent 2024/06/04
  • M1 環境で Homebrew 導入コマンドを Xcode から叩けない場合の対処法 - Qiita

    この記事は YUMEMI Advent Calendar 2021 16 日目の記事です。 背景 M1 (Apple Silicon) 環境の Homebrew については、デフォルトのインストール先が /opt/homebrew/bin (+ /opt/homebrew/sbin) へと変更されました。 この設定で Homebrew で導入したコマンドを Xcode の Build Phases 中で叩くと、 command not found のエラーが発生してしまいます。 Xcode のデフォルトの設定のままだと Build Phases 内部の Run Script において PATH に /opt/homebrew/bin が通っていない状態となってしまっているのが原因なので、これを何とか解消しようというのが今回の記事となります。 対象 画像

    M1 環境で Homebrew 導入コマンドを Xcode から叩けない場合の対処法 - Qiita
    invent
    invent 2024/06/04
  • DMMブックスにビジュアルリグレッションテストを導入してみた(iOS版) - DMM inside

    DMMグループ iOSアプリ2023のご紹介!iOSDC Japan 2023に「ゴールドスポンサー」として協賛します!

    DMMブックスにビジュアルリグレッションテストを導入してみた(iOS版) - DMM inside
    invent
    invent 2024/06/04
  • 最新iOSアプリのセキュリティ事情

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    最新iOSアプリのセキュリティ事情
    invent
    invent 2024/06/04
  • SwiftUIでContextMenuのプレビューを別のViewに変えて表示する方法 - FLINTERS Engineer's Blog

    こんにちは。FLINTERSのカレンダー | Advent Calendar 2022 - Qiita 19日目を担当します、佐野です。 今回はSwiftUIで長押ししたViewとは別のViewのプレビューをContextMenuで実装する方法をGANMA!でも実際に実装したので紹介しようと思います。 ContextMenuとは iOS13から導入された機能で長押しすると対象のViewをプレビューするとともにメニューを表示できる機能です。 SwiftUIではViewのmodifierとして提供されていて下のように簡単に書くことができます。 ZStack { Circle() .foregroundColor(.blue) .frame(width: 100) Text("target") } .contextMenu { Button { print("Action1 tapped") }

    SwiftUIでContextMenuのプレビューを別のViewに変えて表示する方法 - FLINTERS Engineer's Blog
    invent
    invent 2024/06/03
  • Amazon アプリストアでスタディサプリ小学・中学講座を公開するまで - スタディサプリ Product Team Blog

    スタディサプリ小学・中学講座を開発している Android エンジニアの @maxfie1d と @omtians9425 です。 2024年2月26日にスタディサプリ小学・中学講座をAmazonアプリストアにて配信を開始致しました。 すなわち今後は Fire タブレット においてもスタディサプリ小学・中学講座をお使いいただくことができます!記事では Amazon アプリストアでの配信にあたり必要な開発や Tips についてお届けします。 学習を始める方におすすめの端末をご紹介|スタディサプリ Fire タブレット、Amazon アプリストアとは Fire タブレットは Amazon から発売されているタブレットで、代表的な Fire HD 10 などに加えてキッズモデルもラインナップされています。 OS には Fire OS が採用されています。Android をベースにした OS で

    Amazon アプリストアでスタディサプリ小学・中学講座を公開するまで - スタディサプリ Product Team Blog
    invent
    invent 2024/05/31
  • Swiftの新テストライブラリ「swift-testing」特徴と導入

    公開日: 2023年10月 記事は、2023年10月時点の情報に基づいています。swift-testingの進化や変更については、公式のドキュメントや関連リソースを参照してください。 はじめに Swiftの開発環境は日々進化を続けています。その中でもユニットテストの領域において、Appleが最近公開したswift-testingライブラリが注目を浴びています。このライブラリに組み込まれているTestingというフレームワークは、多彩な新機能を持ち合わせており、現在のXCTestから大きく進化しています。現段階ではXcodeとの直接的な統合は見られませんが、将来的には統合される可能性があります。 今回の記事では、この新ライブラリの特徴、XCTestとの違い、そして移行方法について詳しく解説していきます。 背景: なぜswift-testingなのか? XCTestの歴史 XCTestは、も

    Swiftの新テストライブラリ「swift-testing」特徴と導入
    invent
    invent 2024/05/31
  • Railsで毎秒・毎分変化する値を、cronなしでどう実装するか - 独学エンジニアの記録帳

    こんにちは。 entershareで働いているじゅんと言います。 普段仕事ではRubyを使っています。 最近とあるプロジェクトで、「ある一定のルールに従って毎秒値を変化させていく」という機能を実装する機会がありました。 自分の実装した内容を詳しくは話すことはできませんが、例えばソシャゲで毎秒ごとにユーザーの体力が0.01だけ回復していくという仕様や、セールで売られている商品の価格が毎秒1円ずつ安くなっていくような仕様を思い浮かべてください。 (ここでは毎秒と言いましたが、毎秒でなくても毎分でも毎時でも同じです。) これと似たような仕様で、「1日に一回ユーザーの体力を全回復する」といったようなものもあります。 この場合、毎日深夜の0時ぴったりにcronを回して全てのユーザーの体力を回復させる処理を行えばOKです。 (例えばusersテーブルにlifeとmax_lifeいうカラムがあるのであれ

    Railsで毎秒・毎分変化する値を、cronなしでどう実装するか - 独学エンジニアの記録帳
    invent
    invent 2024/05/29
  • 「iOS 17.5.1」で修正された数年前に削除した写真が復活するバグの要因が明らかに ー 売却済みのデバイスでも復活したという主張は誤り | 気になる、記になる…

    ホームAppleiPhone「iOS 17.5.1」で修正された数年前に削除した写真が復活するバグの要因が明らかに ー 売却済みのデバイスでも復活したという主張は誤り 先日、Appleは「iOS 17.5.1」と「iPadOS 17.5.1」をリリースし、「写真」アプリで数年前に削除した写真が復活するバグを修正したものの、数年前に削除したはずの写真がどのようにして復活するのか、モヤモヤが残ったままでしたが、9To5Macが、そのバグの要因についての続報を公開しています。 問題となったバグは、古いもので2010年までさかのぼる日付の写真が削除したはずなのに復活してしまうといったもので、Appleはその要因として”データベースの破損”とだけ案内しており、当初、iCloudに写真をバックアップ・同期できる「iCloud写真」に何らかの原因があるのではないかとみられていましたが、Appleによると

    「iOS 17.5.1」で修正された数年前に削除した写真が復活するバグの要因が明らかに ー 売却済みのデバイスでも復活したという主張は誤り | 気になる、記になる…
    invent
    invent 2024/05/24
  • Apple、「iPhoneのタッチ決済」を日本でも提供開始 | 気になる、記になる…

    日、Appleが、対面での非接触決済にiPhoneだけで対応できる「iPhoneのタッチ決済」の提供を日でも開始しました。 これにより、中小規模の事業者から大型小売店まで、手持ちのiPhoneを使って、シームレスかつ安全に、非接触決済のクレジットカードやデビットカード、Apple Pay、その他のデジタルウォレットに対応できるようになります。使用するのはiPhoneとパートナーの対応iOSアプリだけで、その他のハードウェアや決済端末は必要ありません。 事業者は、対応するiOSアプリでiPhoneのタッチ決済を使い始めることができ、会計時に顧客の非接触決済のクレジットカードやデビットカード、iPhoneApple Watch、その他のデジタルウォレットを事業者のiPhoneにかざしてもらうだけでNFCテクノロジーを利用して安全に支払いが完了します。 日より、GMOフィナンシャルゲート

    Apple、「iPhoneのタッチ決済」を日本でも提供開始 | 気になる、記になる…
    invent
    invent 2024/05/16
  • Cloud FunctionsをJPリージョンにデプロイする - Firebaseで遊ぼう!

    Firebaseを使って遊ぶ記事です。スクリーンショット満載でやった気になれます。 概要 FirebaseのCloud Functions(v2)をJPリージョンにデプロイします。 ゴール 少しわかりにくいですが、関数のhelloworldの下に「asia-northeast1」の表記があり、東京リージョンにデプロイされていることがわかります。 必要なもの 作業時間:10分 費用:無料 cloudfunctionsが利用可能なfirebaseプロジェクト 準備できていない場合は Cloud Functions 最初の1歩 を参考に準備してください。 作業手順 Functionsのデプロイ先はまとめてJPリージョンに設定する 関数を追加するごとに日リージョンを指定するのは面倒なので、すべての関数が日リージョンにデプロイされるように設定します。 FirebaseのCloud Functio

    Cloud FunctionsをJPリージョンにデプロイする - Firebaseで遊ぼう!
    invent
    invent 2024/05/14
  • 「Firebase Authentication 7つの落とし穴」のリスクを再整理する

    https://twitter.com/kuwahara_jsri のやってる朝活Twitterスペースで以下の記事を知りました。 もちろんこういったリスクを列挙、検討するのは重要なことなのですが、 Firebase Authentication関係ない話では あれ、仕様に関して勘違いしてる? というのがいくつかあったので、再整理していきます。リスクは列挙することには業務上あまり意味はなく、評価され、リスクを受け入れるか外すかを判断するところが重要なので。 IDaaSは脆弱性を生み出すか IDaaS を導入することにより、逆に脆弱性が生まれることもあります。(中略) Firebase Authentication は他の IDaaS と比べて設定項目が少ないという特徴があります。 もちろんここに書かれてることは間違いではありません。ただ、少し実装にフォーカスが寄りすぎていると思っています。

    「Firebase Authentication 7つの落とし穴」のリスクを再整理する
    invent
    invent 2024/05/14
  • 開発組織の新しいコアバリューを定めました - トレタ開発者ブログ

    こんにちは、トレタ VPoEの北川です。 先日VPoEに就任したご報告をしましたが、あわせて開発組織内のコアバリューを新しくしました。 この記事ではその新しいコアバリューについて書こうと思います。 tech.toreta.in 新しいコアバリュー 「短く速く作り出そう。遠いゴールを目指して飛び込もう。(Dash & Dive)」 トレタの会社全体のビジョンやミッション、行動指針などはありますが、その中でも現時点での開発組織としての重心としたい要素をこの言葉にまとめました。 盛り込みたい要素はいろいろとありましたが、なるべく短い言葉にしたかったのでそこに込めた背景を説明していきます。 短距離走ではなく長距離走でもなく、短距離走の連続 トレタはベンチャー企業である以上、短期間での開発&リリースが求められるプロジェクトは少なくないです。 新規プロダクトを2ヶ月で作り上げてリリースする等、ユーザー

    開発組織の新しいコアバリューを定めました - トレタ開発者ブログ
    invent
    invent 2024/05/14