DotNext 2017モスクワハヌドコアの埩掻


11月12〜13日 ぀たり、数週間埌にDotNext 2017モスクワが開催されたす。これは、.NETプラットフォヌムでの開発に特化したロシア最倧の䌚議です。 私たちの講挔者の䞭には、ロシア、ペヌロッパ、アメリカからの業界をリヌドする専門家がいたす。 䌚議の䞻なトピックは、プラットフォヌム内郚CLR、GC、JIT、ツヌルの䜿甚に関するベストプラクティス、プロファむリングずパフォヌマンスの最適化、マルチスレッドプログラミング、プラットフォヌムの革新、耇雑なケヌス゜リュヌションです。


カットの䞋で-プログラムの詳现な分析、今幎のむノベヌションに関するいく぀かの蚀葉、および割匕䟡栌での秘密のプロモヌションコヌド 。


ハヌドコアリタヌン


たず 、倉曎はレポヌトの構成に圱響したした。


サンクトペテルブルクでの最埌のDotNextは玠晎らしい時期に開催されたした-倚くの新しい技術が出おきたか、リリヌスの準備ができおいたした。 ほずんどすべおのレポヌトはこれに関するものであり、それは自動的に玠材の耇雑さを軜枛するこずを意味したした。 調査が瀺したように、人々はGCの内郚を掘り䞋げ、クラッシュするプロファむラヌJavistsのお気に入りの時間を修正するなどのアむデアに特に興味はありたせんでしたが、非垞に重芁なDokerずKubernetesを既補の.NETむンフラストラクチャに統合する方法に非垞に興味がありたした。 たさにその時でした。


DotNext 2017モスクワでは、 ハヌドコアが埩掻したす。 ただGCを掘り䞋げるこずはしたせんが、メモリモデル、パフォヌマンステストず最適化、デバッグのより现かいポむント、さらにはLinuxでのデバッグに぀いおも説明したす。 特別な愛奜家のために、関数型プログラミングの䜿甚に関する2぀のレポヌトがありたす。 筋金入りのレポヌト-合蚈のちょうど3分の1。


ただし、「通垞の」問題ずツヌルの議論は消えおいたせん。 クラスタヌずクラりドむンフラストラクチャに関するレポヌトの倧きなブロックがあり、それらを䜿甚するためのツヌルず方法コヌド生成のプラクティスなどの議論があり、devoopsずセキュリティに関する䜕かがありたす。 誰もが自分の奜みに合ったテヌマを芋぀けるでしょう。


そのような量の情報が1日に収たらないこずは明らかであるため、DotNextには2日ず3぀の䞊行したトラックが必芁です。 オヌプニングは午前10時に行われ初日は午前9時に登録が開始されたす、午埌7時に終了したす。 トラックあたり9時間。 そのようなボリュヌムから脳が溶けないように、最も耇雑なレポヌトだけでなく、より軜いレポヌトでそれらを垌釈する蚪問を蚈画できたす。 しかし、私が蚈画したすべおに到達する方法-これは以䞋に曞かれたす。


人間ではなくロボットが泚入する


次に 、重火噚を接続し、特別な自䜜゜フトりェアを䜿甚しおトラック䞊のレポヌトの分垃を分析したした。 次の問題を解決したす。ある人が3぀の既知のレポヌトにアクセスしたいずしたす。 それらを遞択する必芁がないように、それらを異なる時間に発生させる方法は


OptaPlannerに基づいお-ビゞネスの制玄の普遍的な゜ルバヌ。 車のルヌティング、タスクごずの埓業員の分散、クラりドコンピュヌティングの最適化、補品の梱包などの問題を解決するために特別に蚭蚈されおいたす。 これらのタスクはすべお、限られたリ゜ヌスを関連する消費者に再分配する必芁があるパズルを解くこずに䌌おいるずいう事実によっお統合されおいたす。 レポヌトの配垃を蚈画するずきに、ほが同じ問題が発生したす。


OptaPlannerの䞊に、ConfPlannerず呌ばれる独自の゚ンゞンが曞かれおいたす。 特に、 りラゞミヌル・シトニコフはこのこずに感謝すべきです。 りラゞミヌルは、NetCrackerのパフォヌマンスアヌキテクトであり、JUG.ruグルヌププログラム委員䌚のメンバヌです。 その結果、オヌプン゜ヌスプロゞェクトが䜜成され、その゜ヌスコヌドはgithubで衚瀺できたす。


䞀番䞋の行は、YAMLファむルの圢匏で制限を蚭定し、出力で既補の゜リュヌションを取埗するこずです。


capacity: 400 languages: - name: ru - name: en rooms: - name: 1 capacity: 300 - name: 2 capacity: 200 days: - name: 1 date: 2017-10-04 timeslots: - name: 1 day: 1 start: 11:00 duration: 50 - name: 2 day: 1 start: 14:00 duration: 50 - name: 3 day: 1 start: 18:00 duration: 50 topics: - name: Case study - name: Tricks speakers: - name: Speaker A arriveTime: 2017-10-04T12:00:00+03:00 - name: Speaker B leaveTime: 2017-10-04T16:00:00+03:00 talks: - name: 'How to arrive late' language: en speakers: Speaker A topics: Tricks - name: 'How to depart early' language: ru speakers: Speaker B topics: Tricks - name: 'Coffee time' language: en speakers: - Speaker A - Speaker B topics: - Case study - Tricks 

今最もクヌルなこず時間などの基本的な制限だけでなく、 調査デヌタも考慮するこずができたす 。 どのレポヌトを送信するかを指定するポヌリング。


たずえば、ある人が3぀のレポヌトにアクセスしたい堎合、「䞀列に」䞊んでいたす時間的に䞀臎しおいたす。 このような組み合わせは蚱容されたすが、ペナルティポむントが付䞎されたす。 レポヌトの最適なスケゞュヌルを䜜成するずいう問題を解決する本質は、眰金を請求する機胜を最小限にするこずです。


もちろん、ConfPlannerがコメントを䜜成した埌、スケゞュヌルは生きおいる人々によっおよく考えられたす。 ご芧のように、 アンケヌトに蚘入するず䟿利です 。 最も文字通りの意味で、あなたの意芋は本圓に考慮されたす。


玄束の秘密掚進コヌド


最初は、蚘事の最埌の郚分、たたはレポヌトのリストの途䞭にプロモヌションコヌドを挿入したかったので、少し調べなければなりたせんでした。 レポヌトの数は、誰も芋぀けられないほど十分に倧きいこずがすぐに明らかになりたした。 そのため、ここではコヌドを保持したす。


ラストコヌルプロモ

登録ペヌゞでこのコヌドを䜿甚するず、週末たで割匕を利甚できたす。


プログラム内容


では、レポヌトを芋お、この䌚議の内容を芋おみたしょう。 埓来、すべおのレポヌトは次のグルヌプに分類できたす。



この分割は条件付きであるこずに泚意するこずが重芁です。 レポヌト自䜓は、厳密な分類に関連付けられおいたせん。 たずえば、䜿甚するフレヌムワヌクに応じお、䜕らかの方法でそれらをグルヌプ化するこずが可胜です。 ただし、䞊蚘の構造には優れた特性があり、どのレポヌトに移動するかを遞択するのに圹立ちたす。


パフォヌマンスず䜎レベルの詳现


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


アンドレむ・アキンシン、JetBrains


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


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


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


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


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


.NETメモリモデル


ノァデリヌ・ペトロフ、シデニス


フェデリコの報告埌、他に誰か質問がありたすか 誰かが䞊行性を恐れおいるのかもしれたせんそしお正圓な理由のために ノァレリヌ・ペトロフは、蚘憶モデルに぀いおの詳现な物語で私たちの運呜を促進したす。


Valeryが䞻に職堎で「血なたぐさい䌁業」に埓事しおいるのは興味深いこずです。「゚ンタヌプラむズ」プログラマヌはそのようなこずに興味がなく、理解しおいないずいう神話があり、䞀般的にこれは職堎では必芁ありたせん。 たあ、神話は砎壊されたす


それで、問題は䜕であり、なぜこれが私たちにたったく興味を持たなければならないのですか プログラムは通垞、人々によっお䜜成され、コンピュヌタヌによっお実行されたす。 コンピュヌタヌが存圚する間、プログラミングに入るためのしきい倀を䞋げるために倚くの䜜業が行われたした。コンピュヌタヌを動䜜させるために、コンピュヌタヌがどのように動䜜するかを知る必芁はありたせん。 しかし、無駄なものは䜕も䞎えられおおらず、倚くの楜しいものが高玚蚀語の背埌に隠されおいたす。 堎合によっおは、「䞋」で起こっおいるこずを知らないず悲しい結果に぀ながる可胜性がありたす。 そしお、䞊行性ずクロスプラットフォヌムに関しおは、氎䞭に熊手がいるドラゎンがいたす。


このレポヌトでは、Valeryはメモリモデルずは䜕か、.NETの内容、仕様が保蚌するもの、プラットフォヌムが提䟛するもの、快適ゟヌンを離れるずきに期埅できる問題ロックフリヌぞの移行、他のアヌキテクチャでの実行たずえば、 ARM。 たた、いく぀かの問題は単玔な静的分析で怜出できるこずも瀺されたすレポヌトは静的分析に関するものではないため、詳现は別です。 ずりわけ、.NETにもバグがあるこずが瀺されたす。


決闘.NET CoreずJava


Vitaliy Jezepchuk、Fast Reports


パフォヌマンスセクションでも、快適で軜いレポヌトがありたす。 このレポヌトでは、VitaliyはLinuxおよびWindowsオペレヌティングシステムでの.NET CoreおよびJavaランタむムのパフォヌマンスを比范したす。 察象読者高性胜でリ゜ヌスを倧量に消費するアプリケヌションの開発者...たあ、たたは.NETがJavaを英囜の旗に匕き裂く方法を知りたいず思っおいる人。 うたくいかない堎合はどうなりたすか


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


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


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


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


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



アプリケヌション芁求の調敎のアプロヌチ


Maarten Balliauw、JetBrains


ネットワヌクのランダム性に関する2番目のレポヌト。 おそらく、以䞋に説明する「クラりド」に起因するはずです。


Maartenは、ナヌザヌが非垞に奇劙な囜であるこずに長い間気付いおいたした。 少なくずも圌のプロゞェクトMyGet.orgで、野生の出来事が起こっおいたす。 運がよければ、ナヌザヌは実際にサヌビスを䜿甚したすが、ほずんどの堎合、あらゆる方法で信頌を悪甚したす。 圌らは奇劙で異垞な方法でそれを䜿甚し、そこから負荷が増倧したり、週末の盎埌にリク゚ストをあふれさせたりしたす。 これはすべおWebアプリケヌションにずっお本圓の危険であり、1人のナヌザヌの䜜業を劚害したり、サヌビス党䜓を投入したりする可胜性がありたす。 そのため、理想的には、入り口でナヌザヌを埅機し、単䜍時間あたりのリク゚スト数、トラフィック量などを制埡する䜕らかのスマヌトフィルタリングシステムが必芁です。


この講挔では、Maartenがク゚リリミッタヌのシンプルか぀耇雑な䞖界に぀いお語っおいたす。 アプリケヌション、サヌバヌ、nginxリバヌスプロキシ、AzureやCloudFlareなどの倖郚サヌビスなど、厳密に䜕をどこで制限するかを決定する必芁がありたす。 結果ずしお、䞡方のオオカミに逌が䞎えられ、矊は安党です-そしおサヌビスはうたく機胜し、ナヌザヌは満足しおいたす。


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


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


モノアプリケヌションのデバッグの埮劙さ


゚リザベス・ゎレノク、ゎテック


2番目のデバッグレポヌト、およびクロスプラットフォヌム。 ただし、Sashaのレポヌトの埌、Linuxでは単玔な生掻を芋るこずができないこずはすでに明らかです:-)


このレポヌトは玔粋に実甚的です。 ゚リザベスの今幎の実際の䜜業の1぀は、既存のレガシヌプロゞェクトWCF、Web API、MVC、Webフォヌムをクロスプラットフォヌムにするこずです。 このタスクは非垞に叀兞的ですが、転送のプロセスには倚くの問題があり、そのうちの1぀はモノアプリケヌションのデバッグです。


゚リザベスは、モノアプリケヌションのデバッグプロセスをより䟿利/快適にする方法を説明し、デバッグプロセスが実際にどのように行われるかを瀺したす。 途䞭で、次のテクノロゞヌに぀いおも理解したす。


デバッガヌ



プロファむラヌ



さらに、これらのツヌルず、埓来の.NETアプリケヌションおよび.NET Coreのデバッグに䜿甚される類䌌物ずの比范が行われたす。


クラスタヌずクラりド


近幎の最も誇倧な話題の1぀は、この䌚議のほが最倧のブロックである反撃です。 膚倧な量の新しいテクノロゞヌ、フレヌムワヌク、秘密のノりハりなどがここで玡がれおいたす。 しかし、圌らのノりハりを䌝えるこずができる専門家ははるかに少ないです-そしお私たちはそれらをすべお集めたした


バックトゥザフュヌチャヌOrleansによる効果的なクラりドサヌビスの構築


セルゲむ・ビコフ、マむクロ゜フト


この講挔は、Microsoft Researchが開発したフレヌムワヌクであるMicrosoft Orleansに぀いおです。


オルレアンの開発マネヌゞャヌがそれに぀いお教えおくれたす。 Sergey Bykovは、Microsoft ResearchでOrleansプロゞェクトを開始し、Xbox郚門のオヌプン゜ヌスでの開発を䞻導し続けおいたす。


Orleansは、システムを構築するための根本的に新しいアプロヌチを提䟛したす。これにより、開発者は、シンプルで盎感的なプログラミングモデルを通じお、ステヌトフルアヌキテクチャやその他の倚くの重芁な利点を掻甚できたす。 Orleansは、倧ヒットゲヌムHalo、Gears of War、Age of Empires、Skype、Azure、その他のMicrosoftシステム、IoT、財務分析、その他の倚くの分野で䜿甚されおいたす。 JVM、Go、およびErlang甚に䜜成されたOrleansクロヌンは、Orleansの成功のさらなる蚌拠です。


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


Dino Esposito、JetBrains


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


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


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


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


.NETベヌスのAzure Functionsを䜿甚したサヌバヌレスコンピュヌティング


アレックス・ティッセン、Xpirit


すでにクラりドずマむクロサヌビスに぀いお話しおいる堎合、Microsoft補品の䞖界で最初の関連はAzureです。


Azure Functionsを䜿甚しおサヌバヌレスクラりドサヌビスを䜜成できたす。実際、これは分散コンピュヌティングずホスティングの進化における新しい段階です。 このテクノロゞヌの䜿甚の詳现を説明するために、最新の分散アプリケヌション開発のコンサルタントであり、MVPの10倍の所有者であり、もちろんAzure Functionsの゚キスパヌトであるAlex Thissenが来たす。


この講挔では、AlexがAzure FunctionsずCを䜿甚しお開発する方法ず、それをすべおAzureでビルド、テスト、デプロむする方法を埌ほど説明したす。 .NETプログラミングの詳现、アヌキテクチャの詳现、内郚実装に぀いお説明したす。 さらに、Alexは、これらすべおをロヌカルマシンで開始およびホストする方法を瀺したす。そのため、講挔の盎埌に、Azure Functionsを䜿甚しおクヌルなアプリケヌションを独自に開発および䜜成できたす。


.NET Coreの12芁玠アプリ


むアン・クヌパヌ、ハドル


クラりドネむティブに぀いおは、おそらく既に聞いたこずがあるでしょう。サヌバヌコヌドの継続的な展開ず簡単なスケヌリングです。 Dockerずマむクロサヌビスに぀いお聞いたこずがありたす。 しかし、タむトルに蚘茉されおいる12芁玠アプリケヌションは䜕ですか もずもずHerokuのデプロむメント゚ンゞニアによっお開発されたこの方法論は、クラりドプラットフォヌム甚のコヌドを蚘述する際の「成功のレシピ」です。 このレポヌトでは、メ゜ッドの本質に぀いお説明し、このメ゜ッドのすべおの芁件を満たす.NET甚のアプリケヌションの䜜成方法を瀺したす。 もちろん、ASP.NET Coreを䜿甚した実䟋がありたす。この方法で構築されたアプリケヌションの明るい面ず暗い面の抂芁を説明したす。 サヌバヌなしで、たたはAzure Service Fabricを䜿甚しおこれを展開する方法を瀺したす。


講挔の終わりたでに、Cloud Nativeの理解が深たりたす。20幎以䞊の経隓を持぀ロンドンを拠点ずするアヌキテクトであり、ldnugの創蚭者であり、適切なアヌキテクチャ、パタヌン、優れたデザむンプラクティスを専門ずする有名なスピヌカヌであるIan Cooperがこれを支揎したす。


Apache Kafkaず.NET Coreのリアクティブマむクロサヌビス


デニス・むワノフ、2GIS


「クラりド」レポヌトの䞭で、茞送システムに特化した3぀のストヌリヌのグルヌプが際立っおいたす。 このレポヌトのレビュヌでは、カフカを第䞀䜍にしないこずは困難でした-.NETコミュニティで人気があり、愛されおいたす。


念のため、 Apache Kafkaはメッセヌゞフロヌを凊理するためのオヌプン゜ヌスプラットフォヌムであるこずを思い出しおください。 Kafkaの基瀎ずなる分散ログの抜象化により、キュヌシステムずしお䜿甚できるようになりたすが、同時に、ESBレベルの゜リュヌションでは利甚できない非垞に有甚な利点がいく぀かありたす。


このレポヌトでは、Denis Ivanovの厳栌なガむダンスの䞋で、Apache Kafkaの基瀎ずなる基本原則を分析し、Apache Kafkaを䜿甚しお問題を簡単か぀効果的に解決できる方法ずケヌスを芋぀けたす。


しかし、最も重芁なこずは、マむクロサヌビスアヌキテクチャを持ち、バック゚ンドが.NET CoreずScalaに実装されおいるシステムでのApache Kafkaの実際の䜿甚を怜蚎するこずです。 すばらしいReactive Extensionsラむブラリに぀いお説明し、リアクティブアプロヌチを䜿甚するず、コヌドをシンプルで信頌性が高く、生産性を維持できるこずを瀺したす。


このレポヌトは、マむクロサヌビスアプリケヌションを䜜成するずき、そしおそのような䞀連のテクノロゞヌを䜿甚するずきでも、垞に非垞に重芁な機胜ずニュアンスを忘れたせんでした。 倧芏暡プロゞェクトで埗られた実際の経隓に぀いお説明したす。 Denisは販売システムず広告サヌビスの2GISで働き、WindowsずmacOSのCでコヌドを蚘述し、Linuxにコンパむルしおアプリケヌションを展開したす。したがっお、圌は自分が䜕に぀いお話しおいるかを知っおいたす。 レポヌトのリスナヌである私たちにずっお、これにより、同様の問題を解決する必芁がある堎合は、すぐに自分自身を方向付けるこずができたす。


NServiceBusたたはMassTransit .NET ServiceBusフレヌムワヌクの比范


ロヌランド・ガむト、RMG Holding BV


メッセヌゞングを䜿甚しおマむクロサヌビスを実装するアヌキテクチャのテヌマを継続するには、サヌビスバスに぀いお芚えおおく必芁がありたす。 いく぀かのオプションがありたすが、どのように遞択するのですか .NET甚のMassTransitずNServiceBusがあり、どちらも玠晎らしい動䜜をしたす。 しかし、倖郚の類䌌点にもかかわらず、それらには倧きな違いがありたす。


この講挔では、RonaldがMassTransitずNServiceBusの䞻な機胜ずAPIに぀いお説明し、類䌌点ず盞違点に泚目したす。 このコンペの最埌に、あなたの申請に最も適した勝者を遞択するこずができたす。 今すぐ賭けるこずができたす


単なる人間のためのAkka Streams


Vagif Abilov、マむル


著者の䜏んでいる堎所に倩気デヌタを远加しお、数行のコヌドでTwitterからの連続したメッセヌゞのストリヌムを印刷するにはどうすればよいですかたた、気象プロバむダヌぞのリク゚ストの速床を制限しお、ブラックリストに登録されないようにするにはどうすればよいですかこれはすべお、レポヌトの最埌の郚分のデモで芋るこずができたす。


その前に、Akka Streamsテクノロゞヌに぀いお孊びたす。これにより、個々のアクタヌやリアクティブストリヌムむンタヌフェむスを手動で実装する必芁なく、LINQ匏を䜿甚するプログラマヌず同じくらい簡単にリアルタむムデヌタストリヌムを操䜜できたす。


— - 30- . Github — @object . F# C#. , - Simple.OData.Client .


,


Runtime code generation techniques in real life scenarios


Raffaele Rialdi, Vevy Europe


— , . Expression Trees - () . Expression Trees .NET . , — API Roslyn/CodeAnalisys, , , , .


, , . , — , ? , .


— , , MVP Developer Security 2003 , enterprise-, C# C++. , , , .NET, .


Mono + .NET Core = ❀


, Microsoft


, , - 
 , , , .


.NET Core . Mono ? , , Mono .NET. , .NET Core Mono , , Embeddinator .


— Xamarin (Microsoft) Mono BCL. Mono .NET Core. , — . - , .


TDD


, Zerocracy


— «» -. , ( — «», — «», — «»), «» . .


, DotNext, , , , . — « Elegant Objects », CEO Zerocracy Java open source ( Rultor , Takes , JCabi ).


(aka TDD) 2002. 2014 ( Ruby on Rails) , TDD . ( SOLID-) , TDD . - TDD , « , TDD ». , — , , , . . , , .


Life, liberty and the pursuit of APIness: the secret to happy code


Dylan Beattie, Spotlight


, — . Dylan Beattie — , . , — , , — API . , , , DotNext .


. , , . UI , — . — . , , .


, user experience. — , — . , — , API, - , . , - . « discoverability ». ( , , , «»).


, user experience, API, , discoverability . , , discoverability . , , hypermedia API — , - — — , ?



, EPAM


Newtonsoft.Json — NuGet. , , — Entity Framework. , , .NET . — , -, . .


F# — . , , , , F#.


, , , , — !


F# . Machine Learning , .



. , , — .


From dependency injection to dependency rejection


Mark Seemann, blog.ploeh.dk


— . - « » .


— Dependency Injection in .NET , - , , . . , .


?
- dependency injection — , , . .


dependency injection - , ( ) . , , .


C#


, Deutsche Bank Technology Centre


. , , . , , . C# . Linq . C# , , Reactive Extensions ( ).


, C#? . , , Null Reference Exception, Linq .


セキュリティの問題


, ! , , . .


ASP.NET Core攻撃防止メカニズム2.0



, JUG.ru Group . , — .


2.0 ASP.NET, .NET Core 2.0 . - Microsoft .


security features ASP.NET , XSS CSRF, , .


, ASP.NET-, , security review .NET-, . , , .



, Positive Technologies


, . — .


.NET- (HTML, JavaScript, URL, SQL, Path .).


, , .


LibProtection, API .


Machine Learning &


Machine Learning — . , — SmartData , . DotNext !


.NET-


, Microsoft


. Microsoft , .. .


— , , Windows .


, .NET- : , , .NET- Raspberry Pi.


Self-aware applications: automatic production monitoring


Dina Goldshtein, Google


— , . , , , , . ETW CLRMD , . : GC, CPU, , . Riverbed , — , , .


, DevOps


, , . «Self-aware applications», - , .


Metrixには...


, Paladyne Systems
. — . , , . , .


, , . , Time Series . , InfluxDB Grafana .


NUKE: Build automation for C# developers


Matthias Koch, JetBrains


— JetBrains, , 5 open source , TestFx, TestLinker NUKE .


NUKE — , C# DSL. , . NUKE , C#, IDE , , . NUKE . — !


.NET Core Linux


, TYME


Linux? — TYME, , .NET Core Linux.
.NET Core Linux, . , : GitLab, TeamCity, Ansible, Octopus Deploy, Docker. . , TYME Linux.


少しの哲孊


: Unchain my heart


Dino Esposito, JetBrains


2048 . ? , ?


— — . . 2008 Bitcoin. Bitcoin, — Blockhain. — — , . , - , . , . , , — , — .


, 2048 , , . , , RFID, . (, 2017 !). , . , , - — , , , — .


, , — , . (, , , 2048!). -? , . , , . ( , — , 70, ). , .



Source: https://habr.com/ru/post/J341378/


All Articles