Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

NodeでGraphQLのリクエストを出す

superagentというパッケージを利用します。

const request = require('superagent');

request
    .post('http://localhost:8080')
    .send(`
query {
    user(name: "香風智乃") {
        name, age
    }
}`)
    .end((_, res) => {
        console.log(JSON.parse(res.text));
    });

めちゃくちゃカンタンですよね。

おまけ: PHPでアクセスする方法

適宜php-curlをインストールしたり、php.iniをいじったりしてください。

<?php
$url = "http://localhost:8080";

$curl = curl_init($url);

$options = array(
  CURLOPT_HTTPHEADER => array( 'Accept: application/json' ),
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => 'query {user(name: "香風智乃"){name, age}}',
  CURLOPT_RETURNTRANSFER => true,
);

curl_setopt_array($curl, $options);

$result = curl_exec($curl);

echo $result;

curl_close($curl);

今日も今日とて「生誕○日記念祭」やろうぞい!

f:id:panda_noir:20181206152848p:plain

あなたは生まれてから何日が経ちましたか?20歳なら約7,300日、30歳なら約10,000日、40歳なら約14,600日だそうです。

ここまで数字が大きくなってくると、N進法(N=2〜32)にしたときに「何かそれっぽい数字」になってる可能性が高いとは思いませんか?つまり「毎日ゾロ目とか連番とか"それっぽい"数字になるなら毎日が記念日じゃん!」

ということでやってみましょう。

続きを読む

localStorageを意識せずに使えるようなライブラリを作りました。

localStorageをgetItemしたりsetItemしたりとかめんどくさいですよね?そこで、はじめに設定したら、以降はlocalStorageを全く意識する必要がなくなるライブラリを作りました。

f:id:panda_noir:20181204134730p:plain

(イラスト: 複数のPCサーバーのイラスト | illalet(イラレット))

続きを読む

RDB脳でもMongoDBを使い倒したい!

RDBリレーショナル・データベース強すぎでは???」と思っていました。MongoDBに出会うまでは

MongoDBはJSONベースでやりとりができるので、かなりJSerにやさしくて涙が出ちゃいました(出てない)。

しかし、RDBをかじっていたせいで脳が凝り固まっており、「どうやって設計すれば良いんだ??」と途方にくれていました。しかし、そこでMongoDBにおける関連(Relation)のスキーマ設計という記事を見つけてしまい、神の意思を感じました。

先に言っておきますが、「製品版のときはRDBでキッチリと管理したい」「けどまだスキーマが固まってないプロトタイプの段階ではMongoDBでゴリゴリしたい」人なのでRDB派とも共存していきたいです。

続きを読む