タグ

ブックマーク / zenn.dev (267)

  • Shorebirdが開発するFlutter用の『Code Push』とは

    はじめに Shorebird は Flutter 開発でビジネスを成功できるように、必要な製品を開発するパブリックな組織です。プロダクトはすべてオープンソースであり、開発の状況も Discord で公開されています。チームには、Flutter 創設者の Eric Seidel 氏はじめ、Bloc や Mason の作者でもある Felix Angelov 氏など、言わずと知れた Flutter のエキスパートによって構成されています。 そして、現在プロダクトとして公開されているのが「Code Push」となります。今後は他にもたくさんプロダクトを開発するのだと思いますが、執筆時点で公式サイトに掲載されているのは Code Push のみです(GitHub を見ると他にも開発していることがわかります)。 Code Push は、アプリストアを経由せずにユーザーの手元にインストールされたアプリ

    Shorebirdが開発するFlutter用の『Code Push』とは
    invent
    invent 2024/08/21
  • QAにおける進捗管理のやり方

    はじめに 私は2015年からテストエンジニアとして活動を始めました。最初の6年はシステムテスト・アドホックテストを中心としたテスト実行業務を従事し、その後の2年はテスト実行チームのチームマネジメントを行っていました。 2023年10月に株式会社ビットキーに入社し、テスト分析・テスト設計・テスト実装のテスト活動を担当し、現在はテスト自動化作業に取り組んでいます。 自己紹介としては以上となりますが、上記で触れたチームマネジメントについて、もう少し深掘りしたいと思います。 一般的にチームマネジメントといわれる業務は様々ですが、私が担当していた業務は「チームのテスト進捗管理」「チームの運営」「チームメンバーの教育」です。 個々の業務の説明については割愛させていただきますが、その中でも特に印象に残った業務が「チームのテスト進捗管理」です。 なぜ印象に残っているのかというと、単純に難しいからです。 そ

    QAにおける進捗管理のやり方
    invent
    invent 2024/07/23
  • WWDC 2024 開催前に:2019 年から 2023 年にかけての SwiftUI の重要なアップグレードとその影響について

    WWDC 2024 開催前に:2019 年から 2023 年にかけての SwiftUI の重要なアップグレードとその影響について 人々が久しぶりに再会する時、友人の変化に驚くことがよくあります。一方で、日々共に過ごす人々の変化は、しばしば見過ごされがちです。この記事では、最初のバージョンから私に深い印象を残した SwiftUI の重要なアップデートとその影響を整理します。これは SwiftUI の誕生から成熟への過程を振り返るだけでなく、その持つ活力に新たに気づく機会でもあります。 各 SwiftUI のアップデートは多くの新機能と新特性をもたらします。この記事では、私にとって大きな影響を与えた変更を主に議論し、SwiftUI および Apple エコシステムに密接に関連する他のフレームワークや機能の進化を探り、それらがどのように共同で今日私たちが使用しているプラットフォームを形成している

    WWDC 2024 開催前に:2019 年から 2023 年にかけての SwiftUI の重要なアップグレードとその影響について
    invent
    invent 2024/07/23
  • WWDC2024から見る開発Tipsまとめ

    ベースのセッション コード補完 Swift用にトレーニングされたオンデバイスコーディングモデルを使用することでより強力なコード補完が実現 周りのコードやコメントも参照する Apple Silicon, MacOS Sequoia, Xcode16, UnifiedMemory16GBの環境で使用できる 使用している環境が対応しているかどうかはXcode16の設定>TextEditing>Editing>Predictive Code Completionでチェック可能 Swift6 Upcoming Features Swift6では、同時実行の安全性を保証する新しい言語モードが追加される これらを利用するには、Swift6言語モードを採用する必要がある しかしXcode16ではそれぞれの今後の言語機能の警告を段階的に有効にすることが可能で、小さく始めることができる Build Setti

    WWDC2024から見る開発Tipsまとめ
    invent
    invent 2024/07/23
  • 【iOS 18】MapKitの検索機能のアップデートまとめ

    iOS 18, macOS 15, visionOS 2でMapKitの検索機能が強化された。そのあたりについてのWWDC24での解説や公式サンプルの実装、ドキュメント(APIリファレンス)の記載内容についてまとめる。 WWDC24のセッションでの解説 アップデート概要 今年、検索結果をフィルタリングする新しい方法を含む、検索APIに改良を加えました。 音楽会場、スケート場、お城など、より多くの種類の場所を検索できます。 川や山脈などの物理的な特徴を検索できます。 市や郵便番号など、住所を構成する特定の要素を検索することもできます。 特定の境界領域に限定した検索が可能になったので、重要なエリアだけに焦点を絞ることができます。 また、サーバーAPIのために、ページ分割機能を追加しました。 これにより、大量の検索結果が得られるようになりました。実際、何ページもある! 実装解説 これらの新しい検

    【iOS 18】MapKitの検索機能のアップデートまとめ
    invent
    invent 2024/07/23
  • Firebase の API キーは公開しても大丈夫?

    1. 公開を前提としている Firebase の API キーは、クライアントサイドのコードで使用することを前提に設計されています。 そのため、クライアントサイドのアプリケーションで Firebase SDK を初期化して、Firestore, Realtime Database, Cloud Storage for Firebase, Firebase Authentication など、各種サービスにアクセスするために、このキーが必要になるということです。 クライアントサイドでの Firebase SDK 初期化例 // File generated by FlutterFire CLI. // ignore_for_file: lines_longer_than_80_chars, avoid_classes_with_only_static_members import 'pack

    Firebase の API キーは公開しても大丈夫?
    invent
    invent 2024/07/23
  • SwiftのSendableプロトコルとは何か

    SwiftのSendableプロトコル SwiftのSendableプロトコルは、特定の型が同時実行(Concurrency)環境で安全に送信(共有)できることを示すためのものです。この「送信」という概念には、データの所有権の移転が含まれています。所有権の移転により、データが一度「送信」されると、受け取った側がそのデータを独占的に利用できることを意味します。これにより、同時に複数の場所からのアクセスや変更が防がれます。Sendableプロトコルはデータの安全な送信と同時アクセスを助け、データ競合やレースコンディションといった多スレッドプログラミングの一般的な問題を防ぐ役割があります。 Sendableは基的にマーカープロトコルで、その実装自体には要求されるメソッドやプロパティはありません。型がSendableプロトコルを採用することで、その型のインスタンスが安全に送信(共有)できることを

    SwiftのSendableプロトコルとは何か
    invent
    invent 2024/07/11
  • VSCode の ruby-lsp 拡張でコードジャンプができるようになるまでにやったこと

    はじめに VSCodeRuby の開発を行う場合、多くの方は元々rebornix.Ruby拡張を使っていたと思います。 しかしこちらの拡張は去年時点ですでに非推奨となっており、現在はインストールできません。 後継としてShopify.ruby-lspの使用が推奨されています。 多くの方がおそらくそうしているように、私もこちらの拡張に切り替えたのですが、rebornix.Rubyでできていた定義元へのコードジャンプ(cmd+クリック)ができなくなってしまいました。 ruby-lspは起動しているが、cmd+クリックしても何も起こらず、F12やサブメニューの「定義へ移動」をクリックしても「〜〜の定義は見つかりません」と表示される状況でした。 色々やってたら無事コードジャンプできるようになったので、試したことをまとめます。 結論 rubocop の拡張(misogi.ruby-ruboco

    VSCode の ruby-lsp 拡張でコードジャンプができるようになるまでにやったこと
    invent
    invent 2024/07/10
  • Ruby 3.3 + YJITにアップデートしてパフォーマンスが大幅に向上しました

    if defined? RubyVM::YJIT.enable Rails.application.config.after_initialize do RubyVM::YJIT.enable end end ちなみにRailsでも7.2からはデフォルトで上記の方法でYJITが有効化されます。 Ruby 3.3のYJITの改善点についてさらに詳しく知りたい方は、k0kubunさんの以下の記事が詳しいのでぜひ参考にしてみてください。 また、3.2から3.3にかけてどのように高速化したかについては、k0kubunさんがRubyKaigiでも発表していてとても興味深かったです。 結果 ここからはRuby 3.3.1 + YJITにアップデートした結果について紹介します。 前提 前提として、今回アップデートしたアプリケーションのRubyRailsのバージョンは以下となっています。 アップデート

    Ruby 3.3 + YJITにアップデートしてパフォーマンスが大幅に向上しました
    invent
    invent 2024/07/10
  • 暗号化に対応した次世代dotenvツールdotenvxを使う

    特に一番最後の暗号化サポートは非常に嬉しい進化です。dotenv単体で環境変数を運用すると、秘匿情報が含まれたdotenvファイル自体の管理に困ることや、デプロイする際にどうやって環境変数を提供するかが課題になることがありました。 現代ではクラウドプラットフォーム上にシークレットマネージャーのような仕組みが用意され、そこで中央管理するというのが一般的になっているかと思います。ただ、それだと変数のバージョン管理やレビューの仕組みを別途用意しないといけなかったりと完全ではありません(個人的主観です)。 dotenvファイル自体が暗号化され、Gitでバージョン管理でき、そのままデプロイして環境変数を適用できたら運用の手間が一気に減ります。

    暗号化に対応した次世代dotenvツールdotenvxを使う
    invent
    invent 2024/07/02
  • メール送信サービスのResendが日本でもまともに使えるようになったので紹介したい

    API経由でメール送信をするためのサービスといえば、SendGrid, Amazon SES, Postmarkのような名前が出てくるかと思います。 そんな中、弊社(トラストハブ)でも利用しているResendというサービスがとても使いやすいので紹介します。また、記事後半でResendを日で使うにあたり重要なアップデートがあったので、どんな点が変わったかを紹介します。 そもそもResendとはどんなサービスか Resendは後発サービスなだけあり、開発体験の良さに主眼が置かれて開発されています。テストでメールが送信できていることを確認する機能や、ログを確認する機能など、細かいところが使い勝手が良いなと感じています。 SDK・設定がシンプル 公式でたくさんの言語のSDKが用意されています。また、フレームワークごとに組み込むためのドキュメントも充実しています。 Knowledge Baseを見

    メール送信サービスのResendが日本でもまともに使えるようになったので紹介したい
    invent
    invent 2024/06/20
  • それAmazon AppFlowでよくない?

    Amazon AppFlowの話を出すと意外と知らない方が多くて、はぇ~ってなってます。 便利だし個人的には好きなサービスなので、これを機に知ってもらいたいなぁ…と思いながら書きます。 Amazon AppFlowを簡単に Amazon AppFlowはSaasとAWS間のデータ転送をコーディングなしで実現できるサービスです。 一応SaasとAWS間と記載していますが、AWSサービス間のデータ転送(S3→S3とかS3→Redshiftとか)も実現可能です。 SalesforceとかServicenowとかDatadogとか諸々、Saasについてはみなさんご利用されていると思います。 その際、例えばServicenowだとテーブルの情報とか、Datadogとか監視系だとログ、メトリクスなどの情報をバックアップみたいに取得して保管しておいたり、そのデータをさらに分析などに利用したりすることがあ

    それAmazon AppFlowでよくない?
    invent
    invent 2024/06/12
  • 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
  • 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
  • 社内の問題を解決するためにワークフローエンジンを開発した話

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

    社内の問題を解決するためにワークフローエンジンを開発した話
    invent
    invent 2024/06/06
  • 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
  • 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
  • Swift 6 に備える - 今後の機能(Upcoming Feature)の段階的適用 編

    チートシート Swift 6 がやってくる 記事執筆時点では Swift 5.9 までがリリース済み、これから Xcode 15.3 とともに Swift 5.10 がリリースされようとしています。それではその次は 5.11…… と思われましたが、Apple の @hollyborla 氏によって「Swift 5.10 の次は Swift 6 となる」ことが言及されています。 Swift 5 の間、さまざまな機能が Swift には追加されてきました。それらの中には影響範囲が大きいとみられるものも含まれており、「この機能のうちの◯◯までは Swift 5 で、××は Swift 6 で有効になる」というようなものがいくつか存在します("××" が影響が大きいとされるものであることが多い)。 ここでの「影響が大きい」とは、コード自体はそのままで Swift の(コンパイラの)バージョンを上げ

    Swift 6 に備える - 今後の機能(Upcoming Feature)の段階的適用 編
    invent
    invent 2024/03/21
  • AWS AthenaとS3 Selectの違いについて

    概要 S3内のオブジェクトを分析するサービスにAthenaとS3 Selectがあるが両者の違いについて、複雑なクエリを行えるのがAthenaで単一のオブジェクトに対して簡単なクエリを実行できるのがS3 Selectなんやろ?くらいの認識ではっきりとした違いが分からなかったので、少し勉強してみた際のメモです。 Athena AWS Athenaは、サーバーレスのクエリサービスであり、Amazon S3上の構造化・半構造化データを直接SQLを使用して分析することができます。主に大量のデータを検索・分析する際に適しており、データウェアハウスやビッグデータ分析のために使用される。 特徴 サーバーレス インフラストラクチャの管理やプロビジョニングが不要で、クエリ実行時にのみコストが発生する。 実際にスキャンされたデータ量に対してのみ課金が発生され、料金は東京リージョンの場合、スキャンデータ1TBあ

    AWS AthenaとS3 Selectの違いについて
    invent
    invent 2024/03/13