Vkontakteでiframeアプリケーションを実行する

画像 このようなオフラインのクリスマスゲーム「 シークレットサンタ 」があります。 私は長い間、毎年新年に友人と一緒に演奏してきました。

誰かに贈り物をする人を簡単に判別できるようにするために、友人がメールを残すことができるWebサイトを作成しました。生成された結果はメールに届きます。



約4年前、ソーシャルネットワーク用のアプリケーションを作成することを考えました。 連絡先の友人を招待する方が、サイトへのリンクを投げるよりもはるかに簡単です。 私はすぐにそれを作りたかったのですが、4年間、私はそれを勉強し始めませんでした。 もう待つことができないことに気付いて、iframeアプリケーションを作成しました。



12月1日に開始する予定でした。 正月をどこで誰と祝うか、そしてどのように楽しむかについて、人々は考え始めるでしょう。 今では、2〜3週間前に開始する必要があることを理解しています。 たぶん一ヶ月。



だから、仕事に取りかかった



このフレームワークはYiiフレームワークによって採用されました。 私は彼を多かれ少なかれよく知っていますが、ActiveRecordを使えばすべてが非常に簡単に行えます。 アプリケーションに複雑なJOINを含む複雑なロジックの計画はなく、JavaScriptのすべての機能(連絡先へのAPIリクエストを含む)をレンダリングしたため、アプリケーションに特別な負荷をかける計画はありませんでした。 だから、あなたは少し間抜けになる可能性があります。 さらに、このアプリケーションは、本質的には新年の後に「死ぬ」ことになり、数週間にわたって負荷が大幅に増加する可能性があるため、強力なサーバーを購入する余裕があります。



私は1か月の時間を持っていたので、計画したことの多くを実現することができませんでした。 私は次の新年を残します。

Deadlayanを喜ばせるために重要でない機能を遮断したため、非常に小さなアプリケーションができました。

データベースへのすべてのクエリは、イベントに参加している人々のリストを取得することです。

Vkontakte APIからは、「現在のユーザーの友人のリストを取得する」と「IDのリストからユーザーに関する情報を取得する」だけを使用しました



ロジックの主要な監視



人を配布するスクリプトを書きました。 そしてその後、私は小さな詳細を考慮しなかったことが判明しました。

ロジックは単純で、ユーザーのリストを持つ2つの同一の配列があります。

ランダムに混合された最初の配列を実行し、その要素ごとに、2番目の配列からランダムなユーザーを取得し、ユーザーが自分に贈り物を与えているかどうかを確認します。



しかし、最初は、最初の配列の最後のユーザーが2番目の配列に彼だけを残している場合、その人が自分自身または無限ループを与えるようなことは予見していませんでした。



最後の2つの要素のチェックを追加して、この問題を解決しました。

最後から2番目のユーザーでは、配布用の配列で最後のユーザーがいる場合、最後から2番目のユーザーが最後のユーザーになります。 したがって、後者は決して自分自身を取得しません。 最後から2番目のものが彼を連れて行きます。 また、配列は元々混合されていたため、分布はランダムになります。



発売日



11月のすべての週末と夕方に作業した後、30日にアプリケーションの作業を終了しました。 締め切りは実質的に尊重されました。 彼は12月1日に申請書の出版を辞め、就寝した。 朝、モデレートのために送信し、アプリケーションとサーバーのすべての設定を確認しました。 設定で、以前は注意を払っていなかった点に気付きました。httpとhttpsを使用した「サイトアドレス」。 そして、私は証明書を持っていません。 それを購入してインストールする方法、私は知りませんでした。

問題を解決するための私の手順:



1)Google;

2)証明書の購入のための1300ルーブル。

3)証明書のインストールとApacheの構成を試みる1.5時間。

4)おなじみの管理者に300ルーブルと、このビジネス用に5分間のnginxを設定します。

すべてが機能します。



知らない人のために、最も簡単な証明書をすぐに購入してすぐにセットアップできます。



節度。

技術的な面から見ると、すべて準備ができているようです。 日曜日の夜に節度のために提出してください。

彼らは非常に迅速に答えますが、答えは残念です。

モデレートのためのアプリケーションの機能は不十分ですが、モデレートを受ける必要はありません。アプリケーションはすべてのユーザーが確認なしで利用できます。


どうして必要ないの? 支払いの受け取りはどうですか? 実際、収益化の可能性がなければ、アプリケーションのプロモーションに投資するための手はあまり上がりません。 そして、収益化により、少なくとも自分自身(または妻の場合)には言い訳ができます。 たとえば、私はお金を使うだけでなく、もっと稼ぐことができます。



もちろん、お金の問題ではありません。この種のアプリケーションは報われることさえありませんが、アプリケーションのアイデアを最大人数に伝えたいので、自分のお金では明らかに不十分です。



気が散ってすみません。 そのため、「アプリケーション機能の欠如」という言葉が使われています。 これは何? 説明を求めました。

説明:
残念ながら、アプリケーションの機能の変更または改善に関する詳細なコメントは提供していません。


私はグーグルを始めました。 私は自分が最初ではないことに気づきましたが、どういうわけか、それは私をあまり慰めませんでした。



アプリケーションをもう一度見ましたが、実際には、アプリケーションにログインした人が見るもの:「会議の作成」ボタン、デフォルトですでに作成された会議、素敵な背景画像。



貧しいモデレーターは、おそらくゲーム/アプリケーションの本質を掘り下げる時間も意欲も持っていません。 そして、おそらく、これは正しいです。 これは、アプリケーションの使いやすさを評価するための基準として使用できます。 モデレーターが理解できなかった場合、おそらくユーザーは理解できません。 何かを変更する必要があります。

メインページで少しの機能を試し、ヘルプセクションを追加しました。



アプリケーションを再送信します。コメントリストに、アプリケーションの主な機能をすべてリストしました。 正直に言うと、私は承認を期待していませんでした。

しかし、それは来ました:
アプリケーションは承認済みとしてリストされます。




今、私は広告連絡メカニズムを習得しています。 しかし、それについては次の記事、新年のアプリケーションの作業を要約する記事で説明します。



エラーと結論:



エラー: 4年間アプリケーションを作りたかったのですが、ローンチの1か月前にそれを始めました。

結論:できるだけ早く始めましょう 。 いずれにせよ、プロジェクトの立ち上げ日に影響を与える微妙な違いがあります。 はい、彼らはそれについてたくさん書き、それを言います、しかし、すべて同じ、すべて、誰もが最後の瞬間に去ります。



エラー:モデレート時間を考慮しませんでした。

結論:節度はすぐに行くと思いました。 正しい待ち時間ではありません。 アプリケーションの起動が2週間遅れると、起動する意味がなくなります。 したがって、節度の問題の可能性を予測する必要がありました。 少なくとも、このアカウントでグーグル検索する必要がありました。



エラー:アプリケーションの広告メカニズムについては考えませんでした。

結論:おそらく、私はほとんど経験がありません。 それが判明し、アプリケーションを作成し、承認し、そして何をしましたか?

そして、広告プラットフォームはすでに選択されていて、何らかの合意があります。 はい、少なくとも広告投稿が準備されれば、もっと簡単になります。



もちろん、これらはすべて私の間違いではありませんが、最も基本的なものです。

皆さん、頑張ってください。



All Articles