プログレッシブハむれンバッグ法

この投皿では次のように䌝えたす。









Habrovskの倚くの居䜏者はIT䌁業で働いおおり、圓瀟にはHabréに関するブログがありたす。 このブログは、䌚瀟の補品ずサヌビスのショヌケヌスずしおよく芋られたす。 あなたが䌁業のブログに投皿を曞くずき、誰もが無意識のうちにそのような振る舞いを期埅しおいたす。 ハンタヌが圌らの家の壁に玠晎らしい動物でトロフィヌを掛けるず、新しいバヌゞョン、新しい機胜、新しいバグがりィンドりに衚瀺されたす。















しかし、私たちは皆、たず第䞀に、Habrは玠晎らしい物語のコレクションであるこずを理解しおいたす。 䌁業ブログは、本圓に䟿利なものブラりザヌの「高速タむピング」 でのIntel MEでのコヌド実行に関する@ptsecurity蚘事たたは「新しいテクノロゞヌ」を備えた地獄のような汚れた沌地決しお新しいものではありたせんが、たったく技術的でなくおも、たたはオフィスの写真を持぀Instagramの関連䌚瀟です。 あなたは最終的に䜕が起こるかを決定したす。







さらに蚀うず、トップ䌁業にはたくさんの賌読者がいたす JUG.ru Groupのブログには 1.5䞇人がいたす が、メむンの䞀般的な出版物には玄50のプラスがありたす。 そのため、サブスクラむバヌはほずんどすべおの投皿をメむンペヌゞにプルするこずができ、゚ラヌの範囲内でクリックするだけです。 ぀たり、habraautorずしおは、メむンペヌゞのコンテンツHabrの倖芳、名誉、評刀に責任を持぀のはあなたです。







これにより、自動的に質問が発生したす。䌚議のレビュヌに぀いおはどうでしょうか。 この点で、私たちにずっおは、たずえば゜フトりェアメヌカヌよりもやや耇雑です。 ゜フトりェアの補造元は通垞、すでに正垞に完了および完了した䜜業に぀いお曞き、その結果はhabrozhitelによっお䜿甚されたす。 䌚議は、䌚議の盎前の日でも垞に進行䞭の䜜業です。 すべおの新しいニュアンスず開発の段階に぀いお曞く堎合、段萜のサむズで継続的に曎新をリリヌスする必芁があり、これはむしろTwitter圢匏です。 Habréでは、長い間読みたいず思っおいたす。







倚くの人がここで同じ問題を抱えおいるず思う。コメントで議論し、解決策を批刀する䟡倀がある。







私たちの決定は、Covodryのパラグラフ167でArtemy Lebedevによっお説明された「プログレッシブゞヌプ法」によっお簡単に説明されおいたす 。














クラシックを珟実に合わせおわずかに改良する必芁がありたした。














ラむフハックそのような絵を描く方法



私は小さな実甚的な䜙談を蚱可したす。 倚くの人はパラグラフ167に぀いお知っおいたす。職堎で自分の写真で「プログレッシブゞヌプの方法」を説明したいず考えおいたすが、その方法はわかりたせん。 この蚘事は、このオヌプンサむンの秘密を明らかにせずには完成したせんが、Googleにずっおは非垞に困難です。







盎感的には、画像を描画するアルゎリズムを䜿甚し、N番目のステップスキャンで停止しお修正する必芁があるようです。 難しいこずではありたせん。 実際、すべおはすでに私たちの前で行われおいたす。ブラりザが䞀般的な写真よりも少ないデヌタをダりンロヌドする必芁がある堎合、そのような停止はブラりザでプログラムされたす。 サヌバヌに正しい倀「Content-Length」を蚭定するためだけに残りたす。







  1. Photoshopたたぱンコヌド圢匏を管理できる他の゚ディタヌで画像を保存したす。

    PhotoshopでJPGに保存するず、次のダむアログボックスが衚瀺されたす。



    このりィンドりで「プログレッシブ」を蚭定するず、画像を順次改良するオプションが衚瀺されたす。 そこにベヌスラむンを蚭定するず、画像は䞊から䞋に少し描画され始めたす-䞊蚘の䟋ずたったく同じです。
  2. PHPをダりンロヌドしお解凍したす ダりンロヌドぞのリンク 。 これはWindows、macOS、GNU / Linuxのナヌザヌ向けで、 brew install php70



    およびapt-get install php7.0



    たす。
  3. php.exe



    ぞのフルパスを手でphp.exe



    しないようphp.exe



    、 php.exe



    がPATH



    php.exe



    ディレクトリを远加するこずをお勧めしたすただし、必須ではありたせん。
  4. たずえば、 C:\\Temp\\jpeg.jpg



    ように、ファむルシステムに画像を配眮したす。
  5. jpeg.php



    スクリプトを䜿甚したす。







     <?php //      ? $divide = isset($_GET['divide']) && intval($_GET['divide'])>1 ? intval($_GET['divide']) : 1; $img = 'jpeg.jpg'; //     . //    ,     : $size = round(filesize($img) / $divide); //  HTTP-: header("Content-Type: image/jpeg"); header("Content-Length: $size"); //    : $fp = fopen($img, 'r'); echo fread($fp, $size); fclose($fp); ?>
          
          





  6. コン゜ヌルWindows- cmd



    、macOS-iTermなどで、 jpeg.php



    がjpeg.php



    フォルダヌにjpeg.php



    、ロヌカルPHPサヌバヌを起動したすjpeg.php



    php -S localhost:8000



    ;
  7. 指定したアドレスのブラりザヌに移動したす http://localhost:8000/jpeg.php?divide=10



    ;

    divide



    パラメヌタヌの倀が倧きいほど、画像ががやけたす。 理想的な図は、 divide=1



    です。
  8. 利益


なぜJavaではありたせんか 売れた、ひっくり返された、すべおがJavaで悪いのか しかし、悪いこずは䜕もありたせん。戊術的な埌退でした。







これはどのように起こりたすか



この段萜は、これが私たちの䞭でどのように起こるかに興味がある人のためのものです。 基本的に新しいハむれンバグに぀いお必芁な堎合は、次の倧きな芋出したでスクロヌルするか、このリンクをクリックしおください 。







通垞、次の䌚議のレビュヌは、前の䌚議の盎埌に公開されたす。 少なくずも、サむトに叀い情報がなく、 サむトを信頌する必芁があるこずを明確にするために、Habréの投皿が必芁です。







なぜこれが重芁なのか昚日、 Django Girls SPbワヌクショップの䞻催者であるDmitry Nazarov @nazarov_tech がPMで私に手玙を曞いた。 Django Girlsは、女性向けの無料のWeb開発ワヌクショップです。 私たちは喜んで話し、次のDjango Girlsは秋最埌の秋にしかないず思いたした。 しかし、すぐに通過するこずが刀明したしたが、これはただサむトにありたせん。 Django Girlsに぀いお悪いこずを蚀っおいるわけではありたせん-結局のずころ、誰もがそうしおいたす。 これは、偏執的な高速サむト曎新の戊略が適切であるこずを瀺唆しおいたす。







この時点で、日付ず堎所はすでに明確になっおいたすが、プログラムは完党に理解できたせん。 間違いなく来る星がいく぀かありたす。 䟋えば、ハむれンバグの堎合、サむモン・スチュワヌト-セレン・マンたたはノィタリヌ・フリヌドマン、 スマッシング・マガゞンはずおも絶望的で速いです。







この堎合、私たちは発衚を曞くだけでなく、いわゆるCall For PapersCFPを発衚しおいたす。 䌚議に参加するのは、䌝説だけでなく、普通の人でもありたす。







倚くの人は、䜕も蚀えないず思いたす。 最高のレポヌトのいく぀かは、たさにそのような誀fallから始たりたした。 実際、あなたにずっお日垞的に芋えるかもしれないこずは、誰かぞの啓瀺です。 たずえば、負荷テストのプロセスを取り、巧劙にデバッグしたした-これで終わりです。 しかし、ほずんどの人にずっお、これは圌らが䜕かをする解決策を聞く機䌚のために、同様に難しい仕事であり続けたした。







今、この投皿を読んでから少し脱線し、あなたが䌝えるこずができるものに぀いお考えおください。 その埌、迅速か぀決定的に登録フォヌムに蚘入しおください







残念ながら、そのような発衚の投皿ずアピヌルの投皿はほずんど芖聎されず、講挔者はこれを倱いたす。 誰もがこの段萜を読んだわけではなく、誰もが講挔者になる機䌚を実珟したわけでもありたせん。 友人に、Habrを読んでいない人、十分な招埅状を持っおいない人など、Call For Papersに぀いお䌝えるこずで、私たちを助けるこずができたす。 少なくずも、この投皿を気に入っおいただけたす気に入った堎合。







この段階の盎埌、䜜業はプログレッシブゞヌプで始たりたす。 たず、このプログラムに぀いお既にお話しできたす。最初はプログラムに぀いお、次に特定のレポヌトに぀いおです。







しかし、最も重芁なこずは、すでに倚くの有益な情報を含む曎新を垞に公開しおいるこずです叀いレポヌトのテキストの転写テキストが倧奜きなので、Habr'sを読みたす。このトピックに関する興味深い蚘事1぀の埩号化の䜜成には1週間以䞊かかる堎合がありたすが、結果䟡倀のあるコンテンツでHabrを埋めるは䟡倀がありたす。







さらに、䜜業䞭、開発ずテストのタスクを垞に満たしおいたす。 たずえば、 Seleniumに関する蚘事のように、曞くべき眪ではない興味深いタスクが発生するこずがありたす。







そしお最埌に、䌚議の日に近づいお、最終的なメガポストはすべおのレポヌトずスピヌカヌに぀いお曞かれおおり、別の蚘事はオンラむン攟送に぀いおです開催される堎合。







メガポストフレヌムワヌクを構築する最も簡単な方法は、サむトを解析しお必芁なものをすべお匕き出すJavaのプログラムを䜜成するこずであるこずに気付きたした。 このためのコヌドの曞き方は、別の投皿で䌝え、 GitHubに既補のサンプルコヌドを配眮したした。 はい、通垞のすべおを行い、プログラマヌのデヌタを匕き出すように䟝頌するこずが可胜です。 しかし、倜、むンスピレヌションが珟れる瞬間に投皿を曞きたす。 そしお、サむトの開発者は倜寝る普通の人です。 すべおを自分で行う方が簡単か぀迅速です。







䞀般に、このアプロヌチのおかげで、メむンの広告にアクセスし、広告を散らかさず、倚くの興味深いコンテンツをナヌザヌに配信するこずがわかりたした。 この戊略の䞻な問題は、極端なリ゜ヌスの集䞭です。 バランスのずれた1぀の投皿は、クリックベむトヘッダヌのあるゲヌムの郚分よりもはるかに高䟡です。









ハむれンバグのステヌタス



既にご存知のように、2018幎5月17〜18日はHeisenbug 2018 Piterです。 倚くの人がすでにチケットを賌入し始めおいたす私は悲芳論者であり、これは私たちの超囜際的な名声によるものではなく、チケットの特別な1月のコストによる可胜性が高いこずを理解しおいたす。 したがっお、 以前のレポヌトず比范しお倉曎および改善された点を新しい到着者に䌝えたいず思いたす。







朗報10人のスピヌカヌがすでに䌚議ぞの参加を確認しおいたす。 圌らの半数はすでに報告曞を決定しおおり、䞀郚は執筆䞭です。 珟圚、倚くの講挔者がプログラム委員䌚ず協力しおいたす。たずえば、 Michael Boltonは、 マネヌゞャヌ向けの Rapid Software TestingおよびRapid Software Testingを執筆した有名なコンサルタントおよびトレヌナヌです。 しかし、私はこれらの10に぀いおのみ曞きたす。







サむモン・スチュワヌト



セレンプロゞェクト







SimonはWebDriverの䜜成者であり、Seleniumプロゞェクトの責任者です。 過去には、Facebookのアセンブリツヌルチヌムの責任者であり、Buckグラフィカルアセンブリナヌティリティを開発し、モノリポゞトリの䜿甚を匷く䞻匵しおいたした。 Facebookに参加する前、圌はGoogleで5幎近く、ThoughtWorksで3幎連続しお過ごしたした。 圌は本圓にたくさんのコヌドを芋たした。 さらに、Simonは再珟可胜なアセンブリに真剣に興味を持っおいたす。








アンドレむ・サタリン



Andreyは経歎の䞭で、たったく異なるプロゞェクトに取り組んできたした。圌はYandexの分散システムのテスト、Mail.ruのゲヌム、Kaspersky Labのクラりド怜出システム、Deutsche Bankの為替蚈算システムのテストに埓事しおいたした。 圌はバック゚ンドず分散システムのテストに興味がありたす。








アダム・グヌチャヌ



モバむル䜓隓䌚瀟







Adamは動くものすべおを自動化したす。 動かないもの-最初に動かしおから自動化したす。 これらは圌自身の蚀葉です。 Selenium IDEを埩掻させたのは圌でしたその埌、代䟡を支払いたした。 空き時間には、圌女は審刀ずしおダヌビヌロヌラヌボヌル ロヌラヌスケヌトでの接觊チヌムスポヌツに参加したす。







レポヌト クラりド時代のテストの「C0MEDIES」







クラりドに存圚するアプリケヌションをテストするには、独自のハヌドりェアで䜿甚されるものず同じテクニックずテクニックが必芁です。 ただし、通垞のナヌザヌ定矩機胜だけに限定されるこずはありたせん。「クラりド」゜フトりェアを「クラりド」にするすべおの芁玠もチェックする必芁がありたす。 実際、クラりド゜リュヌションを修正するためのアヌキテクチャを倉曎するず、間違いなく他のすべおの完党な再テストが行​​われるため、「クラりド」の適切な動䜜を確保するこずがナヌザヌ機胜よりも重芁であるこずを蚌明できたす。 「C0MEDIES」は、これらの問題に察凊できるさたざたな原則ず技術のリストの略語であり、このレポヌトで説明したす。








アルチョム・゚ロシェンコ



独立コンサルタント







Artyomは、8幎以䞊にわたっおWebアプリケヌションのテストの自動化に取り組んできたした。 この間、圌はさたざたなチヌムずさたざたな圹割で働いおいたした。テスト自動化、テストツヌル開発チヌムのマネヌゞャヌ、テスト自動化グルヌプの責任者です。 Artyomは、䞀般的なツヌルSelenium、HtmlElements、Allure、Jenkinsでの幅広い経隓がありたす。 䞻にJavaずGroovyでプログラムしたす。








マむケル・パロタス



Element34 Solutions GmbH









Element34 Solutionsの創蚭者兌CEO。 Selenium Gridの開発者の䞀人。 eBayの品質゚ンゞニアリングの元ディレクタヌ。 マむケルは10幎以䞊にわたり、品質工孊の責任者ずしおeBay Internationalのテストアプロヌチを圢成しおきたした。 圌はeBay Internationalを、特に゚ンゞニアリングプラクティスの分野で、新しい方法ずアプロヌチを䜿甚しお、滝のaから非垞に柔軟な組織に倉える責任を負っおいたした。 eBayに参加する前、マむケルぱリク゜ン、ノヌテルネットワヌクス、むンテルなどの䌁業で指導的地䜍にありたした。







レポヌト Seleniumを䜿甚した゚ンタヌプラむズオヌトメヌションず、Seleniumずほずんど関係がない理由







SeleniumがW3C暙準になるず、より倚くの組織がSeleniumを䞻芁なテスト自動化ツヌルずしお䜿甚し始めおいたす。 ほずんどのチヌムは、テストの䜜成ずSelenium自䜓を䜿甚した問題の凊理に焊点を圓おおいたす。 それでも、私たちの経隓では、Seleniumは、゚ンタヌプラむズプロゞェクトでの䜿甚に適したテスト゜リュヌションをれロから䜜成する堎合の最小の問題です。 このレポヌトでは、Seleniumを䜿甚したテスト自動化が最終的に倧芏暡な゜フトりェア補品プロゞェクトになる方法に぀いお、実際の倚くの実䟋を芋お​​いきたす。 最初から、これがたさにそのような゜フトりェアプロゞェクトであるこずを理解し、それに応じお実斜する必芁がありたす。 レポヌトには、チヌムがSeleniumツヌルに基づいお拡匵可胜で信頌性の高い゜リュヌションを構築するこずを劚げる䞻な問題が衚瀺されたす。 たた、Seleniumに基づいおこのような゜リュヌションを䜜成する際に、無駄のない原則をどのようにうたく適甚できるかに぀いおも説明したす。














ゞュリアン・ハヌティ



ゞュリアンは、モバむルテクノロゞヌの分野で独立したコンサルタントです。 珟圚、圌はプログラム委員䌚ずずもに、報告曞の内容ず発衚に取り組んでいたす。 詳现に぀いおは、Heisenbug 2018 Piterプログラムに関する以䞋の蚘事をご芧ください。








ニキヌタマカロフ



同玚生







ニキヌタはアりト゜ヌシングおよび食品䌚瀟で働いおいたした。 Linuxベヌスの組み蟌みオペレヌティングシステム、ビゞネス、゜フトりェア、およびハヌドりェアシステム向けの耇雑なVPN゜リュヌションの自動化に埓事しおいたした。 2012幎1月以来、圌はOdnoklassnikiプロゞェクトのテスト自動化グルヌプの責任者です。








ノィタリヌ・フリッドマン



スマッシングマガゞン







Vitaliyは、優れた矎しいコンテンツを䜜成するこずを奜み、困難が生じおもgiveめたせん。 圌はミンスクで育ち、ドむツでコンピュヌタヌサむ゚ンスず数孊を孊び、印刷、執筆、デザむンぞの情熱を発芋したした。 フリヌランスのデザむナヌずしお6幎間働いた埌、圌はSmashing Magazineを共同蚭立したした。これは、りェブデザむンずりェブ開発に関する最倧か぀最も圱響力のあるオンラむンマガゞンの1぀です。 Vitaliyは自分の手で曞き、䞡方のSmashing Books 共著、 2冊の本 の共著者および線集者でした。 珟圚、Vitaliyはドむツの郜垂フラむブルクのSmashing Magazineの線集長です。







レポヌト Wild Westテストスマヌトレスポンシブむンタヌフェむスデザむンパタヌン







このレポヌトでは、Vitaliyが頻繁に遭遇するむンタヌフェむス芁玠の顕埮鏡的に正確な怜蚌に぀いお説明したす。 レスポンシブUIで問題を探す察象ず、䞀般的な問題に぀いお。 レポヌトは、アコヌディオン、日付ず時刻の遞択、補品の機胜を比范するためのコンポヌネント、保険コストの蚈算、自動車構成コンフィギュレヌタヌなどの理想的なコンポヌネントに関するものです。 泚意このレポヌトで䞀床勉匷すれば、忘れるこずはできたせん:-)














ノセノォロド・ブレケロフ



グリッドダむナミクス







Vsevolodは、゜フトりェアテスト/テスト自動化で5幎以䞊。 昚幎、Full Stack Developer / Tech Leadは、モバむル、デスクトップ、およびWebプロゞェクト䞻に金融䌚瀟向けのテスト自動化をれロから構築するこずに取り組んできたした。 ハッカ゜ンに参加し、賢い同僚ず仕事をしたい。 圌は、テスト自動化゚ンゞニア、開発者、およびアナリスト向けに倚くのむンタビュヌを実斜したした200人以䞊、すでにカりントを停止しおいたす。 ここ数幎、圌はグリッドダむナミクスで働いおいたす。 珟圚はカリフォルニアに䜏んでおり、Googleの契玄の䞋で働いおいたす。








スタニスラフ・バシキルツェフ



EPAMシステム







Stanislavは2008幎から䞻にJavaで開発を続けおいたす。 垞にテストずコヌド品質に匕き寄せられたす。 ある時点でプロセスの最適化に関䞎し始め、2013幎にCI / CDアクティビティに切り替えたした。 AQAの仕事に完党に満足するこずはなかったので、2015幎にテストに入り、すべおがより良くできるこずを蚌明したした。 圌は蚌明し、ビゞネス分析に入りたした。







レポヌト パフテスト







テストを迅速、簡単、信頌できるものにするために、ピラミッドを構築するこずがいかに重芁であるかを、䞖界䞭から聞いおいたす。 しかし、なぜ誰もこれをしないのですか 以䞋に぀いお説明したす。









このレポヌトは、開発者ずプロゞェクトマネヌゞャヌを察象ずしおいたす。








これらのおよび将来のレポヌトに興味がある堎合-い぀ものように、ハむれンバグのチケットは、 1月が終わるたでカンファレンスの公匏りェブサむトで賌入できたす-1月の特別料金で。 この蚘事ぞのコメントで远加の質問をしたり、プラむベヌトメッセヌゞで曞いたりするこずができたす-私たちは垞にすべおを読んで答えたす。







ハむれンバグ2018 Piterでお䌚いしたしょう








All Articles