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

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

コールバック関数

Javascriptのコールバック関数について勘違いしていたので、勉強したことをメモとして残します。
こんなところで引っかかってるやつもいるんだと知ってもらえれば幸いです。
## コールバック関数とは
>引数として他の関数に渡され、外側の関数の中で呼び出されて、何らかのルーチンやアクションを完了させる関数のこと。
[Callback function (コールバック関数) | MDN Web Docs 用語集 ](https://developer.mozilla.org/ja/docs/Glossary/Callback_function)
### 簡単な例
“`javascript:例1
const fn1 = a => a + 1;
const fn2 = (callback) => callback(1) * 2;
fn2(fn1) // 4
“`
例1では確かに`fn1`が外側の`fn2`に呼び出されてから実行されているため、`fn1`はコールバック関数と言えます。
### 勘違い
ただ、コールバックとして使用される関数は必ずしも変数に代入する必要はないということです。つ

元記事を表示

`export` と `export default` の違い

# `export` と `export default` の違い

`export` キーワードは、**1 つ以上**の変数、関数、またはクラスをエクスポートするために使用されますが、`export default` キーワードは、**1 つ**の**デフォルト**の変数、関数、またはクラスをエクスポートするために使用されます。他のモジュールでは、`import` キーワードを使用して、これらのエクスポートされた変数、関数、またはクラスをインポートできます。

## 1. `export`

### 1. エクスポート方法

– `export` で公開されたメンバーは、必ず `{}` で囲む必要があります。この形式を **必要に応じたエクスポート** と呼びます。
– `export` では、複数のメンバーを公開できます。

“`javascript
// 直接エクスポート
export let str = `hello world!!!`;
export function fuc() {}

// 定義してからエクスポート
let str1 = ‘hello’;
let str

元記事を表示

Stripe Link入門: 迅速かつセキュアな決済手段を、数行のコードで実現する方法

この記事では、Stripeが提供するシンプルかつセキュアな決済手段 Link を決済フォームに導入し、テストする方法を紹介します。Linkによる支払いをサポートすることで、顧客はクレジットカード情報を入力することなく、支払いフローを完了させることができます。決済体験をスムーズにすることで、決済フォームでのカゴ落ちを防止でき、コンバージョン率( CVR )の向上や、それに伴う売り上げの増加が期待できます。

![image7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/0d2479c4-3473-7ad2-97c7-5446492bda29.png)

実装に必要なコードの量もとても少なく、テスト環境を使った決済体験のテストや、表示非表示の制御もとても簡単です。この記事とサンプルコードを元に、少ない手間で実現できる新しいCVR改善・売り上げ向上施策のアイディアをお試しください。

## Linkとは

Linkは、Stripeが提供する支払いサービスです。Linkにクレジットカード情報を

元記事を表示

Bitcoin トランザクションログ シミュレーションのゲーム。

#### タイトル: 「仮想通貨ナイト 」

東京、銀座のど真ん中。時刻は午前1時、街は人々が帰り始める静かな時間に入ろうとしていた。そんな中、一人のプログラマ、拓海は画面に張り付いてビルの一室で夜を過ごしていた。彼はBitcoinトランザクションのシミュレーションコードをデバッグしていた。

拓海はエンジニアチームのリーダーだが、決して目立つタイプではない。彼は静かにコードと向き合い、毎晩のように誰もいないオフィスで仮想通貨の動きやウォレットの挙動をシミュレートし続けている。「世の中が寝静まった時、仮想通貨はさらに活発になるんだ」と彼は自分に言い聞かせていた。

拓海は自分のプログラムが生成する「TxID(トランザクションID)」や「送信元」や「受信先」のウォレットアドレスをじっと見つめていた。画面上には、リアルタイムで生成される取引がログとして流れ続ける。ランダムに生成される「送信元」アドレスは、どれも実際のウォレットアドレスのようにリアルで、そこから受信先への「BTC(ビットコイン)」が次々と送金されていく。

![image.png](https://qiita-imag

元記事を表示

[JavaScript] データ型とリテラル

# 環境
MacBook Pro (2.3 GHz 8コアIntel Core i9)
macOS 14.0(23A344)
Homebrew 4.3.8
gh 2.52.0

# まとめ

# 目次
– [データ型](#データ型)
– [リテラル](#リテラル)

# データ型
> JavaScriptは動的型付け言語に分類される言語であるため、静的型付け言語のような**変数の型**はありません。しかし、文字列、数値、真偽値といった**値の型**は存在します。これらの**値の型**のことを**データ型**と呼びます。

[データ型とリテラル](https://jsprimer.net/basic/data-type/)

## プリミティブ型
> プリミティブ型(基本型)は、真偽値や数値などの基本的な値の型のことです。 プリミティブ型の値は、一度作成したらその値自体を変更できないというイミュータブル(immutable)の特性を持ちます。

[データ型とリテラル](https://jsprimer.net/basic/data-type/)

|型|例|
|–|–|
|真偽値

元記事を表示

JavaScript: HTMLに生binary埋め込み(2)

[過去の記事](https://qiita.com/mashuel/items/3cf307aaaeae089bc271)の続編、今回は余計な手間をかけずにHTMLに生のbinary dataを埋め込む方法を紹介します。
`

元記事を表示

Amplify Gen2* Amplify Gen2 * Vite リポジトリ公開

### 背景
Amplify Gen2になりコードベースで管理できるようになったのですが、参考コードがまだ少ないように思うので、publicリポジトリとしました。

### 使い方,概要
Readme.mdに記載しています。

### リポジトリ
https://github.com/tominaga-tora/bento-react-amplify

### 公式docs
https://docs.amplify.aws/react/how-amplify-works/

元記事を表示

JISOU 課題1「学習記録アプリ」振り返り

# はじめに

お疲れ様です、りつです。

参加させていただいているプログラミングスクール「[JISOU](https://projisou.jp/)」の課題1が完了しました。
今回は、その振り返りも兼ねて記事を書きました。

:::note info
課題1の詳細な内容については @Sicut_study さんの記事で紹介されていますので、ご興味ある方はご覧になってみてください!
:::

https://qiita.com/Sicut_study/items/7d8c6f309dddda1a3961

# 何をやったのか

React + JavaScriptで学習記録アプリを作成しました。

https://github.com/ritsu21ctws/study-record-app

完成形は以下のgifの通りです。
(今回の実装ではCSSなどのスタイリングはほとんど行っておりません)

![レコーディング-2024-10-28-192148.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39

元記事を表示

2024年版:エンジニアが今、学ぶべきJavaScriptフレームワーク完全比較

こんにちは!今回は、現役エンジニアとして押さえておくべきJavaScriptフレームワークについて、案件状況や今後の展望を踏まえてランキング形式で解説していきます。

## 目次
1. [フレームワーク選定の重要性](#フレームワーク選定の重要性)
2. [2024年注目のフレームワークランキング](#2024年注目のフレームワークランキング)
3. [各フレームワークの詳細比較](#各フレームワークの詳細比較)
4. [結論:あなたの状況別おすすめフレームワーク](#結論)

## フレームワーク選定の重要性

フロントエンド開発において、適切なフレームワークの選定は以下の点で非常に重要です:

– プロジェクトの生産性に直結
– チーム全体の開発効率に影響
– 長期的なメンテナンス性
– 採用市場での価値

## 2024年注目のフレームワークランキング

### 🥇 1位:React
– **採用率**: ★★★★★
– **学習曲線**: ★★★☆☆
– **パフォーマンス**: ★★★★☆
– **コミュニティ**: ★★★★★

**メリット**:
– 圧倒的な市場シェアと

元記事を表示

Python初心者必見!エラーをデバッグするための 5 つの基本テクニック

Pythonを学び始めると、エラーに遭遇することが多くあります。プログラミング初心者にとっては、エラーメッセージを見ただけで不安になることもあるでしょう。しかし、エラーメッセージはただの「問題報告書」ではなく、「バグを解決するためのヒント」が詰まった貴重な情報源です。この記事では、Pythonでエラーをデバッグする際に役立つ5つの基本テクニックについて解説します。
1. エラーメッセージを理解する
Pythonのエラーメッセージは、問題が発生している行数やエラーの種類について詳細に教えてくれます。以下は典型的なエラーメセージの例です。
print(“Hello World”
# SyntaxError: unexpected EOF while parsing

上記のエラーは、SyntaxErrorとして表示されています。これは、文法に誤りがあることを意味し、具体的には括弧が閉じられていないことが原因です。エラーメッセージを丁寧に読み解くことで、解決策が見えてくることが多いです。
2. print関数でデータの流れを確認する
デバッグの基本として、print()関数を使ってコードの途

元記事を表示

初心者でもわかる! Python でデータを効率的に処理する方法

Pythonは、そのシンプルな構文と強力なデータ処理機能で、データサイエンスや機械学習分野でも非常に人気のある言語です。しかし、初心者にとっては「どうすれば効率よくデータを処理できるか」という部分が、少し難しく感じられるかもしれません。この記事では、Pythonでの効率的なデータ処理方法について解説し、より早く正確にデータを扱うためのヒントをご紹介します。
# 1. リスト内包表記(List Comprehension)
リスト内包表記は、Pythonでのデータ処理をスピードアップするための強力なツールです。通常のforループに比べて、コードが短くなり、処理速度も向上します。
“`py
# 通常のforループ
squares = []
for x in range(10):
squares.append(x ** 2)
# リスト内包表記を使うと
squares = [x ** 2 for x in range(10)]
“`
このように、リスト内包表記を使用することで、コードが簡潔になり、パフォーマンスも向上します。

# 2. pandasを使ったデータ処理
pandasライブ

元記事を表示

[JavaScript] 変数

# 環境
MacBook Pro (2.3 GHz 8コアIntel Core i9)
macOS 14.0(23A344)
Homebrew 4.3.8
gh 2.52.0

# まとめ
||再代入(上書き)|再宣言|
|:–|:-:|:-:|
|`var`|Yes|Yes|
|`let`|Yes|No|
|`const`|No|No|

# 目次
– [`var`](#var)
– [`let`](#let)
– [`const`](#const)

# `var`
**略:** Variable(変数)の略
**再代入(上書き):** Yes
**再宣言:** Yes
~~~JS:index.js
var val1 = “var変数”;
console.log(val1);

// var変数は上書きが可能
val1 = “var変数は上書き”;
console.log(val1);

// var変数は再宣言可能
var val1 = “var変数を再宣言”;
console.log(val1);
~~~

# `let`
**略:** 特に略ではない
**再代入(上書き):

元記事を表示

ウェブ開発の未来図 2024:Refine.jsと共に未来を創造せよ!

テスト記事

ポストコロナ時代において、ウェブアプリケーションは私たちの生活に欠かせない存在となった。リモートワーク、オンライン教育、ネットバンキング、eコマース、デリバリーサービス… これら全てがウェブアプリケーションによって支えられている。もはやウェブアプリケーションなしでは、現代社会は成り立たないと言っても過言ではない。

この記事では、2024年のウェブ開発の現状と未来、そしてReactベースのメタフレームワークであるRefine.jsがいかにその進化を加速させているかを深く掘り下げていく。未来のウェブ開発を担う君にとって、必読の内容となっているぞ。

プログラミング言語とは?15種類のプログラミング言語を難易度や職業別に徹底解説

### ウェブアプリケーションとは何か?:その本質を再確認せよ

ウェブアプリケーションとは、インターネット上のリモートサーバーで動作し、HTTP/HTTPSプロトコルを使用してHTML、XML、JSONドキュメントを提供するアプリケーションだ。かつてはSOAPやWSDLといった技術が主流だったが、現在ではRESTful APIが広く普及して

元記事を表示

ブログ開始、学習記録

【はじめに】
文系の業界初心者がエンジニアのキャリア形成の上で、フロントエンドからフルスタックを目標に、まずは形からということでQiitaにてブログをつけることにしました。

前置きはさておき、2024/10/28現在の学習状況です。

【時系列】
2024/09/18~
JavaScript, コーディング学習
2024/10/10~
Notion, 管理システム運用

【なんでこの2つ?】

「JavaScript」
・フロントエンド開発言語の利用割合で圧倒的だった。(1)
・altjs(代替言語)であるTypescriptを見据えて、年収ベースで需要があると見込んだ。(2)

「Notion」
・どの企業の技術スタック/開発ツールを見てもSlack, Notionを利用していたため(3)
※Slackはチーム開発が前提なので一旦保留
・拡張性が高い
→ 苦手だったスケジューリング(日常も含めて)の改善に役立ちそう
→ システム開発のような側面があるため、エンジニア的思考の練習に

【おわりに】
約1ヶ

元記事を表示

Electronで自動アップデートをしたい

:::note info
viviONグループでは、DLsiteやcomipoなど、二次元コンテンツを世の中に届けるためのサービスを運営しています。
ともに働く仲間を募集していますので、興味のある方は[こちら](#一緒に二次元業界を盛り上げていきませんか)まで。
:::

# Electronで自動アップデートをしたい
知り合いの自転車屋さんに、商品のポップを簡単にデザインできるツールを作れないか相談を受けたので、Electronを使ったデスクトップアプリで作ってみることにしました :bike:

実際に使ってもらって、そのフィードバックを反映した新しいバージョンのアプリを配信したいのですが、毎回exeファイルを送ってインストールしなおしてもらうのはちょっと手間ですよね。
こちらが新しいバージョンのアプリを登録したら、アプリの起動時にアップデートチェックが走って勝手に再インストールされる仕組みを導入してみます。

# Electron自動アップデートの概要
軽く調べてみたところElectronアプリの自動アップデートを実現したい場合、いくつかの方法があるようです。

https://

元記事を表示

Reactといふものを知る(ざっくり知る話)

# 前置き
ご覧いただきありがとうございます。
Web制作会社で主にHTML・CSS・JavaScriptを書いているマークアップコーダーです。
モダンなフロントエンド技術を身に着けたく、今回は「React」についてざっくり学んでみました。

## ※注
基礎もまだまだの状況ですが、とりあえず「こんな感じなんだ〜」的なことを本当にざっくり書くだけです。
誰かのためになるわけでもわかりやすいわけでもない記事です。

# Reactってなんだ?
今回は「React」です。

## 知る前のイメージ
「フロントエンドと言えばReactやVueでしょ!」的なイメージはあったが、
具体的にどんなものかイマイチわかっておらず。
JavaScriptのライブラリということで、jQueryみたいにhtmlファイルにReactを読み込んで書いて行くのかな?とかなんとか思っていました。

## 実態
**別世界過ぎる。**
直にHTML、CSS、JavaScriptを書いて静的ページ作っている自分にとっては、
node.jsで立ち上げる系のやつはほんとに違う世界。
htmlファイルに読み込むんじゃなくて、

元記事を表示

Vitest でデフォルトの exclude ルールをベースに Project のルールを設定する。

## はじめに

– Vitest を導入した Project で Vitest に参照してほしくない path が出てきた
– 今回はテストカバレッジの集計から除外したかった
– デフォルトの設定を維持しつつ設定を追加したい場合以下のように設定すれば良い

## default 設定を維持したまま除外する

`coverageConfigDefaults` を import し、 `Other exclude config here …` と記載している場所に設定を追加すれば良い。

“`diff_typescript:vite.config.ts
import { defineConfig } from “vite”;
+ import { coverageConfigDefaults } from “vitest/config”;

export default defineConfig({
test: {
exclude: [
+ …coverageConfigDefaults.exclude,
// Ot

元記事を表示

【JavaScript】世の中の誰も知らないであろう面白い記法

## これ

“`js
for (let i = 10; i –> 0;) console.log(i);
“`

## は?

`i –> 0`が

$i \rightarrow 0$

みたいに見えて面白くない?

元記事を表示

Jestをテストする時に、各ファイルでライブラリをimportしないでまとめる

# はじめに

こんにちは、エンジニアのkeitaMaxです。

Jestをテストを作成する時に、各ファイルでライブラリをimportするのがめんどくさいなと思って
まとめ方について調べたので記事にしました。

# やりたいこと

下記のようなディレクトリ構成で、libで作成した自作のライブラリのテストを書きたかったのですが、もともと`test1.test.ts“test2.test.ts`でおのおのでlibを読み込んでいたのでそれを無くしたいというのが今回の記事のやりたいことになります。`

“`
root/
 ├ jest.config.js
 ├ lib/**
 └ test/
   ├ test1.test.ts
   └ test2.test.ts
“`
“`ts:test1.test.ts
import “../lib”
“`

“`ts:test2.test.ts
import “../lib”
“`

# 結論

`test/index.ts`というファイルを用意してそれをセットアップのファイルに`jest.config.ts`で記載することで解決すること

元記事を表示

ブラウザ上で実行できる、おしゃれでスタイリッシュな Pythonコード開発環境 。のゲーム。

#### ショートストーリー 限られた計算リソースで一体何ができるんだ?
東京の夜、主人公であるプログラマーのケンジは、限られたリソースで最大限の力を発揮しようと考えていた。彼のデスクにあるのはブラウザとメモ帳アプリだけ。PCにPythonがインストールされていないため、プログラムを書いて動作を確かめるには制限があった。

「この限られた計算リソースで一体何ができるんだ?」と彼は心の中で問いかけた。与えられたものだけで何とか突破口を見出さなければならない。それが主人公に与えられたミッションであった。

ケンジは考え抜いた末に、JavaScriptの力を借りることを思いついた。彼はJavaScriptのライブラリを調べ、Pythonコードをブラウザ上で実行できる仕組みを模索し始める。そして、ついにその瞬間が訪れた。いくつもの試行錯誤の末、彼はJavaScript上でPythonコードを実行できる仕組みを完成させたのだ。

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

元記事を表示

OTHERカテゴリの最新記事