CLOVER🍀

That was when it all began.

Node.js

npm installとnpm ciの違いをメモする

これは、なにをしたくて書いたもの? Node.jsでモジュールをインストールするコマンドとしてnpm install(エイリアスnpm i、npm add)があるわけですが、 npm ciがどういうものだったかよく忘れるのでメモしておきます。 ちょっとドキュメントを眺めてみまし…

AWS SAM+TypeScriptでAWS Lambda関数(+ Amazon API Gateway)を作成して、LocalStack上にデプロイする

これは、なにをしたくて書いたもの? AWS SAMを使って、TypeScriptで書いたアプリケーションを試してみたいなということで。 やり方 TypeScriptのビルド結果+package.jsonを配置したディレクトリに、AWS SAMのテンプレート(template.yaml)に 書かれている…

PM2を使って、Node.jsアプリケーションをクラスター化(CPUスケーリング)させてみる

これは、なにをしたくて書いたもの? Node.jsで動作するアプリケーションは、単一プロセス、単一スレッドで動作するのでホスト側に複数のCPUが あったとしても、そのままではCPUを有効に活用できません。 PM2などのプロセスマネージャーを使うと、このあたり…

ts-node+Google Chrome DevToolsで、TypeScript+Node.js環境のデバッグ(node --inspect)を行う

これは、なにをしたくて書いたもの? 以前、Node.jsの--inspectオプションと組み合わせて、Node.jsアプリケーションをGoogle ChromeのDevToolsで デバッグする方法を書いたことがあります。 Node.jsアプリケーションを、Google ChromeのDevToolsでデバッグす…

npm installなどで使うバージョンがよくわからなかったので、調べてみました

これは、なにをしたくて書いたもの? npm install(npm i)でモジュールをインストールする時にバージョンを指定したり、package.jsonに記載される バージョン表記について雰囲気でしか見ていなかったので、ちゃんと見てみようかなと。 なお、パッケージの依…

Serverless Express+TypeScriptを使って、LocalStackにAmazon API Gateway+AWS Lambdaの環境を構成してみる

これは、なにをしたくて書いたもの? AWS Lambdaで使える、フレームワークをちょっと試してみたいなと思いまして。 Serverless Expressというものがあるみたいなので、ちょっと試してみることにしました。 Serverless Express Serverless ExpressのGitHubリ…

TypeScript+Node.jsプロジェクトを自動ビルドする(--watch、nodemon+ts-node)

これは、なにをしたくて書いたもの? Node.js上で動作するTypeScriptでソースコードを書いていて、変更の度にnpx tscと実行するのが面倒だなぁと 思いまして。 自動的にビルドする方法はないかな?ということで調べてみました。 結論を先に書くと、ソースコ…

TypeScript+Node.jsで、Echo Server/Clientを書いてみる

これは、なにをしたくて書いたもの? 前に、Node.jsでEcho Server/Clientを書いてみたのですが。 Node.jsで、Echo Client/Serverを書いてみる - CLOVER 今回は、こちらをTypeScriptに書き換えつつ、テストコードも書いてみようかなと思います。 環境 今回…

TypeScriptでExpress

これは、なにをしたくて書いたもの? TypeScriptでExpressを使ってみようかなと。 簡単なGET、POST、それからテストを書いてみたいと思います。 環境 今回の環境は、こちらです。 $ node --version v16.13.0 $ npm --version 8.1.0 準備 まずは、TypeScript…

JestでTypeScriptのテストを書く

これは、なにをしたくて書いたもの? TypeScriptを使ったテストコードを書こうと思って、ふと手が止まり。 TypeScriptのテストコードを書く時にも、Jestを使うのかなと。 というわけで、TypeScriptでのJestの使い方について調べてみました。 Jest with TypeS…

Node.jsの管理ツール、nvmをインストールする

これは、なにをしたくて書いたもの? これまで、Node.jsのインストールにはずっとnodebrewを使っていました。 Node.jsを管理したくて、nodebrewをインストールする - CLOVER GitHub - hokaccha/nodebrew: Node.js version manager 開発が止まっていることは…

Node.jsアプリケーションのログ出力に、winstonを使ってみる

これは、なにをしたくて書いたもの? Node.jsでアプリケーションを書く時のロギングライブラリは、どういうものがあるのかちょっと気になりまして。 調べた感じ、以下のようなものがありそうです。 GitHub - winstonjs/winston: A logger for just about eve…

TerraformでNode.js+PostgreSQLなアプリケーションをHerokuにデプロイする

これは、なにをしたくて書いたもの? Terraformの勉強にと、Herokuを使って、アプリケーションとデータベースをデプロイする超簡単な例を作って試してみようと。 お題 Herokuのフリープランで利用可能なPostgreSQLを使い、以下のサンプルとほぼ同等なアプリ…

OKD/Minishiftで、特定のPodに絞ってPrometheusからDiscoveryする

これは、なにをしたくて書いたもの? 以前、PrometheusをOKD(Kubernetes)にデプロイしてみました。 OKD/Minishift上に、Prometheusをデプロイしてみる - CLOVER こちらは、とにかくPrometheusをOKD(Kubernetes)上で動かすことだけを目標にしていました…

PrometheusのNode.jsクライアントを試す

これは、なにをしたくて書いたもの? PrometheusのNode.js向けのクライアントライブラリ(サードパーティ製のものですが)があるようなので、こちらを試して みようかと。 Prometheus client for node.js こちらのライブラリです。 GitHub - siimon/prom-cli…

AWS Lambdaをaws-sam-cliを使ってローカルで動かす

これは、なにをしたくて書いたもの? AWS Lambdaを、aws-sam-cliを使ってローカルで動かせるらしいので ちょっと試してみようかと AWS SAM Local(ベータ版) – サーバーレスアプリケーションをローカルに構築してテストする | Amazon Web Services ブログ a…

OKD/Minishift上で、None-Selector ServiceとExternalName Serviceを試す

これは、なにをしたくて書いたもの? Kubernetesから、Kubernetesクラスタ外へのアクセス方法を提供するServiceを試してみようと なんとなく、それ用のServiceがあることはぼんやりと知っていたので、今回こちらをOKD/Minishiftで試してみました。 OKD(Kub…

Spring Cloud Gatewayで遊ぶ

これは、なにをしたくて書いたもの? Spring Cloud Gatewayという、API Gatewayを構築できるライブラリがあるらしい けっこう面白そうな機能を持っている雰囲気なので、1度触っておこうかと というわけで、Spring Cloud Gatewayをお試しということで、遊んで…

Visual Studio Codeで、Node.jsアプリケーションをデバッグする(ローカルプロセスアタッチ/リモートデバッグ)

これは、なにをしたくて書いたもの? Visual Studio Codeを使って、Node.jsのアプリケーションのデバッグを試してみたい ローカルプロセスへのアタッチや、リモートデバッグができるようなので、そちらを中心に というわけで、Visual Studio Codeでのこれら…

OKD/Minishift上で、Storageを使ってみる(PersistentVolume/PersistentVolumeClaim+NFS)

これは、なにをしたくて書いたもの? OKD/Minishift…というかKubernetes上で、ストレージに関する機能を試してみたい PersistentVolume、PersistentVolumeClaimというものがあるらしいので、こちらを使ってみようと お題はNFSで そんな感じで、OKD/Minishi…

LocalStackを使って、AWSの機能をローカルで動かしてみる(S3)

これは、なにをしたくて書いたもの? LocalStackという、クラウドアプリケーション開発のためのモック/テスト用フレームワークがあるらしい 現在はAWSのスタックを扱えるように開発しているらしく、これでAWSの機能をローカルで試してみよう とりあえず、S3…

Sonatype Nexus 3/2で、REST API+Groovyスクリプトを使ってリポジトリを作る

これは、なにをしたくて書いたもの? Sonatype Nexusを使ってリポジトリを作るのに、Web Consoleにログインして作るのが面倒だなーと思って他の方法は?と できれば、Sonatype Nexus 3と2、それぞれで知りたい REST APIと、スクリプトが使えるらしい 試して…

Node.jsからRedisにアクセスしてみる

これは、なにをしたくて書いたもの? Node.jsを使ったプログラミングの練習がてら、データストアにアクセスでも Redisあたりにアクセスしてみて、試してみようかと Promise使おう A Node.js for Redis Client Node.jsからRedisにアクセスするには、こちらの…

OKD/Minishift上に、Node.jsとMySQL(Template)を使ったアプリケーションを作る

前回、OKD(OpenShift Origin)上にNode.jsとMySQLのImageを使ったアプリケーションをデプロイしてみました。OKD/Minishift上に、Node.jsとMySQL(Image)を使ったアプリケーションを作る - CLOVER今度は、MySQLをTemplateを使ってデプロイして、Node.jsで…

OKD/Minishift上に、Node.jsとMySQL(Image)を使ったアプリケーションを作る

OKD(旧名OpenShift Origin)上に、データベースを使用したアプリケーションを作ってみようかなと。 ※名称自体はOKDになりましたが、今は検索の都合上、エントリのどこかに"OpenShift"という単語は入れておこうかなぁと…OKD: Renaming of OpenShift Origin w…

Express+SequelizeでMySQLと連携するREST APIを作る

前にExpressを使って、簡単なREST APIを作ってみたので、今度はそこからデータベースにアクセスするコードを書いてみようかなと。この前、Promise-mysqlを使ってMySQLにアクセスするエントリを書いたのですがPromise-mysqlで、Node.jsからMySQLにアクセスす…

OpenShift Origin(OKD)に、Node.jsアプリケーションをデプロイしていろいろ試す

MinishiftでOpenShift Origin(OKD)を始めると、チュートリアルでNode.jsのアプリケーションをデプロイする例が登場します。こちらですね。Minishift Quickstart / Deploying a Sample Application $ oc new-app https://github.com/openshift/nodejs-ex -l…

Promise-mysqlで、Node.jsからMySQLにアクセスする

Node.jsからMySQLにアクセスする方法を調べようと思ったのですが、最初に見つけたのがこちら。mysqlmysqlこれが、標準的位置づけなライブラリのようですね。※MySQL 8.0で登場している、Connector/Node.jsはいったん置いておきます Connector/Node.jsですが、…

KeycloakのNode.js Adapterを使ってOpenID Connect

以前に、KeycloakのJava Servlet Filter Adapterを使って、OpenID Connectを試してみました。KeycloakのJava Servlet Filter Adapterを使ってOpenID Connect - CLOVER今度は、Node.jsのAdapterを使って試してみたいと思います。Node.js Adapter Keycloak Nod…

Node.jsアプリケーションを、実行可能ファイルにまとめるnexeを試す

Node.jsを使って作成したアプリケーションを、単一の実行可能ファイルにまとめる方法はないかなぁと思って 調べてみました。deployment - How do I deploy Node.js applications as a single executable file? - Stack Overflownexeというものが、自分の要求…