- 1. 【TypeScript】僕のチートシート
- 2. HTMLにおける相対パスの開発環境と本番環境での違いをなんとかする
- 3. VanillaJSでprivateな変数、メソッドを作る
- 4. JavaScriptでt分布をそれなりにコンパクトに実装してみた
- 5. 【ブックマークレット】カウントアップタイマーを右下に常に表示する
- 6. RunJSを使ってサクッとJavaScriptを実行する
- 7. async/awaitの仕組みメモ
- 8. JavaScriptの実行速度を確認したくて色々試したらjQueryの遅さが目立った
- 9. mapの中でawaitを使う方法
- 10. React hookで気持ちよく入力チェック〜エラー判定を行う
- 11. GASでプログラミング入門 Vol.4
- 12. 【Gatsby.js】Sass + autoprefixerを導入する
- 13. 【next.js】相対パスで指定するのは、もう古い!?たった数行の追加で絶対パスが使える方法とは?
- 14. 【JavaScript】人生いろいろ 配列操作もいろいろ ~中級編 その① sort、reduce~
- 15. 【js】簡単にハンバーガーを作ろう
- 16. ヤマト運輸B2クラウドと全角スペースのある住所
- 17. Next.jsでトークン設定済みのAxiosを使えるようにしてみた
- 18. チームでWeb開発を行う際に決めておきたいことまとめ
- 19. YouTubeの日本語以外のコメントを非表示にする拡張機能を作った(けどあまりうまく動作しなかった)話
- 20. IOSTでほとんどRAMを使わずにデータを保存する方法
【TypeScript】僕のチートシート
## 参考になる記事
早く理解したい方は、下記の記事と Udemy を使って最速で学習しましょう!
[TypeScriptの型入門 – Qiita](https://qiita.com/uhyo/items/e2fdef2d3236b9bfe74a)
[超TypeScript入門 完全パック(2020) \| Udemy](https://www.udemy.com/course/typescript-complete/)随時更新していきます!!
[TODOリスト]
– interface
– implements
– デコレータ## 変数
“`typescript
const text: string = “text”// リテラル型
const lite: ‘foo’ = ‘foo’; // ‘foo’ しか入れることができない// Union型
const union: string | undefined = “union”
“`## 関数
“`typescript
// 引数 返り値 の順で実装
function method(arg
HTMLにおける相対パスの開発環境と本番環境での違いをなんとかする
#相対パスとは
相対パスは、HTMLにおいてはそのファイルからみた相対的な位置を表現したパスであり、要は同じフォルダにあるファイルなどを参照するのに使われます。
しかし、常にこれが同じになるとは限らず、かつ開発時と本番時を揃えるのが面倒くさい時にはなんとかしないといけません。
HTMLでは相対パスは`base`タグで決められます。JavaScriptでは`document.baseURI`で取得できます。
しかし`document.baseURI`は読み取り専用です。
#相対パスを変更する。
`base`タグを利用すれば相対パスを変更できます。なんでか知らないですが`document.baseURI`では変更できないので、`base`タグにid属性をつけて`href`属性を変更することで相対パスを変更できます。
この際にスクリプトなどは再読み込みされるようなので、パスが変更されることによって別のスクリプトが動作することになったりする可能性があります。“`javascript
document.querySelector(“#base”).href=location.href;
`
VanillaJSでprivateな変数、メソッドを作る
#結論
“`javascript
// ↓ ここからfunction Clazz() {
// public
this.pubVar = “pubVar”;
}(function(clazz) {
// private
const priVar = “priVar”;
let hoge = “”;// private(第一引数にthisを渡してね)
function priFunc(self) {
return “priFunc # ” + priVar + ” # ” + self.pubVar;
}// public
clazz.pubFunc = function() {
return “pubFunc @ ” + priVar + ” @ ” + this.pubVar + ” @ ” + priFunc(this);
};// セッターゲッターも作れるよん
clazz.setHoge = function(p
JavaScriptでt分布をそれなりにコンパクトに実装してみた
JavaScript組み込みの機能だけで[t分布](https://ja.wikipedia.org/wiki/T分布#:~:text=統計学および確率論,問題に利用される。)の累積分布関数(CDF)、確率密度関数(PDF)とCDFの逆関数である分位点関数を実装してみたのでそのメモです。
ちなみにCDFとPDFを同時に求めるために[双対数](https://ja.wikipedia.org/wiki/二重数)を利用しているので、双対数の簡単な実用例としてもお読みいただけるかもしれません。##実装方針
自由度$\nu$のt分布のPDFは以下です。$$f(t)=\frac{\Gamma((\nu+1) / 2)}{\sqrt{\nu \pi} \Gamma(\nu / 2)}\left(1+t^{2} / \nu\right)^{-(\nu+1) / 2}$$
CDFはこの関数を$t$について$-\infty$から積分したものになります。
ここで、$\Gamma(x)$はガンマ関数です。
これを素直に実装しようと思うとガンマ関数がネックなわけです。
JavaScript組み込み
【ブックマークレット】カウントアップタイマーを右下に常に表示する
正直需要はほぼ無いと思いますが、
「閲覧しているページの右下にカウントアップタイマーを
表示する」ブックマークレットです。1秒ずつ増えていきます。![count.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570700/7746a135-aaf8-fde4-2756-45663fb8a2a5.gif)
javascriptコードの簡単な解説も一番下に記載しています。
カウントアップ、ダウンの参考にして頂けたら幸いです。「Webページ上で何かを行う際の時間を計測する」
時に使用します。自分で制作したコンテンツを読む時間を
実際に計ってみる、Web上でのテストを解く時間を計測するなど。【利用方法】
Chrome等のブックマークのURLとして下記のコードをコピペして
そのブックマークボタンを押す事で起動します。
STOPボタンで停止、restartボタンで再開、×ボタンで閉じます。## ブックマークレット用コード
“`
javascript:
document.body.insert
RunJSを使ってサクッとJavaScriptを実行する
# はじめに
皆さんは [RunJS](https://runjs.dev/) というアプリを知っていますか?RunJSとは気軽にJavaScriptを実行できるシンプルなアプリです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/354659/261e66ff-e558-b606-2221-89d3a46003de.png)JSのReplといえば、ブラウザで動く **Repl.it** などが有名ですよね。
ですが、これはさらに機能を絞り、プレイグラウンド要素を更に高めたオープンソースアプリです。#マークダウンエディタのようにコードを即時に反映
Qiitaのマークダウンエディタなどのように、書いたコードが結果に即時反映されます。
実行ボタンなどを押すことなく、スムーズに結果を見ながらコードを書いていくことができます。![qiita.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35465
async/awaitの仕組みメモ
async/awaitを学習する中で実際に書いて試してみたのでメモ
“`javascript
const makeRequest = (value) => {
console.log(‘Request received’)
return new Promise((resolve, reject) => {
if (value === ‘Google’) {
resolve(value)
} else {
reject(value)
}
})
}const processRequest = (response) => {
return new Promise((resolve, reject) => {
console.log(‘Processing your request…’)
resolve(`Here is the response from ${response}`)
})
}const sayHi = async (receiver) => {
console.log(`
JavaScriptの実行速度を確認したくて色々試したらjQueryの遅さが目立った
JavaScriptって難しいですよね。
普段は見やすいjQueryを使って書いちゃいますが、処理が複雑になってくると速度が気になってきます。
そこで、改めて実行速度を知りたいなと思い、こんなコードを書いてみました。“`html
mapの中でawaitを使う方法
本当にただのメモですが、、
“`js
const list = await Promise.all(listA.map(async itemA => {
return { …itemA, …await this.getListB(itemA.id) }
}));
“`ただawait書くだけではエラーになりますが、Promise.allを使えば良いそうです。
React hookで気持ちよく入力チェック〜エラー判定を行う
突然ですがこういうフォームっていいですよね!
– 入力が終わると、エラーかどうかを判定してエラー文を表示してくれる
– 正しい入力に戻ると、エラー文が消えるgifにするとこういう感じ!
![comp.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106711/71df1ef6-9fa2-83ed-deee-4775af4b0589.gif)
シンプルですが、「どういう風に書けばこうなるか」は案外知らないと作れないと思います
今回はこういうフォームの作り方をさくっとまとめます
# 要点をまとめると
– `onChange`で、「入力値」を`useState`へ保存する
– `onBlur`で、「入力値を判定したエラー文」を`useState`へ保存するこれがわかればできます!
# 実装
では書いていきます
まずHTMLですが、「ラベル(はなくてもいいけど)」「入力欄」「エラー文を出す場所」があればいいです!
“`html
関連する記事
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関連のことを調べてみた