![](https://habrastorage.org/getpro/habr/post_images/325/5ad/0e4/3255ad0e498b3bc764f86fb3deb3239c.jpg)
当社で最初のハッカソンが開催されてから1年以上が経過し、新しいプロジェクトが誕生しました。 この間、「 ideaphone 」(Arduinoによって制御されるガスパイプとハンマーで構成される同じ残忍な楽器)がいくつかの展示会を訪れ、開発者に新しいアイデアを促し続けました。
私はこの一年、手を傷つけたと言わざるを得ない。従業員は昼休み中にハッキングされる可能性のある新しいプロジェクトについて議論し続け、アイデアは長い箱に入れられ、時間をかけて忘れられ、新しいものが現れた。 夏の初めに、ハッカソンの耐え難い期待は、イベントの発表直後に小康状態に置き換えられました。 開始の2週間前に、リストに含まれるプロジェクトは5つまででしたが、どうなりましたか? アイデアの危機なのか、それとも時間の不足なのか。 1つ目も2つ目もありませんでした。全員が密かにプロジェクトを準備し、複雑さと時間のコストを検証し、誰もが概念モデルではなく48時間で実用的なプロトタイプを取得したいと考えました。
![](https://habrastorage.org/getpro/habr/post_images/f7c/fa1/436/f7cfa1436820366a35b67cb1f94a59b2.jpg)
その結果、ハッカソンの開始までに、クリーン開発からハードウェアプロジェクトまで、さまざまなテクノロジーを備えた30以上のプロジェクトが発表されました。今年はさらに最近のプロジェクトがありました。
どうでしたか
![](https://habrastorage.org/getpro/habr/post_images/55a/e58/fa7/55ae58fa72c8b28e0b6a7df3d4fa80fe.jpg)
誰でもハッカソンに参加できます(開発者だけでなく)。 プロジェクトのトピックも何にも限定されていません。 2つのJetBrainsオフィス(サンクトペテルブルクとミュンヘン)は、完全参加で2日間プロジェクト参加者の拠点になりました:テーマランチ(サンクトペテルブルクオフィスはドイツ語、ミュンヘンはロシア語)、サバイバルキット(格子縞、枕、耳栓、睡眠マスク)およびプロジェクトの48時間のインフラストラクチャサポート。
![](https://habrastorage.org/getpro/habr/post_images/b93/679/96f/b9367996f4c4a771f92476e7369a663f.jpg)
コードがどのように書かれたかについて書くために(トートロジーについてはすみません)、私は特別な意味はないと思います。 すべてのhabrachitateliは、これがどのように起こるかを完全に想像します。 注目したいのは、象徴性だけです。 主催者は、全員が知っているように、すべての従業員の間でフラグとブレスレットを使用してハッカソンの参加者を強調することにしました。これらの人は現在、異なる次元で働いています。
![](https://habrastorage.org/getpro/habr/post_images/b1d/25b/e5a/b1d25be5ac187f0005e9013d2d0edc90.jpg)
![](https://habrastorage.org/getpro/habr/post_images/b97/b49/583/b97b4958366fa3b448b72f348cf22293.jpg)
アプリケーションについて
次に、判明したアプリケーションとガジェットを調べてみましょう。
トラベルパイ
48時間のチームの1つは、新しい場所で自分自身を見つけ、楽しい時間を過ごし、自分のスタイルで街を学びたい旅行者向けのアプリケーションを作成しました。
![](https://habrastorage.org/getpro/habr/post_images/3a1/02c/17f/3a102c17fbab6baa6bd41b39f686e2ea.png)
このアプリケーションには標準の市内ツアーは含まれていませんが、ユーザーの興味に応じてユニークなツアーが自動的に作成されるたびに。 入り口では、行き先の都市(現在はサンクトペテルブルク、ハッカソンzhezhのみ)、日数、滞在予定の住所を選択します。 次に、リストからあなたにとって何がおもしろいのか、そしてどのくらいの割合であなたが選ぶのか(あなた自身の興味のある旅行パイを作る)。 出口では、あなたの好みに基づいて、食べる場所、行く場所、何をすべきかなどを考慮して、毎日のルートを取得します。
![](https://habrastorage.org/getpro/habr/post_images/7bc/fde/426/7bcfde42641ba3c9da77dcae1ad4ec19.png)
どのテクノロジーが基盤になっていますか?
バックエンドを上げるために、使い慣れたテクノロジーを使用し、最小限の労力でJava、Servlet 3、H2データベースを使用することにしました。 フロントエンドでは、Backbone.jsとRequireJSがモジュール性と依存関係の管理に使用されました。 もちろん、すべてがIntelliJ IDEAで記述されており、gitはコードの保存に使用されていました。
彼らには改善の計画があります:パスを構築するための改善されたアルゴリズム、構築されたルートを編集する機能、歩行ルートだけでなく、公共交通機関を使用したルートも構築し、ルートを保存し、外部ソースと統合して写真やアトラクションに関する情報を取得します。 更新を待ち、トラベルパイで旅行を計画します。
ジェット社会主義
YouTrackアプリケーショントラッカー、バージョン管理システム、TeamCity継続的インテグレーションサーバー、ブログがあります。 これらすべてにいくつかの楽しみとバッジを追加しましょう。 上記のシステムの各アクションは、対応するイベントを生成します。誰かがバグを修正するか機能を実行し、各イベントのポイントを取得します。
![](https://habrastorage.org/getpro/habr/post_images/46d/222/d67/46d222d6715d62235bb5d10377456c85.png)
各人は何らかの方法で一意であるため、アプリケーションはユーザーの強みを強調しようとすることができます-たとえば、誰かが他のメタ問題よりも多く投稿したり、他のビルドよりも頻繁にコミットしたり、誰かが大きなテキストを書いたり、小さなタスクをすばやく修正したりする...
![](https://habrastorage.org/getpro/habr/post_images/c7b/952/178/c7b952178c899c1cd053b46fdcb396d6.png)
したがって、かなり複雑な公式によれば、人は非常に迅速に働き、「スピードゴンザレス」バッジのロックを解除します。 そしてもう1つは古代のイシムを閉じ、彼は「ミイラの殺害者」などです...フォーミュラは単純で複雑です。 出力では、ファンを取得します-そして、データはすでに長期間存在し、存在します。
ジェットワールド
世界中に多くのユーザーがいます。一部の都市には知識を共有する強力なコミュニティがあると非常にいいですが、ユーザーに向けてもう一歩踏み込んで、世界地図にJetBrainsに関連するすべてのイベントを表示したいと思います。 JetWorldは、世界中のJetBrains製品ユーザーがより緊密な地域コミュニティを作成できるよう支援することを使命とするツールです。
技術的には、Google Maps APIを使用してデータを表示するWebアプリケーションです。 MongoDBはデータストアとして使用され、バックエンドはKotlinで記述され、フロントエンドは純粋なJavaScriptで作成されます。 Herokuはホスティングプラットフォームとして使用されます。
![](https://habrastorage.org/getpro/habr/post_images/16c/c65/dca/16cc65dca6ec6ffe66bfe3efe56da230.png)
マップ上で、ユーザーはJetBrainsに関連する計画されたイベント(会議、ユーザーグループの会議での従業員レポートなど)、およびJetBrains製品を使用して近くにある会社を見ることができます。 チームメンバーによると、こうした情報への便利なアクセスは、ユーザーの活発な地域コミュニティの形成に非常に役立ちます。
マップに組織を追加するオプションもあります。これにより、サードパーティ企業はJetBrains製品を使用した経験について話すことができます。 JetWorld開発者は、製品の専門家である個々のユーザーが自分自身について話す機会を提供したいと考えています。 エキスパートデータベースへのアクセスは、トレーニング中のユーザーや企業にとって非常に役立ち、JetBrains製品の使用経験を共有します。
一般に、多くのクールなプロジェクトがありました。たとえば、MPSチームのメンバーが植物の自動散水を行いました。
![](https://habrastorage.org/getpro/habr/post_images/7a5/5dc/09d/7a55dc09d1f4842c22af051b117fa22d.jpg)
ミュンヘンの同僚は、カラフルなボールを備えたロボットスタンドを組み立てました。このスタンドには、製品のユーザーが購入したものがリアルタイムで表示され、各製品には独自の色が付いています。
受賞者について
そしてもちろん、勝者について話す必要があります。
ロボット-画家
3位は、エカテリーナツゾバがロボットアーティストと一緒に優勝し、6時間以内でA3形式の絵を1行で描くことができました。 このロボットは、Arduinoによって制御されるステッピングモーターで構築されています。 画像解析およびパス構築ソフトウェアはpythonで作成されました。
![](https://habrastorage.org/getpro/habr/post_images/348/2bd/372/3482bd372b070800b7a07eb38ed8a092.jpg)
48時間という制限時間にもかかわらず、ロボットは初日に絵を描き始めました。 最初はすべてがスムーズに進むわけではなかったため、ソフトウェアを適切に構成し、ボールペンを修正する必要がありました。 しかし、ハッカソンの終わりまでに、ロボットは自信を持ってあらゆる複雑さの写真を描きました。
ワクター
私たちのオフィスには車を駐車するための独自の領域があり、中に入るためには、 障壁を開く必要があります。 私たちがヴァシリエフスキー島に引っ越したばかりのとき、従業員は障壁をリモートで開くための装身具を与えられました。 ただし、別のバックパックで作業したり、キーチェーンが機能している場合は、レセプションに電話してバリアを開けるように頼まなければならないことがあります。
![](https://habrastorage.org/getpro/habr/post_images/bab/3a7/094/bab3a7094b4451baae5bd06ab689b766.jpg)
最初に、Webボタンを作成するというアイデアが生まれました。このボタンを押すと、サーバーに信号が送信され、バリアがアクティブになります。 しかし、コミック名「Wachter」のプロジェクトのメンバーはさらに先に進みました。 彼らは監視カメラにアクセスし、OpenCVライブラリを使用して、ナンバープレートの整理を始めました。 社内ソーシャルネットワークJetPeopleがあり、ページの各従業員には車両のナンバープレート番号が表示されます。 すでに最初の日に、Wachterは数字を(すべてではありませんが)区別し、従業員の記録への準拠を確認することを学びました。
![](https://habrastorage.org/getpro/habr/post_images/4f5/800/021/4f580002198fa22f44614341ee2b6d86.jpg)
ボトルネックは、トランスミッタからのすべての信号がバリアに到達するわけではないことでした。 どうやら、障壁の開発者は、ボタンを押した後に上昇しない場合、結果が成功するまでユーザーがこのプロセスを繰り返すことを決定しました。 それでも、プロジェクトは多数の票を獲得し、2位になりました。
ハンド漫画
最初の場所は、タブレット上の平面写真のアニメーションのプロジェクトです。 このプロジェクトに関する短いビデオインタビューを撮影することにしました。
受賞者は次のとおりです。
![](https://habrastorage.org/getpro/habr/post_images/265/5ee/255/2655ee2550c84d8356670e393fed310c.jpg)
そして今、私たちは来年を待ちます。
ハッキングを続けてください!