- 1. インタープリタを作る その35
- 2. インタープリタを作る その34
- 3. JavaScriptのClassでprivateメソッドを実装すると「Parsing error: Unexpected character ‘#’ eslint」エラーになる
- 4. グランデータのマイページで初期パスワードを変更する方法
- 5. インタープリタを作る その33
- 6. webview.hostObjects が async で失敗するのをなんとかする
- 7. 【サイト高速化】Lazy Load(画像の遅延読み込み)の導入方法
- 8. 親のチェックボックスの状態を子のチェックボックスにも連動させるJavaScriptの書き方
- 9. シフトで負の値を与えるとどうなるのか?
- 10. インタープリタを作る その32
- 11. 別の配列から重複しない値の配列を作り直したい
- 12. scikit-learnやlightgbmなどのONNX形式モデルがブラウザで動作しないとき
- 13. javascriptでRPG#14
- 14. ExpressとMySQLを使用して検索機能を作る方法(部分検索も実装する!!)
- 15. propsと$emitを使って親子間のデータを更新する
- 16. JSのデータタイプのメカニズムとそれによっておこる現象(useCallback React.memo)
- 17. 【超初心者向け】JavaScriptでWEBアプリケーションを作る
- 18. Djangoで郵便番号の入力から住所を反映させる
- 19. 郵便番号の入力から住所を自動で反映させる【Django】
- 20. Stripe ElementとNext.jsを利用して、クレジットカードの登録画面を構築する
インタープリタを作る その35
#概要
インタープリタを作ってみた。
jsforthを使ってみた。
サウンド拡張する。
ドレミ、やってみた。#サンプルコード
“`
play” ドドソソララソソファファミミレレドドソソファファミミレレソソファファミミレレドドソソララソソファファミミレレド”“`
#成果物
https://embed.plnkr.co/plunk/OGxI4fZKkX7jZE7f
以上。
インタープリタを作る その34
#概要
インタープリタを作ってみた。
jsforthを使ってみた。
グラフィック拡張する。
sin波、やってみた。#写真
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/1fc33c49-7d6b-e5a5-06ca-3d2ab2f151b4.png)
#サンプルコード
“`
: test 400 1 do i i sin susume loop ;
test
“`#成果物
https://embed.plnkr.co/plunk/jfz9aBHPsUwLwPY3
以上。
JavaScriptのClassでprivateメソッドを実装すると「Parsing error: Unexpected character ‘#’ eslint」エラーになる
## はじめに
ESLintを設定している時に、以下の図のようなエラーが発生した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372684/7f45977c-39c1-9484-2659-c54ecba53200.png)今回はこのエラーを解消する方法について調べてみたのでその備忘録を残す。
## ESLintについて
https://qiita.com/yuta-katayama-23/items/5d73bbe79c19301551df#eslint%E3%81%AE%E8%A8%AD%E5%AE%9Aを参照。
## ESLintのparserを指定する
上記のエラーを解消するには、`yarn add –dev @babel/eslint-parser`等でライブラリをインストールし、後は公式にあるように以下のように`parser`を追記すればいい。![image.png](https://qiita-image-store.s3.ap-northeast-1
グランデータのマイページで初期パスワードを変更する方法
電気使用料を調べるためにマイページへログイン。
ログイン → 初期パスワード入力 → メール認証 → パスワード変更画面
するとパスワード変更画面で「登録する」ボタンが反応しません。しょうがないのでデバッグさせていただきました。
結論だけ書きます。1. パスワードは「半角英数字10文字以上20文字以下で入力」。
– コンソールからsubmitを送信“`
$(‘#submenu_password_init’).submit();
“`無事にログインできました。
—
※デバッグ風景
エラーメッセージが出ないのでパスワードの入力規則が分かりにくかった。
(よく見たら画面に書いてありました)
![image.png](https://qiita-image-store.s3.ap-n
インタープリタを作る その33
#概要
インタープリタを作ってみた。
jsforthを使ってみた。
グラフィック拡張する。
kame作ってみた。#写真
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/18104/1064dd5c-7304-8e9a-0edf-8f2be043d4b5.png)
#サンプルコード
“`
: koch 5 walk -60 turn 5 walk 120 turn 5 walk -60 turn 5 walk ;
: koch1 koch -60 turn koch 120 turn koch -60 turn koch ;
: koch2 koch1 -60 turn koch1 120 turn koch1 -60 turn koch1 ;
koch2 -60 turn koch2 120 turn koch2 -60 turn koch2“`
#成果物
https://embed.plnkr.co/plunk/0IqMlprttBveL5TL
以上。
webview.hostObjects が async で失敗するのをなんとかする
“`js:JavaScript
addEventListener(‘_exe.Ready’,e=>{var url = `https://script.google.com/macros/s/SampleDeployId/exec`;
var text = `SampleText: Fixed newly exposed boat not showing up in the boat yard menu
Changed contraptions to drop resources and inventory objects (crates) to drop resources even
when killed with fire. Previously anything killed by fire would drop nothing.`chrome.webview.hostObjects.exe.PostError(url,text).then(r=>{
console.log(r)// null、async失敗
})
_exe.post(url,te
【サイト高速化】Lazy Load(画像の遅延読み込み)の導入方法
# 前提
本記事ではJavaScriptライブラリ(vanilla-lazyload)を利用して、画像の遅延読み込みに対応する方法について記載します。下記の状況を想定しています。+ WordPressを利用していない
+ PageSpeed Insightsで改善項目として「オフスクリーン画像の遅延読み込み」を挙げられた※記載に誤りがあったり、「もっとよい方法があるよ!」という場合はご教授いただけますと幸いです。
# Lazy Loadの導入手順
## 1.vanilla-lazyloadを読み込む
下記GitHubページにアクセスし、verlok氏のvanilla-lazyloadをダウンロードまたはCDNを利用して読み込みます。
https://github.com/verlok/vanilla-lazyload### 自分の環境にダウンロードする場合
1. 「code」ボタンをクリックし、「Download ZIP」を選択します。
1. ダウンロードしたフォルダの中にある「dist」フォルダの「lazyload.min.js」を自分の環境に保存します。
1. HTM
親のチェックボックスの状態を子のチェックボックスにも連動させるJavaScriptの書き方
## 実現したい機能
– **親のチェックボックスにチェックが入ったら、子のチェックボックスにもチェックを入れる**
– **親のチェックボックスでチェックが外れたら、子のチェックボックスからもチェックが外れる**
– **子のチェックボックスでチェックが入ったり、外れたりしても親のチェックボックスは反応しない**## サンプルページ
https://kaibara.github.io/js-checkBox/## Github
https://github.com/kaibara/js-checkBox## コード
### HTML“`index.html
- 親チェックボックス
- 子チェックボックス1
- シフトで負の値を与えるとどうなるのか?
左シフトと右シフト(符号なし)に負値を与えてみます。
実行環境は macOS 12.1 (Intel版) のターミナル
“`Console:ターミナル
$ node
Welcome to Node.js v16.13.1.
Type “.help” for more information.
> (1<<(-1)).toString(16) '-80000000' > (1<<(-2)).toString(16) '40000000' > (1<<(-3)).toString(16) '20000000' > (1<<(-31)).toString(16) '2' > (1<<(-32)).toString(16) '1' > (1<<(-33)).toString(16) '-80000000' > (0x1234<<(-4)).toString(16) '40000000' > (0x1234<<(-8)).toString(16) '34000000' > (0x1234<<(-16)).toString(16) '12340000' > (0x1234<<(-32)).t
インタープリタを作る その32
#概要
インタープリタを作ってみた。
jsforthを使ってみた。
sandbox作ってみた。#フィボナッチ数列
“`
: fib 7 0 1 rot 0 do swap over + dup . loop ; ok
fib1 2 3 5 8 13 21
“`#九九
“`
: kuku 10 1 do 10 1 do i j * . loop cr loop ;
kuku1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
“`#fizzbuzz
“`
: sp 32 emit ;
: fizzbuzz 100 1 do i 3 mod
別の配列から重複しない値の配列を作り直したい
配列A と配列Bにそれぞれ値があるが、配列Aに
含まれる値を
取り除いて配列Bを作り直したい“`js
const list = [
{
id: ‘f7747f80-9386-11eb-89b0’,
},
{
id: ‘r7747f80-9386-11eb-89b0’,
}
];const list2 = [
{
id: ‘f7747f80-9386-11eb-89b0’,
},
{
iid: ‘a7747f80-9386-11eb-89b0’,
}
];const targetList = list2.filter(o => !list.find(o => o.id === list2.id));
console.debug(1, targetList);
const allList = […list, …targetList]
console.debug(2, allList);
“`
scikit-learnやlightgbmなどのONNX形式モデルがブラウザで動作しないとき
# やりたいこと
Pythonで訓練したモデルをONNX形式でブラウザ上(JavaScript)で推論させたい。# 使用ライブラリ
– Python
– scikit-learn/lightgbm
– onnxmltools
– JavaScript
– onnxruntime-web# 問題
[JSのサンプルコード](https://github.com/microsoft/onnxruntime-inference-examples/blob/main/js/quick-start_onnxruntime-web-bundler/main.js)通りに書いても`session.run()`部分で`4123988`のようなエラーが出て動かない。# 解決法
PythonでモデルをONNX形式に変換する際、`zipmap`オプションを無効にしないとブラウザでは動かないらしい。
例えば、LightGBMモデルだとこんな感じ。“`py
import onnxmltools
onnx_model = onnxmltools.convert_light
javascriptでRPG#14
###こんにちは
今回は、石の採掘を作っていこうと思います
では、作っていきます####つるはしの大きさ
今回から項目ごとに太字で書いていきます
では、前作ったつるはしの大きさが大きすぎると思ったので、小さくします“`main.js
//石のツルハシ表示
if(pl[“stone_pickel”]==1&&map_r==3){
ctx.drawImage(system[“stone_pickel”],0,0,32,32,0,64,64,64);
}
“`
この文章を、石のつるはし表示というところと、交換してください
これで、つるはしを入手してから、アイテム欄を確認すると、小さくなっています####装備の確認
では、次にいま装備しているアイテムは何かを見れるものを作ります
main.js
“`main.js
“use strict”;
const pl = {
“x”:0,
“y”:0,
“map”:0,
“stone_pickel”:0
}
const systemExpressとMySQLを使用して検索機能を作る方法(部分検索も実装する!!)
##目的
アパレル商品のデータを調べるときに用いる検索機能を作る。
該当する商品名を入力することで画面に出力。(部分検索も取り入れる)
該当しない商品はデータがありませんと出力する。##使用ツール
“`
“express”: “^4.17.2”
“ejs”: “^3.1.6”,
“morgan”: “^1.10.0”,
“mysql2”: “^2.3.3”
“`npmを使用してパッケージをインストール。
“`npm i express ejs morgan mysql2“`
※mysql2は[mysql]というパッケージがある。パフォーマンス重視ならmysql2を選択。データベースGUIは[A5:SQL Mk-2](https://a5m2.mmatsubara.com/)を使用。
##構成ファイル
“`
datasearch
—node_modules
—roots
routing.js
—views
data.ejs
style.css
—package-lock.json
—package.jsonpropsと$emitを使って親子間のデータを更新する
##やりたかったこと
ハンバーガーボタンをクリックしてメニューを開閉、
この時ハンバーガーボタンは三本線からバツマークに変わる。
開いたメニューの後ろをクリックしてもメニューが閉じる(ハンバーガーボタンも三本線に戻る)子コンポーネント:ハンバーガーボタン
親コンポーネント:ハンバーガーメニューが置いてあるヘッダー
(別コンポーネントに開閉後のメニュー)## 試したこと
子コンポーネントでは、下記の記述をしていました。“`Vue:Child.vue(ハンバーガーボタン)
JSのデータタイプのメカニズムとそれによっておこる現象(useCallback React.memo)
# 今回の記事の内容
– データタイプについて
– コピーのメカニズム
– 参照の同一性
– レンダリングについて—
##データタイプ
—
JSのデータタイプには二種類
—
####プリミティブ型
メソッドを持たないデータ型– string
– number
– BigInt
– boolean
– undefined
– symbol—
####オブジェクト型
プロパティとメソッドの集まり– array
– object
– function
– RegExp—
## JSのコピーのメカニズム
—
####プリミティブ型
JSで変数などを宣言したら、その変数はパソコンのメモリに保存される。プリミティブ型の変数はコピーする際に新しいメモリ空間を確保して独立的な値を保存。—
“`js
let string = “りんご”; //←独立して保存される
let newString = string;
newString = “apple”
“`
stringをコピーしてnewStringという変数を生成。そし【超初心者向け】JavaScriptでWEBアプリケーションを作る
備忘録として、QiitaでJavaScriptの記事を書いていきたいと思います。相当初歩的な内容なので、暖かく見守っていただけると幸いです。
##やりたいこと
私は経済学部に所属しているので、身近なGDPを計算する簡単なWEBアプリケーション(以下アプリ)を作成しようと思います。
jQueryとかも一旦使わないピュアなJavaScriptでコードを書きますので、超初心者も安心です。
(自分も超初心者)##GDPの公式
GDPの計算の公式は、
Y = C + I + G + (X – M)
Y:GDP
C:民間消費
I:民間投資
G:政府支出(消費 + 投資)
X:輸出
M:輸入こんな感じです。
「経済学興味ないよ」って方は、これを覚える必要はありませんが、一応UI(ユーザーインターフェイス)に説明として書くようにしましょう。
##簡単な設計
それでは簡単にアプリの設計をしましょう。
とはいえ、面倒なので今回はデザインとかは完全にスキップしてCSSのファイルは作りません。
やりたいことは、C, I, G, X, Mを入力して、ボタンを押したらYが出力される
Djangoで郵便番号の入力から住所を反映させる
#郵便番号の入力から住所を自動で反映させる
フォームから住所を書く際に郵便番号を入力するだけで自動で住所が入力されたら楽なのでその流れをDjangoのコードで書けるようにメモ。
※既にアプリは出来てるものとして、その部分は割愛します。##ルーティング設定(urls.py)
“`python:urls.py
from django.urls import path,include
from .import views
from django.views.generic import TemplateViewapp_name = ‘アプリ名’
urlpatterns = [
path(”, views.IndexView.as_view(),name=”index”),
path(‘inquiry/’, views.InquiryView.as_view(),name=”inquiry”),
]
“`
後にInquiry classを作る予定でこのpath設定。##ビューの編集(views.py)
“`python:views.py
from .for郵便番号の入力から住所を自動で反映させる【Django】
#郵便番号の入力から住所を自動で反映させる
フォームから住所を書く際に郵便番号を入力するだけで自動で住所が入力されたら楽なのでその流れをDjangoのコードで書けるようにメモ。
※既にアプリは出来てるものとして、その部分は割愛します。##ルーティング設定(urls.py)
“`python:urls.py
from django.urls import path,include
from .import views
from django.views.generic import TemplateViewapp_name = ‘アプリ名’
urlpatterns = [
path(”, views.IndexView.as_view(),name=”index”),
path(‘inquiry/’, views.InquiryView.as_view(),name=”inquiry”),
]
“`
後にInquiry classを作る予定でこのpath設定。##ビューの編集(views.py)
“`python:views.py
from .forStripe ElementとNext.jsを利用して、クレジットカードの登録画面を構築する
サービスによっては、決済を行う前にクレジットカード情報を入力してもらう動線を作りたい場合があります。
StripeのSetupIntent APIとElementの`confirmSetup`メソッドを利用し、Reactでカード登録フォームを実装する方法を紹介します。# 前準備
このサンプルでは、Next.jsを利用します。これはSetupIntentの作成にREST APIが必要なため、APIとReactアプリを両方まとめて管理できるためです。
Next.jsでのアプリ起動は、`create-next-app`を利用します。
“`bash
% npx create-next-app
“``.env`ファイルでStripeのAPIキーを環境変数経由で利用できるようにします。
**.env.local**
“`env
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxx
STRIPE_SECRET_KEY=sk_test_xxxx
“`また、実装で利用するライブラリを追加でインストールしましょう。
“`bash
関連する記事
OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた