DriverPack Onlineの更新および拡張されたバージョン-最初の重要度、番号で16

数百台のオフィスおよび自宅のPCをサポートする場合、ユニバーサルドライバーのセットなしではできません。 間違いなく、ここで最も人気のあるソリューションはDriverPack Fullで、これには10 GBの巨大なドライバーベースがあります! これらは、手動でコンパイルおよびテストされた最大910,000個のドライバーです。



1台のコンピューターのみを構成する必要がある場合は、10 Gbをまったくダウンロードしたくないため、DriverPack Onlineが作成されました。 彼には欠陥があり、新しいリリースで修正しようとしました。 それでは、最も興味深い開発ポイントについて詳しく見ていきましょう。







ゼロから



DriverPack Onlineをゼロから書き直してリバースエンジニアリングすることが決定されました。 私たちの目標は、フルバージョンの機能をユーザーに提供する簡単でシンプルなアプリケーションを作成することでした。



同じ技術スタックを使用しまし 。 HTAが嫌いな人がいることは知っています。 しかし、友人、これはユーザーが必要とする方法で機能します。



少なくとも1回VBScriptスクリプトを作成したり、「名刺サイト」をリベットした管理者は、DriverPackを問題なく「ファイリング」できます。 編集は不要で、HTMLとJavaScriptだけで、学生でも理解できます。



そして、はい、node-webkitで実験しました-それは私たちには合いませんでした。







分析



Webには多くの標準ソリューションがあり、それらをデスクトップに転送することができました。 Statistics.jsスクリプトを使用して、イベントがアプリケーションからGoogleアナリティクスとYandex.Metricaに送信されます。



Statistics.jsでできること:



イベントをディスパッチするための構文は非常に簡単です。



statistics.event(

{

category: 'desktop',

action: 'opened',

label: '16.1.1'

}

);









これにより、問題を分析し、ユーザーがそれを記述する前であっても、失敗または互換性のないドライバーと構成を見つけることができます...そして最終的に、製品自体がユーザーにとってどれほど便利で理解できるかを理解する必要があります。



DriverPackから送信されるイベントのマップは次のようになります。







Google AnalyticsとClientID



Googleアナリティクスでは、外部イベントはMeasurement Protocolプロトコルを介して送信されるため、その統合は問題を引き起こしませんでした。 しかし、さらに進んで、サイトからClientIDをアプリケーションに直接投げる方法を学びました! これは、ユーザーが最初にどこから来たのか、どの検索フレーズでそれを理解し、これをユーザーがアプリケーション内で行っていることと関連付けるために必要です。



サイトからアプリケーションに、ClientIDは次のようにファイル名を介して転送されます。



download.drp.su/online/DriverPack-Online_2089238336.1403776545.exe









設定がいかに簡単かについては詳しく説明できますが、別の投稿で、誰かが興味を持っている場合は。



Yandex.Metrica



Google Analyticsは優れていますが、2つのツールの方が優れているため、Metricaを使用しました。 Google Analyticsの大きなマイナス点は「サンプリング」です。これは、トラフィックの多いリソースに含まれます。 それはデータを非常に激しく打ち、あなたはもはやそのような統計を信じることができません。 Yandex.Metricaは、Googleアナリティクスのデータに関する結論を検証/確認するのに役立ちます。



Metricにはイベントを送信するためのREST APIがないため、Metricをいじる必要がありました。 しかし、HTAを使用して、通常のJavaScriptトラッキングコードで友達を作ることができました。



ユーザーアクション(ヒット)に関するイベントを "Metric"に送信することにより、コンピューターの構成に関する情報を含むJSONオブジェクトも送信します。



メトリクスインターフェースを使用すると、このデータを操作して非常に興味深いインサイダーを見つけることができます。以下は、2つのグループのユーザーのコンピューターでアプリケーションを使用するための障害インジケーターのある画面です。RAM容量は1 Gbまたは2 Gb以上です。







この図から、1 GbのRAMを搭載したコンピューターのユーザーは、より多くのメモリを搭載したコンピューターのユーザーよりも1.5倍の障害率があると結論付けることができます。 これはかなり単純な結論ですが、時には非常に明白なことがあります。



自動テスト



HTA-Internet Explorerエンジンで実行されるため、DriverPackは完全に異なる環境で正しく動作し、異なるエンジンで実行されるはずです。 「Window 8.1 x IE6」という形式の不可能な組み合わせを無視すると、オプションの数はデカルト製品[Windows ver] x [IE ver]であると言えます。これはユーザーのコンピューター上のウイルス対策動物園に何が起こるかは言うまでもありません。



これをすべてテストするために、次のことを行います。

1.一連のvirtualoksを作成します。

2.アプリケーションの最新バージョンは、Dropboxを通じて展開されます。

3.単体テストは、スケジューラを介して毎分起動されます。

4.マシンからのレポートは1つのDropboxフォルダーに収集されます。



したがって、テストプロセスのコストを大幅に削減しました。







ドライバーテスト



アプリケーションコードを自動テストでカバーします。 ただし、仮想マシンで910,000個のドライバーをテストすることはできません。 そのため、Habréで説明されている「Remote Driver Testing Laboratory」を作成しました。



これらすべては、私たちの意見では、新しいミニマルなデザインです。



最後に



DriverPackをオンラインでダウンロード: http : //drp.su/ru/

GitHubページ: https : //github.com/DriverPackSolution/DriverPack-Solution/tree/DriverPack-16

変更ログ: https : //github.com/DriverPackSolution/DriverPack-Solution/commits/DriverPack-16?page=1



新しいバージョンの変更ログ、慎重に!






PS 以前の出版物のいずれかに回答してくれた人々に感謝します。



DriverPackを少し改善するのを本当に助けてくれました。高速で信頼性が高く、同時にすべてのユーザーが簡単に理解できるようにします。



アプリケーションの設計については、 Denis Sedchenkoに感謝します。



All Articles