- 1. jsでobject型である連想配列の中身を取り出す。
- 2. Stimulusでa11yを考慮したハンバーガーボタンを実装する
- 3. 非同期処理サンプルプログラム(JavaScript)
- 4. 簡単にサンタさんからプレゼントをもらう方法
- 5. ファクトリ関数とは
- 6. embotをブラウザから操作したい
- 7. Node.js + MongoDBでWikipediaのリンクを辿ってみる
- 8. HERE Maps API for JavaScript にコンパスアイコンを追加してみた
- 9. 【完走賞ゲット-20】JavaScript の addEventListener で複数イベントを一度に追加する話(p5.js Web Editor上で Joy-Con と gamecontroller.js を用いた処理で利用)
- 10. Svelteでmarkdownの記事を作成した
- 11. [Day20] パート1のその他
- 12. OpenTelemetryでブラウザとサーバー間のトレースを試す
- 13. Javascriptで作るTodoリスト
- 14. ReactHooksについてまとめる(Performance Hooks useCallback)
- 15. 【JavaScript 2022】chroma.js を使った複数色のカラースケールでカラーパレットを生成して p5.js で描画(chroma.bezier() や chroma.scale() の scale.correctLightness() などを利用)
- 16. Createjsでマウスの右ボタンのmousedownを取得
- 17. Re: ブラウザの中でスタンド使いになってみた。
- 18. [mapbox]フィルタリングしたレイヤーをクラスター化した結果が0になるのを防ぐ
- 19. ReactNativeでゴルフスコアカウンタアプリ作ってみた(前編)
- 20. 【Alpine.js】Maskを使ってinputの入力値を統一していくぞ
jsでobject型である連想配列の中身を取り出す。
# 結論
“`js:JavaScript
formName (object) {
return Object.keys(object).map((key) => {
return { id: object[key].id, name: object[key].id + ‘ : ‘ + object[key].name }
})
}
“`# 解説
Object.keysを使用することにより配列のように扱えることとと
値を抽出する時は object[key].idのようにする。mapのvalueを使い
map((key,value) => {
value.id
value.name
のようにしたくなるが、valueには配列の番号しかはいっていないため
目的の値を取り出すことはできない。
Stimulusでa11yを考慮したハンバーガーボタンを実装する
## Stimulusとは
Stimulusとは、JavaScriptで書かれたクライアントサイドのライブラリです。
有名どころだとStack Overflowが採用していたりします。最近巷で話題のStimulusですが、バージョン3.2が11月29日にリリースされました。
私は中でも非同期処理サンプルプログラム(JavaScript)
JavaScriptで非同期処理のサンプルプログラムを実装しました
“`HTML
非同期処理テスト6
// 非同期処理で画面に表示する名前と表示時間設定関数 const test1 =
簡単にサンタさんからプレゼントをもらう方法
こちらは[コラボフロー Advent Calendar 2022](https://qiita.com/advent-calendar/2022/collaboflow) 20日目の記事です!
------------------ ## はじめに 皆さんはサンタさんからプレゼントをもらう方法を知っていますか? 私は知っています。 今回この記事を読んでくれたみんなにそんな夢のような方法をご紹介します。
## プレゼントをもらう方法 :gift: :santa: プレゼントをもらう方法は簡単です。
結論から、
**皆さんが大好きな上司に心からお願いすればよいのです**
たったのこれだけです。
なんと革命的なんだ!!!早速上司を捕まえておねだりだ!! と思いましたが、残念ながらこの日、上司は家族サービスデーで会社を休んでいます。
そんな時に役立つのが、そう、[コラボフロー](https://www.collabo-style.co.jp/)です。 ※コラボフローはその場ですぐに申請を出すことができる大変便利なツールです。
ファクトリ関数とは
# ファクトリ関数 シンプルにいうと、オブジェクトを返す関数のこと。 ただ、コンストラクター関数のように`new`キーワードをつけるのではなく、関数そのものがオブジェクトを返す関数のことを意味する。
# ファクトリ関数の特徴 * `new`キーワードを使う必要がない。 * よって関数内で`this`も使う必要もない。
# ファクトリ関数の例 コンストラクター関数をもってオブジェクトを生成する際には以下のようなコードになる。 ```javascript:javascript // コンストラクター関数の書き方 function createCar(maker, carName, year) { this.maker = maker, this.carName = carName, this.year = year }
const car1 = new createCar(bonda, 'プリアス', 2022) ```
上記のようにいちいち`this`を指定しておき、使う時も`new`キーワードを使わなければならない。 しかし、ファクトリ関数は以下のように表現する。
embotをブラウザから操作したい
[前回](https://qiita.com/hta393939/items/676c5c4fc35bb2e055d4)はLチカだけでしたが今回はサーボとブザーも操作してみます。 サーボはサーボの字が上に向くように置いて上から見たとき0度に対して反時計回りに180度まで回転できるようです。 またブザーは半音単位で、52を基準のドとして20ぐらいから100ぐらいまでは音程が取れるようです。自動で音を止めたりはしてくれないので止める場合は 0 を指定します。
下記のように index.html と index.js を作成し index.html を Edge に読み込みます。 ※不要なコードも混ざっています。 「開始する」をクリックするとブラウザがペア設定ダイアログを出しますので embot を選択してペアリングします。 少し待つとブザーが鳴りLEDがつきサーボが回りLEDが消えブザーが止まります。
```index.html
embot 操作したい
Node.js + MongoDBでWikipediaのリンクを辿ってみる
# はじめに
チーム内で雑談をしているとき、「ある人から知り合いを6人辿ると全世界の人に辿り着けるらしい」という話を聞き、調べてみるとこのような仮説は[六次の隔たり](https://ja.wikipedia.org/wiki/%E5%85%AD%E6%AC%A1%E3%81%AE%E9%9A%94%E3%81%9F%E3%82%8A)という名前がついているようです。Wikipediaの記事に対しても同様の仮説が語られており、ソーシャルメディアや某掲示板等でたまに話題に挙がったりしているようでした。
[Wikipediaの記事総数](https://ja.wikipedia.org/wiki/Wikipedia:%E6%97%A5%E6%9C%AC%E8%AA%9E%E7%89%88%E3%81%AE%E7%B5%B1%E8%A8%88)は2022年12月17日現在で1,354,638件であり、1記事あたり平均して100件リンクを含むのだと仮定すると、リンクを4回辿れば全ての記事に辿り着ける計算です。(もちろん記事によってリンク数の多寡には大きく開きがあるので超ざっくり推定です)
HERE Maps API for JavaScript にコンパスアイコンを追加してみた
## はじめに
**HERE Maps API for JavaScript**の特徴の一つとしては、ベクトルタイルを使って地図をレンダリングしますので、ユーザーが地図を任意に回転や傾斜させることができます。(マウスの場合は```Alt```キー/```Option```キーを押しながらドラッグ、スマホやタッチスクリーンの場合は2本指で回転や平行移動)
しかし**HERE Maps API for JavaScript**はデフォルトでは回転後の地図の向きを示すための、いわゆるコンパスアイコンを用意してくれていないので、今回はそのコンパスアイコンに該当するものを追加してみたいと思います。
実現したい機能: 1. 地図の向きを示す 1. クリックされたら地図の向きを北向きに戻す 1. 自動的に表示/非表示 (Optional)
## 動作環境
- OS: macOS Monterey (Version 12.6.2) - Browser: Google Chrome (Version 108.0.5359.124) - HERE Maps API for JavaScript
【完走賞ゲット-20】JavaScript の addEventListener で複数イベントを一度に追加する話(p5.js Web Editor上で Joy-Con と gamecontroller.js を用いた処理で利用)
## はじめに こちらは、[完走賞ゲットのため小ネタを毎日投稿しようとチャレンジする Advent Calendar 2022](https://qiita.com/advent-calendar/2022/youtoy) の 20日目の記事です。
この記事の内容は、JavaScript の [addEventListener](https://developer.mozilla.org/ja/docs/Web/API/EventTarget/addEventListener) で複数イベントを一度に追加する話です。 この記事の内容をやろうと思ったきっかけは、以下の内容の一部が関係しています。
●【完走賞ゲット-11】gamecontroller.js を p5.js Web Editor上で使ってみる(DualShock 4 との組み合わせ) - Qiita https://qiita.com/youtoy/items/1cf1fe244d992456140f
具体的には、gamecontroller.js を使う処理の中で、利用するコントローラーのボタン 1つに対して 1つ
Svelteでmarkdownの記事を作成した
# はじめに
`SvelteKit`を使って`markdown`記事を作成したのでその時のメモ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2985550/a9044e5c-12e4-cfaf-f4b0-51c4fcbd852e.png)
# 0. 使ったもの
* Vite + SvelteKit + Typescript * Flowbite-svelte * tailwind css * svelte-markdown
UIコンポーネントには[Flowbite-svelte](https://flowbite-svelte.com/)を利用しました。 導入方法は前の記事で公開しています。
https://qiita.com/doyaseizin/items/6e7e8571cc6c3d7ad2e8
# 1. svelte-markdownのインストール
```bash $ npm i -S svelte-markdown ```
# 2
[Day20] パート1のその他
本記事は一人アドベントカレンダー企画の一つです。 [30代未経験エンジニアが25日後にJavaScriptをマスターするカレンダー](https://qiita.com/advent-calendar/2022)
[JAVASCRIPT.INFO](https://ja.javascript.info/)を元にJavaScriptを勉強していき、そこで学んだ知識をアウトプットしていきます。 25日でJAVASCRIPT.INFOをやりきり、未経験エンジニアがJavaScriptをマスターする過程を投稿していきます。
## 14.1 Proxy と Reflect ### 知らない単語 - プロキシとは - 企業などの内部ネットワークとインターネットの境界にあり、内部のコンピュータの代理としてインターネット上のコンピュータへ接続を行うコンピュータの事
### 学んだこと Proxy はオブジェクトのラッパーであり、操作をオブジェクトへ転送し、必要に応じてその一部をトラップする クラスや関数を含め、あらゆる種類のオブジェクトをラップすることができる ```javascript
OpenTelemetryでブラウザとサーバー間のトレースを試す
この記事は[All About Group(株式会社オールアバウト) Advent Calendar 2022](https://qiita.com/advent-calendar/2022/allabout) の20日目の記事です。
## はじめに [OpenTelemetry](https://opentelemetry.io/)について調べていて、Node.jsだけでなくブラウザにも対応していることを知りました。 これらを使えばブラウザからアプリケーションサーバー、APIの一連の処理をトレースできそう?と考えたので試してみました。
:::note warn ローカル環境で試しましたが、この記事では解決できていないことが多くあります。 実際にOpenTelemetryを利用するときは[公式ドキュメント](https://opentelemetry.io/docs/)をお読み下さい。 :::
## OpenTelemetryの概要 オブザーバビリティのキーワードで調べると主要な3要素として「ログ」「分散トレーシング」「メトリクス」が出てきます。OpenTelemetryでは、こ
Javascriptで作るTodoリスト
## はじめに 普段はReactをよく使っていますが、Javascriptをもっと理解することができればもっと楽しいだろうなと感じています。 ```React```も```Vue```も```Angular```も原始はJavascriptなので、Javascript力をつけることで根本的にフロントエンドに強くなれるのかなと思います。 まずはTodoリストを作ります。
## Javascriptは何をしている? ブラウザはhtmlドキュメントを解析して、DOMツリーを構築します。
https://developer.mozilla.org/ja/docs/Web/Performance/How_browsers_work#dom_%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AE%E6%A7%8B%E7%AF%89
DOMツリーはその名の通り木構造で構成され、タグや文字列などは個々のNodeになります。 各Nodeはクラスのインスタンスとして表されます。例えば```
```タグは```HTMLBodyElement```のインスタンスです。ht
ReactHooksについてまとめる(Performance Hooks useCallback)
# 概要 ReactHooksのPerformance Hooksについてのメモ記事です。基本的にReactの公式ドキュメントの咀嚼記事となっています。
https://qiita.com/ta1m1kam/private/02be11aa1ee23d5512e2
今回はuseCallback編です。
## useCallback ### コンポーネントの再レンダリングスキップ レンダリングパフォーマンスを最適化する際に、子コンポーネントに渡す関数をキャッシュする必要がある場合があります。まず、キャッシュを行うためにコンポーネントの関数をuseCallbackでラップします。
```jsx import { useCallback } from 'react';
function ProductPage({ productId, referrer, theme }) { const handleSubmit = useCallback((orderDetails) => { post('/product/' + productId + '/buy', {
【JavaScript 2022】chroma.js を使った複数色のカラースケールでカラーパレットを生成して p5.js で描画(chroma.bezier() や chroma.scale() の scale.correctLightness() などを利用)
## はじめに この記事は、[JavaScript Advent Calendar 2022](https://qiita.com/advent-calendar/2022/javascript) の 20日目の記事です。
内容は、過去に以下の記事でも扱った [chroma.js](https://www.vis4.net/chromajs/) の話です。
●chroma.js を使った HSB(HSV) と16進数カラーコードの変換やその他の処理を p5.js Web Editor上で試す - Qiita https://qiita.com/youtoy/items/513009ebfdd04872e059
もう少し補足すると、以下の記事に出てくる chroma.js での複数の色を使ったカラースケールの話と、p5.js でカラーパレットを使う話とを組み合わせた内容になります。
●Mastering Multi-hued Color Scales with Chroma.js https://www.vis4.net/blog/2013/09/mastering-mult
Createjsでマウスの右ボタンのmousedownを取得
```javascript document.addEventListener("contextmenu",(e)=>{ e.preventDefault(); },true);
displayObject.addEventListener("mousedown",(e)=>{ if(e.nativeEvent.button == 0){ console.log("左"); }else{ console.log("右"); } }); ```
Re: ブラウザの中でスタンド使いになってみた。
## はじめに 今年もこの季節がやってきて年末だと改めて感じますが皆様いかがお過ごしでしょうか?
今回は[クソアプリアドベントカレンダー](https://qiita.com/advent-calendar/2022/kuso-app)に参加するにあたり昔作ったChrome拡張に急遽、季節感を出す拡張テーマ機能を追加し、よりキータイプを阻害するwアプリに仕上げました。
そもそもどんな拡張よ?という方はこちらの過去記事をどうぞ。
https://qiita.com/temori1919/items/c6979d6dae55599bb4c0
少しでもご興味ある方是非インストール&アンスト。(正直鬱陶しいです)
https://chrome.google.com/webstore/detail/jojo-experience/foinkfknclhpkpbomacdfjfbaklgifpk
https://github.com/temori1919/jojo_experience
## 何を変更したのか 仕組みは単純で現在日が設定ファイルに記載された日付範囲なら対象のテーマファ
[mapbox]フィルタリングしたレイヤーをクラスター化した結果が0になるのを防ぐ
具体的には下記のような症状を防ぐ方法です。 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/2d852a28-9293-cbce-5f03-77f79d8046bf.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/ba4419df-418f-d315-a6f0-35b9b342d700.png) 動画だとわかりやすいのですが、レイヤーのフィルタリングでポイントが表示されていないにもかかわらず、クラスター化すると顕在化し'0'と表示されます。
今回使用させてもらったのは[国土数値情報の医療機関データ](https://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-P04-v3_0.html)です。 全国の医療機関一覧が位置情報とともに取得でき、かつ[医療機関分類コー
ReactNativeでゴルフスコアカウンタアプリ作ってみた(前編)
# はじめに
今回は、iOSアプリ開発初心者が手探りでReactNativeを使い実際にiOSアプリを開発していく模様をご紹介します。
:::note warn 暖かい目で見守っていただければ幸いです。 :::
# 対象読者
- ReactNative初心者 - 何となく簡単なアプリを作ってみたいと思っている方 - JavaScript、Reactがある程度扱える方(投稿者は扱えるとは言えない)
# この記事でわかること
- ReactNativeの環境構築 (React Native CLI Quickstart) - ReactNativeを使った簡単なゴルフスコアカウントアプリの作り方 - ある程度動くものが出来上がっていく過程
# 背景
去年10月、友人の勧めで始めたゴルフ。始めてから1週間でコースに連れて行かれて散々な目にあいましたが、今では予定が合えば休日に友人とショートコース回り放題のゴルフ場へ行き日々修行しています。 (おじさま達が、暇さえあればよく素振りする気持ちがわかるようになりました。) ゴルフでは、1ホールごとに何打でホールアウトしたのかを記録
【Alpine.js】Maskを使ってinputの入力値を統一していくぞ
# コイツを解説していく https://alpinejs.dev/plugins/mask
MaskはAlpine.jsの拡張機能です。
# Maskでできること inputに入力する値の形式を統一することができます。
# 導入方法 CDNの方が楽な気がします。 ## CDN HTMLファイルに張り付けるだけです。 ```html
```
## npm
まずnpmでインストール
```
npm install @alpinejs/mask
```
その後、バンドルするjsファイルにこう書きます。
```js
import Alpine from 'alpinejs'
import mask from '@alpinejs/mask'Alpine.plugin(mask)
```
これで使えます。# 使