トップ10。 パブリックドメむンの最高のレポヌトの分析。 ハむれンバグ2017モスクワ

私たちは叀いパタヌンに埓いたす私はあなたのために連続しお10のレポヌトを芋お、あなたがそれを興味深く投げるこずができるように内容の短い説明をしたす。 さらに、サむトからスラむドず説明ぞのリンクを収集したす。 私はそれを分類し、評䟡を䞊げる順にそれを䞎えたす-぀たり、䞀番䞋に最もクヌルなレポヌトがありたす。 評䟡はYouTubeでは奜きではありたせんが、独自の評䟡システムであり、奜きよりも栌奜いいです。


前のパヌト JBreak 2017 、 JPoint 2017 䞡方のカンファレンスはJavaに぀いおでした。


今回は、テスタヌおよびサむトのメむンペヌゞに蚘茉されおいるプログラマヌずチヌムマネヌゞャヌの有名な䌚議であるHeisenbug 2017 Moscowを研究察象ずしたす。


投皿には膚倧な数の画像ずYouTubeぞのリンクがありたす。 泚意トラフィック


免責事項 すべおの説明は私の個人的な意芋です。 曞かれたものはすべお私の病気の想像力の結果であり、スピヌカヌの歪んだ匕甚ではありたせんこの譊告はスピヌカヌが私をbeatらないように曞かれおいたす。 誰かが誀っお気分を害した堎合-個人的に曞き蟌み、それを把握したす。 しかし䞀般的には、このように考えおみたしょう。BadComedianが毎回Cinema Foundationに䜕を蚀ったらいいのか、䜕を蚀わないのかを尋ねたら、少なくずも1本のビデオを䜜るでしょうか


10. セレン化物パズル


スピヌカヌ アレクセむ・ノィノグラドフ、アンドレむ・゜ルンツェフ。 掚定倀 4.31±0.14 プレれンテヌションぞのリンク 。



Puzzlersは、すべおの芖聎者がショヌの盎接参加者になるクむズレポヌトです。 プレれンタヌは、6぀以䞊の興味深いタスクを思い付きたす。そのほずんどは、実際の蚭蚈の実践から取られおいたす。 各タスクのオプションのリストが瀺されおおり、それぞれに有利な説埗力のある匕数が䞎えられおいたす。


このパズルのテヌマは、Selenide UI Testing Frameworkです。 フレヌムワヌクの衚面的な知識を持぀初心者向けの質問が甚意されおいたすが、䞀郚の専門家でさえ、それらの䞀郚に぀いお歯を折るでしょう。


ずころで、Andrey SolntsevはSelenideの䜜成者であり、Alexey VinogradovはRadio QAのVinogradovず同じで、それ自䜓が配信したす。




ここではパズルのピヌスの答えを台無しにしたせんが、いく぀かのタスクを提䟛したす。


最初のパズルは非垞に簡単です答えを芋たなら




しかし、ここではそれほど明癜ではありたせん。




最埌たで喜んで聞いた。 パズルがプログラミング䌚議でしばしば圹に立たない堎合しかし、魔法の知識がプログラマヌに信じられないほどの喜びを䞎える堎合、このレポヌトには盎接的な実甚的な䟡倀があるのは面癜いです。 著者がStackOverflowを䜿甚しお最も奇劙な䞊䜍10の質問をGoogleで怜玢しただけでなく、実践からタスクを取埗しただけであるこずはすぐにわかりたす。




9. セレニりムのスケヌリング


スピヌカヌ サむモン・スチュワヌト。 掚定倀 4.33±0.13。 プレれンテヌションぞのリンク 。



サむモン・スチュワヌトは、控えめに蚀っおも有名人です。 最初にWebDriverを䜜成し、Seleniumを匕きずり続けたのは圌でした。


レポヌトは、ロケヌタヌ、長いXPath、およびスリップに関するいく぀かの非垞に基本的なこずから始たりたす。 サむモンは、䞀般的な問題を回避するような方法でテストずアプリケヌションを䜜成する方法に぀いお話したす。




しかし、その盎埌24分以内に、レポヌトの䞻なトピックであるスケヌリングに぀いお話が凝瞮されたす。


圌は、 staticおよびThreadLocalsが悪い理由ず、コヌドが䞍安定でステヌトレスであるべき理由を説明したす。 さらに、これらの説明は、高性胜コヌドをプログラミングするための暙準的なアプロヌチここでは、䞀生懞呜やれば静的関数の䜿甚を蚌明できるからではなく、テストから来おいたす。


これはすべお、圌のMacbookでのラむブデモによっお匷化されおいたす。




著者は䜓系的に問題にアプロヌチし、 独立した堎所からテストを開始するこずを怜蚎しおいたす。 䞀般的に、そのような質問はむンタビュヌに最適で、人が曞いお働いただけなのか、働いたのかをすぐに刀断できるように思えたす:-)




兞型的なWebアプリケヌションを䟋ずしお䜿甚しお、テストが倱敗する可胜性がある状況を怜蚎したすが、キャッチしようずした理由ではありたせん。




途䞭で、SimonはSeleniumアヌキテクチャの適甚可胜性の詳现に螏み蟌むこずをheしたせん。 圌がそれを開発したのも䞍思議ではありたせん。




そこで圌は、Selenium Gridを䜿甚しお、実際のデモでそれを芋せおくれたした。




もちろん、Dockerです。 Dockerの最初のルヌル垞にDockerに぀いお話しおください




そしお、それはすべおクラりドプロバむダヌで終わりたす。


レポヌトの最埌に、発生する可胜性のある暙準゚ラヌの説明がありたす。




過去に、DevOpsを実装したしたが、レポヌトに蚘茉されおいるフルスタックの問題は非垞に芪しみやすく、身近なものでした。 私自身は、テストスケヌリングのいく぀かの基本的な問題に関するSimonの公匏の立堎実際には、Seleniumチヌムの立堎を取り䞊げたした。これにより、将来ツヌルをより正確に凊理できるようになりたす。




8. 癜いパンドラの箱


スピヌカヌ ニキヌタ・マカロフ。 掚定倀 4.34±0.07。 プレれンテヌションぞのリンク 。



Nikita MakarovはOdnoklassnikiの自動テストグルヌプの責任者です。 圌はハむれンバグプログラム委員䌚のメンバヌでもありたす。 時々私たちはむンタヌネットでコミュニケヌションを取りたすが、圌の報告を芋るのは特に面癜かったです。


たず、レポヌトは、ニキヌタが既にプレれンテヌションを投皿し、その䞊にQRコヌドを䞎えたずいう事実から始たりたす。 それが玠晎らしいず蚀うこずは、䜕も蚀わないこずです。 私芋、これはすべおのスピヌカヌが䞀般的にすべきこずです。 YouTubeで䌚議の蚘録を芋おいる私たちにずっお、これはそれほど重芁ではありたせん。


芁するに、テスト業界は「ブラックボックス」に぀いお倚くを語っおいたすが、「ホワむト」に぀いお蚀及されるこずもありたす。 これは、「ホワむトボックス」のテストが垞にプログラマの特暩であるず考えられおきたずいう事実によるものです。


このレポヌトは、いく぀かの曞き蟌みに関する質問に答えたす。





圓初、ニキヌタは、ホワむトボックスに関する情報がほずんどないのではないかず考えおいたす。 圌は関連する歎史的背景ずこのトピックに関する圌の研究に぀いお話したす。




その埌、詳现に進みたす。 Nikitaが、DevOpsに関する前回の講挔で䜿甚したものず同じコヌルスタックのスクリヌンショットを䜿甚しおいるのは面癜いこずです。




ブラックボックスの芳点からこの䞀連の呌び出しを入力しようずするず、倚くのテストを実行できたせん。 すべおのJavaプログラマヌはこれを知っおおり、期埅したいすべおのJavaテスタヌですが、これは通垞は考えたくないこずです。


それは動機付けの郚分でした。 次に緎習がありたす。 ニキヌタは、既成の゜リュヌションはないこずを事前に譊告し、原則を䌝え始めたす。




解析された質問は、Javaコヌドの特定の䟋で説明されおいたす。




ある時点で、圌はアむデアを発芋し、すべおを芋せ始めたした。




このレポヌトでは、さたざたな皮類のテストずそれらのツヌルに぀いお説明しおいたす。




そしお、これはすべお、スピヌカヌのラップトップでのラむブデモで瀺されおいたす。 情報の集䞭床が非垞に高いため、蚀い盎すのは無意味です。


実際、レポヌトはトピックの特定の「没入レベル」に分かれおいたす。 それは最も単玔なものから始たり、最も恐ろしいもので終わりたす。 たずえば、゜ヌス解析ず抜象構文ツリヌに぀いおもありたす。


最埌に、ニキヌタは、ホワむトボックスは戊略であり、それをどのように実装するかは私たちのビゞネスであり、特定のプロゞェクトに䟝存しおいるず芁玄しおいたす。 あなたは頭で考えなければなりたせん。


そしお、私が特に気に入ったのは、レポヌトが人生を肯定するメモで終わるこずです。コヌドを読む必芁がありたす テスタヌに​​これをさせる方法、しかし、私はただ理解しおいたせん。






7. A / Bテストが壊れおいたす


スピヌカヌ ロマン・ポボルキヌ。 掚定倀 4.36±0.13。 プレれンテヌションぞのリンク 。



JBreakおよびJPointカンファレンスの準備䞭にRomanに䌚いたした。 この小説は、私のスラむドおよびレポヌト党般を、私が䞀人でできるほどだらしないようにするのに圹立ちたした。 たた、RomanにはA / Bテストなどのトピックに関する信じられないほどの深い知識があり、圌が講挔するのを楜しみにしおいたした。 圌はそこにいたす。


この小説では、テストに隣接する領域に぀いお説明しおいたす。 機胜が正垞に実装されおいるこずを確認した埌、ナヌザヌが新しいバヌゞョンを気に入っおいるかどうかを調べるための実隓にロヌルアりトされたす。


通垞、実隓の責任者は、デヌタを解決するには䞍十分であるず蚀っおいるこずに気づきたしたか 倚くの堎合これは真実ですが、倚くの堎合、実隓システムの内蚳ずナヌザヌ統蚈の考慮にすべおがありたす。


このレポヌトでは、そこで発生する兞型的な故障に぀いお説明しおいたす。その結果、職堎に戻っお、少しデヌタ科孊者になり、自宅で間違いを芋぀けるこずができたす。 それらのいく぀かはおそらくそこにありたす。


䞀般に、私は数孊の知識が非垞に乏しく、さらにマットスタットの知識も乏しく、ロヌマの報告から䜕も埗られないのではないかず心配したした。 IQが十分ではないからです。 しかし、いや、理解できない方法で、レポヌトの内容は実際に非垞に理解可胜で適甚可胜であるこずが刀明したした。


レポヌトは、草がより緑だった時期にマむクロ゜フトが行ったテストの1぀に関する話から始たりたす。




最倧の間違いは、テストがたったくない堎合、補品に䜕かを展開できるため、埌悔するこずです。




倚くの堎合、人々はそこで䜕が耇雑なのか理解しおいない-ナヌザヌによっおそれを壊し、みんなに芋せお、結果を蚈算しお-これで完了だ




実際には、dofigよりも耇雑になる可胜性があるずいう事実に関するロヌマの党報告曞。


たずえば、人は私たちのサヌビスの小さな倉曎よりも自分の習慣に䟝存しおいたす。


したがっお、分離画像はそうではありたせん




そしおここにそのようなものがありたす




実際、私たちの実隓に来た人は非垞に少なく、研究の結果は䞀般のすべおの人に適甚する必芁がありたす。 そしお、これは叀兞的な統蚈タスクです。


レポヌトの䞭心的な行は、いく぀かの倧きな間違いです。



結果はほが同じですそしお、それらは前述の問題から続きたす。




私にずっお、このレポヌトは結果ずしおではなく、調和のずれた掚論システムずしお䟡倀があり、この資料を基瀎ずしお、この方向で独立しお考え続けるこずができたした。


そしおもちろん、数孊はただ匕き䞊げる必芁がありたす。




1぀のスラむドでレポヌト党䜓を衚珟しようずするず、おそらく次のようになりたす。






6. Arduinoを䜿甚した電話のテスト


スピヌカヌ アレクセむ・ラブレニュク、ティムヌル・トルバロフ。 掚定倀 4.38±0.14。 プレれンテヌションぞのリンク 。



次のレポヌトは、Yandexの2人の開発者が実斜しおいたす。 Alexeyは、 Yandex.Tank 、 Pandora 、 Overloadなどに関䞎しおいたす。 Timurはテレコムで4幎間、Yandexで最埌の4幎間働いおいたした。


これは、ラむブでの参加が刀明した数少ないレポヌトの1぀でした。 私は圌に䞍玔な動機から来たした。珟代のアプリケヌションがどのようにバッテリヌを消費するかをgloりたす。 この報告曞の利点は、党瀟的にこれず勇敢に戊っおいる人々からの正確なものです。


倧たかに蚀えば、サヌバヌアプリケヌションのパフォヌマンスのみをテストする方法を知る前に、今では党䞖界が携垯電話に切り替わっおいたす。 特に、Yandexは電話の゚ネルギヌ消費量を枬定したす。 AlexeyずTimurは、゚ネルギヌメトリックをハヌドりェアで組み立おる方法を孊んだ方法を説明したす。Arduinoに基づいお電流を枬定する小さな回路を組み立お、それず連携するラむブラリを䜜成したした。 圌らはラむブラリをオヌプン゜ヌスに投皿したした 。 さらに、このレポヌトでは、電話の準備方法、テストボックスの組み立お方法、およびラむブラリの䜿甚方法に぀いお説明しおいたす。


もちろん、これはすべお、たず第䞀にたっすぐな腕を持っおいる人にずっお興味深いものです。 私は、実皌働環境でこれを本圓に実行できるかどうかはわかりたせん。 これには、顕著な持続性ず才胜が必芁です。 しかし、専門家がそれをどのように行うのか䞍思議に思うこずは垞に興味深い。


レポヌトは、テストが実際の電話で行われる堎合の耇雑さから始たりたす。




誰がこれを必芁ずしおいるのか、そしお圌ら自身の゚ネルギヌ゜リュヌションにはどのような特性があるのか​​に぀いお、いく぀かの研究を行っおきたした。




レポヌトの抂芁は次のずおりです。




぀たり、最初にマルチメヌタヌを䜿甚しなかった理由が説明され、次にティムヌルが登堎し、オヌプン゜ヌスの内容ずその䜿甚方法を瀺したす。


電話機でできるこずずできないこずに関するいく぀かの問題がありたすおよびiPhoneの1/20メトリックの意味






タヌンキヌ゜リュヌションの研究方法に぀いお説明したす。




したがっお、圌らはビゞネスに取り掛かりたした






䜜業䞭に生じた玔粋なハヌドりェアのマむナヌな問題だけでなく、






しかし、゜フトりェア開発の問題






レポヌトの2番目の郚分は、既補の゜リュヌションであるVoltaずVoltaBoxに圓おられおいたす。






゜フトりェアはpip install voltaを䜿甚しおpip install voltaされたす。 これは゜フトりェアが内郚でどのように芋えるかです




実際、図は、内郚のすべおが非垞によく考えられおいるこずを瀺すためだけにここにありたす。


Timurは、これらすべおを実際に構成しお䜿甚する方法を説明したす。 すべおがJupyter Notebookで機胜し、それからあなたの手に埓っおください






䞀般に、結果は次のようになりたす。




報告曞は、゚ネルギヌ消費の枬定はある皮の空想や遠い未来ではないずいう感芚を残しおいたすが、今すぐに行うこずができたす。 そしお、これらすべおは、物理科孊および数理科孊の医垫である必芁はありたせん。 もちろん、これは、アレクセむやティムヌルのような人々が私たちのためにすべおをしおくれたからこそ可胜であり、私たちは既補のものしか䜿甚できたせん。




5. 「゚ラヌが発生したした」ずナヌザヌに通知する方法


スピヌカヌ アントニヌナ・キサメトディノバ。 掚定 4.40±0.10。 プレれンテヌションぞのリンク 。



通垞のプログラマヌおよびテスタヌもは、幞せな道だけをテストするこずを奜みたす。 幞せではないものすべおが私の神経に乗りすぎおいたす。 したがっお、通垞、゚ラヌシナリオはほずんど泚目されたせん。


倚くの堎合、ナヌザヌがどのように感じるかを考えずに、「゚ラヌ番号392904」や「おっず、䜕かがおかしい」などの同じ皮類のむンタヌフェむスりィンドりを䜜成したす。 しかし、圌は動揺し、補品に察する自信を倱いたす。 さお、たたは路䞊で远い぀くずビヌト。


このレポヌトは、普通の人の目を通しお゚ラヌを瀺しおいたす。 アントニヌナは、ナヌザヌを怒らせないように、゚ラヌずクラッシュを正しく報告するようにむンタヌフェヌスを教える方法を教えたす。


ストヌリヌは、゚ラヌシナリオの抂芁から始たりたす。




そのようなシナリオを凊理するビゞネスを正圓化する方法に぀いお少し




これはすべお実際のお金に倉換されたす。




それは良い゚ラヌメッセヌゞです



さらに、さたざたなタむプの゚ラヌ、それらに察するナヌザヌの反応World of Tanksの䟋を含む、および゚ラヌメッセヌゞの圢成に寄䞎するすべおのニュアンスが䜓系的に説明されおいたす。






ナヌザヌの連絡先チャネルず、゚ラヌに぀いおナヌザヌに正しく通知する方法に぀いお少し説明したす。




チェックリストの圢匏で、アプリケヌションを改善するための具䜓的なヒントが提䟛されおいたす。




これはすべお、非垞に倚くの実䟋で瀺されおいたす。




芖芚障害者向けのむンタヌフェヌスなど、非垞に珍しいアプリケヌションでも考慮されたす。




䞀般に、このレポヌトは単に集䞭した情報に圧倒され、すべおをこの絞り蟌みの圢で䌝えるこずは䞍可胜です。


ただし、特定の䞭倮蚈画を投げるこずができたす。



最埌に、生呜の宇宙の䞻な問題が提起され、䞀般的に




たた、これらすべおをどう凊理するか、トピックで䜕を読むべきかに぀いおの明確なチェックリストもありたす。






「読み方」に関するスラむド-90分の3。 93枚のスラむド、カヌル


ビデオを芋た埌、これは単なるレポヌトではなく、スマヌトで高床な研究の本である本だず感じたした。 たぶんい぀か圌女は本を曞くでしょうか いいですね。


確かに、そこにあるず蚀われたこずはすべお、明らかに、そしおビゞネス䞊、非垞に有甚です。 146で適甚される数少ないレポヌトの1぀。




4. シンプルさ、信頌、制埡-Webテスト自動化の3぀の柱


スピヌカヌ Artyom Eroshenko; 掚定倀 4.45±0.08。 プレれンテヌションぞのリンク 。



Artyomは、AllureおよびHtmlElementsの著者ずしお知られおいたす。 Webテストの自動化に関連するプロゞェクトに長い間携わっおきた圌は、最初のテストから数千たでのプロゞェクト党䜓を通しお、圌ず圌のチヌムにずっお快適な䜜業を保蚌する䞀連のルヌルを䜜成したした。 この䞀連のルヌルは、「開発のしやすさ」、「結果ぞの信頌」、「品質管理」の3぀のグルヌプに条件付きで分割されおいたす。


このレポヌトは、Artemずチヌムがテストをできるだけ簡単か぀明確に䜜成および線集できるようにするツヌルを扱っおいたす。 チヌム党䜓でテストに合栌した結果、テストの品質管理がどのように実行されるかに぀いおの信頌を埗るのに圹立぀アプロヌチが怜蚎されたす。


最も正しいのは、このレポヌトを蚈画の圢匏で提瀺するこずです。


実際、このレポヌトでは170枚以䞊のスラむドが䜿甚されおいたす 。 これに぀いお詳しく説明し始める堎合は、別のハブポストが必芁になりたす。ハブポストは必芁ありたせん。




党䜓ずしお、次のようになりたす䌚話がスムヌズに進むため、入れ子のレベルずどこかで混同した堎合は申し蚳ありたせん



実際、これはこのトピックに関する最も包括的なリファレンスレポヌトの1぀であり、远加する特別なものはありたせん。 これは非垞に倧きなチェックリストであるため、䞀貫しお埓う必芁がありたす。






TOP-3


3. Badooでの䜍眮情報のテストバンプ、石、束葉杖、自撮り棒


スピヌカヌ アレクサンダヌホスト、ニコラむコズロフ。 掚定倀 4.57±0.10。 プレれンテヌションぞのリンク 。



ロケヌションの操䜜は非垞に重芁であり、そのプロセスには事前に予枬するのが難しいポむントがたくさんありたす。 スピヌカヌは、このトピックの問題ずニュアンスを匷調し、圹立぀ヒントを提䟛し、䜿甚するツヌルに぀いお話したす。 このトピックに関する情報はそれほど倚くないので、このレポヌトはほずんどの人に圹立ちたす。


最初に、スピヌカヌはBadooでどれだけクヌルで倧きいかずいうトピックに぀いお䞀連のBadooたす。 私自身はこのサヌビスを䜿甚しおいないので、数字は私に軜いショックを䞎えたした。




そしお、これらはすべお保護された圢匏で正しく保存されたす。


レポヌトの内容は次のずおりです。






最初に、最新のゞオロケヌションがどのように機胜するかに぀いおのいく぀かの入門情報を瀺したす。




次に、いく぀かのタスク「できるだけ少ない電力で倧量のゞオデヌタを凊理する」などが蚭定され、これらの同じゞオデヌタが䜿甚される倚くの䟋が瀺されおいたす。


問題は、アプリケヌションを起動しおから所定の粟床でゞオデヌタを収集するたでに時間がかかる堎合があるこずです。




埗られたデヌタは完党に正確ではなく、テストできる必芁があるず蚀われおいたす。 テストには、Android゚ミュレヌタヌずXcodeシミュレヌタヌが䜿甚され、どこにでもバグがありたす。




さたざたな興味深いナヌティリティ




これで、システムはすでにデヌタを受信しお​​いたす䞊蚘のおかげです。通垞は䜕らかの圢で機胜するこずを確認する必芁がありたす。




情報ノむズの問題が議論されおおり、時にはどの方法を掘るかさえ明確ではありたせん




圓然、ここにログの行がありたす。 良奜なログの基準が定匏化されたす。






次に、優れたデバッグメニュヌを䜜成する方法に぀いおの議論のブロック党䜓が来たす。




しかし、電力消費ログはどうでしょうか Yandexの以前のレポヌトぞの玠晎らしい参照




ただし、スピヌカヌには独自の䞍正行為のテクニックがありたす。たずえば、Badooには非垞に匷力な監芖チヌムがあり、これらすべおを非垞にうたく行っおいたす。




ランダムな楜しい事実




゚ネルギヌ消費の最小化に関する䞀連の結論は䜕ですか




さらに、このレポヌトには、フォアグラりンドでの䜍眮の明確化、座暙の倧幅な倉化ぞの反応、ネットワヌクでの䜜業時のタむムアりト、䜍眮デヌタの融合など、非垞に倚くの興味深いものがありたす。


あなたが本圓にそれを真剣に取るこずに決めたなら、あなたがゞオロケヌションサヌビスでどのようにできるか、そしお働くべきかに぀いおの優れた、生き生きずした理解可胜な物語




2. 䞍安定なテスト


スピヌカヌアンドレむ・゜ルンツェフ。掚定倀4.57±0.06。プレれンテヌションぞのリンク。



䞍安定なテスト-自動テストの頭痛。 昚日、テストは緑色でしたが、今日は突然赀色に倉わりたした-理由はありたせん。 誰も䜕も倉えたせんでした。 月が間違った䜍盞にあるずいうだけです。 , . — , .


- , :




Flaky- — , .


. , , .




1,5% — . .


:




, . , :




, - :




nbob ( , !), , Java, « » ( , ), Chrome .


, - :






:






1. World of Tanks:


: ; : 4,61 ± 0,11. .



, : « , ». - , ?


GameDev World of Tanks. , , ( -), «bot-net» – «World of Tanks» Python. .


, .


, — . -, , , - ( Overwatch, ). -, MMO-, , , , .


— World of Tanks.




:




, MMO . , , , 
 , :)




— .




, PHP, , — .


.




, -. , .




, , , , . , .




. !




( , ) — . WoT , .




, — . , , , . : , , .., , .




, . !


(, , ):




( , , , ):




, , .




, , . , . , . .


, .




, - , , . !






:




headless-.




, ? XML, : C, C++, C#, Python, LUA.


. , . , , .. , — .


: ( — 1 , 100 headless, ) .








, (, , ) :






, .


, !








以䞊です。 , . : , , , , , , - «-».




広告の分。 おそらくご存知のように、䌚議を行っおいたす。 — Heisenbug 2018 Piter , 17-18 2018 . , ( — ), . 芁するに、私たちはあなたを埅っおいたす。


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


All Articles