JavaScript関連のことを調べてみた

JavaScript関連のことを調べてみた

小さなGPUでのエンジニアリング。TensorFlow.js での AIモデルゲーム。

#### ショートストーリー: テンソルの彼方に
東京の下町に住むプログラマー、田中健一は、言語モデルのAIを開発するスタートアップ企業で働くエンジニアだった。彼の仕事は、複雑なアルゴリズムとデータ処理に囲まれた毎日で、言語モデルがどのようにして知識を構築し、自然な言葉を生成するのかを深く探求していた。

ある日、健一はプロジェクトの一環として、4次元テンソルを使った新しい計算モデルの設計を任された。これまでは2次元や3次元のテンソルを扱ってきたが、4次元のテンソルは彼にとって未知の領域だった。彼はテンソルの奥深さに魅了され、挑戦する決意を固めた。

健一は、言語モデルの背後に潜む計算プロセスに思いを馳せた。単語がエンベディングされてベクトルとなり、それらのベクトルが連なって行列を形成する。さらに、その行列が複数連なり、3次元テンソルを構成する。そして、この3次元テンソル同士の掛け算を行うことで、コンテキストテンソルが得られ、その中から意味がある行列を取り出すことができる。この行列をテキストに変換すれば、言語モデルの応答が得られるのだ。健一は、このシンプルなテンソルの掛け算が言

元記事を表示

【初心者向け】モールス信号でプログラミングをしてみる

## はじめに
皆さん、こんにちは。
普段はエンジニアチームで仕事をやらせてもらっています。

私たちは常に新しいものを学ぶことに重きをおいていますが、時には過去の技術を知り、使ってみることで新しい発見があると思うんですよね。

そこで、今回はモールス信号を使って学びを深めてみることにします。

モールス信号といったら、最近流行りの[あの曲](https://www.google.com/search?q=%E3%81%AF%E3%81%84%E3%82%88%E3%82%8D%E3%81%93%E3%82%93%E3%81%A7&sca_esv=ad1fe64d584e8890&rlz=1C1PWSB_jaJP1122JP1122&ei=GNbOZq-VGY7Y1e8P7tSM8QU&ved=0ahUKEwivgdiSmZeIAxUObPUHHW4qI14Q4dUDCBA&uact=5&oq=%E3%81%AF%E3%81%84%E3%82%88%E3%82%8D%E3%81%93%E3%82%93%E3%81%A7&gs_lp=Egxnd3Mtd2l6LXNlcnAiFeOBr-O

元記事を表示

JavaScriptの配列マスター講座:便利なメソッドたち

こんにちは、JavaScriptを学んでいる皆さん!今回は、配列を操作する上で非常に便利なメソッドについて詳しく見ていきましょう。これらのメソッドをマスターすれば、配列の扱いが格段に楽になりますよ。

## 1. Array.isArray() – 配列かどうかを確認

まずは、与えられた値が配列かどうかを判定する`Array.isArray()`メソッドから始めましょう。

“`javascript
console.log(Array.isArray([1, 2, 3])); // true
console.log(Array.isArray(‘こんにちは’)); // false
“`

このメソッドは、特に関数の引数が配列であることを確認する際に便利です。

## 2. concat() – 配列の結合

`concat()`メソッドを使うと、複数の配列を一つに結合できます。

“`javascript
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
let combined = arr1.concat(arr2);
consol

元記事を表示

JavaScriptの配列:便利なメソッドとテクニック

こんにちは、JavaScriptを学んでいる皆さん!今回は、配列の強力な機能と便利なメソッドについて詳しく見ていきましょう。

## 1. Array(配列)の基本

配列は複数の値をまとめて扱うことができるデータ構造です。JavaScriptでは、以下のように配列を作成できます:

“`javascript
let fruits = [‘りんご’, ‘バナナ’, ‘オレンジ’];
“`

## 2. 便利な配列メソッド

### push() と pop()

`push()`メソッドは配列の末尾に要素を追加し、`pop()`メソッドは末尾の要素を削除して返します。

“`javascript
fruits.push(‘いちご’); // [‘りんご’, ‘バナナ’, ‘オレンジ’, ‘いちご’]
let lastFruit = fruits.pop(); // lastFruit = ‘いちご’
“`

### join()

`join()`メソッドは配列の要素を指定した区切り文字で連結した文字列を返します。

“`javascript
console.log(fr

元記事を表示

JavaScriptの配列マスター:基本から応用まで

こんにちは、JavaScriptを学んでいる皆さん!今回は、プログラミングの基本的かつ強力なデータ構造である「配列(Array)」について詳しく見ていきましょう。

## 1. 配列の基本

配列は、複数の値をひとまとめにして扱うことができるデータ構造です。JavaScriptでは、以下のように配列を作成します:

“`javascript
let fruits = [‘りんご’, ‘バナナ’, ‘オレンジ’];
“`

配列の各要素には、インデックス(添字)を使ってアクセスできます:

“`javascript
console.log(fruits[0]); // ‘りんご’
console.log(fruits[1]); // ‘バナナ’
“`

## 2. 配列の操作

### 要素の追加

配列の末尾に要素を追加するには `push()` メソッドを使います:

“`javascript
fruits.push(‘いちご’);
console.log(fruits); // [‘りんご’, ‘バナナ’, ‘オレンジ’, ‘いちご’]
“`

### 要素の削除

元記事を表示

JavaScriptマスター への道: 制御構造と条件分岐を極める

こんにちは、プログラミング学習者の皆さん!今回は、JavaScriptの重要な概念である制御構造と条件分岐について詳しく解説します。これらの概念を理解することで、より柔軟で効率的なコードが書けるようになりますよ。

## 1. if文による条件分岐

if文は、特定の条件が真(true)の場合にのみ、特定のコードブロックを実行します。

“`javascript
let age = 20;
if (age >= 18) {
console.log(“成人です”);
}
“`

この例では、ageが18以上の場合にのみ”成人です”と表示されます。

## 2. if-else文

if-else文を使うと、条件が偽(false)の場合の処理も指定できます。

“`javascript
let temperature = 25;
if (temperature > 30) {
console.log(“暑いです”);
} else {
console.log(“快適です”);
}
“`

## 3. else if を使った複数の条件分岐

複数の条件を順番

元記事を表示

JavaScriptの基礎をマスターしよう:関数と条件分岐

こんにちは、プログラミング初心者の皆さん!今回は、JavaScriptの重要な基礎概念である関数と条件分岐について詳しく見ていきましょう。これらの概念を理解することで、より柔軟で効率的なコードが書けるようになります。

## 1. 関数の基本

関数は、特定のタスクを実行するためのコードブロックです。JavaScriptでは、関数を以下のように定義します:

“`javascript
function greet(name) {
console.log(“こんにちは、” + name + “さん!”);
}

greet(“太郎”); // 出力: こんにちは、太郎さん!
“`

関数を使うことで、コードの再利用性が高まり、プログラムの構造がクリーンになります。

## 2. return文の使い方

関数は値を「返す」ことができます。これには`return`文を使います:

“`javascript
function add(a, b) {
return a + b;
}

let result = add(3, 4);
console.log(result);

元記事を表示

JavaScriptの関数マスター:定義と戻り値を徹底解説!

# JavaScriptの関数マスター:定義と戻り値を徹底解説!

こんにちは、JavaScriptを学んでいる皆さん!今回は、プログラミングの要となる関数について、特にその定義方法と戻り値(return)の使い方を詳しく見ていきます。

## 1. 関数の基本

関数は、特定のタスクを実行するためのコードブロックです。これを使うことで、コードの再利用性が高まり、プログラムの構造化が容易になります。

### 関数の定義

JavaScriptでは、関数を定義する方法がいくつかあります:

1. 関数宣言
“`javascript
function greeting(name) {
console.log(“Hello, ” + name + “!”);
}
“`

2. 関数式
“`javascript
const greeting = function(name) {
console.log(“Hello, ” + name + “!”);
};
“`

3. アロー関数(ES6以降)
“`javascript
const greeting = (name

元記事を表示

多次元配列(多次元連想配列)をJSONに変換した際に想定外の変換がされる

## 事象
Ajax経由でテーブルから取得した多次元連想配列を`JSON`に変換したが、想定外の形式になってしまった。

## 変換する配列
`default_flg`の設定値を基準に、グループ化してから変換したい。
“`
Array
(
[0] => Array
(
[id_name] => aaa
[content] => aaaaaaaaaaaaaa
[default_flg] => 0
)

[1] => Array
(
[id_name] => bbb
[content] => bbbbbbbbbbbb
[default_flg] => 1
)

[2] => Array
(
[id_name] => ccc
[content] => cccccccccccccc

元記事を表示

# JavaScriptマスターへの道:短絡評価を徹底解説!

こんにちは、JavaScriptを学んでいる皆さん!今回は、プログラミングの中級者へのステップアップに欠かせない、論理演算子の詳細と短絡評価について深掘りしていきます。

## 1. 論理演算子の復習

まず、基本的な論理演算子を簡単に復習しましょう:

– AND演算子(&&):両方の条件がtrueの場合にtrueを返す
– OR演算子(||):少なくとも1つの条件がtrueの場合にtrueを返す
– NOT演算子(!):真偽値を反転させる

## 2. 短絡評価(ショートサーキット評価)とは?

短絡評価は、論理演算子を使用する際に、最小限の評価で結果を決定する JavaScript の機能です。これにより、不要な処理を省略し、コードの効率を上げることができます。

### AND演算子(&&)の短絡評価

“`javascript
console.log(false && anything); // false
“`

最初の式が `false` の場合、2番目の式は評価されません。なぜなら、ANDは両方が `true` でなければ `false` になるからです。

##

元記事を表示

JavaScriptの基礎:論理演算子と比較演算子2

こんにちは、JavaScriptを学んでいる皆さん!今回は、プログラミングの要となる論理演算子と比較演算子について詳しく解説します。これらの演算子を理解することで、より複雑な条件分岐やデータ操作が可能になりますよ。

## 1. 論理演算子

JavaScriptには3つの主要な論理演算子があります:

1. AND演算子(&&)
2. OR演算子(||)
3. NOT演算子(!)

### AND演算子(&&)

AND演算子は、両方の条件が`true`の場合にのみ`true`を返します。

“`javascript
console.log(true && true); // true
console.log(true && false); // false
console.log(false && true); // false
console.log(false && false); // false
“`

### OR演算子(||)

OR演算子は、少なくとも1つの条件が`true`の場合に`true`を返します。

“`javascript
console.l

元記事を表示

JavaScriptの基礎:算術演算子と真偽値を理解しよう

こんにちは、JavaScriptを学んでいる皆さん!今回は、プログラミングの基本中の基本、算術演算子と真偽値について詳しく見ていきましょう。

1. 算術演算子

JavaScriptでは、基本的な数学演算を行うための演算子が用意されています。

– 加算(+): 2 + 3 = 5
– 減算(-): 5 – 2 = 3
– 乗算(*): 2 * 4 = 8
– 除算(/): 10 / 2 = 5
– 剰余(%): 7 % 3 = 1(7を3で割った余り)

これらの演算子を使えば、複雑な計算も簡単に行えます。例えば:

“`javascript
let result = (3 + 4) * 2 / (1 + 1);
console.log(result); // 7が出力されます
“`

2. インクリメント/デクリメント演算子

変数の値を1増やしたり減らしたりする特別な演算子もあります。

– インクリメント(++): 変数の値を1増やします
– デクリメント(–): 変数の値を1減らします

“`javascript
let count = 5;
count++; //

元記事を表示

JavaScriptの基礎:データ型と関数を理解しよう

プログラミング初心者の皆さん、こんにちは!今日はJavaScriptの基本中の基本、データ型と関数について解説します。これらの概念を理解することで、JavaScriptでのコーディングがぐっと楽しくなりますよ。

1. JavaScriptのデータ型

まずは、JavaScriptで扱うデータの種類について見ていきましょう。

– 数値型(Number):1や3.14のような数字を扱います。計算するときに使いますね。
– 文字列型(String):’Hello’や”JavaScript”のように、文字の並びを表します。
– 論理型(Boolean):trueかfalse、つまり「はい」か「いいえ」を表現します。
– Undefined:変数に値が設定されていない状態を示します。
– Null:意図的に「空」を表現するときに使います。
– オブジェクト型(Object):複雑なデータ構造を作るときの基本です。配列や関数もオブジェクトの一種なんですよ。

これらのデータ型を使い分けることで、プログラムは様々な情報を効率的に扱えるようになります。

2. 関数:プログラムの便利ツール

次に

元記事を表示

【JavaScript】関数まとめ

## 使用した教材
以下の動画でJavaScriptの関数について勉強したので、簡単にまとめてみました

https://www.udemy.com/course/the-web-developer-bootcamp-2021-japan/

## JavaScriptの関数
### 基本的な書き方
– 関数の定義 … `function 関数名() { 実行したい処理 }`
– 関数の実行 … `関数名();`
“`javascript:app.js
// 関数の定義
function rollTheDice() {
const number = Math.floor(Math.random() * 6) + 1;
console.log(number);
}

// 関数の実行
rollTheDice();
“`
### 引数
関数の実行時に、関数側に渡す情報のこと
– 関数の定義 … `function 関数名(パラメータ) { 実行したい処理 }`
– 関数の実行 … `関数名(引数);`
“`javascript:app.js
// 関数

元記事を表示

自分用にCustom8 JSMacro KeyPadを作りました

自分用にCustom8 JSMacro KeyPadというお気楽ツールを作りました

ボタン毎にのJSが登録できてマクロボタン的に実行する画面です。
evalで実行してるだけです。

ElgadoのStream DECKが格好良いので真似したくてしょぼい画面を作りました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/d540f4c9-2d58-e9a3-0855-b856817bcde9.png)

1.ツールの画面

Stream DECKと全然違いますが…オマージュということで、JSのマクロ登録するとこんな感じです。

![Screenshot 2024-08-30 09.41.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35574/1a3d4bbd-8002-f61e-ecd3-97602788d0a6.png)

2.ソースコード

ソースコードというかcodepenに作っ

元記事を表示

React Leafletを使用してGeoJSONファイルを読み込み地図に町丁目ポリゴンを表示する

## 概要説明
React Leafletを使って地図の表示から町丁目ポリゴンの表示まで行います。
Node.jsはインストール済みの想定となります。

## 使用したもの
### React Leaflet

React Leafletは、ReactのコンポーネントとしてLeafletを使えるようにするためのライブラリです。

https://react-leaflet.js.org/

### Vite

Viteとは2020年に発表されたフロントエンドのビルドツールで、現代の Web プロジェクトのために、より速く無駄のない開発体験を提供することを目的としたビルドツールです。

https://ja.vitejs.dev/

### 町丁目ポリゴン
町丁目とは行政界の一つで「富士見町3丁目」「広尾1丁目」など「●丁目」で表わされる行政区画のことです。行政界は他には都道府県や市区町村、大字などがあります。
町丁目ポリゴンとは町丁目の境界データであり、e-stat で 小地域(町丁・字等別)という名称で公開されています。

今回使用する町丁目ポリゴンは、TerraMap API から

元記事を表示

4次元サイン関数のアニメーション。

![スクリーンショット 2024-08-30 045807.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/07f9be4c-fb36-b64c-b051-fec3dd5f8f12.png)

![スクリーンショット 2024-08-30 045820.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/50d37739-419b-36cf-517f-6cd843db2eed.png)

![スクリーンショット 2024-08-30 045832.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/904c44fd-02ca-608f-db92-d5981576335b.png)

### 4次元サイン関数をアニメーションさせ、各グリッドの値を色で表現してます。このコードでは、TensorFlow.j

元記事を表示

kuzira cafe フォームの入力内容表示機能を完全に理解する

## 1. はじめに
SBクリエイティブ 「スラスラわかるHTML&CSSのきほん 第3版」のサンプルコードではお問い合わページで入力した内容を表で表示することができる.その仕組みについて理解することを目標にする.

サンプルコードは以下からダウンロードできる.

スラスラわかるHTML&CSSのきほん 第3版

## 2. 対象ページの挙動

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3644068/9a537f47-be9a-5425-10e3-63f046551d3e.png)
1. フォームに各項目を入力し,送信ボタンを押す.

![2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3644068/5997a2ce-51bc-f5df-fb5e-a42f222582ab.png)
2. すると,入力項目についての表が表示される.

## 3. この挙動を実現する手順

元記事を表示

JavaScript に於ける 参照渡し / 参照変数 の実現可能性について

JavaScript には 現状、`参照渡し` / `参照変数` にあたる構文 は **ありません**。

:::note
**レギュレーション**

ここで言う `参照渡し` は 実引数で渡した変数 に対して 仮引数 で渡された変数への代入が 反映される状態のことを指します。
`参照変数` も 上記の様な 変数への代入が反映される状態のことを指しています。

プロパティへの代入が 反映されるのはここでは参照渡し や参照変数とは言いません
:::

ここで、構文が無いと言っているのは 変数に限らなければ Proxy を噛ませて プロパティ経由で 代入を外の変数に反映することはできるからです。

つまり、 変数への 代入に Proxy が挟める様になる もしくは Proxy が挟まっていることを隠蔽できる構文ができれば参照渡しと言えます。

# vue の場合

例えば [vue](https://ja.vuejs.org/) だと Proxy を経由して次の様な構文で仮引数 の プロパティへの代入を反映することはできます。

“`js
import {ref} from “vue”

元記事を表示

1を出力する場合がある乱数を作りたい話

:::note warn
(実用性は)ないです。
記事の本文及びソースコードに誤りがある場合があります。
誤りなどがあればコメントで教えてください。
:::
どうも
Qiitaではおそらく初投稿だと思います。
普段は[note](https://note.com/otoneko1102)や[GitHub](https://github.com/otoneko1102)で活動しています。

## 今回のお話
ふとした思いつきからの試みです。
JavaScriptやだいたいの言語で乱数を生成するとき、初期テーブルのままの場合、 **0~1** の乱数を返しますよね。
“`js
Math.random()
“`
でも、これは **0以上1以下** ではなく **0以上1未満** の乱数しか返さないんです。

今回実現したいのは **浮動小数点数も扱える0以上1以下の乱数を出力する関数** です!

## 実装してみる
### 条件
1. ある程度すべての値が出る確率が等しいこと。
2. 処理が速いこと。
3. 他の関数などにも応用が効くこと。

### v1
#### コード
“`js

元記事を表示

OTHERカテゴリの最新記事