Node.js関連のことを調べてみた2020年01月24日

Node.js関連のことを調べてみた2020年01月24日
目次

Tektonを使ってAppsodyで作ったNodejsアプリケーションをK8sにデプロイする。

さて、
[Tektonを使ってAppsodyで作ったNodejsアプリケーションをK8sにデプロイする。(Tekton準備編)](https://qiita.com/motuo/items/8d768175abcb077067dc)で、`Tekton Dashboad`の用意ができたら、いよいよ`Appsody`で作った`Node.js`のモジュールをデプロイしていきます。

## 今回は私のリポジトリをクローンします。

“`sh
$ git clone https://github.com/motuo1201/appsody-test-build.git
$ cd appsody-test-build/
“`

## 一度、ローカルで動かしてみましょう。
[こちらの記事](https://qiita.com/motuo/items/1cde634a010e9e1d7d5a)にも書きましたが、下記のコマンドでローカルの稼働が確認できます。

“`sh
$ appsody run
……
[Container] App started on PORT 3000
“`

`

元記事を表示

Tektonを使ってAppsodyで作ったNodejsアプリケーションをK8sにデプロイする。(Tekton準備編)

先日、[Appsodyを使ってNode.jsモジュールをK8sに簡単にデプロイする方法](https://qiita.com/motuo/items/1cde634a010e9e1d7d5a)を記事にしました。

この記事ではさらに踏み込んで、作成した`Node.js`モジュールを`Tekton`を使ってK8sにデプロイするCI/CDパイプラインを作ってみましょう!
まず、この記事では以下の環境に`Tekton`を準備するところから始めます。
**※前回と同様に環境はmac。docker for macで`Kubernetes`が有効であることが前提です。**

## What’s Tekton?
ざっくりいうと、**Kubernetes上で稼働するクラウドネイティブなCI/CDパイプライン**となります。
代表的な使い方は、`Github`からソースコードを取得して、それを自動的にKubernetesへデプロイする、というところでしょうか。
詳細は本筋とは逸れるのであまり触れませんが、[Githubのリポジトリ](https://github.com/tektoncd/pipelin

元記事を表示

Azure DevOps を社内 npm registry として使う時の Tips

社内開発フレームワークの npm package を管理するために、Azure DevOps の Artifacts がメンバー限定 npm registry として使える事が判った。
その設定を行った際に判ったことをメモ。

## Azure DevOps の設定

* [Use packages from npmjs.com – Azure Artifacts | Microsoft Docs](https://docs.microsoft.com/ja-jp/azure/devops/artifacts/npm/upstream-sources?view=azure-devops)

に書いてある通りなのだが、サラッと言うと。

1. Azure DevOps にプロジェクトを作成し、Artifacts を選択
2. Create Feed で Feed を作成。名前は適当に、Visibility は “Member of ” で。”Upstream Source” もチェックを入れる。
3. 右上のギアアイコンをクリック → Upstream sou

元記事を表示

Node.jsからFBX SDK Pythonを呼べるDockerイメージ作った

# Node.jsからFBX SDK Pythonを呼べるDockerイメージ作った
とある事情により、Node.jsからFBX SDK Pythonを呼ぶ必要があったので、Dockerイメージを作りました。

作ったDockerイメージは以下に公開しました。
https://hub.docker.com/r/seguropus/fbx-sdk-python-nodejs

# サンプルコード

サンプルコードを以下に置きます。
https://github.com/segurvita/docker-fbx-sdk-python-nodejs

# サンプルコードの使い方

“`bash
# Dockerイメージをビルド
docker-compose build

# Dockerコンテナを起動
docker-compose up
“`

これで、以下のような表示が出れば成功です。

“`
fbx-sdk-python-nodejs | # FBX SDK can read the following formats.
fbx-sdk-python-nodejs

元記事を表示

[Node.js]モジュール定義について整理(exports-require / export-import)

## はじめに
あるファイルに定義した関数等を別のファイルで使いたいときにどうするか。

Node.jsでは二つのやり方がある。

1. exportsで公開してrequireで読み込む(CommonJS)
2. exportで公開してimportで読み込む(ES2015)

**常に使えるのは1の方法。Babelを使うなら2の方法でも可能。**
どちらを選んでもメリット・デメリットがあるわけではない(と思う)ので、お好きなほうで。

個人的には、常に使える1の方法がいいような気がしている。

## 使用例
### exportsで公開してrequireで読み込む(CommonJS)
#### 一つの関数だけをエクスポート
“`javascript:module.js
// 関数を定義
const f = () => {
console.log(‘Hello!’)
}

// 関数を公開
module.exports = f
“`

“`javascript:client.js
const f = require(‘./module’)
f() // Hello!
`

元記事を表示

[JavaScript][Node.js]メモ:アロー関数の文法

アロー関数(ES2015)の書き方。

“`javascript
f = () => console.log(‘Hello!’)
f() // Hello!
“`

“`javascript:評価した値を返す
// 式(Expressions)の評価結果が戻り値になる
sum = (a, b) => a + b
r = sum(1, 2)
console.log(r) // 3
“`

“`javascript:returnで値を返す
// {}で文(Statements)を作り、returnで値を返す
sum = (a, b) => {
return a + b
}
r = sum(1, 2)
console.log(r) // 3
“`

“`javascript:引数のカッコを省略
// 引数が一つの時のみカッコを省略可能(0個もしくは2つ以上のときは省略不可)
say = word => console.log(word + ‘!’)
say(‘Yeah’) // Yeah!
“`

“`javascript:即時関数
(() => console

元記事を表示

Typescript Node.js メソッドの結果をキャッシュする

## 背景

APIの結果を指定した時間キャッシュさせたかったので、シンプルにキャッシュできるクラスを自前で実装する。

## 使用ライブラリ
* ioredis
* zlib

## 実装

“` typescript
import ioredis from ‘ioredis’
import zlib from ‘zlib’

class Client {
private redis: ioredis.Redis = new ioredis(‘redis://exammple:6379’)

async fetch(key: string, func: () => Promise, expire): Promise {
const cached = await this.redis.get(key)
// キャッシュがあれば、解凍して返却
if (cached) {
const cacheString = await new Promise((resolve, reject) =>
zli

元記事を表示

Node.jsとDynamoDBで日時データの処理

#DynamoDBに日時データを持たせる2つの方法

1. データ型を`String`にして`2016-02-15`や`2015-12-21T17:42:34Z`のように文字列で持たせる。
2. データ型を`Number`にして`1579740176030`のように数値で持たせる。

2.項のNumber型の実用例としては、エポック時間 (1970 年 1 月 1 日の 00:00:00 UTC 以降の秒数) を利用することができる。([UNIXTIMEの詳細](https://ja.wikipedia.org/wiki/UNIX%E6%99%82%E9%96%93))

#Node.jsでエポック時間を扱う
##現在の日時をDateオブジェクトで取得する
“`javascript
const date = new Date();
console.log(date); // 2020-01-23T01:09:41.444Z
console.log(typeof date); // ‘object’
“`

##現在の日時をエポック時間で取得する
“`javascript

元記事を表示

Node.js、Web Speech APIを使って音声認識を出力

#概要
WebSpeechAPIを使用して聞き取った音声の文字おこしをブラウザ上に表示させます。

#作成方法
1.WebSpeechAPIを含むhtmlフォルダの作成

新規フォルダを作成し、その中にindex.htmlを作成。

“`html:index.html





音声認識サンプル

音声認識サンプル




“`
音声認識をするための処理をscriptタグ内に書いていきます。

“`html:index.html