JavaScript関連のことを調べてみた2022年05月19日

JavaScript関連のことを調べてみた2022年05月19日

[Node.js] Expressサーバーのタイムアウト時間を変更する

# デフォルト

Expressでは、リクエストのタイムアウトデフォルト値が**2分**に設定されています。

# タイムアウト時間を設定

以下のように、オプションとして`timeout`が用意されています。そちらの値をミリ秒で指定することで、タイムアウト時間を変更することができます。

“`app.js
const express = require(“express”)
const app = express()

const appServer = app.listen(80, () => { })
appServer.timeout = 1000 * 60 * 5 // 5min
“`

# 参考

※2022/5/19追記:見れなくなっちゃってますね
[Node.js サーバーのタイムアウトの時間を変更する](http://backham.me/blog/2019/10/24/node-js-%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82

元記事を表示

初めてのブックマークレット

## 概要
前々からブックマークレットの自作には興味があったので、今回は重い腰を上げて簡単なプログラムを書いてみました。(都内SE1年目)

## 使用方法
1.ブラウザーでブックマークを追加し、URL 欄に下記コードをペースト(名前は任意)
2.任意のページを開き、保存したブックマークを選択

成功すると alert表示と共にフォルダーパスの文字列をクリップボードにコピーします

“`javascript
javascript:
let text = location.href;
navigator.clipboard.writeText(text);
alert(“Copied !\n–\n” + text);
“`

## ブックマークレットの第一歩
ブックマークレットはJavascriptで書かれたプログラムです。
なのでその先頭に“`javascript:“`を明記しなければ機能しません。(明記していなければそもそもブックマークに登録できない)

#### HelloWorld
“`javascript
javascript:alert(“Hello World”

元記事を表示

RxJSのオペレーターの動きをデモアプリを自作して確認してみた

## 以下の記事を参照して頂ければと思います

https://note.com/shift_tech/n/n7643a684e947

**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です。**

## 補足
以下で少し上記の記事内の「おまけ」に掲載していた[コード](https://note.com/shift_tech/n/n7643a684e947#%E3%83%87%E3%83%A2%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)について補足をする。

#### “this.stream$ = this.stream.asObservable();”に関して
まず、SubjectはObservableでもありObserverでもあると言われる(以下、[公式](https://rxjs.dev/guide/subject)からの引用)。

> Ev

元記事を表示

TypeError: Cannot read properties of undefined (reading ‘byteLength’) AWS SDK for JavaScript v3で少しハマった話

## はじめに
ローカルではAWS CLIのconfig設定([設定の基本](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html)を参照)をしていたので問題にならなかったが、CIでテスト実行しようとした時に、SDKのクライアントのコンストラクタでクレデンシャルを設定しようとしてハマったので、気を付けたいポイントについて備忘録を残す。

※以下ではCI上でSDKのクライアントのインスタンスをmock化しないで利用しているが、CI環境でテストするのにそもそもSDKをそのまま動かしているのはおかしいのでは…?という突っ込みが当然あると思う。結合でテストしたい場面ではないのであれば、単体テストとして実装するので本来はmockにすべきだが、今回は敢えてmockにしないとどういう事が起きるのか?mockにしないでテスト=単体テストではなく結合テストをCI環境で簡単に実行できるのか?を検証してみたかったので、モックではなく、SDKをそのまま使うという事をした。

## 結論 どうすれ

元記事を表示

REST API Design Best Practices を用いたAPI開発 #2 (APIのVersion管理)

本記事は[REST API Design Best Practices を用いたAPI開発 #1](https://qiita.com/ryumura/items/9ee28d43ec27edc36e2e)の続きです。

## 動機
[REST API Design Best Practices を用いたAPI開発 #1](https://qiita.com/ryumura/items/9ee28d43ec27edc36e2e)と同様、以下の記事をFollowしながら手を動かすことで、少しでも昨今の流れ・感覚をCatch Upをすること、また自分自身のメモとして残すことを目的として記事に起こす。

https://www.freecodecamp.org/news/rest-api-design-best-practices-build-a-rest-api/

## 本記事で実施すること
* APIのVersion管理
* URLを用いたVersion管理の実装
* サーバの起動とアクセス確認

## 環境
[REST API Design Best Practices を用い

元記事を表示

Javascriptでクリックでclassを変更

## 方法
[参考記事](https://www.delftstack.com/ja/howto/javascript/javascript-toggle-class/)

“`javascript






Document

クリックするとスタイルが変わります。

元記事を表示

JS/TSでバイナリ⇔BASE64はライブラリを使わなくても簡単に出来る

JS/TSは、バイナリデータをBASE64エンコードするビルトイン機能が無いため、大人しくライブラリを使うか自前でロジックを用意する必要がありました。

結局はライブラリを使用する場合が多いのですが、機密性の高いデータを扱う場面もあるため、ブラックボックスになるのも精神衛生的に良くないなぁと、ずっと思っていました。

とはいえ、アルファベットテーブルを拵えて6ビット区切になるようビットシフトして文字列加算して…を毎回用意するのも気が引けていました。

しかしある時「実はビルトイン機能を組み合わせるだけで簡単に出来るのでは?」と単純な思い付きで書いたコードがすんなり動いてしまったので、本当に大丈夫なのか有識者の意見も欲しく、こうして記事にしてみました。

# 本体コード
“`ts
function base64encode(data:Uint8Array){
return btoa([…data].map(n => String.fromCharCode(n)).join(“”));
}

function base64decode(data:string){

元記事を表示

FineReportによく使われるJavascript

# ハイパーリンク
## ポップアップで画面を表示する方法
### 一般
“`
//テンプレートパス(必要に応じて設定します)
var url = encodeURI(encodeURI(“/webroot/decision/view/report?viewlet=GettingStarted.cpt”));
//Iframeウィンドウ定義
var $iframe = $(“