- 1. Node.js Ⅱ
- 2. Eclipse 2020-06 で、“Node.js version could not be determined” と言われる件
- 3. json-serverでstaticを指定してもプレビューのページを表示する
- 4. Serverless Framework でエラーを検知して Webhook で Slack に通知を飛ばす方法
- 5. 【第2回】「みんなのポートフォリオまとめサイト」を作ります~REST API編~ 【Cover】成果物URL: https://minna.itsumen.com
- 6. Static Web Appsでは現状TimerTriggerは使えないっぽい
- 7. SAP Cloud Platform 上で WebSocket を使ってみた
- 8. Node.jsⅠ
- 9. ytdlでYoutubeダウンロード+Macでファイル変換&編集
- 10. 【JS】Node.js と GoogleSpreadsheet で業務効率化
- 11. OSがCatalina以降の環境構築
- 12. Node.js C++ アドオンの開発 (作業メモ)
- 13. Node + OpenAPI + ReDocでおしゃれなAPI開発環境を作る
- 14. webpackをかんたんに使う(Zero Configulation)
- 15. Vue 3.0とgRPCを使ってTodoListを作ってみた
- 16. Visual Studioのコードと同じDockerを使ってNode.jsアプリを開発する
- 17. Azure Static Web AppsのAPI作成でLINE BOTを作る
- 18. 【SRE/JS】Cloud Run 周りの基礎
- 19. 息子の可愛さを普及するために、AWS + LINEでBotを作った話〜形態素解析導入編〜
- 20. JavaScriptでJSONファイルを同ディレクトリ上に生成する
Node.js Ⅱ
◆MySQLに接続しよう
const mysql = require(‘mysql’); →mysqlパッケージを読み込み
const connection = mysql.createConnection({
//データベース名、パスワード
});◆クエリの実行
connection.query(‘クエリ’, クエリ実行後の処理)と書くことで、
Node.jsからデータベースに対してクエリを実行することができます。例)
connection.query(
‘SELECT*FROM items’, →クエリ
()=> {
クエリ後の実行処理
}
);![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635497/92ff9783-cee9-a1df-c8bc-46d5aa7d79ff.png)
例)実行後の処理
connection.query(
‘SELECT*FROM items’, →クエリ
(error,result)=> {
console.log(resu
Eclipse 2020-06 で、“Node.js version could not be determined” と言われる件
# Eclipse 2020-06 で、“Node.js version could not be determined”
対象バージョンのnodeはインストールして、パスも通っているのに、eclipse起動時に下記の画像のメッセージが出る# Eclipseのバージョン
Eclipse IDE for Enterprise Java Developers (includes Incubating components)Version: 2020-06 (4.16.0)
# nodeのバージョン
“`
$ node -v
v10.17.0
“`# OS
![スクリーンショット 2020-08-19 10.58.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/44351/86158d91-217a-cae2-97b1-693a05daf9db.png)# メッセージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.
json-serverでstaticを指定してもプレビューのページを表示する
## json-server
わたしは自分のことをxRアプリエンジニアだと思っていたのですが、最近はいろんなサーバをいっぱい立てています。
そのうちのモックサーバなんてjsonを返せればいいので[json-server](https://github.com/typicode/json-server)を使いました。> Get a full fake REST API with zero coding in less than 30 seconds (seriously)
が嘘じゃないすごいやつです。
あと、たのしい顔文字がいっぱい出力されます。## `–static`の罠
![2020-08-08 02.02.01 localhost 65269d951fd9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146245/69386e82-39ff-5445-5b3b-e32ce7ba552e.png)
[http://localhost:3000](http://localhost:30
Serverless Framework でエラーを検知して Webhook で Slack に通知を飛ばす方法
#はじめに
AppSync の Lambda リゾルバを書く際に [Serverless Framework](https://www.serverless.com/) を使用したのですが、
デプロイ後のバグ調査の際、毎回ブラウザから AWS Console を開いて該当 Lambda の CloudWatch のログを見に行くのが面倒でした。。 :upside_down:そのため、エラーレポートの仕組みが欲しくなり、Lambda のエラーを Slack に通知する仕組みを Serverless Framework で実装する方法について調査したので、備忘録も兼ねて記事にまとめました :writing_hand:
#動作環境
– [Serverless Framework](https://www.npmjs.com/package/serverless/v/1.78.1) 1.78.1
– Node.js 12.18.1
– [Slack Incoming Webhooks](https://www.npmjs.com/package/@slack/webhook/v
【第2回】「みんなのポートフォリオまとめサイト」を作ります~REST API編~ 【Cover】成果物URL: https://minna.itsumen.com
ワイ 「この記事のカバーです」
https://qiita.com/kiwatchi1991/items/58b53c5b4ddf8d6a7053## バックナンバー
[【第1回】「みんなのポートフォリオまとめサイト」を作ります~プロトタイプ作成編~][1]
[1]:https://qiita.com/yuzuru2/items/045678d3c580028c1d4f## 成果物
https://minna.itsumen.com## リポジトリ
### フロントエンド
https://github.com/yuzuru2/minna_frontend### バックエンド
https://github.com/yuzuru2/minna_backend## コレクション定義(テーブル定義)
ワイ 「今回は**NoSQL**の**MongoDB**を使ってます」
ワイ 「コレクションとは**RDB**でいう**テーブル**的なやつです」| RDB | MongoDB |
| —- | —- |
| スキーマ | データベース |
|
Static Web Appsでは現状TimerTriggerは使えないっぽい
[Azure Functions のタイマー トリガー](https://docs.microsoft.com/ja-jp/azure/azure-functions/functions-bindings-timer?tabs=javascript)を使ってStatic Web Appsに紐づいたAPIプログラムもタイマー実行できないかと思いましたがどうやらできないっぽいのでメモ。
ビルドでこんなコケかたします。
“`
Error in processing api build artifacts: the file ‘myTimer/function.json’ has specified an invalid trigger of type ‘timerTrigger’ and direction ‘in’. Currently, only httpTriggers are supported. Visit https://github.com/Azure/azure-functions-host/wiki/function.json for more informatio
SAP Cloud Platform 上で WebSocket を使ってみた
# はじめに
この記事は [chillSAP 夏の自由研究2020](https://note.com/chillsap/n/n66e12ef65d11?fbclid=IwAR3REd19CLNDvQHZDNjQaE_2Cki4bqGln4pVk7UJjHYEq39yUtF_5Xch1BQ) の記事として執筆しています今回は、 SAPUI5 の API Reference を眺めていると WebSocket( [sap.ui.core.ws.WebSocket](https://sapui5.hana.ondemand.com/#/api/sap.ui.core.ws.WebSocket) )のライブラリを発見したので試してみました。
## WebSocket とは?
>WebSocket(ウェブソケット)は、コンピュータネットワーク用の通信規格の1つである。ウェブアプリケーションにおいて、双方向通信を実現するための技術規格である。2011年にRFC 6455として>最初の標準仕様が定義された。[転載:WebSocket – Wikipedia](https://ja.wi
Node.jsⅠ
◆Expressを導入する
$ npm install express →入力してenter
nodejs_lesson@1.0.0/home/..
express@4.17.1 →入力結果◆インストールしたExpressを利用する
const express = require(‘express’) ;
const app = express();◆listenメソッド
app.listen(3000);
『ターミナル』
$ node.app.js →app.jsをターミナルを実行する
ファイルを実行するには「node ファイル名」とします。◆ルーティング
app.get(‘/top’, (req,res) => {
トップ画面を表示する処理
});![キャプチャ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/635497/d17d86cf-226e-33af-9541-b7a1626e02bb.png)
ルーティングの処理でres.renderと書くことで、指定したビュ
ytdlでYoutubeダウンロード+Macでファイル変換&編集
もう、無限に広告がポップしてくる詐欺ソフトに悩まされることはありません。
我々エンジニアはプログラミングとCUIという頼れる味方がいます。## この記事を読むと
– ターミナルから簡単&爆速にYoutubeから動画をダウンロードできます。
– ファイル形式の変換と時間指定の切り抜きのお勧め方法もカバー## 環境
– Macbook Pro 2017 13インチ
– MacOS Catalina ヴァージョン10.15.6## やり方比較
### 没案1.Youtube Premium
最も簡単にYoutubeの動画をオフラインで利用する方法はYoutube Premiumに登録することです。料金も月1000円程度と破格。
しかしなんでYoutube Premiumではダメなのかというと、PCのローカルに落とせないからです。例えば、私の場合は英語音声のみで字幕無しの動画に対して、Amazon Transcribeを利用して文字起こしや翻訳を行うのがそもそもの動機でした。また、スマホアプリ上でしかオフライン利用できません。
やはり普通のファイルとしてローカルに落とすのが
【JS】Node.js と GoogleSpreadsheet で業務効率化
`google-spreadsheet` というパッケージを使用し、スプレッドシートへの書き込みの実装をしたので、その備忘録です。
[google-spreadsheet – npm](https://www.npmjs.com/package/google-spreadsheet)下記の記事をみておけばほぼわかります。
[【Node.js】 Googleスプレッドシートを簡易データベースとして使う – 一日一膳(当社比)](https://sonnamonyaro.hatenablog.com/entry/2020/03/01/222650)
[GoogleスプレッドシートからNode.jsでシフトデータを読み出す方法 – Twilio](https://www.twilio.com/blog/load-data-from-google-spreadsheet-jp)## 準備
### APIの有効化 & 認証
1. GoogleSpreadsheet API 有効化
2. サービスアカウントを発行
3. スプレッドシートに 作成したサービスアカウントを招待(メールアドレス
OSがCatalina以降の環境構築
##Command Line Toolsを用意
Command Line ToolsはWebアプリケーション開発に必要なソフトウェアをダウンロードするために必要な機能です。ターミナルからCommand Line Toolsをインストール
“`ruby:ターミナル
$ xcode-select –install
“`
出てくるポップアップには「インストール」→「同意する」→「完了」の順にクリック。##Homebrewを用意
Homebrewというソフトウェア管理ツールを導入します。“`ruby:ターミナル
$ cd # ホームディレクトリに移動
$ pwd # ホームディレクトリにいるかどうか確認
$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” # コマンドを実行
“`※処理に時間がかかる可能性のある操作
処理が進んでいくと、「press RETURN to continue or any other key to a
Node.js C++ アドオンの開発 (作業メモ)
# この記事について
サンプルレベルの Node.js アドオンを C++ で書いてみた際の作業メモです。内容:
– ソースは [node-addon-examples](https://github.com/nodejs/node-addon-examples) をベースにしてます
– 足し算をする add という関数を JavaScript 側に見せる `2_function_arguments` にちょっと手を入れた程度です# Node.js アドオンとは
[C++ addons](https://nodejs.org/api/addons.html#addons_c_addons) の説明が分かりやすいので引用。
> Addons are dynamically-linked shared objects written in C++. The require() function can load addons as ordinary Node.js modules. Addons provide an interface between JavaScript a
Node + OpenAPI + ReDocでおしゃれなAPI開発環境を作る
# はじめに
こんにちは。夜に見てくれている方は、こんばんは。
どうも @little555 です。
夏季休暇なうでヒャッハー!しております。この記事は株式会社富士通システムズウェブテクノロジーが企画する[いのべこ夏休みアドベントカレンダー 2020](https://qiita.com/jugemsan/items/5761773308fb1df0c23a)の20日目の記事です。
※毎回参加させていただき感謝の限りです。ありがとうございます!!とりあえず本題に入る前に大切な**お約束**です。
`本記事の掲載内容は私自身の見解であり、所属する組織を代表するものではありません。`# 背景
API作りたいけど、管理とか横展開がめんどくさいなぁ。
横展開用のドキュメントとか作りたくないなぁ。。。
いい感じに開発に組み込めないかなぁ。。。そんな人が対象読者です。
そんなときはOpenAPI(Swagger)です。
YamlやJson形式でAPIの仕様を下記のような感じで定義できます。
webpackをかんたんに使う(Zero Configulation)[5年前の記事](https://qiita.com/hashrock/items/15f4a4961183cfbb2658)のメンテを行っていたんですが、流石にBrowserifyは実務で使う可能性は低いよなあとは思います。
Browserifyの単純さも初心者にはとっつきやすいのですが、今の主流はwebpackです。
webpack入門記事はたくさんあるはずですが、設定ファイルの各パラメータの羅列だったり、BabelやReact, TypeScriptの設定まで一気に済ませてしまうような記事は初心者には難しいかもしれないですね。というわけで、Node.jsは3日前にはじめました、みたいな人向けに書いてみようと思います。
# 初心者なのでwebpackだけを使ってみたいんだけど
今どきだと初心者はReactならcreate-react-app、VueならVue CLIを使って入門するんじゃないかと思います。これらはwebpackの設定を代わりに済ませてくれる便利なツールで、難しいことを知らなくて済みます。
ただ、何も理解しないままにWebアプリが作れてしまうので、一つ一つ理
Vue 3.0とgRPCを使ってTodoListを作ってみた
# gRPCとは?
gRPCはオープンソース、RPCフレームワークをベースとして、最初はGoogleが開発されました。
インターフェース記述言語としてProtocol Buffersを使用し、protobufは構造化データをシリアル化するためのメカニズムです。
protoファイルでサービスとそのデータ構造を定義するだけで、gRPCがさまざまな言語でプラットフォームのクライアントとサーバーのStubsを自動的に生成します。
profobufを使用すると、JSONではなくバイナリを使用して資料を転送しています。
これにより、gRPCがはるかに高速で信頼性の高いものになります。
gRPCの他の主要な機能のいくつかは、双方向ストリーミングとフロー制御、BlockingまたはNonBlockingバインディング、および認証機能です。
gRPCはHTTP/2を使用して、シングルTCPコネクションの中で複数のストリームを開始することができます。
gRPCの詳細については、こちらをご覧ください:https://grpc.io/# gRPC V.S. REST
| Feature
Visual Studioのコードと同じDockerを使ってNode.jsアプリを開発する
このガイドでは、Ubuntu Linuxデスクトップ上でVisual Studio Codeを使って**Node.js**アプリを開発し、**Alibaba Cloud**上で**Docker**を使って同じアプリをデプロイしていきます。
*本ブログは英語版からの翻訳です。オリジナルは[こちら](https://www.alibabacloud.com/blog/developing-node-js-apps-using-visual-studio-code-with-docker-on-simple-application-server_595352)からご確認いただけます。一部機械翻訳を使用しております。翻訳の間違いがありましたら、ご指摘いただけると幸いです。*
#よくある質問
####Node.jsとは?
Node.jsはオープンソースでクロスプラットフォームなJavaScriptのランタイム環境で、サーバー上でJavaScriptを実行することができます。####Express とは?
Expressは、最小限で柔軟性の高いNode.jsのWebアプリケーションフレーム
Azure Static Web AppsのAPI作成でLINE BOTを作る
前に書いた記事でAzure Static Web Appsを簡単に試してみましたが、後半の手順でAPIの作成も出来ました。
> 参考: [たぶん10分で試せる。Azure Static Web AppsにWebサイトをデプロイして独自ドメイン設定とFunctionsでAPI公開まで](https://qiita.com/n0bisuke/items/1e12d8abb76d40a83fea)
今回はこれを使ってLINE BOTを作ってみようと思います。
ちなみにStatic Web AppsのAPIの中身はAzure Functionsになる模様です。
> 参考: [Azure Functions による Azure Static Web Apps プレビューでの API のサポート](https://docs.microsoft.com/ja-jp/azure/static-web-apps/apis)
## 環境
* macOS Catalina
* Node.js v12系現状だとローカル実行やAzure FunctionsがNode.js v12までしか対応し
【SRE/JS】Cloud Run 周りの基礎
### ローカル
イメージを作ってから、`docker run -p 8080:8080 {Image ID}`
[コンテナ イメージをローカルでテストする \| Cloud Run のドキュメント | Google Cloud](https://cloud.google.com/run/docs/testing/local?hl=ja)### 実装(JS)
> コンテナ ランタイムの契約に記載されているように、コンテナは、Cloud Run によって定義され、PORT 環境変数で指定されているポートで受信リクエストをリッスンする必要があります。
[Cloud Run のトラブルシューティング(フルマネージド) \| Cloud Run のドキュメント | Google Cloud](https://cloud.google.com/run/docs/troubleshooting?hl=ja) より引用リクエストをリッスンすることをお忘れなく。
“`js
const express = require(‘express’);
const app = ex
息子の可愛さを普及するために、AWS + LINEでBotを作った話〜形態素解析導入編〜
我が家の息子が可愛すぎる。
可愛すぎるので、LINE Botを作成し布教したが、少し問題が・・・
# はじめに
[息子の可愛さを普及するために、AWS + LINEでBotを作った話](https://qiita.com/yamachita0109/items/04ecc29504391a332729)の続編となります。元ソースや環境はこちらに記載してあります。
# 問題
こちらをご覧ください。
![Bef.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300430/3c7b4b38-5ace-8fff-b222-d43ddb50dedc.gif)「かわいい」と送信した際には、会話ができているが、「かわいいね」や「超!!かわいい!!!」など、「かわいい」という文字列にアドオンされた場合、該当するメッセージがないと判断され、「〜ってなんでちゅか?」と分からないフリをするかわいい。(親バカ)
# 原因
原因となる部分はこちら
“`.js
const body = JSON.parse(e
JavaScriptでJSONファイルを同ディレクトリ上に生成する
結論からいうとnodeを使って生成します。fsモジュールを使います。
「JavaScript JSONファイル 生成」とJavaScriptを使ったキーワードでググったところ某スクールの違う、そうじゃない、な記事やあまり関係のない記事が出てきてしまったため対抗馬としてJavaScriptを前面に押して記事にしました。(結局は他の記事と同じようにnodeを使いますが)特に初学者は「ググっても出てこないじゃないか」、と困っているかと思います。記事の前提をクリアして手を動かしてみてください。
追記:もっと良い書き方あれば教えてもらえるとハッピーになります。
## 【この記事の前提】 nodeをインストールしよう
nodeとはサーバーサイドのJSです。ブラウザ以外のところでもJavaScriptを実行できるよ、という実行環境になります。
nodeとセットで語られるnpmは聞いたことがある人が多いと思いますがnodeで動く様々なモジュールを引っ張ってくるためのパッケージマネージャーです。