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

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

Node.js新規アプリケーション作成時の設定手順

**前提条件** node.jsがインストールされていること # 手順 1: 任意の場所に、アプリケーションを格納するフォルダを作成する ・・・今回はデスクトップにnodeフォルダを作成   2: コマンドプロンプトにて下記コマンドを入力し、package.jsonを生成する “`sh:入力 > cd C:\Users\yamapi1012bs\Desktop\node # ↑ユーザー名 > npm init –yes # package.jsonがフォルダに生成される “` “`sh: #以下のように出力されればOK Wrote to C:\Users\yamapi1012bs\Desktop\node\package.json: { “name”: “node”, “version”: “1.0.0”, “description”: “”, “main”: “index.js”, “scripts”: { “test”: “echo \”Error: no test specified\” && exit
元記事を表示

MEVN STACKとは〜Vueでフルスタックに作りたい〜

# MEVN STACKって何? ## MEVN STACKってこういうのだよ ### MEVN STACKとは、 – Mongodb – Express – Vue.js – Node.js の頭文字を取ったもの。 類似にMEAN STACK(Mongodb,Express,AngularJS,Node.js)もありますね! Qiitaには、MEANはあったけどMEVNについてはなかったので、これから頑張って書いていきたいと思います。 もし少しでもいいね!と思ったら「Looks Good To Me!」をください。励みになります! ## 構成はこうすればできるよ それぞれの役割についてです。 ![vue-node-express-mongodb-crud-mean-stack-architecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573960/39bb10fc-833a-1841-5c08-cfce39404605.png) [引用画像:https://bezkoder.co
元記事を表示

【初学者向け】package.jsonについて調べてみた

業務でnpmライブラリのアップデートを行うにあたって、`package.json`についてちゃんと調べてみたので忘備録としてまとめました。 ### まずnpmとは 意味としては大きく2種類あると思います。 ①npm.Inc社のサービス https://www.npmjs.com/ npm.Incという会社が提供している上記のサービスことをnpmといいます。今年3月にGithubに買収された会社ですね。このサービス内に、`Javascript`で書かれたライブラリが豊富に存在しています。ここに存在するライブラリを、次に説明するnpmコマンドを使って操作している訳です。 ②パッケージを操作するためのCLI `Node.js`のライブラリを管理するためのコマンドで、ライブラリを生成したり、npm上のライブラリをローカルにインストールしたりするツールです。 ## ライブラリとは ライブラリを使えば、自分で一からコードを書かなくても簡単に機能を実現することができます。 外部ライブラリは自分のプロジェクトに含めるのではなく、「このプロジェクトはnpmのこのライブラリを使っている」という情報
元記事を表示

【obniz×LINE Messaging API】ラジコンをリッチメニューから遠隔操作する。自動ブレーキ付き

#やったこと 前回作成した[【obniz×LINE Messaging API】音と光を使い侵入防止システムを製作する](https://qiita.com/Toshiki0324/items/6ac09efe6ac6ed0102e6)の時に使用したタッパを乗せて走らせてみました。 #できたもの LINEのリッチメニューから操作でき、10㎝以内に障害物があると自動で停止します。
元記事を表示

【obniz】IoTでSpotifyライフを充実させよう【node.js】

#はじめに __あなたの人生を変えたWebサービスを教えてください__ と問われたらこの三つを答えます。 メルカリ Twitter ###__そして[Spotify](https://www.spotify.com/jp/)です。__ #Spotifyとは ![Spotify_Logo_RGB_Green.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/01e379cb-4554-b222-b78a-19ad667ea385.png) スウェーデン発のサブスクリプション型音楽ストリーミングサービスです。 有料会員数1億800万人、配信曲5000万曲以上、無料〜1480円のプランが用意されていています。 ランニングやジムなど運動中のBGMにしたり、近所の肉のハナマサ(髭男率高め) でかかっていた印象的な曲を調べたり、レコメンドででた曲が良かったのでライブに足を運んだり、学生時代にCDで聴いていた曲を見つけて胸が熱くなったり、 __私の音楽生活を一つ上のステージに連れて行ってくれた素敵なサ
元記事を表示

TypeScriptを始めよう ~ すぐにできる実行環境構築 ~

## TypeScriptとは? **TypeScript**とは、マイクロソフトによって開発された、JavaScripで**型定義**を可能にできるように拡張した言語(**AltJS**)です。 AltJS、つまりJavaScriptの代替言語であり、コンパイル時にJavaScriptに変換されます。そして、互換性を持つスーパーセットであるため、JavaScriptと同様の記法が使えます。そのためJavaScriptの知識があればTypeScriptの学習コストはそこまで高くなく、スムーズに理解することができるでしょう。 また、TypeScriptは**漸進的型付き言語**(gradually typed language)であるので、プログラム内の全ての型を指定する必要はありません。これは既存のJavaScriptコードをTypeScriptに以降する際に非常に役に立ちますが、基本的には全ての型の指定をすることをおすすめします。 ## 開発環境を整えよう TypeScriptを試すために、まず開発環境を最低限整えましょう。 プラウザで手軽に試したい人は、こちらを使ってみ
元記事を表示

【初心者でもできる】仕事が忙しくても、赤ちゃんの熱中症の危機にすぐに気づけるIoTをつくった

#はじめに 少し前に、2才のこどもを保育園に送り忘れ、 かつ、車の中に放置してしまい、亡くなってしまう 痛ましい事件が起きました。 本当に悲しい出来事であり、あってはならないことですが、 人ごとではないような気がしました。 何かに集中してしまって、 つい何かやるべきことが抜け落ちてしまうことはある人も多いのではないでしょうか。 今回は、それと類似のシーンとして、 「仕事が忙しく、赤ちゃんの部屋が高温になっていることに気づけなかった」ということがないように、高温になればアラートが出て、気づける仕組みをIoTを使って、できないかとチャレンジしました。 #作りたいイメージ 温度センサーによって、常に部屋の温度を監視し、 赤ちゃんにとって快適な温度(26-28度らしい)から外れた時に、 自動でLINEに通知がくるもの。 さらに、LINEの通知に気づかない可能性があるので、 音やLEDの光でアラートを出す。 その2つの仕組みがあれば、仕事に集中していても気づくことができ、 すぐにエアコンをつけにいくことができるはずです。 #実際につくった仕組み 自動でLINEに通知
元記事を表示

【JavaScript】ライブラリ化しておく便利な3つの自作共通関数を記録

## 前提 – *※記載の共通関数は、各環境によって動作しない場合がある。 →ES2015からES2019で利用できるメソッドも利用しているため* ## 1. chunk – **指定の数に応じて、対象配列を分割する関数** ### コード “`javascript:lib.js const chunk = (arr = [], size = 3) => { return Array.from({ length: Math.ceil(arr.length / size) }, (v, k) => arr.slice(k * size, k * size + size)) } “` ### 使い方 “`javascript:index.js import { chunk } from ‘./lib.js’ // 対象配列定義 const target = [1,2,3,4,5,6]; // 利用 : chunk(対象配列, 分割サイズ) console.log(chunk(target,2)); console.log(chunk(target,4));
元記事を表示

dreddで認証付きのAPIをテストする

しばらく書いてなかったけどメモ程度に # dreddとは [dredd](https://dredd.org/en/latest/index.html)は[openapi(swagger)](https://swagger.io/)や[API Blueprint](https://apiblueprint.org/)の定義を読み込んでテストを実行してくれる便利なツールです。 例えば `localhost:8080` でAPIサーバを動かして “`sh dredd openapi/schema.yaml http://localhost:8080/v1/ “` のようにすればschema.yamlに定義されたAPIの定義に従ってリクエストを送り、レスポンスが仕様に従っているかテストしてくれます。 が、ログインしてtokenを貰ってそのtokenでアクセスするというようなAPIはそのままではテストできません。 [hooks](https://dredd.org/en/latest/hooks/index.html)という仕組みを使うと、レスポンスからtokenを取得して以後は
元記事を表示

【初心者向け】Node.jsとは?を初心者ながらまとめてみた

# 1.はじめに 最近Node.jsを使って開発を始めました。 ただ、現状「とりあえず触ってみている状態」なので、今回はNode.jsとはそもそもなんたるものかということと特徴について勉強し、自分なりの解釈でアウトプットしてみます。 # 2.Node.jsとは Node.jsの[公式サイト](https://nodejs.org/ja/about/)によると _*非同期型のイベント駆動の JavaScript 環境*_ と書かれています。 「非同期」と「イベント駆動型」と「JavaScript 環境」を一つずつ噛み砕いていきます。 ## 2.1. 非同期型とは 非同期型とは、非同期処理が実行可能な環境であることを指しています。 非同期処理とは、「ある処理を実行している間に別の処理を実行できる方式」のことです。(もちろん同期処理もできます) 言葉だけではイメージが掴みづらいので、以下図示(図2.1.1)してみました。 左側が同期処理、右側が非同期処理のイメージです。 ご覧の通り、同期処理では、処理Bが実行している間は処理Aが停止して、処理Bが終わると処理Aが再開されます
元記事を表示

Lambda(node.js)とJavaScriptのタイムゾーン

Lambda(node.js)で日付の計算をしたら思ったより面倒だったのでまとめる。 # やりたかったこと 日本標準時(JST)で先週/先月の範囲を、世界標準時(UTC)で取得したい。 例えば、今日が 2020-07-29 とすると先週の範囲は日曜日始まりでこんな感じ。 | タイムゾーン | 開始 | 終了 | |:-:|:–|:–| | JST | 2020-07-19T00:00:00+0900 | 2020-07-26T00:00:00+0900 | | UTC | 2020-07-18T15:00:00Z | 2020-07-25T15:00:00Z | # やりたくなかったこと 大した処理じゃないので余計なライブラリは使いたくない。 # 結論 – タイムゾーンの設定はそのままにプログラム内で対応する – タイムゾーンオフセット値からJSTを自力で設定する – UTCへの変換も自力でやる # それぞれのタイムゾーン ## Lambdaのタイムゾーン UTCに固定されている模様。 ググるとTZ環境変数を設定すればいいという記事が大量にヒットする。 ただ、
元記事を表示

Node 12 以降の環境で Gulp 3系を動かす

Gulp 3系がサポートされなくなってから結構たちましたが、3系環境の案件を保守する事例はまだ少なくないです。ただ、 Node 12 以降では正常に動作しないので、ほとんどの場合エラーになるかと思います。 なので単純にマシンに Node 11 を入れ直せば一応は動くんですが、代わりに最近の NPM が動かなくなってしまいます。(案件ごとに Node を都度入れ直さないといけない感じになってしまいます。) ## バージョンを切り替えられるようにする Node を都度入れ直すのはかなり手間だし複数案件やってるとき作業止まってしまうので、自分は Node バージョンを切り替える様にしています。ちなみに以前は [n](https://www.npmjs.com/package/n) を使用していたんですが、Catarina から $PATH env がおかしくなって Node 自体が使い物にならなくなりました。 ※ `/usr/local/bin/n` のシンボリックリンクと、 `/usr/local/lib/node_modules/n/bin/n` を削除して対処するはめになりました。
元記事を表示

Node.jsのDockerイメージのマルチコア対応をがんばってみた

いろいろ頑張ってみたものの、Docker本家とかその他の情報によると、Dockerfile内部でマルチコア対応は頑張らない方が良いらしい。せっかくがんばったので供養のためにまとめておきます。 * [DockerでNode.jsアプリをイイ感じに保つ4つの方法 #docker](https://www.creationline.com/lab/29422) * [nodejs.org: Dockerizing a Node.js web app](https://nodejs.org/en/docs/guides/nodejs-docker-webapp/) * [Docker and Node.js Best Practices](https://github.com/nodejs/docker-node/blob/master/docs/BestPractices.md#cmd) # マルチコア対応したい! Node.jsはシングルコアで動くのでマルチコア対応したいですよね?コア数が生かせないのはかっこ悪いですよね?サーバーにそのままデプロイする場合はpm2とかのプロセスマネー
元記事を表示

【はじめてのIoT】サイリウムを自動的に光らせてみた【ラブライブ】

#はじめに  「推しが複数いるとき、どの色にすればいいか悩む・・・」  「サイリウムで盛り上げたいけど、もっとライブに集中したい」  「夢中になりすぎて、サイリウムの色を変えるのを忘れてしまう」 ライブに行った時、このように思ったことはありませんか? __私はあります。__ 私はラブライバーなのですが、箱推し(みんな好き)です。 なので全色光らせたいけど、持つのは2本が限界だし・・・ 「次はオレンジだ!」とか考えてるとライブに集中できなかったり・・・ ということで、今回は__自動的に光るサイリウム__を作ってみました! #理想イメージ ライブと言っても、今はコロナの影響もあって、無観客ライブが増えてきました。 今回もYoutubeのライブをイメージして、曲が始まるとサイリウムが自動的に光ることをゴールにします! [![Image from Gyazo](https://i.gyazo.com/d5111f46d64d7f1ff2613dfa29822187.png)](https://gyazo.com/d5111f46d64d7f1ff2613dfa29822187) Y
元記事を表示

好きなキー好きなBPMでパプれるスピーカーをline botとobnizで作ってみた

#はじめに 好きな曲とか聞いていて「__あーこれ音域低めだし歌えるんじゃね?ヨユウッショ__」って思ってカラオケ行ったら全然音域足らなかったみたいな経験ありませんか? 僕はかの有名な__パプリカ__で実際ありました、裏切られた気分になりますよね。 原曲キーで歌わないにしても、どれぐらいのキーが程よいのか分かりませんよね。 そこで、自宅でも自由にパプってあらかじめ自分にあったキーを探しておけるスピーカーをobnizとline botで作ってみました。 コードはGistに載せてあるので、是非コピーしてハンズオンして__エビバディパプろうぜ!__ (Gist: https://gist.github.com/canonno/2209c7d68870b99d256cb4bac110b37d) #完成デモ ##メロディの送信 obnizの圧電スピーカは周波数を引数として関数を実行する必要がありますメンドクサイィィィ ということで、lineから「ドレミ」のような身近な表記でobnizに音を送信できるようにしました。 ピアノの白鍵が「ドレミ」、オクターブは数字を付けて「ド1レ1ミ1」、
元記事を表示

【obniz×LINE Messaging API】音と光を使い侵入防止システムを製作する

#目的 私の実家では、夏場に玄関を開放し風通しを良くしていると、野良猫が侵入し、食べ物が被害にあいます、そこで今回はobnizで侵入防止システムを製作したいと思います。(効果は保証できません) #できたもの 距離センサーの50㎝以内に入り5秒経過したら、LEDとスピーカーで警告し、システムが作動したことをLINE Messaging APIを使用してプッシュ通知します。映像ではわかりませんが、スピーカーから11khzの音を鳴らしてます。

OTHERカテゴリの最新記事