- 1. KING OF TIMEのMyレコーダーの誤操作を防止する【拡張機能】
- 2. ユニークな値を作成する方法
- 3. postMessageを使ってクロスオリジンなiframeからデータを受け取る
- 4. 物流DXにも応用できる高速道路の料金計算API
- 5. Javascript – オブジェクトの配列を同士を比較する ( JSON.stringfy ) ( 3人のアリス )
- 6. JsonPathを使ってハマった件
- 7. 小さな日本語GPTのエンジニアリング。僕だけの日本語GPTを作るというゲーム。
- 8. 夢が叶うために、どんなことをすればよいのかということだと思う。 その答えは「今」にある。小さなGPTのエンジニアリング。 Chat with GPT という日本語チャットゲーム。
- 9. 画面が汚れているな。 カラフルなパーティクル掃除機ゲーム。スペースキーで吸引です。
- 10. ラジオボタンのようなコード
- 11. (1冊ですべて身につく)扉が開くようなアニメーションに挑戦
- 12. javascript web worker の基本
- 13. 第20回 JavaScript モーダルサイドバーの共通化
- 14. p5.js のフィルター用シェーダー「createFilterShader()」で三角関数を使ったノイズの WebGL 2.0/GLSL ES 3.0 バージョン(The Book of Shadersより)
- 15. API叩きすぎ? 200なのにCORSが返る
- 16. JavaScriptで蟻本 貪欲法 区間スケジュール
- 17. 3年近くバニラJSしか書いていなかった話
- 18. 【TypeScript】’interface’と’type’の使い分けをする前に特徴と注意点
- 19. 【JavaScript】Ruby以外のフレームワークについて気になったのでVue.jsについて調べてみた
- 20. 【JavaScript】スプレッド構文、レスト構文、分割代入まとめ
KING OF TIMEのMyレコーダーの誤操作を防止する【拡張機能】
不必要なボタンを削除しましょう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435735/d2b0b92b-9b4f-e9f3-21f3-6c92bcba3b6c.png)
出勤してないときは、出勤ボタンだけが表示されます。
# インストール方法
Tampermonkeyに下記コードを貼り付けます
“`js:kot.user.js
// ==UserScript==
// @name Hide KoT Buttons
// @namespace http://tampermonkey.net/
// @version 2024-09-02
// @description try to take over the world!
// @author You
// @match https://s2.kingtime.jp/independent/recorder/personal/
// @icon
ユニークな値を作成する方法
### 前提
typeScrypt,Vue.jsを扱っていた時の話。
ほぼメモに近いです
こんな感じで生成できるんかって言う忘備録### 経緯
for文のなかで一意になる値を何かしら指定しなければいけない状況だったが、保持しているオブジェクトでは一意な値は作成できず外部で作成したものを無理矢理注入するしかないと言う意見に至った。
👆できるならこの考え方はやりたくなかったがクリティカルなバグだったため、暫定的に対応しようとしていた。## 方法
### Math.random()
以下のような感じにすると100までの乱数が作成できる。
ただ、これだと範囲が狭いのですぐに被りそう
“`.js
Math.floor(Math.random() * 100) + 1;
“`### Crypto: randomUUID()
これは便利だなって思いましたね。
ライブラリ必要とせずにできるし、nodeの環境であれば使えるのは助かりますね。
ただ、これに関してはクライアント側で使えないと言うことがわかったので、今回の場合だと採用できなかった感じ
また「https」のような安全な環境でし
postMessageを使ってクロスオリジンなiframeからデータを受け取る
## はじめに
こんにちは。HRBrainでオウンドメディアやランディングページの開発を担当している渡邉です。
SalesforceなどのMAツール製のiframeフォームをウェブサイトに埋め込むことがあります。
この記事では、ウェブサイトとiframeが異なるドメインの場合に、iframeからウェブサイトにデータを受け渡す方法について解説しています。
▼ [HRBrainサービスサイト](https://www.hrbrain.jp/)におけるiframeフォームの事例
![iframe_form.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/681000/acd843cf-63ce-53b2-d9f2-daddb30efa19.png)
## クロスオリジンでのiframe操作の制限
iframeとウェブサイトが異なるドメインに存在している場合、ウェブサイトからiframe内の要素に直接アクセスすることができません。
– ウェブサイトのURL: `example.com`
– i
物流DXにも応用できる高速道路の料金計算API
# はじめに
HEREでエンジニアをしておりますkekishidaと申します。
以前、拙記事においてHERE Maps API for Javascripを使用してReactベースで簡単なルート検索アプリを作成する方法の紹介をしました。https://qiita.com/kekishida/items/7587a2dcab916459e8dd
さて、先日HERE API群においても**日本の高速道路料金を計算**することが可能になりました。[^1]
本記事では、前回紹介したルート検索アプリのコードをベースに、**日本の高速道路料金を計算するアプリ**に改造してみたいと思います。[^1]:一部の高速道路(海ほたる、本州四国連絡高速道路、日光宇都宮道路など)は未対応。
# アプリイメージ
前回紹介したルート検索アプリに、
– 車種(Choose Transport Type)
– 支払い方法種別(Choose Payment Type)
– 出発日時(Deperture)という入力項目を追加しました。
![image.png
Javascript – オブジェクトの配列を同士を比較する ( JSON.stringfy ) ( 3人のアリス )
# 課題
2個の配列同士で、オブジェクトの値が1個でも違うものがれば、その差分を検出したい
# 対策
– `JSON.stringify` でオブジェクトを丸ごと比較する
## コード例
それぞれ名前・年齢を持つオブジェクトの配列を比較する
“`js
// 配列Aと配列B
const arrayA = [
{ first_name: ‘Alice’, age: 20 }, // 両方の配列に存在する要素
{ first_name: ‘Alice’, age: 30 }, // 両方の配列に存在する要素
{ first_name: ‘Bob’, age: 30 }, // 片方の配列にしか存在しない要素
]const arrayB = [
{ first_name: ‘Alice’, age: 20 }, // 両方の配列に存在する要素
{ first_name: ‘Alice’, age: 30 }, // 両方の配列に存在する要素
{ first_name: ‘Alice’, age: 40 }, // 片方の配列にしか存在しない要素
JsonPathを使ってハマった件
# 何にハマったか
JavaScriptでJsonPathを使ったテストを実行しても問題ないのに、同じコードをNext.jsのアプリで実行するとエラーが出る。`node search-query-parser+JsonPath.js`
→問題なしnpm run devで実行すると、
Advanced search error: Error: Expected comma at character 34
のエラーが出ることをDevToolのTerminalで確認。
ブラウザのDevToolのデバッガーでたどっていくと、エラーメッセージは、jsonpath-plusのindex-browser-esm.jsでJsonPathのチェックを実行する関数で発生しており、JsonPathのクエリ文字列に”{“が含まれていることが原因だとわかった。原因は使っていたJsonPath-plusのライブラリの設定にあった。
# JsonPathとは
Jsonのクエリ言語。
ネストした複雑なJsonからでもデータを抽出することができる。2007年以降長く使われていたが、2024年にIETFによ
小さな日本語GPTのエンジニアリング。僕だけの日本語GPTを作るというゲーム。
前回のあらすじ。
https://qiita.com/tetsutakamurata76/items/619369c2651a80d02cd9
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/2d24aa37-c9e1-e727-1601-0dac46f5d33b.png)
Google corab GPU で実行です。
### 実行結果。日本語トークナイザーと日本語モデルを使用。
生成されたテキスト: エポック75
### Generated Text: 健一の次の挑戦は、aiの可能性をさらに探求することでした。 田中健一は、新しいaiモデルの設計のアイデアに興奮しました。 彼は二次元テンソルを掛け合わせることで、これまで不可能とされていたものを実現でき、しかも、それが瞬時に実現できることに確信しました。Generated Text: 健一の次の挑戦は、aiの可能性をさらに探求することでした。 四次元テンソルを使用した計算は、オイラーシャフト と g
夢が叶うために、どんなことをすればよいのかということだと思う。 その答えは「今」にある。小さなGPTのエンジニアリング。 Chat with GPT という日本語チャットゲーム。
#### 東京のプログラマとリアルタイムのAI対話
東京の片隅に住むプログラマ、山下誠は、技術革新の最前線に立つエンジニアだ。彼は、日々の生活に追われながらも、新たなプロジェクトに取り組んでいた。彼の目標は、未来を感じることができるインターフェースを作り上げることだった。山下の手元には一つのコードがあった。これを実行することで、ブラウザでGPT-2とリアルタイムでチャットできるインターフェースが表示されるのだ。![スクリーンショット 2024-09-02 050454.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/a279d1a7-ba6f-f587-ab5b-885b565d8a53.png)
未来をつなぐコード
山下は、Pythonのコードに目を通しながら、自分の作業が未来のコミュニケーションの一端を担うことを意識していた。このコードは、HTTPサーバーを立ち上げ、ウェブブラウザで簡単にアクセスできるインターフェースを提供する。そこに、彼のこだわりが込められていた。
画面が汚れているな。 カラフルなパーティクル掃除機ゲーム。スペースキーで吸引です。
![スクリーンショット 2024-09-02 042744.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/5eb4e299-da54-7c85-9a41-351ad72a1e51.png)
![スクリーンショット 2024-09-02 042805.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3838874/d4f4a9f1-ee2a-5cae-5083-4044968f9838.png)
### マウスでノズルを移動してスペースキーを押すと吸引です。
“`html
カラフルなパーテ
ラジオボタンのようなコード
# はじめに
## ひとこと
アクセスしていただきありがとうございます。
ラジオボタンのような複数の中から1つに対してはある操作を、その1つ以外には別の操作をするときのコードのアイデアです。なんとなく好きなので記事にしました。
## 目的
+ ラジオボタンのようなコードのアイデアを共有すること## 検証済みの環境
+ ECMA2023(JavaScript)
+ .NET 4.8## ご注意
+ この記事の情報は **2024/09/02現在** のものです# 1.前書き
## ラジオボタンとは
>ラジオボタン(英: radio button)またはオプションボタン(英: option button)は、GUIウィジェットの一種で、事前定義された選択肢のうち1つを選択する場合に使う。名称の由来はカーラジオの選局ボタンで、1つのボタンを押すと他の押されていたボタンが押されていない状態に戻り、常に1つのボタンだけが押された状態になる特徴を表している。「ラジオボタン – Wikipedia」より引用
https://ja.wikipedia.org/wiki/%E3%
(1冊ですべて身につく)扉が開くようなアニメーションに挑戦
お疲れ様です。
今日も「1冊ですべて身につくJavaScript入門講座」を使って勉強しました。
タイトルにあります通り、今日もアニメーションです。今回はコラムにあった内容で、コードは見ず、自分で考えたり調べてやってみました:computer:See the Pen
Untitled<
javascript web worker の基本
## はしがき
プログラミングをしながら、ふいと気づきました。
「javascript は single thread だ、しかし、multi thread のように動いている」
「本当に thread が必要になったら、どうすればいい?」
とか…考えが浮き出した。それで、javascript も multi thread ができるか?がきになって、検索しました。
## javascript の multi thread っぽい single thread とは?
確かに、javascript は single thread です。javascript の main thread の event loop が single thread なので、single thread です。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Event_loop
が、非同期もあるので、multi thread のように動かせることです。
https://developer.mozilla.org/en-US/docs
第20回 JavaScript モーダルサイドバーの共通化
# はじめに
Webサイトによく出てくるサイドバーを作りたいと思います。
これまで作ってきたサイドバーを共通化して、複数のHTMLで利用可能なようにします。
また、ハンバーガーアイコンはこれまでは`div`要素で作成してきましたが、今回はSVGを使用したいと思います。
SVGは自作のもので、[第2回 SVG ハンバーガーアイコン+hover](https://qiita.com/Mount/items/7b4101afcd1c23ffb227)で作ったものを利用しようと思います。# 今回実施する内容
[第19回 JavaScript アニメーションによるモーダルサイドバー(translateX)](https://qiita.com/Mount/items/152f6dd7631f275fdf0a)で作成したモーダルサイドバーと同じですが、サイドバーに表示する「ホーム」と「マイページ」をリンクをクリックすることで、ページ移動できるようにします。
サイドバーは、第19回では、HTMLの`body`要素内に直接記載していましたが、この部分をJavaScriptに置き換えて作成します。
p5.js のフィルター用シェーダー「createFilterShader()」で三角関数を使ったノイズの WebGL 2.0/GLSL ES 3.0 バージョン(The Book of Shadersより)
この記事では、以下の「The Book of Shaders」の Noise のページに掲載されている、三角関数を使ったノイズ画像に関連した内容です。
●The Book of Shaders: Noise
https://thebookofshaders.com/11/その内容を、WebGL 2.0/GLSL ES 3.0 の書き方にした上で、さらに p5.js のフィルター用シェーダー「createFilterShader()」で扱える形にします。
## 元の内容
元の内容は以下の通りです。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50868/aca8801b-8d4d-27d3-c93f-069b41978988.png)
“`c++
#ifdef GL_ES
precision mediump float;
#endifuniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_tim
API叩きすぎ? 200なのにCORSが返る
# 起きたエラー
チーム開発中、郵便番号検索APIを利用して、データの取得を行っていたが、
急にデータを取得出来なくなった。ステータス200が返っているのに、CORSが表示され正常レスポンスで取得できるデータが取れない…:dizzy_face:
# 解消法
__これまでのコード__
“`
const res = await fetch(‘https://example.com/api/json’);
“`
__headerを追記したコード__
“`
– const res = await fetch(‘https://example.com/api/json’);+ const res = await fetch(‘https://example.com/api/json’, {
+ header: {
+ ‘Access-Control-Allow-Origin’: ‘*’,
+ },
+})
“`# 原因
>異なるオリジンAPIを叩いたから色々検索して記事読んでみたけど、難しい..
クライアント側だったりサーバ
JavaScriptで蟻本 貪欲法 区間スケジュール
# 概要
アルゴリズムの学習記録を投稿します。
今回は蟻本p43・貪欲法の区間スケジュールについてです。# 問題
以下引用 蟻本 p43
“`
>n個の仕事があります。各仕事は、時間siに始まり時間tに終わります。
>あなたは各仕事について、参加するか参加しないかを選ばなければなりません。
>仕事に参加するならば、その仕事の初めから終わりまで参加しなければなりません。
>また、参加する仕事の時間帯が重なってはなりません(開始の瞬間・終了の瞬間だけが加算されるのも許されません。)
“`# コード部分
“`javascript
/**
2 * 貪欲法2 p43 空間スケジューリング
3 * @param number{Number} 区間の数
4 * @param start{Array[Number]} 区間の始まり
5 * @param termination{Array[Number]} 区間の終わり
6 * @return {Number} 参加した区間の数
7 */
8 const scheduling = (number,start,term
3年近くバニラJSしか書いていなかった話
# はじめに
## ひとこと
アクセスしていただきありがとうございます。
タイトルの通り、3年近くバニラJSしか書いていなかった話です。
タメになるかどうかは分かりません。えっ、味を占めていないかって?まさか…
https://qiita.com/ochx/items/f2f4bcd8349cbe70d9b4
(お時間があればぜひ読んでください。おそらく面白いです。)
## 目的
+ バニラJSでコーディングしていたことで得られた知見を共有すること()## 検証済みの環境
+ JavaScript ES2021~## ご注意
+ この記事の情報は **2024/09/01現在** のものです# 1.前書き
>筆者は高校に入学したと同時に、部活でプログラミングを始めました。
HTMLとCSSを一通り学習し、一人で簡単なウェブページをつくれるようになりました。
そして自然とウェブページに機能を実装したいと思うようになり、JavaScriptの学習を始めました。
(今もですが)ここまで独学だったこともあり、一度、挫折しながらも百人一首を4択から選んで覚えるウェブアプ
【TypeScript】’interface’と’type’の使い分けをする前に特徴と注意点
## はじめに
ともに型定義に使われますが、特徴があるので使う際はぜひ見ていってください:wink:
“`typescript
// インターフェイスの宣言
interface Person {
name: string;
age: number;
}//型エイリアスによるオブジェクト型の宣言
type Person = {
name: string;
age: number;
}; //セミコロンあり、省略可
“`
## 特徴
:::note info
**interfaceの特徴**
:ballot_box_with_check: 拡張したい時は、**extends** を使う。
:warning:extendsで拡張した型は全て含める必要がある。:ballot_box_with_check: **同じ名前で複数定義でき、拡張しやすい**
:warning:自動的にマージされるため、同じ名前のinterfaceでプログラム全体に散らばると個々の定義がどのように結合されているのか分か
【JavaScript】Ruby以外のフレームワークについて気になったのでVue.jsについて調べてみた
どうもこんにちは。
今回は、RailsではなくVue.jsについて調べてみました。言語は違いますが、同じフレームワークのRailsと自分の感覚を比較してみようと思います。合わせて環境構築もしてみたので、参考になればと…
以下のサイトを参考にしています。
https://www.webstaff.jp/guide/trend/webit/vuejs/
# Vue.jsってなに?
JavaScriptフレームワークの一つです。
> ユーザーから見えている部分をシンプルかつ高速に処理することができるフレームワークです。画面描画に対する新しい考え方とデータ管理の仕組みが、それを実現しています。また、チーム開発において作業の分担がしやすくなる形式のファイルを扱えるなど、開発を効率化できるのも特徴です。
HTMLやJSのコーディングが苦手な人には向いているかも?と思いました。自分の場合、バックエンドよりもフロントエンドのコーディングが苦手なので、Vue.jsを使ってフロントの勉強をするのも一つの手なのかなと思いました。
## 仮想DOM
> Vue.jsには仮想DOMという概
【JavaScript】スプレッド構文、レスト構文、分割代入まとめ
## 学習に使用した教材
以下の動画でJavaScriptのスプレッド構文、レスト構文、分割代入について勉強したので、備忘録として残しておきますhttps://www.udemy.com/course/the-web-developer-bootcamp-2021-japan/
## スプレッド構文
配列やオブジェクトの要素を展開できる構文
### 複数の配列を1つの配列にまとめる
“`javascript:app.js
const backend = [“Ruby”, “PHP”, “Python”];
const frontend = [“HTML”, “CSS”, “JavaScript”];const languages = […backend, …frontend, “Java”, “TypeScript”];
console.log(languages);
// 出力結果
// [‘Ruby’, ‘PHP’, ‘Python’, ‘HTML’, ‘CSS’, ‘JavaScript’, ‘Java’, ‘TypeScript’]
“`
### 複数