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

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

最速で画像を圧縮するAlfred Workflowを作った

# はじめに
PNGやGIFの圧縮は、ブログ記事やGitHubのPull Requestの実行画像貼り付けとかで割とあります。

自分は[TinyPNG](https://tinypng.com/)や[iLoveIMG](https://www.iloveimg.com/ja) を利用していましたが、プラウザを開きファイルをアップロード・圧縮しダウンロードという手順が毎回面倒でした。
なので、[alfred-imagemin](https://github.com/kawamataryo/alfred-imagemin) という**PNG / JPEG / GIFを手軽に圧縮するAlfred Workflow**を作ってみました。
(GIFでも使えるというのが嬉しいポイントです)

この記事ではalfred-imageminの概要と、仕組みを紹介します。

![May-25-2020 06-44-34.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114396/e84ddf06-bf74-76d7-5e

元記事を表示

Node.js: Lambda で MariaDB のデータを削除 (Delete)

フォルダー構造

“`text
$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
“`

“`js:maria_delete/index.js
// —————————————————————
// maria_delete/index.js
//
// Jun/07/2020
//
// —————————————————————
var mysql = require(‘mysql2/promise’)

// —————————————————————
async function main(id_in)
{
console.error(“id_in = ” + id_in)
const host = `${proc

元記事を表示

Node.js: Lambda で MariaDB のデータを更新 (Update)

フォルダー構造

“`text
$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
“`

“`js:maria_update/index.js
#! /usr/bin/node
// —————————————————————
// maria_update/index.js
//
// Jun/07/2020
//
// —————————————————————
var mysql = require(‘mysql2/promise’)

// —————————————————————
function get_current_date_proc ()
{
const today = new Date ()
var

元記事を表示

Node.js: Lambda で MariaDB のデータを読む (Read)

フォルダー構造

“`text
$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
“`

“`js:maria_read/index.js
// —————————————————————
// maria_read/index.js
//
// Jun/08/2020
//
// —————————————————————
‘use strict’

// —————————————————————
async function read01 (mysql,host,user,password,data_base)
{
try {
console.error (“*** read01 *** start ***”)

元記事を表示

Node.js: Lambda で MariaDB のデータを作成 (Create)

フォルダー構造

“`text
$ tree -a
.
├── .env
├── function_update.sh
├── index.js
└── test_local.js
“`

“`js:maria_create/index.js
// —————————————————————
// maria_create/index.js
//
// Jun/07/2020
//
// —————————————————————
var mysql = require(‘mysql2/promise’)
// —————————————————————
function dict_append_proc (dict_aa,id_in,name_in,population_in,date_mod_in)
{
var uni

元記事を表示

[質問]jsで取得したデータをデータベースに保存する方法

###前提・実現したいこと
・自身プログラミング経験が浅いため、お伝えする内容に不備や、漏れがあれば
ご指摘いただいても大丈夫です

###[実現したいこと]
・amazonの商品をスクレイピングで、家電の商品の価格を抽出した情報を
データベースを使用して保存したい

####発生している問題
####[現状]
・ターミナルにて、npm i puppeteer
puppeteerをインストール
・プロジェクトのディレクトリ内に、test.js

amazonのサイトまでは、いきデータは抽出できているかと
思うのですが、その先が、
どう対応すればいいのかわからず、進めることができません。

データベースは、MySQLを予定しております。

該当のソースコード

・test.js

const puppeteer = require(“puppeteer”);

(async () => {
const browser = await puppeteer.launch({
headless: false, // 動作確認するためh

元記事を表示

[Express]DBのデータを利用しつつイベントハンドラの実行、関数の定義・実行をする

# はじめに

所有する技術書を登録(追加)、内容の更新、削除するWebアプリケーションを実装した。

そこから、削除機能について「本当に削除していいですか?」という確認を行うプロセスを追加したかった。

# 作ったのはどんなアプリなの

まだまだ拡張の余地はあるが、現時点での完成形を紹介する。
DBに登録されているデータを表示しているが、それを削除する様子。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549712/34ddf84f-62ce-1848-9772-fce0fd28ffb0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549712/c363bf40-44aa-45c6-fef8-9c9138d8b54d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com

元記事を表示

JavaScript SDK (SQL API)を見てみる (Part.3)

![th.jpeg](https://www.bing.com/th?id=OIP.yovZnkelJ4W3sSoRk-oQtwHaD4&pid=Api&rs=1)

# この記事について

本記事は、2020年3月6日 (米国時間) にて、Azure Cosmos DB に新しく Free Tier (無償利用枠) が登場したことに伴い、改めて Azure Cosmos DB を色々と触っていく試みの 5 回目です。
今回も、[前回記事][PrevLink2] 同様、 Microsoft Azure Cosmos JavaScript SDK について見ていきたいと思います。

– [2020年から始めるAzure Cosmos DB – JavaScript SDK (SQL API)を見てみる (Part.1)][PrevLink1]
– [2020年から始めるAzure Cosmos DB – JavaScript SDK (SQL API)を見てみる (Part.2)][PrevLink2]

# 対象読者

– Azure Cosmos DB について学習したい方
– N

元記事を表示

javascriptのオブジェクトをループさせる

javascriptで結構需要がある処理だと思われるオブジェクトのループについてです。

## オブジェクトは`forEach`できない
`forEach`は配列に対して動作するので

“` js
let obj = {
name: ‘Jhon’,
age: 20,
message: ‘Hello’
}
“`
上記のようなオブジェクトは
`obj.forEach(e => {})`とするとエラーになります。

## どうするか
`Object.keys()`ってのを使います。

“` js
let obj = {
name: ‘Jhon’,
age: 20,
message: ‘Hello’
}

Object.keys(obj).forEach((e) => {
console.log(e)
console.log(obj[e])
})
“`

こうすることで`e`に`name`、`age`、`message`とキーが入ってきます。
なので`obj[e]`としてやれば値が取得できます。
また`forEach`の第二引数を使って

元記事を表示

Ubuntu で Node の最新版を使う

Ubuntu に Node の最新版を入れる方法です。 WSL2 の Ubuntu 20.04 で試しました。

### PPA の追加、nodejs / npm のインストール

[NodeSource Node.js Binary Distributions](https://github.com/nodesource/distributions) のインストール手順に従って、PPAを追加します。
apt-get コマンドで nodejs を入れます。 npm コマンドも入るみたいです。

“`bash
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash –
$ sudo apt-get install -y nodejs
“`

npmモジュールでnative ビルドが必要なケースに備え、あらかじめビルドツールも入れておくと良いでしょう。

“`bash
$ sudo apt-get install -y build-essential
“`

### 確認
シェルを再起動します。

“`
$

元記事を表示

npm installでインストールできるモジュールを作るまでの流れについて

# はじめに

npmでインストール可能なモジュール(パッケージ)のなるべく最小構成の作成方法が中々見つからなかったので、簡単にまとめました。

# 環境
– Node.js 12.16
– npm 6.14

# ファイル構成
npmパッケージには、1つのディレクトリ内にモジュールのソースコードセット、`package.json`、エントリーポイントとなるjsファイル(今回は`index.js`とする)の3種類が必要となる。

今回の例としては、ディレクトリをmodtest、モジュールのソースコードをサブディレクトリlibの配下に2種類(hello.js, hello2.js)、index.jsとします。

– modtest/
– lib/
– hello.js
– hello2.js
– index.js
– package.json

# モジュールの作成

## 1. ディレクトリ作成
空のディレクトリ(今回はmodtest)を作成しておきます。

## 2. package.jsonの作成
空のディレクトリへ移動し

元記事を表示

【2020年6月版】VSCodeでTypeScript + Nodeプロジェクトをデバッグする

## TL;DR
[devinoue/typescript-node-project](https://github.com/devinoue/typescript-node-project)
こちらからご使用ください。

## インストール
### よく使うパッケージのインストール

基本的なパッケージを入れます。

“`shell
yarn add -D ts-node ts-node-dev typescript @types/node
“`

以下のような内容になっています。

| パッケージ名 | 役目 |
| ———— | ———————————————————— |
| ts-node | tscを使ってプリコンパイルなしにTypeScriptを実行するnpmパッケージ。
typescriptコンパイラはバンドルされていないので、別にインストー

元記事を表示

MEANスタックの一歩前。Angular と Express の連携

# 始めに
最近MEANスタックの学習をしており、Angularのチュートリアルにある「Tour of Heroes」を一通りこなしました。
Express サーバも、それ自体は構築できたのですがAngularと連携させようとすると途端に難しかったため、記事にして残しておこうと思います。

「Tour of Heroes」をAngularのサイトからダウンロードする所から始めたいと思います。

# 開発環境
開発環境を統一しておくことは重要だと思います。
私はWindows10でVisual Studio Codeを使用しています。
コマンドはWindowsのコマンドプロンプトから行います。

## Node.js
Node.js は[こちら](https://nodejs.org/ja/)からダウンロードします。
私は V12.16.3 を使用しました。

# Visual Studio Code
エディタは何でも良いのですが、Visual Studio Codeは[こちら](https://azure.microsoft.com/ja-jp/products/visual-stud

元記事を表示

ESLint v7.2.0

前 [v7.1.0](https://qiita.com/mysticatea/items/46c93f13776b24b9d1b9) | 次 (2020-06-20 JST)

ESLint `7.2.0` がリリースされまし

元記事を表示

JavaScriptの勉強

#NODE.JS
これまでPYTHONオンリーでやってきたが、最近はNODE.JSを触り始めている。

NODE.JSについては、周辺のライブラリを組み合わせて
簡単に何でも作ってしまうというのが非常に優れている印象。

PYTHONはFLASK,DJANGOというフレームワークと
PANDAS,AI関連のライブラリがもてはやされているが
node.jsもPYTHONと同じようなところを
目指しているような気がする。

JAVASCRIPTと言えば、これまではWEBのフロント中心であるが、
最近はバックエンドのサーバー側も作れるのであるから、
学習コストは少しは減る
(といっても、PYTHONを新規でやるのと、対して労力は変わらないが)

一点だけ、pythonより優れると思うのは、
ELECTRONでアプリケーションが作れること

これはVS-CODEでも、お馴染みで結構さくさく動かせる
(その根底のデザイン技術は、WEBベースでいいらしい)

そうなってくると、これは完全にマイクロソフトの.NETと
違った世界感になってくる。

もちろんC#や、.NETが使えることは、マイクロソフ

元記事を表示

Slack API×AWS Lambda×Node.jsで作るチャットボット開発

# Slack API×AWS Lambda×Node.jsで作るチャットボット開発

Slack APIをLambdaと組み合わせると、様々なことができます。
「スマホからも操作できるSlackで、Lambda関数を実行できる」というだけで、その応用範囲は多岐にわたります。

今回、SlackとLambdaを使ってチャットボットのサンプルを作る機会があったため、そこで得た知識をまとめ、手順化してみました。
この内容を理解することで、以下のようなことができます。

– Slackのワークスペースにボットを配置する。
– ボットにDMを送ると、AWSのLambda関数を実行するように設定する。
– Lambda関数の処理で、Slackのワークスペースにメッセージを投稿する。

細かく手順を作ったので、初心者も手を付けやすいと思います。
ぜひここで基礎部分を学んでから、自分のやりたいことに応じて調べてみてください。

第9節までありますが、基礎の部分は4節までですし、アカウント作成などが無ければ1章あたり20分くらいでできると思います。

# 目次

– [概要](#概要)
– [シス

元記事を表示

Nodeのバージョンを12に上げたら`Cannot find module ‘@babel/compat-data/corejs3-shipped-proposals’`というエラーが出て困った

Nodeのバージョンを12に上げた際、`Cannot find module ‘@babel/compat-data/corejs3-shipped-proposals’`というエラーが出たので解決法をメモ

結論

@babel/coreと@babel/preset-envのバージョンを以下に指定したら解消された。

“@babel/core”: “^7.9.0”,
“@babel/preset-env”: “^7.9.0”,

参考にしたリンク
https://github.com/storybookjs/storybook/issues/10477

元記事を表示

iOSネイティブアプリでalgoliaを使ってみる

#なぜalgolia?
アプリなら大体ついてる機能、「キーワード検索」。アプリ側にデータを持たせてfilterやsortを使うのは、めちゃめちゃスペックが落ちるので絶対に避けたいです。
ネイティブアプリのエンジニアであれば、Firebaseを愛用している方も多いかと思いますが、Firebaseでサポートされていないのがクエリの「全文検索」です。指定したキーワード通りの単一・複数ドキュメントをとってきたり、ソートのクエリを追加したり、indexをふるなどはできますが、全文検索はサポートされていません。そこで、公式ドキュメントが推奨する「algolia」を使って、全文検索機能を補填しようと思います。
スクリーンショット 2020-06-05 13.47.25.png

#作るものイメージ
アプリからFirestore

元記事を表示

AWS LAMBDAでLINE BEACON動かしたいが、どうするの?

AWS LAMBDAでLINE BEACON動かしたいが、どうするの?
誰か教えて〜!!!!

今BOTまで完成し、次はビーコンをやってみようとしてるのだがうまくいかない。。。

LAMBDAの中身はこんな感じです!

どうやったらビーコンってから返事帰ってくるの〜???

‘use strict’

const line = require(‘@line/bot-sdk’)

var event
var context
var callback

exports.handler = (_event, _context, _callback) => {
event = _event
context = _context
callback = _callback
main();
};

var main = function () {
const client = new line.Client({
channelAccessToken: ”
})

// define default response wh

元記事を表示

Node.js の Lambda 関数を ローカルでテストする (その2)

AWS のコンソールから、ダウンロードして解凍した index.js を実行する方法です。

![download_package.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/179446/76c27478-5268-866a-d4a9-87b25557fa1f.png)

フォルダー構造

“`text
$ tree example01/
example01/
├── index.js
└── test_local.js
“`

“`js:index.js
exports.handler = async (event) => {
// TODO implement
console.error(“***** start example01 PM 18:49 ***”)
var rvalue = {}
rvalue[‘key1’] = parseInt(event[‘key1’],10)
rvalue[‘key2’] = parseInt(event[‘k

元記事を表示

OTHERカテゴリの最新記事