masalibの日記

システム開発、運用と猫の写真ブログです

GraphQL:用語について

専門用語があるのでメモとして残す

Learning GraphQL: Declarative Data Fetching for Modern Web Apps

Learning GraphQL: Declarative Data Fetching for Modern Web Apps

  • Query
    SQLでいう「Select」に分類されるもの。データを取得するためだけのものです(Read Only)

Queryの例

{
  hero {
    name
  }
}

結果の例

{
  "data": {
    "hero": {
      "name": "R2-D2"
    }
  }
}
  • Mutation
    SQLでいう「insert,update,delete」に分類されるもの。データを作成、変更、削除するための操作。 単純に翻訳すると「突然変異」ですが「作成、変更、削除」の総称とおぼえてください
mutation AddTodo($type: String!) {
  addTodo(type: $type) {
    id
    type
  }
}
  • Argument(引数) SQLでいう「Whereの条件」に分類されるもの。
{
  human(id: "200") {
    weight(unit: "pounds")
    height
  }
}

上記の例の「id: "200"」がArgument(引数)になります

競合を避けるためにフィールドの結果に別名です。 SQLだと微妙にちがうのですが「AS句」になります

GraphQLの例

{
  admin: human(id: "200") {
    name
    email
  }
  user: human(id: "400") {
    name
    email
  }
}

SQLの例

SELECT name AS alias_name, email FROM human WHRE id='200';
  • Fragments(フラグメント)

列名を繰り返し使う場合に別名にできる機能。SQL機能だと・・・ない??

上記のエイリアスの例でも

    name
    email

を2回ほど同じ列を記載しています。 2つ程度なら問題ないですが、100件とかあると大変なので列の別名で対応したほうが、送信するときのクエリーのバイト数が減ります

Fragments(フラグメント)を使っていない場合の例

{
  admin: human(id: "200") {
    name
    email
  }
  user: human(id: "400") {
    name
    email
  }
}

Fragments(フラグメント)を使った場合の例

{
  admin: human(id: "200") {
    ...humanFields
  }
  user: human(id: "400") {
    ...humanFields
  }
}

fragment humanFields on Character {
  name
  appearsIn
}
  • Variables(変数)

今までの例ではパラメータを直接記載(ハードコード)していますが 何回も使う場合などはVariables(変数)を宣言して対応します。 単純なSQLではないですが、ストアドの変数に該当します。

Variables(変数)を使っていない例

{
  human(id: "200") {
    name
    email
  }
  book(auth_id: "200") {
    book_name
    price
  }
}

Variables(変数)を使った例

{
  human(id: user_id) {
    name
    email
  }
  book(auth_id: user_id) {
    book_name
    price
  }
}

{
  "user_id": "200"
}

WBS:ZOZOの前澤社長が出演していておもしかった

WBSスペシャルで内容としては平成の振り返りとZOZO前澤さんだった

平成の振り返り

衝撃だった事はこんな感じ

アナウンサーコスプレ

相内アナウンサーのぶっかけー

夜空ノムコウが流れた事

ZOZO前澤さん

生放送は6年ぶりらしいです

前澤さんのTシャツ

クリスマスにこのTシャツを着るのはかっこいい

ユニクロの柳井の批判

ユニクロの柳井さん
 「zozoはモールだ・・・」

前澤さん
 「おっしゃる通り、大先輩です。」
 持ち上げたというか戦う意思はない事を主張しているようだった

社員での合唱

自分の会社では考えられないけど・・・
さまざまな捉え方があるのね

ポジティブな意見

ネガティブな意見

社内恋愛

ZOZOタウンでは社内恋愛が多いらしい。・・・

自分がネガティブなのか・・・
別れた時が大変のような・・・

社員から意見

田端さんwwww

前澤さんへの質問

テレビで放送された質問

質問 答え
アパレルEC以外にやりたこと? 今の所はアパレル
宇宙にいったら何をする 地球を見る
ZOZOは宇宙服を作る? 予定はない
イーロン・マスク意識している? かっこいい
引退年齢は? 多分一生やる

ネットで公開された質問

質問 答え
新規プロジェクトはどうやってうまれますか? ふっと誰のアイデアがでてきて、すぐ形する。前澤さんが先頭に立つこともある
尊敬している経営者 孫さん、ゴルフがうまいからwww
社員を採用する時に条件? 企業理念を理解してくれているか(みんなが楽しくなる)
折れそうなった時に自身を支えている信念は 折れそうにならない
ずっと続けている習慣があれば教えてください 何もない
結婚感 ノーコメント
社内恋愛を推進している理由 好きな人といっしょに働けるのが幸せだと思う。社内恋愛するという事はいい会社だという証拠
社内恋愛推奨だと恋愛で揉めると仕事に支障でませんか? でた時に考えればいい。社員が勝手にやるみたいで、部署異動が簡単にできる(いつでも移動できる)
今一番欲しいものは何ですか? 釣り竿。小さいの時の夢なので。
全くやる気がでない日はどうやって自分を奮い立たせますか? やる気がでない日はやらない
平成で前澤さん自身に最も影響を与えた事象は何か? 911テロ。それを受けて世界平和と思った。生きる目標にしようと思った
トランプはどう見える ノーコメント

人生楽しんでいるな~と思った

GraphQL:概要

次回の会社の勉強会のために調べているGraphQLについてコツコツ書いていきます

本は今の所は英語しかないみたい

Learning GraphQL: Declarative Data Fetching for Modern Web Apps

Learning GraphQL: Declarative Data Fetching for Modern Web Apps

雑誌だとWEB + DB PRESSであったくらい

WEB+DB PRESS Vol.104

WEB+DB PRESS Vol.104

  • 作者: 末田卓巳,林田千瑛,陶山嶺,八谷賢,辰己佳祐,竹澤俊季,服部智,藤岡裕吾,牧大輔,西郡卓矢,松木雅幸,穴井宏幸,新日出海,桑原仁雄,小田知央,ひげぽん,池田拓司,はまちや2,竹原,大場光一郎,大場寧子,松館大輝,日高尚美,Vu Xuan Dung,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2018/04/24
  • メディア: 単行本
  • この商品を含むブログを見る

  • GraphQLとは
  • FaceBookがGraphQL開発した理由
    • RESTについて
  • RESTの問題点
  • RESTとgraphqlの違いについて
  • RESTの資産について
  • クライアント側を覚えるならgithubが最適!!

GraphQLとは

GraphQLは、RESTの代わりに、より効率的で、強力で柔軟な新しいクエリ言語です。Facebookによって開発され、オープンソース化され、現在世界中の企業や個人の大規模なコミュニティによって維持管理されています。 データベース技術と混同されますがそれは間違いです。GraphQLはデータベースではなくAPIのクエリ言語。

今年も注目された技術の1つですが、来年以降はもっと注目されると思います。
私の個人的な意見ですが、いずれはSQLと同じくらい有名になり、そして必須になる

続きを読む

WinSCP:踏み台設定とWinSCPからputtyを起動する設定

今更ですが、WinSCPの踏み台設定を知らない人が多かった 自分が忘れそうなのでメモとして残す

Winscpとは ja.osdn.net

Linux系のサーバーに簡単にファイルをアップできるソフトです。
Win(Windows)+SCP(SCPコマンド)だと思う

踏み台設定

f:id:masalib:20181225193340j:plain
サーバー設定1

プロトコル: SFTPにする
②ホスト名: 対象のサーバーIP(ローカルのIPでもOK)
③ポート番号: 22
④ユーザー名: 現在ログインしているユーザー
⑤パスワード: 現在ログインしているユーザーのパス
(キー設定もできる)

f:id:masalib:20181225193404j:plain
サーバー設定2

①トンネル クリックする
SSHトンネル・・ チェックする
③ホスト名: 踏み台サーバーIP
④ポート番号: 22
⑤ユーザー名: root
⑥パスワード: rootのパス
(キー設定もできる)

WinSCPからputtyを起動する方法も記載

ターミナルを起動するときにパスワードとか入力するのがめんどくさいので
WinSCPで設定した内容をもとにターミナルを起動する

WinSCPを起動後に環境設定を開く

f:id:masalib:20181225193429j:plain
puttyの設定1

アプリケーションを選択する

f:id:masalib:20181225193457j:plain
Putty設定2

1 アプリケーションを選択する
2 putty.exeを選択する
3 セッションパスワードを記録し、PuTTYへ渡すをチェックする

f:id:masalib:20181225193534j:plain
Putty設定3

メニューの上にあるputtyから起動のボタンで現在接続している状況でputtyが起動できます

モンスト:クリスマスイベントと銀タコ

クリスマスガチャを引いてみた。

ラミエルカマエルが一緒に出る可能性がある神ガチャをひきました

(● ˃̶͈̀ロ˂̶͈́)੭ꠥ⁾⁾止まれ、止まれ

 

f:id:masalib:20181223163811p:image

 

ありがとうございます😊

大勝利(*゚▽゚*)

 

カマエルも欲しいけど、これ以上に望むのはバチが当たる

 

この運だったらいいのが当たるかもという浅い考えでモン玉ガチャを引いた

f:id:masalib:20181223164800p:image

ここ最近のガチャ限なので満足(╹◡╹)

 

 

遅くなったけど銀だこのオラゴンが運極ななりました

f:id:masalib:20181223164053p:image

 

いつもの99%当たるプレゼントボックスを開き

当たりました

今回はサブ垢があるので2つ

嫁の端末も合わせると3つです

 

去年も同じクリスマスの時にたこ焼きを食べることになった

 

f:id:masalib:20181223164305j:image

f:id:masalib:20181223164307j:image

 

ヤババーンのソースは鼻くる辛さだった。

f:id:masalib:20181223164341j:image

 

子どもにはちょっと辛いかも

 

モンともサンタガチャみたいにまったく当たらないイベントをやるぐらいならリアルイベントの方がありがたいと思う