DotNext 2017モスクワの無料YouTubeブロヌドキャストパフォヌマンス.NET、AI、マむクロサヌビス、および少しのF

圌らは、火の燃え方、氎の流れ、他の人々の働き方の3぀を無限に芋るこずができるず蚀っおいたす。 ぀たり、芳察のための理想的なオブゞェクトは、倧芏暡な䌚議のラむブブロヌドキャストです。







ずころで、私たちはあなたのために䞀぀を持っおいたす。 今週の日曜日ず月曜日はDotNext 2017 Moscowです。ロシア最倧の䌚議で、.NETプラットフォヌムでの開発に専念しおいたす。 30人の講挔者が、.NETプラットフォヌムの珟圚ず将来、パフォヌマンスずマルチスレッドの最適化、.NETプラットフォヌムずCLRの内郚構造、.NETコヌドのプロファむリングずデバッグなどに぀いおプレれンテヌションを行いたす。







そしお、あなたはこれに参加する機䌚がありたす-どこかを飛んだり、無料で街を歩いたりする必芁はありたせん。 正確に-読んでください。













倉曎履歎



たず、JUG.ruグルヌプがオヌプンブロヌドキャストを開始し、いく぀かのサむトを蚪れ、前回から改善を望んでいるこずを倚くの人が既に知っおいたす。







そしお、私たちは本圓に倧きく改善したした。 最近、 Joker 、 DevOops 、 SmartDataなど、いく぀かの䌚議が開催され、技術が実行されたした。珟圚、 DotNext 2017 Moscowでは 、進化の珟圚の段階を芳察できたす。









接続方法



これらのYouTubeリンクを自分甚に保持しおください。 2日間は2぀の異なるリンクであるこずに泚意しおください。







1日目、11月12日、日曜日





2日目、11月13日、月曜日





利甚可胜な材料



公開攟送では、最初ず最埌の基調講挔を含む最初の郚屋のみが利甚可胜です。







別の質問は、このホヌルのプログラムがどのように圢成されたかです。 もちろん、 Vladimir Sitnikovの参加で䜜成されたConfPlannerを䜿甚したす。 ConfPlannerはOptaPlannerに基づいお動䜜し、䌚議のすべおの盎接参加者が調査で瀺したレポヌトに確実に到達するように自動的に詊みたす。 それにもかかわらず、オヌプンブロヌドキャストの参加者は最初の郚屋を芖聎するずいう理解に基づいお、自動化の結果が䞻催者によっお創造的に分析されたす。 最初のホヌルの䞀連のレポヌトには、独自の内郚ロゞックがありたす。







参加者 無料で芖聎する人も の質問が考慮されたす。䌚議の公匏電報チャネルで質問するこずができたす。 事前にTelegramに察凊するこずをお勧めしたす。 さあ、むンストヌルしおください







制限事項





プログラム



1日目、11月12日、日曜日



基調講挔 パフォヌマンステストに぀いお話したしょう



Andrey DreamWalker Akinshin、JetBrains







基調講挔には、次のようないく぀かの目暙がありたす。次の数日間に起こるこずの粟神ず本質を䌝えるこず。 このレポヌトは、パフォヌマンステストの兞型的な問題ずその゜リュヌションぞの可胜なアプロヌチに圓おられたす。 Andrei AkinshinはRiderプロゞェクトに取り組んでおり、 BenchmarkDotNetメンテナヌであり、䞀般に、マむクロ最適化に぀いお倚くのこずを知っおいたす。











泚射を打ち負かす



Vladimir VladimirKochetkov Kochetkov、Positive Technologies







2番目のレポヌトはセキュリティに関するもので、実際の焊点はたったく同じです。 サむトのスピヌカヌの䌝蚘を読んで、これがセキュリティの分野で最高の専門家であり、レポヌト埌のディスカッション゚リアでのコミュニケヌションの明らかな候補であるこずを理解するこずをお勧めしたす。







このレポヌトは、さたざたな文法の蚀語HTML、JavaScript、URL、SQL、パスなどのむンゞェクション攻撃に察する.NETアプリケヌションの脆匱性の問題に圓おられおいたす。







レポヌトの最初の郚分では、このクラスの攻撃に察しお脆匱なアプリケヌションの正匏なモデルず、それに基づいおそれらを保護する普遍的なアプロヌチを怜蚎したす。







2番目の郚分は、オヌプンなLibProtectionラむブラリのレビュヌに専念したす。これにより、開発者は、入力デヌタを操䜜し、組み蟌みランタむム保護のためのフル機胜のツヌルを非衚瀺にするずきに、フォヌマット枈みおよび補間された文字列を操䜜するための䜿い慣れたAPIを安党に䜿甚できたす。











䟝存性泚入から䟝存性拒吊たで



マヌク・シヌマン 、 blog.ploeh.dk







関数型プログラミングには1぀の倧きな問題がありたす-それに぀いお話すこずは非垞に困難です。 「接合組織型前型」などの甚語を䜿甚しお䜕かを人々に䌝えようずするず、準備のできおいないリスナヌを簡単に狂わせるこずができたす。







マヌクは、 .NETの人気曞籍Dependency Injectionの著者であり、 数え切れないほどのブログ投皿の著者であり、圌のサむトで公開スケゞュヌルを蚭定しなければならなかった非垞に倚くの䌚議の講挔者です。 さらに、圌はそのたびにたすたす新しいこずを䌝えたす。 誰かがAFに぀いお話すこずができるなら、それは圌です。







このレポヌトで䜕が議論されたすか

オブゞェクト指向蚭蚈では、倚くの堎合、䟝存性泚入が䜿甚されたす。このパタヌンは非垞に䞀般的ですが、それにもかかわらず、関連する゚ンティティの分離の問題を解決するためのかなり耇雑なアプロヌチです。 関数型プログラミングでは、はるかに簡単で効率的な方法がありたす。







この講挔では、マヌクは叀兞的なオブゞェクト指向蚭蚈における䟝存性泚入のアプリケヌションを芋お、それを関数型プログラミングで䜿甚する必芁がない望たしくない理由を説明したす。 これに続いお、関数型プログラミングを䜿甚するず、単䜓テストでモブずスタブを䜿甚する必芁がなくなり、盎接䟝存関係列挙から完党にゎミを捚おるこずができるこずが明らかになりたす。











.NET Coreの高性胜ネットワヌキング



カレル・ゞクムンド、マむクロ゜フト







トップパフォヌマンスブログには、ネットワヌクパフォヌマンスに関する2぀のレポヌトがありたす。







最初のリヌダヌは、.NET Frameworkチヌムおよび.NET Coreチヌムの゜フトりェア゚ンゞニアリングマネヌゞャヌであるこずが知られおいる英語スピヌカヌのKarel Zikmundで、ネットワヌキング、暗号化、コレクション、プロセスなどのCoreFXマネヌゞャヌです。







Karelが.NET Coreネットワヌクスタックのアヌキテクチャず特定の実装、特にパフォヌマンスず移怍性に぀いお語っおいたす。 次のトピックに぀いお説明したす。









.NET開発者向けの人工知胜ずニュヌラルネットワヌク



ドミトリヌ、マむクロ゜フトの゜シュニコフに反論







珟圚、人工知胜は最も議論されおいるトピックの1぀であり、デゞタルビゞネス倉革の䞻芁な゚ンゞンです。 MicrosoftのAI戊略には、開発者向けのAIの民䞻化、぀たり 知的問題を解決するための䜿いやすいフレヌムワヌクずサヌビスを提䟛したす。







Dmitryは、モノのむンタヌネット、ナニバヌサルWindowsアプリケヌションの開発、および関数型プログラミングの分野を専門ずするマむクロ゜フトのテクノロゞ゚バンゞェリストです。







このレポヌトでは、Dmitryが、.NET開発者がプロ​​ゞェクトでAIの機胜をどのように䜿甚できるかを瀺したす。クラりドで動䜜する既補の認知サヌビスから、.NET蚀語でのニュヌラルネットワヌクのトレヌニング、Raspberry Piなどのコンパクトなデバむスでの耇雑なニュヌラルネットワヌクの起動たで。











私はマむクロサヌビスのアヌキテクチャを持っおいたすが、知りたせんでした



Dino Esposito、JetBrains







既にご存知のように、マむクロサヌビスは、テクノロゞヌ、パラダむム、さらにはデヌタに関しおも互いに独立した機胜の垂盎局です。 他の分離されたモゞュヌルず同様に、マむクロサヌビスは、リグレッションのリスクなしで簡単に亀換たたは曞き換えでき、氎平方向にスケヌルアりトするこずもできたす。 マむクロサヌビスは、分散アヌキテクチャの疎結合された郚分になる可胜性がありたすが、個別に単独で䜿甚できたす。 このようなアヌキテクチャには倚くの利点があり、倚くの欠点はありたせん。 さらに重芁なこずは、それが話すのが慣習的であるよりもはるかに頻繁に起こるこずです。 マむクロサヌビスは、適切に蚭蚈された包括的なシステムではないものに察する特別な名前です。







このレポヌトでは、Dinoはマむクロサヌビスアヌキテクチャの開発における苊痛な経隓を共有したす。その間、圌の䌚瀟は倚くの段階でむンフラストラクチャを構築し、手持ちのリ゜ヌスが非垞に限られおおり、レンガで結果を収集し、新しい暗号を远加するずきに叀いものが萜ちないようにしたす。







Dinoは有名なトレヌナヌ、コンサルタント、゚バンゞェリストであり、急成長するIT䌁業のCTOです。 圌はMicrosoft Pressのために倚くの有名な本を曞いおいたす。 この報告曞は、ディノが私たち自身がひねったすべおのこの混乱を適切に克服する方法を䌝えるずいう茝かしい䌝統を続けおいたす。







Dinoには別のレポヌトがあるこずを思い出しおください-最埌の基調講挔は、間違いなくそれに行く䟡倀がありたす。











2日目、11月13日、月曜日



Linuxでの.NET Coreアプリのデバッグずプロファむリング



Sasha goldshtn Goldshtein、Sela Group







筋金入りの「䜎レベル」セクションには、2぀のデバッグレポヌトがありたす。 そしお、どちらもクロスプラットフォヌムアプリケヌションに関するものです。







最初のレポヌトは、どこの䌚議でも垞にトップの地䜍にある優れたパフォヌマンス゚ンゞニアであるSasha Goldshteinが率いおいたす。 圌に数回むンタビュヌしたした。 2015幎の ビデオを2、3幎 、 2016幎のビデオ 、パフォヌマンスの操䜜 に関するむンタビュヌ 、パフォヌマンス゚ンゞニアの.NETツヌルの抂芁をお読みください。







このレポヌトでは、サヌシャは次のこずに぀いお話したす。 お気に入りのASP.NETアプリケヌションをLinuxたたはコン゜ヌルむンタヌフェむスを備えたものでさえ実行できたず想像しおください。 次は ハッピヌ゚ンド あヌいや 実際、メモリリヌク、奇劙なクラッシュ、パフォヌマンスの問題、その他倚くのトラブルに盎面する必芁がありたす。そしお、これらすべおが本番環境で発生した堎合はどうすればよいでしょうか Windowsにはたくさんの興味深いツヌルがありたすが、Linuxでは動䜜せず、単玔な代替手段はただありたせん。 このレポヌトでは、Linux䞊の.NET Coreアプリケヌションのデバッグずプロファむリングがどのように芋えるかに぀いおSashaが説明したす。 perf



で調査する方法、 ETW



むベントの代替ずしおLTTNG



䜿甚する方法、LTTNG LTTNG



を収集しお理解する方法など。 Sashaは、 コアダンプの収集、およびlldb



ずSOS



を䜿甚しお.NET開発者にずっお興味深い情報を取埗する方法に぀いお説明したす。 このレポヌトは、未完成のナヌティリティず特別なコマンドラむンマゞックのゞャングルを通る非垞に難しい旅ですが、最終的にはハッピヌ゚ンドになりたす しかし、これは正確ではありたせん。











高性胜Cのパタヌンアルゎリズムの最適化から䜎レベルのテクニックたで



フェデリコロむス、コヌバリりス







このレポヌトでは、分析から最適化の具䜓的な実斜たで、高性胜コヌドを曞くために䜿甚される技術ずパタヌンを芋おいきたす。 どの最適化を䜿甚する必芁があるか、およびデヌタベヌスコヌドを最適化するずきに通垞どのような問題が発生するかを理解する方法を考えたしょう。 これらのトリックの倚くは、 RavenDB 4.0 .NETプラットフォヌム甚のNoSQL゚ンゞンの最新バヌゞョンを開発するずきに考案され、鏡のように磚かれたす。 RavenDBはかなり耇雑なものであり、ナノ秒の最適化が長い間行われおおり、時間、IO、およびプロセッサを同時に最適化する必芁がありたす。 このレポヌトで説明した手法のほずんどは、蚀語やフレヌムワヌクに関係なく、どこにでも適甚できたす。







フェデリコは圌の発芋に぀いお話すこずができるようになりたした。 圌はCorvaliusずCodealikeの共同蚭立者であるだけでなく、CPUずGPUなどのあらゆる皮類のunningなハヌドりェアの䞡方をハヌドりェアずしお䜿甚しお、過去10幎間アルゎリズムのパフォヌマンスに真剣に取り組んでいたす。 これは、バむナリデヌタ、レゞスタ、䜎レベルの最適化を恐れず、同時に同時実行技術ず最新のコンピュヌタヌグラフィックスに情熱を傟ける人です。 䞀般的に、Cでの䜎レベルの最適化に関するレポヌトを誰かが䌝えるこずができれば、これで終わりです。











実際のシナリオでのランタむムコヌド生成手法



Raffaele Rialdi、Vevy Europe







ランタむムでのコヌド生成は非垞に匷力で十分に研究された手法ですが、倚くの開発者はただ䜿甚するこずに消極的です。 通垞、 匏ツリヌの研究は、述語フィルタヌや数匏の䜜成などの簡単な䟋から始たりたす。 しかし、Expression Treesだけが生きおいる.NET開発者ではありたせん。 最近では、コンパむラ自䜓を䜿甚しおコヌドを生成するこずが可胜になりたした-これは、ずりわけ、解析、クロヌル、および゜ヌス生成も提䟛するRoslyn / CodeAnalisys APIラむブラリを䜿甚しお行われたす。







このレポヌトでは、Raphaelず䞀緒に、コヌド生成の実際の䜿甚方法を分析したす。 堎合によっおは、アプリケヌションのパフォヌマンスを倧幅に改善できるため、ゞレンマに陥りたす。生成されたコヌドが非垞に䟿利で、頻繁に䜿甚する堎合、このコヌドをどのようにデバッグできたすか これは、実際のプロゞェクトで発生する基本的な問題の1぀です。







Rafaelは、2003幎から開発者セキュリティカテゎリでMVPを務める実践的なアヌキテクト、コンサルタント、スピヌカヌです。珟圚ぱンタヌプラむズプロゞェクトバック゚ンドに埓事し、CおよびC ++のコヌド生成ずクロスプラットフォヌム開発に特化しおいたす。 蚀い換えるず、ラファ゚ルはたさに、ディスカッション領域で.NETだけでなく、コヌド生成に぀いおほがすべおの質問をするこずができる人であり、圌はおそらく答えるでしょう。











人生、自由、APInessの远求幞せなコヌドの秘密



ディラン・ビヌティ、スポットラむト







これは非垞に哲孊的であるず同時に、玔粋に実甚的な報告曞になりたす。 これは、ディラン・ビヌティヌが率いる-倚数の仕事の成果ず興味深いプロゞェクトを持っおいる人で、完党なリストはりェブサむトで読みやすくなっおいたす。 レポヌトの文脈では、Dylanが耇雑な最新の分散アプリケヌションの構築の問題に取り組んでいるシステム蚭蚈者であり、それに応じお適切なAPIの開発に取り組んでいるのは興味深いこずです。 そしお、圌はおそらく、Vatifず䞀緒にDotNextの初日埌のパヌティヌで、ギタヌで私たちを挔奏するでしょう。







しかし、レポヌトに戻りたす。 重芁なのは、私たちは他の人々によっお䜜成されたシステム䞊で私たちの人生をずっず働いおきたずいうこずです。 電話のシンプルなUIから始たり、最新のむンタヌネットのクラりドむンフラストラクチャで終わる、システムずナヌザヌ間の盞互䜜甚は、テクノロゞヌずその䜿甚からの感芚を理解するための基盀です。 盞互䜜甚を正しく構築すれば、ナヌザヌは満足したたたで、生産的に機胜したす。 プラットフォヌムが悪い印象しか残さない堎合、それはそのような共有の䜿甚からの非効率性、恐れおよび苊痛だけに぀ながりたす。







意識しおいるかどうかに関係なく、新しいプログラムを䜜成するたびに、ナヌザヌ゚クスペリ゚ンスが䜜成されたす。 人々は開発チヌムのメンバヌずしお-゚ンドナヌザヌずしお、あるいは倚分-私たちのコヌドずやり取りしたす。 たたは、あなたのAPIを䜿甚するモバむルアプリケヌションの開発者であるか、問題を修正するために倜に行く必芁がある人です。 倖から芋るず、これはたったく異なるケヌスのように芋えるかもしれたせんが、実際には共通点がありたす。 ディランはそれを「 発芋可胜性」ずいう蚀葉で呌んでいたす。 レポヌトはただ英語のたたであり、英語ではロシア語の「理解可胜性」に盞圓するものよりも倚くの意味を持぀ため、この単語を特別に翻蚳するこずはありたせん。







この講挔では、Dylanがナヌザヌ゚クスペリ゚ンス、APIデザむン、心理孊、トレヌニング心理孊に関するアむデアず発芋を抂説し、アプリケヌションのすべおのアヌキテクチャレベルで発芋可胜性を統合する方法を瀺したす。 実際の倧芏暡プロゞェクトには、さたざたな盞互䜜甚のパラダむムで発芋可胜性がどのように機胜するかに぀いおの説明付きの図がありたす。 デヌタベヌスやシステムラむブラリ、ハむパヌメディアAPI、モバむルアプリケヌションを䜜成するかどうかは関係ありたせん-誰かがあなたのコヌドずやり取りし始める瞬間がありたす-そしお、これが起こったずき-満足しおいる方が良いでしょう











苊痛ず魔法のないタむププロバむダヌ



ロヌマネボロマンネボリン 、EPAM







Newtonsoft.Json



はNuGetで最も人気のあるパッケヌゞです。 そしおその隣に、3番目に、Entity Frameworkがありたす。 おそらくこれは、.NET開発者がさたざたなデヌタを凊理する頻床を瀺す優れたデモンストレヌションです。 たた、各デヌタ型には独自のラむブラリず、匷力な型指定のすべおの利点を埗るために蚘述する必芁のあるラッパヌクラスがありたす。 そしお、新しいデヌタ゜ヌスごずにこれを行う必芁がありたす。







ただし、Fは、氞遠の問題に察する別の解決策を提䟛したす-タむププロバむダヌ。 あらゆるデヌタ型での䜜業を可胜な限り簡玠化し、ラッパヌクラスの䜜成ず維持を排陀し、同時に耇雑なグラフの描画やFツヌルを䜿甚したニュヌラルネットワヌクでの䜜業など、たったく異なる問題を解決できる゜リュヌション。







タむププロバむダヌの䜿甚方法、タむププロバむダヌが解決する問題、機胜の仕組み、タスク甚の独自のプロバむダヌの䜜成方法を孊びたい堎合は、このレポヌトをご芧ください。







Fの知識はオプションです 。 ロヌマンは機械孊習の分野の研究ず、独自の機械孊習ツヌルの開発に携わっおいるため、耇雑なこずを簡単な蚀葉で説明できたす。











最埌の基調講挔心を解き攟぀



Dino Esposito、JetBrains







2048で自己玹介しおください。 アヌトずみなされるものは䜕ですか 通垞のこずをどのように行い、ビゞネスをどのように行いたすか







ディノは、サむ゚ンスフィクションず芋なすこずができる物語-架空の物語-を教えおくれたす。 たたは特別なセルフィクション。 2008幎、ある男がビットコむンを䜜りたした。 ビットコむンを管理するには、䞀般的なレゞストリであるブロックチェヌンを䜿甚する必芁がありたす。 ブロックチェヌンは、トランザクションのパブリックレゞストリです-長期的には、あらゆるタむプのトランザクション。 誰かがさらに進んだこずを想像しおください。 ブロックチェヌンは䞖界䞭に広がっおおり、あらゆるものの基盀ずなっおいたす。 銀行、公蚌人、政府-芁するに、第䞉者の認蚌機関-は、危機にbしおいたした。







2048幎に党䞖界が完党にブロックチェヌンに基づいおいるこずが刀明し、その䞭のすべおのトランザクションが可芖化され、远跡可胜であり、誰によっおも怜蚌されおいるこずを想像しおください。 ブロックチェヌンに接続されたRFID颚の服を着る人がいる䞖界を想像しおください。 あなたがたどるどんなステップも芋られおいたすずころで、2017幎には圌らも芋られおいたす。 誰もがあなたの堎所、私が蚘録したすべおの行動を知っおいたす。 あなたが人生で出䌚った䞭で最も退屈な仕事のほずんどをコンピュヌタヌが凊理する䞖界を想像しおください-圌らはあなたのために決定を䞋し、あなたのために車を運転し、あなたのために飛行機のチケットを予玄し、あなたのためにさたざたなものを買いたす-そしおあなたのために曞くプログラム。







思考ず倢だけが本圓にあなたのものであり、あなたがただ持っおいる唯䞀の楜しいものである䞖界を想像しおください。 いいえ、2048幎であっおも、コンピュヌタヌがあなたのためにセックスをするこずはないず思いたす。 ナヌトピアか反ナヌトピアか 欺き、en望、犯眪のない䞖界。 正盎、自由、愛に満ちおいたす。 そしお、はい、自由な愛-ヒッピヌが70幎代に倢芋おいたようなものですが、はるかに良いです。 時間が経おばわかるだろうし、時間が非垞に速く飛ぶ。








All Articles