グラフDBのNeo4jでカフェのレコメンド機能を実験してみた
お世話になります。オールアバウトのsutchanです。
今回は、"Neo4j“というグラフデータベースを触って遊んでみた話をしたいと思います。
Neo4j(グラフデータベース)とは
まず、グラフデータベースとはなんぞやという話から。 グラフデータベースはグラフ構造を持ったデータを扱うのに特化したデータベースです。 グラフ構造は、電車の経路やSNSのソーシャルグラフ、ドラマの人物相関図のようなものと言えば、イメージしやすいかもしれません。 図にあるように、グラフデータベースは、データの実体であるNodeと、それらをつなぐRelationで構成されていることがわかります。 NodeとRelationには、Property(Key-Value形式の付加情報)も付けることができます。 グラフデータベースは、その特徴から、電車の乗換案内や地図アプリの経路探索、SNSの「知り合いかも?」など、レコメンド機能によく使われているそうです。
では、このNeo4jを使ってどう遊ぶのか…… 今回は、弊社のスマホアプリ「CafeSnap」を題材に、 自分におすすめのカフェを推薦する機能(= カフェレコメンド機能)を実現する ことを目指して、Neo4jで遊んでみます!
続きを読む最新の技術はこれだ!Technology Radarによる技術トレンド調査
機械学習、React + Flux、Pepperなど、オールアバウトの社内勉強会をご紹介
こんにちは、yamatoです。
オールアバウトには現在30人くらいエンジニア社員が居るのですが、社内での勉強会がどんどん活発に行われるようになってきています。
勉強会をやる意義
- スキルアップ
エンジニアを取り巻く環境は常に変化しているので、常に学んでスキルを伸ばしていくことはとても重要です。
エンジニアとして様々な引き出しを持っておくことは、会社の事業にも活きると思います。
また、弊社のビジョンでは個人の「自立」を謳っており、社員もそういった意識で向上心を持って仕事に取り組んでいます。 - 業務で使う新技術の啓蒙活動
採用したい技術があるが、チームメンバーのスキルが追いついていない場合、きちんと教育を行う必要があります。
そのために勉強会を行う場合もあります。
上記のような意義がありますが、ポイントは一人でなく複数人で行うことで挫折せずに継続できるというところだと思います。
オールアバウトで行われている勉強会
全体ワークショップは部で公式に運用しているものですが、それ以外のものは必要に応じてメンバーが自発的に始めた「野良勉強会」です。
続きを読むバーガーショップで例えるオールアバウトでのLaravelアーキテクチャ
オールアバウトで開発チームに所属している@pakkunです。
12月も近くなり、大きく時期から外れてしまいますが、弊社では8月から9月にかけてサマーインターンを行いました。 その際に弊社で導入しているLaravelというPHPフレームワークの付き合い方を資料とライブコーディングでインターン生に説明しました。
抜粋になりますが、弊社でのLaravelとの付き合い方をブログでも公開します。
とは言え、Laravelを知らない人もいるかと思いますので、まず初めに軽く説明します。
3行でLaravelを知る
- PHPで書かれたフルスタックフレームワーク。
- MVCベース。
- PHP界隈ですごく流行っている。
MVCベースと記載しましたが、開発者のTaylor Otwellさんは「MVC Is Killing You」と著書で言っており、MVCに縛られると辛くなるので、あまり深くとらわれないようにしましょう。
次にどんな機能があるのか見てみましょう。
Laravelの機能
- オブジェクト指向(Laravel5.3ならphp5.6以上)
- バンドル機能(Composerによる依存管理)
- ORM(オブジェクト関係マッピング)
- Restful Controller
- 強力なDependency Injection
- マイグレーション機能
- テスト標準サポート
上記にあげたのは一例です。フルスタックフレームワークであるだけに、他にもイベント管理や認証管理など素晴らしい機能がたくさんあります。
続きを読む