dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

awk での match() による文字列置換

2023-03-25 12:55:35 | linux
awk の match() による文字列置換のメモ。
■データファイル
1       2       3       4       5
a1      b2      c3      d4      e5
A1      B2      C3      D4      E5

■awk スクリプト
awk 'match($3, /^[a-z]([0-9]+)$/, m) {FS="\t"; OFS="\t"; print $1, $2, m[1], $4;}'

■実行結果
a1      b2      3       d4


TypeScript での json-server を利用したモックサーバ

2023-03-18 14:38:57 | Node.js
TypeScript で json-server を利用したモックサーバを作成する方法のメモ。

■インストール
npm install json-server
npm install --save-dev @types/json-server

■db.json
{
  "path1": [
    {"id": "1_1", "key": "key1_1", "value": "value1_1"},
    {"key": "key1_2", "value": "value1_2"}
  ],
  "path2":
    {"key": "key2_1", "value": "value2_1"}
}

■モックサーバ(test_server.ts)
import * as JsonServer from 'json-server';

const server = JsonServer.create();
const router = JsonServer.router('db.json');
const middles = JsonServer.defaults();

server.use(middles);
server.use(router);

server.listen(3000, () => {
  console.log('json-server starts');
});

■モックサーバ実行
$ ts-node test_server.ts

■モックサーバの動作確認
$ curl http://localhost:3000/path1
[
  {
    "id": "1_1",
    "key": "key1_1",
    "value": "value1_1"
  },
  {
    "key": "key1_2",
    "value": "value1_2"
  }
]


json-server によるモックサーバ

2023-03-18 12:53:32 | linux
json-server で API のテスト用のモックサーバを動かすことができます。

■インストール
json-server は npm でインストールします。
npm install -g json-server


■データファイル
db.json ファイルに返却データを作成します。
{
  "path1": [
    {"id": "1_1", "key": "key1_1", "value": "value1_1"},
    {"key": "key1_2", "value": "value1_2"}
  ],
  "path2":
    {"key": "key2_1", "value": "value2_1"}
}


■json-server の実行
上記の db.json を指定して json-server を実行します。
json-server db.json


■確認1
path1 を指定すると path1 に指定したデータが返却されます。
$ curl http://localhost:3000/path1
[
  {
    "id": "1_1",
    "key": "key1_1",
    "value": "value1_1"
  },
  {
    "key": "key1_2",
    "value": "value1_2"
  }
]

json-server には以下のようにログが出力されます。
GET /path1 200 37.859 ms - 127


■確認2
path1 のデータの id の値の 1_1 を指定すると、id に対応するデータが返却されます。
$ curl http://localhost:3000/path1/1_1
{
  "id": "1_1",
  "key": "key1_1",
  "value": "value1_1"
}


json-server には以下のようにログが出力されます。
GET /path1/1_1 200 8.266 ms - 59