長い間、私はHabrに関する記事を書くつもりでしたが、それでもまだ集まることができませんでした。 そのトピックは価値がありませんでした、しかし、それは大きすぎて、そして怠laでした。 または、それは常に怠けていました。 しかし、今、とにかく、彼は集まった。
プロローグ
あなたのことは知りませんが、ハッカソンにはまっています。 私はあらゆる機会に彼らに行きます。 そして、なんらかの理由で、プログラマーの次の夜の集まりに行けないとき、私は非常に怒っています。 このプロジェクトのトピックに目を向ける必要はありません。アイデアは自分の頭の中で生まれます。 原則として、悪いですが、クールです。 有名な場所での千枚通しは、常にある種のスレッド「クールなこと」を書くようにします。 そして、原則として、彼は幸運です-Projects / 4Funフォルダーは新しいプロジェクトで補充され、時には公開されます。
ネクタイ
私はハッカソンを獲得した経験と観客の共感の賞の両方を持っていました...しかし、今はそれについてではありません。 そして、ごく普通の参加についてですが、普通の結果についてではありません。 1週間前の5月17〜18日に、ミンスクでQiwi Universeハッカソンの地域ステージが開催されました。 私のパートナーと私は行くことにしました。 私たちはハッカソンに行くことをしばしば決めますが、いつも彼らに行くとは限りません。 しかし今回、私たちの機会は私たちの欲望と一致しました、そして私たちは週末のために犠牲にしました...私は言い方さえ知りません...良い気分のために、または何かのために。
アクション開発
ハッカソンが何であるか誰も知らない- ウィキペディアへようこそ。 簡単に言うと、プログラマ、デザイナー、その他のIT系のキャラクターが無造作に集まって、1〜2日間座り(ハッカソン形式に応じて)、コーヒーを飲み、時々食べ、その結果を審査員や他の参加者に伝えます-webサイト、モバイルアプリケーション、デスクトッププログラム、場合によっては一部のハードウェアまたはロボット。 一般的に誰がいくらですか。 私のパートナーと私はモバイルアプリケーションにずっと満足していました...
おそらく、多くが自分自身でスタートアップを検討している、または自分自身を検討したい大多数のハッカソン参加者とは異なり、私は割り当てられた時間内に世界を獲得する可能性があるプロジェクトだけでなく、すごい効果をもたらすクールなプロジェクトを作成しようとします。 これは私が定期的にやりたい「クールなこと」であり、犬の次のソーシャルネットワーク、書籍交換サービス、または旅行仲間の検索ではありません。 これはすべて、すでに何度も発生しています。 ハッカソンの1つでも、参加者のためにプログラムを作成し、そのプログラムにアイデアやプロジェクトを導き、他の参加者がそれらを評価するというアイデアがありました。「Boyan」、「100500th Facebook」、「Crowdfunding service? 何、本当に?」 私も、このアイデアを実装する全員に与えました。 しかし、明らかに、誰も感謝していません。 しかし、再び私は気を取られました。
作成しようとしていた(そして行った)モバイルアプリケーションは、ユーザーの生活を単純化したり、ユーザーに利益をもたらしたりするのに役立つべきではありませんでした。 目を楽しませるために-それは一つの目的を果たす必要がありました。 そして何よりもまずそのクリエイターに。 私たちはすべてがうまくいったことを喜んでいたはずで、意図したとおりに機能します。 そしてそれはよさそうだ。 結局、すべてが起こりました。 私たちはプログレと呼ばれる...スンドゥク。 パートナーが言ったように、「これは10秒で生成された名前です。」 参加者のリストにチームを登録することが急務であり、私の頭の中でプロジェクト名のジェネレーターをオンにする以外に選択肢はありませんでした。 そして、生成されたジェネレータ-「Sunduk」。 私は彼に同意しなければなりませんでした。 人気のある知恵は言う:「あなたがボートを呼ぶとき、それは浮かぶ。」 おそらくこの名前は、私たちが行った場所の数にも影響を与えたのでしょう。 そして、私たちは「ない」場所を取りました。
それにもかかわらず、プロジェクトは判明しました。 アイデアは次のとおりです-隣り合った電話の画面を同時にスワイプして、それらを一緒にロックし、ジェスチャーで「お金」を電話間で転送します。 「お金」は、ファイル、音楽、またはそのようなものですが、「qiwi-> e-commerce-> money」です。 これらはすべてUnity3dで作成しました。これは、クロスプラットフォーム開発に非常に便利なエンジンです。 無料の非Proバージョンにはモバイルプラットフォームのソケットを操作する機能がないため、Unity3dの30日間のProバージョンを正直にアクティブ化する必要がありました。 そして、ソケットだけが必要でした。電話は互いに通信し、ネットワークを介して通信します。
クライマックス
プロジェクトの技術的な部分は、私たちには簡単に思えました。 ただし、これは、実装に直接進むまで常に発生します。 それで、今回は起こりました。 夜、やめたいと思った瞬間がありました。 何も機能しませんでした。 より正確に動作しましたが、時間の経過とともに。 2台のコンピューター間ですべてが問題ありません。正常に接続し、お金が送金されます。 そして、2番目の携帯電話(iPhoneとAndroid)-まあ、何もありません。 彼らはお互いを見ます 私たちは両方とも問題に取り組みました。 彼らは、プロジェクトのデモンストレーションで汚れに直面しないように、プログラムが失敗することなく動作する安定したアクションのシーケンス(最初にここでオンにし、次に5秒後にオンにします...)を見つけさえしたかったのです。 そして、彼らは彼女を見つけました。 そして、bam-そして、ワークアウトされたシーケンスが機能しなくなりました...
この問題と迫り来る締め切りはアドレナリンを追加しました。 ここでは、レッドブルや火傷は必要ありませんが、そのようなイベントではおそらく最も人気のある飲み物です。 誰かが眠っていて、眠っているメンバーをいびきをかき、動揺させていました。 誰かが銀行預金を検索するようにサービスをプログラムしました。 そして、理由を必死に検索しました-「なぜ、!#$ @%、何も動作しません!?」。 そして彼女を見つけた!
デノウメント
このすべての不名誉の理由は、最初の症状の数時間後に発見されました。 Androidフォンにインストールされているソフトウェアがすべてでした-Opera Maxが犯人でした。 これはモバイル(Wi-Fiではない!)トラフィックを圧縮し、ユーザーのお金を節約するようなものです。 このプログラムはいくらかお金を節約するかもしれませんが、私たちはたくさんの神経、エネルギー、時間を食べました。
何らかの理由で、wifiトラフィックはOpera Maxによって作成されたVPNを通過しました。そのため、ブロードキャストパケットが失われました。サーバーは潜在的な顧客に、そのIP上に存在していることを伝えることができませんでした。 いずれにせよ、もちろん、このプログラムを破壊するとすぐに、すべてが鋭く機能しました(もちろん、この場合はそうではありません)。 そして、必要なのは、IPサーバーをチェストのクライアント部分にハードコーディングし、安心して生きることだけでした。 多くの人がそうしていましたし、正しかったでしょう。 しかし、「私たちには独自の方法があります」(c)。
しかし、携帯電話が最終的にお互いを見て、最初の50ドルが1つの画面から別の画面に移されたとき、幸福はパンツでいっぱいでした。 その夜寝なかったのは無駄ではないことに気付き、コードを見ました。 タスクは完了しました-プロジェクトは完了し、動作しました。新しいことを見つけ、ハッカソンの前にすべてのベータ版ソフトウェアを削除する必要があることに気付きました。 しかし、最も重要なこと-私たちは2日間無料で食べました!
エピローグ
そして、ここにチェスト、またはむしろその内容があります: