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

JavaScript関連のことを調べてみた2022年09月24日
目次

Python,Ruby,PHP,Java,JavaScript,Perlの数値計算の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの数値計算の比較

# Python

https://qiita.com/Sunset_Yuhi/items/fa6e97867ac46a604780

# Ruby

https://qiita.com/u651601f/items/52af880d1569c6c1066f

# PHP

https://qiita.com/mpyw/items/346c535ade9dcf6e1b12

# Java

https://qiita.com/takahirocook/items/748990882f2de7a630a1

# JavaScript

https://qiita.com/daikw/items/663bc0b5a4c025694974

# Perl

https://perlzemi.com/blog/20161

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript ソートによる高速化まとめ

ソートによる高速化まとめ (paizaランク B 相当)

https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_speedup_boss

ポイントは、get(k): 数列 A の中から大きい順で k 番目の値を出力するとき、
元の数列Aを変更しないように`.slice()`でコピーを作り、
`.sort((a, b) => b – a)`で大きい順に並べ替えているところです。

“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数列の要素数 N とクエリの数 Q
const [N, Q] = lines[0].split(” “).map(Number);
//数列 A
const A = lines[1].split(” “).map(Number);

//クエリに答えていく

元記事を表示

setIntervalで指定した時間に文字を表示して音を鳴らす方法

## 秒数を計算し表示させる
setIntervalで指定した時間に文字とHTMLのaudioタグで指定した音声ファイルを使って音を出す方法を紹介します
今回のコードではカウントダウンさせています

“`javascript:timer
//連想配列で指定したい秒数と表示したい文字を記述する
$(function () {
var timer = {
40: “残り40秒です”,
20: “残り20秒です”,
10: “残り10秒です”
};
“`

“`javascript:timer
//60秒からカウントダウンをはじめる
var sec = 60;
“`

“`javascript:timer
var timer1;
timer1 = setInterval(function () {
//secをマイナス1秒させる
sec -= 1;
// Mathでsec÷60(1分=60秒)

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript 座標圧縮

座標圧縮 (paizaランク B 相当)

https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_speedup_step9

JavaScriptで解いてみました。

# 解答例(単純に探索する)

色を塗ったマスが左から何番目かわかりやすいように、Aを昇順にソートする。

数列Xの質問に答えていく時、単純に「数列`A`の中から、`X[i]`を探して、出力する」を繰り返す。時間はかかるが時間内に処理がされる。
“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//N 個のマスに色を塗る, 全部で Q 回行われる質問
const [N, Q] = lines[0].split(” “).map(Number);
//色を塗ったマス番号の数列 A
const A = lines[1].spl

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript Top – k (hard)

Top – k (hard) (paizaランク C 相当)

https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_speedup_step0

JavaScriptで解いてみました。
a の k_i 番目に大きい値を、その都度、数列aの中から探していると時間がかかります。
先に数列`a`を大きい順に並べ替えると、`a` の k_i 番目に大きい値は`a[k_i – 1]`で、一発で求まります。
“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数列の長さを表す整数 n, q
const [n, q] = lines[0].split(” “).map(Number);
//数列 a
const a = lines[1].split(” “).map(Number);
//数列 k

元記事を表示

JavaScriptのArrayについて

# 初めに
今回は配列に関連するメソッドと、配列に**empty slot**を見つけるメソッドをまとめてみました。

https://ja.javascript.info/array-methods

https://jsprimer.net/basic/array/

# Methods
## Add/Remove
### Remove: Array.prototype.pop() & Array.prototype.shift()
`pop()`末尾から取り出す。
`shift()`先頭から取り出す。
(いずれも元の配列を変更する。)
“`jsx
let fruits = [‘Apple’, ‘Orange’, ‘Lemon’, ‘Banana’, ‘Watermelon’];
fruits.pop()
console.log(fruits); // [ ‘Apple’, ‘Orange’, ‘Lemon’, ‘Banana’ ]
console.log(fruits.pop()); // Banana
console.log(fruits); // [ ‘Apple’, ‘O

元記事を表示

JavaScript で本格的なノベルゲームを作ってみる #1

## はじめに

素の JavaScript でノベルゲームを作ってみようと思いたちました。

・ゲームの中では比較的簡単そう
・昔よく遊んでいたのでノスタルジーを感じる
・作りたいゲームの構想があるので、まずはその土台にしたい

といった理由です。
[GitHub も上げておきます](https://github.com/Neru-K/novelgame-javascript)ので、ぜひ「ここが変だよ」「ここはこうした方がいい」などアドバイス頂けたら嬉しいです ✨

## 目次

> [まずは画像を表示させてみる](#まずは画像を表示させてみる)
>[テキストを表示させてみる](#テキストを表示させてみる)
>[次にやること](#次にやること)
>[謝辞](#謝辞)
>[連載一覧](#連載一覧)

## まずは画像を表示させてみる

画像の描画は canvas で作ることにします。
当初、ひとつの canvas に対して背景・キャラクターを表示させようとしたのですが、
描画の順番などに気を使う必要があったりが面倒な気がしたのと、
単純にレイ

元記事を表示

【JavaScript】Jestの実行で「Unexpected token ‘(‘」エラーが出た話

# 概要

Jestでテストを実行しようとしたところ、以下のエラーが表示されました。
“`
C:\data\jest2\node_modules\@jest\reporters\build\GitHubActionsReporter.js:67
#getMessageDetails (failureMessage, config) {
^

SyntaxError: Unexpected token ‘(‘
at Object.compileFunction (vm.js:344:18)
at wrapSafe (internal/modules/cjs/loader.js:1106:15)
at Module._compile (internal/modules/cjs/loader.js:1140:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1196:10)
at Module.load (intern

元記事を表示

【基本】discord.js v14 でボット作成 #1 ~ボットの作成と初起動~

## 前書き
ぐっどもーにんぐはろーぐっどいぶにんぐ。
どうも、ヒトリユウです。
皆さんはDiscordBot開発、楽しめておりますでしょうか?
私は最近あまりQiitaにも顔を出せていませんでした。
最近、**discord.jsがv13からv14にアップデートされた**ので、今回はdiscord.js v14でボットをイチからココからニニから開発をしていきます。

また、本記事は以下の記事を参考にして作成しています。

https://qiita.com/hitori_yuu/items/02eae8b14dc6a9c91c0d

:::note warn
**注意**
最近キーボードを変えたのでタイプミスが乱発する可能性が高いです。細心の注意を払っていますが、もし誤字脱字等ございましたらコメントしてくださるとうれしいです。
:::

## 開発する環境を整える
今回、ボットを開発するためにあたって、以下の物が必要になっていきます。

* パソコン(スマホでも可能ですが、本記事はパソコンを使用して開発していきます)
* Node.js(最低要件[^1]: `16.9.0`)
* n

元記事を表示

NEXT.jsの環境変数を即時反映させる方法

NEXT.jsでAPIキーなどの機密情報を触る際はルート直下に.envや.env.localなどを格納するかと思いますが、なぜだか反映せずに困ったことはありませんか?
自分も時々そういった場面に出くわすのですが、そういった時に毎回慌てないように備忘録として残します。

## 環境
– PC:Windows
– フレームワーク:NEXT.js
– エディター:VSCode
– 環境変数格納先:ルート直下の.env.local

## 症状
– 設定した環境変数をprocess.env.任意の変数名(例:process.env.API_KEY)で呼び出そうとするが、環境変数が反映しないため想定した挙動が行われない。
– 環境変数を使わずに直接パラメータを入れるときちんと挙動することは確認できる。

※下記はAPI通信の際の認証用トークンを設定した環境変数が読み込まれないため、
「This endpoint requires you to be authenticated(きちんと認証しないと通しません)」的な意味のエラーが出た画面です。
![スクリーンショット (100).png](htt

元記事を表示

[OutSystems]JavaScript要素で発生した例外の扱い

Reactive Web App/Mobileでは、Client Action内でJavaScript要素を配置することで、JavaScriptのコードを記述できる。
では、そのJavaScript要素内で例外が発生して、JavaScript要素外に波及したとき(JavaScript要素内で処理されなかったとき)どうなるかを確認してみる。

# 環境
Personal Environment(Version 11.17.0 (Build 36291))
Service Studio(Version 11.53.17)

# サンプル
Forgeコンポーネント: [HousesoftSampleReactive](https://www.outsystems.com/forge/component-overview/7086/housesoftsamplereactive)のV1.0.12。

モジュール > MainFlow > Exception Screenの「③JavaScript要素で発生した例外の処理」下にある各ボタン

# 結果のまとめ

– JavaScript要素内で発

元記事を表示

Vue3でsetIntervalで定期的にAPI連携する際のTips

# はじめに
全国1億2623万人のGARNET CROWファンの皆さん、こんにちは
@garnetddolphin です。
先日Vue3で定期的にAPIからデータを取得し、更新するというコードを書きました。
SPAでページを移動した際にclearIntervalが設定されておらず、setIntervalが残り続けてハマったのでTipsとして公開します。

# 実装
“`hoge.vue

元記事を表示

【海外イベント紹介】 Jamstack Conf 2021 Security is the “s” in Jamstack by Maricris Bonzo

今回は、「Jamstackカンファレンス 2021」で行われたプレゼンテーションから、「Security is the “s” in Jamstack」の内容をご紹介します:loudspeaker:

10年以上の歴史を持つ「Jamstackカンファレンス」は、Jamstackの生みの親であるクラウドコンピューティング企業「Netlify」が主催。世界中の開発者が集い、Jamstackをコンセプトとした最新のWebサイトの設計、開発などについて話し合います。プレゼンテーションの言語は英語ですが、本ブログでは日本語でご紹介します。

>目次
>セキュリティにまつわる問題
>認証方法の種類
>1. Centralized Authentication
>2. Decentralized Authentication
>4つのアプローチ
>アプローチ1 集権型認証を自作する
>アプローチ2 分散型認証を自作する
>アプローチ3 集権型認証をアウトソースする
>アプローチ4 分散型認証をアウトソースする
>アプローチの比較
>まとめ

今回の講演者はMagicという企業に所属するエンジニアMa

元記事を表示

【自分なりの解釈】クロージャーを理解する

# まえがき
クロージャーを実装するのになんでこんなくそめんどくさい式を書かなくては
いけないのか
僕は式を暗記することを頑張りましたが、如何せん面白くないので、色々な実験をして
頑張って覚えることにしました
# クロージャについて
## クロージャーの目的
1.プライベートなスコープ
2.動的な関数
→つまり、変数の中身を確保しつつ、かつ関数を呼び出すだけで中身を追加したい時
## 覚えておくべきこと
1.クロージャーによって変数の中身は保持できる
2.関数自体をreturnすると関数の式自体が返ってくる
3.変更後の値を保持する必要がある
## 一般的な書き方
```javascript
function incrementFactory(){
let num = 0;
function increment(){
num = num + 1;
console.log(num)
}
return increment;
}
increment();
increment();
increment();
```
## 実験
#

元記事を表示

StripeのElements / Checkout / Invoicingを利用せずに、銀行振込の決済を処理する方法

システムやデザインの要件によっては、Stripeが提供する決済フォームを利用できないケースも存在します。

その場合に、銀行振込での決済を受け付ける方法を、JavaScriptで簡単に紹介します。

## Step1: 銀行振込に対応したPayment Intentを作成する

Stripeで1回きりの決済を受け付ける場合、Payment Intentをサーバー側の処理で作成します。

この際に、「**Stripeが発行する振込先口座情報を紐づけるための顧客データ**」など、銀行振込での決済に必要な情報を設定しましょう。

```js
const createBankTransferPaymentIntent = async (email, amount) => {
const customer = await stripe.customers.create({
email,
});
const intent = await stripe.paymentIntents.create({
amount,
currency: 'j

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのスコープの比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのスコープの比較

# Python

https://qiita.com/msssgur/items/12992fc816e6adf32cff

# Ruby

https://qiita.com/EZ_Denta/items/6489039212e21d4fc49f

# PHP

https://qiita.com/hikaru_/items/4cc7b616aa61868cdcdd

# Java

https://qiita.com/gatchan03/items/e8eecf468b7dab960198

# JavaScript

https://qiita.com/higa02/items/a7a0a1d96d1d67a7c88b

# Perl

https://perlzemi.com/blog/2011012

元記事を表示

OTHERカテゴリの最新記事