- 1. 【Alpine.js】Collapse Pluginでヌルっと出てくるドロップダウンが作れる
- 2. web版空間オーディオを利用して仮想空間での位相と距離の調整方法
- 3. エンジニアになって1年、振り返ってみる
- 4. Mapbox GL JSを使って地図に多角形を描き、多角形内の人口データを持つポリゴンを取得し、表示する
- 5. mutable immutableとはなんぞや
- 6. Vonage API + React(SPA) + Expressで電話番号認証とSMS送信アプリを作る
- 7. 今年のうちにwebpackについてハンズオンも交えて理解する
- 8. Nuxt3で.envを使用する方法
- 9. Kinx から Kilite へ
- 10. TanStack Query を Vue で動かしてみた
- 11. [Day21] ドキュメント part1
- 12. 外部のAPI(駅すぱあと)を使って駅名から県名を検索してみた
- 13. ミュータブルとイミュータブル
- 14. ReactHooksについてまとめる(Performance Hooks useTransition)
- 15. クラス、オブジェクト、インスタンス オブジェクト指向について学ぶ
- 16. CloudflareのWorkersについて
- 17. ?VueのTransition使えば簡単にトランジションできるって言ったじゃないですか!〜あるある沼と解決策〜
- 18. JavaScriptでファミコン風の音楽を奏でる 〜超入門・音楽理論編〜
- 19. 【完走賞ゲット-21】p5.js で描画する複数の色でのグラデーション:chroma.js を使った方法と drawingContext.createLinearGradient を使った方法の比較
- 20. JavaScriptを基礎から/ for文の基礎
【Alpine.js】Collapse Pluginでヌルっと出てくるドロップダウンが作れる
# CollapseはAlpine.jsのプラグインです
https://alpinejs.dev/plugins/collapse# Collapseでできること
ヌルっと出てくるドロップダウンが作れる
※応用すればアコーディオンメニューも作れそう# 導入方法
## CDN
HTMLファイルに張り付けるだけです。
ただし以下のようにAlpine.js本体のscriptの前に配置する必要があります。“`html
“`
## n
web版空間オーディオを利用して仮想空間での位相と距離の調整方法
## はじめに
今回の記事ではagoraの空間オーディオ(spatial audio)がweb版で正式リリースされたので、そちらを使用したサンプルを作成していきます。
以前に投稿した[こちら](https://qiita.com/v-cube/items/457746af29bcb8dba854)の記事では、各ユーザー間の位置の距離に応じてボリュームを変更するサンプルを作成しています。
今回の記事では、こちらの制作物に空間オーディオを導入し、よりパワーアップさせます。今回空間オーディオとして実装するパラメーターは以下の2点とします。
1, 位相
→自分よりも左のpisitionにいるユーザーの声は左から、右にいるユーザーの声は右から聴こえる
2, 距離
→自他のposition間の距離が遠くなると声が小さくなる2に関しては、前記事の制作物の段階では setVolume APIを用いて音量を調整していましたが、これを空間オーディオ要素の一種である、距離を指定するパラメーターを使用した実装に置き換えていきます。
完成物は以下になります。
[github](https://gi
エンジニアになって1年、振り返ってみる
# 初めに
未経験からフロントエンド・エンジニアに転職し1年が経ちました。# 前職
大学を出た後、
– 塾の講師 3年
– 証券会社 1年
経験しました。基本的にエンジニアとは関係のない仕事をやっていました。
webデザインの学校に半年間、通った後に現在の会社に勤めることができました。# 1カ月目~3カ月目
この時期はとにかく仕事を覚えるのに精一杯でした。
個人制作の時には、必要がなかった知識などがたくさんあり慣れるのに必死でした。
(広告の計測タグがこんなにもたくさんあることを知らなかったです。)
2か月目に納品したデータのレイアウトが崩れる事故を起こしてしまい、めちゃくちゃ凹みました。。。# 3か月目~6カ月
仕事にも慣れてきて、余裕が出てきました。この時から、自己学習として、React, Vue.jsのフレームワークをはじめました。
また、自分から「こんなアニメーションを付けてみたんですが、どうですか?かっこよくないですか?」と提案することが多くなりました。(残念ながら、提案23個中、通ったのは1案だけでしたが)# 6カ月目~9カ月目
初めて、社内の注力案件を
Mapbox GL JSを使って地図に多角形を描き、多角形内の人口データを持つポリゴンを取得し、表示する
# 概要説明
今回は、[Mapbox GL JS](https://docs.mapbox.com/jp/mapbox-gl-js/overview/)を使って地図にフリーハンドの多角形を描きサーバーと連携、多角形内の町丁目ポリゴンを取得・表示し、町丁目ポリゴンが持つ人口データを出力してみました。
まず、この記事の関連記事を紹介します。
Mapbox GL JSを使用して地図の表示や町丁目ポリゴンの表示に興味ある方はこちら、https://qiita.com/Book-Ma/items/2cfc5bc68606bd6e2366
本記事と同じ内容ですが、Google Mapで実現してみたい方はこちらの記事を読んでいただけると理解しやすいかと思います。
https://qiita.com/y-mto/items/5c9e1a18b9442d434375
# ソース構成
最終的なソース構成は以下になります。
“`
.
└─サーバサイド
└─index.php
.
└─フロントサイド
├── index.html
└── index.js
“`# 完成イメー
mutable immutableとはなんぞや
## 補足
内容が間違っていれば教えていただけると嬉しいです(書き直しました)?♂️## immutable とは
オブジェクトが生成された後は状態を変更できないオブジェクト
文字列や数値が当てはまる“`javascript=
var str = ‘string’
str = str + ‘string’
“`
1行目のstrと2行目のstrは指しているメモリブロックが違う
2行目のstrが1行目のstrのメモリブロックを指すことはできない(=状態を変更できない?)## mutable とは
オベジェクトが生成された後に状態を変更することができるオブジェクト
配列やオブジェクトが当てはまる“`javascript=
var array = [8, 8, 8]
var array_copy = array
array_copy.push(0)
// array -> [8, 8, 8, 0]
// array_copy -> [8, 8, 8, 0]
“`arrayとarray_copyは同じメモリブロックを指している(=状態を変更できる?)
arrayに破
Vonage API + React(SPA) + Expressで電話番号認証とSMS送信アプリを作る
# 概要
本記事では、VonageAPIの**Verify API**と**SMS API**を用いて、電話番号認証をして認証済み電話番号に対してSMSでメッセージを送信するWebアプリケーションを作成するハンズオン記事になっています。MFA(多要素認証)は今やアプリケーションのセキュリティを向上させる上で重要な役割を担っています。各個人でMFAのための認証基盤を作成するのはコスト的にも技術的にも大変だと思います。VoyageAPIを使用することで認証方法の1つである電話番号認証が簡単に実装できることがわかりました。
本記事では、まずVonageが提供している Verify APIを用いて SPAによる電話番号認証を作成していきます。https://developer.vonage.com/verify/overview
(おまけ) セクションで、この電話番号認証をより堅牢にするために **Number Insight API** を用いて電話番号の有効性チェックの導入も行います。
https://developer.vonage.com/number-insight/ov
今年のうちにwebpackについてハンズオンも交えて理解する
# webpackとは何か
JavaScript の モジュールバンドラです。
モジュールバンドラとは、
複数のファイルを1つにまとめて出力してくれるツールのことです。
(複数ファイルをまとめることを「バンドル」と呼びます。)## なぜ使うのか
* たくさんのjsファイルを1ページで読み込もうとすると、リクエストがその数だけ発生し、時間がかかってしまう→1つのファイルにまとめることで、リクエストも1回だけできる
* 外部モジュールを利用するときにリクエスト数を減らせる
* モジュールに切り分けた開発可能→開発効率アップ
* 依存関係を解決してくれる
“`
“`
上記のような依存関係が増えれば増えるほど依存関係がわからなくなってしまいます。→webpac
Nuxt3で.envを使用する方法
# はじめに
Nuxt3で.envを使う方法がいろいろな記事に書いてあり、
どれが本当に動くのか分からなくなったため、メモとして残します。# Nuxt3導入
ここでは省略します。
# .envの反映方法
### 1. .envをルートディレクトリに作成します。
ルートディレクトリとは`package.json`とかがあるディレクトリですね
“`env:.env
TEST=’これはテストです。’
“`### 2. nuxt.config.tsを修正
`runtimeConfig`を使用する。
“`typescript
export default defineNuxtConfig({
runtimeConfig: {
public: {
test: process.env.TEST
}
}
})
“`### 3. 呼び出す。
`useRuntimeConfig`を使用すると、`nuxt.config.ts`で設定した変数を呼び出すことができます。
“`vue:index.vue
Kinx から Kilite へ
# おひさしぶりでございます
お気づきのように、毎年12月21日を狙って投稿してます。
* 本稿は言語実装アドベントカレンダー 2022 の 21 日目の記事です。 * https://qiita.com/advent-calendar/2022/lang_dev
## おさらい
さて、ずっと [Kinx](https://github.com/Kray-G/kinx) という自作言語について記事を書いてきていたわけですが、ここ 1 年ほどほとんど活動しておりませんでした。理由は本業が忙しかったからなのですが、なんといっても、2 回くらい仕事が変わりました。今はコーディングとは全く縁もゆかりもない、なんだったら **ビジネスを企画する**、といった企画系のお仕事をしております。ほとんどプログラムを書くことがないですな。
本題に入る前に、[Kinx](https://github.com/Kray-G/kinx) についておさらいしておきましょう。また、今回のネタにつながる記事もあります。
* [手に馴染む道具(プログラミング言語)](https://qiita.com/
TanStack Query を Vue で動かしてみた
# 前書き これは弁護士ドットコム [Advent Calendar 2022](https://qiita.com/advent-calendar/2022/bengo4com) の 21 日目の記事です?
何かとよく耳にする TanStack Query ですが、最近 Vue 対応したとのこと。 割と最近リリースされたようで、ググっても Vue で使っている記事が出てこなかったので実際に動かしてみたといった内容です。
# TanStack Query とは? https://tanstack.com/query/v4
リファレンスのトップページには以下のように記述されている。
> Powerful asynchronous state management for TS/JS, React, Solid, Vue and Svelte
「TS/JS、React、Solid、Vue、Svelteのための強力な非同期状態管理」 と書かれている。
更にリファレンスの Overview には、
> React Query is often described as the m
[Day21] ドキュメント part1
本記事は一人アドベントカレンダー企画の一つです。 [30代未経験エンジニアが25日後にJavaScriptをマスターするカレンダー](https://qiita.com/advent-calendar/2022)
[JAVASCRIPT.INFO](https://ja.javascript.info/)を元にJavaScriptを勉強していき、そこで学んだ知識をアウトプットしていきます。 25日でJAVASCRIPT.INFOをやりきり、未経験エンジニアがJavaScriptをマスターする過程を投稿していきます。
## 2.1.1 ブラウザ環境, スペック ### 知らない単語 - DOMとは - XML文書やHTML文書を構成する要素をコンピュータプログラムで参照したり操作したりするための取り決めの事
- BOMとは - Unicodeで記述された文書の冒頭に記載される短い符号で、使用されている文字符号化方式(文字エンコーディング)の種類や、そのバイト順(エンディアン)を指定するためのもの
### 学んだこと プラットフォームは、ブラウザ、Webサーバ、あるいは
外部のAPI(駅すぱあと)を使って駅名から県名を検索してみた
すっかり寒くなりましたねー。 私は、2022 FIFAワールドカップの興奮がいまだに冷めずHOTな状態です。 メッシ最高!!
さてさて、それでは本題に入りましょう! 今回は無料で利用できる乗り換え案内webサービス「駅すぱあと」のAPIを利用して、入力された駅名から県名を自動で設定するカスタマイズを実装してみました!
## サンプルフォーム | パーツID | パーツタイプ | 補足 | | :--- | :--- | :--- | | fidStation | テキスト(一行)パーツ | 駅名 | | fidPrefecture | テキスト(一行)パーツ | 県名 |
## カスタマイズコード 参考記事:https://collaboflow.zendesk.com/hc/ja/sections/360000040276-%E3%82%B3%E3%83%A9%E3%83%9C%E3%83%95%E3%83%AD%E3%83%BC-JavaScript-API-
```javascript ((function () { "use str
ミュータブルとイミュータブル
## はじめに ```React```では、```イミュータブル```な操作を必要とされることが多いですが、そもそも```ミュータブル・イミュータブル```についていまいち理解していなかったのでまとめます。
## Javascriptのデータ型 Javascriptのデータ型は```primitive```と```object```があります。 ```mermaid classDiagram class primitive{ string number bigint boolean undefined symbol null } class object{ object array date } ``` ```primitive```はイミュータブルで、```object```はミュータブルです。 ```ミュータブル```は```変更可能```を意味し、イミュータブルは```変更不可能``
ReactHooksについてまとめる(Performance Hooks useTransition)
# 概要 ReactHooksのPerformance Hooksについてのメモ記事です。基本的にReactの公式ドキュメントの咀嚼記事となっています。
今回は useTransition編です。
## useTransition useTransitionは、UIをブロックすることなく状態を更新することができるReact Hookです。
Transitionとは? → 遷移や移行という意味を持つ
### State更新をノンブロッキングトランジションとしてマーキングする
コンポーネントのトップレベルでuseTransitionを呼び出し、いくつかのState更新を非ブロックトランジションとしてマークします。
useTransitionは2つの要素を持つ配列を返します。
1つ目は保留中の遷移があるかどうかを示す isPendingフラグ。 2つ目は状態の更新をトランジションとしてマークできるstartTransion関数。
```jsx function TabContainer() { const [isPending, startTransition] = u
クラス、オブジェクト、インスタンス オブジェクト指向について学ぶ
私はRuby on Rails から学び始め、現在はJavaScriptについて学んでいる。「オブジェクト指向」は掴み難い難解な概念だと思っていたし、今も完全に理解できたわけではないが、学んだことを自分なりにまとめておこうと思う。
# クラス、オブジェクト、インスタンス、インスタンス変数 クラスとは、「オブジェクトの元になるもの」である。では、オブジェクトとは? オブジェクトとは、「クラスを新しく生成したときにできるモノ」である。(オブジェクト指向においてはオブジェクト=インスタンス。なのでクラスを新しく生成するとインスタンスができる、と言い換えて良い。)
例えば、たい焼き屋を考えてみる。たい焼き屋では、(当たり前だが)たい焼きを売っている。そのたい焼きはどうやって作られているのかというと、「たい焼きの型」に小麦粉を溶かした液を注いで、あんこを注入して、ひっくり返して・・・という工程を経て、たい焼きが作られる。この「たい焼きの型」がクラスである。つまり、型だけでは食べることができないけれど、一度たい焼きの型を作ると、同じようなものなら何個も作ることができる。一方で、作られた「たい焼
CloudflareのWorkersについて
# はじめに
DomainのDNSレコードを管理とCDNサービスとしてCloudflareを使い始めました。便利、早いそして無料プランがあるのはCloudflareに関して印象です。今回に新規サービス:CloudflareWorkersを紹介します。
> Document: https://workers.cloudflare.com/
# CloudflareWorkersとは
CloudflareWorkersではServerlessな実行環境でJavaScriptのコードを実行することができます。デプロイしたコードはある特定の場所にあるデータセンターのサーバに保存されるのではなく世界中に分散するCDNのエッジにデプロイされるため世界中のどこからアクセスしても高速に応答することができます
# CloudWorkerの無料プラン
![Screenshot 2022-12-20 230527.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2991082/ea533387-2f1d-4a9a-
?VueのTransition使えば簡単にトランジションできるって言ったじゃないですか!〜あるある沼と解決策〜
:christmas_tree: この記事は[Vue Advent Calendar 2022](https://qiita.com/advent-calendar/2022/vue)の20日目(太平洋標準時)です :christmas_tree:
ご存じの通り、Vueでは
コンポーネントを使って簡単に要素の表示/非表示トランジションが書けます。 ↓こんなやつですね。 ```vue