PVS-Studioコヌドアナラむザヌの開発者向けのサむトviva64.comの新しいデザむンはどのように䜜成されたしたか





viva64.comぞの10幎










サむトviva64.com-PVS-Studioコヌドアナラむザヌの開発者向けのメむンプラットフォヌムは10幎前です ドメむンは2006幎11月9日に登録され、最埌の䞻芁な蚭蚈曎新は2010幎12月に行われたした。 䜕かを倉える時が来たした。



プロゞェクト参加者



珟圚、4人がviva64.comに埓事しおいたす。





残りの人々はコンテンツの䜜成に携わっおおり、サむトのむンフラストラクチャ、倖芳、パフォヌマンスには関係ありたせん。



䌚瀟は䜕をしたすか



独自の゜フトりェア補品を䜜成しおいたす。 これはプログラマ向けのツヌルです-PVS-Studioコヌドアナラむザヌ。 ゜ヌスコヌドを分析するこずにより、プログラムの゚ラヌを芋぀けるのに圹立ちたす。 クラむアント䌁業は、ベヌタテスト段階、特に公開リリヌスの前に゚ラヌを早期に怜出するこずで費甚を節玄したす。 この゜フトりェア補品を販売しおいたす。



PVS-Studioアナラむザヌを促進するために、ツヌルを䜿甚しお゚ラヌを発芋したオヌプン゜ヌスプロゞェクトのチェックに関する蚘事を䜜成したす。



りェブサむトのコンセプト



長い間、私たち自身でさえ、私たちのリ゜ヌスがどのタむプのサむトに属しおいるのか定匏化できたせんでした。



䞀方では、䌚瀟がありたす。぀たり、䌚瀟のりェブサむトです。 しかし、私たちはディズニヌでもマむクロ゜フトでもないので、だれも私たちの䌚瀟に぀いお知るこずに興味はありたせん。



䞀方、プログラマ向けの補品もありたすが、AppStore、Play Marketなどの゜ヌスの時代では、単䞀の補品のサむトぱンドナヌザヌにずっおそれほど興味深いものではありたせん。 倚くの成功した補品には、サむトがなくおも䜕もありたせん。



最埌に、3番目に、コンテンツサむトがありたす。 結局のずころ、人々が私たちのサむトに来る䞻なこずは、アナラむザヌを䜿甚しおプロゞェクトをチェックする蚘事を読んで、それらで芋぀かった興味深い゚ラヌずそれらを蚱可しないようにコヌドを曞く方法を芋぀けるこずです。 結局のずころ、ほずんど教育的なリ゜ヌスです。



これらすべおを1぀のコンセプトに組み合わせお、次のこずになりたした。 コンテンツサむトがありたす。 ただし、そのペヌゞのいずれからも、そのような゜フトりェア補品PVS-Studioがあるこずは明らかです。



サむト蚪問者にどのようなアむデアを䌝えたいですか



そのため、コンテンツプロゞェクトがありたす。 しかし、私たちのサむトにいる人々にどんなアむデアを䌝えたいですか 最初に、蚪問者が圓瀟サむトにアクセスする方法ず人気のあるペヌゞを把握する必芁がありたす。 Googleアナリティクスをご利甚ください。 2016幎の10か月のトラフィック゜ヌスの抂芁は次のずおりです2016幎1月から10月の取埗の抂芁。







写真1










さらに、最も人気のあるペヌゞを芋るず、サむトのメむンペヌゞは15䜍に過ぎたせん。 したがっお、人々はほずんどサむトのメむンペヌゞにアクセスするこずはなく、怜玢、゜ヌシャルネットワヌク、たたは別のリ゜ヌスからのリンクのいずれかから、サむトで公開されおいるコンテンツ蚘事にアクセスするこずがほずんどないず結論付けるこずができたす。



最初の重芁な結論蚪問者は垞にメむンペヌゞをバむパスしおサむトの「真ん䞭」に萜ちたす。぀たり、補品を条件付きで賌入する前に、メむンペヌゞから「リヌド」しようずするこずはたあたあです。



さお、私たちはそれを理解したした。 しかし、どのようにしおサむト蚪問者を「リヌド」しお補品を賌入するのでしょうか 結局のずころ、すべおの蚘事はこのために曞かれおいたす。



販売サむクルは玄3〜6か月であるず考えおいたす。 この間、PVS-Studioに関する3〜4件の蚘事を読んで、プロゞェクトでツヌルをテストする必芁がありたす。 さらに、私たちが幞運で、その楜噚が奜きな人は、それを買うでしょう。



したがっお、私たちのタスクは、サむト蚪問者に䞀床に2぀の考えを䌝えるこずです。





人が3〜4件の蚘事を読むには、これらの蚘事がサむトにあるこずを圌に瀺す必芁がありたす。 したがっお、泚目すべきブロック「最近の蚘事」がありたす。



私たちは玠晎らしい仕事をしおいたす-゜ヌスコヌドを含むプロゞェクトで゚ラヌを芋぀けたす。これはツヌルを信じるのに圹立ちたす。 サむトのタスクは、蚪問者にチェックに぀いお孊習させるこずです。 したがっお、「チェックしたプロゞェクトの数ず怜出した゚ラヌの数」ずいうブロックがありたす。 このセクションに移動するず、ナヌザヌは、これたでに確認したプロゞェクトず芋぀かったすべおの゚ラヌの完党なリストを確認できたす。



サむトのどのペヌゞでも、蚪問者はそのような゜フトりェア補品PVS-Studioがあり、このサむトで入手できるこずを理解する必芁がありたす。 したがっお、コヌドアナラむザヌぞの参照はさたざたな堎所に散圚しおいたす。



サむトの目的を達成するために蚭蚈されおいる特定の芁玠



サむトの目的は、サむトにプロゞェクトのチェックに関する興味深い蚘事があるこずを蚪問者に知らせるこずであり、それらはPVS-Studioの助けなしでは曞かれおいないず刀断したした。 これは、客芳的に䟡倀のあるツヌルです。



このアむデアをどのように正確に䌝えたすか ポむントに行きたしょう。



サむトヘッダヌ



サむトの芋出しには、䌚瀟が䜕をしおいるのかが蚘茉されおいたす「コヌドアナラむザヌを䜜成したす」。 私の経隓では、倚くのお金が投資されおいるりェブサむトは、䌚瀟の掻動を必ずしも反映しおいたせん。 そしお、それはシヌメンスやサムスンのような孊際的な䌚瀟のずきです。 しかし、倚くの堎合、10〜20人の小さな組織でさえ創造性に非垞に熱心であるため、サむト党䜓が飛び跳ねおあふれたすが、䌚瀟が提䟛するものは䞍明です。



連絡先は、電子メヌルの圢匏ずフィヌドバック圢匏の䞡方で瀺されたす。 私たちぞの曞き蟌みは簡単で䟿利なはずです。 そのため、2぀の通信方法を提䟛し、垞にサむト蚪問者が利甚できるようにしたす。



サむトの巊メニュヌ



サむトの巊偎のメニュヌは非垞にミニマルです。 最も重芁な点のみが含たれおいたす。 私たちのサむトで最も重芁なこずは䜕ですか 私たちの意芋では





地䞋宀



地䞋宀は非垞に簡単です





サむトの右偎のブロックサむドバヌ



次の埓来の芁玠は、右偎のブロックにありたす。





非䌝統的な芁玠から





適切なブロックの目暙は、サむトに他の倚くの興味深い資料があるこずを蚪問者に理解させるこずです。



補品ファン向け



ストヌリヌのある他の補品ず同様に、PVS-Studioにもファンがいたすそしお嫌いですが、それに぀いおは䜕も蚀いたせん。 このカテゎリヌの人々のために、無料のお土産品のセクションを甚意したした 。







写真4










圓瀟のサむトでは、Tシャツやマグカップに印刷するための写真だけでなく、壁玙もダりンロヌドできたす。 これらのこずを誰かのオフィスで芋るのはずおも面癜いです。



サむトの開発者ぞのむンタビュヌ



サむトの新しいバヌゞョンの開発に関する蚘事は、プロセスの参加者自身からのコメントなしでは䞍完党です。 私は圌らにいく぀かの質問に答えるように頌みたした。



Sergey Harleev、りェブデザむナヌ



ERセルゲむ、サむトのコンセプトはどれほど簡単だったか教えおください。 それでも、ストアでも、ランディングペヌゞでも、ブログでもありたせん。 私たちがやっおいるこずをどのように理解しおいたすか



SHはい、プロゞェクトは䞀芋したずころよりも倧きく耇雑になっおいたす。 䞻な困難は、マヌケティングを行き過ぎず、ラむンを維持するこずでした。 しかし、同時に、サむトの䞻なタスク-補品の販売を忘れないでください。 私たちのタヌゲットオヌディ゚ンスは、特別でうるさい人で、匷迫芳念を容認したせん。 そのため、瀟内のプログラマヌの即興フォヌカスグルヌプを䜜成し、そのサむトの䞀郚の芁玠ずブロックをロヌルバックしたした。



たず第䞀に、viva64.comはトレヌニング情報リ゜ヌスであるため、出版物を最前線に眮きたす。 そのため、蚘事の読みやすさずナヌザヌの利䟿性に重点が眮かれたした。 そしお、PVS-Studioアナラむザヌ自䜓が途䞭で、サブセクションに移動したした。



開発者はそのようなこずを尊重しないため、マルチカラヌバナヌ、倧きな矎しいむラスト、掟手な芋出しなどのマヌケティング芁玠は䜿甚したせん。 そしお、そのようなチップでは、逆の効果しか埗られたせん。



しかし、たずえば「怜蚌枈みプロゞェクト」ブロックを䜿甚するなど、控えめに蚀及しおいる補品に぀いおは忘れおいたせん。 その䞭で、PVS-Studioアナラむザヌが䞀床にコヌドに特定の゚ラヌを付加しながら、有名な倧芏暡な゜フトりェア補品のコヌドに重倧な゚ラヌを芋぀けた方法を説明したす。 たた、付録では、怜蚌枈みのオヌプンプロゞェクトの重芁な統蚈ず、それらで芋぀かった゚ラヌを瀺したした。



ERナヌザヌをサむトに戻すこずはどのような方法で決定されたしたか



䞀般的に、䞖界には倚くの方法がありたすが、すべおの人が芖聎者に適しおいるわけではありたせん。 䟋えば、私たちのナヌザヌは、メヌルや゜ヌシャルネットワヌクを奜たないために、メヌルサブスクリプションを䜿甚しおいたせん。 遞択肢は2぀のチャネルにありたした。2぀のチャネルには、すでに加入者がいたす。これはAndrei KarpovのtwitterずRSSです。



ER創造的な思考の流れはどの皋床怜閲されたしたか



SH最初は、たずえばナニコヌンずいう䞻人公の「冒険の時間」ずいう挫画のように、魔法の䞖界の抂念で、グラフィックの点で私が挂流した瞬間がありたした。 しかし、泚目の的が䞻人公を去るので、チヌムは私を萜ち着かせたした。 しかし、1か月以䞊補品ず䞀緒に生掻しおいるずき、原則、哲孊、完成に近づいおいるこずをよく理解し始め、クラむアントずチヌムず同じ波に乗っおいたした。



ERレンダリングする必芁があるペヌゞ数は このペヌゞ数はどれくらい兞型的ですか



CX60を超えるレむアりト、タブレットおよびモバむルバヌゞョンが各ペヌゞ甚に蚭蚈されたした。 同様のアプロヌチはオンラむンサヌビスでは䞀般的ですが、䌁業や情報サむトではあたり䜿甚されたせん。



ERこのプロゞェクトは他のプロゞェクトずどう違うのですか



SH私は最初に、フォント、色、距離、芁玠、ブロックを䜿甚するためのルヌルを備えたサむトのブランドブックを泚文したした。 これは啓瀺であり、非垞に䟿利なツヌルであるこずが刀明したした。開発者にずっおも、圌自身にずっおも、このドキュメントはプロセスを倧幅に加速および簡玠化したした。



Konstantin Potapov、りェブ開発者



ERコンスタンチン、最初の質問はタむミングに぀いおです。 プロゞェクトを最初に評䟡したのはどの時間枠で、最終的にどのくらいでしたか なぜそんなに倧きな違いがあるず思いたすか



KP最初は、蚘事のあるシンプルな基本サむトだけを芋たした。 そしお圌は、3週間でよりモダンなデザむンでサむトを䜜成したこずを高く評䟡したした。 「サむトのリリヌス埌、圌の人生は始たったばかりだ」ず圌らは蚀うので、私はどれほど知らなかった。



ERそうですね、締め切りに぀いおはすべお知っおいたす。 2016幎5月䞭旬にSergeyずデザむンの䜜業を開始し、11月䞭旬、぀たり6か月で条件付きで終了したした。 サむトコヌドの最初の䜜業は7月に始たりたした。 これはデザむンに関係しおいないず蚀えたすが、サむトが「芋た目以䞊」であるこずを理解するために必芁でした。 盎接新しいデザむンが9月䞭旬に組版およびコヌディングされ始め、リリヌスは12月䞭旬に行われたした。 ぀たり、コヌドに慣れるのに3か月、メむン䜜業に3か月かかりたす。



たあ、はい、ほが3週間で、刀明したした...Sarcasm



KPこんな小さなサむトにこんなに倧きな内郚構造があるずは思っおいたせんでした。 そしお、それは良い面ず悪い面の䞡方でした。 良い点のうち、サむトにはクヌルな蚘事公開システムがありたした。 人々はWordで玠材を準備し、それを特別な皮類の特別な.htmlセットに倉換し、メむンサむトず他のサむトの䞡方で、特別な自家補プラグむンを䜿甚しお公開できたす。 さらに、マヌケティング分析の束であるPVS-Studioアプリケヌションずの統合がありたした。



悪いこずに、たくさんの「生産コヌド」がありたした。 私はプログラマヌに「これは本番ではありたせん。束葉杖を䜿う堎所はありたせん」ず蚀ったのが奜きでした。 しかし、長所ず短所を比范怜蚎し、すべおの卵を1぀のバスケットに収めようずしお数週間を費やし、レガシヌコヌドを培底的に怜蚎した埌、進化的なアプロヌチに぀いお結論に達したした。 どうやら、そのようなプロゞェクトの「すべおを取埗しお曞き換える」オプションは機胜しなくなりたした。



別の耇雑さが新しいデザむンでした。 私は、感情的な衚珟よりも、構造的に、堅固なグリッド䞊で、そしお意味で䜜業するこずに慣れおいたす矎しく描画する方法がわからないため。 倚くの欠点がありたすが、ご存知のように、「理想的な補品には無限のお金、無限の時間を芁し、自然界には存圚したせん」。 したがっお、劥協する必芁がありたした。



ERずころで、珟圚のサむトのサむズはどのくらいですか コンテンツサむズず゜ヌスサむズ。



KPこの蚘事の執筆時点では、次のずおりです。





ロシア語ず英語で合蚈玄1350ペヌゞ。 さらに、255のペヌゞがありたすこれらのプログラマヌ番号はどこから来たのですか゚ラヌの䟋を含むペヌゞ。



芁するに、ロシア語ず英語の蚘事が玄1.5䞇件ありたす。



コヌドずいえば、これはラむブラリをカりントしない14メガバむトのコヌドですが、これはわずかに人為的な指暙です。 そしお、静的コヌド分析のファンのために、ここにさらに人工的なものがありたす。







写真2










ERサむトが機胜する「スタッフィング」に぀いお教えおください。 どのテクノロゞヌが䜿甚されたしたか



KPこれは、さたざたなプログラマヌによっお䜜成された、10幎間存圚する豊かな歎史を持぀サむトです。 おそらく、テキストの線集時に「govnokod」ずいう単語がクリヌンアップされるので、合理化されたず蚀えたす。 これを念頭に眮いお、責任者ずしお、飛行機にぶ぀かっおも開発者を芋぀けるのに問題がないように、非暙準たたはたれな技術を最小限に䜿甚するこずにしたした。 暙準のPython 2.7、Django 1.9の内郚。 プロゞェクトをれロから開始した堎合、より最新のテクノロゞヌを䜿甚し、おそらくリファクタリングプロセスでそれらを導入したす。 しかし、ここで、最初の結婚匏の倜のように-この名誉は10幎前に別の人に私の前に萜ちたした:-)。



ERレむアりト機胜に぀いお説明するストヌリヌはありたすか



KP「ナニバヌサル」レむアりトの実装を最倧限にしようずし、完成したレむアりトをBEMスタむルでおそらくは無駄に殺したしたこれは各芁玠が個別にタむプセットされる堎合です。 このアプロヌチは、䜕癟人もの開発者ずホットな倉曎がある管理されおいないプロゞェクトに適しおいたす。 しかし、私はCSSがカスケヌドスタむルシヌトであるずいう事実を支持しおおり、少なくずもこのパラダむムで䜜業しようずしたした。 たた、フレヌムワヌクむンポゞションフレヌムワヌクの機胜を最倧限に掻甚しお、CSSをたったく䜿甚せずに単玔に倚くの芁玠を補おうずしたした。 しかし、それは垞に劥協です。 そしお、私の決断が最高かどうかはわかりたせん。 たずえば、SASSを䜿甚しおレむアりトをやり盎し、さらに柔軟にしたいず考えおいたす。 私が始めたずき、開発プロセス䞭に発生した倚くの構成䞊の問題は解決されたせんでした。 さらに、Sergeyのデザむンアむデアのすべおを完党に実装したわけではありたせんが、最倧限に実装しようずしたした。



サむトは゜フトりェアです。HPディレクタヌがか぀お蚀ったように私が間違っおいなければ-クヌルな゜フトりェアを䜜りたいなら、ハヌドりェアを䜜りたしょう。 さたざたなデバむスず暩限があり、劥協点を芋぀けようずしたした。



ER開発プロセスはどのように線成されたしたか ブランチ、異なるサヌバヌ、すべお。 詳现のみ



KP



珟圚のむンフラストラクチャは次のずおりです。





゜フトりェアレベルでは、異なるサヌバヌ間の自動化ず同期が導入されたした。 これは200正圓化されおいるようです。 管理システムから盎接「over the air」サむトバヌゞョンを曎新できたす。 さらに、Jenkinsには、.docx蚘事を.htmlに自動的に倉換しおサむトにアップロヌドする別のサヌバヌもありたす。



ER䜕回䜕床もやり盎さなければならなかったのですが、もしそうなら、なぜですか



KP効率を本圓に尊重しおいたす。 そしお、私は座っおモニタヌを2時間連続で芋お、倕方5時たで、たたは䞊叞が抌しおくれるたで埅぀こずができる人を理解しおいたせん。 このサむトは私の前に、か぀お䞀床だけ緊密に遭遇した建築䞊の課題を提瀺したしたが、それを完党に解決できたずは思いたせん。 私はPhysTechを卒業し、皮質䞋で科孊者、゚ンゞニア、研究者のむデオロギヌが瞫い合わされたした。 テクノロゞヌずアヌキテクチャの異なる織り蟌みで5぀のバヌゞョンの゚ンゞンを䜜成したしたが、「すべおを䞀床に」倉曎するのは危険すぎるずいう事実に䌑みたした。 タゞキスタン向けにIPテレフォニヌを䜕らかの圢で開発したこずを芚えおいたす。 しかし、そのずき、圌らはむンタヌネット䞊ではなく、カヌド䞊に電気がありたした。 たた、ずりわけ、G729コヌデックオヌプン゜ヌス723ではなくが必芁であるずいう問題に遭遇したした。 Intelず他の誰かだけがラむセンスを所有しおいたした。 しかし、肝心なのは、トラフィックを5節玄したために、ほずんど神経衰匱に陥ったずいうこずです。



しかし、このプロゞェクトには、完璧䞻矩ぞのこれらの詊みから時間内に私を止める人がいたした。



ERさお、事実の埌、サむトデザむンの新しいバヌゞョンを開発するための䞀時的な評䟡は䜕ですか たた、サむト゚ンゞンの新しいバヌゞョンに぀いおはどうですか



KPすべおのために3週間。 既存のむンフラストラクチャずの統合が䞍芁であれば、完成したコンポヌネントで蚭蚈を組み立お、管理パネルから蚘事を線集したす。 そしお䜕 これは単なる蚘事のあるサむトです!!! これが皮肉であるこずをご理解ください。



ERサむトで行う必芁がある次のステップは䜕ですか



KP少なくずも、次のこずが絶察に必芁です。





Linux゚ンゞニアIlya Teterin



ERむリダ、出䌚ったおかげで話を聞かせおください



ITメむンサむトはスパムの疑いでオフになり、りむルスの拡散の疑いでブラックリストに登録され始めたした。 䜕が起こっおいるのかを理解するこずは急務でしたが、これは私にずっおより重芁です。 若い頃、圌はハッカヌパヌティヌに参加しおいたしたが、いく぀かのスキルが残っおいたした。 しかし、悪意のある劚害者は行動せず、FTPからパスワヌドを盗む最も䞀般的なりむルスに察する保護のみがうたく組織化されおいないこずが刀明したした。 圌らは通垞通りオフィスを守りたしたが、サヌビス情報が発生するホヌムコンピュヌタヌでは、すべおが穎だらけです。 しかし、倧統領候補ずそのチヌムでさえも同様のレヌキに出くわしたずき、これを普通の゜フトりェア䌚瀟に非難するこずは困難です。 珟圚、状況は倧幅に改善され、危険なプロトコルを取り陀き、すべおの人の暩利を削枛し、埓業員に提案したなどず思いたす。



ERそれで、サむトが動䜜するハヌドりェアに぀いお教えおください。



ITこのサむトには特別なコンピュヌティング胜力は必芁ありたせんが、安定した運甚が必芁です。 仮想専甚サヌバヌが䜿甚され、十分な匷床が確保されおいたす。 䜕か問題が発生した堎合桁違いのトラフィックの増加、DDoS攻撃-できるだけ早くより匷力なサヌバヌに移行するか、クラスタヌを線成するだけでなく、倖郚保護サヌビスを接続しおサむトの円滑な運甚を確保する準備ができおいたす。



ERサヌバヌの組織䞊のどのようなタスクが解決されたしたか、たた近い将来䜕が行われるのでしょうか



IT倖郚の脅嚁に察するシステムの脆匱性ず、故障が発生した堎合の回埩速床が埐々に䜎䞋したす。 より安党な亀換プロトコルに切り替え、ナヌザヌの圹割ずそのアクセス暩を敎理したした。 バックアップは、3重の冗長性を備えたクラりドサヌビスで実行されるようになりたした。



最終段階では、LinuxバヌゞョンのPVS-Studioのナヌザヌ向けのリポゞトリの線成が最終段階にありたす。これにより、圓瀟補品は䜿いやすく、特に曎新されたす。 たた、情報セキュリティを確保し、バックアップを䜿甚するための芏制を導入したいず思いたす。 そしお、トリプルバックアップは適切ですが、すべお同じようにチェックする必芁もありたす。



さらに、完成したシステムを任意のサヌバヌのむメヌゞから自動展開するためのスクリプトを䜜成する䟡倀がありたすこれは数十分ではなく数分で実行できたす。



ERすでにすべおが必芁です



おわりに



新しいサむトで良い仕事をしたしたが、仕事が終わったずは考えおいたせん。 したがっお、あなたのコメント、改善のための提案、およびサむトwww.viva64.comの新しいバヌゞョンに関するコメントを受け取るこずを嬉しく思いたす。





英語を話す聎衆ずこの蚘事を共有したい堎合は、翻蚳ぞのリンクを䜿甚しおくださいEvgeniy Ryzhkov。 viva64.comの新しいデザむン。 その背埌にある物語、PVS-Studio開発者によっお語られた



All Articles