edo1z blog

プログラミングなどに関するブログです

Node.js

DockerでPM2とAdonis.jsとApache2でWebsocketを動かすときのメモ

docker-composeのメモ Dockerfileの編集等が反映されない場合は、ビルドする。 $ docker-compose build [service name] それでも反映されない場合は、キャッシュ無効にしてビルドする。 $ docker-compose build --no-cache ビルドしてから一回donwしてupした…

FTXの自動取引プログラムのサンプルを作成しました。

github.com FTX-sample FTX-sample is the Automatic trading program for FTX How to use Register your account on FTX. Create an FTX API key and set it in the .env file. Install and start this program. API Key Go to https://ftx.com/profile and…

Slackのgeneralチャンネルのメッセージを全削除するスクリプトを作ったけど削除できなかった

下記のようなコードを作って実行してみたけど、削除できなかった。理由は権限不足だった。 解決策をちょっと調べたけど分からなかったのであきらめた。 const {webClient, WebClient} = require('@slack/web-api'); require('dotenv').config(); const token…

PM2でNode.jsのプログラムを自動起動させる(Amazon Linux 2)

参考: PM2-スタートアップスクリプトジェネレーター インスタンスが起動したら自動的にNode.jsアプリが起動するようにする やり方 pm2 starup を実行すると、実行すべきコマンドが表示される。それを実行する。 上記を実行すると、/etc/systemd/system/pm2-e…

socket.ioの最大同時接続数とサーバ負荷の確認

Adonis.jsでsocket.ioを動かして、リアルタイムにプッシュ配信させるプログラムをPM2で動かしています。webサーバはApacheです。Apacheの設定についてはここにメモしました。socket.ioを使ったので同時接続どのくらいできるのか確認しました。とりあえず同時…

CentOSのApacheでAdonisを動かす

$ pm2 start server.js $ apache proxy 設定(ドキュメントルートをhttp://localhost:3333に飛ばす) これで大体はいいはずなんだけどうまくいかない。 curl http://localhost:3333とかやると「接続を拒否されました」となる。 firewalldは使われてなくて、i…

Bitflyer FX バックテストしてみる

下記に書いた1秒足作るコードで作った1秒足データを元に、バックテストを実施するコードを作成してみました。 blog.logicky.com ただ、Firestoreを使うのをやめようと思ってるので、Firestoreデータをcloud storageにエクスポートして、bigQueryにインポー…

Bitflyer FXの約定データを取得して1秒足データを作ってFirestoreに保存する

データ取得 下記のようなnode.jsコードを作って取り込みました。非常に適当に作っております。firestoreに入れています。firestoreにbatch()というのを使って一括で保存しているのですが、3分くらい経つとこれの途中でとまります。なので、2分したら強制的…

BitfinexとBitmexの板と約定履歴をwebsocketで取得する

node.jsを使ってます。 Bitfinex const ws = require('ws') const w = new ws('wss://api.bitfinex.com/ws/2') w.on('message', msg => console.log(msg)) let msg = JSON.stringify({ event: 'subscribe', channel: 'trades', symbol: 'tBTCUSD' }) w.on('o…

node + webpackでregeneratorRuntimeが無いいわれるで

async, await使ってたら下記エラーがでたで Uncaught ReferenceError: regeneratorRuntime is not defined 下記に書いてあるとおりにやってみたら、エラーがでなくなったで dev.to 下記をインストールして、 $ yarn add -D babel-plugin-transform-runtime .…

puppeteerでスクレイピングしてみた

puppeteerというのを使ってみました。google chromeをコマンドラインから使えるやつです。久しぶりにjQueryやってる感じで、イライラした笑 でも便利そうだし、面白かった。これを使うと、なんか色々できそうで面白い。 本家マニュアルも読んだけど、この記…

Node.jsでファイルの読み書き

Node.jsでファイルの読み書きします。 File System | Node.js v10.11.0 Documentation fsモジュール fsモジュールを使って読み書きします。非同期コールバック、同期、非同期プロミスバージョンという感じで、同じ処理に3つの関数がある場合が多いっぽい。…

Wordpressからはてなブログへの引っ越しの際に、日本語URLがおかしいのと、シンタックスハイライトが反映されないのを解決した

Wordpressからはてなブログに引っ越しました この度、はてなブログにお引っ越しをしました。めっちゃ便利だし、安いし、軽いしいい感じだと思いました。 引っ越し方法も基本は簡単で、Wordpressの管理画面の標準機能に、エクスポート機能があるので、それを…

Node.jsでbitFlyerAPIを使う

APIのドキュメントはここにあります。 サンプル const axios = require('axios') const config = require('./bitflyer.config') const baseUrl = 'https://api.bitflyer.com' const crypto = require('crypto') function request(method, path, data) { retu…

node.js - socket.ioでブロードキャストする

ブロードキャストというのは、node.jsのサーバから接続されている各クライアントに配信することです。 プロジェクト作成 $ mkdir hoge $ cd hoge $ yarn add express $ yarn add socket.io $ vue create client $ cd client $ yarn add socket.io-client と…

Node.js - requireとexports

ここに詳しく書いてありました。 大体こんな感じで使う。 index.js var hoge = require('./hoge.js') var page = require('./page.js') console.log(1) console.log(hoge.val) console.log(hoge.num) console.log(hoge.hoge.a) console.log(page.pageFunc(10…

Node.js

Node.jsやってみる。 macは、El Capitan 10.11.5です。 ここでNode.jsをダウンロードしたり、ドキュメントを取得できたりする。 http://nodejs.jp/nodejs.org_ja/ Node.js v0.11.11 マニュアル & ドキュメンテーション $ node -v v0.11.11 $ npm -v 1.3.25 N…