Creating a packet capture app without a remote VPN server with a Network Extension framework. Network Extensionおよびパケットキャプチャの概要 VPNの仕組み Network Exte…
![Network ExtensionでiOSデバイス上で動くパケットキャプチャを作る](https://cdn-ak-scissors.b.st-hatena.com/image/square/1888595ab3ba208214d39f8c61b81d5ab2a2e933/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F6d8d3afb2ae242febdd24e36d1369d90%2Fslide_0.jpg%3F19055166)
はじめまして!フロントエンドエンジニアの樫福 @cashfooooou です。 タイミーでは Next.js × TypeScript で toB 向け管理画面を作成しています。 この記事は、toB向けの管理画面の開発時に筆者が気づいたコンポーネント間の責務の明確化の必要性と、 TypeScript の型を用いて責務の分割をサポートする方法の紹介しています。 背景 利用者の様々なニーズに応えるために、toB向け管理画面には様々なページが実装されています。 2つ以上のページを実装していると、それぞれのページで実装の粒度がバラバラになることがあります。 一方ではフックの中で実装していたようなロジックが、他方ではコンポーネントで実装されている あるページのコンポーネントは複数のファイルに分割しているけど、こちらのページでは巨大な一つのファイルで実装が完結している 属人的な責務の分割が失敗した様子
はじめに はじめまして、Androidエンジニアのmurata(@orerus)です。 アイラ系ウイスキーを愛していますが、肝臓が弱まってきた為最近は専ら0.5%ハイボールを愛飲しています。 本記事では、タイミーのモバイルアプリ開発におけるSLO(サービスレベル目標)を設けているメトリクスのちょっとした改善事例について紹介します。 SLOとは何かといった話やタイミーで運用しているSLOについてはこちらの記事にて詳しく紹介していますので是非ご覧ください! 本記事の概略 タイミーのワーカーチームでは、モバイルアプリ開発における指標の一つであるクラッシュフリーレートをSLI(サービスレベル指標)としてSLOの運用を行っています。 しかし、長く運用する中で、SLO運用に期待されている「当たり前品質と攻めたリリースのバランスを取る」「当たり前品質の低下をいち早く検知する」「適切なタイミングでプロダク
概要 iOS16が出ましたね。経験上、多くの企業は大体最新のOSバージョンから2バージョンまでをサポートする傾向にあると思うのでそろそろiOS15以降をターゲットにしたアプリも増えてくる頃だと思います。 SwiftUIでは下のように同じViewに連続して .alert Modifierをつけると片方のアラートが表示されないというバグが存在していました。しかし、この記事の結論でもありますが、iOS15以降から使える .alert 系のModifierを使うとこのバグを回避できます。iOS15以降のサポートになったらそれらを使っていきましょう。 alert(isPresented:content:) struct ContentView: View { @State private var isPresented1 = false @State private var isPresented2
長らく自動テストとテスト容易設計を生業としてきましたが、最近は色々な限界を感じて形式手法に取り組んでいます。 この記事では、既存の自動テストのどこに限界を感じてなぜ形式手法が必要なのかの私見を説明します。なお、私もまだ完全理解には程遠いため間違いがあるかもしれません。ご指摘やご意見はぜひ Kuniwak までいただけると嬉しいです。 著者について プログラマです。開発プロセスをよくするための自発的な自動テストを支援する仕事をしています(経歴)。ここ一年は R&D 的な位置付けで形式手法もやっています。 自動テストの限界 自動テストとは 私がここ数年悩んでいたことは、iOS や Web アプリなどのモデル層のバグを従来の自動テストで見つけられないことでした。ただ、いきなりこの話で始めると理解しづらいと思うので簡単な例から出発します。 この記事でいう自動テストとは以下のようにテスト対象を実際に
iOSアプリで時間のかかる処理が発生すると何が起こるのでしょうか? デモアプリを用意したので、手元で確認しながら読み進めることをできるようにしています。 はじめに レビューをしていて時間のかかる処理に対して、iOSアプリではこれを使えば良いと示すのは簡単ですが、どうしてそれが必要なのか順序立てて説明するために今回の記事を書きました。 フレームワークが高度に抽象化し、良しなにやってくれるので、現代のプログラミングにおいては知らなくて良いことの一つかもしれません。 時間のかかる処理とは 例えば、以下のようなアプリがあったとして、「Push Me!」のボタンをタップしたとします。 すると、地球のアイコンがインジケーターに変わって回転のアニメーションが始まり、何か処理を行なっている様子を感じ取れます。しばらくすると、インジケーターが地球のアイコンに戻り、処理が完了した様子を感じ取れます。 iOSア
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く