Hello Wor.log

IT系大学生4人による備忘録のようなもの

How to GraphQLをScalaでやってみたのでメモ

こんにちは、P1です。
GraphQL、最近流行りですよね。今回はHow to GraphQLをScalaでやってみたので備忘録として残しておきます。
ScalaもGraphQLも全然出来ないので参考程度に見てくれると嬉しいです。

How to GraphQLは https://www.howtographql.com/から始められます。

やりながらメモをしていったリポジトリhttps://github.com/projectormato/Learn-GraphQLになります。 直下のREADMEにはFundamentalsの方のメモが書いてあります。

実際に編集していったのは https://github.com/projectormato/Learn-GraphQL/tree/master/howtographql-sangria/src/main/scala/com/howtographql/scala/sangria にあります。cloneして

sbt run

してhttp://localhost:8080/にアクセスすれば実際にクエリを実行出来ると思います。

最初は

query {
  allLinks {
    id
    name
    description
  }
}

のようなクエリを実行できるようにLinkモデルの定義から始めて

query {
    link(id: 1){
      id
      name
    }
    links(ids: [2, 3]){
      id
      name
    }  
}

このような引数のあるクエリを実行できるようにしたり
User、Voteモデルを追加し関係性を持たせ

query {
  links(ids :[1,2]){
    url
    votes {
      user{
        name
      }
    }
  }
}

のようなクエリを実行できるようにし、

mutation addMe {
  createUser(
    name: "Mario",
    authProvider:{
      email:{
        email:"mario@example.com",
        password:"p4ssw0rd"
      }
    }){
    id
    name
  }
}

のようなmutationを各モデルで実行出来るようにしてから認証の実装までを行いました。
一応章ごとにcommitしてみたので良かったら参考にしてください。
新しいモデルの定義やVoteとUserの関係の実装などはやってみてね!みたいな感じで自分でやってみて答え合わせなども出来るようになってました。

まだまだScalaに対する理解も全然な中やってみたので、よく分からなかった部分もあるのでこれからも色々使ってみて理解を深めていきたいと思います。

slimとkerasの計算グラフ

CPPXのXです。

tensorflowをぬるぬる書くためのライブラリであるslimとkerasをちょこっと比較しようかなと思います。
tensorboardを使いつつ、どのようなグラフが出来上がるのかを見たいと思います。

どっち使っても簡単に記述出来るし、どっちがいいの!?みたいなことです。

続きを読む

ポケモンのアイコンを識別するやつ(1)

CPPXのXです。

ポケモン選出画面から、相手の手持ちを識別するやつ をやりたいと思います。

今回はあまり細かい説明はしません。
作ったものの概要程度にまとめたいと思います。

続きを読む