Habréに投稿を公開するのに最適な日は何ですか?

重要な投稿を準備し、それについて世界中にもっと伝えたいですか? 誰もハブに入らないまさにその日に公開するのは残念です。 ちょうど5か月前、BitLy は研究を実施し、 Facebook、Twitter、Tumblr(より視覚的なインフォグラフィックを含むロシア語の翻訳 )に投稿する方が良いと言った時期を示しました。







お気に入りのHabréで公開するのが最適な曜日はありますか? 月曜日はつらい日ですか、それとも週末の後に全員が積極的に働いていますか? 金曜日の楽しみは、友人とビールを飲んだり、コメントでHabréを楽しんだりするのですか ミニスタディの実施を妨げるものは何もありません。 見つけよう!



免責事項



この研究は客観的であるふりをせず、論理的および技術的なエラーを含み、記述されたコードはリファクタリングを必要とし、急いで記述され、最適でない技術を使用します。 それにもかかわらず、多くの結論に対して十分な有用な情報を収集することが可能でした。



仮定と研究方法



成功した投稿のみをカウントします:

月曜日に、Habrが特に容赦なく寛大である場合、私たちの研究はこれについて沈黙します。



どの曜日が投稿と多くの利点に注意を引く可能性が高いかをどのようにすばやく理解するか? かなりのエラーがありますが、処理された投稿の数が多くなると減少しますが、投稿の良い日は次のような場合です。



曜日ごとに、肯定的に評価された記事の数、それらへのコメントの数、記事の評価を合計すれば十分です。 そのため、ほとんどの人がHabrを使用する時期と、投稿にメリットをもたらす頻度を理解します。



直接リンクを使用してidをソートすることにより、ユーザーが利用できるすべての記事をスキャンします。 最後の投稿での数値の概算を見てみましょう。2年前に上から下の順に並べます。 153,000〜90,000の範囲を選択し、このブロック内のいくつかの異なる範囲でアルゴリズムを実行しました。 かっこいい そして、それは簡単です! コードを書きましょう。



プログラム



この調査の別のエラー:日付は投稿からではなく、最初のコメントから取得されます。 コメントには日時が用意されており、投稿日はロシア語から解析する必要があるため、これは高速です(これも簡単ですが、理由は)。 投稿をスキャンするために、JavaScriptを使用して、jqueryを介してセッション転送とページ上での簡単なデータ検索を直接行うことにしました。 これはすべて見苦しいかもしれませんが、多くの時間を節約でき、コードは30分かかりました。 コードを機能させるには、同じオリジンポリシーを無効にする必要があります。FireFoxのCORSプラグインでこれを行いました。 ラップトップをロードせず、ブラウザにレンダリングの時間を与えないように、1つのストリームで小さな休止を意識して同期的に処理しました。1秒間に12件のリクエストでHabrを爆撃するのはいですが、これはバケツの低下です。



アクセスできない記事や評価のない記事はスキップされます。 基本的なJavaScriptは次のようになります。

$(document).ready(function() { var all = 0; var success = 0; var failed = 0; var daysProcessed = [0, 0, 0, 0, 0, 0, 0]; var daysScore = [0, 0, 0, 0, 0, 0, 0]; var daysComments = [0, 0, 0, 0, 0, 0, 0]; function processPage(url) { $.ajax({url: url, success: function(data) { if (data.indexOf('   ') != -1) { failed++; $('#failed').text(failed); return; } try { $('#loader').html(data); } catch(e) {} setTimeout(function() { var score = $('.score:first').text(); if (score != '' && score.charCodeAt(0) != 8212) { var sign = 1; if (score.charCodeAt(0) == 8211) { sign = -1; score = score.substr(1); } var intScore = sign * parseInt(score); var comments = $('#comments_count').text(); var intComments = parseInt(comments); if (intComments > 0 && sign == 1) { //Do we need only positive? var date = $('time:first').attr('datetime'); date = new Date(date); var intDay = date.getDay(); success++; $('#success').text(success); daysProcessed[intDay]++; daysScore[intDay] += intScore; daysComments[intDay] += intComments; $('#processed_' + intDay).text(daysProcessed[intDay]); $('#score_' + intDay).text(daysScore[intDay]); $('#comments_' + intDay).text(daysComments[intDay]); } else { failed++; $('#failed').text(failed); } } else { failed++; $('#failed').text(failed); } }, 1); }, async: false, error: function () { failed++; $('#failed').text(failed); }}); } var i = 153000; var interval = setInterval(function() { try { processPage('http://habrahabr.ru/post/' + i + '/'); } catch (e) { failed++; $('#failed').text(failed); } all++; $('#all').text(all); i--; if (i < 90000) { clearInterval(interval); } }, 0); });
      
      







プリミティブビジュアライゼーションは喜びとビジュアライゼーションのためだけであり、誰もがリアルタイムtsiferkiを愛しています:

 <html> <head> <script type="text/javascript" src="http://yandex.st/jquery/1.8.2/jquery.js"></script> <script type="text/javascript"> //,    </script> </head> <body> <div>All processed: <span id="all">0</span></div> <div>All success: <span id="success">0</span></div> <div>All failed: <span id="failed">0</span></div> <br> <div>Mondays processed: <span id="processed_1">0</span></div> <div>Mondays total score: <span id="score_1">0</span></div> <div>Mondays total comments: <span id="comments_1">0</span></div> <br> <div>Tuesdays processed: <span id="processed_2">0</span></div> <div>Tuesdays total score: <span id="score_2">0</span></div> <div>Tuesdays total comments: <span id="comments_2">0</span></div> <br> <div>Wednesdays processed: <span id="processed_3">0</span></div> <div>Wednesdays total score: <span id="score_3">0</span></div> <div>Wednesdays total comments: <span id="comments_3">0</span></div> <br> <div>Thursdays processed: <span id="processed_4">0</span></div> <div>Thursdays total score: <span id="score_4">0</span></div> <div>Thursdays total comments: <span id="comments_4">0</span></div> <br> <div>Fridays processed: <span id="processed_5">0</span></div> <div>Fridays total score: <span id="score_5">0</span></div> <div>Fridays total comments: <span id="comments_5">0</span></div> <br> <div>Saturdays processed: <span id="processed_6">0</span></div> <div>Saturdays total score: <span id="score_6">0</span></div> <div>Saturdays total comments: <span id="comments_6">0</span></div> <br> <div>Sundays processed: <span id="processed_0">0</span></div> <div>Sundays total score: <span id="score_0">0</span></div> <div>Sundays total comments: <span id="comments_0">0</span></div> <div id="loader" style="display:none"></div> </body> </html>
      
      







こんな感じでした







結果



最後に、結果! スクリプトは、ほぼ同じサイズの3つの異なる間隔で2日間実行されました。



すべての間隔での合計測定値:

処理された合計: 35690

それらのうち正常に: 21189

アクセスエラー:14499

ニュースレターの紛失:2 :)

曜日 総投稿数 長所 コメント 長所/投稿 コメント/投稿
月曜日 3637 136035 178084 37.40 48.96
火曜日 3719 140566 194264 37.79 52.23
水曜日 3702 135767 184081 36.67 49.72
木曜日 3507 128936 178940 36.76 51.02
金曜日 3506 131063 170025 37.38 48.49
土曜日 1573 64073 85372 40.73 54.27
日曜日 1545 72376 91465 46.84 59.20


結論





それで、いつそれがまだ公開されていますか?



プラスの場合-月曜日、火曜日、金曜日。
コメント-火曜日、水曜日、木曜日。


この投稿は月曜日に投稿されました。 素敵な一週間と良い投稿をお楽しみください、Khabrovchane!





画像







All Articles