DotNext 2018 Piterレビュー

カンファレンスDotNext 2018 Piter

日付 :2018年4月22-23日

場所 :サンクトペテルブルク、ホテルパークインバイラディソンプルコフスカヤ

次のDotNextは1か月以内になります。 このプログラムとレポートについては膨大な量の作業が行われましたが、それを紹介するために、Roman Nevolinにそのことについて話してもらいました。 RomanはDotNext PCのメンバーであり、開発者および講演者として、ハイテクプロジェクトでデータを扱うことを専門とし、機械学習の分野での研究と、独自の機械学習ツールの開発に従事しています。 「F#the Glory of Data Science」「.NET Machine Learning」などの講演に参加できます 。 床をローマに譲ります。







こんにちは、Habr! 私の名前はローマです。私はDotNext会議のプログラム委員会のメンバーの一人です。 今年、これまでにないほど、私たちのプログラムを誇りに思っています。 会議で長い間見たかった多くの人々を招待することができました。最も重要なことは、.NETの多様性を示すために、さまざまなトピック間のバランスをとることです。 セキュリティからXamarin、過酷なエンタープライズ開発から量子コンピュータープログラミングまで、可能な限り多くのトピックを取り上げ、さまざまな角度からそれらを表示するようにしました。







そして、こうした多様性のすべてに簡単に迷ってしまうので、会議レポートのレビューを2つの記事に分けて行いました。 この部分では、DotNextが常に有名だった最もハードコアなテーマ。 この記事は、トレーニングレポートの記録、スライド、レポートの概要など、現在持っている資料の印象に基づいていることを事前に警告したいと思います。 また、多くの講演者は会議の1週間前にレポートの内容の半分を作り直すという習慣があるため、何かが変わる可能性があります。















性能



パフォーマンスは、常にDotNextの視聴者にとって最も興味深いトピックの1つです。パフォーマンスレポートは常に満席になります。そのため、毎年、新しい興味深いレポート(およびスピーカー!)を見つけようとしています。







私にとってこのカテゴリで最も興味深いのは、さまざまなトピックに関する優れた書籍や記事で知られるAndrei Alexandrescuのレポートと、彼が著者の1人であるプログラミング言語Dです。 他の多くのパフォーマンスレポートとは異なり、このレポートはフレームワークの内部には影響しません。 代わりに、Andreiは高性能アルゴリズムの開発の原則について説明し、明確な例でそれらを実証します。 このアプローチにより、アプリケーションのパフォーマンスについて考えたことがない人でも、レポートが役立ちます。 しかし、私はあなたに警告します-ここでのアルゴリズムのハードコアは、端を越えて注いでいるだけなので、事前に準備する必要があります。 AndreiのWebサイトのレビューの1つに次のように書かれています。「私が言わなければならないのは、心==吹き飛ばされただけです。」







フェデリコロイスは、この問題を別の観点から見ています。彼は、鉄に直接関係するパフォーマンスの側面について語っています。 たとえば、CPUアーキテクチャがアプリケーションのさまざまなパフォーマンスパラメーターにどのように影響するか、CoreCLR 2.1で何が変更されたかを確認できます。 これはすべて、Federicoによって開発された.NETの高性能NoSQLデータベースであるRavenDBの例によって実証されます。 ちなみに、昨年彼のレポートは会議のトップ5の最高のレポートになりました。 確かに今回はそれほど面白くないでしょう。







CLRとランタイム



このカテゴリには、フレームワークの実装の低レベルの機能に関するレポートがありますが、これはあまり頻繁に出会うことはなく、それらについてもかなり知っています。 さらに重要なのは、.NETの複雑さや機能について、毎日作業している人々から学ぶ機会です。







.NETコミュニティであまり頻繁に議論されていないトピックの1つは、Ahead-Of-Timeコンパイルです。 そして、それが何であるのか、なぜそれが必要なのかを知りたい場合は、エリザベス・ゴレノックのレポート「AOTコンパイルを正しく使用している」を聞いてください。 彼女はさまざまなタイプの編集を扱った経験が豊富であるため、AOTの編集が必要かどうか、それと一緒に暮らす方法、そしてそれが勝利に役立つことを明確に説明できますが、同時にAOTがどこにでもあることを教えてくれます。







このカテゴリの別の興味深いレポートは、SKB KonturのEvgeny Peshkovによって作成され、.NETの特別な例外について説明します。 そのような新しい未知のものがあるかもしれないと思われますか? ただし、めったに発生しない例外が多数ありますが、オペレーティングシステムまたはランタイムレベルでエラーが発生したときに発生するため、まったく発生しなかった方が良いでしょう。そのような各例外は、長いデバッグ、メモリダンプの選択、StackOverflowの質問を約束します。 おそらく、この特定のレポートは、そのような例外の原因と結果を事前に知らせることで、いつかあなたの時間と神経を節約するでしょう。







また、フレームワーク内部に関するプログラムの最後のレポートは、「。NETのマルチスレッド構造」です。 どのように機能しますか?」 .NETでのマルチスレッドの実装の機能を明らかにし、標準の競合コレクションの背後にあるものを示します。 あなたがそれがすべてどのように機能するかを理解する精神に決して欠けていなければ、Dmitry Ivanovによる報告書があなたが必要とするものです。 彼は一方ではマルチスレッドでの膨大な経験を持ち(ReSharperとRiderの開発はあなたにとってリベットではありません)、他方では彼は型や会議で話すことの一定の経験を持っています。これにより、この経験を理解できる形に変換してあなたに伝えることができます。







デバッグとテスト



おそらく、変数の名前を作成するよりも時間がかかりますが、プログラマはたった1つのことだけを行います。コードのデバッグです。 陰湿なバグを見つけることに失敗した試行にどれだけの時間を費やしたか、どこにあるかわからないように隠され、奇妙な金曜日にのみ現れました-数えないでください! このカテゴリのレポートは、他の人の経験を活用するのに役立ち、コードを改善し、生活を楽にすることで時間を大幅に節約します。







まずは、興味をそそるタイトル「デバッグの主な秘密」を持つセルゲイシュチェグリコビッチのレポートから始めましょう。 私はただあなたがそれに耳を傾けるだけだと信じたいです-そしてそれだけです、バグは自分自身を修正し、「このいまいましい実行がクラッシュする理由」という質問は二度とあなたを苦しめません。 ですから、この報告をすでに聞いた人として、あなたを失望させざるをえません-バグ自体は修正されていません。 しかし、私はUniversal Error Search Algorithmを手に入れ、どのような場合に大声で叫ぶ価値があるのか​​を理解しました:「これは私のバグではありません!」(ネタバレなし)、そして一般的に知識を体系化しました。 私の意見では、絶対に誰もがレポートに注意を払う必要があります-1つはデバッグアルゴリズムが好きで、もう1つはたくさんの人生の例を持っています、そして確かに誰も物語に失望しません:レポートは一連の探偵小説として、結論と道徳で聞かれます







セルゲイは普遍的なことについて語っていますが、クリストフ・ナサレとケビン・ゴッセによるレポート「現実世界の調査からの高度な.NETデバッグ技術」は、より現実的なことについて語っています。異常、便利なデバッグツール、およびさまざまなそれがあなたを助けることができる状況。 これらはすべて、多数の実際の例で示されており、レポートのほぼ半分は、特定のツールの正しい使用法の実際的なデモンストレーションです。 さまざまなデバッグツールを完全にマスターしていないか、これらのツールが日常の問題の解決にどのように役立つかを知りたいだけの人に耳を傾けることをお勧めします。







そして、これはすべて正常に機能しますが、クラウドアプリケーションでは機能しません。 クラウドには独自の問題、バグ、デバッグ方法があります。 したがって、Maarten Balliauwは、レポートでクラウドアプリケーションのデバッグについて説明します。 Azureのアプリケーション診断。」 文字通りゼロから1時間で、Azureでハングするアプリケーションに関するさまざまな情報を受け取り、解釈する方法、これで発生する可能性のある問題、およびエラーが発生する前にエラーを見つける方法を理解します。 ところで、Martenが語っていることの多くはAzureだけのものではありません。構造化されたログやAppInsightsなどのツールは、あらゆるアプリケーションに適しています。 したがって、コードをクラウドに送信する予定がない場合でも、見た方が理にかなっています。







このセクションの最後のレポートでは、別の観点から問題にアプローチしています。 ログ、メトリックス、ダンプの助けを借りてバグをキャッチする方法、自動テストでバグを特定する方が良いでしょうか? そして、ユリア・コバレワの報告「真珠なしピッツェリア」は、これについてです-テストとコードテストについて。 ジュリアは、プロパティベースのアプローチと優れたコードテスト方法を導入することで、Dodo ISシステムを無害にした方法について説明します。 テスターと友達になることが重要なのはなぜですか?また、コードを減らしてカバレッジを増やすテストを作成する方法は? 一般に、これはプロのテスターの立場から自動テストを検討し、コードテストのスキルを強化する正当な理由です。







安全性



今年、DotNextの.NET Securityは、このトピックに関する2つの優れた書籍の著者と、Inferno暗号ライブラリの作成者であるStan Drapkinの責任者です。 スタンは、「高レベル暗号化の落とし穴」というレポートで私たちのところに来ます。彼はこれを、以前の会議からのこのトピックに関するレポートの論理的な継続と位置付けます。 、およびこのレポートは、高レベルですべてがそれほど単純ではないことを示すことを目的としています。 そして私は言わなければならない、スタンはそれをやった。 彼のレポートでは、正しい高レベル暗号ライブラリがどのように見えるか、水中ピットに入らないためにこの高レベルAPIをどのように使用する必要があるか、および特定の暗号化方式を使用する(または使用しない)価値がある状況を示しました。 さらに、このレポートは、暗号化のトピックから遠く離れた人にとっても、聞きやすく、簡単です。 一般に、セキュリティのトピックに少なくともある程度興味があるすべての人にレポートを聞くことをお勧めします-価値があります。







DotNextのチケットは公式Webサイトで購入できます。



All Articles