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

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

? Microsoft Teams 開発の初心者向けガイド その3: メッセージ・エクステンション

みなさんこんにちは〜。この記事は、Microsoft Teams 開発の初心者向けガイド第3弾になります。前回の2つのチュートリアル ( [タブの開発](https://dev.to/azure/beginners-guide-to-ms-teams-development-1-tabs-4e9k/?WT.mc_id=m365-9174-timura) と [Bot 開発](https://dev.to/azure/beginners-guide-to-ms-teams-development-2-bots-590m/?WT.mc_id=m365-9174-timura))も楽しんでもらえていたらうれしいです。

今回は、Teams UI からのユーザからのアクションで検索結果やメッセージを書き出す方法について説明します。
![3-ext1-cover-1000×420.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/663749/c97928d9-2a4d-2d7f-cc2c-19af73a54b81

元記事を表示

nodeプロジェクトで新規 dependency 追加時に、自動で脆弱性チェックを行う

# 概要
npm (yarn) によるパッケージ管理は非常に楽ですが、ときには脆弱性を含むパッケージを入れてしまうこともあるかもしれません。
CI/CD パイプラインで 脆弱性チェックを行うのも良いかもしれませんが、ローカルで依存パッケージを追加・コミットする前に脆弱性チェックを行い、無駄なコミットが含まれないようにするほうがスマートだと私は思っています。

そこで、 `lint-staged`と`husky`を使って、依存関係を追加した場合のcommitで脆弱性チェック(`audit`)をする設定をします。

# 関連パッケージ等
– yarn (npmでも脆弱性チェックはできますが、ここではyarnを使います)
– lint-staged
– husky

# やったこと(結論)
`husky`と`lint-staged`をdevDependenciesに入れて、`package.json` に以下を追加しましょう。

“`package.json
{
“scripts”: {
“audit:moderate”: “yarn audit –level moderat

元記事を表示

nodeアプリケーションを実行可能ファイルにして出力する

## 結論
こちらを使っていきます
https://github.com/nexe/nexe

Nexe is a command-line utility that compiles your Node.js application into a single executable file.
(NexeはNode.jsアプリケーションを実行可能ファイルにコンパイルするためのコマンドラインツールです。)

## プログラム
せっかくなのでそれっぽくするために、Qiitaの情報をスクレイピングしてくるプログラムを作成します
*chromedriverが入っている必要あり

“` qiita.js
const {Builder, By, Capabilities, Key, until} = require(‘selenium-webdriver’);
const capabilities = Capabilities.chrome()

capabilities.set(‘chromeOptions’, {
args: [
// ‘–headless’,
‘–

元記事を表示

Node.jsについて調べたことまとめ

#Node.jsとは

**サーバーサイドのJavascript実行環境である。**

PHP、Ruby、Python、Java等の言語と同様に、サーバー側で動作するJavaScript。

Google Chromeに搭載されたJSエンジンV8をサーバーで実行できるようにしたというイメージ。

V8の処理は、他のPHP/Perl/Ruby/Pythonなどのスクリプト言語の処理エンジンよりも速い。

# Node.jsでできること

– サーバーサイドアプリケーション
– Webアプリ
– Node.js + Express

– クライアントサイドアプリケーション
– Visual Studio Code
– GitHub Decktop
– Slack

などが利用例である。
Node.js + Electron

– IoT
– Node.js + Raspberry Pi

# Node.jsの特徴
– シングルスレッド

– ノンブロッキングI/O(非同期処理)
– イベントループ

###シングルスレッド
プロ

元記事を表示

GoogleのサービスをPuppeteerで自動操作する方法 – ログイン編

http://makiuchi-d.github.io/2020/12/03/autologin-to-google.ja.html

元記事を表示

AWS CDK で Docker イメージを Lambda にデプロイする

AWS Lambda でコンテナイメージがサポートされました?
https://aws.amazon.com/jp/blogs/aws/new-for-aws-lambda-container-image-support/

また、AWS CDK 1.76.0 で早速サポートされたのでデプロイしてみました。
https://github.com/aws/aws-cdk/releases/tag/v1.76.0

# CDK プロジェクト作成

まずは CDK プロジェクトを作成します。今回は TypeScript で書きます。

“`zsh
mkdir cdk-lambda-container
cd cdk-lambda-container
cdk init –language=typescript
“`

# Lambda Function 作成

作成されたファイルの中にある Stack を編集します。

DockerImageFunction のドキュメントは以下の URL です。
https://docs.aws.amazon.com/cdk/api/latest/do

元記事を表示

【箇条書きで解説】Dockerに入門しよう!!

現在作成しているアプリケーションの開発環境にDockerを導入したものの、いまいち理解が進んでないと感じたので、備忘録も兼ねてこの記事を書きます。

また、具体的な使い方の部分は箇条書きではなく普通に書いています。

## Dockerとは?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/509690/cd089001-d7dc-7505-83a1-3d443f982546.png)

– [Docker inc](https://www.docker.com/company)によって開発されている
– `コンテナ型仮想環境`を開発・配置・実行するためのオープンソースプラットフォーム
– 異なるPCやサーバーであっても、簡単に同じ仮想環境を作成できる
– Go言語で書かれている

### ワンポイント解説
元々は`ホスト型仮想化(VMWare、Virtual Boxなど)`が主流だったそうですが、現在は`コンテナ型仮想化`が主流です。

![image.png](https://qi

元記事を表示

Node.jsアプリのOpenID Connect認証連携

# はじめに
自作のNode.jsアプリをOpenID Connectプロバイダーと連携させて認証機能を実装するためのNode.jsアプリの作り方について説明します。全体の流れは以下の通りです。

1. 前提の確認
2. OpenID Connectプロバイダーへのアプリの登録
3. Node.jsアプリのコーディング

# 前提
この記事での環境の前提は以下の通りです。ただし、なるべく環境依存せず汎用的になるよう記事を書いています。コードの要所部分のみを説明しています。

– Node.js
– この記事では、npmモジュールのpassport-ci-oidcを利用します。
– npmモジュールのexpressやpassportも利用しますが、前提知識の説明を省略いたします。
– OpenID Connectプロバイダー
– OpenID Connectとは何かなど前提知識の説明を省略いたします。
– どのプロバイダーでもアプリの作り方の大まかな流れは変わりませんが、プロバイダーが利用方法を細かくガイドしている場合があります。特にどのnpmモジュールを

元記事を表示

platform.js のparse()に”てきとー”なUserAgentを入れたときの戻り値

“`
// 本来はUserAgentを入れるとこに’てきとー’をいれてみる
console.log(platform.parse(“てきとー”));

// 結果
{
“description”: “てきとー”,
“layout”: null,
“manufacturer”: null,
“name”: null,
“prerelease”: null,
“product”: null,
“ua”: “てきとー”,
“version”: null,
“os”: {
“architecture”: null,
“family”: null,
“version”: null
}
}
“`
platform.js ver1.3.6
https://github.com/bestiejs/platform.js/

元記事を表示

Promise のキャンセルについて

[ [English version](https://qiita.com/martinheidegger/items/3e6355e96e85fc1c841e) ]

JavaScript と Node.js についてのこの徹底した投稿では、[Promises][Promise] のキャンセルの歴史、なぜNode.jsに関係があるのか、そして [async/await][async-await] APIで使おうとしたときに注意すべきことについて学ぶことができます。

この投稿は、JavaScript の `Promise` API をよく理解していて、 `Node.js` の経験がある方のためのものです。

## 歴史

2014 年に [Promise][Promise] API がブラウザに導入されて以来、人々は Promise で他に何ができるかを調べていました。ブラウザに最初に登場した関連APIは、`HTTP` リクエストのための [fetch()][fetch] でした。

`HTTP` リクエストの問題は、サーバーのリソースを消費することであり、サーバーに送信されるリクエ

元記事を表示

【備忘録】自分がフロントエンドで使っているツール

はじめまして、にへーと申します。

私は、フロントエンドエンジニアを経験後に専門学校講師を仕事にしています。

趣味は、コーディング。他の人の書いたソースを眺めていられるそんな人です。

今回、自分自身がフロントエンドを作っていく際に使っているツールをまとめておきます。

## 1.Visual Studio Code
前職で使っていたのですが、とにかく軽い。
Microsoftが開発しているので、TypeScriptとかとも相性がバッチリみたいです。

アカウント連携が結構良くて、複数環境で開発を行っている人にはとても使いやすいと思います。
Windows、Ubuntu、Macを使う人にはもってこいです。

## 2.NeoVim
Vimなどは使ったことがなかったのですが、最近使うように心がけています。
VSCodeなどGUIアプリケーションがない場合にも対応できるよう、現在勉強中です。

プラグインもNeoVimは豊富にあるようなので、これから実験していこうと考えています。

## 3.Google Chrome Developer Tool
エンジニアの人からしたら「あたりまえ!

元記事を表示

Everything about Cancellation of Promises

[ [日本語版 ](https://qiita.com/martinheidegger/items/6e8275d2de88174bc7e6) ]

In this **thorough** post about JavaScript and Node.js you can learn about the history of cancellation of [Promises][Promise]. Why it is relevant to Node.js and what you should be aware of when you try to use it with the [async/await][async-await] API.

This post is for you if you have a good insight into the `JavaScript` Promise API and some experience with `Node.js`.

## History

Ever since the [Promise][Promise] API wa

元記事を表示

空いてる時間を気軽に共有出来るサービスを作ってみた

この記事は[CA21 Advent Calendar 2020](https://adventar.org/calendars/5308)に投稿する予定の記事です。

## 初めに
来年からインフラエンジニア(SRE)として働く予定のしがない学生です > [Twitter](https://twitter.com/_tetsuya28)
アドカレ3日目担当ということで今日はとあるサービスを勉強がてら作ってみたお話をしようと思います
あんまり1つずつの技術の深堀りはしないのでよろしくお願いします

## 空き時間共有サービス
という訳で早速今回作ってみたサービスの紹介から
題名の通りなんですが、ミーティングや遊びなどの色々な場面で日程調整をすることがあると思うんですが、僕はその時間を列挙すると言う作業へのだるさを感じていて以前はGoogleカレンダーと連携して空き時間をリスト化出来るサービスを使っていたのですがどうしてもちゃんとしているサービスが故に僕の目的を果たすのにはToo muchな部分や、逆に足りないなと思う部分がありました
具体的には

– 文字だけでは視認性が悪い

元記事を表示

フロントエンドだけ作ったアプリをGitHubPagesからHerokuに移行する

## abstract

端的に言うと、GitHubPagesに公開している、フロントエンドのみで構成されたアプリケーションをHerokuに移行しました。

※今回のアプリケーションはVue-CLI + webpackのアプリケーションですが、そうでないアプリケーションを移行したい場合でも、基本的な流れは同じだと思います。

### 背景

過去にVue.jsで[ポケモンずかん](https://qiita.com/homusuke/items/8bbf96c750e9a6fcb2d2)を作りました。「ポケモンずかん」はバックエンドの実装をしておらず、フロントエンドのJavaScriptと外部のAPIだけで作ったものになります。「ポケモンずかん」の実装はフロントエンドのみなので、GitHubPagesでの公開が可能です。ですので、GitHubPagesに公開していました。しかし、Herokuを使えばGitHubPagesに頼ることなくデプロイできるようなので移行してみました。

### Heroku とは

Herokuは作成したアプリケーションを簡単にデプロイできるサービスです。He

元記事を表示

フロントエンドプロジェクト向けの開発環境導入

#はじめに

[自分用 技術の振り返り Advent Calendar 2020](https://qiita.com/advent-calendar/2020/my-tech)の1日目、手始めに大好きなフロントエンド開発の業務環境の構築から。
この記事を読む、稀有な方がいて分かりにくいなーと思ったら、リクエストください。出来る限り修正します。

自分用ですが、初学者をターゲットに専門用語をなるべく利用しない、シンプルな記事を投稿していく予定です。
中級, 上級者の方にはあまり向いていないものと思われます。

#目的

業務で利用しているフロントエンドの開発環境導入を振り返る。

Advent Calendar と言うこともあって続き物にしたほうがモチベーションが上がるので、
ここで開発環境の導入からプロジェクトの生成~パッケージ化まで行っていきたい。

#動機

フロントエンド環境でよく利用するツールやライブラリ、パッケージマネージャの導入を
どういった手順で揃えるか、何度も行う作業ではないので記録していく。

#環境
OS: Windows7(そんなに10と変わらんでしょの精神)

元記事を表示

2020 アメリカ大統領選  node-red で調査・予測してみた

![2020-1105.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387051/948d71ca-4a23-c106-a666-01ead48789b2.png)

##要約##
:node-red /sentiment(以降、感情推定モデル)を使って、2020アメリカ大統領選でどちらが当選するか予測(11/3時点)してみました。僅差でトランプ大統領再選と予測しました。全国規模でそのまま調査をしたため、州ごとの傾向を予測することができなかったことが予測が八ズレた原因です。ただ、全国規模の傾向分析や商品のトレンド分析を行う際は、リアルタイムに測定する、感情推定モデルは有効と思われます。

##〔はじめに〕##
1.今回使用した、感情推定モデルの元ソースコード
https://flows.nodered.org/flow/210746ff118272e4f38a073108193049

アメリカ国内では、1分間に500件くらいトランプ大統領に関して、ツイートされています。その全内容を、ポジティブ:分析

元記事を表示

GitHub REST API から Node.js で 特定の organization の issue の一覧を取得する

## コード

古い issue の一覧をチャットに通知するツールを作成しておりまして、その一環として書いたコードです。
組織(ユーザー)名、リポジトリ名はクエリパラメータに設定するなど複数パターンがあるようですが、今回は下記URLでアクセスしました。

– `[GET] https://api.github.com/orgs/{org}/issues`

コードは下記の通りです。

“`typescript
import fetch from ‘isomorphic-unfetch’;
import { Issue, State } from ‘./types/vendor’;

export async function get_issues(
owner: string,
repository: string,
api_token: string,
state: State // `State`の方は`’open’ | ‘closed’ | ‘all’`です。
): Promise {
const response = await fe

元記事を表示

fondesk のメンション機能を Slack Bolt Framework を使っていい感じにした話

# はじめに
この記事は前回取材してもらった記事 [社内部活動でfondeskのカスタマイズ版とSlackチャンネル「TLけいさつ」を作った僕の野望](https://note.com/tambourine_75/n/n2163b752786e) から技術的な要素をもっと細かく書いたものです

# 使用技術
– 言語
– NodeJS
– TypeScript
– FrameWork
– [Slack Bolt for JS](https://github.com/SlackAPI/bolt-js)
– PaaS
– [Goole App Engine a.k.a. GAE](https://cloud.google.com/appengine/?hl=ja&utm_source=google&utm_medium=cpc&utm_campaign=japac-JP-all-ja-dr-bkws-all-super-trial-e-dr-1009137&utm_content=text-ad-none-none-DEV_c-CRE_31471231

元記事を表示

Node.jsとnpmとは?

Nodo.jsは『サーバーサイドのJavaScript』
npm(Node Package Manager)はNode.jsのパッケージを管理するもの。

元記事を表示

パソコン初心者がおうむ返しlinebotを作ってみた話

##はじめに
これは
この記事はこちらの記事を参考してかいています。
詳しくはこちらまでhttps://qiita.com/inoue2002/items/a87df2b520f8b6e37f42
##目次
1 環境構築(必要なものをダウンロード)
>ngrok
node.js
git
VScode

##環境構築(ngrok)
[ngrok](https://ngrok.com/download)をダウンロードします。
 ↑こちらからサイトに飛べます。
![5DC24C03-CAE7-4AE0-999D-3AAC0D000A2A.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/763535/d726b334-f324-fbef-b775-5788fd673c41.png)
下の方にこちらがでてきます。あとは解凍するだけ。![6F4250F8-367F-4386-952D-6A3065A0EAC8_4_5005_c.jpeg](https://qiita-image-store.s3.ap-northe

元記事を表示

OTHERカテゴリの最新記事