- 0.1. [React]ボタン押下で動的にformを追加する
- 0.2. C++,C#のコメントアウトテクニック
- 0.3. Javascript 「~ is read-only」エラー解決法
- 0.4. Cropper.jsで加工した画像をAjaxでLaravelに送り保存する。
- 0.5. 【JavaScript】ある音楽ゲームのボーダー許容を計算する
- 0.6. 【JavaScript】現在時刻を取得する
- 0.7. #p5js のプログラムを Window.js を使って動かしてみた手順のメモ(Mac を利用)
- 0.8. Figma APIで特定File内の任意のFrame名を全てクリップボードにコピーする
- 0.9. Googleさんの zx をローカルインストールして「nodeコマンドで実行」/「ファイルを直接指定して実行」
- 0.10. Vue.jsで複数のclassをバイディングする方法
- 0.11. 初めてのDiscord.js
- 0.12. 【配列操作】オブジェクトの配列から共通項を探しまとめる
- 0.13. 正多面体のデータを作る[改] (HTML+JavaScript版)
- 0.14. 【JavaScript】関数を別ファイルでも使えるようにする【忘備録】
- 0.15. javascriptでRPG#14
- 0.16. javascriptでクリックやタップの長押し処理をする方法
- 0.17. 【User-Agentは非推奨?】ブラウザ情報の判別をUser-Agent Client Hints(UA-CH)対応にする
- 0.18. カレンダーを表示⇒日付をクリックすると入力フォームに自動入力される【Django】
- 0.19. 【React】【Vue】 など流行りのフレームワークを使うもののためのJS基礎 [this, call(), apply(), bind()]
- 1. this
- 2. bind()
[React]ボタン押下で動的にformを追加する
# ざっくり説明
1年前に下書きしてたやつを掘り返した。
やり方は大まかにこんな感じ。
* buttonをclickでformを追加
* formの内容がchangeしたときに値をsetState# コード書くよ
## 前提として
ここから始まります。“`react
import React from ‘react’;class TaskForm extends React.Component {
constructor(props){
super(props);
this.state={
tasks: [
{
task_name: “”,
start_datetime: “”,
end_datetime: “”,
task_memo: “”,
}
],
};
}render() {
return (C++,C#のコメントアウトテクニック
# 概要
下記のような記載が出来る言語で使えるコメントアウトのTips[使える言語の参照](https://qiita.com/power3812/items/d8fc76f551970085e189)
“`main.cpp
// 1行コメント
/*
複数行コメント
複数行コメント
*/
“`# 内容
複数行コメントを1文字で切り替える
先頭の**スラッシュ(/)**を消すと切り替えれる“`main.cpp
//*
現在の
複数行コメントは
コメントアウトされない
//*//*
現在の
複数行コメントは
コメントアウトされる
//*/
“`機能の切り替えを1文字で切り替える
上記のIF版で
先頭の**スラッシュ(/)**を消すと切り替えれる“`main.cpp
//*
Active Block
/*/
Disable Block
//*//*
Disable Block
/*/
Active Block
//*/
“`# まとめ
C++er には多少有名なのでN番煎じではあるもののいろいろな言語で使えるので書いてみました。C++では#i
Javascript 「~ is read-only」エラー解決法
## 目的
「~ is read-only」エラーが出たので、解決法を調査する。## 現状
show.jsのcreatePhraseListTableNodeからlib.jsの関数を呼び出して、
trNodeという変数で「trNode is read-only」というエラーが出ている。“`js:show.js
const PhrasesTable = createPhraseListTableNode(phraseList);
“`“`js:lib.js
const createPhraseListTableNode = (phraseList) => {
const tableNode = document.createElement(‘table’);
tableNode.setAttribute(‘id’, ‘phrase-list’);
const theadNode = document.createElement(‘thead’);
const tbodyNode = document.createElement(‘tbody’);
cCropper.jsで加工した画像をAjaxでLaravelに送り保存する。
この記事では、Cropper.jsを利用し画像を加工したあとに、加工した画像をAjaxを通してLaravelに渡し、その画像を保存する方法を紹介します。
Cropper.jsは、ライブプレビューとカスタムアスペクト比をサポートしており、JavaScript / jQueryプラグインを画像のトリミングに利用するのに便利です。
# 事前準備
## 1. フォルダの作成ファイルを保存する先のフォルダを作成します。
今回、コントローラで指定するフォルダは「storage/app/public/upload」です。
ファイルをアップロードして画像を切り取って保存を押すと、このフォルダに保存されます。
# バックエンド側
## 2. ルーティング
次に下記のルーティングを設定してください。
“`routes/web.php
Route::get(‘image-cropper’,’ImageCropperController@index’);
Route::post(‘image-cropper/upload’,’ImageCropperController@upload【JavaScript】ある音楽ゲームのボーダー許容を計算する
某音ゲーでは、**1,010,000**点を上限に判定の善し悪しによってスコアが減少していく。
具体的にはすべてのノーツで最高評価をとれば1,010,000点となるが、それ以下の評価を取るとそのたびにスコアが減少する。100万/総ノーツ数でそれぞれのノーツの基礎点が決まったのち、
評価によって以下のようにスコアへ影響する。+ **JUSTICE CRITICAL**:基礎点×101%
+ **JUSTICE**:基礎点×100%
+ **ATTACK**:基礎点×50%
+ **MISS**:基礎点×0%計算式さえわかってしまえば、総ノーツ数とスコアから何個JUSTICEを出したかを計算することができる。
> あくまでJUSTICEの数のみを計算するが、**ATTACK** は **JUSTICE** 51個分、**MISS** は **JUSTICE** 101個分となるので読み変えは可能。以上を加味するとJUSTICE以下の数を算出する計算式は以下となる。
floor(総ノーツ数 * ((1010000 – スコア) / 10000))
> floorは切り捨てを【JavaScript】現在時刻を取得する
割と使うけど忘れやすいので、JavaScriptで現在時刻を取得する方法を備忘録としてメモしておく。
“`
const date = new Date(); //現在時刻を取得
const y = date.getFullYear(), //西暦年
m = date.getMonth() + 1, //月
d = date.getDate(), //日
H = date.getHours(), //時
M = date.getMinutes(), //分
S = date.getSeconds(); //秒console.log(y,m,d,H,M,S); //例 2022 1 14 3 10 30
“`
他にも[ミリ秒を取得する](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds)などもある。あとは使う形式に応じて色々と整形する。
“`
`${y}/${m}#p5js のプログラムを Window.js を使って動かしてみた手順のメモ(Mac を利用)
:::note warn
【注意】 とりあえず動作はさせられてますが、表示の問題が出ている状況で、原因はこれから調べるところです
:::Twitter で [@takawo さん](https://twitter.com/takawo)が以下のツイートをされていたのを見て、自分も「p5.js のプログラムを Window.js で動かす」というのを試してみたのですが、その時の手順のメモです。
お?や?す?み pic.twitter.com/oYRHDL1u07
— TAKAWO Shunsuke (@takawo) January 13, 2022
Figma APIで特定File内の任意のFrame名を全てクリップボードにコピーする
https://qiita.com/xrxoxcxox/items/146676bd5019ef5ba988
@xrxoxcxox さんのcurlでやる方法ではなく、JavaScriptでやる方法です。
## やりたいこと
下記のようなことを想定しています。
- FigmaのFrame名を画面名やIDにしており、それをスプレッドシート等で管理(一覧化)するために、Figmaから対象のFrame名一覧を取得したい
## どうやるか
- DevToolsのConsoleを利用し、JavaScriptで取得する
## 手順
下記のような手順で実行します。
1. Figmaの該当ファイルを開く
2. `⌘ + Option + I` or `Ctrl + Shift + I` でDevToolsを開き、Consoleタブを開く
3. 抽出したいFigmaのFrameを選択する
4. 後述するコードをConsoleに貼り付けて実行する
5. クリップボードに選択したFrame名がコピーされるので、それをスプレッドシートなどに貼り付ける```
let selectionGoogleさんの zx をローカルインストールして「nodeコマンドで実行」/「ファイルを直接指定して実行」
この記事の内容は、昨年末のアドベントカレンダー用の記事でも扱った、[Googleさんの zx](https://github.com/google/zx) に関するものです。
●【Backlog 2021】 Googleさんの zx で Backlog API を扱う(JavaScript で課題を追加する) - Qiita
https://qiita.com/youtoy/items/36ea84e09332d4e6815a## 何をやるか
今回の記事で扱う内容は、以下のとおりです。- `npm i zx` で zx をローカルにインストールして使う
- `node ●●.mjs` というような nodeコマンドを使った処理の実行
- `./●●.mjs` というようなファイルを直接実行する形での処理## 下準備
冒頭の記事でも書いている、今回のセットアップの話をざっくり書きます。
なお、自分が試している環境は Mac で、Node.js のバージョンは 14.18.2 です。Node.js のバージョンについては、公式ページに以下の指定がありますので、その点だけ
Vue.jsで複数のclassをバイディングする方法
## はじめに
「Vue.jsで動的に見た目を変更するために、どうやって複数のクラスを適用したらいいのか?」と思い、v-bindディレクティブで、どうすれば複数のクラスをバイディングするのかその実装方法をまとめました。バージョン
Vue.js 2.6.11## 結論
複数のクラスを適用したい場合は、配列構文を使い、同じ要素に複数のスタイルオブジェクトをバインディングすることができます。
## 実装例
各項目に「色」「is-active」を付与する、簡単な例です。
![スクリーンショット 2022-01-03 16.41.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2016955/adff14c3-4a75-5aa6-9549-c4fcbe4c1ac6.png)### 1. 配列構文
```
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関連のことを調べてみた